{"_id":"loadr","_rev":"13-fd38d23ff6a765f9323958c9ffba92e7","name":"loadr","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.1":{"name":"loadr","description":"a library to load modules in the broswer","version":"0.0.1","homepage":"https://github.com/jgallen23/loadr","authors":["Greg Allen, @jgaui"],"repository":{"type":"git","url":"git://github.com/jgallen23/loadr.git"},"main":"./dist/loadr.js","keywords":["ender","bundle","load","module"],"_npmJsonOpts":{"file":"/Users/jga/.npm/loadr/0.0.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"loadr@0.0.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.20","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"02976e6d51c24325a0a83080ff52fe0fcdedab66","tarball":"https://registry.npmjs.org/loadr/-/loadr-0.0.1.tgz","integrity":"sha512-uTJEkCrX1vtU/XDoN13GqgDUAJqV+L77Bx7DedN5BZ8m0C2ysuQXlzZwerSENx7jVBREGGdhT74AAWHMbYQ2tQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfScp3lDK0W+vsPQ6iOsRWJB50kCwLkonzeQBQUJg7gQIhANACgoBbRjvjSDf0D4sC+1J0c7NgpbF6ZsLKZ/ive6GP"}]},"scripts":{},"maintainers":[{"name":"jga","email":"me@jga.me"}],"directories":{}},"0.0.0":{"name":"loadr","version":"0.0.0","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"Donavon West","email":"github@donavon.com","url":"https://donavon.com/"},"license":"MIT","description":"","_id":"loadr@0.0.0","_nodeVersion":"10.19.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-IdVhAhGsUXeqBouR7AifA6p17ZN5S6SVn2S2NlBhL/iVETniMQw6J3auI9F0XObICjDFgQ9mo1g7P9uYNUwW9A==","shasum":"64a0db140109455b13f411fb343d34be6482d84c","tarball":"https://registry.npmjs.org/loadr/-/loadr-0.0.0.tgz","fileCount":1,"unpackedSize":275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetY9UCRA9TVsSAnZWagAAWPMP/0oTsJ69cRwYiVUnrzbZ\nQi5EMNDmw6ZDg49f8Z5wg4t2tqZ1okKew+M+Po5dJvb00x2Ug1IC3YJYvRGF\niaHWJHlQN7JsjKWVN+FxQpbAaPxeUcpEQLHj6lce7Q57rUyvniQVANFU0u+G\n/FBO2kt0rDNIWFaPpson4aBDyqc/gyn9WiUk4KF5dmjjrR63QoGpXgwbj1G/\nXmgAas3MHqJ2UYkuYdGvtlEf1EMtjY23VY0OFUqZQByWjncCf6sYqV/j7dPS\n90ulv+ib9/xj1Jtyi7xh6ahWCsajDFQXr6EaoVBmOURc4HQBxp2O3xBdlDqY\nDh9VpHJuHXTpVTk5voOsxNfuK9XsTbjTTFIdFpsFRmys3sztJ2gcnVW9SlMk\nqHuvjoFvjEF4VcNJyRA6UNn8uy5ipx9RKpgTfez30zLZC5GB5ICVHlDbFuqn\nS5N7GZWRFM3dpLFiVqLoXfQ4uAPrWxwl1J52hTDi3aPPKCfgg+Ek91FbzCz1\nwVVTKPt7R3064dGcgG31ugTlDGlVEHww5H/uMnh5HAZtbKlDFP7tcGNjSei3\nPQhuu8ptJG3xS83OcnrPuqnmTC688GW5iT7ILoZuyI/GHDqazR9QSgdPRQ76\n3qJMI4feKl6KK/Y9KavGITg7+64ichWlsbXyBwzHrCBscRqsd08zz0g22hNw\nkG6C\r\n=cKUa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC80HszQXPC6ZBvaieJjdrro+Q3L/rUPtasqoBDj9oIuQIgHW+9F7RIUxIsJDDvg/BfAOJ7OxUCs3Yq2iFAccldXQo="}]},"maintainers":[{"email":"code@firstandthird.com","name":"jga"}],"_npmUser":{"name":"donavon","email":"github@donavon.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/loadr_0.0.0_1588957012232_0.164437314348842"},"_hasShrinkwrap":false},"0.1.0":{"name":"loadr","version":"0.1.0","repository":{"type":"git","url":"git+https://github.com/lukeed/loadr.git"},"description":"Quickly attach multiple ESM Loaders and/or --require hooks together","types":"index.d.ts","license":"MIT","bin":{"loadr":"bin.js"},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{"./package.json":"./package.json"},"engines":{"node":">=12"},"devDependencies":{"@types/node":"16.6.1"},"keywords":["esm","loader","loader hook","require hook","experimental-loader"],"gitHead":"b73844319095ac274183402dfbb1de8bebb680aa","bugs":{"url":"https://github.com/lukeed/loadr/issues"},"homepage":"https://github.com/lukeed/loadr#readme","_id":"loadr@0.1.0","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-d4tBDcJnePhqaGJVNjJjL43Va8b+qtZWs7VqhQicf1t8ZuCe3c37sFdt/AprFszu5AjmlwJZ4IytbQ+BT0nwXA==","shasum":"47ecaa9b31af53b7cccae4f25138d47bd41c5409","tarball":"https://registry.npmjs.org/loadr/-/loadr-0.1.0.tgz","fileCount":5,"unpackedSize":7655,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhG2AMCRA9TVsSAnZWagAAbJ4P/35lDKpA40YYlklbVsv+\nqUrWb6dVo5ucvQpfUb1BN4W86oKDFFl7W86GozA/XhjuzvBNiYeIR1Fxi4LI\naRZ1ZdHkrPSeuW7/5GYG86UZ3GsfeIf+069i46YamY2nhFToXQNmQ1cqcvM1\n9v5mOrRQeT5Bu/4rcH64YmGlzp38ytGGK5wgpnSLNVEBTG7INAk4a4tmETo7\nbiefflZatA6mosQFGY8Ak+2Uc/6S4ZloP6Y1m22bepESxHPfGuCNMkoKiXEA\n/7Ro3uB+/enANE/2toqOzkWTIcUaLLHNkHV2r/7fw0QiLMiHQg9Nz3ekDjhe\n/e1QfXQA0rpj0u1rofU+ioc7GFMWjDOIPnzGnNz+BDGhcw29OcfqX5iA8QaP\nl3mlJCSqgVjwbPhB69MGLwAew2oypl9Lvwn9Ydsk2ogdyLtGOTgw6hvSzxci\nf8osRNI5zMF02QCOGBdVIYVrtBTXa5R6dmd5fZbrTjj+uxxIJFu7Ms4phIcH\ndGE5xPMaw4K/TJcYREvWrIwSbzr4Ej3qpEsV0uYR7FEUA9JcapZxRYMxttAM\nko+SUk9p+FGhSGAW1LEFSy4wXxJTtt9/KQ2xP1ByDz/efBkJR5C4SBODiYb6\nwjZWNsl7SMtR0BaZ04MNJewQgKKQ56uKaoh4dTN3kNdFYmWCVJDsJlPClIpp\n+9w8\r\n=tu0y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaybtHMWJ5RkEJ+A8a3LD9h8WKsphUsIod3/quCw4pqAiEA3Onlhb2BSGC2QvBbMIqnbU4VL+u8VBX6kIBC1K8W1KQ="}]},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/loadr_0.1.0_1629184011893_0.02209765832978583"},"_hasShrinkwrap":false},"0.1.1":{"name":"loadr","version":"0.1.1","repository":{"type":"git","url":"git+https://github.com/lukeed/loadr.git"},"description":"Quickly attach multiple ESM Loaders and/or --require hooks together","types":"index.d.ts","license":"MIT","bin":{"loadr":"bin.js"},"author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"exports":{"./package.json":"./package.json"},"engines":{"node":">=12"},"devDependencies":{"@types/node":"16.6.1"},"keywords":["esm","loader","loader hook","require hook","experimental-loader"],"gitHead":"1256b0ad525ddff7998985dee802da57da45f9aa","bugs":{"url":"https://github.com/lukeed/loadr/issues"},"homepage":"https://github.com/lukeed/loadr#readme","_id":"loadr@0.1.1","_nodeVersion":"16.6.2","_npmVersion":"7.20.3","dist":{"integrity":"sha512-lkI9ckI3cF+DQMbc0Fn/PgeMXQEL4gcOqUQQ1/tEzttQ2CPJvWzBsa9THeS4kqYQ2oNUVuDfk1+7PBZenvp3og==","shasum":"7e9a5635471d1890d47ab321b3d3b873ca7d8c5f","tarball":"https://registry.npmjs.org/loadr/-/loadr-0.1.1.tgz","fileCount":5,"unpackedSize":7668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKX0yCRA9TVsSAnZWagAAF0sP/1LO9js6mSmmf3vSvVeX\nCvAm2vRbRkB8lOCcxyWTgEjWyeHTamVEjX98Lxs67NsSw7TcD3JmJI26VS3g\nPEFNWZLHNj77zHAYc7nfQFbUstxA5DTbsCz9R74pzTa07uvcffuxSgTHLXA6\nKaMVAtbUeEdNtIOxo4YbW1Qdih+y8tqMyqUOlJaHDfNsAE3L6SGtIiA4gYMA\nmdzLnvStsK4yuuxYmIScBDFclP9iPMyTs4kw6HTKh+6mQEv9SC9o8dH9qUu4\nmxUH7Ad91Id5rKvRap1AKbUQ/tdFuz05UGkTDbNZmIAVs+3Pani5DhHUR/mc\nYL/jvIkIzBxupOgF1avV1JAz1uhCx6pEiYsOSyQtIxBrGY0arfG6gOHQKzRE\nTO1BvuOXrJ2kVgHOLSfNjjN++8++ZDTsRdws3qWOF6ciQD/NJxuGLeiUSMmK\nkKWD8xcVg1qr3nQl4/Ge0MLtgcuAwPgka9kz/M3ZR7/rrJ8LRd9vSeZTC/HZ\nuS2/p8gqCfwuOZprUgjSJ3Tx8ftyF5f7e4MvUCORln2mWN1NdXTsmzkGcCcJ\nrg7q910TmFONRTINbicxS4H0LnITdkhWJu8ti9p93/NtM5OxGhy1MwWG2SZf\n3Y7nxE3A671QAkbrGW0EqWb4CzCS2gwYWwrAN036lPF4MRtp9xmY919i8O4O\nNXUm\r\n=B3xi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZul/R/yLRfzqaNqYTAojE05ognxqBcyJ1WgqqDHfdtAIgOXONUTCqmCF/uiKbIiVD8T552O3enUw6F+5bDg18FbA="}]},"_npmUser":{"name":"lukeed","email":"luke@lukeed.com"},"directories":{},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/loadr_0.1.1_1630108978096_0.646907529305621"},"_hasShrinkwrap":false}},"maintainers":[{"name":"lukeed","email":"luke@lukeed.com"}],"time":{"modified":"2022-06-19T13:15:14.329Z","created":"2011-10-07T01:28:49.511Z","0.0.1":"2011-10-07T01:28:50.001Z","0.0.0":"2020-05-08T16:56:52.343Z","0.1.0":"2021-08-17T07:06:52.057Z","0.1.1":"2021-08-28T00:02:58.229Z"},"keywords":["esm","loader","loader hook","require hook","experimental-loader"],"readme":"<div align=\"center\">\n  <img src=\"logo.png\" alt=\"loadr\" width=\"320\" />\n</div>\n\n<div align=\"center\">\n  <a href=\"https://npmjs.org/package/loadr\">\n    <img src=\"https://badgen.now.sh/npm/v/loadr\" alt=\"version\" />\n  </a>\n  <!-- <a href=\"https://github.com/lukeed/loadr/actions\">\n    <img src=\"https://github.com/lukeed/loadr/workflows/CI/badge.svg\" alt=\"CI\" />\n  </a> -->\n  <a href=\"https://npmjs.org/package/loadr\">\n    <img src=\"https://badgen.now.sh/npm/dm/loadr\" alt=\"downloads\" />\n  </a>\n  <a href=\"https://packagephobia.now.sh/result?p=loadr\">\n    <img src=\"https://packagephobia.now.sh/badge?p=loadr\" alt=\"install size\" />\n  </a>\n</div>\n\n<div align=\"center\">\n  Quickly attach <em>multiple</em> ESM Loaders and/or Require Hooks together <br>\n  but without the repetitive `--experimental-loader` and/or `--require` Node flags\n</div>\n\n\n## Features\n\n* Extremely lightweight\n* Easily chain multiple [ESM Loaders](https://nodejs.org/api/esm.html#esm_loaders) together<sup>†</sup>\n* Interleave additional [`--require` hooks](https://nodejs.org/api/cli.html#cli_r_require_module) at the same time\n* Command spawns as a `ChildProcess`, forwarding the current `process.env` context\n\n> <sup>†</sup> The ESM Loader API is still **experimental** and will change in the future.\n\n## Install\n\n```\n$ npm install --save-dev loadr\n```\n\n## Example\n\n***Before***\n\n```sh\n$ node --require dotenv/config \\\n  --experimental-loader ts-node/esm \\\n  --experimental-loader ./tests/loader.mjs \\\n  server/index.mjs\n```\n\n***After***\n\n```sh\n$ loadr -- node server/index.mjs\n```\n\n```js\n// loadr.mjs\nexport const loaders = [\n  'ts-node/esm',\n  './tests/loader.mjs',\n]\nexport const registers = [\n  'dotenv/config',\n]\n```\n\n## Usage\n\n```sh\n# Run `npm test` using the `loadr.mjs` configuration file\n$ loadr -- npm test\n\n# Run `npm test` using custom `loadr.custom.js` file\n$ loadr -c loadr.custom.js -- npm test\n\n# Run `node server.mjs` w/o system bell\n$ loadr -q -- node server.mjs\n```\n\n\n## CLI\n\nThe `loadr` binary expects the following usage:\n\n```sh\n$ loadr [options] -- <command>\n```\n\n> **Important:** The `--` is required! It separates your `command` from your `loadr` arguments.\n\nPlease run `loadr --help` for additional information.\n\n## Configuration\n\nUnless specified via the `-c` or `--config` CLI arguments, `loadr` looks for a `loadr.mjs` configuration file in the current working directory – aka `process.cwd()`.\n\n### loaders\nType: `string[]`\n\nA list of files and/or modules to be added as an `--experimental-loader` hook.\n\n> **Important:** Any relative file paths will be resolved from the current working directory.\n\n```js\n// loadr.mjs\nexport const loaders = [\n  \"ts-node/esm\", // third-party module\n  \"./tests/loader.mjs\", // local file\n];\n```\n\n### requires\nType: `string[]`\n\nA list of files and/or modules to be added as a `--require` hook. Please note that ESM files cannot be loaded via a `require()` statement.\n\n> **Important:** Any relative file paths will be resolved from the current working directory.\n\n```js\n// loadr.mjs\nexport const requires = [\n  \"esm\", // third-party module\n  \"dotenv/register\", // third-party module\n  \"./tests/setup.js\", // local file\n];\n```\n\n### quiet\nType: `Boolean`<br>\nDefault: `false`\n\nBy default, `loadr` invokes the system bell when your `command` process terminates with a non-zero exit code.\n\n> **Note:** If defined, the `-q` or `--quiet` CLI argument takes precedence over the configuation file.\n\n```js\n// loader.mjs\nexport const quiet = true;\n```\n\n## License\n\nMIT © [Luke Edwards](https://lukeed.com)\n","readmeFilename":"readme.md","author":{"name":"Luke Edwards","email":"luke.edwards05@gmail.com","url":"https://lukeed.com"},"license":"MIT","description":"Quickly attach multiple ESM Loaders and/or --require hooks together","homepage":"https://github.com/lukeed/loadr#readme","repository":{"type":"git","url":"git+https://github.com/lukeed/loadr.git"},"bugs":{"url":"https://github.com/lukeed/loadr/issues"}}