{"_id":"codeblock","_rev":"36-a5107a76d6a58b0121b3b9068db44a63","name":"codeblock","description":"codeblock.js ============","dist-tags":{"latest":"0.4.0-pre.3","pre":"0.4.0-pre.2"},"versions":{"0.2.0":{"name":"codeblock","main":"./codeblock.js","version":"0.2.0","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.0","_shasum":"c829210d9af4b8936f51d0be9b6993ef73391e1d","_from":".","_npmVersion":"3.9.5","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"c829210d9af4b8936f51d0be9b6993ef73391e1d","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.0.tgz","integrity":"sha512-2r6isBrww1uSVqFSQhw/LYmYrWw1HAYSFgXtXyd1Mc9e3w4eMFlTGIhkg6D4Xmulkk2BWICMsGE4n3131Z73HQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDphvLp2p3WdIycTE1zTj0crk0jcczQdBAAMCpGJpyl2AIhAKDKMKIkc2RoeffGU7IL+H8+D1lA0ORWGFd2v2oUVpj5"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/codeblock-0.2.0.tgz_1480187272908_0.24467559135518968"},"directories":{}},"0.2.1":{"name":"codeblock","main":"./codeblock.js","version":"0.2.1","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.1","_shasum":"c1c1883a10c7dd9980029dfe14fa9e54640584d5","_from":".","_npmVersion":"3.9.5","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"c1c1883a10c7dd9980029dfe14fa9e54640584d5","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.1.tgz","integrity":"sha512-2ZtikOhVOgghKJJMP3WUBIbFsuJ18joWub1LmyujNmG3fWCXj+WHmRMSrXeIXRGQQ43/ClDf/2rJIXiXCxl4vA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG+L0yF9KLGlK0r18+NYM54rIPKZ5kmKBtAqYh+9KVyIAiAaJ/qdCMMvTSFBgraOO0+oBwIVbHJmc6MiyPppys++XA=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/codeblock-0.2.1.tgz_1480208973810_0.626218284945935"},"directories":{}},"0.2.2":{"name":"codeblock","main":"./codeblock.js","version":"0.2.2","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.2","_shasum":"cad4beade1ac300171e68d6e49e85cfd69d4cb8a","_from":".","_npmVersion":"3.9.5","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"cad4beade1ac300171e68d6e49e85cfd69d4cb8a","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.2.tgz","integrity":"sha512-ekdxeoTC6FfPDtjyn5aW+lgNyDfAxtzV7q96ySr+Vvht+xct0eEWYcNrr98it805upATmv1m9FLGcycHnLU9NQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHQrjJoLkewtR0/blssx7K9nd9gsypoyibN5ppnmziLPAiEA9s2BwTzx3gxwowxPx0afIKcQ3OS0mIoTywzVDkQLvqo="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/codeblock-0.2.2.tgz_1481528164360_0.40694671124219894"},"directories":{}},"0.2.3":{"name":"codeblock","main":"./codeblock.js","version":"0.2.3","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.3","_shasum":"25c979a3380da40a9f2f58261c83752c3411485f","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"25c979a3380da40a9f2f58261c83752c3411485f","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.3.tgz","integrity":"sha512-OmDVjyfpMGvfsT37PBeJTTfhbt7hW0CXxaIVHMIWjiF7tC2tLnd0YjWkBF9zvQKZ57kLXQafz+ByCiA6ze21lQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEbd17UtBxZ6KAY4Sns8tM4Yl0XWWK8jeqq0ResGSzmwAiBSqP5P2Piv/lR3Axcsiz94+DReq8HV5CSZpo/11Tixhg=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/codeblock-0.2.3.tgz_1488926418221_0.4111180603504181"},"directories":{}},"0.2.4":{"name":"codeblock","main":"./codeblock.js","version":"0.2.4","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.4","_shasum":"2475bf755e1a64b1485f8cf4f1a70aa0ee0ea1a6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"2475bf755e1a64b1485f8cf4f1a70aa0ee0ea1a6","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.4.tgz","integrity":"sha512-12nU+FNQAiR264dYWoSHqu0AFdzfj6WYY5EwceyRgOqPEUoCyM9pusqnv9GIRVpgEElfbcNkmyXnU61ADnCW8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAkk2N0rXozodNaFaKNnKKJcJ4uMDtfTUzbAfk/4LNL9AiAn3csVn6pqgjhW1m47ZtTiVPtxu9IUd+mEM7ln/d2vIw=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/codeblock-0.2.4.tgz_1488927877800_0.7565114090684801"},"directories":{}},"0.2.5":{"name":"codeblock","main":"./codeblock.js","version":"0.2.5","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.5","_shasum":"9e41dabba13ada1a37da50855044b378c2dd4d65","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"9e41dabba13ada1a37da50855044b378c2dd4d65","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.5.tgz","integrity":"sha512-Hwr6fvQOvc0lRQqv25EysdJ0spkmORa7DxyBfgfbPHmp+Y+WvGZ0VUH/5WWIDRxRB8EEKDMHgoXajYXKh9BHWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm4gGMR7Xs6ha3v5Vcwm26uGOtG3BAgrSIzziKcgmehQIhAMPTlI3nmjcHJjRkaZVI/cGMTqDc3no3vudpZbkh7JdT"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/codeblock-0.2.5.tgz_1489076525903_0.2090142813976854"},"directories":{}},"0.2.6":{"name":"codeblock","main":"./codeblock.js","version":"0.2.6","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.6","_shasum":"09f408b7a4941a1a9f0bcbed56a32794e1ba6ed4","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"09f408b7a4941a1a9f0bcbed56a32794e1ba6ed4","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.6.tgz","integrity":"sha512-7kjXnl0TafWmdk6KpxfOVqsuGiWY7TtA/oJ9Dw8su9VlwEPJ4sFRjnGri7Z+lQQS69zWNV9RdLYqi0NEQ5r+rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaFSrFaHBBNrQQE7U0tgik8hWMDEIljXK+v7rbTMd6ygIhAIUkWgQ5I1jEcu2lwwb1KKpHi5REGW20iXTvbpUGxYqW"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/codeblock-0.2.6.tgz_1489169085979_0.266399982618168"},"directories":{}},"0.2.7":{"name":"codeblock","main":"./codeblock.js","version":"0.2.7","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.7","_shasum":"d40eb9002fe53d6f89d130d9374a38b066da0027","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"d40eb9002fe53d6f89d130d9374a38b066da0027","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.7.tgz","integrity":"sha512-3WW64PvJu6X4l2j+QIJZJZD7jYNpmjpESbSmTiFJ4f8GRmTB6cVzlF9NbLJQIfcy+ZDIXn1pIPzVxlEbP5UuHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDBN8lV4iJ5YYq75+kKPFFYxwe/y+lKVOeYN1h45og6dAiBJyMNc2KVKAXwqVtqyOUyRiI0aSkw2NSGd9lqzXtEZhQ=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/codeblock-0.2.7.tgz_1489252663064_0.6582142258994281"},"directories":{}},"0.2.8":{"name":"codeblock","main":"./codeblock.js","version":"0.2.8","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.35","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.8","_shasum":"77dffe94790111d5052afc4a9533d572f030f41b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"77dffe94790111d5052afc4a9533d572f030f41b","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.8.tgz","integrity":"sha512-NfwcFjC3HqLJQiDG7Vd5DCzBoWQ+nCDyAGJXS0nxLIF2fMm+gDlNDiohaj3+P+z0OSfLNHm1LS4Y6JWGqZz3Zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuklIFnT719GHJrSxao1ho8sNtLDm9dPU9wpPa17f6GQIgcKlRR3m6k67+/OY6LXYhyVu196/CQAYM3W2LV9AkhhY="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/codeblock-0.2.8.tgz_1489430605436_0.46348401345312595"},"directories":{}},"0.2.9":{"name":"codeblock","main":"./codeblock.js","version":"0.2.9","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.56","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.2.9","_shasum":"1500f3cf9fcbb4fa6be1da43db7acd5aa39bd5d7","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"1500f3cf9fcbb4fa6be1da43db7acd5aa39bd5d7","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.2.9.tgz","integrity":"sha512-RDKqX0RFISGocBAR+AwUKq7pJVcWb328YuB6jNG6yZswizWOs2QVig0rHbz9YTdbtevESedOiPb6eRY7Yq79Kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmT0W+P8gBHu4YXVOPltVEMfgIwtSDhSEa5MBfLWs3fQIge94QI6+Q+l49behQDDArbVz8k8GF/G8Lguvisy0X0AU="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/codeblock-0.2.9.tgz_1490577512048_0.6474073850549757"},"directories":{}},"0.3.1":{"name":"codeblock","main":"./codeblock.js","version":"0.3.1","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.56","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.3.1","_shasum":"bce0a4ce673b0fdbf99630ea12863fb7f9e5f5ae","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"bce0a4ce673b0fdbf99630ea12863fb7f9e5f5ae","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.1.tgz","integrity":"sha512-d4PSceAYbHg16WE7L90HphNLbiCnGjR0Vx0Gmh4rCqiBwF6o434l7WO0vEdYLVX8yOcafthT8ivrUpVmwByASQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG4Ncoy7+TyBOOsfwp3s5oNuJZuPprlqyUMhHhF13XB2AiB8ZTtaxRSWykWE4Gsr7BEzbeWoxkUTsjYZT2icFCGqAg=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/codeblock-0.3.1.tgz_1493358627073_0.9441902237012982"},"directories":{}},"0.3.2":{"name":"codeblock","main":"./codeblock.js","version":"0.3.2","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.56","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.3.2","_shasum":"747c0eb8858d03f9cca5ca9af89e5f839cf7d87b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"747c0eb8858d03f9cca5ca9af89e5f839cf7d87b","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.2.tgz","integrity":"sha512-gwMw6ZJ5GRyYA6EaViQrQXlq4olzLP4AGASA7tR/7J/s2DFrJG5cw0XbEKgdPWBFOgkFHwgSB8/MzOMjnTUHKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQk4uUhN+Ium/5CcfLcZf8MbuWmGOOdHvdngi1+T6mcgIhANJ26PTVf/2lzHubd0BMbzotuwaQ17nMOlA89w80p2GA"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock-0.3.2.tgz_1495439388807_0.1613547895103693"},"directories":{}},"0.3.3":{"name":"codeblock","main":"./codeblock.js","version":"0.3.3","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.56","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.3.3","_shasum":"6c5109114261cd094fc152f19a4498e03062f6e5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"6c5109114261cd094fc152f19a4498e03062f6e5","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.3.tgz","integrity":"sha512-Xyb5UIIZC+kRnfb45N4V8HINu6cQMPByZ5JbH50OwVM1AwVXciJuzrvm2TAeqthN0BetbexmUT6vk/a66P5vbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvnnzmsdyzReB0htyDzutMRfOxlEQYCZ4y+NlQMq5xIwIhALgv2/5Is2+NHqStzoFTUzSl554sBQYWPW9vuZ21yGlM"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock-0.3.3.tgz_1497309844624_0.9154759328812361"},"directories":{}},"0.3.4":{"name":"codeblock","main":"./codeblock.js","version":"0.3.4","scripts":{"test":"./tests/run.sh"},"devDependencies":{"bash.origin":"^0.1.56","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"description":"codeblock.js ============","_id":"codeblock@0.3.4","_shasum":"ceb87404d06b5e924d9133bb40a098c457d28d82","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"ceb87404d06b5e924d9133bb40a098c457d28d82","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.4.tgz","integrity":"sha512-aendfzbZWfonRY/+SwOfbTMGWfHihqzNOxDjkJUBM0SydqyOq4s3PcHo6Gswio5+8bwCV6U2kxY3V5OVJwNnHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0CZV/DXtr3Dd9uK3qzEPnwid5JE/Smq5hOpMk+IlItQIhALcyIhIkzoZj4IunN0DDitAglY4U7c9kJvjakRj6GDl/"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock-0.3.4.tgz_1504144046376_0.4650341283995658"},"directories":{}},"0.3.5":{"name":"codeblock","main":"./codeblock.js","version":"0.3.5","devDependencies":{"bash.origin":"^0.1.56","colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"bash.origin":"^0.1.61","bash.origin.test":"^0.1.33","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"scripts":{"test":"BO_ROOT_SCRIPT_PATH=$(pwd)/node_modules/bash.origin/bash.origin bash.origin.test tests"},"description":"codeblock.js ============","_id":"codeblock@0.3.5","_shasum":"45585f58a185e2be755db1c71b099d1e8f3ac655","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"45585f58a185e2be755db1c71b099d1e8f3ac655","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.5.tgz","integrity":"sha512-oMezx13NgsnCsBDv1Tv4KEFDm4z1qADZEbLoEX64adgffrBQincamDK66r9n+C8kVd5ZywOXhoaL31Ze8AK4Sg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDpae/RATyKzw6YqkB0ThqUo62g9zn++07wJ5mAPDg60AiEAvoCe3UdJRLiZ3uGlC/WhNMMrwbaSIEjloL0Dh0Pl5yE="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock-0.3.5.tgz_1508738622735_0.6558087451849133"},"directories":{}},"0.3.6":{"name":"codeblock","main":"./codeblock.js","version":"0.3.6","pm":{"publish":"npm"},"devDependencies":{"colors":"^1.1.2","diff":"^3.0.1"},"dependencies":{"bash.origin":"^0.1.65","bash.origin.test":"^0.1.35","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"scripts":{"test":"BO_ROOT_SCRIPT_PATH=$(pwd)/node_modules/bash.origin/bash.origin bash.origin.test tests"},"description":"codeblock.js ============","_id":"codeblock@0.3.6","_shasum":"d74646893f7e035be21657e0e3c7d07e882e6067","_from":".","_npmVersion":"3.10.10","_nodeVersion":"5.12.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"d74646893f7e035be21657e0e3c7d07e882e6067","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.6.tgz","integrity":"sha512-SeDdSGZ0BmMv/ZeZ7+EhpUJZV5n1pwJQzQGFizNrUCOcUsdMro0vWYOrSoda9Ms87G1JA1bTvai/0CiaYYU9Uw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbQsgUiJFBpz6VKYj7QuNJ1DTA0o0KVozVrZoLvGkERwIhAJZhZe8m1WgmTiWqCk5jn7WTQWhT9LvxVIe2OU2Q55Ra"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock-0.3.6.tgz_1510801137637_0.2598308436572552"},"directories":{}},"0.3.7":{"name":"codeblock","main":"./codeblock.js","version":"0.3.7","pm":{"publish":"npm"},"dependencies":{"bash.origin":"^0.1.74","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"devDependencies":{"bash.origin.workspace":"^0.2.33","colors":"^1.1.2","diff":"^3.0.1"},"scripts":{"test":"BO_ROOT_SCRIPT_PATH=$(pwd)/node_modules/bash.origin/bash.origin bash.origin.test tests"},"description":"codeblock.js ============","_id":"codeblock@0.3.7","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-Vtfz2SDS6xi7bCe56XdleEjd1cpj7pspNFAdCImjzX3Z4xpVwVlRGkZSRby+bDcwAjSejEwMPYB3BOXb7ItqXA==","shasum":"f4a5b286d34908f0d596184c3b9f6a39e04a3330","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZ1F1iEa973P6oMjMSmTmXeUEYaSRUerzwCaqRdR5eDgIgENX4yW0RGM0+wtnQlxsPkT/Fyfb0A+YTmCYav1HERQk="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock-0.3.7.tgz_1511242470810_0.1856803153641522"},"directories":{}},"0.3.8":{"name":"codeblock","main":"./codeblock.js","version":"0.3.8","pm":{"publish":"npm"},"dependencies":{"bash.origin":"^0.1.85","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"devDependencies":{"bash.origin.workspace":"^0.2.62","colors":"^1.1.2","diff":"^3.0.1"},"scripts":{"test":"bash.origin.test tests"},"description":"codeblock.js ============","_id":"codeblock@0.3.8","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-AGQtR/c7nt0jKExCXeRVv/D4JqoKW1NVNGBf3p2fjnpC06cJfG4N0rTJlPpeEtJq/b2Xxujdy7zzF7gzp+Lo3w==","shasum":"1ca4cd77b4fc681e8b8ff61eaba78cb2ed028432","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7MJGXz53dMAhIGhSFbBehkV1cIQ9HRtGZtT5j2RJN2AIhAN4E/E9h03xB6HnrciCpTcbHJ8oQ7AVsffsyVr26NMFl"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock-0.3.8.tgz_1512190792488_0.38468727469444275"},"directories":{}},"0.3.9":{"name":"codeblock","main":"./codeblock.js","version":"0.3.9","pm":{"publish":"npm"},"dependencies":{"bash.origin":"^0.1.85","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"devDependencies":{"bash.origin.workspace":"^0.2.62","colors":"^1.1.2","diff":"^3.0.1"},"scripts":{"test":"bash.origin.test tests"},"description":"codeblock.js ============","_id":"codeblock@0.3.9","_shasum":"111e789e779b66da96a9e5d4bed358dcc4f6e8c2","_from":".","_npmVersion":"3.10.10","_nodeVersion":"9.4.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"111e789e779b66da96a9e5d4bed358dcc4f6e8c2","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.9.tgz","fileCount":45,"unpackedSize":90833,"integrity":"sha512-g2Bs0OeJI/ZtPpGe4DM1uSw8T+7UvdCtyd7HYClqrfCW5XFq+SwOrV9m8XcVtSUEDN7GE76DFJKmZhxGGwyy+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzeUR3kjYPzD3vxWEWysnEItvkUgaXXz3XXoXV0mKeywIgSDF7WzmUhcutgsV3kiofFqxYotFmf5wRrOUwxpSEmvk="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.9_1521231466192_0.8327111454486575"},"_hasShrinkwrap":false},"0.3.10":{"name":"codeblock","main":"./codeblock.js","version":"0.3.10","pm":{"publish":"npm"},"dependencies":{"bash.origin":"^0.1.85","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"devDependencies":{"bash.origin.workspace":"^0.2.62","colors":"^1.1.2","diff":"^3.0.1"},"scripts":{"test":"bash.origin.test tests"},"description":"codeblock.js ============","_id":"codeblock@0.3.10","_shasum":"2ee286422a352eef9d0fe205fb13157960484d53","_from":".","_npmVersion":"3.10.10","_nodeVersion":"9.4.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"shasum":"2ee286422a352eef9d0fe205fb13157960484d53","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.10.tgz","fileCount":45,"unpackedSize":90632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa1OGyCRA9TVsSAnZWagAApZ4QAJ4aehO0cXrPnHkemOpZ\nbGeZc/C8HJ19ctQse5KMoqV2BzntTsgbMzGY0Ro1UTqaHnuldc6tDWgbOSfe\nUXn/6BOTeh8iVAWasJ+6MMyrXvykJUgXua1toaGrua9OsxwNVajuMfEUwL9H\n8sRYUYk3l32ijXnt9oER9qk3xM34K1rMeFEEl3yABWOe4z6I8s945+tPTcLL\nBTv5RC2GiyCdLfGfI3CsapSNToK+GBz2CwalPQlMvgU1WR7R3xXvygONE8yv\nZmDM/jE4ET7XRhvSs6oNoQr9LgDndbCuTS/lZmSnsyrjx0J/Vutu5G9Dfx2v\nEhMkum2cT8SBKHY6cReT76UbQ6+pmU5WsNKYwz2Jw1z7BPZJHybQPWO/BBul\nQUD0vvpZYJIv8n1YyLqUkz6dfqWqdgkzAgNb2Lwi3zwB94A4cqSvGFhQ8+DR\nhECziUfQxkxCqww9zK/6FToZkHTMXxrh2sBEBv5xq7irJbttqs2vLL9tztUL\ntpXeCmgHN6Qaf+sZQsPDB6HH7Saz4OS/KZHdVdsI6ma3AuLZJLM3rQKFfwqa\nDlb8aoKCKFYToCrqh8Bm97cPiGIKPBpww6dSKF0Hq5XeOTeRWt5lyCVty2NM\nXdDtRpfw73ySyS4ZbRbHePheeB7Ya1wBrO4C1sKLk8KWjIFhJCj6JzXAanrD\nyA9R\r\n=zwAv\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-nvhwtcIpEGyXxS2HOsPLfuh2uolstWZWNIJfwyMUKQaX7cAMywloqNGJOYgT0Uy+5SdHk5BFWzbyBgS+cLdE0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC66RqWm9arPCzTF1yg3djmLdjm+1lQHyG0XEkbLaas/AIgXb9c4MEnbpurR/Jpe18i+SPbgFC5OfRfnU5oaxKBy3w="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.10_1523900849821_0.01792030250529919"},"_hasShrinkwrap":false},"0.3.11":{"name":"codeblock","main":"./codeblock.js","version":"0.3.11","pm":{"publish":"npm"},"dependencies":{"bash.origin":"^0.1.85","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"devDependencies":{"bash.origin.workspace":"^0.2.62","colors":"^1.1.2","diff":"^3.0.1"},"scripts":{"test":"bash.origin.test tests"},"description":"codeblock.js ============","_id":"codeblock@0.3.11","_npmVersion":"6.3.0","_nodeVersion":"9.4.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-0JyIIRRQp0/GKRCqvLsZeKGXLSKcW05oA6Y+uVG4ZkkehO3GPMgewMR/5Ixtipzg5mG22LHQvad2KypTtDmAYA==","shasum":"2f9128bf785ed5bbcc2a7a179678bd0cc74c4ef5","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.11.tgz","fileCount":52,"unpackedSize":96235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbeRgHCRA9TVsSAnZWagAA/LsQAIiQPGDvnPaLUierhB1S\nus7KVERjDe5eF3Wq1f60rEv6uC60W2wmSpu3eOQOLyLpubOkSt/wR0V/Yuym\nnKLgwm7sSKAk8DKHsILMJR2vu2RY29qxR0pAEtvuPBDzYqH1Nd7Fld2atKkc\naKDnCqwJ3Mjtp2YU2ArvgvwplI0xaGXliDaEytKb9F3Pb+uSikHe5wAGGtwZ\nc5BPWNBG54xH+Va5DSu5j0+zDwJNM/LaYefN19lXEodJ80JfhCxHAlAVKZkh\nFciW1ppCHxn2zL07SAfLLeRn9K1XLT6atr4ysQIiMW0mByz4Sn9C33Dhv6uU\nCYBBFGnXX6SJDJ7R8zmG8QKzC/YfvSO961sLcXHa3j2kaZC8rT9JHjpwEUak\noPxMOqGR5skbnz2b5yaQ4FtJp3KUG/Y1i7rkipMahEiU6DmohgMJfdqFiT8N\n/eNgdLW5IxoZc4HrSYsQhidPb/x7Uu7NhHawomEf2CpPmDLGT8Xxv4NxezN9\nmaataKy5NqKeOhYIr+/BHAfDBWyKolZM3FNgYCuUfy9LGna4y9JmGZE6TKic\nYkqv3HIICqiwBjo7qZuocBgbBK6Y0sCiCtGEdZIzJnZGmts7OZ0mdOC37F/k\n2PKdtHYqtMSIXA1JT9kdfSN9L8/lyDNmJ86s8Av78fu6tPP/n6M/7Ch9xv1y\nLmcb\r\n=9eGo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXdmSCpEvvwpQc+XwwDtfn94Lubek6oa+b/i3thK2WRAIhAPNIgkQbzK/3HP0X1WPFi9f7Fn0gXhH28JKil4iBD6SP"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.11_1534662663130_0.2910555957726624"},"_hasShrinkwrap":false},"0.3.12":{"name":"codeblock","main":"./codeblock.js","version":"0.3.12","pm":{"publish":"npm"},"dependencies":{"bash.origin":"^0.1.90","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"devDependencies":{"bash.origin.workspace":"^0.2.62","colors":"^1.1.2","diff":"^3.0.1"},"scripts":{"test":"bash.origin.test tests"},"gitHead":"ca579b35b30523c274b886e0cce6ae521bc216b2","description":"codeblock.js ============","_id":"codeblock@0.3.12","_npmVersion":"6.4.1","_nodeVersion":"10.7.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-GpNZEKUKz8DPwTvO8sT0BLhWDO0S1c7L5RX5J/tpnytJ000Gomge653dsYOybPR5KZtQ/UmI3ZA7XAtjhVC5hQ==","shasum":"9dddb4bbd73eac959c391a9616e86e45c402e90c","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.12.tgz","fileCount":55,"unpackedSize":104128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/2MWCRA9TVsSAnZWagAAjvUP/RwsH29EF6F5PKzmy5se\nFAf6USIiMezsjRz87TiF57G9mty/OxtbNCbZBTiy+jcBZ9l56dqDcTtsCh+k\nVlMelWmFWjCd/YliId5cXYhy6UOI8C4BT3nTbufc9Xx4+Uf57UsEDcTS3WAH\nLIbk6fWmP/R/Blno/mZ831EdkOTNLnyrGcQxnBzc1glKaa3YQpF9Y2xor3nY\nBp6U7ZmkiIuSJcmvoHzfbKsNpDIAHwGNjtVFPCCCDnc8xXin4Aclw3Me8Gb9\nWkeMpk8el/Qb0uPREKYrhP/GMwxph/gl8tb0m+QhdJiNjGxAiHVviG1zmRg+\nhdZ7cGw0NIm2QJxaBvtMDfsFOrgrfqeGon8LC5ZuyfRUkrNG69gSs+R3ODco\nBc4LtK2V4kj8Av11dN4bbB7/s4oq63fdNpsYkCcFfRepcncY+IM3zaeOmk3x\nyTDFmJEMpmWKPEbcnmVJqxitoLkmC7ewnUchYOt8Bp/X6/VC+BArWjC0pBFb\nx/a+DNsukUBFR4S70O2YT/+qnBft/jbn5RBs/GB4Pgr1wbHAy/rg/dp1TuXj\n/Y8Trx3SmuCDSgjd476I+D7quISJXzt/GYm5pJAMQkHGpET75IIf2OsbyMCF\nKbqyJwHolcJCqwgl4+DncDuBDxKGRu6ipKPBEdGVuOBKZq6rvqW/q3XANt4w\nxLdt\r\n=gUbB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDQYrUCPTwEd+ofqKrk2M26C/Fmu8IyCFZOi10Kx1JAMAiBgVYt7kZd6ZWarxDqIY4/1czfC84rp5A8LOK09islK2A=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.12_1543463701824_0.3848331612793483"},"_hasShrinkwrap":true},"0.3.13":{"name":"codeblock","main":"./codeblock.js","version":"0.3.13","pm":{"publish":"npm"},"dependencies":{"bash.origin":"^0.1.90","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"devDependencies":{"bash.origin.workspace":"^0.2.62","colors":"^1.1.2","diff":"^3.0.1"},"scripts":{"test":"bash.origin.test tests"},"gitHead":"ad392cb4dc8bb397c1648f23ce5a9f6863040921","description":"codeblock.js ============","_id":"codeblock@0.3.13","_npmVersion":"6.4.1","_nodeVersion":"10.7.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-3etpV0M5Li+737HNomOtzjx12xYPREMfGyQVg0jvMWV1E67BzoqySfM1x+pilNluRCHK0m1jEkluBtxpZBNbUw==","shasum":"2c9223af17fc40af59af48458bd15e33748a33b1","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.13.tgz","fileCount":55,"unpackedSize":104422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/2M1CRA9TVsSAnZWagAAE9IQAKSXALBNQ/GUrHSUv4o6\nWwYMOjJ1EmFrL+0tARQgGZVHes1a0IoOuqQqEXCCcvTM7BreSz4i+yMNpdlR\nEK0uk3+OIzm8qfDwEyzxt1BP27Ig+bwaCbnS7RJDe99+xQf1LizO//5G0u7K\ntGPz9X5XCwG18ovket0D0Y01745xkH9oHDz5OIlorPV43MyeQNDIKtn4Ycqq\nLar/i6O40eKuIWMDEFxV9cr8Bar1NC6RPzSh2k4tme78SgYFep8soqABYlsD\npgAaTLXPKVDCMYmVREvYSE40C/TkX0PGOItzBhwpcOSS5yy/NWNKsO9eQ5mL\nqrsdHn6gHFH8j4y9o64zCevcVYEuk1ktq9i4uuVdZyzZq2HuscXGt5ibK4iQ\njS6d6f8quiqcxMdFeczhu3SW3IvgNh5xA6BJF2xSSXJiQBSi0RBYt3kLUo+K\ngcVbe3xin6DH1bb7IZpVToC1IGr4a41BZ1tbwOj74LQ2nbAGf7clu7Wh3PV+\n8Yq250pcJBWRprjz7zv0VRZY2I1cJY3IEQHODqTpPQAOQKFqCQ5k44kFeYEr\nnKt8yAIhct8dpoZlGg6CjAyjvjCIWBU5G9LmTZudOUB2JCjNbHgOVCz39DMG\nqOnptzReiKqshHm3l9C7CAHs8S9y90/vqOMYN970xN0QBWTzwmcrF9haIbcy\nkgd3\r\n=6tqC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkGBZdqtQIgz8vuwZpwFVHvDos3t4+D8tkkg9avXB32gIgFuYW7k2gVr8T0kCsDqcR6hBc3RrOg7+3jIkzHk22gW4="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.13_1543463732981_0.16777814336907038"},"_hasShrinkwrap":true},"0.3.14":{"name":"codeblock","main":"./codeblock.js","version":"0.3.14","pm":{"publish":"npm"},"dependencies":{"bash.origin":"^0.1.90","escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6"},"devDependencies":{"bash.origin.workspace":"^0.2.62","colors":"^1.1.2","diff":"^3.0.1"},"scripts":{"test":"bash.origin.test tests"},"gitHead":"b648e696cdc3d8eff253093f2e83bbb0052f0c21","description":"codeblock.js ============","_id":"codeblock@0.3.14","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-AIL3VKWUO9QqthZsGcTQBK4QxC+9DFF3kFc64ZpHTooaCvab/dqX3LRLVAMw0qfMxucQSBZST8WlDFjW+utiHQ==","shasum":"bea8d00b19e0320c9e26f97bdf75db844b7e006f","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.14.tgz","fileCount":53,"unpackedSize":98160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUTArCRA9TVsSAnZWagAAIHIP/3L2THO6PjbsjUmTLCVu\n55VdcbmsF2uv9c6dd404hk8ETCq51O4+igQgn2ALHTAmAX+DkRxQ+0Igrzhq\neG0W5TBtDtjYoK55Eh23+WAO5ZyHVMsaODktKvF4ySo8LTYAO1wDri6DEL8Q\nNCwMLQ1lnIibR9+uLmdfgutGW5XKdqZrccfSO434qIxF/oSDzS+uANc2C4YU\nOwpbNWtkKftFqUQwZzBBK9yJXiuzq3erYVFYY6UUCVud23PU81jMQimq0w5R\nV7mUuNjtM+nDcNAPNmr32CZ+Uz9ZrZEpcLl4Ccxa9ZBLJKwSK/Lx5utda6JQ\n+xW/eMnCiO7AHGpGhIUahydfid5u+fW84eQX4ls8wLrnWdQ+8IF0rvikdoLS\nC4OwVtP1/O+z6Yqedr7tCTmSPyDRe4Yyth4w8Mapap3RL1jM4VZ6sGiTnsbi\nK2Xdgv/OArlcvL1cA2kTJM8nomADZ0iq8MvhSxhuvWDdnnuNlTmmfxoOPkck\n0mga/nYdvfDB4Ki2x3d7AEN+CnsVHMh0HZNEUgatDm6V78W7u0D2XjUO+ttr\n2//tIr982+/WfB69F6YN+SM+4m1EcmRjtiEj04Ul8A8dmb1sPph3itLXGCWy\n/uFOiXD3MRPuWHAE9lZZgFTuDJna+Ctfar/i/0pPiWgIiras0ns92VsQuIz8\njfIP\r\n=91Bb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG6ZSwlAkDvjhn9gxjo2+a8HjPi66KIq4JacqAchYGa6AiAZ8Gd36DbR+XJcoPilIeJw2bg0leIUw95CQ2L3apxclA=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.14_1548824618843_0.28119919444895136"},"_hasShrinkwrap":false},"0.3.15":{"name":"codeblock","main":"./codeblock.js","version":"0.3.15","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"diff":"^3.0.1","bash.origin.lib":"^0.4.0-pre.0"},"scripts":{"test":"bash.origin.test tests"},"gitHead":"1b408dcc85072832e917045ad9b23c1980fd891a","description":"codeblock.js ============","_id":"codeblock@0.3.15","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"dist":{"integrity":"sha512-9bAJn3f2gTKP15fjnefcbS42gtqOPUi+IKrWNKpQnlbWutoZp9nEEqvJWtb0YN3hrVRV73kp/jLYfh2OBHojlw==","shasum":"52e7787971fb206e63e948b0c7be9adca5a81322","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.15.tgz","fileCount":54,"unpackedSize":100185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdYOsQCRA9TVsSAnZWagAAaKAP/2O85URPsipmmHJzXHRz\ncSHKfjogFbQYNmCJC61Iai+drMwN7j8ggaTo68YdjQi46NF5ueyht1dV/FWC\nszJz5bdDu/gMp4ZJno9N5utuFnAYVaOnuUl1XwgAsxL+08NejvBEvO1b5ZiC\nHCdxeOj5BLX+jVTBWRoTrpRATYLK70Z0x/u9jpi0fgF6kGq/4mjd+7P/VvMv\n4zPrQyFaEFa0WzIKudboVTGs7h5jMGMeVMvkDr8A6pp/gQhQCMB/Iukl1tD4\ny/rj63dK4+Xzs845/APr/K6GgxSEbvG3uPTVCTXg6YCXoHSmqo+MP6KRzyFa\nGdJCkuQapRK1i5FNpmJYfyb4/F9gDKU26auS1/GwVLTBOhGiLIpeP3tO4HGJ\nSEVgcOsofNRA8CjkvjqMEMKK2/fj6LPPY/E3c5agkoQHPm8WqWvcF1wtVyUU\n/cmYzWDQYGZ60QdCcj7Q9m4pNPP8HRLljV8sqzauuJ9rJkcQ2W8xY4mBvCle\na3TKX4yhLQyrf06YJKDAuywARTiEAbzrhPbJ3iPexpEJYwkxfJEF3bFraaTH\nTBaUuNEarIDkzsmt31GCYpt6dq4vcXoyTiwWTpK8cJ2nhM9JC4wH7aqor3nO\nNMw1ol6LNgBph1I8W3bHNCRzXhQqIodVkwzlyqsbUJA7qeN7WB/t11yQ7NaR\nmc0N\r\n=KtCb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzNPOMDIKD5v8ehMVu5VB5YuYjiPeCfgbK8ZHafUVupAiEA2BbwLtA2ur/+4xGq+xYTqAvPpPWmd9gW2LHjFfinps8="}]},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.15_1566632720039_0.7902792085559718"},"_hasShrinkwrap":false},"0.3.16-pre.0":{"name":"codeblock","main":"./codeblock.js","version":"0.3.16-pre.0","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"bash.origin.test":"^0.2.0-pre.10","fs-extra":"^8.1.0","diff":"^3.0.1","mocha":"^7.0.1"},"scripts":{"test":"bash.origin.test tests"},"readme":"codeblock.js\n============\n\n[![CircleCI](https://circleci.com/gh/0ink/codeblock.js.svg?style=svg)](https://circleci.com/gh/0ink/codeblock.js)\n\nAdds **Code Block support to JavaScript**. A `codeblock` is **source code** of some kind,\nwrapped in a syntax that specifies boundaries `(LANGUAGE (ARG) >>>CODE<<<)` and variables `%%%ARG%%%` to be replaced.\n\n**main.js**\n````js\nexports.TEST = {\n    \"main\": (javascript () >>>\n\n        console.log(\"Hello World\");\n\n    <<<)\n};\n````\n\nSuch a `codeblock` is compiled for execution **at build time** or using a **require overlay** in NodeJS.\n\nInstall\n-------\n\n````sh\nnpm install codeblock --save\n````\n\nAPI\n---\n\nFor a list of all features see [tests/run.js](https://github.com/0ink/codeblock.js/blob/master/tests/run.js) and [tests/](https://github.com/0ink/codeblock.js/tree/master/tests).\n\n````js\nconst CODEBLOCK = require(\"codeblock\");\n\n// Parse codeblocks in required JavaScript modules\nCODEBLOCK.patchGlobalRequire();\n\n// Load JavaScript Source using NodeJS 'require' overlay\nconst TEST = require(\"main.js\").TEST;\n\n// Freeze from JavaScript Object to JSON\nvar frozen = CODEBLOCK.freezeToJSON(TEST);\n\n// Thaw from JSON to JavaScript Object again\nvar obj = CODEBLOCK.thawFromJSON(frozen);\n\n// Re-Freeze from JavaScript Object to JSON\nvar refrozen = CODEBLOCK.freezeToJSON(obj);\n\n// Freeze from JavaScript Object back to original JavaScript Source\nvar source = CODEBLOCK.freezeToSource(obj);\n\n// Compile all codeblocks for running\nvar compiled = CODEBLOCK.compileAll(obj);\n\n// Run all codeblocks (for use in NodeJS)\nvar result = CODEBLOCK.runAll(made);\n\n````\n\n\nSource Formats\n==============\n\n`codeblock` supports converting between the following **interchangeable** source formats.\n\n## JavaScript Source\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": (javascript (data) >>>\n\n        console.log(\"%%%data.message%%%\");\n        console.log(data.message);\n\n        return data.message;\n    <<<)\n}\n````\n\n## JSON\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"%%%data.message%%%\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": false\n    }\n}\n````\n\n## JavaScript Instanciated\n\n````js\nexports.TEST = {\n    data: {\n        message: 'Hello World'\n    },\n    main: {\n        [Function: WrappedCodeblock]\n        [length]: 1,\n        [name]: 'WrappedCodeblock',\n        [arguments]: null,\n        [caller]: null,\n        [prototype]: WrappedCodeblock {\n            [constructor]: [Circular]\n        }     \n    }\n}\n````\n\nTarget Formats\n==============\n\n**NOTE:** The target formats cannot be converted back to their original source formats\nas information is typically lost in the process of converting from source to target.\n\n## Compiled\n\nAll `%%%` delimited variables are replaced with variables passed in as argument.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"Hello World\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": true\n    }\n}\n````\n\n## Executed\n\nThe `codeblock` is run using an interpreter and the result replaces the\noriginal `codeblock`.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": \"Hello World\"\n}\n````\n\nProvenance\n==========\n\nOriginal source logic under [MIT License](https://opensource.org/licenses/MIT) by [Christoph Dorn](http://christophdorn.com/).\n","readmeFilename":"README.md","gitHead":"a948946450060a59fa51ab38e2ca869bbdb40cef","description":"codeblock.js ============","_id":"codeblock@0.3.16-pre.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-0wWbtMCmEc9/gsN9uX2C/U/6UfOrvipxtgKQmc6P0q6pre0YF+NbkJOBxx+et4Wmk3y+gwWhQ2GsOn4CMVFwOg==","shasum":"80a2119b479e3250c282e7f8b4a40efde29d7fdf","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.16-pre.0.tgz","fileCount":54,"unpackedSize":100758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSkRUCRA9TVsSAnZWagAAOr0P/2Y6Kve99i4BMViUR62u\nJf9LBqX2DO6VDrTsWgQK9FaSOnvyrnhnNomsn1rp8vw4fu+qEYaIRG5SDqs0\ntn4g7as8m3rvRaLKHuhxZBAq003o/j3hjSFlYDCPd1EYpDA8VkXnR1pO9MYh\nC1zyG5+bLO+Cv0t7GfYqz7zAXRFCFOpzZ2o+2zTHn6LE4Rn2KC0Xw/TOYNrf\niIHRk7EeC7iokwcR3BnEDhZW/ZXVuppMHQ3Nseqac05g6Qsu00BMgpdgQdJY\nJbIJaMiBxJfioawdcBdeMOmv8+LIqIAoOANS9Z9GAXv+mx0l/GsnO3UDfF5o\nX23V6Nh/cTwhNK0eUsdsUaA+rou/YNwSmpLrEn2E8ijazlYNxvmsn9Zd7HOC\ndQ4TCs2UPLH7CPhx3Rs3l9TRZoB23/N+N5JdAHTx7c9l49zOxQu12Yb51ANM\n3wf32CGMUXrVR6HElyTcupT9geMmeaig2Wmz8/32MefSkp13d67hTOXQx/Ac\nkWbQ8eErq/odnmg1NoEO87vcSl1EZ2GY0WlX3u2bn9hsLXbf4snLlm56uiq4\nlz9DxPii6+j/Bik9VAI0W/MXavJQCkhq/vcvwJB+VVCLBHpSVc0jFEP+4aQ6\nX7A2p3DMLXZtKv13sYmjo7sj8lqBME9ATGTJ1ka5rko/KgKVl5zBMBinnXb5\nnl+w\r\n=WSHj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEtKrnlrBr4XuwLncE9VCVItakG7CyMMw6VuMbGbxsYoAiAhrAWkWDWxA8FKiHYht5DBiYAWzkpEDqzjpKKAJrprNw=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.16-pre.0_1581925460036_0.263324095492421"},"_hasShrinkwrap":false},"0.3.16-pre.1":{"name":"codeblock","main":"./codeblock.js","version":"0.3.16-pre.1","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"bash.origin.test":"^0.2.0-pre.10","fs-extra":"^8.1.0","diff":"^3.0.1","mocha":"^7.0.1"},"scripts":{"test":"bash.origin.test tests"},"readme":"codeblock.js\n============\n\n[![CircleCI](https://circleci.com/gh/0ink/codeblock.js.svg?style=svg)](https://circleci.com/gh/0ink/codeblock.js)\n\nAdds **Code Block support to JavaScript**. A `codeblock` is **source code** of some kind,\nwrapped in a syntax that specifies boundaries `(LANGUAGE (ARG) >>>CODE<<<)` and variables `%%%ARG%%%` to be replaced.\n\n**main.js**\n````js\nexports.TEST = {\n    \"main\": (javascript () >>>\n\n        console.log(\"Hello World\");\n\n    <<<)\n};\n````\n\nSuch a `codeblock` is compiled for execution **at build time** or using a **require overlay** in NodeJS.\n\nInstall\n-------\n\n````sh\nnpm install codeblock --save\n````\n\nAPI\n---\n\nFor a list of all features see [tests/run.js](https://github.com/0ink/codeblock.js/blob/master/tests/run.js) and [tests/](https://github.com/0ink/codeblock.js/tree/master/tests).\n\n````js\nconst CODEBLOCK = require(\"codeblock\");\n\n// Parse codeblocks in required JavaScript modules\nCODEBLOCK.patchGlobalRequire();\n\n// Load JavaScript Source using NodeJS 'require' overlay\nconst TEST = require(\"main.js\").TEST;\n\n// Freeze from JavaScript Object to JSON\nvar frozen = CODEBLOCK.freezeToJSON(TEST);\n\n// Thaw from JSON to JavaScript Object again\nvar obj = CODEBLOCK.thawFromJSON(frozen);\n\n// Re-Freeze from JavaScript Object to JSON\nvar refrozen = CODEBLOCK.freezeToJSON(obj);\n\n// Freeze from JavaScript Object back to original JavaScript Source\nvar source = CODEBLOCK.freezeToSource(obj);\n\n// Compile all codeblocks for running\nvar compiled = CODEBLOCK.compileAll(obj);\n\n// Run all codeblocks (for use in NodeJS)\nvar result = CODEBLOCK.runAll(made);\n\n````\n\n\nSource Formats\n==============\n\n`codeblock` supports converting between the following **interchangeable** source formats.\n\n## JavaScript Source\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": (javascript (data) >>>\n\n        console.log(\"%%%data.message%%%\");\n        console.log(data.message);\n\n        return data.message;\n    <<<)\n}\n````\n\n## JSON\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"%%%data.message%%%\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": false\n    }\n}\n````\n\n## JavaScript Instanciated\n\n````js\nexports.TEST = {\n    data: {\n        message: 'Hello World'\n    },\n    main: {\n        [Function: WrappedCodeblock]\n        [length]: 1,\n        [name]: 'WrappedCodeblock',\n        [arguments]: null,\n        [caller]: null,\n        [prototype]: WrappedCodeblock {\n            [constructor]: [Circular]\n        }     \n    }\n}\n````\n\nTarget Formats\n==============\n\n**NOTE:** The target formats cannot be converted back to their original source formats\nas information is typically lost in the process of converting from source to target.\n\n## Compiled\n\nAll `%%%` delimited variables are replaced with variables passed in as argument.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"Hello World\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": true\n    }\n}\n````\n\n## Executed\n\nThe `codeblock` is run using an interpreter and the result replaces the\noriginal `codeblock`.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": \"Hello World\"\n}\n````\n\nProvenance\n==========\n\nOriginal source logic under [MIT License](https://opensource.org/licenses/MIT) by [Christoph Dorn](http://christophdorn.com/).\n","readmeFilename":"README.md","gitHead":"603e22f4ac22630e8a2ae6cc5c61e013143df66a","description":"codeblock.js ============","_id":"codeblock@0.3.16-pre.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-cGADrJzjB+IVdmCeuqJFFXO/QSZZ4c8Maxq9cN/exxUaj3sHyINZCdjN7a5FvZ9+1t1ngJSirrgTLXyyIOpyzQ==","shasum":"dfa81e945ad3128cc2b981f70a63a5a32652d7c4","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.16-pre.1.tgz","fileCount":54,"unpackedSize":101330,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTvwYCRA9TVsSAnZWagAAfG4P/REq2Y1NGwP6ELlIL8eq\nEuUxowGfk5lvzFxXHCSpOImPxyOK81koAzNpYkp2AwG7J7se5ogmfu1Pyh7d\nVBSOtNt6VdhnzvXvFl3ljH4lJGltZySOCZWGiyDcY4vAqqOFyog3LwE79tL5\ndl5HX8q/yGBNSaB5ht5DMUeHkNsZUHOK1G6quLQcOUZgdKoazKbvwjlb/BGx\ntEnDqqJTpHE6/aCb6Lt4nMZ5+xeKsU8riB7if8D29zmHMcqNOIc7f2IS9FNv\nCdgrfw0huNlRwp1eyWCe0mc54cKfOua+phRrQd/nyh4g4dNucWjD6TFVv2xM\nLoyuarTXxhrVGRpUjrioNjKX09Wb6ys2um5WaDor6bGT7GmWapgg+TospbvB\nIH1L9c0Vju8VeEc2vfWv2a7yFIyZEhjJiVHh+tWAeNOUiyjahg0xkZMnNrmd\ntLtPdmp2x7/07XQ2lRTog7NILpwfm3B+ifU0NFZggDlfpCRC6flHkPddRMb7\nI29t/9cIvjgzFkTe9Ev9BlVlcsuAnzHLKXYEt8GVlLk/ISQfJR4+DewEwh8j\nUiXmw0vRmI4XsdL8KGybl6pIqzL4djCVmcI+33ADw5PsgRsjIlPo4zHtvarh\nztPVm8gkhhajfS6yRKmLEh7hTTEp++ubaxuF/z75vfvudqq8H18jbccVkjlZ\nLQwH\r\n=/Qip\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpykPMuFWth5GgpgOudRC6wjf3R3Vvnl6EsjoqGIi/CgIgV3hBAr9S4JD3/1BNLBTdp1uoXujcQpA12j5u/NKApHc="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.16-pre.1_1582234647642_0.44395918717861194"},"_hasShrinkwrap":false},"0.3.16-pre.2":{"name":"codeblock","main":"./codeblock.js","version":"0.3.16-pre.2","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"bash.origin.test":"^0.2.0-pre.10","fs-extra":"^8.1.0","diff":"^3.0.1","mocha":"^7.0.1"},"scripts":{"test":"bash.origin.test tests"},"readme":"codeblock.js\n============\n\n[![CircleCI](https://circleci.com/gh/0ink/codeblock.js.svg?style=svg)](https://circleci.com/gh/0ink/codeblock.js)\n\nAdds **Code Block support to JavaScript**. A `codeblock` is **source code** of some kind,\nwrapped in a syntax that specifies boundaries `(LANGUAGE (ARG) >>>CODE<<<)` and variables `%%%ARG%%%` to be replaced.\n\n**main.js**\n````js\nexports.TEST = {\n    \"main\": (javascript () >>>\n\n        console.log(\"Hello World\");\n\n    <<<)\n};\n````\n\nSuch a `codeblock` is compiled for execution **at build time** or using a **require overlay** in NodeJS.\n\nInstall\n-------\n\n    npm install codeblock\n    node_modules/.bin/lib.json from node_modules > .~lib.json\n\nAPI\n---\n\nFor a list of all features see [tests/run.js](https://github.com/0ink/codeblock.js/blob/master/tests/run.js) and [tests/](https://github.com/0ink/codeblock.js/tree/master/tests).\n\n````js\nconst CODEBLOCK = require(\"codeblock\");\n\n// Parse codeblocks in required JavaScript modules\nCODEBLOCK.patchGlobalRequire();\n\n// Load JavaScript Source using NodeJS 'require' overlay\nconst TEST = require(\"main.js\").TEST;\n\n// Freeze from JavaScript Object to JSON\nvar frozen = CODEBLOCK.freezeToJSON(TEST);\n\n// Thaw from JSON to JavaScript Object again\nvar obj = CODEBLOCK.thawFromJSON(frozen);\n\n// Re-Freeze from JavaScript Object to JSON\nvar refrozen = CODEBLOCK.freezeToJSON(obj);\n\n// Freeze from JavaScript Object back to original JavaScript Source\nvar source = CODEBLOCK.freezeToSource(obj);\n\n// Compile all codeblocks for running\nvar compiled = CODEBLOCK.compileAll(obj);\n\n// Run all codeblocks (for use in NodeJS)\nvar result = CODEBLOCK.runAll(made);\n\n````\n\n\nSource Formats\n==============\n\n`codeblock` supports converting between the following **interchangeable** source formats.\n\n## JavaScript/JSON Source\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": (javascript (data) >>>\n\n        console.log(\"%%%data.message%%%\");\n        console.log(data.message);\n\n        return data.message;\n    <<<)\n}\n````\n\n## JavaScript/JSON Serialized\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"%%%data.message%%%\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": false\n    }\n}\n````\n\n## JavaScript Instanciated\n\n````js\nexports.TEST = {\n    data: {\n        message: 'Hello World'\n    },\n    main: {\n        [Function: WrappedCodeblock]\n        [length]: 1,\n        [name]: 'WrappedCodeblock',\n        [arguments]: null,\n        [caller]: null,\n        [prototype]: WrappedCodeblock {\n            [constructor]: [Circular]\n        }     \n    }\n}\n````\n\nTarget Formats\n==============\n\n**NOTE:** The target formats cannot be converted back to their original source formats\nas information is typically lost in the process of converting from source to target.\n\n## Compiled\n\nAll `%%%` delimited variables are replaced with variables passed in as argument.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"Hello World\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": true\n    }\n}\n````\n\n## Executed\n\nThe `codeblock` is run using an interpreter and the result replaces the\noriginal `codeblock`.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": \"Hello World\"\n}\n````\n\nProvenance\n==========\n\nOriginal source logic under [MIT License](https://opensource.org/licenses/MIT) by [Christoph Dorn](http://christophdorn.com/).\n","readmeFilename":"README.md","gitHead":"501ed102a14de078549d5ea9bd496271ded366e3","description":"codeblock.js ============","_id":"codeblock@0.3.16-pre.2","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-4VbeQhng/sTlAxsz9bZfv9AhxGakjy7gL7p1U86hEu2bMquvc2Zyes4lMzpnVL2G3rFdPdd+zWf62Gt1nheaXg==","shasum":"8735a9a257c9a1385ac53ee6e107ee26ae4c48b9","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.16-pre.2.tgz","fileCount":57,"unpackedSize":103720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeh6IxCRA9TVsSAnZWagAAhTQP/2Uj+etDwy+mb1yoBYtB\nca7cA4056QaqA1pIhD8gFGl6Gm3LH6wqpyUcqaP/EihGYNCu+NCYd2xynpyQ\nRwfXykr9ATpm6neVd0wHjTFZZq7e0E3pfvrp97jWI7w5cNf6F7oCj5IXLrON\nsB1jNMeygJ7lW39iqyB7pzL5L4KQ3ceqjjSzLDk9x3yOL+Y1nV9966iS8Yaw\ns690iHGJjOUjUnXTZWl4GZAOc/rTGbYz3KY+zMOwuoQKA0a5n7JV4DnDOPDP\nDb6ft2oEL0vKo4wLUoXXpTiFpD5PSEMlv1pQAtxgRJrzxRcI73PnHptxHq8Q\nFziM1WovzdYQbINvtbsKe3WID1ub/ZBc8PGWtjiJ7uG5mUlsxIi3iOlPJFvO\ngRzZ2JWqG16kI4vx4E3QNpnKkKrBbXE6eBJX1WII+WPmDk5y1McjKF7V9iEK\nseh3a1aWCdpxaRbLXRUVNxHkfXlsnSDj5A5ssP44489fyY1M9Yr7oJ2gpLYW\nx1E2dMGabYDaYZCNqXS5VcxK6t3X3C7S9xv1CSxFFGoKYFouW0qAGvIN0U6i\nEfNYQZtW9aUQUWvjE2PwJ6u7PNd8VjDNGRfOERsTVwz3/L5l2D6PTvklCHSK\nVnIE4bxYViYZbnl/++9QSf0OgIrKsIDtFKfPukRlvb2NYHB2h8WjKebujZjM\nKXYR\r\n=SxIX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBYH5aDggc9/Cm97aeDEhiYWWW2PLFceXveQu8e9ZSZHAiEA6Wv/QdRm7ma6eM+/T3lkuAeuvHhFYhB3ttZUJuzazTU="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.16-pre.2_1585947184650_0.702715725457467"},"_hasShrinkwrap":false},"0.3.16-pre.3":{"name":"codeblock","main":"./codeblock.js","version":"0.3.16-pre.3","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"bash.origin.test":"^0.2.0-pre.10","fs-extra":"^8.1.0","diff":"^3.0.1","mocha":"^7.0.1"},"scripts":{"test":"bash.origin.test tests"},"readme":"codeblock.js\n============\n\n[![CircleCI](https://circleci.com/gh/0ink/codeblock.js.svg?style=svg)](https://circleci.com/gh/0ink/codeblock.js)\n\nAdds **Code Block support to JavaScript**. A `codeblock` is **source code** of some kind,\nwrapped in a syntax that specifies boundaries `(LANGUAGE (ARG) >>>CODE<<<)` and variables `%%%ARG%%%` to be replaced.\n\n**main.js**\n````js\nexports.TEST = {\n    \"main\": (javascript () >>>\n\n        console.log(\"Hello World\");\n\n    <<<)\n};\n````\n\nSuch a `codeblock` is compiled for execution **at build time** or using a **require overlay** in NodeJS.\n\nInstall\n-------\n\n    npm install codeblock\n    node_modules/.bin/lib.json from node_modules > .~lib.json\n\nAPI\n---\n\nFor a list of all features see [tests/run.js](https://github.com/0ink/codeblock.js/blob/master/tests/run.js) and [tests/](https://github.com/0ink/codeblock.js/tree/master/tests).\n\n````js\nconst CODEBLOCK = require(\"codeblock\");\n\n// Parse codeblocks in required JavaScript modules\nCODEBLOCK.patchGlobalRequire();\n\n// Load JavaScript Source using NodeJS 'require' overlay\nconst TEST = require(\"main.js\").TEST;\n\n// Freeze from JavaScript Object to JSON\nvar frozen = CODEBLOCK.freezeToJSON(TEST);\n\n// Thaw from JSON to JavaScript Object again\nvar obj = CODEBLOCK.thawFromJSON(frozen);\n\n// Re-Freeze from JavaScript Object to JSON\nvar refrozen = CODEBLOCK.freezeToJSON(obj);\n\n// Freeze from JavaScript Object back to original JavaScript Source\nvar source = CODEBLOCK.freezeToSource(obj);\n\n// Compile all codeblocks for running\nvar compiled = CODEBLOCK.compileAll(obj);\n\n// Run all codeblocks (for use in NodeJS)\nvar result = CODEBLOCK.runAll(made);\n\n````\n\n\nSource Formats\n==============\n\n`codeblock` supports converting between the following **interchangeable** source formats.\n\n## JavaScript/JSON Source\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": (javascript (data) >>>\n\n        console.log(\"%%%data.message%%%\");\n        console.log(data.message);\n\n        return data.message;\n    <<<)\n}\n````\n\n## JavaScript/JSON Serialized\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"%%%data.message%%%\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": false\n    }\n}\n````\n\n## JavaScript Instanciated\n\n````js\nexports.TEST = {\n    data: {\n        message: 'Hello World'\n    },\n    main: {\n        [Function: WrappedCodeblock]\n        [length]: 1,\n        [name]: 'WrappedCodeblock',\n        [arguments]: null,\n        [caller]: null,\n        [prototype]: WrappedCodeblock {\n            [constructor]: [Circular]\n        }     \n    }\n}\n````\n\nTarget Formats\n==============\n\n**NOTE:** The target formats cannot be converted back to their original source formats\nas information is typically lost in the process of converting from source to target.\n\n## Compiled\n\nAll `%%%` delimited variables are replaced with variables passed in as argument.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"Hello World\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": true\n    }\n}\n````\n\n## Executed\n\nThe `codeblock` is run using an interpreter and the result replaces the\noriginal `codeblock`.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": \"Hello World\"\n}\n````\n\nProvenance\n==========\n\nOriginal source logic under [MIT License](https://opensource.org/licenses/MIT) by [Christoph Dorn](http://christophdorn.com/).\n","readmeFilename":"README.md","gitHead":"ca67b793b67eff7ed63e69ce38519114c35f17e7","description":"codeblock.js ============","_id":"codeblock@0.3.16-pre.3","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"dist":{"integrity":"sha512-mv3/8Umc8Sp548y4vIYP9mXsGJ+leGtbXmeGYM7Y82f5Jq6gHzuWkPFSB7EdCxHvdP9B/IUAoBMV1hd9kwtA4w==","shasum":"6f962c79072c2345a57f8b84c8e0b8de241949e5","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.3.16-pre.3.tgz","fileCount":57,"unpackedSize":103741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei9UBCRA9TVsSAnZWagAA59cP/R2oxJQo2CA41MlfR5iV\n9OImrILwsnwERe1BJWgpCRMP1EtK53a/Yv1GRuoaytoFEjcC3/KVyUzURd0l\nXK9bsPhf2nfYG2uOgIfaafywTE4mDplAQX/XavmFzdjEsq9atME10fTHVIDj\ndv24IsHHyldKTVtmyU5q9m1dWdHfLPQRQN3axnYvSBJdM2ZQjblGrJMijrgc\n3QjcxYKZKTBmKX0mrFpSgBQuXzR7bnVeEbf2A3TSjgkhOZfZd8ed1DbiqOyk\nTP7iODGlW6/peI0mOXLWvN9NuRBIEcJMb4dadsTile2L9xevkpUI54o7ujWO\nm7aNHQtbg7xayp0yJLA1LsR3nwVuhWPSncuwa697Au07G7zYrArYh6luOu2h\naACowFzISPCvnK4Zi0k16YqdeBmFx1dyrX/t12rwqJywdAzbp7k1aqzYys0r\nL08Zr4TCm14JCWmci2N3+t4mrV9x4qGQBa4wQIczILJ+MV36CDcKJd5l+Ncp\n0ShTJDJFfiKi1U3PXJf2xfVP9b6g+gu7DYcFlQzj4E9JgIysVKH7Kl9oHYm3\n/D8PsGwTxWDZJCbtbyNuSFWdJlTU61HtKUAPiKHAmp2YXfx2zWREB2wNh3M2\nJwaac2jt2ILZJ18uQRw0Zsl77DBgYMA9Vs9vScErxuyU1LAzkBW/Lesvvqm/\nuZt5\r\n=duvp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUMm+1EFcvf3gh0p46JL/LpTyKOx8/lUZy1YrDcIiLZAIhALgjoZWfIyo1mKSBd1+u/wRcntXwKO2B/DZLEWMUv6rt"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.3.16-pre.3_1586222336811_0.1490376972855716"},"_hasShrinkwrap":false},"0.4.0-pre.0":{"name":"codeblock","main":"./codeblock.js","version":"0.4.0-pre.0","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"bash.origin.test":"^0.3.0-pre.0","fs-extra":"^8.1.0","diff":"^3.0.1","mocha":"^7.0.1"},"scripts":{"test":"bash.origin.test tests"},"readme":"codeblock.js\n============\n\n[![CircleCI](https://circleci.com/gh/0ink/codeblock.js.svg?style=svg)](https://circleci.com/gh/0ink/codeblock.js)\n\nAdds **Code Block support to JavaScript**. A `codeblock` is **source code** of some kind,\nwrapped in a syntax that specifies boundaries `(LANGUAGE (ARG) >>>CODE<<<)` and variables `%%%ARG%%%` to be replaced.\n\n**main.js**\n````js\nexports.TEST = {\n    \"main\": (javascript () >>>\n\n        console.log(\"Hello World\");\n\n    <<<)\n};\n````\n\nSuch a `codeblock` is compiled for execution **at build time** or using a **require overlay** in NodeJS.\n\nInstall\n-------\n\n    npm install codeblock\n    node_modules/.bin/lib.json from node_modules > .~lib.json\n\nAPI\n---\n\nFor a list of all features see [tests/run.js](https://github.com/0ink/codeblock.js/blob/master/tests/run.js) and [tests/](https://github.com/0ink/codeblock.js/tree/master/tests).\n\n````js\nconst CODEBLOCK = require(\"codeblock\");\n\n// Parse codeblocks in required JavaScript modules\nCODEBLOCK.patchGlobalRequire();\n\n// Load JavaScript Source using NodeJS 'require' overlay\nconst TEST = require(\"main.js\").TEST;\n\n// Freeze from JavaScript Object to JSON\nvar frozen = CODEBLOCK.freezeToJSON(TEST);\n\n// Thaw from JSON to JavaScript Object again\nvar obj = CODEBLOCK.thawFromJSON(frozen);\n\n// Re-Freeze from JavaScript Object to JSON\nvar refrozen = CODEBLOCK.freezeToJSON(obj);\n\n// Freeze from JavaScript Object back to original JavaScript Source\nvar source = CODEBLOCK.freezeToSource(obj);\n\n// Compile all codeblocks for running\nvar compiled = CODEBLOCK.compileAll(obj);\n\n// Run all codeblocks (for use in NodeJS)\nvar result = CODEBLOCK.runAll(made);\n\n````\n\n\nSource Formats\n==============\n\n`codeblock` supports converting between the following **interchangeable** source formats.\n\n## JavaScript/JSON Source\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": (javascript (data) >>>\n\n        console.log(\"%%%data.message%%%\");\n        console.log(data.message);\n\n        return data.message;\n    <<<)\n}\n````\n\n## JavaScript/JSON Serialized\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"%%%data.message%%%\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": false\n    }\n}\n````\n\n## JavaScript Instanciated\n\n````js\nexports.TEST = {\n    data: {\n        message: 'Hello World'\n    },\n    main: {\n        [Function: WrappedCodeblock]\n        [length]: 1,\n        [name]: 'WrappedCodeblock',\n        [arguments]: null,\n        [caller]: null,\n        [prototype]: WrappedCodeblock {\n            [constructor]: [Circular]\n        }     \n    }\n}\n````\n\nTarget Formats\n==============\n\n**NOTE:** The target formats cannot be converted back to their original source formats\nas information is typically lost in the process of converting from source to target.\n\n## Compiled\n\nAll `%%%` delimited variables are replaced with variables passed in as argument.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"Hello World\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": true\n    }\n}\n````\n\n## Executed\n\nThe `codeblock` is run using an interpreter and the result replaces the\noriginal `codeblock`.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": \"Hello World\"\n}\n````\n\nProvenance\n==========\n\nOriginal source logic under [MIT License](https://opensource.org/licenses/MIT) by [Christoph Dorn](http://christophdorn.com/).\n","readmeFilename":"README.md","gitHead":"8162c9d290462d8839c0d7fcc3db538a5aa39e7a","description":"codeblock.js ============","_id":"codeblock@0.4.0-pre.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-HJi2WflOSXd6+N6jp/GqMhc4hA/byFlp2iHIn0xRtcx8ykwI/alUjN7aERrDZ/TFCtc8gi3GYvRd1yE+4J7AgQ==","shasum":"c5438bba170c134350f474dd0346e28e0cdbbe88","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.4.0-pre.0.tgz","fileCount":61,"unpackedSize":112821,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4wNjCRA9TVsSAnZWagAAALIP/i+h2T3l0Wj8zyeDmTHd\nShTk0hnUWA+YJuXdbjEmwNODW8vSUceudeii30TgdVLOeGwrwYYStaikvZC8\nWS/sFgEzaPdfboW5QLsT3HtvEnPgu+2SLKLXyxdY/ExVD7O4bbYqQ27QDM/K\nXiIMMt4H0D/OrEMcFR/j80LoUwDjjX6wLQMO1Zm7bnwzJJizk/Ilhn4kZf/J\nFnNd4JzA85jn9zVcrsOilsNCFhsSuK498v2zMrSgehdR7hu58K5pXU9n7ctG\nyZN0JCQBEkqVFxqZUG5y7wZzNtwhMKCgCwphDnkhNrvTfoRPCN3+5apDcw1T\nagC/g3FUCil00Mv8kRVGEirkLGbRzkCSW1Lv+wj55/gZp2k+aW1jRc/SBmgK\nW97dd8JRzg6xVec/XHN99HLjkMmIaRs79xPIExTjOiiZv9O57c4OgXIPqmpu\nAbN6nfftQUOQ/JGDd/6GpRYrkzE2TtQT8PseYeTl1eFgYEDcOsJVesNkMkhb\nD5P6tgR+HTta3g5lPtVFAnx1zFqbQghzEFMatX67ykEhAv3JfEIZkrhE+/5+\ncgjt1/36q3TxpEk/rjfOfHaIO+a9CgZnDmx+IaGhOwr0xd8VlrTrG5CE6t4L\nQyhsEB8xQ25KeLPcp+cdox3HHmEmATl7IiG7RYNuhbK7zS9kj7/4AwyShUU3\nhVuo\r\n=PMIh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDtqX9dRciepWrSdz6mnWulb1cLweCFvhdITgOu9FzPwAiAqhzmfxx18Dgs5r1AQdZfa68j6NeOgMC/Seb1mLxjazw=="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.4.0-pre.0_1591935842975_0.34598471812427434"},"_hasShrinkwrap":false},"0.4.0-pre.1":{"name":"codeblock","main":"./codeblock.js","version":"0.4.0-pre.1","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"bash.origin.test":"^0.3.0-pre.0","it.pinf.org.browserify":"^0.2.0-pre.0","fs-extra":"^8.1.0","diff":"^3.0.1","mocha":"^7.0.1"},"scripts":{"test":"bash.origin.test tests"},"readme":"codeblock.js\n============\n\n[![CircleCI](https://circleci.com/gh/0ink/codeblock.js.svg?style=svg)](https://circleci.com/gh/0ink/codeblock.js)\n\nAdds **Code Block support to JavaScript**. A `codeblock` is **source code** of some kind,\nwrapped in a syntax that specifies boundaries `(LANGUAGE (ARG) >>>CODE<<<)` and variables `%%%ARG%%%` to be replaced.\n\n**main.js**\n````js\nexports.TEST = {\n    \"main\": (javascript () >>>\n\n        console.log(\"Hello World\");\n\n    <<<)\n};\n````\n\nSuch a `codeblock` is compiled for execution **at build time** or using a **require overlay** in NodeJS.\n\nInstall\n-------\n\n    npm install codeblock\n    node_modules/.bin/lib.json from node_modules > .~lib.json\n\nAPI\n---\n\nFor a list of all features see [tests/run.js](https://github.com/0ink/codeblock.js/blob/master/tests/run.js) and [tests/](https://github.com/0ink/codeblock.js/tree/master/tests).\n\n````js\nconst CODEBLOCK = require(\"codeblock\");\n\n// Parse codeblocks in required JavaScript modules\nCODEBLOCK.patchGlobalRequire();\n\n// Load JavaScript Source using NodeJS 'require' overlay\nconst TEST = require(\"main.js\").TEST;\n\n// Freeze from JavaScript Object to JSON\nvar frozen = CODEBLOCK.freezeToJSON(TEST);\n\n// Thaw from JSON to JavaScript Object again\nvar obj = CODEBLOCK.thawFromJSON(frozen);\n\n// Re-Freeze from JavaScript Object to JSON\nvar refrozen = CODEBLOCK.freezeToJSON(obj);\n\n// Freeze from JavaScript Object back to original JavaScript Source\nvar source = CODEBLOCK.freezeToSource(obj);\n\n// Compile all codeblocks for running\nvar compiled = CODEBLOCK.compileAll(obj);\n\n// Run all codeblocks (for use in NodeJS)\nvar result = CODEBLOCK.runAll(made);\n\n````\n\n\nSource Formats\n==============\n\n`codeblock` supports converting between the following **interchangeable** source formats.\n\n## JavaScript/JSON Source\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": (javascript (data) >>>\n\n        console.log(\"%%%data.message%%%\");\n        console.log(data.message);\n\n        return data.message;\n    <<<)\n}\n````\n\n## JavaScript/JSON Serialized\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"%%%data.message%%%\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": false\n    }\n}\n````\n\n## JavaScript Instanciated\n\n````js\nexports.TEST = {\n    data: {\n        message: 'Hello World'\n    },\n    main: {\n        [Function: WrappedCodeblock]\n        [length]: 1,\n        [name]: 'WrappedCodeblock',\n        [arguments]: null,\n        [caller]: null,\n        [prototype]: WrappedCodeblock {\n            [constructor]: [Circular]\n        }     \n    }\n}\n````\n\nTarget Formats\n==============\n\n**NOTE:** The target formats cannot be converted back to their original source formats\nas information is typically lost in the process of converting from source to target.\n\n## Compiled\n\nAll `%%%` delimited variables are replaced with variables passed in as argument.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"Hello World\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": true\n    }\n}\n````\n\n## Executed\n\nThe `codeblock` is run using an interpreter and the result replaces the\noriginal `codeblock`.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": \"Hello World\"\n}\n````\n\nProvenance\n==========\n\nOriginal source logic under [MIT License](https://opensource.org/licenses/MIT) by [Christoph Dorn](http://christophdorn.com/).\n","readmeFilename":"README.md","gitHead":"0d9e1afd640a0a81b1305334a04107ee724605fd","description":"codeblock.js ============","_id":"codeblock@0.4.0-pre.1","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-AGOJhzO99ekCRhawQV0SgXDBuLn3n9XWaBqYj45EP0qhtQql04ZrjAZ8pEjdR4cDECa02JWE/LkSdgKs3xEpzQ==","shasum":"7f31c5588eb120d5c56201f3422ff350388825cb","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.4.0-pre.1.tgz","fileCount":63,"unpackedSize":115178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYATlCRA9TVsSAnZWagAAQB8P/3RceGNCIKX68mGNrhGH\nA//y+5qdhitQuYxAkXpHyNMn7VXA4B+uZ7bgAjHTEyzxxqsk3862V4eBON9k\nkLbkJEyLixs3TZ7CEp3uWytqVaRiBc4SEydu6KmJ/rArT07ayIThhsjM7c3E\nKTsKx2WqgcUBs/7YdC4OCycfOO3iNXP/oWY04XcvmPB4i7ZeIzG9xV+tutOH\nK3FVx4hnboSHvK6r02rMiHAtGDorNqcOYp8xQ2WuEG1bVDsXgXxswJmEoevw\nF7hIve2DChGsxzZb0f+EYQTwOZxYcLS1d4Ojbsaup3LPNKSP5cJR/JqthAzp\n5lX5ql2vP0L0o7sD77OFL7kevdr889AB8wFgcvgy+uxiZECKE6Fk2Zq7mtD/\nsyXo5MwvopIo8gy6i8fYOY4MChszYV7HwYXC4MUHzO773P5D5vdsyMv+3Sy6\nx2ApngXPEy0u41hi7cpMXFTIf5vrv0vwZ8oqleaRHW7mcAWAcMTaZpEEehsk\nKrJ6Drl4ToSUR1tI+p1eQJpK+nL3cp1sNWjpuz0RgM+Zc7PkuwRHa2fKmdAx\nlSUwVoTqfC6gdBOEACop/eMWpf334TWpf5yEYXh7xttIT9DXYr95SN7A32A7\nVh5QpGvb0gl30I+cv6cwSkm+kCbZIhrmSbRmCzSTOpupqOlYA0dkoNewRZm+\nu4u7\r\n=+tD0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkmcgOA2tv1vx2dWRXQlcACYYVu4IQ5EjFeb2rwHHM5wIhAISMn6OeOEZprqRJcgqgYiQpO8q85mkywEYDOcAfE5Sc"}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.4.0-pre.1_1600128229152_0.6755392453655367"},"_hasShrinkwrap":false},"0.4.0-pre.2":{"name":"codeblock","main":"./codeblock.js","version":"0.4.0-pre.2","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"bash.origin.test":"^0.3.0-pre.0","it.pinf.org.browserify":"^0.2.0-pre.0","fs-extra":"^8.1.0","diff":"^3.0.1","mocha":"^7.0.1"},"scripts":{"test":"bash.origin.test tests"},"readme":"codeblock.js\n============\n\n[![CircleCI](https://circleci.com/gh/0ink/codeblock.js.svg?style=svg)](https://circleci.com/gh/0ink/codeblock.js)\n\nAdds **Code Block support to JavaScript**. A `codeblock` is **source code** of some kind,\nwrapped in a syntax that specifies boundaries `(LANGUAGE (ARG) >>>CODE<<<)` and variables `%%%ARG%%%` to be replaced.\n\n**main.js**\n````js\nexports.TEST = {\n    \"main\": (javascript () >>>\n\n        console.log(\"Hello World\");\n\n    <<<)\n};\n````\n\nSuch a `codeblock` is compiled for execution **at build time** or using a **require overlay** in NodeJS.\n\nInstall\n-------\n\n    npm install codeblock\n    node_modules/.bin/lib.json from node_modules > .~lib.json\n\nAPI\n---\n\nFor a list of all features see [tests/run.js](https://github.com/0ink/codeblock.js/blob/master/tests/run.js) and [tests/](https://github.com/0ink/codeblock.js/tree/master/tests).\n\n````js\nconst CODEBLOCK = require(\"codeblock\");\n\n// Parse codeblocks in required JavaScript modules\nCODEBLOCK.patchGlobalRequire();\n\n// Load JavaScript Source using NodeJS 'require' overlay\nconst TEST = require(\"main.js\").TEST;\n\n// Freeze from JavaScript Object to JSON\nvar frozen = CODEBLOCK.freezeToJSON(TEST);\n\n// Thaw from JSON to JavaScript Object again\nvar obj = CODEBLOCK.thawFromJSON(frozen);\n\n// Re-Freeze from JavaScript Object to JSON\nvar refrozen = CODEBLOCK.freezeToJSON(obj);\n\n// Freeze from JavaScript Object back to original JavaScript Source\nvar source = CODEBLOCK.freezeToSource(obj);\n\n// Compile all codeblocks for running\nvar compiled = CODEBLOCK.compileAll(obj);\n\n// Run all codeblocks (for use in NodeJS)\nvar result = CODEBLOCK.runAll(made);\n\n````\n\n\nSource Formats\n==============\n\n`codeblock` supports converting between the following **interchangeable** source formats.\n\n## JavaScript/JSON Source\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": (javascript (data) >>>\n\n        console.log(\"%%%data.message%%%\");\n        console.log(data.message);\n\n        return data.message;\n    <<<)\n}\n````\n\n## JavaScript/JSON Serialized\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"%%%data.message%%%\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": false\n    }\n}\n````\n\n## JavaScript Instanciated\n\n````js\nexports.TEST = {\n    data: {\n        message: 'Hello World'\n    },\n    main: {\n        [Function: WrappedCodeblock]\n        [length]: 1,\n        [name]: 'WrappedCodeblock',\n        [arguments]: null,\n        [caller]: null,\n        [prototype]: WrappedCodeblock {\n            [constructor]: [Circular]\n        }     \n    }\n}\n````\n\nTarget Formats\n==============\n\n**NOTE:** The target formats cannot be converted back to their original source formats\nas information is typically lost in the process of converting from source to target.\n\n## Compiled\n\nAll `%%%` delimited variables are replaced with variables passed in as argument.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"Hello World\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": true\n    }\n}\n````\n\n## Executed\n\nThe `codeblock` is run using an interpreter and the result replaces the\noriginal `codeblock`.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": \"Hello World\"\n}\n````\n\nProvenance\n==========\n\nOriginal source logic under [MIT License](https://opensource.org/licenses/MIT) by [Christoph Dorn](http://christophdorn.com/).\n","readmeFilename":"README.md","gitHead":"c2246c9cd3aea8d294ea8a39c639e06674460856","description":"codeblock.js ============","_id":"codeblock@0.4.0-pre.2","_nodeVersion":"12.18.1","_npmVersion":"6.14.5","dist":{"integrity":"sha512-QalVJKewPbHEMT2VWrSI3p8w2vh8u4WHtVLq/MXhTSSSUBuurymC5Tu+EJeYEYtqoz0xluIJOYWMvZq0I286hA==","shasum":"096ed372e9ab881ef6d6da741ed3829c5efb90cc","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.4.0-pre.2.tgz","fileCount":63,"unpackedSize":118008,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYPnoCRA9TVsSAnZWagAA9M4QAJuU7k6advKLGUOkP2bU\nBalc/7zGSmVovrqvdY7c/IM4ZKfS8U6R0aUaBOnF+TIVgehzIOFv8AvMItHv\nIDKGlky6SvO1bf5sNmvnBU4z2hHtkrydEYwAKMyMjSKi96kFJ5NawBH4rKG+\nehwNIyMsswlXnecaoVztLBHL4pzDGqRKsZ0HNNW2MksgjI3orKLHRTAwCmFt\n/R94MWgYXKiQ48XuUZT2Gxy6TYTOdrctBU3PQpY5d92tbwzfX40UvVxM6qTK\nfLnVb2ukqyo7dPn4IwdlzzpnMwxorMLFC+iIUb86DMcumhe07UaPybmZeBqt\nVRx9/iYKCoIczdLE8V6Z8Id1vsQ2XKDXfTZDkQJsnn71H1ecLFSAVUdYAPco\n181MtSSI9LDB5pfsPk6dEw3DaTWGlcX+/DcEyDdoF9L7fngDU6YygmWGDcAG\n5hcbR2QEASuf20/fmGRnr7sbKkXa2L6XuBMRncpLAqEYHLPkbQgGhT2aHIAh\nseb9UstRSxFo91N719DPrS2Xjb0fQxJumzF5PqR39fuP0txR8Yz+csZVdVYl\n+qWOf4I7RBBY7XFi/rHwOvMkKv9pQuQX4qMBQMSJFrPRZPsO0/HB+9Zh/y+f\nyiCKkYxH66nVI1qq0LsnaXHIka1FTpmVk8a2hu09pVYN01rwptZBe9M8bx3s\nw9bn\r\n=CRLB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICq1tH32UFcxxbJ+LO/ZaOkJ76paRdL1TcDlUu9u+E2tAiEAs2hO5eEofvU/l/wzNVLslmkVzXfYHfeTLtsGj5gXP0c="}]},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.4.0-pre.2_1600190951784_0.22361852356773615"},"_hasShrinkwrap":false},"0.4.0-pre.3":{"name":"codeblock","main":"./codeblock.js","version":"0.4.0-pre.3","pm":{"publish":"npm"},"dependencies":{"escape-string-regexp":"^1.0.5","esprima":"^3.1.3","jsonlint":"^1.6.2","resolve":"^1.3.2","traverse":"^0.6.6","colors":"^1.1.2"},"devDependencies":{"bash.origin.test":"^0.3.0-pre.0","it.pinf.org.browserify":"^0.2.0-pre.0","fs-extra":"^8.1.0","diff":"^3.0.1","mocha":"^7.0.1"},"scripts":{"test":"bash.origin.test tests"},"gitHead":"135b5b0a55d81f5b98958feee9ada3fcb72ca40b","description":"codeblock.js ============","_id":"codeblock@0.4.0-pre.3","_nodeVersion":"12.19.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-tWKMLRjzLHpv+xdGX0dbqu3A3XrMcgaV6QGphFHF5+JmkHfgcN/wCqqFQWPVQCX4hdY6UIowh133ncomo9bkvQ==","shasum":"154d0253049c08b62aa1ad2846fb9c2754ba2125","tarball":"https://registry.npmjs.org/codeblock/-/codeblock-0.4.0-pre.3.tgz","fileCount":62,"unpackedSize":116573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcj+6CRA9TVsSAnZWagAAFloP/2IyqR4p3BbEkTZtTsVf\nIzNlre4T2ApoOgW/Xawq1ytNSi1uGlbZHqm6z1JXPNIiZeJHytbF6O6H0Em1\nc1ln0elFkGAqYRAbAKvQluh0CcXac1T89uDik6r4H6Cf7/dBorhFNlVZOaBS\nKgddAoN7Vt95PINaS4tuD4ToiLpZC89XFwLHj86dGy0Tf05ryLNCBwUb9J1G\nAbHvggeGzE/28PS2qEF03aioo4mkU05mYnFWDBxlaz6yNwLBmmOw7w8lXLhc\nLBBme7MenU5/33yL3sK3mtTrVGGCEn+9yyfJsChbTynFZDChJkj3pPePHhMX\nESDQSylb7Ovf//dN9JMEXUvmuNl+/zlnFnuwC3GzPI6yLhNSMDC57JyHYoKF\nbgfC8XRvh7vRmbX9J2GPzv3ui304cCH8UiVYiD+mzYD+DdrSebuHBBP51JIT\n9D/muE7tI73D+wgej5FvMYf+3eLsWhCY/56CGankS75DN7gTod1U75DSipZZ\nirZWtb/0wssh0kU/3ZE+2UUheWm3q4LYbUutuMSOpDfuD+5CYaJAvcTxnQe3\nJTctnv8lxPcdN/LLarxKLGpao+3jdr04OWwdkERJuaNP+DyK0P07jKxJ8xG9\nPKTBbpCDGgETFaIv7rlMgexY/Xy+KL2HygnLX9pWtoRB7YiEpjH04kvCjIKq\nhBQZ\r\n=nNA6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDTk9RhDVFpdtT6U403mXJwr4+qp63xkDMQZds/CqBkwIhAPa148SsK/aqZoJCdIM8oMDRs9K0ifeN8etK0F2/niAC"}]},"_npmUser":{"name":"cadorn","email":"christoph@christophdorn.com"},"directories":{},"maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/codeblock_0.4.0-pre.3_1618100153866_0.5801966133232503"},"_hasShrinkwrap":false}},"readme":"codeblock.js\n============\n\n[![CircleCI](https://circleci.com/gh/0ink/codeblock.js.svg?style=svg)](https://circleci.com/gh/0ink/codeblock.js)\n\nAdds **Code Block support to JavaScript**. A `codeblock` is **source code** of some kind,\nwrapped in a syntax that specifies boundaries `(LANGUAGE (ARG) >>>CODE<<<)` and variables `%%%ARG%%%` to be replaced.\n\n**main.js**\n````js\nexports.TEST = {\n    \"main\": (javascript () >>>\n\n        console.log(\"Hello World\");\n\n    <<<)\n};\n````\n\nSuch a `codeblock` is compiled for execution **at build time** or using a **require overlay** in NodeJS.\n\nInstall\n-------\n\n    npm install codeblock\n    node_modules/.bin/lib.json from node_modules > .~lib.json\n\nAPI\n---\n\nFor a list of all features see [tests/run.js](https://github.com/0ink/codeblock.js/blob/master/tests/run.js) and [tests/](https://github.com/0ink/codeblock.js/tree/master/tests).\n\n````js\nconst CODEBLOCK = require(\"codeblock\");\n\n// Parse codeblocks in required JavaScript modules\nCODEBLOCK.patchGlobalRequire();\n\n// Load JavaScript Source using NodeJS 'require' overlay\nconst TEST = require(\"main.js\").TEST;\n\n// Freeze from JavaScript Object to JSON\nvar frozen = CODEBLOCK.freezeToJSON(TEST);\n\n// Thaw from JSON to JavaScript Object again\nvar obj = CODEBLOCK.thawFromJSON(frozen);\n\n// Re-Freeze from JavaScript Object to JSON\nvar refrozen = CODEBLOCK.freezeToJSON(obj);\n\n// Freeze from JavaScript Object back to original JavaScript Source\nvar source = CODEBLOCK.freezeToSource(obj);\n\n// Compile all codeblocks for running\nvar compiled = CODEBLOCK.compileAll(obj);\n\n// Run all codeblocks (for use in NodeJS)\nvar result = CODEBLOCK.runAll(made);\n\n````\n\n\nSource Formats\n==============\n\n`codeblock` supports converting between the following **interchangeable** source formats.\n\n## JavaScript/JSON Source\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": (javascript (data) >>>\n\n        console.log(\"%%%data.message%%%\");\n        console.log(data.message);\n\n        return data.message;\n    <<<)\n}\n````\n\n## JavaScript/JSON Serialized\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"%%%data.message%%%\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": false\n    }\n}\n````\n\n## JavaScript Instanciated\n\n````js\nexports.TEST = {\n    data: {\n        message: 'Hello World'\n    },\n    main: {\n        [Function: WrappedCodeblock]\n        [length]: 1,\n        [name]: 'WrappedCodeblock',\n        [arguments]: null,\n        [caller]: null,\n        [prototype]: WrappedCodeblock {\n            [constructor]: [Circular]\n        }     \n    }\n}\n````\n\nTarget Formats\n==============\n\n**NOTE:** The target formats cannot be converted back to their original source formats\nas information is typically lost in the process of converting from source to target.\n\n## Compiled\n\nAll `%%%` delimited variables are replaced with variables passed in as argument.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": {\n        \".@\": \"github.com~0ink~codeblock/codeblock:Codeblock\",\n        \"_code\": \"\\nconsole.log(\\\"Hello World\\\");\\nconsole.log(data.message);\\n\\nreturn data.message;\",\n        \"_format\": \"javascript\",\n        \"_args\": [\n            \"data\"\n        ],\n        \"_compiled\": true\n    }\n}\n````\n\n## Executed\n\nThe `codeblock` is run using an interpreter and the result replaces the\noriginal `codeblock`.\n\n````js\nexports.TEST = {\n    \"data\": {\n        \"message\": \"Hello World\"\n    },\n    \"main\": \"Hello World\"\n}\n````\n\nProvenance\n==========\n\nOriginal source logic under [MIT License](https://opensource.org/licenses/MIT) by [Christoph Dorn](http://christophdorn.com/).\n","maintainers":[{"name":"cadorn","email":"christoph@christophdorn.com"}],"time":{"modified":"2022-06-13T06:25:41.619Z","created":"2016-11-26T19:07:54.812Z","0.2.0":"2016-11-26T19:07:54.812Z","0.2.1":"2016-11-27T01:09:35.690Z","0.2.2":"2016-12-12T07:36:04.594Z","0.2.3":"2017-03-07T22:40:18.522Z","0.2.4":"2017-03-07T23:04:39.787Z","0.2.5":"2017-03-09T16:22:07.788Z","0.2.6":"2017-03-10T18:04:46.212Z","0.2.7":"2017-03-11T17:17:44.817Z","0.2.8":"2017-03-13T18:43:27.354Z","0.2.9":"2017-03-27T01:18:32.325Z","0.3.1":"2017-04-28T05:50:28.841Z","0.3.2":"2017-05-22T07:49:48.960Z","0.3.3":"2017-06-12T23:24:04.742Z","0.3.4":"2017-08-31T01:47:26.482Z","0.3.5":"2017-10-23T06:03:42.851Z","0.3.6":"2017-11-16T02:58:57.746Z","0.3.7":"2017-11-21T05:34:30.915Z","0.3.8":"2017-12-02T04:59:52.641Z","0.3.9":"2018-03-16T20:17:46.283Z","0.3.10":"2018-04-16T17:47:29.934Z","0.3.11":"2018-08-19T07:11:03.235Z","0.3.12":"2018-11-29T03:55:02.087Z","0.3.13":"2018-11-29T03:55:33.058Z","0.3.14":"2019-01-30T05:03:38.956Z","0.3.15":"2019-08-24T07:45:20.215Z","0.3.16-pre.0":"2020-02-17T07:44:20.220Z","0.3.16-pre.1":"2020-02-20T21:37:27.761Z","0.3.16-pre.2":"2020-04-03T20:53:04.771Z","0.3.16-pre.3":"2020-04-07T01:18:56.937Z","0.4.0-pre.0":"2020-06-12T04:24:03.136Z","0.4.0-pre.1":"2020-09-15T00:03:49.331Z","0.4.0-pre.2":"2020-09-15T17:29:12.273Z","0.4.0-pre.3":"2021-04-11T00:15:54.009Z"},"readmeFilename":"README.md"}