Skip to content
Snippets Groups Projects
Commit aa0ba91c authored by Jason Mulligan's avatar Jason Mulligan
Browse files

Defaulting `options.cwd` to `process.cwd()`, passing `options.cwd` to...

Defaulting `options.cwd` to `process.cwd()`, passing `options.cwd` to `worker.js`, fixing `worker.js` by setting `global.__dirname` to `obj.cwd` on init, really fixes #10
parent f5088f5c
No related branches found
No related tags found
No related merge requests found
{
"parser": "babel-eslint",
"rules": {
"strict": 0
},
"env": {
"browser": true,
"browser": false,
"node": true,
"es6": true,
"amd": true
"amd": false
},
"ecmaFeatures": {
"jsx": true,
"jsx": false,
"superInFunctions": false,
"classes": false,
"modules": [2]
},
"globals": {
"self": true,
"postMessage": true
},
"rules": {
"arrow-parens": [2, "as-needed"],
"arrow-spacing": [2, {"before": true, "after": true}],
"block-scoped-var": [0],
"brace-style": [2, "1tbs", { "allowSingleLine": true }],
"camelcase": [0],
......@@ -33,9 +35,9 @@
"func-names": [0],
"func-style": [0, "declaration"],
"generator-star-spacing": [2, "after"],
"strict": [2, "always"],
"guard-for-in": [0],
"handle-callback-err": [0],
"indent": ["error", "tab", {"VariableDeclarator": {"var": 1, "let": 1, "const": 1}, "SwitchCase": 1}],
"key-spacing": [2, { "beforeColon": false, "afterColon": true }],
"quotes": [2, "double", "avoid-escape"],
"max-depth": [0, 4],
......@@ -46,6 +48,7 @@
"new-parens": [2],
"new-cap": [2, { "capIsNewExceptions": ["ToInteger", "ToObject", "ToPrimitive", "ToUint32"] }],
"newline-after-var": [0],
"newline-before-return": [2],
"no-alert": [2],
"no-array-constructor": [2],
"no-bitwise": [0],
......@@ -64,16 +67,14 @@
"no-duplicate-case": [2],
"no-else-return": [0],
"no-empty": [2],
"no-empty-character-class": [2],
"no-empty-label": [2],
"no-eq-null": [0],
"no-eval": [2],
"no-ex-assign": [2],
"no-extend-native": [1],
"no-extra-bind": [2],
"no-extra-boolean-cast": [2],
"no-extra-parens": [0],
"no-extra-semi": [1],
"no-empty-character-class": [2],
"no-fallthrough": [2],
"no-floating-decimal": [2],
"no-func-assign": [2],
......@@ -97,14 +98,14 @@
"no-negated-in-lhs": [2],
"no-nested-ternary": [0],
"no-new": [2],
"no-new-func": [2],
"no-new-func": [0],
"no-new-object": [2],
"no-new-require": [0],
"no-new-wrappers": [2],
"no-obj-calls": [2],
"no-octal": [2],
"no-octal-escape": [2],
"no-param-reassign": [2],
"no-param-reassign": [0],
"no-path-concat": [0],
"no-plusplus": [0],
"no-process-env": [0],
......@@ -113,14 +114,13 @@
"no-redeclare": [2],
"no-regex-spaces": [2],
"no-reserved-keys": [0],
"no-restricted-modules": [0],
"no-reno-new-funced-modules": [0],
"no-return-assign": [2],
"no-script-url": [2],
"no-self-compare": [0],
"no-sequences": [2],
"no-shadow": [2],
"no-shadow-restricted-names": [2],
"semi-spacing": [2],
"no-spaced-func": [2],
"no-sparse-arrays": [2],
"no-sync": [0],
......@@ -133,7 +133,7 @@
"no-underscore-dangle": [0],
"no-unreachable": [2],
"no-unused-expressions": [2],
"no-unused-vars": [1, { "vars": "all", "args": "after-used" }],
"no-unused-vars": [2, { "vars": "all", "args": "after-used" }],
"no-use-before-define": [2],
"no-void": [0],
"no-warning-comments": [0, { "terms": ["todo", "fixme", "xxx"], "location": "start" }],
......@@ -148,9 +148,9 @@
"semi": [2],
"semi-spacing": [2, { "before": false, "after": true }],
"sort-vars": [0],
"space-after-keywords": [2, "always"],
"keyword-spacing": [2],
"space-before-function-paren": [2, { "anonymous": "always", "named": "always" }],
"space-before-blocks": [0, "always"],
"space-before-blocks": [2, "always"],
"space-in-brackets": [0, "never", {
"singleValue": true,
"arraysInArrays": false,
......@@ -161,10 +161,9 @@
}],
"space-in-parens": [2, "never"],
"space-infix-ops": [2],
"space-return-throw-case": [2],
"space-unary-ops": [2, { "words": true, "nonwords": false }],
"spaced-line-comment": [0, "always"],
"strict": [1],
"strict": [0],
"use-isnan": [2],
"valid-jsdoc": [0],
"valid-typeof": [2],
......
module.exports = function (grunt) {
grunt.initConfig({
pkg : grunt.file.readJSON("package.json"),
pkg: grunt.file.readJSON("package.json"),
babel: {
options: {
sourceMap: false
sourceMap: false,
presets: ["babel-preset-es2015"]
},
dist: {
files: [{
......@@ -16,19 +17,23 @@ module.exports = function (grunt) {
}
},
eslint: {
target: ["src/*.js"]
target: [
"Gruntfile.js",
"src/*.js",
"test/*_test.js"
]
},
nodeunit : {
all : ["test/*_test.js"]
nodeunit: {
all: ["test/*_test.js"]
},
watch : {
js : {
files : ["src/*.js"],
tasks : "default"
watch: {
js: {
files: ["src/*.js"],
tasks: "default"
},
pkg: {
files : "package.json",
tasks : "default"
files: "package.json",
tasks: "default"
}
}
});
......
"use strict";
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
......@@ -9,18 +9,22 @@ var path = require("path"),
worker = path.join(__dirname, "worker.js"),
events = /^(error|message)$/;
var Worker = (function () {
var Worker = function () {
function Worker(arg) {
var _this = this;
var args = arguments.length <= 1 || arguments[1] === undefined ? undefined : arguments[1];
var options = arguments.length <= 2 || arguments[2] === undefined ? undefined : arguments[2];
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { cwd: process.cwd() };
_classCallCheck(this, Worker);
var isfn = typeof arg === "function",
input = isfn ? arg.toString() : arg;
if (!options.cwd) {
options.cwd = process.cwd();
}
this.child = fork(worker, args, options);
this.onerror = undefined;
this.onmessage = undefined;
......@@ -33,7 +37,7 @@ var Worker = (function () {
this.child.on("message", function (msg) {
var message = JSON.parse(msg);
var error = undefined;
var error = void 0;
if (!message.error && _this.onmessage) {
_this.onmessage.call(_this, message);
......@@ -47,7 +51,7 @@ var Worker = (function () {
}
});
this.child.send({ input: input, isfn: isfn });
this.child.send({ input: input, isfn: isfn, cwd: options.cwd });
}
_createClass(Worker, [{
......@@ -70,6 +74,6 @@ var Worker = (function () {
}]);
return Worker;
})();
}();
module.exports = Worker;
......@@ -43,7 +43,7 @@ process.once("message", function (obj) {
}
};
global.__dirname = __dirname;
global.__dirname = obj.cwd;
global.__filename = __filename;
global.require = require;
......
{
"name": "tiny-worker",
"version": "2.0.1",
"version": "2.0.2",
"description": "Tiny WebWorker for Server",
"main": "lib/index.js",
"scripts": {
......@@ -23,13 +23,13 @@
},
"homepage": "https://github.com/avoidwork/tiny-worker",
"devDependencies": {
"babel-eslint": "^4.1.0",
"grunt": "^0.4.5",
"grunt-babel": "^5.0.0",
"grunt-cli": "^0.1.13",
"grunt-contrib-nodeunit": "^0.4.1",
"grunt-contrib-watch": "^0.6.1",
"grunt-eslint": "^17.1.0"
"babel-preset-es2015": "~6.22.0",
"grunt": "~1.0.1",
"grunt-babel": "~6.0.0",
"grunt-cli": "~1.2.0",
"grunt-contrib-nodeunit": "~1.0.0",
"grunt-contrib-watch": "~1.0.0",
"grunt-eslint": "~19.0.0"
},
"dependencies": {}
}
......@@ -4,10 +4,14 @@ const path = require("path"),
events = /^(error|message)$/;
class Worker {
constructor (arg, args = undefined, options = undefined) {
constructor (arg, args = undefined, options = {cwd: process.cwd()}) {
let isfn = typeof arg === "function",
input = isfn ? arg.toString() : arg;
if (!options.cwd) {
options.cwd = process.cwd();
}
this.child = fork(worker, args, options);
this.onerror = undefined;
this.onmessage = undefined;
......@@ -34,7 +38,7 @@ class Worker {
}
});
this.child.send({input: input, isfn: isfn});
this.child.send({input: input, isfn: isfn, cwd: options.cwd});
}
addEventListener (event, fn) {
......
......@@ -41,7 +41,7 @@ process.once("message", obj => {
}
};
global.__dirname = __dirname;
global.__dirname = obj.cwd;
global.__filename = __filename;
global.require = require;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment