From fc30f3113363996d78e90bac70e2bac712c8ff4b Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 22 Nov 2017 23:11:37 -0500 Subject: [PATCH] might actually have code coverage working? lets find out --- mocha.coverage.opts | 5 +++-- package.json | 9 ++++----- src/generators/dom/index.ts | 2 +- test/helpers.js | 6 ++---- test/server-side-rendering/index.js | 4 +--- test/setup.js | 2 ++ yarn.lock | 28 ++++++++++++++++++++++++++++ 7 files changed, 41 insertions(+), 15 deletions(-) diff --git a/mocha.coverage.opts b/mocha.coverage.opts index 00c372b02d..5bf853ae30 100644 --- a/mocha.coverage.opts +++ b/mocha.coverage.opts @@ -1,4 +1,5 @@ ---require ts-node/register +--compilers ts-node/register +--require source-map-support/register +--full-trace --recursive -./**/__test__.ts test/test.js diff --git a/package.json b/package.json index e0f917d78d..a6ab14d77d 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "node-resolve": "^1.3.3", "nyc": "^11.1.0", "prettier": "^1.7.0", + "reify": "^0.12.3", "rollup": "^0.48.2", "rollup-plugin-buble": "^0.15.0", "rollup-plugin-commonjs": "^8.0.2", @@ -78,12 +79,10 @@ }, "nyc": { "include": [ - "src/**/*.js", + "compiler/svelte.js", "shared.js" ], - "exclude": [ - "src/**/__test__.js", - "src/shared/**" - ] + "sourceMap": true, + "instrument": true } } diff --git a/src/generators/dom/index.ts b/src/generators/dom/index.ts index c33ea0d520..f6c007c79d 100644 --- a/src/generators/dom/index.ts +++ b/src/generators/dom/index.ts @@ -442,7 +442,7 @@ export default function dom( ); return generator.generate(result, options, { - banner: `/* ${filename ? `${filename} ` : ``}generated by Svelte v__VERSION__ */`, + banner: `/* ${filename ? `${filename} ` : ``}generated by Svelte v${"__VERSION__"} */`, sharedPath, helpers, name, diff --git a/test/helpers.js b/test/helpers.js index ac9d6a8bee..cc90e1f9bd 100644 --- a/test/helpers.js +++ b/test/helpers.js @@ -8,11 +8,9 @@ import chalk from 'chalk'; // for coverage purposes, we need to test source files, // but for sanity purposes, we need to test dist files export function loadSvelte(test) { - if (test) global.__svelte_test = true; + process.env.TEST = test ? 'true' : ''; - const resolved = process.env.COVERAGE - ? require.resolve('../src/index.ts') - : require.resolve('../compiler/svelte.js'); + const resolved = require.resolve('../compiler/svelte.js'); delete require.cache[resolved]; return require(resolved); diff --git a/test/server-side-rendering/index.js b/test/server-side-rendering/index.js index 0082934277..9b22a1cfc2 100644 --- a/test/server-side-rendering/index.js +++ b/test/server-side-rendering/index.js @@ -21,9 +21,7 @@ function tryToReadFile(file) { describe("ssr", () => { before(() => { - require(process.env.COVERAGE - ? "../../src/server-side-rendering/register.js" - : "../../ssr/register"); + require("../../ssr/register"); return setupHtmlEqual(); }); diff --git a/test/setup.js b/test/setup.js index f45953b026..8307fdd67f 100644 --- a/test/setup.js +++ b/test/setup.js @@ -4,6 +4,8 @@ const path = require('path'); require('console-group').install(); require('source-map-support').install(); +process.env.TEST = true; + require.extensions['.js'] = function(module, filename) { const exports = []; diff --git a/yarn.lock b/yarn.lock index d2ae9bcd5d..ae736a946c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,6 +48,10 @@ acorn@^5.0.0, acorn@^5.1.1, acorn@^5.1.2, acorn@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" +acorn@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7" + ajv-keywords@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" @@ -2070,6 +2074,18 @@ minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" +minipass@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.2.1.tgz#5ada97538b1027b4cf7213432428578cb564011f" + dependencies: + yallist "^3.0.0" + +minizlib@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.0.4.tgz#8ebb51dd8bbe40b0126b5633dbb36b284a2f523c" + dependencies: + minipass "^2.2.1" + minstache@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minstache/-/minstache-1.2.0.tgz#ff1cc403ac2844f68dbf18c662129be7eb0efc41" @@ -2597,6 +2613,14 @@ regex-cache@^0.4.2: dependencies: is-equal-shallow "^0.1.3" +reify@^0.12.3: + version "0.12.3" + resolved "https://registry.yarnpkg.com/reify/-/reify-0.12.3.tgz#b1aa0c196e7dc7fb7e9ad42b87c1e10fe7f97f97" + dependencies: + acorn "~5.1.1" + minizlib "^1.0.3" + semver "^5.3.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -3416,6 +3440,10 @@ yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" +yallist@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + yargs-parser@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.0.0.tgz#21d476330e5a82279a4b881345bf066102e219c6"