{"_id":"@aminya/electron-link","_rev":"5-7eeb6544f5736ac646120907ef261461","name":"@aminya/electron-link","dist-tags":{"latest":"0.6.3"},"versions":{"0.5.0":{"name":"@aminya/electron-link","version":"0.5.0","description":"Generates scripts to pass to V8's `mksnapshot` tool.","main":"lib/index.js","scripts":{"test":"mocha test/**/*.test.js --ui=tdd --require @babel/register","tdd":"electron-mocha test/**/*.test.js --ui=tdd --renderer --interactive --require @babel/register","prepublish":"rimraf lib && babel src -d lib"},"author":"","license":"MIT","devDependencies":{"@babel/core":"^7.10.3","@babel/cli":"^7.10.3","@babel/plugin-transform-async-to-generator":"^7.10.1","@babel/register":"^7.10.3","dedent":"0.7.0","electron":"5.0.13","electron-mocha":"^8.2.2","mocha":"^8.0.1","rimraf":"3.0.2","temp":"0.9.1"},"dependencies":{"acorn":"^7.3.1","ast-util-plus":"^0.6.2","encoding-down":"^6.3.0","indent-string":"^4.0.0","leveldown":"^5.6.0","levelup":"^4.4.0","recast":"^0.19.1","resolve":"^1.17.0","source-map":"^0.7.3"},"gitHead":"c69acf49824dec128b8734e8cf9a0c812f1c3901","_id":"@aminya/electron-link@0.5.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-Mv+znw+5SFPrAGn0QNqBvCPi/zyK9nPPLOKBQekblAxl1ikpVLWAjj1GHEnTKcAMFgns8KnGAb+eAeQfxx/PCQ==","shasum":"955560852fdc7a50873628cf1a13a16ec0f15785","tarball":"https://registry.npmjs.org/@aminya/electron-link/-/electron-link-0.5.0.tgz","fileCount":10,"unpackedSize":51783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+nzlCRA9TVsSAnZWagAA5rcQAKMD3bnNBQymvzvqxnCH\nyXiZbVPy0tw4jBvCENF7h7ox4gkMgeUyen+I3nf5JDzfqZppBS0HLerm6E1L\nzMcDnF6Mk2zEFk64MvxTQg4LQo4DyCDbI8Bq/R1OIC1FS/7Q+32GC9dA2l/+\nmWXBPzXNfTxCf+51ERUSeVuWgyf63t8bwQd+hiEmnY9NIPdmlfhxQmQO63iS\npPHx5mp+Y6eJoT2Cw77sHW+xAOIocsSEz8Be6wohiQ0kPOr+WMaXdRgH8W7q\nuSVdPVs3XXivbCJnDhSS+sx3HbkTs8PEDykIoT5y+YIOfUe75wlIRMpoOCEm\nE+d+D/TgbXS3bvKhVe7y2gj0w0uWsrZtygjH6+X2uIUImhDfYusG0VivtEDh\nifJvwByAuntegJoaN/gfayGrvUsfB5hrdhZT/2yX27U5h6FQvcqAGQpjsuf9\neDN1cTAQ0qQo83sRv8n5Rk1gXqfxalOL5sMvstd7MmObCylh1hCR+SI23PAF\n1uUKuEbTTaCwd5qjBNvpIfnaH9gktOGYmFj950wje8wliC06bhKJo+8RsNyi\nuyWb/Tm8MPYdsliKMGX5XN2X/h2CRH/FJnYpl2wQcaMsyfF4bVhPm2KIbff1\nSKOsHdGaBBL/+CQw7WTtYHHNlNV6BEZgDC+nMH0xHc7S3Ah9f9ZXAGkQ6hCU\nWRl1\r\n=pQl9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBsLfeyKlf1lOo+5u5RbVms0NBuHDx4kgl+hvDxTgUxnAiEAx78j7tXoiAXMWNebQGdjO9W16/JNnPANslkeMQN5lfY="}]},"maintainers":[{"name":"aminya","email":"aminyahyaabadi74@gmail.com"}],"_npmUser":{"name":"aminya","email":"aminyahyaabadi74@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/electron-link_0.5.0_1593474276953_0.8223137878332811"},"_hasShrinkwrap":false},"0.6.0":{"name":"@aminya/electron-link","version":"0.6.0","description":"Generates scripts to pass to V8's `mksnapshot` tool.","main":"lib/index.js","scripts":{"test":"mocha test/**/*.test.js --ui=tdd --require @babel/register","tdd":"electron-mocha test/**/*.test.js --ui=tdd --renderer --interactive --require @babel/register","build":"rimraf lib && babel src -d lib","prepare":"npm run build"},"author":"","license":"MIT","devDependencies":{"@babel/core":"^7.10.3","@babel/cli":"^7.10.3","@babel/plugin-transform-async-to-generator":"^7.10.1","@babel/register":"^7.10.3","dedent":"0.7.0","electron":"5.0.13","electron-mocha":"^8.2.2","mocha":"^8.0.1","rimraf":"3.0.2","temp":"0.9.1"},"dependencies":{"acorn":"^7.3.1","ast-util-plus":"^0.6.2","encoding-down":"^6.3.0","indent-string":"^4.0.0","leveldown":"^5.6.0","levelup":"^4.4.0","recast":"^0.19.1","resolve":"^1.17.0","source-map":"^0.7.3"},"gitHead":"9a6c161c5675291fb5731dd1c638264f1d88475e","_id":"@aminya/electron-link@0.6.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-frEGwLx3Gz82LzoSXMNz4knElyBedxt7jx8D9wiv5secB9HfK8giufZyXqO/5ZwgVT0s2y3LPcD6s5YBEpBeiw==","shasum":"cd25c3f16f89655b4707e9b210e15e084b596e56","tarball":"https://registry.npmjs.org/@aminya/electron-link/-/electron-link-0.6.0.tgz","fileCount":15,"unpackedSize":54198,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAtbaCRA9TVsSAnZWagAAPHwP/RfBQwWVfWrk7BymXSTC\nAdY8GNqyY4ZOde6nIA/pILbRryl5EG1VU5jxvhHF6/T7nZ3Pstw3fJMY2kZA\nm/7HeXOsPqPUnIQ6KFte/9L/fLulhYWiIZwFyjQX0EpGgL+9ICma7M0nSBFM\nJQ1+PulOPedyI79pxbSsjy2eat81savlAQQi5g7OKk7IlxDB8TISQpG12edi\nFxc/3rw5vbuMrWMSDrQNfVDW45wXJECp1PI0bmSYXnDeoW94Y4vDKKHbMcm5\nLKb+wP0vZAbs+u/EFuc/1wDYkQp/Apppg44MDi9rZO0b9Bkfb6VlQYfFnW4x\niWjR2MAB/+hpuy7DNu0cA9SouLrVlRJZWPYsIPDsxU66B/y/D88JjUNpcIn6\nFBkygEgzUga+gA7JUHLI1EJgbmO5yxG2V9S6qMmhF9VRhb4FK0zJgM444ueW\ngUt1LQG+Bw17FJdS8RtokIj90YhWEhYkIW061rajeRgCBpLFPCcsE7gYZbAB\nAHEJoAUmNtwb44T0fmpK7e15e3NZl/7+jzpjDObMUTUFVZt1pGK4CHGQg55s\nuTAccwE2occEVAPxIpnDb6RVm3IztJu0pOBcrZc/YaGe4eG0timQciNZ20HZ\n8b4j2XwLAhDAd5WOtrOwhqFBjt8+fFrUQHd6FXf4CWKa3+9m8AjlVgNK50Zk\nLRCL\r\n=ORaH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA+bY3+GeSz6TZKcAhuQByhoXPtV8A0ALFGQFzv6EiXZAiEAiaQjlaQkYz8pvvDYHq8asiKAucGAloZvtspQtsi9Igc="}]},"maintainers":[{"name":"aminya","email":"aminyahyaabadi74@gmail.com"}],"_npmUser":{"name":"aminya","email":"aminyahyaabadi74@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/electron-link_0.6.0_1594021593933_0.2932717794144102"},"_hasShrinkwrap":false},"0.6.1":{"name":"@aminya/electron-link","version":"0.6.1","description":"Generates scripts to pass to V8's `mksnapshot` tool.","main":"lib/index.js","scripts":{"test":"mocha test/**/*.test.js --ui=tdd --require @babel/register","tdd":"electron-mocha test/**/*.test.js --ui=tdd --renderer --interactive --require @babel/register","build":"rimraf lib && babel src -d lib","prepare":"npm run build"},"author":"","license":"MIT","devDependencies":{"@babel/core":"^7.11.0","@babel/cli":"^7.10.5","@babel/plugin-transform-async-to-generator":"^7.10.4","@babel/register":"^7.10.5","dedent":"0.7.0","electron":"5.0.13","electron-mocha":"^9.0.1","mocha":"^8.1.0","rimraf":"3.0.2","temp":"0.9.1"},"dependencies":{"acorn":"^7.3.1","ast-util-plus":"^0.6.2","encoding-down":"^6.3.0","indent-string":"^4.0.0","leveldown":"^5.6.0","levelup":"^4.4.0","recast":"^0.19.1","resolve":"^1.17.0","source-map":"^0.7.3"},"gitHead":"8d70b006fea58c8a9cd5a07fa355ffb8b8353cb4","_id":"@aminya/electron-link@0.6.1","_nodeVersion":"14.6.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-nc8rK/EyigLYcEPjzsndhtU7HyfhwFyRlajzA769K1oRwd3BKSIsJUGqcdbqh0cGX3sJZIC2zhNyApcclLiqZw==","shasum":"f3790f93a664251076491b0f410a32a432b00b9c","tarball":"https://registry.npmjs.org/@aminya/electron-link/-/electron-link-0.6.1.tgz","fileCount":10,"unpackedSize":52485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI5jsCRA9TVsSAnZWagAAxbwP/j44F0nfRPm12AT2JktD\nwCswHfELwHmUu2W98ITXtWXap1owYrl4tBlXl4BTjbj1vPYY9tbgXbd5s3BI\nzZfmOC1TFEx4z0PL0oAdRHxO33T2bcIXlc7gWNJK3kjMNQkqvUcsxEeNrABT\n7Y7ftxHBfu3A7ImlP9wGYpc+5E+XbuCK3aIUt7yKQ57pVk1SuXjiFeDJVGfQ\n3DJFeeCcY88lRK1IX4AJt7Dnv4RaXMyhaJgJiMyhWcrV3HUJ2Ovd5ESZlWNI\nAkZzQw5wExAc91jF58ocYXiGDScxb3ZI8b0CbMlwC3Ab3HnDB6XdRzhq3Ehp\nm/oYoEGFruvSTtdla0w4mZlWySB6r+ZeEQoZTYwN4NZm82AUL7wmrrwPSySc\n/QgDkqWUYS/wEkd+g5x23nXqGqKYHTtMRChWJ0qTgcBIRBmLfQwhDGPHkyBp\njQSVDXFaWgl87kZ81eX3x2NNUDaP7T1z9B279c2QLIPVPYeWDLm5uwk897W3\nUnjnjFG8CVHTY2NCEQWKvoSj5wmpnUdS5pBTNQnxFnO6W+FidMAGbe5UE+aO\nMZhIspPCXaDrim6oXkE37jx7rNNP/4Kq2OtPrYblIMmSWhlEBS5uXVOEGVQf\ncGc+TIyd+CndeiedVz7QFW/8COOcjhgHzxhRbJt933YXnHpsWpYDkkkWRaaN\nKb5X\r\n=+yj2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyQb9vyqxzQQZtkE1fepYLMtrV1CCqQVyj25el3gMXUAiEAwiQyIPtzcGHnZjURfhQmHM+3nf26XRXsYxgOAwkzJIE="}]},"maintainers":[{"name":"aminya","email":"aminyahyaabadi74@gmail.com"}],"_npmUser":{"name":"aminya","email":"aminyahyaabadi74@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/electron-link_0.6.1_1596168427716_0.3789436698781974"},"_hasShrinkwrap":false},"0.6.2":{"name":"@aminya/electron-link","version":"0.6.2","description":"Generates scripts to pass to V8's `mksnapshot` tool.","main":"lib/index.js","scripts":{"test":"mocha test/**/*.test.js --ui=tdd --require @babel/register","tdd":"electron-mocha test/**/*.test.js --ui=tdd --renderer --interactive --require @babel/register","build":"rimraf lib && babel src -d lib","prepare":"npm run build"},"author":"","license":"MIT","devDependencies":{"@babel/core":"^7.11.0","@babel/cli":"^7.10.5","@babel/plugin-transform-async-to-generator":"^7.10.4","@babel/register":"^7.10.5","dedent":"0.7.0","electron":"5.0.13","electron-mocha":"^9.0.1","mocha":"^8.1.0","rimraf":"3.0.2","temp":"0.9.1"},"dependencies":{"acorn":"^7.3.1","ast-util-plus":"^0.6.2","encoding-down":"^6.3.0","indent-string":"^4.0.0","leveldown":"^5.6.0","levelup":"^4.4.0","recast":"^0.19.1","resolve":"^1.17.0","source-map":"^0.7.3"},"gitHead":"cb5e647d513ce87daeecbb86ae1020a40ac313bc","_id":"@aminya/electron-link@0.6.2","_nodeVersion":"14.6.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-i5chZEd6WRYgOL2WrtI6dVSAxelZMHkIUZuwsZ/MntuTuOKBLMcOpYNi7yFOfUujQSFEnZ9eUxlljAwsYcgF2Q==","shasum":"1b851da202d8ad588e4e954a100834954765b463","tarball":"https://registry.npmjs.org/@aminya/electron-link/-/electron-link-0.6.2.tgz","fileCount":10,"unpackedSize":52509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI5raCRA9TVsSAnZWagAAdXsP/3BP/YFIAeMT5HFp+yYt\nLHcg9+4agxMbgXPlxyJgfWmXJv1uusYyUkewvzB+Lj/miDqSG7pwfO+ZPEpT\nm5KWIimqr3j4yud+OCDUfhUcTPMivqbZwQ7ARYmShdwQteMdpE0odQVMdM1U\n6dgL/fSC+WLNXPeD5nQTZnfM4oxEO9AhsXIxmMkErYhS6st4LCx0T7yyJUTK\nl2rgxSfrWG2eLXAUb8YPNtnKftgK6RjbQtuvnooE2gFLUaVn5hGQ0xkoJSlj\nNFfV/9d3a15V9hg4wLxBvic7qKEiJept4/gPu7//wW0d+JOFQ7WCdkTUYO/E\nr7XEBVZ+r6SVHTF8vgLlQUPv1IOcyG1hgIsRYCo4yENUqSZjWitj35wi20u0\n+jo+IN+cyZGF+RstZCX/KUmESkPy75mJgOTbssGVCH8e+M05qMXOtGjIFEft\n9HY6vnrIKyUjUdrnRzyeaQQ5HBTcpAxQ1aZXQXs3HPg5cnl5PbDu+ObiD4VD\nyS5JIj0QEqTyQN5mJus2kF3edpQjY5iYfaJmaonJB63BnzD4efMcIMz3v+tv\nzxtSpPkF9OyMdGflMnOjSmPRCUUjaThk5/GG9Hp+dSfiEENgNbFRWUN365Zq\nZOIIuMpWM/eVxhh9EcqelI6M29n9kwUskhytvZCSV8dM9QoAh3anx+83ZMln\nLlP5\r\n=3Xjy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXUgyzNQXo4ceou+djOlRlkcz6PojJtjGTW6o1ZvDUAQIhAO+gZ4BBxaZ7kL1eXcqPMCMNgdGuqZ+KiGpivXvqFnNH"}]},"maintainers":[{"name":"aminya","email":"aminyahyaabadi74@gmail.com"}],"_npmUser":{"name":"aminya","email":"aminyahyaabadi74@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/electron-link_0.6.2_1596168922216_0.9714354644628675"},"_hasShrinkwrap":false},"0.6.3":{"name":"@aminya/electron-link","version":"0.6.3","description":"Generates scripts to pass to V8's `mksnapshot` tool.","main":"lib/index.js","scripts":{"test":"mocha test/**/*.test.js --ui=tdd --require @babel/register","tdd":"electron-mocha test/**/*.test.js --ui=tdd --renderer --interactive --require @babel/register","build":"rimraf lib && babel src -d lib","prepare":"npm run build"},"author":"","license":"MIT","devDependencies":{"@babel/core":"^7.11.6","@babel/cli":"^7.11.6","@babel/plugin-transform-async-to-generator":"^7.10.4","@babel/register":"^7.11.5","dedent":"0.7.0","electron":"^6","electron-mocha":"^9.1.0","mocha":"^8.1.3","rimraf":"3.0.2","temp":"0.9.1"},"dependencies":{"acorn":"^8.0.1","ast-util-plus":"^0.7.1","encoding-down":"^6.3.0","indent-string":"^4.0.0","leveldown":"^5.6.0","levelup":"^4.4.0","recast":"^0.20.3","resolve":"^1.17.0","source-map":"^0.7.3"},"gitHead":"d916dd9c40eca6ba21a20c81d2383132ae2718c9","_id":"@aminya/electron-link@0.6.3","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-F0csI7qFLL31PY8O/AtUBX5g5zsHRzCov0Fb6stj0MKOGT+M98u82R75DNbOWdteR+MgWfCshvPVPdkEEQLmXg==","shasum":"605e3fa33a2f7cc6f0e3b2a99fda470b34784e06","tarball":"https://registry.npmjs.org/@aminya/electron-link/-/electron-link-0.6.3.tgz","fileCount":10,"unpackedSize":52588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYCU8CRA9TVsSAnZWagAA/F8P/0D6pNJme1mFhWDJny3R\ntj89DM/QDph25Vi9xYycMn+iRdhRG7G52s3scdq3BM1nxuV+B0WckG9GwBK1\n3nSu9xpNPPltZjHXbZLcOF5QcsVlsDnysppaaY5/ASFux22lx8f9FggmYbJl\nHHYO6dcF9roPILQKH59tXEtmtRC/DlDMP2GyBGYRRsh0k/MZRXI5RZfuTZOg\nVwaoaYpdYn2PChBbi/oaHBNHmzjR1SDBN/zv6NQaK/rcJBHggG3Sns66SFb3\n2+ZtxoQOurtPjRRNBWYkJo8Z9g/Zd7wFl++6NWuq/y2dhUBcvtoCQCHfO431\ndieCV74vHtv9LYRlUV4Tg6G3JgqWvKTCiXs2MsggVPwedbplqs+tT50RORqc\nBUEsDaSt7x0wKhjTiLMKZJwrzRi2Dee2OQ9+5AGRZ7KdVZIANYP0pzr1fo/J\nmNQiPjn7O0cteCFPLwjMit/FDIOf7aQbbwfXJ6uej5XEiF311pg8Z5PUDc5M\n5uvp006QE7sK3DIZFQp5SCMwUy/aBFnKkfQTcPfIqelboPONzRScyOzqjsKo\nBLU53/DfHk9Vg/Ef9zYm44s/Gzcq31DWwQ4WoE07gU0lddB339n9MIY2KRLl\nED01LhES8p2DZbZWqMh14s+VXlPUbobZEqq8vBfUOdgvbBTQJR5K6NQdmx78\n+Jtj\r\n=UdFD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDc/AfCHd+cVqPUOXYOy8tK3poUCk2vmv5SWE6HGPRD9AiApD1HonzkG6gdssGIJs4voQWxKF1k0D19QjoF5UX1E4Q=="}]},"maintainers":[{"name":"aminya","email":"aminyahyaabadi74@gmail.com"}],"_npmUser":{"name":"aminya","email":"aminyahyaabadi74@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/electron-link_0.6.3_1600136508159_0.5176322390287011"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-29T23:44:36.906Z","0.5.0":"2020-06-29T23:44:37.084Z","modified":"2022-04-04T13:49:24.894Z","0.6.0":"2020-07-06T07:46:34.106Z","0.6.1":"2020-07-31T04:07:07.902Z","0.6.2":"2020-07-31T04:15:22.427Z","0.6.3":"2020-09-15T02:21:48.341Z"},"maintainers":[{"name":"aminya","email":"aminyahyaabadi74@gmail.com"}],"description":"Generates scripts to pass to V8's `mksnapshot` tool.","license":"MIT","readme":"# electron-link\r\n\r\nelectron-link is a node module that takes a JavaScript file (typically the entry point of an application) and a list of modules that need to be required lazily (see [Atom's build scripts](https://github.com/atom/atom/blob/d9ebd7e125d5f07def1a057a0a8278d4d9d7d23a/script/lib/generate-startup-snapshot.js#L19-L65) for an example). Then, starting from that file, it traverses the entire require graph and replaces all the forbidden `require` calls in each file with a function that will be called at runtime. The output is a single script containing the code for all the modules reachable from the entry point. This file can be then supplied to `mksnapshot` to generate a snapshot blob.\r\n\r\nIt can also determine whether a module can be snapshotted or not. For instance, the following code can be snapshotted:\r\n\r\n```js\r\nconst path = require('path')\r\n\r\nmodule.exports = function () {\r\n  return path.join('a', 'b', 'c')\r\n}\r\n```\r\n\r\nAnd generates the following code:\r\n\r\n```js\r\nlet path;\r\nfunction get_path () {\r\n  return path || path = require('path');\r\n}\r\n\r\nmodule.exports = function () {\r\n  return get_path().join('a', 'b', 'c')\r\n}\r\n```\r\n\r\nYou can notice that the above code is valid because the forbidden module (i.e. `path`) is used inside a function that doesn't get called when requiring the script. On the other hand, when trying to process the following code, electron-link will throw an error because it is trying to access a forbidden module right when it gets required:\r\n\r\n```js\r\nconst path = require('path')\r\n\r\nmodule.exports = path.join('a', 'b', 'c')\r\n```\r\n\r\nBeing a tool based on static analysis, however, electron-link is unable to detect all the cases where a piece of code can't be included in a snapshot. Therefore, we recommend running the generated JavaScript file in an empty V8 context (similar to the one provided by `mksnapshot`) to catch any invalid code that might have slipped through.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install --save electron-link\r\n```\r\n\r\n## Usage\r\n\r\n```js\r\nconst electronLink = require('electron-link')\r\n\r\nconst snapshotScript = await electronLink({\r\n  baseDirPath: '/base/dir/path',\r\n  mainPath: '/base/dir/path/main.js',\r\n  cachePath: '/cache/path',\r\n  shouldExcludeModule: (modulePath) => excludedModules.has(modulePath)\r\n})\r\n\r\nconst snapshotScriptPath = '/path/to/snapshot/script.js'\r\nfs.writeFileSync(snapshotScriptPath, snapshotScript)\r\n\r\n// Verify if we will be able to use this in `mksnapshot`\r\nvm.runInNewContext(snapshotScript, undefined, {filename: snapshotScriptPath, displayErrors: true})\r\n```\r\n\r\n","readmeFilename":"README.md"}