{"_id":"@aaronngray/electron-spawn","_rev":"2-b9559d5094511dd8217df94f2bab0f98","name":"@aaronngray/electron-spawn","dist-tags":{"latest":"5.0.0"},"versions":{"5.0.0":{"name":"@aaronngray/electron-spawn","version":"5.0.0","description":"easy way to run code inside of a headless electron window from the CLI","main":"index.js","scripts":{"test":"standard && node test.js"},"bin":{"electron-spawn":"cli.js"},"keywords":["electron","atom","atom-shell","headless"],"author":{"name":"max ogden"},"license":"BSD-2-Clause","repository":{"type":"git","url":"git+ssh://git@github.com/AaronNGray/electron-spawn.git"},"standard":{"ignore":["cli.js"]},"dependencies":{"electron":"^2.0.4","npm-execspawn":"^1.2.0"},"devDependencies":{"standard":"^11.0.1","tape":"^4.0.1"},"gitHead":"229b4b3cc809e4794a6279cab5c773c0813d0480","bugs":{"url":"https://github.com/AaronNGray/electron-spawn/issues"},"homepage":"https://github.com/AaronNGray/electron-spawn#readme","_id":"@aaronngray/electron-spawn@5.0.0","_npmVersion":"6.1.0","_nodeVersion":"8.11.3","_npmUser":{"name":"aaronngray","email":"aaronngray@gmail.com"},"dist":{"integrity":"sha512-r64Q/HxFpj9VQfN1Ouw+PqbZpvSR8xs0n/yrIfwVFn1PQl7qdDQLgVnuhF9WOMiIfaErZfPpGFv58Wl7bokCmA==","shasum":"ee9587b373b512fd5e65c1e101ba8a4fa17efb6e","tarball":"https://registry.npmjs.org/@aaronngray/electron-spawn/-/electron-spawn-5.0.0.tgz","fileCount":7,"unpackedSize":5877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQkNeCRA9TVsSAnZWagAAHmoQAJg9tzZE1iun7fdUWKSC\nqAF+Pmmi3gznNsMBnOdnsCwH/hCza+E36IEXspQP5NnqPxZ97fOZvULjrw/b\nRu5/KlyUvZqP5q8ZKVSB6Jcn8REkNGmYl5ug43XpqHz/2r4wxSjvlO7feN4y\nttdguYriKKiHAjinP1ehQDop2Z9mUEENUPmu5U0Qux/bGiKVj9YID9DtKnYl\nWX0ZHvIei5qD98JGzKLIXx2xq7jN4qngUBNkGsJarhFEDDoVaCLbGrvixSz7\nYIOTl0u9g2DruUhfjNI7i1yIYcsPfNDYNVdoz4f7nv+fugdU8OBnLJkpx7O1\nqi49lY3J73jYnQ7xcj0zRigjXuT7/tzBnVp0QVZxnpZy8V4gfWULgU9AfGNd\nTF0uor/Ezc33CBPTlk9Qo/I+7/9Vugk1rsae6PwfA0YrM2wlOYJBLMsRlhTg\nBrN74lW5F9Mf2X6bLvwrltpDRThqCJ0dUxXRXmPPYeOAJmQ2Eizw4bGUtFiT\nbhy/o3A1XCV0lkytld8NI1rIwinTQej+Tkw6aYfRCFycYzPFyHQq6LNVa5pM\nenBO1e8sLv3h9R4muG/6FXv4LZ5W2xgj2XcTKCE0R1Kxv46KZ3jwKBWG1qYz\n/k7RxSF01BjPWzJLABLGanYHb3A4jKxou4RDTsqD0KzdQBXFFkm6O0YWXfhF\nLg+g\r\n=AI2s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZLaHlBvysUU2m7UgoXGRqL+Pjbcge5giwilPPBTJbGAiEA+A8xXNPYi6xmfxRtdxzNU62sFdehiSb3LmV3qA3wCXY="}]},"maintainers":[{"name":"aaronngray","email":"aaronngray@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/electron-spawn_5.0.0_1531069278038_0.8372000403117086"},"_hasShrinkwrap":false}},"time":{"created":"2018-07-08T17:01:17.796Z","5.0.0":"2018-07-08T17:01:18.134Z","modified":"2022-04-04T10:55:44.409Z"},"maintainers":[{"email":"aaronngray@gmail.com","name":"aarongray.org"}],"description":"easy way to run code inside of a headless electron window from the CLI","homepage":"https://github.com/AaronNGray/electron-spawn#readme","keywords":["electron","atom","atom-shell","headless"],"repository":{"type":"git","url":"git+ssh://git@github.com/AaronNGray/electron-spawn.git"},"author":{"name":"max ogden"},"bugs":{"url":"https://github.com/AaronNGray/electron-spawn/issues"},"license":"BSD-2-Clause","readme":"# electron-spawn\n\nrun code easily inside of headless electron (chromium) windows from the command line\n\n## usage\n\n```\n$ npm i electron-prebuilt -g\n$ npm i electron-spawn -g\n$ echo \"console.log('hello')\" > foo.js\n$ electron-spawn foo.js\n```\n\nyou can also export a function that takes arguments to get all the arguments passed in to your program:\n\n```\n$ echo \"module.exports = function (args) { console.log(args) }\" > foo.js\n$ electron-spawn foo.js bar baz\n# outputs ['bar', 'baz']\n```\n\nor you can use `process.argv` like an ordinary node program:\n\n```\n$ echo 'console.log(process.argv.slice(2))' > hello.js\n$ electron-spawn hello.js beep boop\n# outputs: ['beep', 'boop']\n```\n\n`process.stdin` works too:\n\n``` js\nprocess.stdin.on('data', function (buf) {\n  console.log('buf=', buf)\n})\n```\n\n```\n$ echo beep boop | electron-spawn stdin.js\nbuf= <Buffer 62 65 65 70 20 62 6f 6f 70 0a>\n```\n\n## api\n\n### `var spawn = require('electron-spawn')`\n\nreturn a function that spawn electron\n\n### `var electron = spawn(scriptname[, params..., execOptions])`\n\nreturns a child process running electron with the given `scriptname`\n\n`params` are a list of arguments passed to the process\n\n`execOptions` is an object literal to set options on how the process gets spawned\n\n```js\nvar spawn = require('electron-spawn')\nvar electron = spawn('foo.js', 'bar', 'baz', {\n  detached: true\n})\nelectron.stderr.on('data', function (data) {\n  console.error(data.toString())\n})\nelectron.stdout.on('data', function (data) {\n  console.log(data.toString())\n})\n```\n\nlimitations:\n\n- cannot automatically yet exit your program like how node does when you have no more activity on the event loop  \n  But in your script you can call `require('electron').remote.app.quit()` to quit when it's done:\n```js\nmodule.exports = function (args) {\n  var img = new Image()\n  img.onload = function () {\n    require('electron').remote.app.quit()\n  }\n  img.src = 'http://example.com/cat.gif'\n}\n```\n\nor you can call `process.exit()` like an ordinary node program.\n","readmeFilename":"readme.md"}