{"_id":"parse-npm-script","_rev":"3-35209693622f7b7af0b18fe00143e26f","name":"parse-npm-script","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.2":{"name":"parse-npm-script","version":"0.0.2","description":"Parse npm package script to see how they resolve","main":"lib/index.js","scripts":{"test":"ava -v","watch":"npm test -- --watch -v","publish":"git push origin && git push origin --tags","release:patch":"npm version patch && npm publish","release:minor":"npm version minor && npm publish","release:major":"npm version major && npm publish"},"author":{"name":"David Wells"},"license":"MIT","devDependencies":{"ava":"^2.1.0"},"gitHead":"a6ee81591f89f1317be8e47ce0419557529d633e","_id":"parse-npm-script@0.0.2","_npmVersion":"6.1.0","_nodeVersion":"10.4.1","_npmUser":{"name":"davidwells","email":"david@inboundnow.com"},"dist":{"integrity":"sha512-vaPcT0ol5W+oi0F/NQNSIsKpMYKFdv6aDXlx66xJc/bt2MogxtgnIWoCmy0sE/G6BrZZB9wZhM1P3e9YFegAiQ==","shasum":"ca8e99479cf4ab39554312b950b19b1f9249c9f3","tarball":"https://registry.npmjs.org/parse-npm-script/-/parse-npm-script-0.0.2.tgz","fileCount":7,"unpackedSize":177935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGo3LCRA9TVsSAnZWagAA7qEP/2y6sqoXlXfHX2G8CkhJ\nuyQQ3nfOR+XeY/nS9lPuyWixSqpVAzz30/axFjiOrHx6qj4GObYZ5+kMcYNe\n5ApPu/sGOpDVUO7foHu5vt9A0G5tMNke3N1C//6CYxGVvonrw0iLBTGx3fue\nR8AoOYLEQv5JDaPyxwyTgoqQ00ZqoGBIitbEvNromfgqr9YbflbtqsvKpYRu\ncYqeDPsQYrT9bA46Bp7RWoUtYxnkbih8Ii5ZegQ3jRI9dPrvJ/frvdPTF901\nqXeoB2CgDotRurCeBCAAzpkkkL/yA6pXpRdse+GHm2RVaK4O9Bvs0gLEzsjs\ni7gvEfEWBZqM/6iuMIyQnZd8KaNgYufsGGuWQkTptT+gZJHMyVhSrhmw/IWa\nvF2uWFG5LKGOt26jyE59nBzU/ctnlDd/MLw6C7GIdaTLUam8npHfuIvLjQmp\nX09xH4vQZ2o2VrDWdG7bLJwXW5UWUp0qnggJ2D2ZMHhwVKhtWHL9Hs6ZeK1f\ntj3xRgWJqYZpvbj4MS40kmpbR4c/Ms9xv1dmxxOcBCADsR1vxesxxQnniT8R\nigNZMS1jlRXFIq0pesDKbB3yTE1USHFQP3/ncpSc4q1YF+cRg+HHfiA0T9Gv\nzl8dhSktgKPQFDPDjDELe7URDf7CKMObSkMEehGQP3r+rEtc8kmZDshbtcN1\nq+d5\r\n=hV2T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGIhhVovpIQ60C5zI75RlxIOPrHdRRjm9a2SZMNl7iNPAiBMaMoCU+YsTlLC+TD0BIzilSzeSHmw6uya7IPZqHapuw=="}]},"maintainers":[{"name":"davidwells","email":"david@inboundnow.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parse-npm-script_0.0.2_1562021322956_0.5364621778269547"},"_hasShrinkwrap":false},"0.0.3":{"name":"parse-npm-script","version":"0.0.3","description":"Parse npm package script to see how they resolve","main":"lib/index.js","scripts":{"test":"ava -v","watch":"npm test -- --watch -v","publish":"git push origin && git push origin --tags","release:patch":"npm version patch && npm publish","release:minor":"npm version minor && npm publish","release:major":"npm version major && npm publish"},"author":{"name":"David Wells"},"license":"MIT","devDependencies":{"ava":"^2.1.0"},"gitHead":"80c3decdc8d46b02a44e37f79f1b859547d936bb","_id":"parse-npm-script@0.0.3","_npmVersion":"6.1.0","_nodeVersion":"10.4.1","_npmUser":{"name":"davidwells","email":"david@inboundnow.com"},"dist":{"integrity":"sha512-pbr3ujpUMnPuag29ts6gBsAYpfv/ymzRyP3/z2kqwplC8dq0LN6vqaiyXDxBJrr9GJv59ZE9xaeWfPjKGlj4rw==","shasum":"cb3c6bd693f114674f273ea880aa221350fb6828","tarball":"https://registry.npmjs.org/parse-npm-script/-/parse-npm-script-0.0.3.tgz","fileCount":7,"unpackedSize":177935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGo3vCRA9TVsSAnZWagAAG2cQAIIB/eP7HrahowxHnyUM\ngPm/rapWmpVsX/fA/7Hsvba30vvo9QQCb0XuXPFu7tXwt4HMqKOEMF/RQQWc\nJiRvBpaljPNd7k59EM2pxTBO+7K1jBKDU2hafOsJMpZJlSCpjD/DKyIc7ubo\nB9EjFfTVHxkAvKLpc8iLaupelnzP4HN4u8A2+U0y85LesV4CqypmonDAlzK9\nbRhRAGSeyOPv7FyfuiJKrjRbsTuhvs8TEbUExcJxp/HY7rmFY7UUsqfl+vmZ\nk3+jtNeDo3Q8806LJfKfkDQXiynh/D+sjjsdyc+FOe3UedSveh//gnc870gh\nS7M3eMZrFrlvZuYEUt76AJBf3OOd96eUTZv67B2yvdbc4fqFIxf785/EGbRy\ncicLUyztwk4I25anfH+O2DxDaA1FBMD72xCNsQvq/h9Qb8/NDHXPSXqhOU/z\nr1qiKD0IY1U6liGBp+VCvxI2YPhetuqCh37wA+M60lZXux4PY6lR6k67duK+\nVOCIKJqGh1UkMTka+BBI/eBU3DG42HZ3P0IOIhriQ1cHxH05v8vOfnL7eCc8\ngJWi9zb7B1T7QAHUFVa+rSojWU7Q8W/aP9JYV5PL60PiVlb5VaeJbzISFpWt\nVLS+rct9J0OKs/oavhOgJqPCnTHIO++ANriaJfzltTSuD2YLscKn1Rblb3ly\n1FHD\r\n=TWWQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9azsi/QJWyGotKKF0HG/QV9Bw8jtJzVULZ/yqdsgA4AIhAPz7yN529q6HNYBv/XwCd36LMUwIS7mab4Mk8klkN1VD"}]},"maintainers":[{"name":"davidwells","email":"david@inboundnow.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parse-npm-script_0.0.3_1562021358691_0.621420815738887"},"_hasShrinkwrap":false},"0.0.4":{"name":"parse-npm-script","version":"0.0.4","description":"Parse npm package script to see how they resolve","main":"lib/index.js","scripts":{"test":"ava -v","watch":"npm test -- --watch -v","publish":"git push origin && git push origin --tags","release:patch":"npm version patch && npm publish","release:minor":"npm version minor && npm publish","release:major":"npm version major && npm publish"},"author":{"name":"David Wells"},"license":"MIT","devDependencies":{"ava":"^2.1.0"},"gitHead":"91d3e9c1fe97e03227dc53c5d8de200b170fab0b","_id":"parse-npm-script@0.0.4","_npmVersion":"6.1.0","_nodeVersion":"10.4.1","_npmUser":{"name":"davidwells","email":"david@inboundnow.com"},"dist":{"integrity":"sha512-m5zxDByW20bHsBXl+CYOsQfrJmxOub+mDWwgfhPGjxDK1xaRSaqEBEqPy84oUhHmHal89Db05/LZZoIDdk/I3Q==","shasum":"62cf67ecfecd791be9de30ba8b5798fcb8fd0b69","tarball":"https://registry.npmjs.org/parse-npm-script/-/parse-npm-script-0.0.4.tgz","fileCount":7,"unpackedSize":177995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGo+NCRA9TVsSAnZWagAAR5QP/jCFzlPlLpxdYZZ7ea2p\n0tbyiNDBiiBhTTk7urTIHQZj8jhl6wJAgq6FKlyK7ryNtf+ysdIPx6K0MZ1n\n+k1/ABJVHCf1RmTtO2rP02u2VqZ7qQDTtKwR8N2TU293sdnkweLVoh3H7oQr\nxo1ib14DGZPzwRockrxiTepTY1BV0ze0E9DNLqcTkU+ec3itLHiOxVtGCcWe\nFOj0mvjmjRHAOpYWMx6/zqBcUnPTQNATuWCrWHTiePZQjVtzDRXjTGaWvH/q\n5U64CZUxumJXx7wCn6Y4stqFY8TOfTNTM6F/WrtNP9Tk5o3IO/iBa7t4dl1k\nieiC5cCCh0Gk8Z6QwAJACjvMgo9gpE1IKnloWgamrNHULkKXAZgnLwMboFXN\nHeDjZghEQj4BelE1hXplve2qr4l/Eh2Dg5ri0jCxJ6mKYIolxBGZwZQe1Sel\nntwU6YmBSfOqrpFQDUpQlW90Mpu+byBF8TllEnM2x+q9RiWlCuvt/TAv1yc8\n/pzUPPdMpA9VH8hbTBmdHH1Q5/6GhtSFSOcubg7RV98OAeYXD2fFpdyoNo1C\nWsVTBHDFh9e0Ne4IMzncaByPhhY71wRmnd++NqnwgW1epcQo3rNJ78r47rRd\nUaol3Pb1zmGcIbJu6mlxt5V7rTCwc7CsLNXMZuIVKU/KgBLdr0uZozb7h5H9\n2Fe7\r\n=QMBT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNZJFH6Ezlk1Pi48YRXjYspiOYfW359Y5QAP8nWfvYSAIgUeEGljflArvW4kngnKOR+521InHJiOL5l3fbAYGXAGs="}]},"maintainers":[{"name":"davidwells","email":"david@inboundnow.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parse-npm-script_0.0.4_1562021773251_0.5191802146771953"},"_hasShrinkwrap":false}},"time":{"created":"2019-07-01T22:48:42.955Z","0.0.2":"2019-07-01T22:48:43.048Z","modified":"2022-05-12T14:42:37.875Z","0.0.3":"2019-07-01T22:49:18.846Z","0.0.4":"2019-07-01T22:56:13.372Z"},"maintainers":[{"name":"davidwells","email":"david@inboundnow.com"}],"description":"Parse npm package script to see how they resolve","author":{"name":"David Wells"},"license":"MIT","readme":"# Parse NPM Script\n\nParse a given `npm` script command from `package.json` & return information.\n\n- What the `script` lifecycle looks like\n- How the command **really** resolves\n- & What the final command run is\n\nUseful for parsing dependencies actually used and figuring out wtf is happening in a complex `package.json`.\n\n## Usage\n\n```js\nconst path = require('path')\nconst util = require('util')\nconst parse = require('./lib')\n\n/* path to your package.json file */\nconst packagePath = path.join(__dirname, 'tests/fixtures/one.json')\n\nasync function runParser() {\n  const parsed = await parse(packagePath, 'npm run build')\n  console.log(util.inspect(parsed, {\n    showHidden: false,\n    depth: null\n  }))\n}\n\nrunParser()\n\n/* Parsed contents\n{\n  command: 'npm run build',\n  steps: [{\n      name: 'prebuild',\n      raw: 'echo a && npm run foo',\n      parsed: ['echo a', 'echo foo']\n    },\n    {\n      name: 'build',\n      raw: 'echo b && npm run cleanup',\n      parsed: ['echo b', 'echo cleanup']\n    },\n    {\n      name: 'postbuild',\n      raw: 'echo c',\n      parsed: 'echo c'\n    }\n  ],\n  raw: ['echo a', 'echo foo', 'echo b', 'echo cleanup', 'echo c'],\n  combined: 'echo a && echo foo && echo b && echo cleanup && echo c'\n}\n*/\n```\n\n## Example:\n\nParsing a `package.json`\n\n```json\n{\n  \"name\": \"parse-npm-script\",\n  \"scripts\": {\n    \"foo\": \"echo foo\",\n    \"cleanup\": \"echo cleanup\",\n    \"prebuild\": \"echo a && npm run foo\",\n    \"build\": \"echo b && npm run cleanup\",\n    \"postbuild\": \"echo c\"\n  },\n  \"author\": \"David Wells\",\n  \"license\": \"MIT\"\n}\n```\n\nWill result in this output:\n\n```js\n{\n  command: 'npm run build',\n  steps: [{\n      name: 'prebuild',\n      raw: 'echo a && npm run foo',\n      parsed: ['echo a', 'echo foo']\n    },\n    {\n      name: 'build',\n      raw: 'echo b && npm run cleanup',\n      parsed: ['echo b', 'echo cleanup']\n    },\n    {\n      name: 'postbuild',\n      raw: 'echo c',\n      parsed: 'echo c'\n    }\n  ],\n  raw: ['echo a', 'echo foo', 'echo b', 'echo cleanup', 'echo c'],\n  combined: 'echo a && echo foo && echo b && echo cleanup && echo c'\n}\n```\n","readmeFilename":"README.md"}