diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..0a15b35 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,23 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Unit Test", + "skipFiles": [ + "/**" + ], + "program": "${workspaceRoot}/src/node_modules/mocha/bin/_mocha", + "sourceMaps": true, + "autoAttachChildProcesses": true, + "cwd": "${workspaceRoot}/src", + "args": [ + "test/test.es5.js" + ] + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md index c786f33..f014c6a 100644 --- a/README.md +++ b/README.md @@ -222,11 +222,6 @@ const worker = new Worker("./worker-script"); ``` -## Demo apps -For usage with NativeScript Angular, check out [`demo-angular`](./demo-angular) in this repo. - -For usage with NativeScript apps written in plain JavaScript, check out this repo: https://github.com/NativeScript/demo-workers. - ## Related docs 1. [Workers in NativeScript](https://docs.nativescript.org/core-concepts/multithreading-model) diff --git a/src/index.js b/src/index.js index afae972..c28f89d 100644 --- a/src/index.js +++ b/src/index.js @@ -71,7 +71,7 @@ module.exports.pitch = function pitch(request) { }; const plugins = (pluginOptions.plugins || []).map(plugin => { - if (typeof plugin !== 'string') { + if (typeof plugin !== "string") { return plugin; } const found = compilerOptions.plugins.find(p => p.constructor.name === plugin); @@ -109,7 +109,7 @@ module.exports.pitch = function pitch(request) { if (entries[0]) { const fileDeps = Array.from(childCompilation.fileDependencies); this.clearDependencies(); - fileDeps.map(fileName => { + fileDeps.forEach(fileName => { this.addDependency(fileName); }); /** diff --git a/src/package.json b/src/package.json index 98dbab7..74744dd 100644 --- a/src/package.json +++ b/src/package.json @@ -6,7 +6,8 @@ "scripts": { "pretest": "babel ./test/test.es6.js --out-file ./test/test.es5.js", "test": "mocha test/test.es5.js", - "posttest": "eslint ." + "posttest": "eslint .", + "prepare": "npm run test" }, "eslintConfig": { "extends": "webpack", @@ -29,6 +30,7 @@ "functions": "never" } ], + "no-console": 0, "arrow-parens": 0, "func-names": 0, "import/no-extraneous-dependencies": 0, @@ -48,7 +50,8 @@ "babel-cli": "^6.26.0", "babel-plugin-transform-async-to-generator": "^6.24.1", "del": "^2.2.2", - "eslint": "^3.16.0", + "eslint": "^6.6.0", + "webpack": "~4.27.0", "eslint-config-webpack": "^1.0.0", "eslint-plugin-import": "^2.2.0", "mocha": "^5.2.0" diff --git a/src/symbol.js b/src/symbol.js index d7ac6fd..6553de2 100644 --- a/src/symbol.js +++ b/src/symbol.js @@ -1,3 +1,3 @@ -const NATIVESCRIPT_WORKER_PLUGIN_SYMBOL = Symbol('NATIVESCRIPT_WORKER_PLUGIN_SYMBOL'); +const NATIVESCRIPT_WORKER_PLUGIN_SYMBOL = Symbol("NATIVESCRIPT_WORKER_PLUGIN_SYMBOL"); module.exports = NATIVESCRIPT_WORKER_PLUGIN_SYMBOL; diff --git a/src/test/fixtures/inline-fallbacks/w1.js b/src/test/fixtures/inline-fallbacks/w1.js index 21f540e..e0f1958 100644 --- a/src/test/fixtures/inline-fallbacks/w1.js +++ b/src/test/fixtures/inline-fallbacks/w1.js @@ -1 +1 @@ -// w1 inlined with fallback \ No newline at end of file +console.log("w1 inlined with fallback"); \ No newline at end of file diff --git a/src/test/fixtures/inline-fallbacks/w2.js b/src/test/fixtures/inline-fallbacks/w2.js index 5521e9c..74e087a 100644 --- a/src/test/fixtures/inline-fallbacks/w2.js +++ b/src/test/fixtures/inline-fallbacks/w2.js @@ -1 +1 @@ -// w2 inlined with fallback \ No newline at end of file +console.log("w2 inlined with fallback"); \ No newline at end of file diff --git a/src/test/fixtures/inline-options/w1.js b/src/test/fixtures/inline-options/w1.js index 78bf033..6375a87 100644 --- a/src/test/fixtures/inline-options/w1.js +++ b/src/test/fixtures/inline-options/w1.js @@ -1 +1 @@ -// w1 inlined via options \ No newline at end of file +console.log("w1 inlined via options"); \ No newline at end of file diff --git a/src/test/fixtures/inline-options/w2.js b/src/test/fixtures/inline-options/w2.js index 8cd0ea2..ef38752 100644 --- a/src/test/fixtures/inline-options/w2.js +++ b/src/test/fixtures/inline-options/w2.js @@ -1 +1 @@ -// w2 inlined via options \ No newline at end of file +console.log("w2 inlined via options"); \ No newline at end of file diff --git a/src/test/fixtures/inline-query/worker.js b/src/test/fixtures/inline-query/worker.js index c4b5244..cafe8be 100644 --- a/src/test/fixtures/inline-query/worker.js +++ b/src/test/fixtures/inline-query/worker.js @@ -1 +1 @@ -// inlined worker test mark +console.log("inlined worker test mark"); diff --git a/src/test/fixtures/name-options/w1.js b/src/test/fixtures/name-options/w1.js index b071f97..36535f3 100644 --- a/src/test/fixtures/name-options/w1.js +++ b/src/test/fixtures/name-options/w1.js @@ -1 +1 @@ -// w1 via worker options \ No newline at end of file +console.log("w1 via worker options"); \ No newline at end of file diff --git a/src/test/fixtures/name-options/w2.js b/src/test/fixtures/name-options/w2.js index bd5b1be..3fc8d77 100644 --- a/src/test/fixtures/name-options/w2.js +++ b/src/test/fixtures/name-options/w2.js @@ -1 +1 @@ -// w2 via worker options \ No newline at end of file +console.log("w2 via worker options"); diff --git a/src/test/fixtures/name-query/worker.js b/src/test/fixtures/name-query/worker.js index e6de814..4073ca8 100644 --- a/src/test/fixtures/name-query/worker.js +++ b/src/test/fixtures/name-query/worker.js @@ -1 +1 @@ -// named worker test mark +console.log("named worker test mark"); diff --git a/src/test/fixtures/no-fallbacks/w1.js b/src/test/fixtures/no-fallbacks/w1.js index 6f26a6e..43c3afc 100644 --- a/src/test/fixtures/no-fallbacks/w1.js +++ b/src/test/fixtures/no-fallbacks/w1.js @@ -1 +1 @@ -// w1 inlined without fallback \ No newline at end of file +console.log("w1 inlined without fallback"); diff --git a/src/test/fixtures/no-fallbacks/w2.js b/src/test/fixtures/no-fallbacks/w2.js index 87c2d76..f57d5b8 100644 --- a/src/test/fixtures/no-fallbacks/w2.js +++ b/src/test/fixtures/no-fallbacks/w2.js @@ -1 +1 @@ -// w2 inlined without fallback \ No newline at end of file +console.log("w2 inlined without fallback"); diff --git a/src/test/fixtures/worker/worker.js b/src/test/fixtures/worker/worker.js index c569a2f..388ede2 100644 --- a/src/test/fixtures/worker/worker.js +++ b/src/test/fixtures/worker/worker.js @@ -1 +1 @@ -// worker test mark +console.log("worker test mark"); \ No newline at end of file diff --git a/src/test/test.es6.js b/src/test/test.es6.js index 3bced22..4ecec21 100644 --- a/src/test/test.es6.js +++ b/src/test/test.es6.js @@ -78,7 +78,7 @@ describe("worker-loader", () => { assert.equal(files.length, 1); const content = await readFile(files[0]); - await assert.contains(content, "// worker test mark"); + await assert.contains(content, "worker test mark"); assert.ok(await statsFileIsCorrect(stats, testName)); }); @@ -90,7 +90,7 @@ describe("worker-loader", () => { assert.equal(file, `expected/${testName}/namedWorker.js`); const content = await readFile(file); - await assert.contains(content, "// named worker test mark"); + await assert.contains(content, "named worker test mark"); assert.ok(await statsFileIsCorrect(stats, testName)); }); @@ -121,8 +121,8 @@ describe("worker-loader", () => { const [firstContent, secondContent] = files.map(readFile); - await assert.contains(firstContent, "// w1 via worker options"); - await assert.contains(secondContent, "// w2 via worker options"); + await assert.contains(firstContent, "w1 via worker options"); + await assert.contains(secondContent, "w2 via worker options"); assert.ok(await statsFileIsCorrect(stats, testName)); }); @@ -164,7 +164,7 @@ describe("worker-loader", () => { }).catch(error => assert.contains(error.message, noFallbackOptionErrorMessage)) ); - ["node", "async-node", "node-webkit", "atom", "electron", "electron-main", "electron-renderer"].forEach((target) => { + ["node", "async-node", "node-webkit", "electron-main", "electron-renderer"].forEach((target) => { it(`should not have missing dependencies (${target})`, () => makeBundle("nodejs-core-modules", { target, @@ -181,7 +181,7 @@ describe("worker-loader", () => { ], }, }).then((stats) => { - assert.equal(stats.compilation.missingDependencies.length, 0); + assert.equal(stats.compilation.missingDependencies.size, 0); }) ); });