Initial commit
parent
6a74a90a26
commit
a61d0380f8
@ -0,0 +1 @@
|
|||||||
|
/node_modules/
|
@ -0,0 +1,21 @@
|
|||||||
|
# gulp-partial-electron
|
||||||
|
|
||||||
|
A wrapper module for managing an Electron process. Used in my Gulp presets.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[WTFPL](http://www.wtfpl.net/txt/copying/) or [CC0](https://creativecommons.org/publicdomain/zero/1.0/), whichever you prefer. A donation and/or attribution are appreciated, but not required.
|
||||||
|
|
||||||
|
## Donate
|
||||||
|
|
||||||
|
My income consists largely of donations for my projects. If this module is useful to you, consider [making a donation](http://cryto.net/~joepie91/donate.html)!
|
||||||
|
|
||||||
|
You can donate using Bitcoin, PayPal, Flattr, cash-in-mail, SEPA transfers, and pretty much anything else.
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Pull requests welcome. Please make sure your modifications are in line with the overall code style, and ensure that you're editing the files in `src/`, not those in `lib/`.
|
||||||
|
|
||||||
|
Build tool of choice is `gulp`; simply run `gulp` while developing, and it will watch for changes.
|
||||||
|
|
||||||
|
Be aware that by making a pull request, you agree to release your modifications under the licenses stated above.
|
@ -0,0 +1,18 @@
|
|||||||
|
var gulp = require("gulp");
|
||||||
|
var presetES2015 = require("@joepie91/gulp-preset-es2015");
|
||||||
|
|
||||||
|
var source = ["src/**/*.js"]
|
||||||
|
|
||||||
|
gulp.task('babel', function() {
|
||||||
|
return gulp.src(source)
|
||||||
|
.pipe(presetES2015({
|
||||||
|
basePath: __dirname
|
||||||
|
}))
|
||||||
|
.pipe(gulp.dest("lib/"));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task("watch", function () {
|
||||||
|
gulp.watch(source, ["babel"]);
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task("default", ["babel", "watch"]);
|
@ -0,0 +1,3 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = require("./lib");
|
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"name": "@joepie91/gulp-partial-electron",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "A wrapper module for managing an Electron process",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "http://git.cryto.net/joepie91/node-gulp-partial-electron.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"gulp",
|
||||||
|
"partial",
|
||||||
|
"logging",
|
||||||
|
"livereload"
|
||||||
|
],
|
||||||
|
"author": "Sven Slootweg",
|
||||||
|
"license": "WTFPL",
|
||||||
|
"dependencies": {
|
||||||
|
"@joepie91/gulp-partial-run-process": "^1.0.0",
|
||||||
|
"default-value": "0.0.2",
|
||||||
|
"find-root-package": "0.0.1",
|
||||||
|
"get-project-root": "0.0.5",
|
||||||
|
"gulp-named-log": "0.0.3",
|
||||||
|
"xtend": "^4.0.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@joepie91/gulp-preset-es2015": "^1.0.1",
|
||||||
|
"babel-preset-es2015": "^6.6.0",
|
||||||
|
"gulp": "^3.9.1"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const path = require("path");
|
||||||
|
const getProjectRoot = require("get-project-root");
|
||||||
|
|
||||||
|
let projectRoot;
|
||||||
|
|
||||||
|
module.exports = function () {
|
||||||
|
if (projectRoot == null) {
|
||||||
|
projectRoot = getProjectRoot();
|
||||||
|
}
|
||||||
|
|
||||||
|
return projectRoot;
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const path = require("path");
|
||||||
|
const xtend = require("xtend");
|
||||||
|
const runProcess = require("@joepie91/gulp-partial-run-process");
|
||||||
|
const namedLog = require("gulp-named-log");
|
||||||
|
const defaultValue = require("default-value");
|
||||||
|
|
||||||
|
const getProjectRoot = require("./get-project-root");
|
||||||
|
|
||||||
|
module.exports = function(options = {}) {
|
||||||
|
let electronLogger = namedLog("electron");
|
||||||
|
let processArguments = [projectRoot];
|
||||||
|
|
||||||
|
let environmentVariables = xtend(process.env, {
|
||||||
|
NODE_ENV: "development"
|
||||||
|
});
|
||||||
|
|
||||||
|
let electronBinary = defaultValue(options.electronBinary, () => {
|
||||||
|
return path.join(getProjectRoot(), "node_modules", ".bin", "electron");
|
||||||
|
}, {evaluate: true});
|
||||||
|
|
||||||
|
let projectRoot = defaultValue(options.projectRoot, () => {
|
||||||
|
return getProjectRoot();
|
||||||
|
}, {evaluate: true});
|
||||||
|
|
||||||
|
if (options.arguments != null && Array.isArray(options.arguments)) {
|
||||||
|
processArguments = options.arguments.concat(processArguments);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.environmentVariables != null) {
|
||||||
|
environmentVariables = xtend(environmentVariables, options.environmentVariables);
|
||||||
|
}
|
||||||
|
|
||||||
|
var electronProcess = runProcess(electronBinary, processArguments, {
|
||||||
|
logger: electronLogger,
|
||||||
|
env: environmentVariables
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
kill: electronProcess.kill.bind(electronProcess),
|
||||||
|
pid: electronProcess.pid
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue