{"_id":"if-script-core","_rev":"28-47a999ccb02f97371c2644577daefea4","name":"if-script-core","dist-tags":{"latest":"0.7.1"},"versions":{"0.2.4":{"name":"if-script-core","version":"0.2.4","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.2.4","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"d88f3094e9185099bfe09e8af3acc0d7c82f2f99","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.2.4.tgz","fileCount":21,"integrity":"sha512-ekzaaryJ/0DyXjfgFOnPMOrWioTESPhESshqqKYr/oyIFI47LLXL4c5cztcrp7bsUOGsVa0zxNx2U93qiHZL5A==","signatures":[{"sig":"MEUCIQCV+fs/Pa8NEEmCaySCT2omr7TO42YSru+19dU87PO7qgIgaYUE9KQMNi9LqZI7N1sA5bmq9CaF1nWpv0gOg0Dcfho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrfTyCRA9TVsSAnZWagAAw1cP/2CL59XT0yqDEsxYRijx\n3cyPUYm0BUe2sKl8PQJeqTHSFjfRmmk6WCFq0B0MnbjTuNSCLobmWqmwL+2K\nE/XSX2XfVQDbkUgl2fGu7QGwf6nvfkgtqSuVT7RwvszMz3KZvka9HrP2Rb2f\n9bohi7nDylboPdHzdUyK/kxdLKUJDtkt9NMqVUBYAJhqrbzIfSMYPyTX+k/9\n0v1qjZdg1aRpnQz+BDEknYighRlpPmJdQFKLtsLbnCAW3iIayVbeDhKpRNRK\njz5RK5zGaZeh1dcALU3BErQVeH8ieQOx1cUzZqEFnzy/DGd2yGTAS4GI7uxS\nkmD/3B8CwKMzNkTQJ0PToDVi2zQGrZsi3fOl+9EtrGAG9vsjwJyLj3Bwbuzq\nIraXGLiDB+yNb5o/JH0r9doOdVqp2+3Ax66Dussfvd9XeXIHcyDhEPlDjTy2\ns18X0ttHIQSJ4ckHCN3APQGTqZRY53Nnf/qx2rBO9L3TZJXk+shmCikrMLEj\nn4LpDGmeDcYCoBff07PuRw8nsTObhM2B98aQkYaev8m5jHaaAMXsnNTqYWha\nPtVPzGFQBXAWcPc6cDNleXgXL/pcgQ3KL1GK2BaheC58Aeg7eoEzWSauBNv3\n4qpx40Fkh6tYq6PvQWmEmbewHlvhsWNPNdlHnuAEBkX5EVe8ZaTJKlLLnHTl\nb9xi\r\n=wRc7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"83a51cecfebaa703ccba294cbd86351e4dae8b88","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","@babel/preset-env":"^7.14.2","clean-webpack-plugin":"^4.0.0-alpha.0","prettier-config-standard":"^4.0.0","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.2.4_1622013169576_0.10231322725999115","host":"s3://npm-registry-packages"}},"0.2.5":{"name":"if-script-core","version":"0.2.5","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.2.5","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"c1ba51ded390c8b102a3f6d608f170bcb9ea1816","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.2.5.tgz","fileCount":21,"integrity":"sha512-v0PPfXtANTB49OBNF9GyazB92KB1MfBt83JFdYB46kwITHLRlm+7EHh6Cj2KM3r7tVUcV8Ek2/d+vtIM5ugCog==","signatures":[{"sig":"MEQCIGchesuGZ3OnbtDt43Obvwi4X+/DFoEyU3ujHVGxUoVWAiAxu6DCozNVSJrgOtfbL5wYYLY/XH+H2rQzsq/c7YdzpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrfceCRA9TVsSAnZWagAAU+gP/R6r0JEfoMGocN1n6qX3\nBK3Wd6N83SpRDzMHQ8FfWp9sX1KnJEh4SBJ81/5tQPplBqFSAsOteRBZd4WB\nGj3PKyGFNmGAnT74T1wEATTNYvARhfF2PBPTwGkM8nantbg4C/EekrWR3Uzf\n2O5H38o8nFJgjOWSOU9an9A6ZE7qjWy2g8U1KfnmbW2/S9IurxaQON/W23J+\ndOSZj8e9/2qjyt1XpoxH01uCGS3Un4ljkmlPCzDW6PnLdXuK3rVGyjfbZanV\nU08kSwfwHaVnGIyIcfxGdQmyglfpBiP4wNPWRq24OdM9CvhL4J3PhI2ZKlIm\nlJ9BNHimzyjUe1x322HYgLvzadrO1ND4n8GcJfZEpySMdoX8T8Vyte8Ct8KR\nSk23CCfo9rVOGCEZGqQbXpPKfydzaW3HJ5HSywV9IxNh8ocseI/DK/hzZ1//\nPZ4GJFxynpILFFnUmZzLJc5SSUBU/TxEi0oPPVPqTeZCTz5V7rEmHUZdcA4s\n7xjf3JWr0c4ntdojDLWp5VePBMz9wQMCsKppFOLuyqRjnFTY2ARYQOe98nau\nVaZcOLnyC49heohwgR/VT4LwenWELsCQjAW0i+e21oNzPxMyOap7/80bTXyl\nt9klevSS7l92+E/JgehkfM4Vcz64AF2TDP93MVjVmuyLinB63pdtIQgiZMTL\nopMv\r\n=NMME\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"83a51cecfebaa703ccba294cbd86351e4dae8b88","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","@babel/preset-env":"^7.14.2","clean-webpack-plugin":"^4.0.0-alpha.0","prettier-config-standard":"^4.0.0","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.2.5_1622013726076_0.4249745590598002","host":"s3://npm-registry-packages"}},"0.2.6":{"name":"if-script-core","version":"0.2.6","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.2.6","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"b534de724dd93b1bf3e7d7b1ba7fb9b859f6f9db","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.2.6.tgz","fileCount":21,"integrity":"sha512-Lq6pgeYEJHx0cAWU/sor9kUjTXNyhLBIIirkdVB+WlYfTTdPM8GwmDFMSmV+LuQbRbqLbKG1P0j+LutjCkyY9g==","signatures":[{"sig":"MEQCIAs6rijEx84H+u+NjPb/+ArLRZ6y5a7eFYEzKsfqrCOgAiANYWI0l4Ma4Ypwgc7L+aBwKKo+pI/awmeCjcxAfotuKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrfjnCRA9TVsSAnZWagAALusQAIo2ejWs2Ru64VMW2agW\nLXO1L2HPsgV3LcPVbLIOtiS95TCjNgYgwxUBXw4tuNcioji+EPF5Ptl4VAPV\n2CY43WksbByTn6bvPemBO6VaBm3cGIUQPUZDfFbQj4geOd4DR5OPFmNpMAeN\naqpaGBMJ150HUzzY+ZrXk5FE7hbPdowM2LOnG/jFPTVfuKYF0pzfLpMBHE6t\nuyS9wCS29IVFGFNj47+z0bgo9XnSPY5o2SoG7qbT/E8TR91jNBC7EnuHqX68\nlvuRIm3GZnZJZJrFMDPa/t7dXWvifhVulxCLj8plGtjSMmjBwRGZtgQHXdBq\nKnAPz96LUrlvSIllIiZ4rL+Xeauz+vCW+CalDm8qpV0Gfl9pl76Dm4/ciHjv\nW4uHZBGwqvqp3OJrvWlyC0vyTgmcgRQHY/XfIgGnldNyjkt+yJjLy2hjySig\nQfz+KW+ngDgzM30s3p0I4stvoEs6rv52jRPreHvczTcw3clqId7avBkUc7dA\n9N5WkxhxBAhcPxjmJLXhpYBBrNbYOEK1RoIurJQJC4F9cGyC92eF6VXkSNLn\nYs302nmg0W4Foa8/X5u534+Sg8eObpdNJwm6Bd6gU00XQreWfDS3J1FKPXrs\nVT1lZKAJP6lTX3SVBbqNLuie6OsFRD9isUwiRGeDVa5OrnOXT4eJzABjPmfY\n957p\r\n=AMWW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"83a51cecfebaa703ccba294cbd86351e4dae8b88","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","@babel/preset-env":"^7.14.2","clean-webpack-plugin":"^4.0.0-alpha.0","prettier-config-standard":"^4.0.0","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.2.6_1622014182773_0.002195775430212654","host":"s3://npm-registry-packages"}},"0.2.7":{"name":"if-script-core","version":"0.2.7","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.2.7","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"1d1124a247b728dec713b25e84251078c524a1d2","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.2.7.tgz","fileCount":21,"integrity":"sha512-VUHLauC9P+ZEjaUx/pxkEWTrr2+OYlyJR6GhQrHFaz4Du1mrekIs7vQjZZE/07NmI7M+QIZMWLmPTCKy7LX85w==","signatures":[{"sig":"MEUCIHjd18zbsr2VUtTe1i1LzACiZK48ZqnavRH4zX8YK3MKAiEAg/JYYOfLNr4bNLm70R67ADxQ2cNG/Odx/Vp2dfMJfBI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrfsVCRA9TVsSAnZWagAA210P/igZX1gaOO0AcX0/AtwD\nwghU8+kPkF/zU5SsNKn0RsWxwHKHxwi8ol2sIC0tu5Jerx7uFt3FRjAcS0nD\nDNtzJGsuGp/uNHiPyoW7WUPxPzQA2bSuzLK2aMexg3SjPVBljhEx7LdOIUpv\nsrm4PkAh0Q9KWiR3k3C/c7Exly4r3td+OQOQhhbpqCp5TvekbYBWxHUgUbRF\nbCWgqdlBOY1d48IBToZjKqpLxdO81WYc8jAfeXGz/ahGwp4zVPX7zuHYlICX\nW2GWrXlyH5ItRdGHU2LWlfQXvaabI1QJHWtPudjhvmrpQlfaNiwVMv2IRQWx\n5P6GFunuUv84GmHBWvWC3HT/sa/ljeVNS72IQK4onDyZKUpMqOB36qrGOzk1\nT3/C2QLBE8D5mCilTcKsRMqV0PVnW7XB0V7To24yiQe2cBJ1yXxsC4JnsmNg\nxXIOn5r1ft+BfrogBJ0Wz5wEeU5hYvinBkm7zNv5TW7dmejb9Sr70rRPTFvX\nZtiBsr55chkcnXSXosYRyLTamB/GEVAwL3yCOutJNZUE6FJA2b4oWvDVXbPF\na4lwDP9YmWbpGPweYYrPocDbGR+Si9V2ApETOqTTwLTp9SsTepgNVvpekQSZ\nTArDOXld1guVg0O/AGn6URGRG8mtcbRISsiLM3tRIX7X5sseJaLUol5yJ1oe\nFgLT\r\n=Owch\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4284920b5aa40ff22bbda5f081c68e66ddd803e0","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","@babel/preset-env":"^7.14.2","clean-webpack-plugin":"^4.0.0-alpha.0","prettier-config-standard":"^4.0.0","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.2.7_1622014740691_0.5004190328918843","host":"s3://npm-registry-packages"}},"0.2.8":{"name":"if-script-core","version":"0.2.8","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.2.8","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"a0ba003cf71b77ae40f33732e1631c4d3d72e5cb","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.2.8.tgz","fileCount":21,"integrity":"sha512-iwZz4x3ojx1unPY4HLrI06wP9O2La6ekJD7SVHS9i58fnlun2U9izQolAlAniEDtLJ+JWGmGNkfI5ALTKdXq3A==","signatures":[{"sig":"MEYCIQD00dO7xAwBqxzEULAavyYn8eHjTvJFsR4J0J3nrF5MSQIhANuQlz6TJQ74woBUN7qjNRDe+PiRphtLpdfHVlvVO1uD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":256577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr2gICRA9TVsSAnZWagAAmx0P/0oMaYt6Ap/z7HfSo8Ch\nIPi5aoR+qiB74lzGvUO81hPrLZVoO9zkXx8+niQ28ybGsWGs2WwJ9mBJRlvo\nWrVhShTd3bmGEY5y0GDUsZ/vd8lonARG7l8f7tvqDHMkZsrHywXgG1X3AdQ4\nSW6ZKWNLX5pYs2WfZqdSv6remoxoaW2s5AHxn7+/B7uABC8HyQWIR5ftjxve\nBgYohkhuE1KPIj1LwYt8r372j140pSwiFx4MKFiEQo1Q5cHAsZ08H+GO8c1y\nlxlZFgtCpCpBGsO646ERcHvSM6NqSTPvyjmp72WfLnNtWyPs3L5IVgu6TBGD\nPG+alQpSUMvSuG7DKCCYWwqEKyulyJ1kB52CcmlMcGhK3PP+TETXQBdpEnbW\nu3YZLR3F9lS40uJALKm8IXEMBeh2/1/wl/FUFmfTQqgRYnH+WrmbNiqCEQIa\niysIlcfPWUTWQvyojgUwYywfA2/MjgyW8ssG3e50+RLd742X7MX1sddhNjpl\n0z0vCO8f02ZQ4vzT9tH7FESve07kKFVMDP/3bGbeYTx+idI/VhXL6ABNiCrp\n8z2u6CH7/QqiVfdQp5t0i3WymqbctLPjGE0WAhkyDzEmdTPO53HabgJ36RJN\nQWm7nzAo2YGR7ydOejZllWdBOBR8C87+6ZcgTNL2u1HLv7vPPFMRJLgsrbdM\nmWI7\r\n=iliL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"ac850fe5c76dc3bf36484e0070e47313fbd3107e","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","@babel/preset-env":"^7.14.2","clean-webpack-plugin":"^4.0.0-alpha.0","prettier-config-standard":"^4.0.0","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.2.8_1622108167898_0.02427747110401768","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"if-script-core","version":"0.5.1","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.1","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"fc8bcc2e13277573d287990ec2a0c5f7c1383f8b","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.1.tgz","fileCount":82,"integrity":"sha512-Ax5SgmX0w2gntzU+GXI7zIUzlbEKCNpZ6phc4o8GLJ/Hril4xiA3H1TS9+0g7XbPqBm5hG7uUlWskL8d9K/OVg==","signatures":[{"sig":"MEYCIQCKOCDJG+qdkVJWD8usWcOAoO+DFjhMbIUT9oYX5o1uRwIhALcq4r6Sq8krmaMrCgLQwyM/1/K/Q1TKZyak+FIbVQ5l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":782460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyxCWCRA9TVsSAnZWagAAAQ4P/R7U+oL8qwcKD/jDNMmW\nBuLnDdJPOl6lmcIky5/jt9VNpOvlZBkAXpy4glHndoXYVOp1iJ/x7vgkkA5I\nypMktxFhoSamHHbbQJ5LdxJ8teXVCuX2NQuWIUkbXHaHyiYXz8by/S5t/LGS\nXu8m0t5CTWvJWy3K78Y+csUYWM1vGMfYZo4vrTb3mUvFe/P9Fe/UPZbrkzdh\ngZaPvoRFKh4rq0OhroZhbtgfNaQfFwYwy2NMTn3QupufvwJ4wrDouuAgvjwB\n7HB+pFh05w9O4UC5iQd1AyBrmE74ekq0/LL/dN9K6nUdM7okwqhOLWhS3bAr\nSaQplCMpbEn9iyCzhFIcNubyaSG0iZaZzr6vbTQ2p7O+lLVf4La7Z6OEq6G7\nXLVzkLCqlnTHKbJdCerjcxyJ6YuHMtrtwt3PvevmrKsGe2Dv0JZdcygNEtM8\nRLkDxI1rg+cZItC2qxDCGHwlcrdjHC76TzGNYla5Y6AHDR10LS+0Hk6dS94A\nSmoPKx8Y7NG75ScdLLO9aeugA2zUIG+k13BMMbtnuC1as49q/7RmMJaLvflS\n9n+o6P7r/q1a4ngwlcmGhCB62f7oub7dwsoQesSRbdIN2U9mZEDYchd52tBo\nyUfKj9u4jh79rcOiO9eE2fvGutIrpUHON38ndHM3uxYeyQScxsqYsgL5c16z\n4qJ4\r\n=POgY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.mjs","gitHead":"4bc4dd778d6f488c1f3f163f2143fce273b68bf9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","debug":"node tmp/test.mjs","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/parsers/nearley/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/parsers/nearley/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/parsers/nearley/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.1_1623920790099_0.9589111588032566","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"if-script-core","version":"0.5.2","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.2","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"9e49c9d0c17b64198bf7afa07ed694e299df64b7","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.2.tgz","fileCount":82,"integrity":"sha512-tOlbF/E7oY7RuGpFfxz6PhzrCCv3egx8SvyXGv5rMs9HUJlKjZBBYDMs+qKaGtr60uoMTr5pf7Jiocskqf3aEQ==","signatures":[{"sig":"MEUCIBEbF7ejOb4Gb8rnK8ePPCswdaL4zGiq+fCVnDl1+CCtAiEA0mx4DL1KyEN8W/SG8PSx6mdNlC7pbYsgxI+OA2Iac8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":782307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyxaaCRA9TVsSAnZWagAAa5kQAIugwFTOitT2Y4CPB/w0\na2gNMoyWFBc49kzb2Dn/CMjAxkwTBhd9uZBQk4uEFqyf/I93Nf2/juOqySQN\nOrnCuCi7GpvqPC0kG40Aw7ibie0lMKMaOF2RTZWaSX2wegzvjykOiPnemqql\ncTo2jhTzBBCrJMGxocqH8eGd8+l6zzIo8vTAzgc8jnKrrlHhdYnqvn2lKP1J\nJpRuaBM5N6IAttPyUq95NsXPoahxNSpvq5ZkKY/F3Qgbj+weggoA+4L5mdwc\nYCLA0j96q5MyJgfUc870rQWpHBXVFJpc2m+jmd1UvAUXeRlRqmJlOZvvuKeg\nyWEt+JESeCp2JXSXUd5gLd6auAK2lAvaW9klzk6RYglYBfJOuOSDc+Hei1LT\nTE46AEYKeWIveC6D8moCzbW1tVD4d4K+NLhrSaT/25wi3F9FxZA4bFiUEnMz\nbpDnGGGCOY2uuE4ffjvDpvWJxxS2VXanFKBMYAIScZ9aU9WnNuS93gejyjq5\np919WWvoqGTFF0y2MHMrpANsOQuevMvp9V0wotvTzxukSbLiGBiFbbJr1jQQ\nQj/7XXjyniNOOhxchI2js7VFQFTxGd5Eu8pGOfs0uiXFB18dY4l50BSvz5bl\nY3A8c7JSYnwTqiiY+5SqOle9fkcNVWJXq6VcFnGmSvaAdAkJzMdfQCuOtGrm\nae7v\r\n=ZuYv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.mjs","gitHead":"4bc4dd778d6f488c1f3f163f2143fce273b68bf9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","debug":"node tmp/test.mjs","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/parsers/nearley/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/parsers/nearley/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/parsers/nearley/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.2_1623922329517_0.1660984652309403","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"if-script-core","version":"0.5.3","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.3","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"6036c67cfb7e65f1b235bbc528c8973822951ef2","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.3.tgz","fileCount":82,"integrity":"sha512-HHuQuA2XA+rcPtuOe/rmrmOhr35RohjCLTpWZGk0R0kNlKIHK/arwU0e8TDilgVPiIN7NiczVuzST6Mhp1hM3Q==","signatures":[{"sig":"MEUCIQCngFPBltw1FuQpIp9/yEygPTfDITWNy7xValORFoLCVgIge2Ys9WlvrnA5VPoVpmANRV9QkzMmTT8B64L0cLYpvJs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":782310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyxcvCRA9TVsSAnZWagAA+a8P/iK3tK9gM1C3MB918GDW\n7zeDyWV/dXuvCREwXMDhXCcqgXn0YDOJ4SielPHETCAgMBd853VK1tLk1JJF\nl1LsGaxbHjUqpLQzyDDIlodfRYEtXl+EYH+3vpHGzvSQ1nrKLmqvfmDGvBq3\nPq8wrFMknJHud7H5knZxT+O8wagVKgAIyZUKYB1JM8O4Z1fzCOJDdFGxrqNq\nhV4pAedpBMbtfWpaiNRstLIaaUUsSVWlP6/vf6UNx7Be9EYjqElDFZ+dh0VN\nwNX7bKwQ8tqQGzCBmeSwViK0SZKUBiGYWfeFxuZHNhu8LIow0v6Fgl0/4qrN\nYGqxui5ZrobjeacMrRGj9u5TOGOyHdeNIzqAv68QkkeptAe7zSnamlxa3hvm\nD1qe8QaaZozWL+hU01JX8n8IW4pu+vXF8sVvV/znFOj5YUaCGHI0CU4T4bHO\nDraa4seRARjkfo2blgPH8Y+YFdyBhEXSM7eCb2TmioQVMjOAZHKzcc7TyE45\nBKf9wieAYbEDbjLC6FTJNbts5p/eIG3NpDW4jcLoIuj8gagydN4TksZw2OSW\nrCzXXQNDXbgCtP/Qcr0JUVZFZzyMqJTzOx+wODRrZkX0yAxB1h+mJiWZ4aCy\nKUhQMpmsUCd9RMZd6nQUJS0wOiNSbtgaDUW3I5Vlt7/E4YJhnWtg3GwNREZQ\ni9vq\r\n=9mlC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.mjs","gitHead":"4bc4dd778d6f488c1f3f163f2143fce273b68bf9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","debug":"node tmp/test.mjs","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/parsers/nearley/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/parsers/nearley/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/parsers/nearley/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.3_1623922479266_0.5325554408690119","host":"s3://npm-registry-packages"}},"0.5.4":{"name":"if-script-core","version":"0.5.4","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.4","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"8c5845af00f7a407e8f001505468b0504004cd9b","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.4.tgz","fileCount":84,"integrity":"sha512-1l4hRlR0KObBFncRKocTKFA/J5lpNPoZlyKBMID4If/Jlvzo2B7oYYA+Y5wDc7muSYHGP7k5uEff013/tJbUIg==","signatures":[{"sig":"MEYCIQChnhewC7UpCow0KLEJWvIjiVBgILut1M0z0BCIuvjx1QIhAJX+2b/YcZ4Se6HLBN1Vtb2riZ7zqX5wwpOH+QNlmB2Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":785244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyxdWCRA9TVsSAnZWagAARYwP/ilBsxljWGUORnoLZhY8\nP//kqV1FpAmIqGEUoxcYMPPO2cEVCUaRCLvNbcZwWUX3iXA3iHCOhlDui6K8\nO6jbQ3aYa76jZhXmqYCYS18YHElvEUNPZagZKWAh3tqydz9XQgom+zcmUU4O\n2WDr+8KdGrjTfoDeRcUn5H2AJnsBx0KLWmSXpSkOXn89BPFhf3jfZJHd5IC6\ncQW6vE7CWVkQ+q9qqg01N9hd7NyNP2odwR83X/sdP23hjdsdyvTX+lrCHd04\nOfuyqnTh1Uny9fbaTB1aQk07CJMjuPa6BzmsYwYUwKN8UnWTmWlo74NBHOuD\n8YWmwgMRsgsxRc8igWGjYADFU83x1A8DE7PygsZiXnzkbaYsgQOMtyqS3lWC\nRTWksv+Eoq2i73grYNn9KNLaAtSMvd9LprJ0wHzdkyhG4lW/stTFtIOk/xOK\ndbcrephpXS4uTVrcmfHGkYPtCHV8axcRcwsMUJeB+K3LGlsm95bic9uAWUNd\nOI8H1klOnEgAN8mNLy8KlahtW+HYfQPvq1Qp6PIs/tfkhTY3G3nG9BqpXAp7\n+Nrs0woTmLTA1AcNVpY5GFWRtADnHqFYjV6MYE0+F81meWK4dhOU5JxpwJT6\nRYSDBN3XW9giQgM631SFW9fdB+njNFJHBaRNySbj/F5VgkMjVrQKsJwFAcMN\n3+CV\r\n=aIsc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.mjs","gitHead":"4bc4dd778d6f488c1f3f163f2143fce273b68bf9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","debug":"node tmp/test.mjs","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/parsers/nearley/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/parsers/nearley/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/parsers/nearley/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.4_1623922517798_0.11045024751645083","host":"s3://npm-registry-packages"}},"0.5.5":{"name":"if-script-core","version":"0.5.5","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.5","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"c9b7a7e71a98575c4bafd18db2b941af908d0cda","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.5.tgz","fileCount":84,"integrity":"sha512-Z7CB2j8m/e/N50qdJGe9EBOQgiiI1BvwzlV1TlurQ9q/3+3sCq58FzxS1VY1lAsgCDXDHbzav33qKkRlaeV+bg==","signatures":[{"sig":"MEQCIEhbeQtOjdj7JI8zlBovsVWV48S3L1r4vOyc3WD1sVs/AiBGudQ7SmXQt+7kBH/nf1iKzoFZWGZTz5BXjCimSBbr8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":785496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyx76CRA9TVsSAnZWagAAkBoQAJdxvM/Z/i1i4KY7Mn+1\ndTTMUaIR5SGPL33aYsutCkfyREu9zQYSa3V1oWMMQ8I3BDfO3XclueWFaaji\nG0mNkBpZ1FsG4M+X/WYeSSot/4BG7gUx9/UDWuj3ykx1PDMv7ObOoORz73kA\nmiCmVesy/k926RVYZCLSMbkZiCkEjXVUGtPLrG47UdI/L4DFh04wV30RTkWg\nVc3Th0KF1sllYyfFG3ptOKW423LIUiO0YElW5GuRI/Ph6pOGRnppO0jfo4JU\n3eoPUvH/OCNJi5BZ26jJTyuBTkI+YnrsB3/PCbkpgRrKflfFzOQJJxyQhMss\ntdco8HvsQ6RudQ9Cms24ZFuV0VI/tL4qc9I8PidiJCEaplSY5xkGyeedzEPR\ngTJ80lyKEFtKzjNCsRmgAiPuZIT76INbtP3wJ2HahgrRaffO087aiiZi0JoV\nPCtQPeNoMM2IxZjv6rN5n+90rBGPlSoZwsED9ZMYE5Ij8fuhCSA2aKm639vy\nG3EMsdfTf9Wj2P1UFuhB5Gu9xe55/XBQ0nce5q4tJG4vPHHpvTX0of6JudKY\nfPVpes/k8/+/n/U4UNhNt0XaLLOHGsKZumLlMXgpsdOIigs7aEjuUnvWh+PR\nbfQ2mHXYTtxUWDxH4T1pkLvXKpPu22Kbz4BjYbl+j4izbx8BVXzKAqgNX5lJ\nHq/k\r\n=zFzL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4bc4dd778d6f488c1f3f163f2143fce273b68bf9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","debug":"node tmp/test.mjs","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/parsers/nearley/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/parsers/nearley/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/parsers/nearley/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.5_1623924474085_0.7164964331696844","host":"s3://npm-registry-packages"}},"0.5.6":{"name":"if-script-core","version":"0.5.6","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.6","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"45c22eb749d8cf7ccc276a8642fbd9a743857a65","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.6.tgz","fileCount":84,"integrity":"sha512-LrPbICG0+lmlXZq2Xky5vMIFZ1aezDYvb+sPlUxTFrbHVuahP6qwFY4hbJanHAzq5DKePgB+DOLGDJnwfQRMLA==","signatures":[{"sig":"MEUCIBextnKikr+1hfFBExkdtx+hqa19feKtjfuRS6R3sYuOAiEAyupBp4dhQnuYtw+DcxhFwfBwvsGMgYMBDRiEhAL5qU4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":785503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyyHPCRA9TVsSAnZWagAANOgP/3RVQx+CNCoGVzP2+3dZ\nYnaX6Fz8b8h1LqnBRIA8QP44LJnJ+lFRlguOw76rb91FHTZ3Dcb0T5CjsDHI\nNUgz/zHEGvOvgvjupOJuAQdF+rEITRJoUwJyxzuU00Vyebu4GsbqGIfRbIvm\nxc1o/zh6Y4yio9vHFxBu7sZw36atGhkI6U1M6N+RzDnzUdAGMj+hJ2tS0uGN\nblX4C4wDOKqe23qLuE4yn2EKfy4Q1RB2zjX2q8u78XL+3hQyIQvDVai7MHVE\ncpErD3y9fCq1HNdnz68u/1iRhOfegriqB47FumrmshSJdYhn4UXiiD2zynWW\njg/vkzbiLsgJiU/cxy0DlOJJ3ipLnYgQw5IWEz+O0ib66ZHInhhCmLBDZx+1\nk2Busl6NEUwx4e8WYIgGYbKfgUI+m+s3w3mgemKZObZTW6LGx2r605vd49QM\nR3HPqUMh+XxX2s+Dq4RWPexC3TjE3X8BYkuJbOhc4EAxcz035XgC4Hydi4mQ\nX2/Nxh1w4ae3eJe/2vhR3YU137EPR+7IrpEQz/hfAwoBB3bcruYUwnRbq0o/\new2YjbgkvgEZYKfX1Kk70xwtDGujTIOvi+sSHOywPW7cwkCVvIc3b+TX7RAe\nU7V+eEmjGJlKzoJOWg4SaeTla+Eofh1vM/38hHJGxTND9ttPCwcyPhC7JS+q\nTFM7\r\n=EQvt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4bc4dd778d6f488c1f3f163f2143fce273b68bf9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","debug":"node tmp/test.mjs","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/parsers/nearley/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/parsers/nearley/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/parsers/nearley/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.6_1623925198381_0.8983882149375246","host":"s3://npm-registry-packages"}},"0.5.7":{"name":"if-script-core","version":"0.5.7","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.7","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"dist":{"shasum":"5039856e764fc6607128349750490d535e5eb16d","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.7.tgz","fileCount":84,"integrity":"sha512-m52hIIQOI7dNIQm2HujGblCg/olENHw4qi5mjLA585BebLaS2RGZ1C77Dmvl9QptmepffLhaMQI7Y90CjggT2w==","signatures":[{"sig":"MEQCICNzyMcmsZ/pGG/Rdkbd6Kczc8phat5nE3E38UsDkyt6AiA5oNz6qyDHV+umriBBQu+jKQIyVXyG3bT11f/ImxvbDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":862250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyyesCRA9TVsSAnZWagAAIP4P/jp6mKmRsNRLeG3lIG+W\n9Y+NaxNKJEOmZGcI/LkYPUwQDYvEVT9augY+ARfIo4Ohql61EBHsV8PgdiM8\nmks/sorMItsaVv1nTFU1ZAoR57nZ3fP6I0rOyOucZe3zP03Tsd3wmrAjHDIX\na6zaeGqfujnLIFRKOACVs5dJVLhnFTiVd54XjFGyyiOEOVIiN/hYeq9eTTaW\newaoUbA0Bhx/CmVJqYHcTT0b5CWRarNNrnCmsrzlCaA2qBmWaXClKbOstXH3\nq6cEkbHEEzpgHjCEjXkcHOy5t+R8uQKJfWjUSEn05cF8BcXr2AP8nYwEGRg6\nYOhimOZWhg99oRqZDhDC2+APQh3SVpVWupoG/obAxOGeESO33TO2fZlgy13P\nPdizSp43cwDdYlqvhlPtrqKpnLwyGG+dkPPl+GGgI6Gaj9Wx5IM8LCN1Tdlr\nspoc1XWdq4styXjXpyp0K6snycOcnOkibs9+WD/ZMAjXB32j3vt8vYlDL9TX\n9L2/8NmqTVfUjZBiZ0/5EtBPQEm66gyI6CbUDYr0psx97wDu7vi++1HtQvJf\nn1/ATnrXm5Zb6kirFK/sC6pQwC4H4qwKNQQ+FZZDtScx0DdE6DRxHeYHHovT\nvSkXv5xKQX3xWHVM4FVWfVtGB+Cpl7syqvnGD6jwGj/fPRFGZFTWbpMDVYb5\nL66v\r\n=DjID\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4bc4dd778d6f488c1f3f163f2143fce273b68bf9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","debug":"node tmp/test.mjs","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","compile":"npm run compile:section npm run compile:scene && npm run compile:settings","compile:scene":"nearleyc src/parsers/nearley/grammar/scene.ne -o dist/grammar/scene.grammar.js","compile:section":"nearleyc src/parsers/nearley/grammar/section.ne -o dist/grammar/section.grammar.js","compile:settings":"nearleyc src/parsers/nearley/grammar/settings.ne -o dist/grammar/settings.grammar.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"6.14.8","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"12.19.0","dependencies":{"nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.7_1623926700321_0.059211378949300064","host":"s3://npm-registry-packages"}},"0.5.8":{"name":"if-script-core","version":"0.5.8","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.8","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"18bde37644f67f719229f713a82905e5256824d9","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.8.tgz","fileCount":100,"integrity":"sha512-SBgMmKOktl0HqtBZEm32qJNL8dADiVoCdg0gnETMWW4q5VX009xvZNoVIbXDOf6ud4F+/Z0Qhyl1qMjz56XLjA==","signatures":[{"sig":"MEUCIBs2p+8pfx+k8lclld79zT1ZJcMnRBVwzfubiAsIizmOAiEA1ltNuGbd6PDOHleYaotCfVKMyrTWWoB/JChgQzhdXV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824134},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.8_1633348277233_0.44792739020078853","host":"s3://npm-registry-packages"}},"0.5.9":{"name":"if-script-core","version":"0.5.9","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.9","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"c16566eccd5c98b7f3fafaa141b84a6bb8a7647f","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.9.tgz","fileCount":100,"integrity":"sha512-9ZrXpdYxTGDxg2NzlUSh5eiLxW2T6l8hy1XKhN0HCPmASBCvPNqOgRzUaA+Lv3d7ZFfr6YqC6dW8TGzTbwZ/HA==","signatures":[{"sig":"MEUCIAnLDG8iamZD8ks/sQn1OQIQtV6rkYKMI5a0N6hwTmQOAiEAmGRk6PiWXadylYTJ1tiN3Fj8FVUILIyCCZqUk/18NyY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":824198},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.9_1633372886592_0.6823437262547223","host":"s3://npm-registry-packages"}},"0.5.10":{"name":"if-script-core","version":"0.5.10","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.10","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"2f946f8607471caf9209adbf91b435df81c1c939","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.10.tgz","fileCount":100,"integrity":"sha512-Ei9Ha5mmVJDlt/iRTwyp3O3d4a9SP0u8bW+g7o6MnJ1OqAlpu0wRaZ+Y3FfgjpDIcdy0cmZgg9XUx0CniQIzvg==","signatures":[{"sig":"MEYCIQDtTty77CX17u0SiZa47WzI8PXc5Fym+Ftih1gZA2BIuwIhAN/LnAOMOO+w1GunVCZa2Y6YLnMcLWgreu6Jm6rpw2yq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":825562},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.10_1633375964434_0.3882269311570181","host":"s3://npm-registry-packages"}},"0.5.11":{"name":"if-script-core","version":"0.5.11","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.11","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"a58d400d157a8c3fe5c7773ea69dde235e0b9a19","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.11.tgz","fileCount":100,"integrity":"sha512-gJBcSgFEk5b7yluvYKRYT72WdDAsAwyH4NzdMjtCf0BJ/6MuHIavGoTH01kSBjLSWFIcjAbff5IeTYdF/IIJZQ==","signatures":[{"sig":"MEYCIQCeAW816vudRsj/+YBUsb5+wB4JEMsKrdI7sVKfUC3QawIhAK69cYVYP8vBGPagvdyXdsro3gBAveIVSv/kxpPnSfHp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":825508},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.11_1633376210501_0.1636797136020265","host":"s3://npm-registry-packages"}},"0.5.12":{"name":"if-script-core","version":"0.5.12","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.12","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"3c6fbf37a60ba96fa32126eedb178368e0197bc5","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.12.tgz","fileCount":100,"integrity":"sha512-CYUfNedIe3HMSu29yzMzcb6UsUxb2jxH35sDwIK/nScXrLRPultAt7OxDOLo9YdFJVOU14GvANlL3zvEN/OUEQ==","signatures":[{"sig":"MEYCIQCiacCSreb2K8MDQ/zGiyH085fYblPHVdcbCV7KdqbdqQIhAOqGd3QrO/sNEBqTGEugNxguzST/D0TP0u6SuTFn3Oqx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":825556},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.12_1633376454828_0.45507006637934344","host":"s3://npm-registry-packages"}},"0.5.13":{"name":"if-script-core","version":"0.5.13","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.13","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"bae7b0de84e0e3a00ff9fd5a40553f2a8d75ceec","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.13.tgz","fileCount":100,"integrity":"sha512-Gr6I7JKmcGojnLh+v6R0Vnzq1Nn456IKDMXged1dqlfUe375zoKH68DYEru5cRBpRicF9uKyueYhAzx+1almlQ==","signatures":[{"sig":"MEQCIC7lZdAYS/zxij0KyX6aACd2aWF1/Kb9J4sll9sCPLrOAiBaYLgyXxABTzeGX1HExRvrfCK00IvazaaBClEdP1IrzQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":825562},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.13_1633376577027_0.6025449619802297","host":"s3://npm-registry-packages"}},"0.5.14":{"name":"if-script-core","version":"0.5.14","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.14","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"6b2db085e87a50194f4f3cd3d9b608308125815c","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.14.tgz","fileCount":100,"integrity":"sha512-2sbJC5KVB0uwsfa5ZKNEEvldaQZueSYOhMh67BFt9vuQ3JdqwtV3MLy46sqngAtylb3yy31yWGv9duCsDyELPg==","signatures":[{"sig":"MEQCICvBxwJcknu1xF2cdEugi5FNxQJdGnL97n81S8RQJidDAiAvmTBHFgewRy7UU+K00nIcDqVL2IGepQAJWojdfVTw5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":825914},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.14_1633529346971_0.3944630858093472","host":"s3://npm-registry-packages"}},"0.5.15":{"name":"if-script-core","version":"0.5.15","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.15","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"4556d13516e8578b6d6d4fc6ae186023ddb43ad4","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.15.tgz","fileCount":100,"integrity":"sha512-iLi1o2+0esw5v+EzaQgEAPo1cpY3qJ5fNNcmB59TvwVRsajveBhm3D0I81HCuxyunl579gNXRLNEE4m1ML4cnA==","signatures":[{"sig":"MEQCIBlsLUrv1F/it0ZMtgOP7uS0QkwO0Nwefjvf/Efe4XkLAiBEC5o8bt76fixC4x72vCuQKhXLTN1JR25kWkrKOsUj8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":826139},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.15_1633531896237_0.16622484345896082","host":"s3://npm-registry-packages"}},"0.5.16":{"name":"if-script-core","version":"0.5.16","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.16","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"329de56d59389a03eb3a8d28e2b2e2ca264004bd","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.16.tgz","fileCount":100,"integrity":"sha512-6kFpiBHxRhAa9sy+/4ILwdB1Xn6I9+OlwlmURwMUnlZ/Oj1YtgobfE4ezW4OO/mG4azmTv+/jzWG0HBwVy70vw==","signatures":[{"sig":"MEYCIQD0x2oqAAG+k1FYRk13m8f9m/Nh0r/sn7sumHrx6NG94AIhANh21VGgqU7Bn+eP19NRD5Dx/KkOC4NRPuRzEgiesq5q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":826309},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.16_1633532618934_0.17182412145329162","host":"s3://npm-registry-packages"}},"0.5.17":{"name":"if-script-core","version":"0.5.17","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.17","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"4071565d135396c360060dea0b1aa123efd5dedf","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.17.tgz","fileCount":100,"integrity":"sha512-0yT9idjiewd52tT4Jnwdf8cjSq2QevSLl60vx34hK9lMstSx97uAOtiyxebQ7lx3/ys1XHzUibcs0/9Sqez7BQ==","signatures":[{"sig":"MEUCIQCzaayi5FGXVrhi5DsKNaExDGJZxanhQrQskClLvr3AqwIgELorV7rArOzt9F+VEhKkZZjEXoFmbr3jSsbWSeHGj3k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":826277},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.17_1633537543119_0.8581686077681718","host":"s3://npm-registry-packages"}},"0.5.18":{"name":"if-script-core","version":"0.5.18","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.18","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"acde545bc20bee270b3878de356ce8006596bb04","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.18.tgz","fileCount":102,"integrity":"sha512-H4zCYu/sJuZ4lGkbC3rgNZSJ4fr45IM1Jjqg0Crfhm4bW9EYn+jPO8QEJtcdU5U/EZMt87T41v9GnLua9r4IeA==","signatures":[{"sig":"MEQCIFpCMyYqsU49rPGeK54MYBxZu3x5al0UJ2NtLv0Quw+0AiBQn3HFJO/pteQgntqOnbvu4j89U/i43tq1h9tRAbWOmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":834305},"main":"index.mjs","gitHead":"9b3cbf2e0334b2501ee5be2af370e03b7f672ab9","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.18_1633810499761_0.8596152563831061","host":"s3://npm-registry-packages"}},"0.5.19":{"name":"if-script-core","version":"0.5.19","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.5.19","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"601099c5704463ba3b23916dc29a13b536e90488","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.5.19.tgz","fileCount":102,"integrity":"sha512-z6Zn7n10SXZyrUaBeidzlLsax1IW+l/wzV4hA/trhioAt140wWaI74j4veJIP5b/yHB8/8Oje5gnUVPyYU6kag==","signatures":[{"sig":"MEUCIQCdDF0GhuDagRpGuaTDdlkzBtrKO5th7e0QEm1tjNNXBQIgTfinoHH9xakAosXJ2MJFVX6U7p/8O7uqFpBRIe9F86o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":834526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2uFvCRA9TVsSAnZWagAAfcwP/ifwAXRDxt5mzLW4ur9U\nrGJhHez/ZVZgDU72Ig0oM0qQ61stbPr4a/6mJA1eVFiweF82HehjLPlukY9z\nMtvbyVuK8BAU1FlOY7spTUgtV9cE9mm17Gvk6HsckbcSlO+tnl+HXmX1ClO7\nhfyeqolXW4VyFz8+yUaG1WpgDkeyqpBjb/ti78M0siL3XPHnTEljMDXG3A9t\nk9t0OR3z3iNocHv16tjMND6aN6anZKF+Yta1bZOc09jiFaJy1kbsOvb+h6Kn\nzNpYI8m5JvpaU6M6tlTdUwDBAPFQt4SfZtpdEFFkwI1FWjh8ZRwn7kU9ymoj\nVlKDN0dvREMQahjxfQS5a0bw1AYOPPdcrm2DdWoLaPHFpCwF2sRVNfFiQfQI\n5nsJ+9mr/BzS/VfIC6CJ7xpBVeW6ech2ohoHPD67W5F09zL3w+NsUIZC6EA6\n3qQalsOL9t/+f80WF0uE/T2Evvwme+NzMNpKdesuCjWVgdx2FZqbbv3phieg\nl2xBgM+G/NlKhGkwo9xc/M0cFJ/Jc3NtSomcpibehyRpQgxfpC6dZpfDKswa\nU25oIGmcKz6c0t/NBjTOok6iG1gvHHM5j4MI27clTkstQVBRcOxFC/5dt81o\nZiYHsnZlXmQ6JbY6aLO0cSe+Vuph3pEibcmvIwNQ5uFSvwMIc4ycofNY3sje\njYdn\r\n=V1VC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.mjs","gitHead":"ffb38c52ff2fc58b281b4c308afaa92126ad168c","scripts":{"fix":"standard --fix","test":"standard","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:parse":"node test/parse.mjs","test:compile":"node test/compile.mjs","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"7.18.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.4.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","nearley":"^2.20.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.5.19_1633973393222_0.30404632593476877","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"if-script-core","version":"0.6.1","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"url":"PlytonRexus","name":"Mihir Jichkar"},"license":"MIT","_id":"if-script-core@0.6.1","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"homepage":"https://github.com/PlytonRexus/if-script-core#readme","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"bin":{"ifs":"bin/index.mjs"},"dist":{"shasum":"13941bb4e97b23d085e8f4cda9f9b0a5e0e8bc9a","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.6.1.tgz","fileCount":91,"integrity":"sha512-jlTvyEdzMAIpKvcoP3IwfouLAAt6wWXhq7wselt317lg0PFaTHfUhSZFaNAeYthdB9GJ60gMpH2cY71JhhkxTg==","signatures":[{"sig":"MEYCIQDfC57yuS2HJPycwkp4BL8IXXSm80S1s6MiAHt3D7Nr3QIhAPiP4DV2Jv4sM1hl5f82H41J5IwaRD4VhOv/qCwearTg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333780},"main":"index.mjs","gitHead":"7ff279ac0a0e2ddf01771884ca5db54279a84315","scripts":{"fix":"npx standard --fix","lint":"npx standard","test":"node test/runners/run-all-tests.mjs","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","test:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:save":"npm run test:runtime:save","test:check":"npm run test:cli:check","test:parse":"npm run test:harness:parse","test:import":"npm run test:integration:import","test:compile":"npm run test:harness:compile","test:builtins":"npm run test:core:builtins","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js","test:cli:check":"node test/suites/cli/check.test.mjs","test:core:edge":"node test/suites/core/edge-cases.test.mjs","test:interpret":"npm run test:harness:interpret","test:runtime:v2":"node test/suites/runtime/runtime-v2.test.mjs","test:cli:compile":"node test/suites/cli/compile.test.mjs","test:core:errors":"node test/suites/core/error-messages.test.mjs","test:core:safety":"node test/suites/core/safety-limits.test.mjs","test:core:turing":"node test/suites/core/turing.test.mjs","story:thrones:map":"node test/harness/story-tools/build-thrones-branch-map.mjs","test:runtime:save":"node test/suites/runtime/save-resume.test.mjs","test:core:builtins":"node test/suites/core/builtins.test.mjs","test:harness:parse":"node test/harness/web/parse.mjs","test:runtime:audio":"node test/suites/runtime/audio-adapter.test.mjs","test:story:thrones":"node test/harness/story-tools/validate-thrones-graph.mjs","build:pages:thrones":"node scripts/build-thrones-pages.mjs","test:core:regression":"node test/suites/core/regression.test.mjs","test:harness:compile":"node test/harness/web/compile.mjs","publish:pages:thrones":"node scripts/publish-thrones-gh-pages-branch.mjs","test:core:performance":"node test/suites/core/performance.test.mjs","story:thrones:scaffold":"node test/harness/story-tools/generate-thrones-scaffold.mjs","test:harness:interpret":"node test/harness/web/interpret.mjs","test:integration:import":"node test/suites/integration/import.test.mjs","build:pages:thrones:kindle":"node scripts/build-thrones-kindle-pages.mjs"},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage","fetch","HTMLElement","CustomEvent","customElements","Audio"]},"repository":{"url":"git+https://github.com/PlytonRexus/if-script-core.git","type":"git"},"_npmVersion":"8.15.0","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","directories":{},"_nodeVersion":"16.17.0","dependencies":{"fs":"^0.0.1-security","yargs":"^17.2.1","showdown":"^1.9.1"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.37.1","prettier":"^2.4.1","standard":"^16.0.3","cross-env":"*","css-loader":"^5.2.6","@babel/core":"^7.14.3","webpack-cli":"^4.7.0","babel-loader":"^8.2.2","style-loader":"^2.0.0","webpack-merge":"^5.8.0","path-browserify":"^1.0.1","@babel/preset-env":"^7.14.2","webpack-dev-server":"^3.11.2","copy-webpack-plugin":"^9.0.1","html-webpack-plugin":"^5.3.1","clean-webpack-plugin":"^4.0.0-alpha.0","mini-css-extract-plugin":"^1.6.0","prettier-config-standard":"^4.0.0","css-minimizer-webpack-plugin":"^3.0.1","@babel/plugin-proposal-class-properties":"^7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/if-script-core_0.6.1_1772194691348_0.0175360099076336","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"if-script-core","version":"0.7.1","description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","bin":{"ifs":"bin/index.mjs"},"main":"index.mjs","browser":{"./src/parsers/custom/loader/NodeFileAdapter.mjs":"./src/parsers/custom/loader/BrowserFileAdapter.mjs"},"scripts":{"lint":"npx standard","test":"node test/runners/run-all-tests.mjs","test:pkg":"cross-env NODE_ENV=development webpack serve --config config/webpack.pkg.js","test:core:turing":"node test/suites/core/turing.test.mjs","test:core:safety":"node test/suites/core/safety-limits.test.mjs","test:core:regression":"node test/suites/core/regression.test.mjs","test:core:edge":"node test/suites/core/edge-cases.test.mjs","test:core:performance":"node test/suites/core/performance.test.mjs","test:core:errors":"node test/suites/core/error-messages.test.mjs","test:core:builtins":"node test/suites/core/builtins.test.mjs","test:runtime:v2":"node test/suites/runtime/runtime-v2.test.mjs","test:runtime:save":"node test/suites/runtime/save-resume.test.mjs","test:runtime:audio":"node test/suites/runtime/audio-adapter.test.mjs","test:cli:check":"node test/suites/cli/check.test.mjs","test:cli:compile":"node test/suites/cli/compile.test.mjs","test:integration:import":"node test/suites/integration/import.test.mjs","test:harness:parse":"node test/harness/web/parse.mjs","test:harness:compile":"node test/harness/web/compile.mjs","test:harness:interpret":"node test/harness/web/interpret.mjs","test:interpret":"npm run test:harness:interpret","test:compile":"npm run test:harness:compile","test:parse":"npm run test:harness:parse","test:import":"npm run test:integration:import","test:check":"npm run test:cli:check","test:save":"npm run test:runtime:save","test:builtins":"npm run test:core:builtins","build":"cross-env NODE_ENV=production webpack --config config/webpack.config.js","fix":"npx standard --fix","start":"cross-env NODE_ENV=development webpack serve --config config/webpack.dev.js","start:compiled":"cross-env NODE_ENV=development webpack serve --config config/webpack.compiled.js","build:pages:thrones":"node scripts/build-thrones-pages.mjs","build:pages:thrones:kindle":"node scripts/build-thrones-kindle-pages.mjs","publish:pages:thrones":"node scripts/publish-thrones-gh-pages-branch.mjs","story:thrones:scaffold":"node test/harness/story-tools/generate-thrones-scaffold.mjs","story:thrones:map":"node test/harness/story-tools/build-thrones-branch-map.mjs","test:story:thrones":"node test/harness/story-tools/validate-thrones-graph.mjs"},"repository":{"type":"git","url":"git+https://github.com/PlytonRexus/if-script-core.git"},"keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"author":{"name":"Mihir Jichkar","url":"PlytonRexus"},"license":"MIT","bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"homepage":"https://github.com/PlytonRexus/if-script-core#readme","dependencies":{"fs":"^0.0.1-security","showdown":"^1.9.1","yargs":"^17.2.1"},"devDependencies":{"@babel/core":"^7.14.3","@babel/plugin-proposal-class-properties":"^7.13.0","@babel/preset-env":"^7.14.2","babel-loader":"^8.2.2","clean-webpack-plugin":"^4.0.0-alpha.0","copy-webpack-plugin":"^9.0.1","cross-env":"*","css-loader":"^5.2.6","css-minimizer-webpack-plugin":"^3.0.1","html-webpack-plugin":"^5.3.1","mini-css-extract-plugin":"^1.6.0","path-browserify":"^1.0.1","prettier":"^2.4.1","prettier-config-standard":"^4.0.0","standard":"^16.0.3","style-loader":"^2.0.0","webpack":"^5.37.1","webpack-cli":"^4.7.0","webpack-dev-server":"^3.11.2","webpack-merge":"^5.8.0"},"standard":{"ignore":["src/web/assets/**","src/web/js/lib/**","dist/**"],"globals":["localStorage","fetch","HTMLElement","CustomEvent","customElements","Audio"]},"_id":"if-script-core@0.7.1","gitHead":"2fea05a0e823609e683471217a40770df71c7fbb","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-4Tv9XRJ+HojlOveVQT7cdTSHgjT8uTUQkgIevOdTrZcyoiEfl+k63lyNSGoGl0FnqxaOu9aCTiXhWsOogsJ+aw==","shasum":"86ef0f74d809452ef8aa697abf0d92c8bb0d1c36","tarball":"https://registry.npmjs.org/if-script-core/-/if-script-core-0.7.1.tgz","fileCount":95,"unpackedSize":405306,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHJzCsGAv3P8OuZrnEBjvD3DqVAYG60C4N+vMxVtIUh8AiAZVrIYAzxpj/tvbVemOnAB5gLNZvRL4qCdi5DzrwZgFQ=="}]},"_npmUser":{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"},"directories":{},"maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/if-script-core_0.7.1_1773834266063_0.8672578143870346"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-26T07:12:49.575Z","modified":"2026-03-18T11:44:26.375Z","0.2.4":"2021-05-26T07:12:49.805Z","0.2.5":"2021-05-26T07:22:06.234Z","0.2.6":"2021-05-26T07:29:42.945Z","0.2.7":"2021-05-26T07:39:00.899Z","0.2.8":"2021-05-27T09:36:08.059Z","0.5.1":"2021-06-17T09:06:30.285Z","0.5.2":"2021-06-17T09:32:09.759Z","0.5.3":"2021-06-17T09:34:39.466Z","0.5.4":"2021-06-17T09:35:18.006Z","0.5.5":"2021-06-17T10:07:54.260Z","0.5.6":"2021-06-17T10:19:58.607Z","0.5.7":"2021-06-17T10:45:00.634Z","0.5.8":"2021-10-04T11:51:17.535Z","0.5.9":"2021-10-04T18:41:26.788Z","0.5.10":"2021-10-04T19:32:44.732Z","0.5.11":"2021-10-04T19:36:50.701Z","0.5.12":"2021-10-04T19:40:55.032Z","0.5.13":"2021-10-04T19:42:57.344Z","0.5.14":"2021-10-06T14:09:07.236Z","0.5.15":"2021-10-06T14:51:36.409Z","0.5.16":"2021-10-06T15:03:39.141Z","0.5.17":"2021-10-06T16:25:43.312Z","0.5.18":"2021-10-09T20:14:59.974Z","0.5.19":"2021-10-11T17:29:53.422Z","0.6.1":"2026-02-27T12:18:11.494Z","0.7.1":"2026-03-18T11:44:26.237Z"},"bugs":{"url":"https://github.com/PlytonRexus/if-script-core/issues"},"author":{"name":"Mihir Jichkar","url":"PlytonRexus"},"license":"MIT","homepage":"https://github.com/PlytonRexus/if-script-core#readme","keywords":["syntax","embedded","interactive-fiction","text-adventure-game","scenes","timers","choice-syntax"],"repository":{"type":"git","url":"git+https://github.com/PlytonRexus/if-script-core.git"},"description":"An extremely simple syntax for writing interactive fiction that can be embedded in any website.","maintainers":[{"name":"plytonrexus","email":"j.mihir19.mj@gmail.com"}],"readme":"# IF-SCRIPT\n\n[![CI Push](https://github.com/PlytonRexus/if-script-core/actions/workflows/ci-push.yml/badge.svg)](https://github.com/PlytonRexus/if-script-core/actions/workflows/ci-push.yml)\n[![PR Validation](https://github.com/PlytonRexus/if-script-core/actions/workflows/ci-pr.yml/badge.svg)](https://github.com/PlytonRexus/if-script-core/actions/workflows/ci-pr.yml)\n[![Deploy gh-pages](https://github.com/PlytonRexus/if-script-core/actions/workflows/deploy-gh-pages.yml/badge.svg)](https://github.com/PlytonRexus/if-script-core/actions/workflows/deploy-gh-pages.yml)\n\n### Find available issues [here](https://github.com/PlytonRexus/if-script/issues)\n\nAn extremely simple syntax for writing interactive fiction that can be embedded in any website.\n\nMake interactive fiction with variables, timers, conditions, music and statistics. The story is parsed into plain HTML, CSS and JavaScript.\n\n[Try it!](https://plytonrexus.github.io/if-script/)\n\nYou can use Markdown to format your story.\n_[Markdown cheat-sheet](https://www.markdownguide.org/cheat-sheet/) for reference._\n\n### Dependencies\n[Showdown](https://github.com/showdownjs/showdown) for markdown rendering.\n\n---\n\n## Author Workflow\n\nThis section covers the end-to-end workflow for writing and previewing IF-Script stories using the CLI.\n\n### Installation\n\n```bash\nnpm install -g if-script-core\n```\n\n### Writing a story\n\nCreate a file with the `.if` extension and write your story using the IF-Script syntax documented below. Large stories can be split across multiple `.partial.if` files using [imports](#imports).\n\n### Previewing\n\n```bash\nifs preview -i my-story.if\n```\n\nThis starts a local HTTP server and opens the story in your browser. The browser automatically reloads whenever you save changes to the file — no manual refresh needed.\n\n**Options:**\n\n| Flag | Alias | Default | Description |\n|------|-------|---------|-------------|\n| `--input-file` | `-i` | *(required)* | Path to `.if` story file |\n| `--theme` | `-t` | `literary-default` | Runtime theme (`literary-default`, `cinematic`) |\n| `--port` | `-p` | `3001` | Local server port |\n\n**Example:**\n```bash\nifs preview -i my-story.if -t literary-default -p 8080\n```\n\nParse errors are displayed directly in the browser so you can fix them without leaving your editor.\nProject-local static media for preview/build workflows should live under `assets/` (for example `assets/audio/hedwig.mp3`).\n\n### Compiling\n\nOnce your story is ready, compile it to JSON for distribution or embedding:\n\n```bash\nifs compile -i my-story.if -o story.json\n```\n\nCompile to Kindle-compatible static HTML pages:\n\n```bash\nifs compile -i my-story.if --target kindle-html --output-dir dist/kindle\n```\n\n**Options:**\n\n| Flag | Alias | Default | Description |\n|------|-------|---------|-------------|\n| `--input-file` | `-i` | *(required)* | Path to `.if` story file |\n| `--output-file` | `-o` | `out.json` | Path for the compiled JSON output |\n| `--target` | | `json` | Compile target: `json` or `kindle-html` |\n| `--profile` | | `default` (`json`), `kindle-any` (`kindle-html`) | Compile profile (`default`, `kindle-any`, `kindle-strict`) |\n| `--output-dir` | | *(required for `kindle-html`)* | Output directory for static Kindle HTML pages |\n| `--report-file` | | `<output-dir>/kindle-report.json` | Optional Kindle compile report output path |\n\n### Checking (Static Diagnostics)\n\nRun static checks before preview/compile:\n\n```bash\nifs check -i my-story.if\n```\n\nUse JSON output for CI and tooling:\n\n```bash\nifs check -i my-story.if --json\n```\n\nRun Kindle compatibility checks:\n\n```bash\nifs check -i my-story.if --profile kindle-any\nifs check -i my-story.if --profile kindle-strict --json\n```\n\n### Publishing Thrones To GitHub Pages (Branch Root)\n\nBuild the publishable Thrones site into `dist/`:\n\n```bash\nnpm run build:pages:thrones\n```\n\nBuild Kindle static pages for Thrones into `dist/kindle/`:\n\n```bash\nnpm run build:pages:thrones:kindle\n```\n\nPublish `dist/` as the root contents of the `gh-pages` branch:\n\n```bash\nnpm run publish:pages:thrones\n```\n\nOptional environment overrides:\n\n```bash\nPAGES_REMOTE=origin PAGES_BRANCH=gh-pages npm run publish:pages:thrones\n```\n\nGitHub repository settings for this flow:\n- Pages source: `Deploy from a branch`\n- Branch: `gh-pages`\n- Folder: `/(root)`\n\n---\n\n### Current Syntax (v0.5.8+)\n\nJump to: [Quick Reference](#quick-reference) · [Writer Mode](#writer-mode-minimal-v1) · [Story Settings](#story-settings) · [Sections](#section-syntax) · [Choices](#choices) · [Conditionals](#conditionals) · [Arrays](#arrays) · [While Loops](#loops) · [Functions](#functions) · [Built-in Functions](#built-in-functions) · [Imports](#imports) · [Author Pitfalls](#author-pitfalls) · [Troubleshooting](#troubleshooting)\n\n### [Quick Reference](#quick-reference)\n\n**Block keywords**\n\n| Block | Open | Close |\n|------|------|------|\n| Settings | `settings__` | `__settings` |\n| Scene | `scene__` | `__scene` |\n| Section | `section__` | `__section` |\n| Choice | `choice__` | `__choice` |\n| If block | `if__ (cond) { ... }` | `}` |\n| While loop | `while__ (cond) { ... }` | `}` |\n| Function | `function__ name(args) { ... }` | `}` |\n| Import | `import__\"file.partial.if\"__import` | n/a |\n| Writer section (alias) | `section \"Title\"` | `end` |\n| Writer choice (alias) | `-> \"Text\" => \"Target\"` | n/a |\n\n**Core properties**\n\n| Context | Properties |\n|------|------|\n| Story settings | `@storyTitle`, `@startAt`, `@referrable`, `@fullTimer`, `@fullTimerOutcome`, `@maxIterations`, `@maxCallDepth`, `@statusBar`, `@theme`, `@storyAmbience`, `@storyAmbienceVolume`, `@storyAmbienceLoop`, `@storyAmbienceFadeInMs`, `@storyAmbienceFadeOutMs`, `@presentationMode`, `@allowUndo`, `@showTurn`, `@animations`, `@autoSave` |\n| Scene | `@name`, `@first`, `@sceneAmbience`, `@sceneAmbienceVolume`, `@sceneAmbienceLoop`, `@sceneAmbienceFadeInMs`, `@sceneAmbienceFadeOutMs`, `@sceneTransition`, `@sections` |\n| Section | `@title`, `@timer`, `@timerOutcome`, `@ambience`, `@ambienceVolume`, `@ambienceLoop`, `@ambienceFadeInMs`, `@ambienceFadeOutMs`, `@sfx`, `@backdrop`, `@shot`, `@textPacing` |\n| Choice | `@target`, `@targetType`, `@input`, `@action`, `@when`, `@once`, `@disabledText` |\n\n**Control flow + expressions**\n- Conditionals: `if__ (cond) { ... } else__ { ... }`\n- Inline conditional assignment: `if__ (cond) then__ a = 1 else__ a = 2`\n- Loop control: `break__`, `continue__`\n- Function return: `return__ value`\n- Operators: `+ - * / % == != < > <= >= && ||`\n\n**Arrays + calls**\n- Array literal: `inventory = []`, `nums = [1, 2, 3]`\n- Access: `first = nums[0]`\n- Mutation: `nums[1] = 10`, `nums.push(4)`, `item = nums.pop()`\n- Calls: `result = myFunc(1, 2)`, `len = nums.length`\n\n### [Writer Mode Syntax](#writer-mode-minimal-v1)\n\nWriter Mode is always enabled and can be mixed with other syntax in the same file.\n\n```if\nsection \"Village Square\"\n  \"You are in the square.\"\n  -> \"Go to Market\" => \"Market\"\n  -> \"Skip to Chapter\" => scene \"Chapter One\"\nend\n```\n\nEquivalent syntax:\n```if\nsection__\n  @title \"Village Square\"\n  \"You are in the square.\"\n  choice__\n    @target \"Market\"\n    \"Go to Market\"\n  __choice\n  choice__\n    @targetType \"scene\"\n    @target \"Chapter One\"\n    \"Skip to Chapter\"\n  __choice\n__section\n```\n\n### [Embedding](#embedding)\nYou can parse/compile/check in Node.js. Runtime rendering requires a DOM.\n\n1. Import the library\n```js\nimport IFScript from 'if-script-core'\n```\n2. Initialize\n```js\nconst ifScript = new IFScript()\nawait ifScript.init()\n```\n3. Parse story text (async)\n```js\nconst myStoryText = '/* my story */'\nconst parsed = await ifScript.parse(myStoryText, '/stories/my-story.if')\n```\nPass a stable `filePath` whenever you use `import__...__import` so relative imports resolve correctly.\n\n4. Create and start Runtime v2 (recommended)\n```js\nconst runtime = await ifScript.createRuntime({ debug: false })\nruntime.mount('#if_r-output-area')\nruntime.start(parsed, { theme: 'literary-default' })\n```\n\n*The indentation does not matter.*\n\n### [Comments](#comments)\n\nA comment is a text block that is not integrated into the final model of the story. Comments exist to help write cleaner stories. For example, by pointing out purposes of certain portions of the story.\n```\n/* A\n multi-line\n comment */\n ```\n\n### [Variables](#variables)\n\nVariables truly create dynamic stories. You can use variables to store character names, inventory items, visited scenes, statistics and more. Variables are declared with simple assignment:\n\n```\nplayerName = \"Felicity\"\nhealth = 100\nhasKey = true\ngold = 0\n```\n\nDisplay variable values anywhere in your story text using string interpolation:\n```\n\"Your name is ${playerName}. You have ${gold} gold pieces.\"\n```\n\nVariables can be used in conditional logic to determine which choices and text blocks are shown. Variables declared in sections persist throughout the story and can be used in later sections.\n\n### [Story Settings](#story-settings)\n\nStory settings allow you to customize the overall experience of the story. All settings are optional.\n\n```\nsettings__\n  @storyTitle \"My Story\"\n  @startAt 1\n  @referrable false\n  @theme \"literary-default\"\n  @storyAmbience \"https://example.com/audio/city-bed.mp3\"\n  @storyAmbienceVolume 0.2\n  @storyAmbienceLoop true\n  @allowUndo false\n  @showTurn false\n  @animations false\n  @autoSave true\n  @fullTimer 300 1\n  @fullTimerOutcome \"If the hourglass empties, the castle falls.\"\n  @statusBar health\n  @statusBar stamina \"Stamina\"\n  @statusBar gold false\n  @statusBar hp true \"Health\"\n__settings\n```\n\nAvailable settings:\n-   `@storyTitle` - The title of your story (string)\n-   `@startAt` - The starting section ref (serial number or section title string, default: 0). Set this explicitly in real stories.\n-   `@referrable` - Whether older sections remain visible when moving to new sections (boolean, default: false)\n-   `@fullTimer` - Time limit for completing the story in seconds, followed by a target section ref (serial or title, e.g., `300 1` or `300 \"Game Over\"`)\n-   `@fullTimerOutcome` - Player-facing timeout consequence text shown in runtime timer UI. This is author-defined copy and does not reveal target section internals. (string, optional)\n-   `@maxIterations` - Maximum iterations allowed in while loops (number, default: 10000)\n-   `@maxCallDepth` - Maximum function call depth for recursion (number, default: 1000)\n-   `@theme` - Preferred runtime theme when host/CLI does not override it (string)\n-   `@storyAmbience` - Fallback whole-story ambience URL used only when neither section `@ambience` nor scene `@sceneAmbience` is active (string, optional)\n-   `@storyAmbienceVolume` - Story ambience volume from `0` to `1` (number, optional, default: `1`)\n-   `@storyAmbienceLoop` - Loop story ambience playback (boolean, optional, default: `true`)\n-   `@storyAmbienceFadeInMs` - Story ambience fade-in metadata in milliseconds (number, optional; currently not applied by built-in runtime mixer)\n-   `@storyAmbienceFadeOutMs` - Story ambience fade-out metadata in milliseconds (number, optional; currently not applied by built-in runtime mixer)\n-   `@presentationMode` - Preferred runtime renderer mode: `\"literary\"` or `\"cinematic\"` (string, default: `\"literary\"`)\n-   `@allowUndo` - Enable/disable undo interaction in runtime UI (boolean, default: true)\n-   `@showTurn` - Show/hide turn counter in status area (boolean, default: true)\n-   `@animations` - Enable/disable runtime animations (boolean, default: true)\n-   `@autoSave` - Enable browser localStorage save/resume for this story (boolean, default: false)\n-   `@statusBar` - Configure status-bar visibility and display label for a variable. Supported forms:\n    `@statusBar hp`\n    `@statusBar hp false`\n    `@statusBar hp \"Health\"`\n    `@statusBar hp true \"Health\"`\n    If any variable is explicitly marked `true`, only `true` variables are shown. When a label is provided, it is shown instead of the variable name.\n\nSettings precedence:\n- Host/CLI overrides > story settings > runtime defaults.\n\nSave/resume notes:\n- When `@autoSave` is true, Runtime v2 persists snapshots under `ifscript:v2:auto:<storyFingerprint>`.\n- Manual save slots are stored as `ifscript:v2:slot:<slot>:<storyFingerprint>`.\n- Hosts can pass `resumePrompt: false` to `runtime.start(...)` to auto-resume without confirmation.\n\nTimer UI note (Runtime v2):\n- Active `@fullTimer` and section `@timer` values render as a thin animated progress ribbon pinned to the top of the viewport.\n- The status area shows per-timer countdown text plus author-defined timeout consequence text.\n- If both timers are active, the ribbon shows one thin lane per timer.\n\n### [Scenes](#scenes)\n\nScenes are collections of sections that can be used to organize your story into chapters, arcs, or acts.\n\n```\nscene__\n  @name \"Chapter One\"\n  @first 1\n  @sceneAmbience \"https://example.com/music.mp3\"\n  @sections 1 2 3 4 5\n__scene\n```\n\nProperties:\n-   `@name` - Display name for the scene (string)\n-   `@first` - The first section ref in this scene (serial or title, optional)\n-   `@sceneAmbience` - URL to background music for this scene (string, optional)\n-   `@sceneAmbienceVolume` - Music channel volume from `0` to `1` (number, optional, default: `1`)\n-   `@sceneAmbienceLoop` - Loop scene music playback (boolean, optional, default: `true`)\n-   `@sceneAmbienceFadeInMs` - Fade-in metadata in milliseconds (number, optional; currently not applied by built-in runtime mixer)\n-   `@sceneAmbienceFadeOutMs` - Fade-out metadata in milliseconds (number, optional; currently not applied by built-in runtime mixer)\n-   `@sceneTransition` - Cinematic transition hint: `\"cut\"`, `\"fade\"`, `\"dissolve\"`, `\"slide\"` (string, optional)\n-   `@sections` - Space-separated list of section refs in this scene (serials and/or titles)\n\nDeprecation:\n- `@music`, `@musicVolume`, `@musicLoop`, `@musicFadeInMs`, and `@musicFadeOutMs` are no longer supported.\n- Use `@sceneAmbience*` equivalents instead.\n\nUse scene names in choices when possible:\n```\nchoice__\n  @targetType \"scene\"\n  @target \"Chapter One\"\n  \"Start Chapter One\"\n__choice\n```\n\n### [Audio Runtime Behavior](#audio-runtime-behavior)\n\nRuntime v2 uses four channels:\n- `ambience` from section `@ambience` (highest-priority background)\n- `sceneMusic` from scene `@sceneAmbience` (middle-priority background)\n- `storyAmbience` from settings `@storyAmbience` (lowest-priority background fallback)\n- `sfx` from `@sfx`, `@choiceSfx`, `@focusSfx` (one-shots)\n\nImportant behavior:\n- Scene music changes only when the active scene changes. If two consecutive scenes point to the same `@sceneAmbience` URL, no restart occurs.\n- Ambience is re-evaluated on every section enter. If a section omits `@ambience`, ambience is stopped for that section.\n- Background playback is exclusive and priority-based: `section ambience` > `scene music` > `story ambience`.\n- If the current highest-priority background ends/clears, the runtime automatically falls back to the next available layer.\n- For non-looping backgrounds (`@ambienceLoop false`, `@sceneAmbienceLoop false`, `@storyAmbienceLoop false`), natural `ended` also triggers fallback.\n- `Mute` toggles channel/SFX output off. `Pause` pauses current playback state and `Play` resumes it.\n\nAutoplay/browser policy:\n- Browsers may block `play()` before first user interaction.\n- Seeing a debug sequence like `play blocked` followed later by `start` is normal: first attempt was blocked, then playback resumed after click/key/touch unlock.\n\nAuthoring guidance:\n- Put each playable section in exactly one scene via `@sections` (or as a scene `@first`) for predictable scene music transitions.\n- Prefer `@sceneAmbience` for score and `@ambience` for environmental beds (rain, crowd, machinery, wind, etc.).\n\n### [Sections](#section-syntax)\n\nSections are independent locations/situations in a story. These can be reached through choices. Each section can have its own settings including timers that redirect to another section if the reader doesn't choose within the specified time.\n\n```\nsection__\n  @title \"The Throne Room\"\n  @timer 30 5\n  @timerOutcome \"You hesitate, and the guards seize the room.\"\n\n  mood = \"tense\"\n\n  \"You stand before the king. The atmosphere is ${mood}.\"\n  \"What will you do?\"\n\n  choice__\n    @target \"Royal Audience\"\n    \"Bow respectfully\"\n  __choice\n\n  choice__\n    @target \"Defiant Speech\"\n    \"Speak boldly\"\n  __choice\n__section\n```\n\nProperties:\n-   `@title` - The title of this section (string, optional)\n-   `@timer` - Countdown timer in seconds, followed by a target section ref (serial or title, e.g., `30 5` or `30 \"Timeout\"`)\n-   `@timerOutcome` - Player-facing timeout consequence text shown for this section timer in runtime UI. This is author-defined copy and does not reveal target section internals. (string, optional)\n-   `@ambience` - URL to looping section ambience (string, optional)\n-   `@ambienceVolume` - Ambience volume from `0` to `1` (number, optional, default: `1`)\n-   `@ambienceLoop` - Loop ambience playback (boolean, optional, default: `true`)\n-   `@ambienceFadeInMs` - Ambience fade-in metadata in milliseconds (number, optional; currently not applied by built-in runtime mixer)\n-   `@ambienceFadeOutMs` - Ambience fade-out metadata in milliseconds (number, optional; currently not applied by built-in runtime mixer)\n-   `@sfx` - Section SFX URL. Repeat this property to queue multiple sounds in order (string, repeatable)\n-   `@backdrop` - Backdrop image/media URL hint for cinematic renderers (string, optional)\n-   `@shot` - Cinematic framing hint: `\"wide\"`, `\"medium\"`, `\"close\"`, `\"extreme_close\"` (string, optional)\n-   `@textPacing` - Text pacing hint: `\"instant\"`, `\"typed\"`, `\"cinematic\"` (string, optional)\n\nSections can contain:\n-   Variable assignments\n-   Text content (supports Markdown and variable interpolation)\n-   Choices\n-   Conditional blocks\n### [Choices](#choices)\n\nChoices are the primary method to navigate through your story by reaching sections or scenes.\n\n**Basic choice** - Navigate to a section:\n```\nchoice__\n  @target \"Market Square\"\n  \"Continue to the market\"\n__choice\n```\n\n**Navigate to a scene** - Go to the first section of a scene:\n```\nchoice__\n  @targetType \"scene\"\n  @target \"Chapter Two\"\n  \"Begin Chapter Two\"\n__choice\n```\n\n**Input choice** - Collect user input and store in a variable:\n```\nchoice__\n  @target \"After Name Entry\"\n  @input playerName\n  \"Enter your name [[input]]:\"\n__choice\n```\n\n`@input` choices require a non-empty value before selection.\nUse `[[input]]` (or `{{input}}`) inside choice text to place the field inline wherever you want.\nIf no placeholder token is present, the runtime appends the input field at the end of the choice text.\n\n**Action choice** - Perform an action when clicked:\n```\nchoice__\n  @target \"After Potion\"\n  @action health = health + 10\n  \"Drink health potion (+10 HP)\"\n__choice\n```\n\n**Multiple actions** - Add multiple `@action` lines:\n```\nchoice__\n  @target \"Armory\"\n  @action gold = gold - 50\n  @action hasSword = true\n  \"Buy sword (50 gold)\"\n__choice\n```\n\n**Conditional choices** - Only show if condition is met:\n```\nif__ (gold >= 50) {\n  choice__\n    @target \"Armory\"\n    \"Buy sword (50 gold)\"\n  __choice\n}\n```\n\n**Conditional visibility on choice itself** - Hide or disable by property:\n```\nchoice__\n  @target \"Armory\"\n  @when gold >= 50\n  @disabledText \"Need 50 gold\"\n  \"Buy sword\"\n__choice\n```\n\nWhen `@when` is false:\n- If `@disabledText` is not set, the choice is hidden.\n- If `@disabledText` is set, a disabled row is shown with that text.\n\n**One-time choice** - Consume after first click:\n```\nchoice__\n  @target \"Vault\"\n  @once true\n  \"Open the vault\"\n__choice\n```\n\n`@once` state is undo-aware: undo restores one-time availability.\n\n**Available operators:**\n\nComparison:\n-   `==` - Equal to\n-   `!=` - Not equal to\n-   `<` - Less than\n-   `>` - Greater than\n-   `<=` - Less than or equal to\n-   `>=` - Greater than or equal to\n\nLogical:\n-   `&&` - And\n-   `||` - Or\n\nArithmetic (in actions):\n-   `+` - Addition\n-   `-` - Subtraction\n-   `*` - Multiplication\n-   `/` - Division\n-   `%` - Modulo\n\nChoice properties:\n-   `@target` - Where to navigate: section title/serial by default, or scene name/serial when `@targetType \"scene\"` is set (number or string)\n-   `@targetType` - Set to `\"scene\"` to navigate to a scene instead of a section (string, optional, default: `\"section\"`)\n-   `@input` - Variable name to store user input (identifier, optional). Selection requires a non-empty value.\n-   `@action` - Expression to execute when chosen. Add multiple lines for multiple actions. (expression, optional)\n-   `@when` - Expression gate for choice visibility/availability (expression, optional)\n-   `@once` - Consume the choice after it is selected once (boolean, optional, default: false)\n-   `@disabledText` - Disabled label shown when `@when` is false (string, optional)\n-   `@choiceSfx` - SFX URL played when choice is selected (string, optional)\n-   `@focusSfx` - SFX URL played when choice is focused/hovered (string, optional)\n-   `@choiceStyle` - Renderer style hint: `\"default\"`, `\"primary\"`, `\"subtle\"`, `\"danger\"` (string, optional)\n\nTargeting tips:\n-   Prefer string targets for readability and to avoid renumbering issues (`@target \"Section Title\"` or scene `@target \"Scene Name\"` with `@targetType \"scene\"`).\n-   String targets match section `@title` / scene `@name` exactly, so keep those values unique.\n-   Numeric targets are still useful for deliberate serial jumps; string refs are useful for readability and stability.\n\nExample when numeric targeting is intentional:\n```\nchoice__\n  @target 42\n  \"Jump to fallback section serial 42\"\n__choice\n```\n\n### [Conditional Blocks](#conditionals)\n\nControl story flow with if-else statements. Use conditionals to show different text or choices based on variables.\n\n**Block syntax** - Show different content based on conditions:\n```\nif__ (health < 20) {\n  \"You're badly wounded and need healing!\"\n} else__ {\n  \"You feel fine.\"\n}\n```\n\n**Nested conditions:**\n```\nif__ (hasKey == true) {\n  \"You unlock the door.\"\n  choice__\n    @target \"Treasure Room\"\n    \"Enter the room\"\n  __choice\n} else__ {\n  \"The door is locked. You need a key.\"\n}\n```\n\n**Inline syntax** - For simple variable assignments:\n```\nif__ (gold >= 100) then__ canBuyHorse = true else__ canBuyHorse = false\n```\n\nConditions use the same operators as choice conditions (see above).\n\n### [Arrays](#arrays)\n\nArrays allow you to store and manipulate collections of values. Arrays provide unbounded memory for complex data structures and algorithms.\n\n**Creating arrays:**\n```\ninventory = []\nnumbers = [1, 2, 3, 4, 5]\nnested = [[1, 2], [3, 4]]\n```\n\n**Accessing elements:**\n```\nfirst = numbers[0]\nsecond = numbers[1]\ninnerValue = nested[0][1]\n```\n\n**Modifying elements:**\n```\nnumbers[0] = 99\ninventory[2] = \"sword\"\n```\n\n**Array methods:**\n```\ninventory.push(\"potion\")    // Add to end\nitem = inventory.pop()       // Remove from end\nsize = inventory.length      // Get length\n```\n\n**Arrays in loops:**\n```\nprimes = []\ni = 2\nwhile__ (i < 20) {\n  if__ (isPrime(i)) {\n    primes.push(i)\n  }\n  i = i + 1\n}\n\"Primes: ${primes}\"\n```\n\n### [While Loops](#loops)\n\nWhile loops enable unbounded iteration, allowing you to repeat code blocks while a condition is true.\n\n**Basic while loop:**\n```\ncounter = 0\nsum = 0\nwhile__ (counter < 10) {\n  sum = sum + counter\n  counter = counter + 1\n}\n\"Sum: ${sum}\"\n```\n\n**Break statement** - Exit the loop early:\n```\ni = 0\nwhile__ (i < 100) {\n  if__ (i == 10) {\n    break__\n  }\n  i = i + 1\n}\n\"Stopped at: ${i}\"\n```\n\n**Continue statement** - Skip to next iteration:\n```\ni = 0\nevenSum = 0\nwhile__ (i < 10) {\n  i = i + 1\n  if__ (i % 2 == 1) {\n    continue__\n  }\n  evenSum = evenSum + i\n}\n\"Sum of even numbers: ${evenSum}\"\n```\n\n**Nested loops:**\n```\nouter = 0\nwhile__ (outer < 3) {\n  inner = 0\n  while__ (inner < 2) {\n    \"outer: ${outer}, inner: ${inner}\"\n    inner = inner + 1\n  }\n  outer = outer + 1\n}\n```\n\n### [Functions](#functions)\n\nFunctions enable code reuse and recursion. Functions have local scope for parameters and support return values.\n\n**Defining functions:**\n```\nfunction__ add(a, b) {\n  return__ a + b\n}\n\nfunction__ greet(name) {\n  return__ \"Hello, ${name}!\"\n}\n```\n\n**Calling functions:**\n```\nsum = add(5, 3)\nmessage = greet(\"Alice\")\n```\n\n**Recursive functions:**\n```\nfunction__ factorial(n) {\n  if__ (n <= 1) {\n    return__ 1\n  }\n  return__ n * factorial(n - 1)\n}\n\nresult = factorial(5)  // 120\n```\n\n**Functions with arrays:**\n```\nfunction__ makeRange(start, end) {\n  result = []\n  i = start\n  while__ (i <= end) {\n    result.push(i)\n    i = i + 1\n  }\n  return__ result\n}\n\nnumbers = makeRange(1, 10)\n```\n\n**Function scope:**\n- Parameters are local to the function\n- Variables assigned inside functions become global if not parameters\n- Values are restored after function returns (local scope)\n\n**Complex example - Fibonacci:**\n```\nfunction__ fibonacci(n) {\n  if__ (n <= 1) {\n    return__ n\n  }\n  return__ fibonacci(n - 1) + fibonacci(n - 2)\n}\n\nfib10 = fibonacci(10)\n\"Fibonacci(10) = ${fib10}\"\n```\n\n### [Built-in Functions](#built-in-functions)\n\nIF-Script includes builtin helper functions you can call like normal functions:\n```\nroll = randomInt(1, 6)\ntoday = formatDate(now())\ncount = len(inventory)\nsetSeed(42)\ndetRoll = seededRandomInt(1, 6)\ntotal = sum([1, 2, 3])\n```\n\nFull reference (signatures, return types, examples, edge behavior):\n- [`docs/builtins.md`](docs/builtins.md)\n\nName-resolution note:\n- Builtin names are resolved before user-defined functions.\n- Avoid naming custom functions like `len`, `range`, `randomInt`, etc. unless you intend to call the builtin.\n\n### [Safety Limits](#safety-limits)\n\nTo prevent infinite loops and excessive recursion from freezing the browser, IF-Script includes configurable safety limits.\n\n**Default limits:**\n- Maximum iterations per loop: 10,000\n- Maximum function call depth: 1,000\n\n**Configuring limits in settings:**\n```\nsettings__\n  @storyTitle \"My Story\"\n  @startAt 1\n  @maxIterations 50000\n  @maxCallDepth 2000\n__settings\n```\n\nWhen a limit is exceeded, an error is thrown with a clear message:\n- `\"Maximum iterations (N) exceeded\"`\n- `\"Maximum call depth (N) exceeded\"`\n\nThese limits ensure your story remains responsive while still allowing complex algorithms to execute.\n\n### Classic algorithm examples:\n\n**Sieve of Eratosthenes (finding primes):**\n```\nfunction__ sieveOfEratosthenes(max) {\n  primes = []\n  i = 0\n  while__ (i < max) {\n    primes.push(true)\n    i = i + 1\n  }\n\n  primes[0] = false\n  primes[1] = false\n\n  p = 2\n  while__ (p * p < max) {\n    if__ (primes[p] == true) {\n      i = p * p\n      while__ (i < max) {\n        primes[i] = false\n        i = i + p\n      }\n    }\n    p = p + 1\n  }\n\n  result = []\n  i = 2\n  while__ (i < max) {\n    if__ (primes[i] == true) {\n      result.push(i)\n    }\n    i = i + 1\n  }\n\n  return__ result\n}\n\nprimes = sieveOfEratosthenes(100)\n```\n\n**Greatest Common Divisor (Euclidean algorithm):**\n```\nfunction__ gcd(a, b) {\n  while__ (b != 0) {\n    temp = b\n    b = a % b\n    a = temp\n  }\n  return__ a\n}\n\nresult = gcd(48, 18)  // 6\n```\n\nThese capabilities make IF-Script suitable for implementing complex game logic, puzzles, and computational challenges within your interactive fiction.\n\n### [Imports](#imports)\n\nSplit large stories across multiple files for better organization and maintainability. IF-Script supports a powerful import system that works in both Node.js and browsers, with features like circular dependency detection, caching, and path aliases.\n\n#### Basic Syntax\n\n```\nimport__\"chapter2.partial.if\"__import\n```\n\n#### Path Types\n\n**1. Relative Paths** - Relative to the current file\n```\nimport__\"./chapter2.partial.if\"__import\nimport__\"../shared/intro.partial.if\"__import\n```\n\n**2. Absolute Paths** - From the project root\n```\nimport__\"/lib/combat-system.partial.if\"__import\n```\n\n**3. Path Aliases** - Configured shortcuts (see Configuration below)\n```\nimport__\"@lib/common.partial.if\"__import\nimport__\"@components/inventory.partial.if\"__import\n```\n\n#### Serial Counters Across Imports\n\nEach imported module is parsed with its own section/scene serial counters. Nested imported modules do the same. The main story file uses a separate counter space.\n\nIn practice:\n- Use string targets (`@target \"Section Title\"` or scene `@target \"Scene Name\"`) for cross-module navigation.\n- Use numeric targets when you explicitly want a serial jump; timers (`@timer`, `@fullTimer`) support both serial and title refs.\n\n#### Imported Module Behavior (Important)\n\nWhen a file is brought in via `import__\"...\"__import`, IF-Script merges:\n- Sections\n- Scenes\n- Functions\n- Top-level variable initializers (limited; see below)\n- Status-bar config (`@statusBar`)\n\nGlobal story behavior settings from imported module `settings__` blocks are **not** applied to the main story run:\n- `@startAt` from imported modules is ignored for startup\n- `@fullTimer` from imported modules is ignored for global timer behavior\n- `@storyTitle` from imported modules does not replace the main story title\n- `@maxIterations` / `@maxCallDepth` from imported modules are not used as global runtime limits\n\nTop-level variable initializer capture from imported modules is intentionally narrow:\n- Supported: simple single-token RHS values (numbers, strings, booleans) and empty arrays (`[]`)\n- Not evaluated at import time: expression-based initializers like `x = a + 1`, function calls, non-empty array expressions\n\nFor predictable cross-file behavior, prefer:\n- Defining global runtime settings in the main root `.if` file\n- Initializing complex imported state inside sections/functions (not via top-level computed assignments)\n\n#### Configuration\n\nConfigure the import system when creating an `IFScript` instance:\n\n```javascript\nimport IFScript from 'if-script-core'\n\nconst ifScript = new IFScript({\n  // Path configuration\n  paths: {\n    aliases: {\n      '@lib': '/story-lib',\n      '@components': '/components'\n    },\n    extensions: ['.if', '.partial.if']  // Auto-try these extensions\n  },\n\n  // Browser-specific configuration\n  browser: {\n    baseUrl: 'https://example.com/stories/',  // Base URL for fetching\n    allowFetch: true,  // Enable dynamic fetching\n    preloadedFiles: {  // Pre-bundle files for offline use\n      '/lib/file.if': '/* file content */'\n    }\n  },\n\n  // Module loader configuration\n  loader: {\n    maxImportDepth: 50,        // Max nesting depth\n    enableCache: true,         // Cache loaded modules\n    circularDetection: true    // Detect circular imports\n  }\n})\n\nawait ifScript.init()\nconst story = await ifScript.parse(storyText, filePath)\n```\n\n#### Example Structure\n\n```\nstory/\n├── main.if\n│   ├── import__\"@lib/intro.partial.if\"__import\n│   ├── import__\"chapter1.partial.if\"__import\n│   └── import__\"chapter2.partial.if\"__import\n├── chapter1.partial.if\n│   └── import__\"scenes/battle.partial.if\"__import\n├── chapter2.partial.if\n└── lib/\n    └── intro.partial.if\n```\n\n#### File Extensions\n\n-   `.if` - Main story files\n-   `.partial.if` - Importable modules (convention, not required)\n\nBoth extensions work the same way; the `.partial.if` convention just indicates the file is designed to be imported rather than used standalone.\n\n### [Author Pitfalls](#author-pitfalls)\n\n- Duplicate section titles / scene names make string targets ambiguous.\nTip: Keep every `@title` and `@name` unique when using string refs.\n\n- Numeric targets across imports can be confusing because each module has its own serial counters.\nTip: Prefer string refs (`@target \"Section Title\"` / scene `@target \"Scene Name\"`) for cross-file navigation.\n\n- User-defined function names that match builtins can shadow your intent.\nTip: Avoid naming your own functions after builtin helpers (`len`, `range`, `randomInt`, etc.).\n\n- `break__`, `continue__`, and `return__` only make sense in specific contexts.\nTip: Use `break__`/`continue__` inside loops and `return__` inside functions to avoid hard-to-debug flow behavior.\n\n- Imported module settings do not replace main-story runtime settings.\nTip: Keep global runtime controls (`@startAt`, `@fullTimer`, `@maxIterations`, `@maxCallDepth`) in the root file.\n\n### [Troubleshooting](#troubleshooting)\n\nTip: run `ifs check -i my-story.if` for static diagnostics before preview/compile.\n\n| Error message (or pattern) | Likely cause | Fix |\n|------|------|------|\n| `Undefined function: X` | Called a function that was never defined/imported, or name mismatch/case mismatch | Define/import the function before use, and verify exact spelling |\n| `Maximum iterations (N) exceeded` | Loop condition never becomes false (or needs higher cap) | Fix loop termination logic, or increase `@maxIterations` if intentional |\n| `Maximum call depth (N) exceeded` | Recursion without a solid base case (or deep recursion by design) | Add/verify base case, or increase `@maxCallDepth` if safe |\n| `START_AT_UNRESOLVED` (check) | `@startAt` points to a missing section ref | Update `@startAt` to an existing section serial/title |\n| `FULL_TIMER_TARGET_UNRESOLVED` (check) | `@fullTimer` target points to a missing section ref | Update `@fullTimer` target to an existing section serial/title |\n| `SECTION_TIMER_TARGET_UNRESOLVED` (check) | A section `@timer` target points to a missing section ref | Update the section timer target to an existing section serial/title |\n| `SCENE_FIRST_UNRESOLVED` (check) | Scene `@first` points to a missing section ref | Update `@first` to an existing section serial/title |\n| `DUPLICATE_FUNCTION_NAME` (check warning) | Same function name declared multiple times | Rename one definition to avoid accidental overrides |\n| `Circular import detected: ...` | Files import each other in a cycle | Break the cycle by extracting shared code into a one-way dependency |\n| `File not found: ...` (import) | Wrong relative path/alias/base path or missing extension resolution | Check import path from current file location, aliases, and extensions config |\n| `Expecting punctuation: ...` / `Expecting keyword: ...` / `Unexpected token: ...` | Syntax structure is incomplete or malformed | Check nearby block delimiters and keyword pairs (`section__`/`__section`, `choice__`/`__choice`, braces/parentheses) |\n| `Cannot index non-array value` | Used `value[index]` on a non-array | Ensure the variable is an array before indexing |\n| `X is not a method` | Called `.method()` on a value that does not support that method | Verify value type and method name (`push`, `pop`, `length`, etc.) |\n\n### [Complete Example](#example)\n\nHere's a complete mini-story demonstrating key features:\n\n```\nsettings__\n  @storyTitle \"The Adventure Begins\"\n  @startAt 1\n  @referrable false\n__settings\n\n/* Section 1: Start */\nsection__\n  @title \"The Village\"\n\n  playerName = \"Adventurer\"\n  gold = 10\n  hasMap = false\n\n  \"Welcome to **${playerName}**'s adventure!\"\n  \"You have ${gold} gold pieces.\"\n\n  choice__\n    @target \"Market Square\"\n    @input playerName\n    \"Enter your name:\"\n  __choice\n__section\n\n/* Section 2: The Market */\nsection__\n  @title \"Market Square\"\n\n  \"Welcome, ${playerName}! The market is bustling with activity.\"\n\n  if__ (gold >= 5) {\n    choice__\n      @target \"The Crossroads\"\n      @action gold = gold - 5\n      @action hasMap = true\n      \"Buy a map (5 gold)\"\n    __choice\n  }\n\n  choice__\n    @target \"The Crossroads\"\n    \"Continue your journey\"\n  __choice\n__section\n\n/* Section 3: The Crossroads */\nsection__\n  @title \"The Crossroads\"\n\n  if__ (hasMap == true) {\n    \"Your map shows two paths ahead.\"\n  } else__ {\n    \"You stand at a crossroads, unsure which way to go.\"\n  }\n\n  \"You have ${gold} gold remaining.\"\n\n  choice__\n    @target \"The Village\"\n    \"Return to the village\"\n  __choice\n__section\n```\n","readmeFilename":"README.md"}