{"_id":"fileable","_rev":"31-f7784146363612294101c81aa1c86fad","name":"fileable","dist-tags":{"latest":"0.0.24","next":"0.0.5-6"},"versions":{"0.0.0":{"name":"fileable","version":"0.0.0","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/readme.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.0","node-fetch":"2.3.0","react":"16.8.4","react-dom":"16.8.4","rimraf":"2.6.3","rollup":"1.6.0","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2"},"devDependencies":{"@babel/core":"7.3.4","@babel/preset-env":"7.3.4","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.3.3333"},"gitHead":"723653036495a97d942e45603bce4df27c35a60f","_id":"fileable@0.0.0","_nodeVersion":"11.12.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-sIrubuHBWUOKElol/h/gNQb+ljcK1dwcZQUcsKv28jTijZX0tcu8/H8u1REkARKn28tb6uGvV+2JC+Q8NMV5kg==","shasum":"b6b1958451d46caf379e78800703d122c9b9e50c","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.0.tgz","fileCount":26,"unpackedSize":68172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoGwTCRA9TVsSAnZWagAAal4P/3eDHARbH7vUdgUlfedy\nUa+fqJA5xkO88nSCHnTRjz6zUNj1v90vq8zqx3VEm85HkNIlBqaJ/i3MVUWQ\n4UrcGsU8AR8lOBWe+v42pflc1tABjUAopcS2Yw8mxQ2zLY0Zuf0nqVYyMflK\nTdGLSUs7797iaONLFtNsnXmoqo51LwO0eFWQ+upaAuJqY3zge7j7iGN8vwv5\n7GFZNfpYnpkz3H42xEyQLZ4HoFHmnRPx3K1BiUAF1JgxngqlkbkBP/Pqef4D\nTM3HRNrleOhvRfzWgg6LU3kTn5TD4IfaToDDX40EYRfRrrD9t8l+Ti1QWVks\n9+Z6PEMZ5MEnjITv8SvCGm1Vh6LA0SYmg5CGD/fXkdwAVeP6ZVnBpN7JDlxe\nIeeWRg0GMyPkHrRBLy7s4dDlQKVbSdVSCxJ29Iv+MOSgJ8k3KpdvyVL2sCS0\nPt0smRLOtKuBt8IXT0dVpvJMy7g83XhxGb3iRkv35isd1ZokzsJFKx903Shs\nXy+pQfhuBwLnkL8nfJ9iWnMeP3eU+0CNgzPcHaXkV4IafVDcSTorQFzIHwPa\nB28s7W3q3EOo3IhgL/sygrSwyCnkIGp3iI0TTChi6vomgSe9JwMVvypT1y2B\nGSQ7gbqP7ei8dQTkvLRhnn1PW7BGU+ERha+75/olhQgDqa7AqKRmm2f1zbCd\n80QU\r\n=ifAb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfy3+3uJ/AeQHcGBk2WsqhQQCIonfAVcLKtj2ARf0lmwIhAMjaOVCG+9fKEfv/g447QdvNjkipgIoX7ycTUQjXW8y9"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.0_1554017298293_0.8304078087245477"},"_hasShrinkwrap":false},"0.0.1":{"name":"fileable","version":"0.0.1","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2"},"devDependencies":{"@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1"},"gitHead":"a24e4536a5bf3fe5363491d538272c2ba7d29de0","_id":"fileable@0.0.1","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-CBuIWjt4wtrhIp1yWsxViD3E6x7Sjn7PlBWWIqbk6CdsOo7N8zbtjrPy0GgEwqyH6ArgcnSzHDgxn1kP7eg9Rg==","shasum":"84c0a3c3c6413f6f40aedecb79ea589452f86291","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.1.tgz","fileCount":27,"unpackedSize":71896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoHagCRA9TVsSAnZWagAA6TAP/ixxXfYydw/siodg3HIU\n6dNQ8/emHmOzbFdyvQgs3wlILMmlItNEqAGkoA6C94Bg7CENhvuKUDrR7SxQ\nRJHlju1KDiGMQmNrJ13ZEmUumzDfQIpgNwWO+34dxH8cLqTJgCNLk+o2UO2s\nHlNxAg6vba5HFS2K2y002HS0YQFc+NOs9roCFYJAbQLTiSUpJW9uOodimRrI\nzFvEIn4y15nMzzutM+gnjf9N/UkMTjzCeF7xP7ii/i1vb0Dcw7qyHo0fc9Fp\nT1EfTe0js0sr3Airn81DpwBpz0+iFT88jmI8sSM3h/IyTmzriz6f3+WP2bmg\n+FMhjMdUjOoL3OZam6Vn9q49NUsO3s4QC0t6KsFrJj367acLhqpKQOFh8dHx\nrM/7hjIUFX7fr62E5oZBtNRfYJQht1uj6b4rSyO2NmjEN2OrsGQofkedZ7Yh\nFtBveb4FoesOkltjQknCD9zj54IMTlhUI8rZWkz6TUMrjE21+xSrmiS4C6wz\n6azd2u54DPm6HG0kR+IuMCSr1kXEvMRfFGUrsLf5VhdZRYlk9d7Gw8x1Tbbx\np68LMMLE+OPmIdoIc36QTO6Vg1oQinO0qGjVpTf3MGP9TmsH5STPOZRyIrsn\npHt338trRidmzDDj+P7GIDlbPLpRXdpr4ptMA7T1jjmcSSx7iUAVvHwRR6c+\nfmsF\r\n=roZm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICXaCxgKzglcV9JMnOyh3JGYczjUxv0kLxigWCyYUUkNAiBX3OqIDMWV0MOUghMDmS2cf6cTVXOJ7SOPKTZWhUhDug=="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.1_1554020000142_0.20428253087267834"},"_hasShrinkwrap":false},"0.0.2":{"name":"fileable","version":"0.0.2","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2"},"devDependencies":{"@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1"},"gitHead":"bd2107da539940f8f5bc54d33ef7b13b55bfee61","_id":"fileable@0.0.2","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-rY5LfdqPtSJHzHd4MWzaeCH95cpfVAOO+2ZvlGOdzAv+/z+zfJ+RHSt041s46cwjwOikw0iz836q5cX6I2OiSA==","shasum":"bccf27e2357470022159efcfef6ec01106743083","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.2.tgz","fileCount":27,"unpackedSize":71971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoHgkCRA9TVsSAnZWagAAytAQAKTDZqnxGI63kov1EW5H\nEUTxikauFWjyGNJPVHWyajZ/OsR5GksCuYwT0OHDq5VAxKRgxYZqiRYlQSrM\nlaeHLXuPutAg7HdzrSzSgvTN0zl5It7hX7wTT7cRCb3wunwS/snAvLEFag2H\noKXBA/L/YtoRZakQtYmd9wSdptHHIiq1E2Max6MjFETpRBUhSB3hwJ5Gb5rx\nooXG9uFGLWcP+TeGdGhDLIXVF+JorJpHxdoca2heS6JI9iCqxke6gpuwMxCv\n8qZfbxwwic3AyvZAfUfxrwfGeXFx3ED2nn0TE/Gpw7m+RqkoH6fJw2YhU3eS\nzCOS3BuRpcjzwtGj62ZpmbrY+o9SKjkj9X97BZXoGZvphqH/4ZVEgxtA9/nP\nUs9CMPvGNn7eC9G9+iZNGcrvCqky6Z2ATLaJJiFDm+yMg+/JeZdeCt7jfFk9\nkV8tTHPOP7jBjHriZr9VNEXu2Sacqg+iAKWQ4xM22xFwaXAdKXQyTnLlLx13\ngh5z1kEYEVU4w2CBtun0nbGYAYfzFvjYc8hKUb7NBB3PwoUPALKnIxWl9Z59\nn8M6miuOk5I20XIfXuguZpUVczIMwNviTi+K4p1LeDr/Aa3E8Pz9tdf7KBVD\n4ATzLUDQKXgeTl1UFvPQG9KXBcDe+jSHtbFPC/obDk4N/p5l26C5VjDrTTZ3\nRnTD\r\n=sdvu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSbtDCJhJ2mOcsQ/iuZBb9/UTDFmIumWtHrJa1Bn145AIgFAY9SrN5j4f5kQJ14TAJSfiXFsnX1hN7q295v410LOY="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.2_1554020387967_0.7995611405204819"},"_hasShrinkwrap":false},"0.0.3":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.3","description":"Render a file tree using a JSX template.","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"fileable-components":"0.0.1","@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2"},"devDependencies":{"@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1"},"gitHead":"ac5d682c16ee38e38fef417da233091fe239820e","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.3","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BRNbOZ+cUYrXR1cad0hdwoW8HyjPFfGSWfUEVtazGIWIvQtUmRGjfrwC/HhX1I0VvcNeJStFRUeMZ49JH4Y6Yw==","shasum":"b8f7b0622b4de001a6155d4bb17b6630ab58fb14","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.3.tgz","fileCount":23,"unpackedSize":57583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoIsNCRA9TVsSAnZWagAA4rgP/jCMp9Zn1CUB9PT5lDk5\nz349zBPV6BWNDcmLvDaoq/ghRquj23qGg1f1ms6+1QJwYQ8+FVygyv+bc67X\nI/nCdENPfJ61KRJmGlSHo4VCCYVvZS1LK6CMT9k+fPDliHg833wY9qqGXNZU\niBYq5LFQVDivigKwI/nwCv2Xw0h+85Ex8C0lx054mQc5JsFlKXrC3PuR3lQj\nudxI/AQgf4tnALp3QVrYGnrS/BGDaTBAZH16EuWJlS/8AcR9bTh0ETAEJPpC\ndCS8YUk0janTSyN9wW5B2+fY3kg+VoAhyWx5oUQ3WPEtN6cWvfDZ3UOW5BXI\ne2s19cZvYfwxg4ophrYpExSTqt/ZpWSIqjK0qlo/IUVKwo1/dstl5WddD0au\nyBG3szNVMb0+cEoPhYe6JdtFEsI8ZaVyNJ0vkRxQgOGEDSgnuzPNE6MSb8Hi\nNX/oAZf2eSEtVapH81bsZZB0mpqnWqBbyVrDRnQQu9rxxJwlOEIY+WaaUe3F\nQk7hjHtO+O1P0+tgZrzecZ05ONtKGmxLnWrogDyP+pcsJA2Vs+i4ij7OhArv\n6QH/seJBhER5tIbf1Or4rtBjK7EyK+Xi6YdoSfjcKIXai5uPq9LiH0XZaDFc\nCBQomGAq0mHcyFCkEzyd1f0WAOVOVQLWu3C4d9B2fMCQA2xEqyaNFsGYfOC0\nCdpo\r\n=Hw68\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFhiZZxBPtJC32jaY4p2/BXWsOQF+0aM9rt2tXFBJ4iQIhAKbK9dmnwzelsz/PG5qrSDCVB8UuyfT73NseRRD53ZIw"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.3_1554025228717_0.20662376941575267"},"_hasShrinkwrap":false},"0.0.4":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.4","description":"Render a file tree using a JSX template.","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"fileable-components":"0.0.1","@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2"},"devDependencies":{"@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1"},"gitHead":"af770b154999e071acaf60218acec85434fba417","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.4","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-tSYAFazUn5hU/+6a6QkP57cn739iOqiVy1Ww0vt3kNIpMexU0DAnpsfRx5BPfmxBZ05lXZ2TGHsQGNItzsLlwA==","shasum":"76444883c3e67bb36b00b2a62b2c8857ff27ac1e","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.4.tgz","fileCount":23,"unpackedSize":57585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoI1sCRA9TVsSAnZWagAA2D0P/jIEQd7opWH4kC4z0zdX\nOURgVFjaRQCCPVdpR9H9wQM/TaXXjRGumxxid0oA/IfscTyXB2ZjXrg3ohq9\n4hNj2p/Fk1gRANEVH1JMtTm832zIfFoahxuVTAhNt4rrjpT5hP94LgClyWKc\nM6J40t2uu3dgqEp4xQZQ5p71yHR1EKKSu3ycKAf3kn9xiVSEwX51hWl6f+sy\nGTaDvd7+jTNAdA7Vs4QCsez7LAwcL9pXlMMf8HW6ly+15I0/OgCTVHNHXVbn\nbU0ZPDe7QxLr+GsLaXvMiXBvvzGTMwJjNlA/oTp2re2rlNcyyQuBS7O5L4YC\nNmkOgBD3n52ZUskQw31/UXXynD7RJUbcsp35tLJigouYSAWiV1KmmpWNrx8u\n8Twk/IwyBGzU+xIXO3QyWpIk2C/4FvHucFu8yL4GIxU4dQFbsZoz9t8LR4F3\nK7bMXK/7NrFV5CjvALjPrltxSUiwd4RnK4TEh9O5BeP0IMSIY6RTk3fk5rPz\nkCexTZYzN55KpHqEdVfRxpUTmx5s+dq5iBHktV6nGW675WlLWBFgKMBW5yBj\nOcZrQbNHcgpFm2eOmwHTC/WBq+wm/ZTQhweR467ipFYzXP36VN9nXfRLn2ZD\nHd19cvRwc9GJRhJynDHtsvE7XJuTdb59pGNFCr/R08BYQDaKqY0lE+yOQyKR\nFv0X\r\n=JYU7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE6/Upx8M7JSv+T/VwfZVwUb6yzsRSHok7tky5+QumQhAiBg/Ip9aiFsRccK3Alw3yJ3qQBN6GNc2Vc1NPconE6gCA=="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.4_1554025835552_0.8936799097654586"},"_hasShrinkwrap":false},"0.0.5-0":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.5-0","description":"Render a file tree using a JSX template.","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"fileable-components":"0.0.1","@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2"},"devDependencies":{"@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1"},"readme":"# Fileable\n\nRender a file tree using a JSX template.\n\nInspired by [React FS Renderer](https://github.com/ericvicenti/react-fs-renderer)\n\n## API -- Template\n\nFileable can render [functional components](https://reactjs.org/docs/components-and-props.html) built with the following components:\n\n\n### Component: File\n\nThe File component represents a file.\n\n```javascript\nimport {File} from 'fileable';\nconst template = ()=><File name='readme.md'>\n# This is a sample file.\n</File>\n```\n\nA file may have contain other files. Content will be concatinated.\n\n```javascript\nconst template = ()=><File name='readme.md'>\n    # This is a sample file.\n    <File>## This is more content</File>\n    <File>## As is this</File>\n    ## This is the end\n</File>\n```\n\n#### File Attribute: name\n\nIf a file is not the child of another file, this will be used as it's name.\n\n```javascript\nconst template = ()=><File name=\"empty_file\"/>;\n```\n\nIf no name is passed, a hash of the content will be used.\n\nBy default, the algorithm used is SHA_256, but a number of algorithms are available.\n\n```javascript\nimport {FILE_NAME_MD5, FILE_NAME_SHA_1, FILE_NAME_SHA_256, FILE_NAME_SHA_512, FILE_NAME_SHA_3} from 'fileable';\nconst template = ()=><File name={FILE_NAME_MD5}/>;\n```\n\n#### File Attribute: extension\n\nExtension appended to name.\nParticularly useful when name is autogenerated.\n\n```javascript\nconst template = ()=><File extension='.js'>\n...javascript content\n</File>;\n```\n\n#### File Attribute: src\n\nFile content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File src='https://www.google.com'>Google's Home Page:</File>;\n```\n\nIf src location is a local file, it is treated as so relative to given template.\n\n```javascript\nconst template = ()=><File src='./sibbling-of-template'/>;\n```\n\n#### File Attribute: cmd\n\nCommand will be run and content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File cmd='date'>Content created at:</File>;\n```\n\nIf cmd starts with '|', child content will be piped through command\n\n```javascript\nconst template = ()=><File name='.cheesefile' cmd='|grep Cheese'>\nLines containing \"Cheese:\":\n    - Feta Cheese\n    - Broccoli\n    - American Cheese\n    - Ham\n    - Bread\n    - Cheesebread\n</File>;\n```\n\n#### File Attribute: mode\n\nSet the mode of a file.\n\n```javascript\nconst template = ()=><File name='helloworld' mode={0o777}>\n#!/usr/bin/env node\nconsole.log('hello world');\n</File>;\n```\n\n#### File Attribute: doctype\n\nAdd a doctype preamble the mode of a file.\n\n```javascript\nconst template = ()=><File name='index.html' doctype='html'>\n{`<html>\n    <head></head>\n    <body></body>\n</html>`}\n</File>;\n```\n\n#### File Attribute: transform\n\nCommand will be transformed via given function\n\n```javascript\n\nconst addBeginning = (content)=>\n`// Begin$\n${content}`;\n\nconst template = ()=><File transform={addBeginning}>\n// Middle\n</File>;\n```\n\n#### File Attribute: append\n\nWhen used within other files, the append adds content to files after any transfomations from (cmd, transform) are applied.\n\n```javascript\n\nconst addEnd = (content)=>\n`${content}\n// ^End`;\n\nconst template = ()=><File transform={addBeginning}>\n    // Middle\n    <File append/>\n    // Post End\n    </File>\n</File>;\n```\n\n#### File Attribute: clone\n\nWhen used within other files, the clone command takes the content of the file up to that point and clones it to another file.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone />\n</File>;\n```\n\nIf a placeholder string is passed as the clone attribute, it will appear in place of that file within the parent.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone='// filed cloned at hash' />\n</File>;\n```\n\nCombine other attributes to create \"sidecar\" files\n\n```javascript\nconst template = ()=><File src='../src/index.js' name='index.js' cmd='|./minify-file'>\n    <File clone='//src-map: index.map.js' append name='index.map.js' cmd='|./produce-file-map'></File>\n</File>;\n```\n\n#### HTML Content\n\n[React's HTML tags](https://react-cn.github.io/react/docs/tags-and-attributes.html) can be used to produce a file's content.\n\n```javascript\nconst template = ()=> <File name=\"index.html\">\n    &lt;!doctype html&gt;\n    <html>\n        <Head />\n        <body> Hello World\n            <script src='index.js'></script>\n        </body>\n    </html>\n</File>;\n```\n\n### Component:Folder\n\nThe Folder component represents a Folder;\n\n```javascript\nimport {Folder} from 'fileable';\nconst template = ()=><Folder name='project/'/>\n```\n\nFolders can contain files and other folders\n\n```javascript\nconst template = ()=><Folder name='project/'>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</Folder>\n```\n\n#### Folder Attribute: name\n\nSimilar to File name.\n\nA folder must have a name attribute.\nIn the future, we may recursively create a folder's name based on the hash of a folder's conetent.\n\n#### Folder Attribute: zip\n\nArchives can be created with using the zip attribute\n\n```javascript\nconst template = ()=><Folder name='project' zip>\n    <File name='empty_file'/>\n</Folder>\n```\n\n#### Folder Attribute: extension\n\nSimilar to File extension.\n\n```javascript\nconst template = ()=><Folder name='project' zip extension='.zip'>\n    <File name='empty_file' />\n</Folder>;\n```\n\n### Component:Clear\n\nWrapping components within a Clear component removes __every single file__ from the given folder context before writing.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: protect\n\nThe protect attribute can be used to specifiy files not to be removed.\nIt can take the form of a specific file name, a file glob, or a regular expression.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear protect='**/*.md'><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: only\n\nLike protect, but files specified in the protect attribute are removed while others are ignored.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear only={new RegExp(/\\.js$/)}><File name='empty_file' /></Clear>;\n```\n\n### Component: React.Fragment\n\nReact.Fragment can be used to group files and folders\n\n```javascript\nimport {Fragment} from 'react';\nconst template = ()=><>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</>;\n```\n\n## API -- CLI\n\nFileable's renderer's can be used from the command line\n\n### CLI Installation\n\n```sh\nnpm install --global fileable\n```\n\n### CLI Usage\n\n```sh\nfileable build <template> <destination>\n```\n\n```sh\nfileable build ./template.jsx ./dist\n```\n\n#### --test/--no-test flag\n\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --input flag\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --help\n\nTry `fileable --help` for more options\n\n#### Remote Files\n\nFiles that begin with 'http://', 'https://', or 'ftp://' can be used as input or template files with a few creavats.\n\nFor remote files, DO NOT import of fileable components (File, Folder, Clear), but you'll still have to import compents used for react.  In the future, you'll likey import components from another library, but for now, please bear with us.\n\n```javascript\nimport React, {Fragment} from 'react';\nexport default ()=><File>...\n```\n\n## API -- Application\n\nFileable's renderer's can be used directly within applications.\n\n### Application Installation\n\n```sh\nnpm install fileable\n```\n\n### Application Usage\n\n```javascript\nimport {renderFS, renderConsole} from 'fileable';\nimport template from './template.jsx';\nconst directory = './dist';\n\nconst main = async ()=>{\n    console.log('Preview Render');\n    for await(const output of renderFS(template())){\n        console.log('File Contents', output)\n    }\n    console.log('Render Files');\n    renderRF(template(), {folder_context:[directory]});\n}\nmain();\n```\n## API\n\n### Table of contents\n\n- [function Clear](#function-clear)\n  - [Examples](#examples)\n- [function File](#function-file)\n  - [Examples](#examples-1)\n- [function Folder](#function-folder)\n  - [Examples](#examples-2)\n- [function iterator](#function-iterator)\n  - [Examples](#examples-3)\n- [function renderConsole](#function-renderconsole)\n  - [Examples](#examples-4)\n- [function renderFS](#function-renderfs)\n  - [Examples](#examples-5)\n\n### function Clear\n\nClear Component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder, Clear} from 'fileable';\n>  export () => <Clear><Folder name='project'><File name='readme.md'/></Folder></Clear>\n> ```\n\n* * *\n\n### function File\n\nFile component\n\n#### Examples\n\n> ```javascript\n> // template.jsx\n>  import {File} from 'fileable';\n>  export () => <File name='readme.md'/>\n> ```\n\n* * *\n\n### function Folder\n\nFolder component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder} from 'fileable';\n>  export () => <Folder name='project'><File name='readme.md'/></Folder>\n> ```\n\n* * *\n\n### function iterator\n\nIterator\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {iterator} from 'fileable';\n> ```\n\n* * *\n\n### function renderConsole\n\nRender to Console\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderConsole} from 'fileable';\n> const main = async () =>\n> renderConsole(template(), { folder_context: [directory] });\n> main();\n> ```\n\n* * *\n\n### function renderFS\n\nRender to File System\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderFS} from 'fileable';\n> const main = async () =>\n> renderFS(template(), { folder_context: [directory] });\n> main();\n> ```\n\n## Todo\n\n- Asynchronous content\n    - Useful for extending\n- Make work like described API in readme.\n- Handle newline trickiness\n    - inability to insert new lines easily\n    - must manually add \"{'\\n'}\" or enclose entirely witin backticks (\"'``'\")\n- Eventually, get remote files working with using dynamic imports\n","readmeFilename":"readme.md","gitHead":"dd8760813b51f03ec0c85d0aaf58a12a00601e59","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.5-0","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-y0uR2AEb5IRxovjySbYqN/FHQGKjyFtL4V9dCaqQ5UOeUrU4ZYPrqU98Nhy4F6FFKWJOtLgrXHswdAs+qTRqUg==","shasum":"185ff565b085168165e44b168568d7f2e0d03fa7","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.5-0.tgz","fileCount":26,"unpackedSize":58674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoI9KCRA9TVsSAnZWagAArhQP/1gLrTJ2WG4GTkY8sJZJ\n6MZpQZyOPezoXUV6JHdcNq7u9MyJJGME7qwS13NXNbeq/3tuRuNDgwOwYtVq\nCcCLoI7pMLrJRkHT9KE18eIEVe7EDPXctKBN+nQmWGQrsBPXq2UIDgy9o5B6\ntDbpHNJjd71a4j/KY3dCpYvXvDEYCPVrJb1Sif7VjR1Byde5/07UlrLF5TcU\nWAi1wI3/+2oiUey3b0s1kBQkqEjwceAgCO131x2chgkE3KmjTR4csPLiIA6F\nd+eBLFqqwbzt6LHfamWQoy/8tUvV/OunYUabAH6o81LG8oGGH8fATLunCN1p\nv+bXWXKiYbe2NyKB/z5lcVxJ7qL3kQebwIJ2LBt7vIbi8N+ZQXtkVT8ZwIds\nuKei+7c92GNPot7vH3Polo3MNUszdgrduOReUxGH41+yeMOGrIrnHxxrPfjE\ne737Pgc4se3YMM9eO8cpM2BnTIvIL0GZgdAdUXUdW5ALfHDOSt6ycJWlgu+h\nDDPBfxOURpCK1fXbK6OvQdIab1XreXngIjywOBitUBsny1PBj6p63pwcj7uL\nn/iH9wdTwBCm/8h73KStZrFzt0ThYRW0Vc5ozrX5gdr3d/uetziMNCYMJ9lA\neGIZJbaAzpX8wCKXPMl3ugjQWhRQMu4wxzqiWaz4qZ899agRztexupH5fQnF\n08Tf\r\n=rFkz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChqhHRIqQK/TrXAgLOhqA2+E/6NNSXP10Vmu1IWDIzPAIhAIBhWaN0lOdDRuqGl4BFyAhwThwSyKX5538EYpjOeWDW"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.5-0_1554026313417_0.4180729030061672"},"_hasShrinkwrap":false},"0.0.5-1":{"name":"fileable","version":"0.0.5-1","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2"},"devDependencies":{"@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1"},"readme":"# Fileable\n\nRender a file tree using a JSX template.\n\nInspired by [React FS Renderer](https://github.com/ericvicenti/react-fs-renderer)\n\n## API -- Template\n\nFileable can render [functional components](https://reactjs.org/docs/components-and-props.html) built with the following components:\n\n### Component: File\n\nThe File component represents a file.\n\n```javascript\nimport {File} from 'fileable';\nconst template = ()=><File name='readme.md'>\n# This is a sample file.\n</File>\n```\n\nA file may have contain other files. Content will be concatinated.\n\n```javascript\nconst template = ()=><File name='readme.md'>\n    # This is a sample file.\n    <File>## This is more content</File>\n    <File>## As is this</File>\n    ## This is the end\n</File>\n```\n\n#### File Attribute: name\n\nIf a file is not the child of another file, this will be used as it's name.\n\n```javascript\nconst template = ()=><File name=\"empty_file\"/>;\n```\n\nIf no name is passed, a hash of the content will be used.\n\nBy default, the algorithm used is SHA_256, but a number of algorithms are available.\n\n```javascript\nimport {FILE_NAME_MD5, FILE_NAME_SHA_1, FILE_NAME_SHA_256, FILE_NAME_SHA_512, FILE_NAME_SHA_3} from 'fileable';\nconst template = ()=><File name={FILE_NAME_MD5}/>;\n```\n\n#### File Attribute: extension\n\nExtension appended to name.\nParticularly useful when name is autogenerated.\n\n```javascript\nconst template = ()=><File extension='.js'>\n...javascript content\n</File>;\n```\n\n#### File Attribute: src\n\nFile content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File src='https://www.google.com'>Google's Home Page:</File>;\n```\n\nIf src location is a local file, it is treated as so relative to given template.\n\n```javascript\nconst template = ()=><File src='./sibbling-of-template'/>;\n```\n\n#### File Attribute: cmd\n\nCommand will be run and content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File cmd='date'>Content created at:</File>;\n```\n\nIf cmd starts with '|', child content will be piped through command\n\n```javascript\nconst template = ()=><File name='.cheesefile' cmd='|grep Cheese'>\nLines containing \"Cheese:\":\n    - Feta Cheese\n    - Broccoli\n    - American Cheese\n    - Ham\n    - Bread\n    - Cheesebread\n</File>;\n```\n\n#### File Attribute: mode\n\nSet the mode of a file.\n\n```javascript\nconst template = ()=><File name='helloworld' mode={0o777}>\n#!/usr/bin/env node\nconsole.log('hello world');\n</File>;\n```\n\n#### File Attribute: doctype\n\nAdd a doctype preamble the mode of a file.\n\n```javascript\nconst template = ()=><File name='index.html' doctype='html'>\n{`<html>\n    <head></head>\n    <body></body>\n</html>`}\n</File>;\n```\n\n#### File Attribute: transform\n\nCommand will be transformed via given function\n\n```javascript\n\nconst addBeginning = (content)=>\n`// Begin$\n${content}`;\n\nconst template = ()=><File transform={addBeginning}>\n// Middle\n</File>;\n```\n\n#### File Attribute: append\n\nWhen used within other files, the append adds content to files after any transfomations from (cmd, transform) are applied.\n\n```javascript\n\nconst addEnd = (content)=>\n`${content}\n// ^End`;\n\nconst template = ()=><File transform={addBeginning}>\n    // Middle\n    <File append/>\n    // Post End\n    </File>\n</File>;\n```\n\n#### File Attribute: clone\n\nWhen used within other files, the clone command takes the content of the file up to that point and clones it to another file.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone />\n</File>;\n```\n\nIf a placeholder string is passed as the clone attribute, it will appear in place of that file within the parent.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone='// filed cloned at hash' />\n</File>;\n```\n\nCombine other attributes to create \"sidecar\" files\n\n```javascript\nconst template = ()=><File src='../src/index.js' name='index.js' cmd='|./minify-file'>\n    <File clone='//src-map: index.map.js' append name='index.map.js' cmd='|./produce-file-map'></File>\n</File>;\n```\n\n#### HTML Content\n\n[React's HTML tags](https://react-cn.github.io/react/docs/tags-and-attributes.html) can be used to produce a file's content.\n\n```javascript\nconst template = ()=> <File name=\"index.html\">\n    &lt;!doctype html&gt;\n    <html>\n        <Head />\n        <body> Hello World\n            <script src='index.js'></script>\n        </body>\n    </html>\n</File>;\n```\n\n### Component:Folder\n\nThe Folder component represents a Folder;\n\n```javascript\nimport {Folder} from 'fileable';\nconst template = ()=><Folder name='project/'/>\n```\n\nFolders can contain files and other folders\n\n```javascript\nconst template = ()=><Folder name='project/'>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</Folder>\n```\n\n#### Folder Attribute: name\n\nSimilar to File name.\n\nA folder must have a name attribute.\nIn the future, we may recursively create a folder's name based on the hash of a folder's conetent.\n\n#### Folder Attribute: zip\n\nArchives can be created with using the zip attribute\n\n```javascript\nconst template = ()=><Folder name='project' zip>\n    <File name='empty_file'/>\n</Folder>\n```\n\n#### Folder Attribute: extension\n\nSimilar to File extension.\n\n```javascript\nconst template = ()=><Folder name='project' zip extension='.zip'>\n    <File name='empty_file' />\n</Folder>;\n```\n\n### Component:Clear\n\nWrapping components within a Clear component removes __every single file__ from the given folder context before writing.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: protect\n\nThe protect attribute can be used to specifiy files not to be removed.\nIt can take the form of a specific file name, a file glob, or a regular expression.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear protect='**/*.md'><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: only\n\nLike protect, but files specified in the protect attribute are removed while others are ignored.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear only={new RegExp(/\\.js$/)}><File name='empty_file' /></Clear>;\n```\n\n### Component: React.Fragment\n\nReact.Fragment can be used to group files and folders\n\n```javascript\nimport {Fragment} from 'react';\nconst template = ()=><>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</>;\n```\n\n## API -- CLI\n\nFileable's renderer's can be used from the command line\n\n### CLI Installation\n\n```sh\nnpm install --global fileable\n```\n\n### CLI Usage\n\n```sh\nfileable build <template> <destination>\n```\n\n```sh\nfileable build ./template.jsx ./dist\n```\n\n#### --test/--no-test flag\n\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --input flag\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --help\n\nTry `fileable --help` for more options\n\n#### Remote Files\n\nFiles that begin with 'http://', 'https://', or 'ftp://' can be used as input or template files with a few creavats.\n\nFor remote files, DO NOT import of fileable components (File, Folder, Clear), but you'll still have to import compents used for react.  In the future, you'll likey import components from another library, but for now, please bear with us.\n\n```javascript\nimport React, {Fragment} from 'react';\nexport default ()=><File>...\n```\n\n## API -- Application\n\nFileable's renderer's can be used directly within applications.\n\n### Application Installation\n\n```sh\nnpm install fileable\n```\n\n### Application Usage\n\n```javascript\nimport {renderFS, renderConsole} from 'fileable';\nimport template from './template.jsx';\nconst directory = './dist';\n\nconst main = async ()=>{\n    console.log('Preview Render');\n    for await(const output of renderFS(template())){\n        console.log('File Contents', output)\n    }\n    console.log('Render Files');\n    renderRF(template(), {folder_context:[directory]});\n}\nmain();\n```\n## API\n\n### Table of contents\n\n- [function Clear](#function-clear)\n  - [Examples](#examples)\n- [function File](#function-file)\n  - [Examples](#examples-1)\n- [function Folder](#function-folder)\n  - [Examples](#examples-2)\n- [function iterator](#function-iterator)\n  - [Examples](#examples-3)\n- [function renderConsole](#function-renderconsole)\n  - [Examples](#examples-4)\n- [function renderFS](#function-renderfs)\n  - [Examples](#examples-5)\n\n### function Clear\n\nClear Component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder, Clear} from 'fileable';\n>  export () => <Clear><Folder name='project'><File name='readme.md'/></Folder></Clear>\n> ```\n\n* * *\n\n### function File\n\nFile component\n\n#### Examples\n\n> ```javascript\n> // template.jsx\n>  import {File} from 'fileable';\n>  export () => <File name='readme.md'/>\n> ```\n\n* * *\n\n### function Folder\n\nFolder component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder} from 'fileable';\n>  export () => <Folder name='project'><File name='readme.md'/></Folder>\n> ```\n\n* * *\n\n### function iterator\n\nIterator\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {iterator} from 'fileable';\n> ```\n\n* * *\n\n### function renderConsole\n\nRender to Console\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderConsole} from 'fileable';\n> const main = async () =>\n> renderConsole(template(), { folder_context: [directory] });\n> main();\n> ```\n\n* * *\n\n### function renderFS\n\nRender to File System\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderFS} from 'fileable';\n> const main = async () =>\n> renderFS(template(), { folder_context: [directory] });\n> main();\n> ```\n\n## Todo\n\n- Asynchronous content\n    - Useful for extending\n- Make work like described API in readme.\n- Handle newline trickiness\n    - inability to insert new lines easily\n    - must manually add \"{'\\n'}\" or enclose entirely witin backticks (\"'``'\")\n- Eventually, get remote files working with using dynamic imports\n","readmeFilename":"readme.md","gitHead":"2f61d75f26054e0154384bedd1563e05eed1eade","_id":"fileable@0.0.5-1","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-sNpgxkMqw+oqo1S11eGr9z00D+1A97yxyi5rTAC1TG4tIdZt+Y2el3KmKDeuSf7Swmp80uTr9V3v4Tc1Mw/FWQ==","shasum":"a86d258f46ee3b6b9bee83f592eff5af2e5964d8","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.5-1.tgz","fileCount":44,"unpackedSize":82683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoOmyCRA9TVsSAnZWagAA9z4P/0wO44wX8Ng5V7z0j1ZC\nw2Cw4clZKpWoeaOeFe94uNWx1DeSGf7ath/V8hHrSsKMT6FhlipjbKzfYzXg\ncO9zvr/+YN6SQfvLemZIBWjIgqpph7BPFW6VuVJ/2l+KwxhIT102VSGeRePp\n/Tj8MK33/WgyQz7Zch8/x9ci1OHsNo3dvhJEI+VW2b2QgbZkflKa3EoZ4mHW\nFmOfBpLyrfs0+2xgwx73rc+0ACcH5kQgh2w4topdoGRhYfotMuqzx5ylho3K\npyW29p28iUc7Ms5Zxosyp9zZDN1kqvDLPSyA41ZP4UPxpsZ1tWHydRWGLfzl\nhYC+q7TaB8HOYkRfB64oDCX0p0ISAx/pKubs3w7vaWzJ1G6bNuu4+C3se5kH\n0bQhXq9wFWmRByAMrSb2yLWGiR0MLK1UNKonVr2AcMfwFJWZGmfZoIFEV7vU\nhaqX2JjtNcBMV3/RvGFZ+N10wsUrjfRePkqikFfVuqTOHWZRf/SQrspXeMOn\nz9xhXXCCSZ0+6W/fmyvxW/Zj4e6hbZVjnADPeIp79KNy2CNg+MsUvmmQijc9\n0LdhIgxQStSRYByqfjPQW4LHxNtc75w2uW/3MbHRpIrMecyk8FicjqGgr4vo\n99lVrFfWioBEtgg0R4Xb/2Nm0zRKqOWetKrqM6Zf2IIi/S88tR7w+P1yaDBs\nkJky\r\n=yMix\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfiparMRqsT02k19ZL1eMHUScRbrUMRx1KMNwVt8e26QIhAJEezmkuTPMtonsz/wraMcyIqEc4gMtrukrwjZnUN93h"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.5-1_1554049457069_0.0601042042502411"},"_hasShrinkwrap":false},"0.0.5-2":{"name":"fileable","version":"0.0.5-2","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2","@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0"},"devDependencies":{"@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1"},"readme":"# Fileable\n\nRender a file tree using a JSX template.\n\nInspired by [React FS Renderer](https://github.com/ericvicenti/react-fs-renderer)\n\n## API -- Template\n\nFileable can render [functional components](https://reactjs.org/docs/components-and-props.html) built with the following components:\n\n### Component: File\n\nThe File component represents a file.\n\n```javascript\nimport {File} from 'fileable';\nconst template = ()=><File name='readme.md'>\n# This is a sample file.\n</File>\n```\n\nA file may have contain other files. Content will be concatinated.\n\n```javascript\nconst template = ()=><File name='readme.md'>\n    # This is a sample file.\n    <File>## This is more content</File>\n    <File>## As is this</File>\n    ## This is the end\n</File>\n```\n\n#### File Attribute: name\n\nIf a file is not the child of another file, this will be used as it's name.\n\n```javascript\nconst template = ()=><File name=\"empty_file\"/>;\n```\n\nIf no name is passed, a hash of the content will be used.\n\nBy default, the algorithm used is SHA_256, but a number of algorithms are available.\n\n```javascript\nimport {FILE_NAME_MD5, FILE_NAME_SHA_1, FILE_NAME_SHA_256, FILE_NAME_SHA_512, FILE_NAME_SHA_3} from 'fileable';\nconst template = ()=><File name={FILE_NAME_MD5}/>;\n```\n\n#### File Attribute: extension\n\nExtension appended to name.\nParticularly useful when name is autogenerated.\n\n```javascript\nconst template = ()=><File extension='.js'>\n...javascript content\n</File>;\n```\n\n#### File Attribute: src\n\nFile content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File src='https://www.google.com'>Google's Home Page:</File>;\n```\n\nIf src location is a local file, it is treated as so relative to given template.\n\n```javascript\nconst template = ()=><File src='./sibbling-of-template'/>;\n```\n\n#### File Attribute: cmd\n\nCommand will be run and content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File cmd='date'>Content created at:</File>;\n```\n\nIf cmd starts with '|', child content will be piped through command\n\n```javascript\nconst template = ()=><File name='.cheesefile' cmd='|grep Cheese'>\nLines containing \"Cheese:\":\n    - Feta Cheese\n    - Broccoli\n    - American Cheese\n    - Ham\n    - Bread\n    - Cheesebread\n</File>;\n```\n\n#### File Attribute: mode\n\nSet the mode of a file.\n\n```javascript\nconst template = ()=><File name='helloworld' mode={0o777}>\n#!/usr/bin/env node\nconsole.log('hello world');\n</File>;\n```\n\n#### File Attribute: doctype\n\nAdd a doctype preamble the mode of a file.\n\n```javascript\nconst template = ()=><File name='index.html' doctype='html'>\n{`<html>\n    <head></head>\n    <body></body>\n</html>`}\n</File>;\n```\n\n#### File Attribute: transform\n\nCommand will be transformed via given function\n\n```javascript\n\nconst addBeginning = (content)=>\n`// Begin$\n${content}`;\n\nconst template = ()=><File transform={addBeginning}>\n// Middle\n</File>;\n```\n\n#### File Attribute: append\n\nWhen used within other files, the append adds content to files after any transfomations from (cmd, transform) are applied.\n\n```javascript\n\nconst addEnd = (content)=>\n`${content}\n// ^End`;\n\nconst template = ()=><File transform={addBeginning}>\n    // Middle\n    <File append/>\n    // Post End\n    </File>\n</File>;\n```\n\n#### File Attribute: clone\n\nWhen used within other files, the clone command takes the content of the file up to that point and clones it to another file.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone />\n</File>;\n```\n\nIf a placeholder string is passed as the clone attribute, it will appear in place of that file within the parent.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone='// filed cloned at hash' />\n</File>;\n```\n\nCombine other attributes to create \"sidecar\" files\n\n```javascript\nconst template = ()=><File src='../src/index.js' name='index.js' cmd='|./minify-file'>\n    <File clone='//src-map: index.map.js' append name='index.map.js' cmd='|./produce-file-map'></File>\n</File>;\n```\n\n#### HTML Content\n\n[React's HTML tags](https://react-cn.github.io/react/docs/tags-and-attributes.html) can be used to produce a file's content.\n\n```javascript\nconst template = ()=> <File name=\"index.html\">\n    &lt;!doctype html&gt;\n    <html>\n        <Head />\n        <body> Hello World\n            <script src='index.js'></script>\n        </body>\n    </html>\n</File>;\n```\n\n### Component:Folder\n\nThe Folder component represents a Folder;\n\n```javascript\nimport {Folder} from 'fileable';\nconst template = ()=><Folder name='project/'/>\n```\n\nFolders can contain files and other folders\n\n```javascript\nconst template = ()=><Folder name='project/'>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</Folder>\n```\n\n#### Folder Attribute: name\n\nSimilar to File name.\n\nA folder must have a name attribute.\nIn the future, we may recursively create a folder's name based on the hash of a folder's conetent.\n\n#### Folder Attribute: zip\n\nArchives can be created with using the zip attribute\n\n```javascript\nconst template = ()=><Folder name='project' zip>\n    <File name='empty_file'/>\n</Folder>\n```\n\n#### Folder Attribute: extension\n\nSimilar to File extension.\n\n```javascript\nconst template = ()=><Folder name='project' zip extension='.zip'>\n    <File name='empty_file' />\n</Folder>;\n```\n\n### Component:Clear\n\nWrapping components within a Clear component removes __every single file__ from the given folder context before writing.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: protect\n\nThe protect attribute can be used to specifiy files not to be removed.\nIt can take the form of a specific file name, a file glob, or a regular expression.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear protect='**/*.md'><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: only\n\nLike protect, but files specified in the protect attribute are removed while others are ignored.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear only={new RegExp(/\\.js$/)}><File name='empty_file' /></Clear>;\n```\n\n### Component: React.Fragment\n\nReact.Fragment can be used to group files and folders\n\n```javascript\nimport {Fragment} from 'react';\nconst template = ()=><>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</>;\n```\n\n## API -- CLI\n\nFileable's renderer's can be used from the command line\n\n### CLI Installation\n\n```sh\nnpm install --global fileable\n```\n\n### CLI Usage\n\n```sh\nfileable build <template> <destination>\n```\n\n```sh\nfileable build ./template.jsx ./dist\n```\n\n#### --test/--no-test flag\n\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --input flag\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --help\n\nTry `fileable --help` for more options\n\n#### Remote Files\n\nFiles that begin with 'http://', 'https://', or 'ftp://' can be used as input or template files with a few creavats.\n\nFor remote files, DO NOT import of fileable components (File, Folder, Clear), but you'll still have to import compents used for react.  In the future, you'll likey import components from another library, but for now, please bear with us.\n\n```javascript\nimport React, {Fragment} from 'react';\nexport default ()=><File>...\n```\n\n## API -- Application\n\nFileable's renderer's can be used directly within applications.\n\n### Application Installation\n\n```sh\nnpm install fileable\n```\n\n### Application Usage\n\n```javascript\nimport {renderFS, renderConsole} from 'fileable';\nimport template from './template.jsx';\nconst directory = './dist';\n\nconst main = async ()=>{\n    console.log('Preview Render');\n    for await(const output of renderFS(template())){\n        console.log('File Contents', output)\n    }\n    console.log('Render Files');\n    renderRF(template(), {folder_context:[directory]});\n}\nmain();\n```\n## API\n\n### Table of contents\n\n- [function Clear](#function-clear)\n  - [Examples](#examples)\n- [function File](#function-file)\n  - [Examples](#examples-1)\n- [function Folder](#function-folder)\n  - [Examples](#examples-2)\n- [function iterator](#function-iterator)\n  - [Examples](#examples-3)\n- [function renderConsole](#function-renderconsole)\n  - [Examples](#examples-4)\n- [function renderFS](#function-renderfs)\n  - [Examples](#examples-5)\n\n### function Clear\n\nClear Component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder, Clear} from 'fileable';\n>  export () => <Clear><Folder name='project'><File name='readme.md'/></Folder></Clear>\n> ```\n\n* * *\n\n### function File\n\nFile component\n\n#### Examples\n\n> ```javascript\n> // template.jsx\n>  import {File} from 'fileable';\n>  export () => <File name='readme.md'/>\n> ```\n\n* * *\n\n### function Folder\n\nFolder component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder} from 'fileable';\n>  export () => <Folder name='project'><File name='readme.md'/></Folder>\n> ```\n\n* * *\n\n### function iterator\n\nIterator\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {iterator} from 'fileable';\n> ```\n\n* * *\n\n### function renderConsole\n\nRender to Console\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderConsole} from 'fileable';\n> const main = async () =>\n> renderConsole(template(), { folder_context: [directory] });\n> main();\n> ```\n\n* * *\n\n### function renderFS\n\nRender to File System\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderFS} from 'fileable';\n> const main = async () =>\n> renderFS(template(), { folder_context: [directory] });\n> main();\n> ```\n\n## Todo\n\n- Asynchronous content\n    - Useful for extending\n- Make work like described API in readme.\n- Handle newline trickiness\n    - inability to insert new lines easily\n    - must manually add \"{'\\n'}\" or enclose entirely witin backticks (\"'``'\")\n- Eventually, get remote files working with using dynamic imports\n","readmeFilename":"readme.md","gitHead":"c3bac8234d7092bb7d404a6a2b16efd4b3c408d5","_id":"fileable@0.0.5-2","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-1v+X9RajrIKxytEU1YhC6kRFRSzKSch1Sx+tXpndeSAfYtHPcB/wXr1SODOIJDyQjagLJBPrsBrZQQhxtt5seg==","shasum":"261b9f35862f01f47d912c4a8e6a5593cdefd3ce","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.5-2.tgz","fileCount":26,"unpackedSize":70598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoPCLCRA9TVsSAnZWagAAuL4P/i2YMcd8+eVVy8YHdLqF\nSg5UmPKVfN+ezRU3WGDb25lrYM0IQqFIVuUGah7AZE8RrCIWF9O9t6iGJN6X\ni17eoU2tgDvTgxWKJ+prxA8nUk0Sv5izzje5of3hj6D+sI/m5uNXbFSD5qOy\nJ1iJbhYZJSdtsQRn9SM2jVUDhiZ2yOvkcnY7dDI8cZm/i1GyVoWCfzNkZVLw\nOdUdQPrBopF833LF90PScsnUBRGfPReCi5kDG/Qh5s4QPRp79U7fLNUujGNv\nhSHOdq8J1YkdhQWEkYA9JAlS5a7r/RBl7TtlkBHedipkIVUX3nO+PDi/3w8w\nonS87HmYcv8WuBGL1nz1IDhVnmQDkI6qo4Wc1pDWT336nXmBBJLyFq/BDQTH\nrxDL3Kl0UZPcOtrn6YV3Y/g4AXMmTqVlglKiZuMmv4xo4aeURavm62Tic46/\npg68LS670E5vr+sKdiIsNc9lpjDIpWe3AcWY40pq8KEk8339r6P6dypK+hvQ\nysVix5U7jk88ETfWOIg8qTNNLXJjdWCveleMTM4qHQ39aCz+erk3ejTs3MfT\n7AifDR0SC/it9AZhsY4l6GpVU0RmnvTtFi4VasDsKsPSk94K5WkAvfA4SIPn\n0pb5PB25LRtuOvtGmSD9QXL1IxRXaRnMJqPJjMr0mT0oB3zZa7ww5siuTDe9\nljE1\r\n=slBq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsLUoZc4ox+uMcqMzwddMC8bbGLi1q729g0NNEmSZZcAIhAMYLoTNgfGft4YYBQiqteRmXpZLntdw4GXO3NEiYLi68"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.5-2_1554051211266_0.686573042746738"},"_hasShrinkwrap":false},"0.0.5-3":{"name":"fileable","version":"0.0.5-3","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2","@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0"},"devDependencies":{},"readme":"# Fileable\n\nRender a file tree using a JSX template.\n\nInspired by [React FS Renderer](https://github.com/ericvicenti/react-fs-renderer)\n\n## API -- Template\n\nFileable can render [functional components](https://reactjs.org/docs/components-and-props.html) built with the following components:\n\n### Component: File\n\nThe File component represents a file.\n\n```javascript\nimport {File} from 'fileable';\nconst template = ()=><File name='readme.md'>\n# This is a sample file.\n</File>\n```\n\nA file may have contain other files. Content will be concatinated.\n\n```javascript\nconst template = ()=><File name='readme.md'>\n    # This is a sample file.\n    <File>## This is more content</File>\n    <File>## As is this</File>\n    ## This is the end\n</File>\n```\n\n#### File Attribute: name\n\nIf a file is not the child of another file, this will be used as it's name.\n\n```javascript\nconst template = ()=><File name=\"empty_file\"/>;\n```\n\nIf no name is passed, a hash of the content will be used.\n\nBy default, the algorithm used is SHA_256, but a number of algorithms are available.\n\n```javascript\nimport {FILE_NAME_MD5, FILE_NAME_SHA_1, FILE_NAME_SHA_256, FILE_NAME_SHA_512, FILE_NAME_SHA_3} from 'fileable';\nconst template = ()=><File name={FILE_NAME_MD5}/>;\n```\n\n#### File Attribute: extension\n\nExtension appended to name.\nParticularly useful when name is autogenerated.\n\n```javascript\nconst template = ()=><File extension='.js'>\n...javascript content\n</File>;\n```\n\n#### File Attribute: src\n\nFile content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File src='https://www.google.com'>Google's Home Page:</File>;\n```\n\nIf src location is a local file, it is treated as so relative to given template.\n\n```javascript\nconst template = ()=><File src='./sibbling-of-template'/>;\n```\n\n#### File Attribute: cmd\n\nCommand will be run and content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File cmd='date'>Content created at:</File>;\n```\n\nIf cmd starts with '|', child content will be piped through command\n\n```javascript\nconst template = ()=><File name='.cheesefile' cmd='|grep Cheese'>\nLines containing \"Cheese:\":\n    - Feta Cheese\n    - Broccoli\n    - American Cheese\n    - Ham\n    - Bread\n    - Cheesebread\n</File>;\n```\n\n#### File Attribute: mode\n\nSet the mode of a file.\n\n```javascript\nconst template = ()=><File name='helloworld' mode={0o777}>\n#!/usr/bin/env node\nconsole.log('hello world');\n</File>;\n```\n\n#### File Attribute: doctype\n\nAdd a doctype preamble the mode of a file.\n\n```javascript\nconst template = ()=><File name='index.html' doctype='html'>\n{`<html>\n    <head></head>\n    <body></body>\n</html>`}\n</File>;\n```\n\n#### File Attribute: transform\n\nCommand will be transformed via given function\n\n```javascript\n\nconst addBeginning = (content)=>\n`// Begin$\n${content}`;\n\nconst template = ()=><File transform={addBeginning}>\n// Middle\n</File>;\n```\n\n#### File Attribute: append\n\nWhen used within other files, the append adds content to files after any transfomations from (cmd, transform) are applied.\n\n```javascript\n\nconst addEnd = (content)=>\n`${content}\n// ^End`;\n\nconst template = ()=><File transform={addBeginning}>\n    // Middle\n    <File append/>\n    // Post End\n    </File>\n</File>;\n```\n\n#### File Attribute: clone\n\nWhen used within other files, the clone command takes the content of the file up to that point and clones it to another file.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone />\n</File>;\n```\n\nIf a placeholder string is passed as the clone attribute, it will appear in place of that file within the parent.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone='// filed cloned at hash' />\n</File>;\n```\n\nCombine other attributes to create \"sidecar\" files\n\n```javascript\nconst template = ()=><File src='../src/index.js' name='index.js' cmd='|./minify-file'>\n    <File clone='//src-map: index.map.js' append name='index.map.js' cmd='|./produce-file-map'></File>\n</File>;\n```\n\n#### HTML Content\n\n[React's HTML tags](https://react-cn.github.io/react/docs/tags-and-attributes.html) can be used to produce a file's content.\n\n```javascript\nconst template = ()=> <File name=\"index.html\">\n    &lt;!doctype html&gt;\n    <html>\n        <Head />\n        <body> Hello World\n            <script src='index.js'></script>\n        </body>\n    </html>\n</File>;\n```\n\n### Component:Folder\n\nThe Folder component represents a Folder;\n\n```javascript\nimport {Folder} from 'fileable';\nconst template = ()=><Folder name='project/'/>\n```\n\nFolders can contain files and other folders\n\n```javascript\nconst template = ()=><Folder name='project/'>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</Folder>\n```\n\n#### Folder Attribute: name\n\nSimilar to File name.\n\nA folder must have a name attribute.\nIn the future, we may recursively create a folder's name based on the hash of a folder's conetent.\n\n#### Folder Attribute: zip\n\nArchives can be created with using the zip attribute\n\n```javascript\nconst template = ()=><Folder name='project' zip>\n    <File name='empty_file'/>\n</Folder>\n```\n\n#### Folder Attribute: extension\n\nSimilar to File extension.\n\n```javascript\nconst template = ()=><Folder name='project' zip extension='.zip'>\n    <File name='empty_file' />\n</Folder>;\n```\n\n### Component:Clear\n\nWrapping components within a Clear component removes __every single file__ from the given folder context before writing.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: protect\n\nThe protect attribute can be used to specifiy files not to be removed.\nIt can take the form of a specific file name, a file glob, or a regular expression.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear protect='**/*.md'><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: only\n\nLike protect, but files specified in the protect attribute are removed while others are ignored.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear only={new RegExp(/\\.js$/)}><File name='empty_file' /></Clear>;\n```\n\n### Component: React.Fragment\n\nReact.Fragment can be used to group files and folders\n\n```javascript\nimport {Fragment} from 'react';\nconst template = ()=><>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</>;\n```\n\n## API -- CLI\n\nFileable's renderer's can be used from the command line\n\n### CLI Installation\n\n```sh\nnpm install --global fileable\n```\n\n### CLI Usage\n\n```sh\nfileable build <template> <destination>\n```\n\n```sh\nfileable build ./template.jsx ./dist\n```\n\n#### --test/--no-test flag\n\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --input flag\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --help\n\nTry `fileable --help` for more options\n\n#### Remote Files\n\nFiles that begin with 'http://', 'https://', or 'ftp://' can be used as input or template files with a few creavats.\n\nFor remote files, DO NOT import of fileable components (File, Folder, Clear), but you'll still have to import compents used for react.  In the future, you'll likey import components from another library, but for now, please bear with us.\n\n```javascript\nimport React, {Fragment} from 'react';\nexport default ()=><File>...\n```\n\n## API -- Application\n\nFileable's renderer's can be used directly within applications.\n\n### Application Installation\n\n```sh\nnpm install fileable\n```\n\n### Application Usage\n\n```javascript\nimport {renderFS, renderConsole} from 'fileable';\nimport template from './template.jsx';\nconst directory = './dist';\n\nconst main = async ()=>{\n    console.log('Preview Render');\n    for await(const output of renderFS(template())){\n        console.log('File Contents', output)\n    }\n    console.log('Render Files');\n    renderRF(template(), {folder_context:[directory]});\n}\nmain();\n```\n## API\n\n### Table of contents\n\n- [function Clear](#function-clear)\n  - [Examples](#examples)\n- [function File](#function-file)\n  - [Examples](#examples-1)\n- [function Folder](#function-folder)\n  - [Examples](#examples-2)\n- [function iterator](#function-iterator)\n  - [Examples](#examples-3)\n- [function renderConsole](#function-renderconsole)\n  - [Examples](#examples-4)\n- [function renderFS](#function-renderfs)\n  - [Examples](#examples-5)\n\n### function Clear\n\nClear Component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder, Clear} from 'fileable';\n>  export () => <Clear><Folder name='project'><File name='readme.md'/></Folder></Clear>\n> ```\n\n* * *\n\n### function File\n\nFile component\n\n#### Examples\n\n> ```javascript\n> // template.jsx\n>  import {File} from 'fileable';\n>  export () => <File name='readme.md'/>\n> ```\n\n* * *\n\n### function Folder\n\nFolder component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder} from 'fileable';\n>  export () => <Folder name='project'><File name='readme.md'/></Folder>\n> ```\n\n* * *\n\n### function iterator\n\nIterator\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {iterator} from 'fileable';\n> ```\n\n* * *\n\n### function renderConsole\n\nRender to Console\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderConsole} from 'fileable';\n> const main = async () =>\n> renderConsole(template(), { folder_context: [directory] });\n> main();\n> ```\n\n* * *\n\n### function renderFS\n\nRender to File System\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderFS} from 'fileable';\n> const main = async () =>\n> renderFS(template(), { folder_context: [directory] });\n> main();\n> ```\n\n## Todo\n\n- Asynchronous content\n    - Useful for extending\n- Make work like described API in readme.\n- Handle newline trickiness\n    - inability to insert new lines easily\n    - must manually add \"{'\\n'}\" or enclose entirely witin backticks (\"'``'\")\n- Eventually, get remote files working with using dynamic imports\n","readmeFilename":"readme.md","gitHead":"7fc66bbfa955ef647dc26595a7af965e8b1cc730","_id":"fileable@0.0.5-3","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-qFIJYOVj8swOUSVo/8qoAKtHFl9ygxzvAZlU0qtyywxls6F+L6OWzRl8u6wRWfaabgJ5KyUziqpCHGrI7BiRyQ==","shasum":"e8606c1314e6257ec20c4a70bb7b213f382d4df4","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.5-3.tgz","fileCount":26,"unpackedSize":70573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoPN0CRA9TVsSAnZWagAAZc0P/i9ot3KWbZ0Bnl60yVtU\n63Wl+c8dUOt74zZlSheo1cpbOs45Mf84yek09oC7HxzzQUqXVtMkPX7H5Sgh\ntzAcnRgxXK1YK4bbSd/3dKrlkd5Gf+8rl2XkqgeSKgkDh2bBn0xRx6R4NsRc\nxDQGyhw9HMYVEWMTMeVImD0TpWpZw5YpPHRR3Jjgd1RM3qKpEOu9QMSTpgdN\nhPUCX1OA4MM7JJX+dNVW0SICaaqq5cI2RsCG3aHf5iFYNXBQ06Fvld+lLk37\nveSPJWjVOrpqDXJiJvJ9uaYl4SVCgcs7q7KpAKl4JHzEnV6Dzwxv7qhhSuSH\nzGtLhwbo4oJ0Of8vSAN2D7gWb5H5Hq+YbourmkIceo7Xjz7u6ec8X6Io7V7M\nR86m+KrYwD9F/5YpcU29cX6u8vNoT9HXayQaFEDedOKhUmMwLxXNfufjWx1v\nnJg0AusE/y+d4iqMxC6EswOxCfFDaMwJ9oliob/XoJraVJ0ghAWrFXJKPS2l\nzeExMXKxemISII1YvY21RulNaD4aDB7pQ4xFpO9PM1DTkm58zr/dmvlOjiES\nbrctGAt13qs+2vkQN07iTkmUpPJTuHA8KIL9h1DlsYxUh4n9Wkauaolj9/nt\n68u/8LDww4+xj8YBsHf5jVnk48eIkuTlBlE4em8vot++WcsGdoznJKkZqQyP\nsT5W\r\n=T9u+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLZR5aborpSLh/gdrBXZyBoQZf19E5wMGhvUI7C4fRNAIgSU2g9raK5D/qgKDoyRnrryu73EGI4rU+f3U61yy9X1I="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.5-3_1554051955509_0.9189889530513953"},"_hasShrinkwrap":false},"0.0.5-5":{"name":"fileable","version":"0.0.5-5","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/preset-typescript":"7.3.3","jsdoc-md":"2.1.0","node-popup":"0.1.14","pre-commit":"1.2.2","rimraf":"2.6.3","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","@babel/node":"7.2.2","find-up":"3.0.0","jszip":"3.2.1","node-fetch":"2.3.0","react":"16.8.6","react-dom":"16.8.6","rollup":"1.7.4","rollup-plugin-hashbang":"2.2.2","yargs":"13.2.2","@babel/core":"7.4.0","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0"},"devDependencies":{},"readme":"# Fileable\n\nRender a file tree using a JSX template.\n\nInspired by [React FS Renderer](https://github.com/ericvicenti/react-fs-renderer)\n\n## API -- Template\n\nFileable can render [functional components](https://reactjs.org/docs/components-and-props.html) built with the following components:\n\n### Component: File\n\nThe File component represents a file.\n\n```javascript\nimport {File} from 'fileable';\nconst template = ()=><File name='readme.md'>\n# This is a sample file.\n</File>\n```\n\nA file may have contain other files. Content will be concatinated.\n\n```javascript\nconst template = ()=><File name='readme.md'>\n    # This is a sample file.\n    <File>## This is more content</File>\n    <File>## As is this</File>\n    ## This is the end\n</File>\n```\n\n#### File Attribute: name\n\nIf a file is not the child of another file, this will be used as it's name.\n\n```javascript\nconst template = ()=><File name=\"empty_file\"/>;\n```\n\nIf no name is passed, a hash of the content will be used.\n\nBy default, the algorithm used is SHA_256, but a number of algorithms are available.\n\n```javascript\nimport {FILE_NAME_MD5, FILE_NAME_SHA_1, FILE_NAME_SHA_256, FILE_NAME_SHA_512, FILE_NAME_SHA_3} from 'fileable';\nconst template = ()=><File name={FILE_NAME_MD5}/>;\n```\n\n#### File Attribute: extension\n\nExtension appended to name.\nParticularly useful when name is autogenerated.\n\n```javascript\nconst template = ()=><File extension='.js'>\n...javascript content\n</File>;\n```\n\n#### File Attribute: src\n\nFile content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File src='https://www.google.com'>Google's Home Page:</File>;\n```\n\nIf src location is a local file, it is treated as so relative to given template.\n\n```javascript\nconst template = ()=><File src='./sibbling-of-template'/>;\n```\n\n#### File Attribute: cmd\n\nCommand will be run and content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File cmd='date'>Content created at:</File>;\n```\n\nIf cmd starts with '|', child content will be piped through command\n\n```javascript\nconst template = ()=><File name='.cheesefile' cmd='|grep Cheese'>\nLines containing \"Cheese:\":\n    - Feta Cheese\n    - Broccoli\n    - American Cheese\n    - Ham\n    - Bread\n    - Cheesebread\n</File>;\n```\n\n#### File Attribute: mode\n\nSet the mode of a file.\n\n```javascript\nconst template = ()=><File name='helloworld' mode={0o777}>\n#!/usr/bin/env node\nconsole.log('hello world');\n</File>;\n```\n\n#### File Attribute: doctype\n\nAdd a doctype preamble the mode of a file.\n\n```javascript\nconst template = ()=><File name='index.html' doctype='html'>\n{`<html>\n    <head></head>\n    <body></body>\n</html>`}\n</File>;\n```\n\n#### File Attribute: transform\n\nCommand will be transformed via given function\n\n```javascript\n\nconst addBeginning = (content)=>\n`// Begin$\n${content}`;\n\nconst template = ()=><File transform={addBeginning}>\n// Middle\n</File>;\n```\n\n#### File Attribute: append\n\nWhen used within other files, the append adds content to files after any transfomations from (cmd, transform) are applied.\n\n```javascript\n\nconst addEnd = (content)=>\n`${content}\n// ^End`;\n\nconst template = ()=><File transform={addBeginning}>\n    // Middle\n    <File append/>\n    // Post End\n    </File>\n</File>;\n```\n\n#### File Attribute: clone\n\nWhen used within other files, the clone command takes the content of the file up to that point and clones it to another file.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone />\n</File>;\n```\n\nIf a placeholder string is passed as the clone attribute, it will appear in place of that file within the parent.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone='// filed cloned at hash' />\n</File>;\n```\n\nCombine other attributes to create \"sidecar\" files\n\n```javascript\nconst template = ()=><File src='../src/index.js' name='index.js' cmd='|./minify-file'>\n    <File clone='//src-map: index.map.js' append name='index.map.js' cmd='|./produce-file-map'></File>\n</File>;\n```\n\n#### HTML Content\n\n[React's HTML tags](https://react-cn.github.io/react/docs/tags-and-attributes.html) can be used to produce a file's content.\n\n```javascript\nconst template = ()=> <File name=\"index.html\">\n    &lt;!doctype html&gt;\n    <html>\n        <Head />\n        <body> Hello World\n            <script src='index.js'></script>\n        </body>\n    </html>\n</File>;\n```\n\n### Component:Folder\n\nThe Folder component represents a Folder;\n\n```javascript\nimport {Folder} from 'fileable';\nconst template = ()=><Folder name='project/'/>\n```\n\nFolders can contain files and other folders\n\n```javascript\nconst template = ()=><Folder name='project/'>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</Folder>\n```\n\n#### Folder Attribute: name\n\nSimilar to File name.\n\nA folder must have a name attribute.\nIn the future, we may recursively create a folder's name based on the hash of a folder's conetent.\n\n#### Folder Attribute: zip\n\nArchives can be created with using the zip attribute\n\n```javascript\nconst template = ()=><Folder name='project' zip>\n    <File name='empty_file'/>\n</Folder>\n```\n\n#### Folder Attribute: extension\n\nSimilar to File extension.\n\n```javascript\nconst template = ()=><Folder name='project' zip extension='.zip'>\n    <File name='empty_file' />\n</Folder>;\n```\n\n### Component:Clear\n\nWrapping components within a Clear component removes __every single file__ from the given folder context before writing.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: protect\n\nThe protect attribute can be used to specifiy files not to be removed.\nIt can take the form of a specific file name, a file glob, or a regular expression.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear protect='**/*.md'><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: only\n\nLike protect, but files specified in the protect attribute are removed while others are ignored.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear only={new RegExp(/\\.js$/)}><File name='empty_file' /></Clear>;\n```\n\n### Component: React.Fragment\n\nReact.Fragment can be used to group files and folders\n\n```javascript\nimport {Fragment} from 'react';\nconst template = ()=><>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</>;\n```\n\n## API -- CLI\n\nFileable's renderer's can be used from the command line\n\n### CLI Installation\n\n```sh\nnpm install --global fileable\n```\n\n### CLI Usage\n\n```sh\nfileable build <template> <destination>\n```\n\n```sh\nfileable build ./template.jsx ./dist\n```\n\n#### --test/--no-test flag\n\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --input flag\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --help\n\nTry `fileable --help` for more options\n\n#### Remote Files\n\nFiles that begin with 'http://', 'https://', or 'ftp://' can be used as input or template files with a few creavats.\n\nFor remote files, DO NOT import of fileable components (File, Folder, Clear), but you'll still have to import compents used for react.  In the future, you'll likey import components from another library, but for now, please bear with us.\n\n```javascript\nimport React, {Fragment} from 'react';\nexport default ()=><File>...\n```\n## API\n\n### Table of contents\n\n- [function Clear](#function-clear)\n  - [Examples](#examples)\n- [function File](#function-file)\n  - [Examples](#examples-1)\n- [function Folder](#function-folder)\n  - [Examples](#examples-2)\n- [function iterator](#function-iterator)\n  - [Examples](#examples-3)\n- [function renderConsole](#function-renderconsole)\n  - [Examples](#examples-4)\n- [function renderFS](#function-renderfs)\n  - [Examples](#examples-5)\n\n### function Clear\n\nClear Component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder, Clear} from 'fileable';\n>  export () => <Clear><Folder name='project'><File name='readme.md'/></Folder></Clear>\n> ```\n\n* * *\n\n### function File\n\nFile component\n\n#### Examples\n\n> ```javascript\n> // template.jsx\n>  import {File} from 'fileable';\n>  export () => <File name='readme.md'/>\n> ```\n\n* * *\n\n### function Folder\n\nFolder component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder} from 'fileable';\n>  export () => <Folder name='project'><File name='readme.md'/></Folder>\n> ```\n\n* * *\n\n### function iterator\n\nIterator\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {iterator} from 'fileable';\n> ```\n\n* * *\n\n### function renderConsole\n\nRender to Console\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderConsole} from 'fileable';\n> const main = async () =>\n> renderConsole(template(), { folder_context: [directory] });\n> main();\n> ```\n\n* * *\n\n### function renderFS\n\nRender to File System\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderFS} from 'fileable';\n> const main = async () =>\n> renderFS(template(), { folder_context: [directory] });\n> main();\n> ```\n\n## Todo\n\n- Asynchronous content\n    - Useful for extending\n- Make work like described API in readme.\n- Handle newline trickiness\n    - inability to insert new lines easily\n    - must manually add \"{'\\n'}\" or enclose entirely witin backticks (\"'``'\")\n- Eventually, get remote files working with using dynamic imports\n","readmeFilename":"readme.md","gitHead":"8b7a0cd69ec25ad1998b5616716c0862a102be46","_id":"fileable@0.0.5-5","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-HjIiBOQQNdPUqO5lF1Qzi/AE5q1ha38Wqwzeh/jvYF6r31f+2sf5kofICSMALLZBuV4je1pdErVEhqSAWqt4OA==","shasum":"9596aa6667a39804a9a3048d99d29297ac8abf37","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.5-5.tgz","fileCount":26,"unpackedSize":70019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoQrZCRA9TVsSAnZWagAAU38P/RdJbTsyN+F02eK7/nDR\nkDEvKdWs4S1wYjnObSoGcEaFWVKLmRg607Sts8MSXTgOqxRozCjqjRAYpZvV\nXwooD6vCyUkEmvDVpCnlaqDzr89Z7p8oxWl1m93s0FrdtuwI1cZ6DMNmNe3n\nQAeSibtz+H5kXGQcgIhhS+Rrm0zErS2dGXsHuRHp+pcGw3ZtZV4+2OQYQSX/\nSTNDkrPNQeuhDTSeICwXifiehyMgZj51BqvgDLT3RH7fss9/EHk1jQcMFKne\nGImw4omXkzCR/T4wJh/fr1TiFJOTemOuWl5V74LoiXdlsf3C915f4gC2VC0J\n9PfdLvXLv7lUkJJRIUUkZvp0YsKDLTUzFzcQgFpB4DpJuqzX8ZtBzJyxVcHN\n99jLJdB8vAt79JP8K6Gn9sROCH9gzz6OrYRDnsbYK4XK6l72aA4CPuUvY9XL\nCCKMHN7d6k982eIog/sCD3jEGL/SJx5Bdvin2O4DMk2t27w9tx8C5e5u56B5\nAiEZLqfaUb+net67yv/m5W/jbOMULSUu44yg0ca0wsVzKHVTF2X1nYIeuxZg\nutWHThePDG5CHh5FW10AoEXmaLsST281D8fIPWt4Cf66sJ2JUpkg57BEDHkW\nVI7ab5rwIeRTGXXU0DsJPBZO3RpQ/6+TnlKCYQjo+Cln7xUEIgGiu0WPH4Sd\nRmJb\r\n=Wn0/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBeDZHDXWF3TBFTqspPc/s12TzjsonnyMLSSezmBCHKrAiBTflsGA3nWXcvKHx06sEKzjdtVXOlsnE2A2Hup3nF/9g=="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.5-5_1554057945015_0.9772262528714186"},"_hasShrinkwrap":false},"0.0.5-6":{"name":"fileable","version":"0.0.5-6","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.1","find-up":"3.0.0","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","rollup-plugin-hashbang":"2.2.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{},"readme":"# Fileable\n\nRender a file tree using a JSX template.\n\nInspired by [React FS Renderer](https://github.com/ericvicenti/react-fs-renderer)\n\n## API -- Template\n\nFileable can render [functional components](https://reactjs.org/docs/components-and-props.html) built with the following components:\n\n### Component: File\n\nThe File component represents a file.\n\n```javascript\nimport {File} from 'fileable';\nconst template = ()=><File name='readme.md'>\n# This is a sample file.\n</File>\n```\n\nA file may have contain other files. Content will be concatinated.\n\n```javascript\nconst template = ()=><File name='readme.md'>\n    # This is a sample file.\n    <File>## This is more content</File>\n    <File>## As is this</File>\n    ## This is the end\n</File>\n```\n\n#### File Attribute: name\n\nIf a file is not the child of another file, this will be used as it's name.\n\n```javascript\nconst template = ()=><File name=\"empty_file\"/>;\n```\n\nIf no name is passed, a hash of the content will be used.\n\nBy default, the algorithm used is SHA_256, but a number of algorithms are available.\n\n```javascript\nimport {FILE_NAME_MD5, FILE_NAME_SHA_1, FILE_NAME_SHA_256, FILE_NAME_SHA_512, FILE_NAME_SHA_3} from 'fileable';\nconst template = ()=><File name={FILE_NAME_MD5}/>;\n```\n\n#### File Attribute: extension\n\nExtension appended to name.\nParticularly useful when name is autogenerated.\n\n```javascript\nconst template = ()=><File extension='.js'>\n...javascript content\n</File>;\n```\n\n#### File Attribute: src\n\nFile content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File src='https://www.google.com'>Google's Home Page:</File>;\n```\n\nIf src location is a local file, it is treated as so relative to given template.\n\n```javascript\nconst template = ()=><File src='./sibbling-of-template'/>;\n```\n\n#### File Attribute: cmd\n\nCommand will be run and content in src attribute will be appended to child content.\n\n```javascript\nconst template = ()=><File cmd='date'>Content created at:</File>;\n```\n\nIf cmd starts with '|', child content will be piped through command\n\n```javascript\nconst template = ()=><File name='.cheesefile' cmd='|grep Cheese'>\nLines containing \"Cheese:\":\n    - Feta Cheese\n    - Broccoli\n    - American Cheese\n    - Ham\n    - Bread\n    - Cheesebread\n</File>;\n```\n\n#### File Attribute: mode\n\nSet the mode of a file.\n\n```javascript\nconst template = ()=><File name='helloworld' mode={0o777}>\n#!/usr/bin/env node\nconsole.log('hello world');\n</File>;\n```\n\n#### File Attribute: doctype\n\nAdd a doctype preamble the mode of a file.\n\n```javascript\nconst template = ()=><File name='index.html' doctype='html'>\n{`<html>\n    <head></head>\n    <body></body>\n</html>`}\n</File>;\n```\n\n#### File Attribute: transform\n\nCommand will be transformed via given function\n\n```javascript\n\nconst addBeginning = (content)=>\n`// Begin$\n${content}`;\n\nconst template = ()=><File transform={addBeginning}>\n// Middle\n</File>;\n```\n\n#### File Attribute: append\n\nWhen used within other files, the append adds content to files after any transfomations from (cmd, transform) are applied.\n\n```javascript\n\nconst addEnd = (content)=>\n`${content}\n// ^End`;\n\nconst template = ()=><File transform={addBeginning}>\n    // Middle\n    <File append/>\n    // Post End\n    </File>\n</File>;\n```\n\n#### File Attribute: clone\n\nWhen used within other files, the clone command takes the content of the file up to that point and clones it to another file.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone />\n</File>;\n```\n\nIf a placeholder string is passed as the clone attribute, it will appear in place of that file within the parent.\n\n```javascript\nconst template = ()=><File name='main.js'>\n    Content\n    <File clone='// filed cloned at hash' />\n</File>;\n```\n\nCombine other attributes to create \"sidecar\" files\n\n```javascript\nconst template = ()=><File src='../src/index.js' name='index.js' cmd='|./minify-file'>\n    <File clone='//src-map: index.map.js' append name='index.map.js' cmd='|./produce-file-map'></File>\n</File>;\n```\n\n#### HTML Content\n\n[React's HTML tags](https://react-cn.github.io/react/docs/tags-and-attributes.html) can be used to produce a file's content.\n\n```javascript\nconst template = ()=> <File name=\"index.html\">\n    &lt;!doctype html&gt;\n    <html>\n        <Head />\n        <body> Hello World\n            <script src='index.js'></script>\n        </body>\n    </html>\n</File>;\n```\n\n### Component:Folder\n\nThe Folder component represents a Folder;\n\n```javascript\nimport {Folder} from 'fileable';\nconst template = ()=><Folder name='project/'/>\n```\n\nFolders can contain files and other folders\n\n```javascript\nconst template = ()=><Folder name='project/'>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</Folder>\n```\n\n#### Folder Attribute: name\n\nSimilar to File name.\n\nA folder must have a name attribute.\nIn the future, we may recursively create a folder's name based on the hash of a folder's conetent.\n\n#### Folder Attribute: zip\n\nArchives can be created with using the zip attribute\n\n```javascript\nconst template = ()=><Folder name='project' zip>\n    <File name='empty_file'/>\n</Folder>\n```\n\n#### Folder Attribute: extension\n\nSimilar to File extension.\n\n```javascript\nconst template = ()=><Folder name='project' zip extension='.zip'>\n    <File name='empty_file' />\n</Folder>;\n```\n\n### Component:Clear\n\nWrapping components within a Clear component removes __every single file__ from the given folder context before writing.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: protect\n\nThe protect attribute can be used to specifiy files not to be removed.\nIt can take the form of a specific file name, a file glob, or a regular expression.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear protect='**/*.md'><File name='empty_file' /></Clear>;\n```\n\n#### Attribute: only\n\nLike protect, but files specified in the protect attribute are removed while others are ignored.\n\n```javascript\nimport {Clear} from 'fileable';\nconst template = ()=><Clear only={new RegExp(/\\.js$/)}><File name='empty_file' /></Clear>;\n```\n\n### Component: React.Fragment\n\nReact.Fragment can be used to group files and folders\n\n```javascript\nimport {Fragment} from 'react';\nconst template = ()=><>\n    <File name='empty_file'/>\n    <Folder name='empty_folder'/>\n</>;\n```\n\n## API -- CLI\n\nFileable's renderer's can be used from the command line\n\n### CLI Installation\n\n```sh\nnpm install --global fileable\n```\n\n### CLI Usage\n\n```sh\nfileable build <template> <destination>\n```\n\n\n```sh\nfileable build ./template.jsx ./dist\n```\n\n#### --test/--no-test flag\n\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --input flag\n\n```sh\nfileable build ./template.jsx ./dist --no-test\n```\n\n#### --help\n\nTry `fileable --help` for more options\n\n#### Remote Files\n\nFiles that begin with 'http://', 'https://', or 'ftp://' can be used as input or template files.\n\n\n## API\n\n### Table of contents\n\n- [function Clear](#function-clear)\n  - [Examples](#examples)\n- [function File](#function-file)\n  - [Examples](#examples-1)\n- [function Folder](#function-folder)\n  - [Examples](#examples-2)\n- [function iterator](#function-iterator)\n  - [Examples](#examples-3)\n- [function renderConsole](#function-renderconsole)\n  - [Examples](#examples-4)\n- [function renderFS](#function-renderfs)\n  - [Examples](#examples-5)\n\n### function Clear\n\nClear Component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder, Clear} from 'fileable';\n>  export () => <Clear><Folder name='project'><File name='readme.md'/></Folder></Clear>\n> ```\n\n* * *\n\n### function File\n\nFile component\n\n#### Examples\n\n> ```javascript\n> // template.jsx\n>  import {File} from 'fileable';\n>  export () => <File name='readme.md'/>\n> ```\n\n* * *\n\n### function Folder\n\nFolder component\n\n#### Examples\n\n> ```javascript\n>  // template.jsx\n>  import {File, Folder} from 'fileable';\n>  export () => <Folder name='project'><File name='readme.md'/></Folder>\n> ```\n\n* * *\n\n### function iterator\n\nIterator\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {iterator} from 'fileable';\n> ```\n\n* * *\n\n### function renderConsole\n\nRender to Console\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderConsole} from 'fileable';\n> const main = async () =>\n> renderConsole(template(), { folder_context: [directory] });\n> main();\n> ```\n\n* * *\n\n### function renderFS\n\nRender to File System\n\n| Parameter | Type   | Description |\n| :-------- | :----- | :---------- |\n| `input`   | object |             |\n\n#### Examples\n\n> ```javascript\n> import {renderFS} from 'fileable';\n> const main = async () =>\n> renderFS(template(), { folder_context: [directory] });\n> main();\n> ```\n\n## Todo\n\n- Asynchronous content\n    - Useful for extending\n- Make work like described API in readme.\n- Handle newline trickiness\n    - inability to insert new lines easily\n    - must manually add \"{'\\n'}\" or enclose entirely witin backticks (\"'``'\")\n- Eventually, get remote files working with using dynamic imports\n","readmeFilename":"readme.md","gitHead":"64ffebef6c27769f766bd22befac2ea8e662b5c6","_id":"fileable@0.0.5-6","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-8h+GztdlHAWqQAJ4iw2YZvzFGyoM4zU1pAePHzcNb5SSdbECDQuLHPZBBoS9VKPqmcEosbkDwqnZabSj0zUs4A==","shasum":"e2c0233c09b6a2bec4b12a63f0458e4211498564","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.5-6.tgz","fileCount":25,"unpackedSize":57496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoRP4CRA9TVsSAnZWagAAJ6wP/2rXfhElIGanJuudRPdX\nfaAvq9qJ/A+Bwx8b294fssb1Tfm9MFuwJa2MspyzzrL6pAdeD7qmmxYTN9oW\nd5g1VrxRYbL8KcYgikr56yWmUjEjib32VM/WBUy0WBxNAiPRUzoCrTPw1Vmv\nL25rGbD49mIkcP/xDMrvTFghqMog/GDxyqhqvfuBaT5QroobeEhsavvH11H3\nU8iTil5OskYpE7FYcoBEPzuOqScYRYEOAJilI/ZuWn6MAb8uy7Fe7Ye3CsOT\nPHTreo4UnALW8HoKC6Emlb9u+wiUWlCLYEn7dlvBNlwQhTj3PKHfGLYxqnjx\nd4BU9PnqHPJajDL8EQqTQjBVA+f30vtxU1W5i3UDutASz6jkbXff7Z8/MAdE\nMV0vLej+TwWrxBOFRP35CtQ1+SFjsOuWx3aM9fDLBCzoZDN3zRKaHlMbmNkb\nw9W49gPaqEvSjhBDDpA1mt/SSqo/2KbHlyzTg0AQBNu1nJDZsFlJb7OMSIJl\n+tEyT4w7o+CtrpEHOxmiN7xtoohY/wghm5BwQocOgwyIdQlO5CFKdW+/7UwC\nL1XDH3nfqQaV4zA7oQtKV7LW0AR9OnxT23dHEBF18hZel+6/r8aydZDZek3P\n9l/l5oKsFOiOndZKD30BhS/fwBsxbHGYy/BNsLUi+TTSfEGa+qaDtQe1OZ98\nRE78\r\n=IQrA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDd1GHf+Z3vJMUNKDC52Txzv1SpRSzPLP7iCncDLAt17wIhANMOj4pnDir3qpawWBNT3nsQYmQepa5QQAZJpUO8YXK3"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.5-6_1554060280043_0.6423021151065635"},"_hasShrinkwrap":false},"0.0.5":{"name":"fileable","version":"0.0.5","description":"Render a file tree using a JSX template.","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.1","find-up":"3.0.0","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","rollup-plugin-hashbang":"2.2.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{},"gitHead":"ec796c53b858be4a7f39c5c529a2a2b286861bb5","_id":"fileable@0.0.5","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-71MXs9VkKAwLUBPft7Y9d/q5aEarUKJLyZ8moNu5U/eWqOoTmRCCnEaO75gG94O4toqZx0fTcFWlvaJx2HKj9A==","shasum":"253ccc6ffe303fae8881200f4c75f4590fb7a11f","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.5.tgz","fileCount":25,"unpackedSize":57494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoRSlCRA9TVsSAnZWagAARX8QAJ9EWgIDO1OInMmNItrf\nkrhLGW0mpsdq8V0H+ztFiBaTh9SNevqLaQ5QHHauDreYi3TdeqtbH75gnR0l\nt6hIu0T7I9v78YZOqSGqN6wDVsxNTl+iXEoeOIKLlIw8RyRPL59wHRGiky81\nZKrFMR00i9u7jYQGcXTc6s4pN1CY+wM7iJMA45vVkH+HM3k7FWF77+suMLXG\nCy7pUd4cVnhZ/vZr58qMzAdrMz72XQjMq0Zu6pP2av/FVy+WudMIqtg9fNMh\nLGUj/k1dspbMrhhEuUBvMiFhKuKkwfLoBlZesFvCO6Y2KRvg8wqiGzWnPuDT\n5jlIMqch86bcxNyqwzAmA/bzG3rS++kwRNNlH2ieg1LJ8iQyeBHIn4Z6AYpS\nNm/CJDOgeoMQCxZp4J/viLYo1SIKTNicyWHMMPK3s0XE0UrzdBwt8rzBaZwt\nPI1dAT+kW4n9XQyXmJpc/n1P3EQfu2+wbH7ydDVahvfI5hjh1BDI9eK/FmdD\niEN9u/g4Xa1m15xtErV01wvdxUE8dMKPEiuiOvgFH8a1Gf55R5fZ45aTBx6R\nh4WaSH4SDNLszkA+coVO9kQN3MaQU0VX9Yj9RaZDAg0koLEJiWfU5+xe9FZW\ncgFs3X5iZQXtIejG7xjG3E8BQarLN6dovnbDtG8MMFns4/5zWmVBZSPEOqKQ\nX4i7\r\n=8Poa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5vQfoziz/Iw8t1ZbCE3j3qeHVAv3ZoGxJJzYPbXwvpQIhAPTFAWwcE+sOzV1OsE6tfmNFKYOEpXmfR7KzoybbfxC6"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.5_1554060452659_0.21515610443864053"},"_hasShrinkwrap":false},"0.0.6":{"name":"fileable","version":"0.0.6","description":"![fileable logo](./static/docs/logo-v3.png)","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.1","find-up":"3.0.0","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","rollup-plugin-hashbang":"2.2.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{},"gitHead":"507de81107fcd7cc0e3dd5d05247dc46dc68f750","_id":"fileable@0.0.6","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-tTfpqF3r0AMVMBYG+tpzqTitOEJGqOS8gCM7TkVbA8aQm1doJwNEBI9IBWxB2ibYmx+tj8xOw5cU9mcPEucooQ==","shasum":"568c86af05bb1259bde17deba445a56ce164ee80","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.6.tgz","fileCount":30,"unpackedSize":93011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoS5YCRA9TVsSAnZWagAAif0P/Au71YX71H2rTkLyV1ih\nNbmEbxxwKKamaXEisJIt3VZHhr4f3RKPOVMniUS4Qm0MWUwh8KMRrksyo6h8\nMlP+6pR9uik/lKPGvHrifwxm/a9sagJDQcjdsZ4G+TMnyDuTPOUKclVXGD6U\nLygTsHT/gMny1qxONeF+vkkvwpK5VR0Yuy1g8GsUXB7ALYSeKHbeMjg9qvZ5\nQB93+zgHg9u0gUpyRqbVZNnW7I341QUNHn55I5h2g2Rnto+jgzb87hAAun/7\nMz3ocDOG+ekLrMqmdzE2uv1Z6PuKSoBXpwFajtp0iOc4kzZVIUMi5yA9Eg+Y\n08za3z0IDZcmBDZ6RoK3SpEDCWtpEvH7u/qxY+jfb6KeRPFiqBTmOtE39HN9\nwacSUwbvBmNvtY9OXlKWt85Da7t1Ewbf6+0Dt/8P8p8R+3HaVgjdytxAJ7S1\nkWy/++o3g0lqxA6PA5yCNgjGv2ronUZAgeBdG3CxVZlEMr8dprP/IhIDKiKt\nTjUvq6kHmevhFO3jA+7cqz81UbN3pPJxPDl9gGHpdlX2v53irV4PVGIQWYpt\nwQFjQ7mNtoRc0+8EsjTqqv6tjYImx6Lp5AZ0VjShHFZ64zounG1cYU1uOAJQ\nUwlSTWWlogwYmRi3AGldiVyNbKCQuszv2TXlQBkuuEDVMn1k9kEiiX50Jzx5\nkqao\r\n=4S7Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCx8290RAtI2XGlh+vU24UHlijXYvYlk9fuTs+DmK4dgAIhANPNEW5YBv9jUp30JTUrRgDWZQmzT74J6KPYxq/7TgOS"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.6_1554067031660_0.650138629818412"},"_hasShrinkwrap":false},"0.0.7":{"name":"fileable","version":"0.0.7","description":"![fileable logo](./static/docs/logo-v3.png)","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.1","find-up":"3.0.0","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","rollup-plugin-hashbang":"2.2.2","rollup-plugin-json":"4.0.0","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{},"gitHead":"7e1b7466a7ad7dc2ae84ace2a6319ba79dd58497","_id":"fileable@0.0.7","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Jmt/Doq7/gayWI0W72gs1eQciSmNe0Rsl9B2Onw0UIfjZ2Ypv95N1oNQXJ52PC51g7i5yuoqd2Ge3GeaAi+FHg==","shasum":"9e699e969dfbf2c57d7b2ec4420c53e4a6e147a4","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.7.tgz","fileCount":33,"unpackedSize":98673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoTmpCRA9TVsSAnZWagAAQQoQAKISlK3jgFL99nFMThd7\nBs64XWJEH+Nb0QVQXM32LD6uqYKWvt1HrZ8wQyJv2fV4b+51uIzeAsxwVTwU\nPEMuHHtuAvxMiIBJve98I+uLFm/cRlReGhHeKSGC32D9bOk9oMPbtJRzBUuq\nsLZVGimwewlQXAzP7wIYvUuaKZnpaKAC3jZZRvHIAf0WFrgsdROYvVfxh1yf\n8kJ2dCwC28rmIHfgOPP/033QliTW87OkoILK0PW7MIiQgTcjiikyk9drmjRf\nyY+rn6vKqJ6uZlRsW4Hh9EACmIsErz7WIpN1u2Se5UUeft2hfw0qU1CxhkvT\nxU2HCi+BOt9sPCou6zfWFsgWg5345kaYU5YBQHEUg14xqP7Bl7fa10TzLkay\nIS77NrvCB2Zhl0AtKPenw9DsS00mLN5fqHSuMPGWlxBTVmuvgjtOfHC8OaHI\nLqfybw6DlA550OQO/GuliFVfNxRh4J8TEg/Ys59daUPJVStmvi5dMTt50pwJ\n7a0ar9+WZSVXyWebrINqvEOefHpmH23rRdkslLI9X254ZI+vz1VDPuyXUV0Q\nJyBxC11LRAW48g3I3hNMzKV8WUVidF0bm5TypjQ1GlOlpv0cxYgLgCyZ1yVs\ny7NSD+aNU41Xpowyr/5Q1G85L7qzO7YLuGzIvxdm188/OUvMKU04wjdWEApk\n4E6c\r\n=oE1I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClv1NdKcVH8+8wnSLz6ZjyIPNu3gz0ikxXV+sZAjNpyAIgI/V5TTcEaDHU6WXKPzdCaFi8XsXsq1c381YGE5gtjFQ="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.7_1554069928863_0.6876240389011614"},"_hasShrinkwrap":false},"0.0.8":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.8","description":"![fileable logo](./static/docs/logo-v3.png)","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.1","find-up":"3.0.0","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","rollup-plugin-hashbang":"2.2.2","rollup-plugin-json":"4.0.0","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{},"gitHead":"b79f401510f18a3774272a11903fa98966066082","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.8","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-s+Zz4og9lXZ7ReHQzzVNkXlVSzzkrHPi0wcIsi9/OHENvx76bHaIB0LGycSkDal/5VW+YRU9BDz4UQFB6LlSew==","shasum":"37aa520da2cb7710eda4548374642409b6370a2d","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.8.tgz","fileCount":30,"unpackedSize":85227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoTzsCRA9TVsSAnZWagAA2A4QAJJYraEuTDTKYe7OS9au\nqaXaZZxwPGaL28yQoE5Rp6XNPt3tneflk/ky8ZuX+osuyCYdQCUOtaYyK9c4\nQy1eJnAUEyyLvKnseRCpZJZNPxObd7YguvmkyKreDTkdACjs3nOETkl1RnTF\njWlvnYsz/+X5ZUnKWGpiOFl/BcBSQYyZVMohDttuK+Ujfk7V+WKFCwVxMyga\nqMKS1yli9V2uBDfpjqTvvSq9WOG9d/wHkCAE+w3j7bbWKvhxRBAhyhtDH3u/\na3wxv6Ci7bRWEWejcEBnrYq+4Y2svLw1OkNeBgTcJ1UiSgGbMM07FoLB3kgv\ngl4GhvoSx9ndHVFP6bdfzgJ0f4w0UTPRgGA7C0xFP1J63hUW89/tWjvZ2onr\n2hYVnjJSoGOq54BknTFJ+xByQFfKqKVXC8rIyEXEHKlcgosAjukWvd/lrO9v\noPeij4L9RqrLWb4hGwfE0ldtavloLxJOp0j3h4+sTJP6H22mjnUj84O33+Wc\nL8U0mfTceLHsXm8JWksQ/nKFZ6rpxGVIUIUVKZmgSdtvLqeJ5Q3BYmndrwV4\n20+308EnECjz7co4TTD1EZIN5DFTsXCSCtFF2syw7IzaOoBhVKOUvF9iaR5O\nmrmytegcwrnWuSuQue0NarSntEqLZ9d7FD6Q9FayukBu0f0w35+gNNPQt3X9\nqCh6\r\n=6oTR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDV+kOMmIXe9A/1URHemqNDYoKUmtxrd9cFQHsSx5S/ggIhAOi8kerdQRQ2QZkj5pj7ty20Vj/0XGRfxbk1o98Hwf4+"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.8_1554070764111_0.3802353118566435"},"_hasShrinkwrap":false},"0.0.9":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.9","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["build-docs","test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.1","find-up":"3.0.0","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","rollup-plugin-hashbang":"2.2.2","rollup-plugin-json":"4.0.0","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{},"gitHead":"6a8c9af7410efe2f4e559c373deefb779016b4e5","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.9","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-A2zlIXrI/mvH0ZdUSxWq6SqFz0XY0NPkBJjVoeRKpGlnazNiUlk4jD5xWpxW526ev+xBkqMPxnXfQozEcZe4rg==","shasum":"748e2664c83820796568648cca20ce829d1eec4c","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.9.tgz","fileCount":30,"unpackedSize":85490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcoT5tCRA9TVsSAnZWagAAYDcQAIzG6r8VYH7Fsyyy0IpP\nD8SiMvbhQk3u984/bHM0CUkbzhB8mieaBI07S9gOEQQzRr8PFFxsWnM1qsAT\naqRHdSl0HGkcQsuQxZef3L96nRxKsTcT+m6zcHmtAMVeo5+mTllXgXgODFZM\n5fLJ37VQLVQ16rB9W/uTyxB0q61Ft6L+ooKzoRlAsdbOF66zs3Ux0VeTiK/X\nJQTl+N34o2iCVJEyuwpLQVNTKsM+j/R2DS7cG8cs9Irm7b34/ue1+fL+2moh\ncxEU+RbcfBAiYiupsFy/REKZnp+am62T0NZfJFBGlRs319k9+ZNxjgeKxMxB\nOqZQyRhthX85c7BAIYJGcWslVm6vRYuAAEBDq80SrcNO2u2xUkJ65tlXWRh6\nsI0EPzM73ZAk0CLHd2Yn/7Q79eKt/KKCMBoU3XQq2jCh94KDsSbHQn+xnl7h\noRMjIwaxJEbekOW1r+1yI9Ls9gpjhpVOCvyh4m48F+gpAQT3VZgOpkwQMJD/\nZwloDmzLE5Y82VRtZB62h6FZsXsXaKnl4jspFuFUjkaBcmtb82l0FfJV3B2e\n0CyvkGrCmmqjUGwsHEyFKI09psViXiqPrv2HJn1kMd7IAYMrxVJee8mj/odF\nDOOE99M5AfieC18UhpAT87GevYzVjmI6Vd2zqdXnFEWAEW8Mqx2N9W7ZHeKm\n0DGY\r\n=eK3g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBg2uUburYJz+p3Iygmwvqk9LWpHWyHSzilI/VvxDrujAiEAj1Qj+gI6TDMFHmlMV6KlZkOE7W9koXZnWbP2fOk4uEk="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.9_1554071148757_0.8393718348753043"},"_hasShrinkwrap":false},"0.0.10":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.10","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["build-docs","test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.3","find-up":"3.0.0","glob":"7.1.3","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{},"gitHead":"c64769b55ab40a07e7b5577dc84ebea36e94ef6d","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.10","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-WRnZ2xDun6L62idDSyjF0X98SXk7pl2+DZGPGrBOxliW4GlkYwUHX7oZ5toFUFjelRa/A5o90nmZy3Ugd1c3jg==","shasum":"be83cc56643dd7279239b9a05f4a6d03eec29c92","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.10.tgz","fileCount":29,"unpackedSize":69744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsBVFCRA9TVsSAnZWagAAdtgP/2L1rQayD+nRCNV0WtNR\nRWfIC2D4tjj+LwNcEBBvjsSIuLEdag8L2RLMm+PXIeCGZVgsJC+1Joy5VTud\nunpkHH8g+LwDajP62lhkJMst4231qF5tJW2xciOZJaI40HQxYBpsCEKFM3aP\nsIKeISulX4gsBG/scFs0GtbwJ7x3JfB8gl/geGFi8YTXgYEc4tFFccU4oNYI\n/3BkfkFi10XyJUB4qb0I0QXH+3kqT3klWGrnbK+fCoCFVdGDSTTVV8gNwYtF\ntbVdIsgveBw0XkKzqwcn7yeuFUo81jMPW/3zO/fbyZE05LGfNsXbabUfGZbr\n/sLBRFjULj0zBssSRjThzKW5ubrf0/L6K8+DgiQ0H5NNINaGqLFw9S5g4P6i\nTHmY3aGBmo8RqSx2SKa7XHQo4xozRpwHWwJSCuE2XTBe3SihZH7YjcXVXSNV\n/WhJKHZa5yHupeMKFt2U9rV8NRsNWmz8Qv8hLWXD3K5gBNItbmr6845HEGqO\nPh3DZ/O2EOclNfOZsJaVCCrxsHzzdL29B9tM831RaJw7HC6XJiCWtyJmbs2A\nsTPxZqRv/tUFuKdvj4N0WVUITMMuerEzGoMujW1MQtP33LEomCO5Ms3B5q7+\nP18w6xw00d2iencMZ0ter5nGbPqOg75//Z+IJBDrjSpynZgQFirYrkFG9E7P\nHqGf\r\n=yy8C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFxGyKaAKl6IGxALyRc0E6SpLBeuoVjrPzoOMO+1RHK/AiBKwACoyIn2QS78cX05eNhNiwhH0Pr4ie/1ndm3G0aaag=="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.10_1555043652577_0.797098947160618"},"_hasShrinkwrap":false},"0.0.11":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.11","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"node test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["build-docs","test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.3","find-up":"3.0.0","glob":"7.1.3","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{},"gitHead":"199104baecab2550cb8b5c8ebdc4150164790b14","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.11","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Q18/c6eiyjYgEA88GcCH4FonG5uUwQqfiRIshwcq6shbOvEVYafanBrOqi74RxIcH+M9mFRnSCvWaYxtPNk74Q==","shasum":"55c339e9e96300ab0b710eb3c8ca37cdf3e8601e","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.11.tgz","fileCount":29,"unpackedSize":70206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcstSnCRA9TVsSAnZWagAA4FMP/ipXErVnbMUcR8Q7kyRm\ngCxdXMKDLBoTf7+YQthnQQ1efV7+y4oOo37wrVhlQ2tsqmtF6lCcQdhrPtRt\n+XOAu4mbT/Bj3xgJSypV2V5gD32hzsAuo9zZsSWwMyR5WeMur/GpGI94/Q4a\nqY1aRKcGmBfgH3g1Jz9CdD8KlBSYYev5EWCsh8WdDjoRGJTUqEL1wCRXW+Cc\nPnzW8sWcW2Gsid+eHpmPy8PAl3A3go9k/twLVRqBgy5+7stO/OWuvFkW6Mi9\nUhhvUcXFpIsGg7uESwx3qZRQSqg8s0Lbluvmr+qSwKpge6+JonTd+uyxlqZg\nbBLtszGQaoZ26s+420MILraN5XCeS7ET9O2uoSgvXRGe9JkBy6WIQ3BZcVAm\nwFb1+R94Mh1rq17zKNuYmGhjTTosHRCpA+ceV1jqpIm55ki82EBE7MUbw6kp\nNtWO9zIl8WJq/WMaylYNxxPy4YE3D01b2NgxXMwem5BpJblSaOB3oannj28a\nxgfzdVcE+2EDHeI/yrq7Gtzzf9TU5UQtUm5WevehoWydTEf15F5ll7cro7yG\n6pcJKZg1SAFEqZOqYwg5krPK35BikoErgixc9upy1r3yoKUVHzmkFmOn852F\nSe5ejKoEbkrJby8YEc3UJfQpPBB5zi6QTKb6BXumoPHUuWG+0jgXyYc2v8el\nidzX\r\n=PjcM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrqmUe8NrpSxw9kRBmLU9EtGn5284NU0zcT+424sVz0AIhAI6DKSSSIv9ijGBiZYoPKTrF1jvA/LdfwRcVlxZZzEQp"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.11_1555223718612_0.750433684613242"},"_hasShrinkwrap":false},"0.0.12":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.12","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","bin":{"fileable":"./dist/cli/fileable.js"},"directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["build-docs","test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-component-clear":"0.0.2","fileable-component-folder":"0.0.3","fileable-components":"0.0.3","find-up":"3.0.0","glob":"7.1.3","jsdoc-md":"2.1.0","jszip":"3.2.1","node-fetch":"2.3.0","node-popup":"0.1.14","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-file":"0.0.3"},"gitHead":"ed34bbda742dd2cd9c71707eb3282e5177d2f830","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.12","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-/PZFNcGgyOA+9mH8JQKrL7w7Wo5sckKdAyhBLwYPxYVb/000aIsxmD9Dgw1HTcklFhgYifC+aX9qtTdXfaofVA==","shasum":"b70d7562c1426ba50aa1ce2f9254f9ab9b285727","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.12.tgz","fileCount":28,"unpackedSize":63492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcswapCRA9TVsSAnZWagAAXdQP/0dCIFwIlCIVh36xzZn8\nAca+8VAUr66I4wubXFqBNcAj7FfC7QaIIKup4oS8/BDRSOBMSbLZ0tHfRHXz\n2BNYjFgdWFsdRzDf/yRGMEXR/4QxsZcfSix77l/tf4Ouf6AK6ZYlp78ep4QI\nNrGwRUWvsTOmD1gcvMIbskT/Jn/gv41+icAngwwJGmHsK0b/1Jtnck7C+QIe\nJ92YcKzqMesngrhcV4h+dtT2b3CnlopqdP2iOuzjk8vDBJHdY5SjaJ/07n8n\n60gF0jFFhDbMQJg8jtVqaCau/zFyLnuM4Y/laKfUsG5Vz9tTXWT4rCNXyinv\n3HyWaZbEzk2KnqFG8v5EMISdsr9rt28mG4EJ2P5pXZ2rU2bt4gzDDCY9rcxv\n8BlPGxv6ERUtyRq/iTr1mS5QhdAeuOQnBi3qTip6BQnSt4GCxNJXt3o/D6rz\nkDsTtjpN4bVOeV5VoftvwNwHj5xfaa9OCamvRluKS0knxcaFBFoZZfdylqcX\nRO2FddpWCgxbNf2F7xyJJ9ORbPfhCMeuqt0pzT7r0VAkN6ezOuRIxBRXMu3S\neRAOcL2r5T5aS90fchuujmwEhcO4khRtSiMgFIEq2cBkgWood4Q44+LTZ5g/\n4QiYkqGxHjaySxNX6OQ5K8KGAf73/V0Cw+hGCzyRMmhuHE9RV+Pt0T6fSnsg\nYeNR\r\n=PnOc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpuLIusMxqkyouN4IxH+CdiqCp/+TeYMBqX2sRd2Z3OwIhALJEp3JEtgzBDvvTSJ3e/sk51C9S7K93dstiyhPrFWmg"}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.12_1555236520633_0.5133045819516178"},"_hasShrinkwrap":false},"0.0.13":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.13","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["build-docs","test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.4","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.3","fileable-component-folder":"0.0.4","fileable-component-file":"0.0.3"},"gitHead":"be2e2934e77241a2ac37d016a0d7886bc54403ef","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.13","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-kbyY4qHjquf485n1aHoKMGUY48+SNZXMCz7fmLP7MSayNVEGoDX81OsEmzsyH1SkbWl96zeLfQd7abJiLaSFUw==","shasum":"b2b67add914deaa6f4d552d38df48a1ae55f129e","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.13.tgz","fileCount":27,"unpackedSize":55747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcs53/CRA9TVsSAnZWagAAh1YQAJ5cTfdNvzG78ygDBdaZ\nw73HUeTGmvPp8bTWD/9dLsA6XiaxVjaUocR04mcrGir1RHUYt38fsnTGabOm\nNQaYVRrq73Rmji3e6LQGTAcjfaykIqvr/9JPRnp9RV4HvmVVnmnqC/BZeE7x\nCV1cpo7zRsA0Ti4nOzp7mdX2oxfQnq0mR7hQq7fmSGGhXycTYv90QgjvpKpR\n3ctROBA6tj1HZ2gyTTkSYCEKK+CIYjaNbNoJZJN1eVwaed0MJVUr/86jxiiD\nQLoWKeDbYy70X+321pg/VpCbtNVm/5++5s7Iwsip1/o7dB7Ol0AXZfvo3V1z\nHOwbJzTC2c4ypkFe+UCUayj1EXy8J153IK6fV3yY8HqN9QC4z+ok5RyAQQFH\neaqxt52NGWJAa1cO7Jv+eEPJvx81mE6OnRqYSJ1+FXa1ubSyTqqSdBW0GSG+\nYCUkAiFOcTi2hYL5Gu6/C6S/wgSnbxk7kQe+/dGG0zOuLmRzOLjOvxEwV+mV\nVdhaB5YfL94/+K7YIuMBi9Tx2cWQ2/m4Fy6ZePNt1Qq350FJwj6QinrGGyyw\n+YIlGNg+WHwV0RX5QvD2Y0MK+VdHF+/G+awYqsnobUvBZRXF+HXNj+d0AGC+\nOYlyaIBrZBzBwi8u4gs0HKIDpTmp1YBM6ArmhqDM6lDpFHIjWVyrkBQhQY97\nwu02\r\n=a9ga\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDYypMsM/O2hzR2yoRnjq0RWdcVPGElzbCxhnv3KIW0dAiEA7+QmX2dPA8NsTDCDvbB113DgqfQKEnDfqYz+PNswY1s="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.13_1555275262436_0.11507029319898665"},"_hasShrinkwrap":false},"0.0.14":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.14","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["build-docs","test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-components":"0.0.5","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.4","fileable-component-folder":"0.0.5","fileable-component-file":"0.0.5"},"gitHead":"6e67547c438bf4baeb4841ac80e38625f89411cd","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.14","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-SmwONKXY9VjxGI4X8rWexUvyZXzSUhH4iqV/Rlvqsm333JRUmWRH04a0B6CA9SQR4S6P+TlMxsGTv2JMtRk/rw==","shasum":"62a56b29d3c1d3cf7f32e9e24a18dcf55206267d","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.14.tgz","fileCount":27,"unpackedSize":55747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcs6ZECRA9TVsSAnZWagAAJnAP+wbzRFtbbD8S8627uTe7\nle9tCEaGwKFuAIcyoK6YLqJYECp8t8dBVeEBXbhsjZIrT5JcFtbWDakEhXsz\ncTCuzRP6QZQ5lWiIjZTdhNBSr6VJ20z0XeQxgJOrDGkBIWi8Za0CFRnTaEIp\nI9HDdvwAybwBzphHui8SxDkDiZGIlO8C7fLUDePlcYuKnYOAqp0Di7DBro0h\ne0HGUlhKC1nHmdhGMIDfRlLC0pGmLH8KFSD+9okSvTfkdIWoV/vE5mR5OOvx\n/yEtPB4l/1Z/LAvlnmgn35Yev5LmNQNHf0aGvmhH/Q+8SFka4q0BHvFj0uEF\n7OrwtgBR/WNbKAMjC9zhJi49e9ZrtpRDyADvUZlybmaiTGy8sAj1zLLs+eJU\n+0D8s2s814B1rxs3qMy2UWNP7vJjxkxuOnCDZwnUUlsEWBjxrdzS9ecH2TBO\n28ZISDsbOaEuJ//4nEtzTg1PeW72+xE/4LWpKixflBv2bpMe0mt3wwWvXHHR\nhVJC75unj0wo/GZmRqzfCYbrNadCiVCaehodcAZto+pnW42sKSoOSGJieJkN\n/ROewYiaX60Mte7HL+4mYNANs2+7thyJv9kaLJSk3OBZbtxn9uN2j2zayNZ1\ncnbKQQnEHUs8FqqZ2E3MhHqKujzJ76U0EI/8KznmjGicqK1c39vYWMXwLvYy\nH9fs\r\n=s+F+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFU9cmyHoL3r1xjB15ZlKzGmfK2I3QmEClBYT1BxF69yAiEA8k7lal9g9I4kt1ENB+W8Nsy5d6cShtiZrXrZWlskJ4Y="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.14_1555277380024_0.7163618740333297"},"_hasShrinkwrap":false},"0.0.15":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.15","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["build-docs","test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.5","fileable-component-file":"0.0.6","fileable-component-folder":"0.0.6"},"gitHead":"370b9db2de4e9198c088cdc440ee692bea472325","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.15","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-oB+9YQp6iAj6/ycvyk+RHSJT0tmjcn33uJAx2vghtP0D1AB5xN+fB8uwrBFI+RbmGtJTH7KGMsv7QAEfEySf+A==","shasum":"0168bb56e4bcc87daaec65f21e6a14b9c0a96c2c","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.15.tgz","fileCount":27,"unpackedSize":62588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctJ7wCRA9TVsSAnZWagAAvNgP+wc6xJ6gXsHtPfHmOmZV\nllvjekjqxGMqSy3Bamguq8uqNXkEYDdVesSqkT1IpZOREO0qoK553IsDoKkc\nIBIqt3ix0m6r0ZP7AF/wZis9VBsdmbG5s40W12BOfrJDmRl2wYAbTR9ag7Xc\ndgIOzSRDAnAddDQJSZhK7LMWhEOUjtJlm2D5cTS8iWWfF5xhjufMQi02VWsX\nl+ozdKEs/mFoo1EGK7D4KBuss+C0ggiJwTuYakkopH5Nf1L8Bt9AmbEPZt1B\ntzk1UA01OjrzO8ccqo+VDb5c2C3h2kbABXdmQf4lgIcUVnLZdr9XYf8+YFOg\njdBUAsGvdYgvc+HLzWbbWTp5KD7wJ/cFxBlncCMkYZoQO/MD0Ud2LehARLOB\nJ+9ZLZt09V+X+dK6kimRGLTLl3/WhcA/MUEDd9fXayAMXzH7O9lXNYQNX1ZF\nx1meHH/5ki1B/tH74AvKD09vCUBW2E5b8BEY9KheNDmrpq0/GeqgobrLoNev\nqZaIc1uT42OKPD3GeCn8Zi4wqvPNxD9bvizllnEWP0D34+41k746qSUAfv1a\ndYXaV6qf4eZsjQP+eXMulmk6yZvDuea8kX570m4BT3VbWnA3VfWYytcF5HrW\nNbhWMshhyNCWnfN5k1PmC4bFZwxxAcvELeKLzwL1nl1LaEgOLr6zzCkIb1up\nU/jz\r\n=2skF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1BYrqMn6p5TotcPRxSW4ySCIhkeq+BWgyToXn7zV+/AiBvGWNNfZPICsL4T2Eb1vCnXFBh/dLWwBF791ZwoxJ/QQ=="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.15_1555341039773_0.43834783264928245"},"_hasShrinkwrap":false},"0.0.16":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.16","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["build-docs","test","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.5","fileable-component-file":"0.0.7","fileable-component-folder":"0.0.6","testafile":"0.0.1"},"gitHead":"110606bcc1132dd34770ae9662a051b1acdb7625","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.16","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-5lJpsvLBD68UXIdb0HO2WQPAumtnVf4jT9K7iKs8wCsifb+OBdNx4x3lNnEBYY/E/Geh9niG2iDLN0DP4eFsaA==","shasum":"a9ac92cd5ad8fb1cc9dd9d2d2204495db45c5d3e","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.16.tgz","fileCount":33,"unpackedSize":66746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJct/kZCRA9TVsSAnZWagAACKQP/A1KnNeLeabSS2cV2MRT\nvQD/QsHNlUfDw6UpbEIPIreu9KqZZeGMEmgJN7HJaAOWCfzDmcTvnICDiRi/\nGnt0NYyhYq4xjW2VUPXXhqeCtVR8jlSp0fKy60AZTqRnhMgCjfhfxuiUhGFo\nVpQVNF48I3k/B6lDCo52k0XANTQ3XyeggRFtBD2AGmtESiOz8a7tUWhxE6V9\nO5P1L81V2gNfY4gzEfgh3fT1GCaEsh99X2ZJKf2HvzDgGMAzChcy5e1rKoah\npZiRmNiNTcM2lo6Cd1O1zaJXLEwZtODS+v3DypIO0m4XhbVTS13dOzvqsq3r\ngGl30vIek2LsP0HT4oFFFEu3Iv8SUMbwg+tEarmpknJHQT16kedaDUI2df2J\nFA1JrZhyrcBkXdGhOW+P+bqojEDSf6heL9vUxeXmfslyiD+w3SHUhZN433M/\nNIKhGjgKc7AUoyCyH22cwRXAdQoafEh8dvdgdWgdbc/Z64fiexdeWIugTiWS\nlE8m4hHBySKecgZu+cuZEwtaYUBRu04WoooDKITKqscnSJVycpsh46L1JA3/\nelWM9nay9L+7jGFzz4uz9WZO8XffjeOv2zjsW6qR0AoVtZht1IDN1sXvFjPl\nG72mx9CYrgWdpPRQSC4vdDhY4OApBoPkshojIneunRMHt07HqUYBCpHVjbw9\nLBsz\r\n=YysI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBzQu7wFob8ySb/caASF1AWz0lk+Xc6OWhFkEk6+qgtAiEAm2gP5uQSkTEoBqw5lKG4FyyGPEY2LfvLHedaoXB2oHY="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.16_1555560728938_0.7952686016294899"},"_hasShrinkwrap":false},"0.0.17":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.17","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","build-docs","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.5","fileable-component-file":"0.0.8","fileable-component-folder":"0.0.6","testafile":"0.0.1"},"gitHead":"a85b418309c311197d67377190c9a8c24e06d282","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.17","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-6zy2iifgBiVMzetjVn3bwfUnm7PqDsFnW6OAPOF5D2TZSFX5Uw/ekkWiy7ROEXneYInR4Y1ZReQJFkrhMiExFQ==","shasum":"930c5c8c46239bb8a83b3c83f96a7647f2e01be4","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.17.tgz","fileCount":33,"unpackedSize":66688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuWAOCRA9TVsSAnZWagAAbWMP/3fq/2GWJvvThM6nF+8u\nx0zqPlIKKXILodCdskrx6R6Pd4jNB3Me3RLtbp0exLzYN1BTfzHLSSg7yxi8\nxZenCFP3tn6gH8GWL85Vu93sqgxmrCc6H/fOD1E69BHDWRXZEcaPaG5GzFL7\nvSsyHNUP6Mwf4MtP8toGviRfDfVMm9Cba+5rsxlbDsX7zA8OoL6zPLbqBW9f\nNjC7Kiomg13L+tYddpSIWQxeRKstGcc9cOlX0O8sYmTmId86+EHNtZDrOS97\nR6WtLsaGiX5IEs16bGtHLaXICBE9A2X2YgfTSBarMLowoyOM853ilyZDz29L\n1X9BO3oLTyCUVZGAf3+jqEAw/eTsZyTHsSsqWeY5ZcnIt4iCgIQEsjsiDyN+\naXvUIZKIsSXo7vFaQq0z2MTw48+GI0GGEc7IPK10MWpaccNuQrGQF4vDz8um\n9EAzlY5o5G4FMvSKFMeIIj8EGY4vJB4Jz/OTjnTBtcFBA4niRr27MYJ4tVl1\nItBbPNUP/rsj6SMI8QzSSmj1ZpyQs3Rr8wtJfqnhowkjBbt41VYx1JsVlYy8\nk15nR2D5pdPEr4VWs18HzhLNxigZl6IhvYZphZ3QEvNyziCro0AWEu0anl00\n4mAuH3Q97UJcEH60Rr/ET9mnLFqqPkbV4Al78j5tvkCLAcSAF8fFIlc9HFM7\ne++l\r\n=G6YI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAcWalCfK4AhId30pD3HVnwIQ/SVF8uSq87kP6nMICspAiEA97rJ/u8jzFqQu8uy2I1IVn7n1+1vRKD8ZDVHtuawBFU="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.17_1555652621234_0.32112726910765654"},"_hasShrinkwrap":false},"0.0.18":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.18","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","build-docs","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.5","fileable-component-file":"0.0.9","fileable-component-folder":"0.0.6","testafile":"0.0.1"},"gitHead":"1309a98c372bc554e332c74a3185a71eb24583b2","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.18","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-sm66aQEwKLIu5phCPp6BcBrc54fnesX6e9vLsVlfk3rTa6ChGkNmtjDTtdyrZ4+syeC9A9owy1NkYaETMTeiSg==","shasum":"d6c9197cfdd3fe6ff2a6e47f85bc44608384a5a2","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.18.tgz","fileCount":33,"unpackedSize":66688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcu2P1CRA9TVsSAnZWagAAuEQP/iahYNlgWlbBbSDeRQS0\nnoHQ6G8nJPBomXKk45QbjoQsUhv19y2TWGvdsmgr2fv0Dbk0nwCrjJSKS4RT\n1yNqIT0rI+Z2L23c1KCEisbKudFiOKRmpP8Hx006R9DJ/WX0MEhrjRdZcjxc\nQ/iAHFdvXzp1HDCgZGb33MYgDKNd8DtU+M+2ZXIQBQ/EKFK39C+2TY91ruIV\nAylKsSTrQod9c/focOYIofQOGm8iYaTXEymGV1s/OR65QZDoCUVafJ6fmIl8\nG9VY/rZGV9I9mW2wnxkqQSqcS8ji3RPVco3XvGjQz/nx7/5UfyUE7U/Kj9FB\nB3I0ctUpORwkcgU7/W9jSbY6/r3ZwVKcGG53uLmspzAcyAgvf3tJF6745HnG\n+dWSUqf5Nsd1ftjy523XsBheJlBdTdxX6U1qg9v5FBfoaNG9mxW+ow1TIYOQ\n1ZkBA4G3DficXmphGY6Kj7aUIX4jnzsq9lRdvuIaTEK23alIGT9PR+Nohkzp\nGVP5Cc9OZA8GT2KBkcH0ZMs1Jz6ezHYQ7DPIVZa2taUNE6u/VVinZGAs7Ctk\nvvarXczqp5ERg9Vlg8hK4KyX2BLUNDSKs+BfMzlE+6xF0z2bD/jVFXDR1aR6\n3cDS+/QRfKbQsCtZrUZP4y/22Zx2WwNUuFl6t+kQ3jZilqM6p1rXjRpHA4Wr\ncO7H\r\n=gxBN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBx7zHgrR4vJRkRGVYh9f2H7GGD/blDwEr66R38s/MbjAiEA4MZpCxOzBQnGVUF/nTzfHtN2z4dNHJNhQE8CIhNfD3w="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.18_1555784691941_0.17661303954067376"},"_hasShrinkwrap":false},"0.0.19":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.19","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","build-docs","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-iterator":"0.0.2","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.5","fileable-component-file":"0.0.10","fileable-component-folder":"0.0.6","testafile":"0.0.1"},"gitHead":"7485207cb3760ab615a18959be3bfc83ccd1d78c","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.19","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-oRVjEAOu09tHzOsXVKvyPMGRx+pXGa7cbUIs8ezBEzhV+hFMKdZy5FPYfvux84Yv8d0Y4mN/1ZvWiLXYa6qCqA==","shasum":"3d72e255c4cb3662d263241c2eecfe4be0f42d31","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.19.tgz","fileCount":32,"unpackedSize":64492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcu+JfCRA9TVsSAnZWagAAxGwP/1x4bbbrCaDURjAjoGno\nMS1xj8ZA3zxMI0hksyJO5iqkxbPCf29l/zdbLjsiA8w9Xda0bgjCEts26Jzx\nN0BDCPaRZIdvminCI2TV3oyx6URwCGaAv5iCU8FmnlP+Xas10RjdWBKzU9Pr\nBO+erAGLOmAZ6ziyAE1A/Yoeo9E7LcV1l4RUny9V42J2dMMWI7mKGl2AlEUI\n/7pMadcz6MVXqjjaDDLxNJCU0pfe4yYs5kyuXn3rUJA7HdumRu9YhKB180Au\nr8p94mlTM/hCKXQtf3QWwTckk5l/o82YM9t3yuLU/JbsoX4Bi8NyPZWmYhVp\nLhu1d+kHZgofaFHq34PdxnQtOJrxjgD29WruWy7gRHaGwsP9i6noxNsiCLWl\nSDkNAJC0faAoafVWhYmNVM7GnAbURXS8MzmDaXIyRrShUa1XcICa4bABMn6G\n4xJEBAnlzywSNwUF7Qgv2gWhZhS031hcixoZrZoUDiFTz5yE5iis1MWDjGzh\nAsPdGf6m1bob2EbNhNditmWikBvhNV+NSlZ9BVpKVaw5aalsMRrqGXzRNiTN\n3gEbNJHo4hS5x0dHtgNnjUXtoT0qVrhctUWy8lMNJ3zeTbGV1jiModqvMCim\nkKFskj6iVbcWZg4ZVae0N7q2agrirHQqTVDFZN7guZQnz7jeDcrCxsj2brbq\nTKDc\r\n=w0lY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQfnt4TeIxlmlEgWRhWNT/q3q8hU8QKjg1j5MU04RTDAIgfI4vT6P/lbc0Jh8lcnzT3ABKpdURyrwzVhO5f+OUY0Q="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.19_1555817054831_0.27602980281725786"},"_hasShrinkwrap":false},"0.0.20":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.20","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","build-docs","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-iterator":"0.0.2","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.5","fileable-component-file":"0.0.10","fileable-component-folder":"0.0.6","testafile":"0.0.1"},"gitHead":"6d3f0211d63f9a188ad8553000d345fb4b47d8b0","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.20","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-xbSUtZlUlLwz9Xg4kUQZ9fRAgtWxNTnOi5iImW1IwReM0XCSQFkgbP/n1en1K6FLMUJqttHLeadxRLSC6uFJ7A==","shasum":"4723589cb195ebf87d24b0499594f31690305abc","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.20.tgz","fileCount":32,"unpackedSize":65721,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcu+9JCRA9TVsSAnZWagAAerYQAJ2kKmfUNXQKUsomng9t\njBA2AXj88MXssB/9uUPHqt4GFfYPIGzqJegBGezHNxVhBC9MYJGcyAyWlTsq\nXcaDXxgCgxiR+5ceN63Fc0A3SAmLQkxlEpMWQDjmxHGOI1vyyz+ehJuwRnoJ\nA2i3FSBk1O872y35NBQxXLsRoJ6JH8mlRRRPPRDicgxeeyvffUKe3IU2yq1n\ntbUcIlQ470tWK+XdJleS/8Wkj+eIh8umJvBzdIm6KN8eeCNwI8J56jrmHFI9\n8NGpIIb+F9kVL8zJJyRQ9RWcw6BJKu2rjBraFQ0mpCasewUbwDJZJwfkQx4p\nn4lsDsGey9BxIiWy6uLeFE4lpAphaOPO/L42LRSACzrvJM3ulGw7aa6AzsVY\nwb0eUKjlYP16aL7VPQIZA0dcZhes42U9okVrKNGmKAHe+Mto7lWSLtuZkyU2\n9Ob0eqSPJaR/4Jt9AjOB0QS0d9T1uZAQKvWnrrxJVSRe/C/TAoy9GfAeuuso\ns2VtalLdq8yuWuDhF282I2CH+7xXk6NAN8Ll2IaVEJCuq6dmk17paeb4dktc\n8bMDjsQZDzO6BKBN6VdT/GMRA3cEIZEG84eAiJet47rR31BpRSg4rLI1RnYX\nJRDrzD8zxItfjXE05rBrL1Q8DkG/TEn1XEpxdnh0/HhsvDBq+LU2gSDaUMkc\n7pAo\r\n=TKSp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRG0/LJZOAxS5mY9vz57FXvFmaVfqlizrEgjeVW5/mngIgNHos0U8JmfwZP4rtZyr2E9Q0IBHqn7ikZpVIMXyw7X8="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.20_1555820361007_0.7405092126429531"},"_hasShrinkwrap":false},"0.0.21":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.21","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","build-docs","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-iterator":"0.0.2","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.5","fileable-component-file":"0.0.10","fileable-component-folder":"0.0.6","testafile":"0.0.1"},"gitHead":"3247fa046c64eea905d7d48382b1efa9288f1a93","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.21","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-pKZUQsoZ1AJj9/NFpb0cuA/3htdMWnrN0hAtNnCyxTpMgn+38tpaZIAErH+Yzc8NPBTDuA83FwQThL2o/6XXSg==","shasum":"ef1f0c4fe0e4dc6832f0c500fe87f75a8a09d713","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.21.tgz","fileCount":32,"unpackedSize":65727,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcu/G5CRA9TVsSAnZWagAAzDUQAJwkMK1/FlCqS1dLNaWo\nXrWmOIOzTIZ3SXsEhhv6UvY9XnaD+u5tmz6vSFhgZPu3ehmPKjKVNlXNphew\nlepfqaFzs1yO9DgIFMLM5b+rgBFhQvlYkAsX+A8byQ2kMYikGSk1VVN2GRLV\nnRmHtdH5HwB0G0JjcIMD7Jjf5dUcLPPwqdx9o9ohpBZ7SzO91uEbJ1V65mnC\n1pLVU/hNsjVPDB8o1eSM5NhnYwV0CfhwHGhUyszvsUdZd6kguJLXVEpJALka\n80yZmIlBDtQAf0txGUV7oimqO2LFjJPpO4jK3jofhztTJPxhHP1FMo3FtgGZ\nKLkOUIF4UgoJ7rljYDfWbItBcilXluYm++3eCYzYnPSelFpC15o9KMmhMz6c\nXVB3hzkJ3rNA5Vi/PNL+rP8OJq3dhBDbhNO0z/CNg1+bfhi8znhUkP5Usqlc\njyTXQDXO4Z29huDC99of5O3wbRxWgxz+twEWnN552lH1s9Du36MWYMixPkJG\nA5DYsP7gV5h3kQVBuNSzNzZ6Y2v0uc6LMe1nvNWEsve/sCNpHM7WZ/LmjL6r\neasPzQMHmfGla2hZbWp1gky+TKgou590+4K/+qCAtklFj6nO3K3jVeskZ+SD\nrGUc2Ob8emgnkY0PJZF6yKjhttdhVRgJMg4l/4xmEvuercZz5+4pm+IaorcB\n3acj\r\n=+2Qq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAb6DLczicS/oN5cUBvUv7N+T+Zws6QitWClFK1ZxgwUAiEAs9FGot2/fDNQQmbMyOjMEqG4vAaw55H38gGJtalhL80="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.21_1555820984279_0.4695195330485975"},"_hasShrinkwrap":false},"0.0.22":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.22","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","build-docs","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-iterator":"0.0.3","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.5","fileable-component-file":"0.0.11","fileable-component-folder":"0.0.6","testafile":"0.0.1"},"gitHead":"3d2956c30f894bbff02f62c778773c0643f2a610","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.22","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-DuELpqO+U1qLUWRgH5IMKpAuagiqw7zlQba8EF0D4CkvlGumHodDcJaoU0w1vbVJzId1bdczK0kALsDCPE8jnQ==","shasum":"a0138b2480d662c8c8dbb3d6cbcb6b53b7862494","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.22.tgz","fileCount":32,"unpackedSize":65727,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvQkrCRA9TVsSAnZWagAAqAQQAI6Sj+atBijYHVv8oALA\n112ihrmNjZSnpEx3lgRx50L/l8cM+znduyEfK6EzouRAR73Wnow9BtwZ4Luo\nI+872fbnfZrJPNLJfvSc+S3gT0+eDo+bqhOzQIuLVZHKquIQ2RgvXZkNvxpM\npTvKYOsx56iEXWXHtqj2BnVGh4qSkC5F1bc8Oalxsh10g+iGgKhvzRYnkerv\nr1wsc+Fm7qL485CJt+C+MBffKu1V2Rrx8P4TY/v6a0J1psmAPDcSbShxkvCh\n6s+ELdT6oOgP6BwdBEA6TXkeAOBBTZI4KJ3V/MTfeV6hZHlDnFMIoqBDriWq\nj7t1vUglxTqsinbKZ6ZVvl8bjxV28NkzKWAydPGGyS3jsIBXjuKTS5RkVOPI\nKMEE3EbqW8i2Kp0YHD7r+iHXYmbMkQnqbSGmYwb8qmSokGwluEv38NJ7NwL9\nMC4TpPR+2g/Ln/sKnJddAIaACZtQvCSHaMbWj2Fg1DJIZcng0/jwrTYgEQL/\nuLimYz9ZA9pNfZHojLeGqaiU04Mba25TQCPekgW5armFNiLjTtZirQ9LbLIQ\nsc78oNRI0YsXI/3BmvI7P4I0anaktw8L0cE95ynlbKTfHAmTebYOmsCMH5dH\nwl/qiqbHQxuklbfXdfN4kFbxTHr2AiB+tJ11Gq6ejdBDxxHg5Cq4/nGdifN0\nIBAA\r\n=/fdO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEYLEYB25pZpNB2GAYmQs7H7xLAcgUf/kthA0epqyAlNAiAVAZYdihe38MtPm9w30ifhYgS5JcKv7EKPD2XL1mTVBQ=="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.22_1555892523314_0.10360554258455301"},"_hasShrinkwrap":false},"0.0.23":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.23","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","build-docs","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-iterator":"0.0.3","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.6","fileable-component-file":"0.0.7","fileable-component-folder":"0.0.6","testafile":"0.0.1"},"gitHead":"032fdc8ed5f222875478d3b9d19accd05a466047","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.23","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-35uCDFPMlhRqVir3Brn2zaZj9S5jYRmGL2w7ppzgmT0vNP/d+N9AawG8sj++XIPMHb3Bm/uTrjIQIPVIRgVUQg==","shasum":"d5def20a7b965b1d5164de5132e311eb29588733","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.23.tgz","fileCount":32,"unpackedSize":65726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvREeCRA9TVsSAnZWagAAjfAP/2PQQKsM6ZLC/VYt2KCa\nudqLzjKnfxMjYe24xfjaqNVw/gByWmSF1zghofzxHJy96aCca1QuyL3Bo5dU\nwf+onCStJ+rhhcATfSSQDC8RRQaLws5n87dlwtPpfoCTzqc4a89hmOym9hjA\nysjAvY7izUmisc9br4Ufae7X5cTyk2jICrLGw5izf4P1xVQErVFdAw+HvhY/\n/kgE0CDMzsXHOt1NjBtZ/aFT9OED9A4Eg8pWkBRD0Rh2dKcRnBmtoiigBgro\nH+2Uo0H+SgV3n8qG1hxP/dqWIm5pcqHBlijDL5IDRGnfwRiew5/jg8oePguC\nTi7nSdP6it4AEvXQ0aoKgB58MiBCgWceEJP5yzwp+DdoGzwsL1lIjeuASteN\np/0ogyqTTYFwLnCJepvxccYMxfXFa1jAz29p32euquSe54xrfB2/PGRFBiV7\n8bzPAaKHbRfdrY0wbhBieySd6LzRtaroPD25huMA2dioWFOabPCXFkuvmOlc\nn6t8PmNchescoX1mz+S6vqUhaqSsFhgfPH+df2tVvO5UzXyYQgDCSp6g+quI\nHJxNzIJ4OHOFW3P1A2f9uLNhxukYv47Iugj8d1gkokXzEaFz/JQp2P8bJ3R4\nZiqZt7Xc1EaQy3dB5buYm4NukwoMvHzu36n4gQvtk7vY765Bnq9Oh8bZCKOz\nIL/l\r\n=jptX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqhfnXHq0JwdazCrMlFChPuWfsPs6XWkUprB9v4dSTQAIgUR9YxhozrGqx93eGEpWNWnHGHzNt+fKfHUlL872eff0="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.23_1555894557670_0.09614315802683993"},"_hasShrinkwrap":false},"0.0.24":{"name":"fileable","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"version":"0.0.24","description":"![fileable logo](./static/docs/logo.png)","main":"./dist/lib/index.js","directories":{"example":"example"},"scripts":{"fileable":"./dist/cli/fileable.js","jsdoc-md":"jsdoc-md","lint-no-fix":"tslint --project src","lint":"npm run lint-no-fix -- --fix","build-lib-cli":"rollup --silent --config config/rollup.config.js","build-js-docs":"sh ./scripts/build-js-docs.sh","build-docs":"npm run build-js-docs && cat ./static/docs/main.md ./dist/temp/api.md ./static/docs/todo.md > ./readme.md","build":"npm run lint && npm run build-lib-cli && npm run build-docs","test-no-build":"./node_modules/@babel/node/bin/babel-node.js --presets @babel/preset-react,@babel/preset-env test/index.js","test":"npm run build-lib-cli && npm run test-no-build","demo-no-build":"node test/demo-human-input.js","demo":"npm run build-lib-cli && npm run demo-no-build","add-built":"git add dist/ && git add src/ && git add readme.md"},"pre-commit":["test","build-docs","add-built"],"keywords":[],"author":"","license":"MIT","dependencies":{"@babel/core":"7.4.0","@babel/node":"7.2.2","@babel/plugin-syntax-dynamic-import":"7.2.0","@babel/preset-env":"7.4.2","@babel/preset-react":"7.0.0","@babel/preset-typescript":"7.3.3","fileable-iterator":"0.0.3","glob":"7.1.3","jsdoc-md":"2.1.0","pre-commit":"1.2.2","react":"16.8.6","react-dom":"16.8.6","rimraf":"2.6.3","rollup":"1.7.4","rollup-plugin-babel":"4.3.2","tape":"4.10.1","tslint":"5.14.0","typescript":"3.4.1","yargs":"13.2.2"},"devDependencies":{"fileable-component-clear":"0.0.6","fileable-component-file":"0.0.7","fileable-component-folder":"0.0.7","testafile":"0.0.1"},"gitHead":"8ab572001943167ffebe49cbe60e79fc5f1f6037","bugs":{"url":"https://github.com/johnhenry/fileable/issues"},"homepage":"https://github.com/johnhenry/fileable#readme","_id":"fileable@0.0.24","_nodeVersion":"11.12.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-i2KSXEz1Y6MkF+nUH0zjE2qqu0lTOXNLoZlOYQBHhts9eQPo3TUEbulilQ7kX870FUiY+FGIZ6BLe9tbWlYL3A==","shasum":"ffaaec8522eec37321e73f34e91b180b3150b7e6","tarball":"https://registry.npmjs.org/fileable/-/fileable-0.0.24.tgz","fileCount":32,"unpackedSize":65726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvRTOCRA9TVsSAnZWagAAPRQP/jLiDbpiHYuGJxOU/VYF\nIr2r3xAedFakMdJQ0Kz8uWTsWwmbcRSiZEjVPn8tbdgKCBgbYGhNhSpWnSMd\n4Bb3ViTdYeh2+joGidvnlKDqBYL8Y7brFfl5z3Wp/NeVrRh+cEXzP8MZ1alS\nC89g+9EcyzF4D0QUtIQG4DBd4Hwk4pV2+SVEru8B/XthPC3PfpUZg6srl061\ndI+2cvS/Vyh1XdW4YNJC8Og1FJrq1pVec4sAuuMBLSqwiKlMIuy3kSKHgCRI\nWYzj8nHHS18MDRev4oOiJkiOl6uW7ycK/YTZZ7AVYBcXcTOMGe9RBTToA9sA\nIxYHRiK0nMlWy26QKEL+1jr1qYXKYfJTOIluCxFiwmSg4KsLzwS6gQA+6NDh\n2ABNDqD2k6MbrKFmC++XfyNCuBUGvUJ8k9T6Ul0L9/T8ZWzSRL69LT4Ru6jb\neaNbe03PWgesplWYy4nrsgnqpt6kix24l8C6kbVfuQXnLlSQ5SIqltQkHpr7\np5IS3xyD/aNGAfZaEdtbGJCYmnDJqsqG9JFkbfjrkUq6UVowA42fc7FLBqy4\neZYiu7UkLDLKRqOdNq/z5oqgjWxEYWwPqsaklhGESmGymCCqP/cZ0TcT/stc\nvdpsxUpdGjBAFcuQG+qcgisbWHw3rEYmVbXM45nCaAHoZZp2lBbqiemMPRdn\nmu6O\r\n=ekhQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAgtYQ/SFyn/RUMOTgBLrTgdGVKy0w2/c2mZNzStSGNTAiEAmYGbD2IIBAAUTJyv1nYriTYldVaSGkgiZRdE+QHg8FM="}]},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"_npmUser":{"name":"johnhenry","email":"john@iamjohnhenry.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fileable_0.0.24_1555895501404_0.8893354920651675"},"_hasShrinkwrap":false}},"time":{"created":"2019-03-31T07:28:18.292Z","0.0.0":"2019-03-31T07:28:18.478Z","modified":"2022-05-02T09:43:58.209Z","0.0.1":"2019-03-31T08:13:20.247Z","0.0.2":"2019-03-31T08:19:48.162Z","0.0.3":"2019-03-31T09:40:28.907Z","0.0.4":"2019-03-31T09:50:35.720Z","0.0.5-0":"2019-03-31T09:58:33.597Z","0.0.5-1":"2019-03-31T16:24:17.247Z","0.0.5-2":"2019-03-31T16:53:31.367Z","0.0.5-3":"2019-03-31T17:05:55.716Z","0.0.5-5":"2019-03-31T18:45:45.142Z","0.0.5-6":"2019-03-31T19:24:40.214Z","0.0.5":"2019-03-31T19:27:32.766Z","0.0.6":"2019-03-31T21:17:11.846Z","0.0.7":"2019-03-31T22:05:29.010Z","0.0.8":"2019-03-31T22:19:24.333Z","0.0.9":"2019-03-31T22:25:48.961Z","0.0.10":"2019-04-12T04:34:12.695Z","0.0.11":"2019-04-14T06:35:18.908Z","0.0.12":"2019-04-14T10:08:40.836Z","0.0.13":"2019-04-14T20:54:22.614Z","0.0.14":"2019-04-14T21:29:40.201Z","0.0.15":"2019-04-15T15:10:39.918Z","0.0.16":"2019-04-18T04:12:09.100Z","0.0.17":"2019-04-19T05:43:42.072Z","0.0.18":"2019-04-20T18:24:52.029Z","0.0.19":"2019-04-21T03:24:14.950Z","0.0.20":"2019-04-21T04:19:21.484Z","0.0.21":"2019-04-21T04:29:44.748Z","0.0.22":"2019-04-22T00:22:03.434Z","0.0.23":"2019-04-22T00:55:57.870Z","0.0.24":"2019-04-22T01:11:41.532Z"},"maintainers":[{"name":"johnhenry","email":"john@iamjohnhenry.com"}],"description":"![fileable logo](./static/docs/logo.png)","keywords":[],"license":"MIT","readme":"![fileable logo](./static/docs/logo.png)\n\n# Fileable\n\nRender a file tree using a JSX template.\n\nInspired by [React FS Renderer](https://github.com/ericvicenti/react-fs-renderer).\n\n## Related Projects\n\n### CLI\n- [CLI](https://github.com/johnhenry/fileable-cli)\n\n### Components\n- [File](https://github.com/johnhenry/fileable-component-file) - create files\n- [Folder](https://github.com/johnhenry/fileable-component-folder) - create folders and archives\n- [Clear](https://github.com/johnhenry/fileable-component-clear) - remove files and folders\n\n## Installation\n\n```sh\nnpm install fileable\n```\n\n## Usage\n\n## Bacis Usage\n\n```javascript\nimport { renderConsole, renderFS } from 'fileable';\nimport template from './path/to/sample-template.jsx';\nconst options = {\n template_context:'./path/to/',\n folder_context: './destination'\n};\nrenderConsole(template, options);\nrenderFS(template, options);\n```\n\n### Templates Files\n\nTemplates are jsx files. The default export will be used to generate a file tree.\n(Note: You must always include a reference to 'React');\n\n```javascript\nimport React, {Fragment} from 'react';\nexport default ()=><></>;\n```\n\n#### Components\n\nBy default, [React.Fragments](https://reactjs.org/docs/fragments.html) are available and other components may be imported if installed locally.\n\n```sh\nnpm install fileable-component-file fileable-component-folder fileable-component-clear\n```\n\n```javascript\nimport React, {Fragment} from 'react';\nimport File from 'fileable-component-file';\nimport Folder from 'fileable-component-folder';\nimport Clear from 'fileable-component-clear';\nexport default ()=><>\n    <Clear>\n    <File name='readme.md'>\n    # I am a readme\n    </File>\n    <Folder name='src'>\n        <File name='index.html' doctype='html'>\n        <html>\n            <head></head>\n            <scrpit src='index.js'></script>\n            <body>\n                See Console for result.\n            </body>\n        </html>\n        </File>\n        <File name='index.js'>\n        console.log('hello world');\n        </File>\n    </Folder>\n    </Clear>\n</>\n```\n\nComponents cand be composed and extended.\n\n```javascript\nimport React from 'react';\nimport File from 'fileable-component-file';\nimport Folder from 'fileable-component-folder';\nimport Clear from 'fileable-component-clear';\nconst DateFile = () =><File name='today.date' cmd='date' />\nexport default ()=><>\n    <Clear>\n    <File name='readme.md'>\n    # I am a readme\n    </File>\n    <DateFile />\n    </Clear>\n</>\n```\n\n\n#### Inputs\n\nIf the template would accept inputs, you may pass them into the template as a function arguments;\n\n```javascript\nexport default (first, second, third)=><>...\n```\n\n```javascript\nimport {renderFS} from 'fileable';\nimport template from './path/to/sample-template.jsx';\nconst template_context = './path/to/';\nconst folder_context = './destination';\nrenderFS(template('first', 'second', 'third'), { folder_context, template_context});\n```\n\n## Creating a Fileable Component\n\nCreating fileable components is easy. Components must meet the following criteria.\n\n1. Must be an asynchronous iterator yielding objects conforming to the \"Fileable Component Protocol\" (see below)\n\n2. Must have key 'FILEABLE COMPONENT' set to a truthy value.\n\n### Fileable Component Protocol\n\nFileable components must yield objects containing a 'directive' key -- along with other keys -- that and tells the renderer how to render the desired file tree.\n\n### directive: FILE\n\nThe FILE directive is used to create files.\n\nSee the above File component for an example.\n\n#### key: name\n\nName of file to create.\n\n#### key: content\n\nContent of file to create.\n\n#### key: mode\n\nMode of file to create.\n\n#### key: append\n\nIf set to true, content will be added to a file. Othewise, content will be ovewrwriten.\n\n#### key: folder_context\n\nContext in which to create file.\n\n### Directive: FOLDER\n\nThe FOLDER directive is used to create folders.\n\nSee the above Folder component for an example.\n\n#### key: name\n\nName of folder to create.\n\n#### key: folder_context\n\nContext in which to create folder.\n\n### Directive: CLEAR\n\nThe CLEAR directive is used to delete files and folders.\n\nSee the above Clear component for an example.\n\n#### key: target\n\nString representing files or folders to delete.\nMay be a [glob](https://github.com/isaacs/node-glob) pattern.\nMay use '!' to negate files.\n\n\n### Directive: WARNING\n\nThe WARNING directive is used to denote that something went wrong but the process will continue.\n\n#### key: message\n\nMessage explaining what went wrong.\n\n\n### Directive: ERROR\n\nThe ERROR directive is used to denote that something went wrong but the process will continue.\n\n\n#### key: message\n\nMessage explaining what went wrong.\n\n\n#### key: folder_context\n\nContext in which to delete targets.\n\n## Creating a Fileable Component\n\nCreating fileable components is easy. Components must meet the following criteria.\n\n1. Must be an asynchronous iterator yielding objects conforming to the \"Fileable Component Protocol\" (see below)\n\n2. Must have key 'FILEABLE COMPONENT' set to true.\n\n### Fileable Component Protocol\n\nFileable components must yield objects containing a 'directive' key -- along with other keys -- that and tells the renderer how to render the desired file tree.\n\n### directive: FILE\n\nThe FILE is used to create files.\n\nSee the above File component for an example.\n\n#### key: name\n\nName of file to create.\n\n#### key: content\n\nContent of file to create.\n\n#### key: mode\n\nMode of file to create.\n\n#### key: append\n\nIf set to true, content will be added to a file. Othewise, content will be ovewrwriten.\n\n#### key: folder_context\n\nContext in which to create file.\n\n### Directive: FOLDER\n\nThe FOLDER is used to create folders.\n\nSee the above Folder component for an example.\n\n#### key: name\n\nName of folder to create.\n\n#### key: folder_context\n\nContext in which to create folder.\n\n### Directive: CLEAR\n\nThe CLEAR is used to delete files and folders.\n\nSee the above Clear component for an example.\n\n#### key: target\n\nString representing files or folders to delete.\nMay be a [glob](https://github.com/isaacs/node-glob) pattern.\nMay use '!' to negate files.\n\n#### key: folder_context\n\nContext in which to delete targets.\n## API\n\n### Table of contents\n\n- [function renderConsole](#function-renderconsole)\n  - [Examples](#examples)\n- [function renderFS](#function-renderfs)\n  - [Examples](#examples-1)\n\n### function renderConsole\n\nRender file tree to console\n\n| Parameter                  | Type     | Description                                                        |\n| :------------------------- | :------- | :----------------------------------------------------------------- |\n| `input`                    | function |                                                                    |\n| `options`                  | object   |                                                                    |\n| `options.folder_context`   | string   | Folder into which files should be renddered                        |\n| `options.template_context` | string   | Location of template. Used to determine relateive 'src' attributes |\n\n#### Examples\n\n> ```javascript\n> import { renderConsole, iterator } from 'fileable';\n> const main = async () =>\n> renderConsole(template, { folder_context: '.' });\n> main();\n> ```\n\n* * *\n\n### function renderFS\n\nRender file tree to file system\n\n| Parameter                  | Type     | Description                                       |\n| :------------------------- | :------- | :------------------------------------------------ |\n| `input`                    | function |                                                   |\n| `options`                  | object   |                                                   |\n| `options.folder_context`   | string   | Folder into which files should be renddered       |\n| `options.template_context` | string   | Location of template. Used to determine relateive |\n\n#### Examples\n\n> ```javascript\n> import {renderFS} from 'fileable';\n> const main = async () =>\n> renderFS(template, { folder_context: '.' });\n> main();\n> ```\n\n## Todo\n\n- remove unnecessary dependencies\n- add proper typescript typeings\n- test multiple scenarious:\n     - local input + remote templated\n     - local input + local templated\n     - remote input + remote templated\n     - local input + local templated\n     - no input + remote templated\n     - no input + local templated\n- create template component\n","readmeFilename":"readme.md","homepage":"https://github.com/johnhenry/fileable#readme","repository":{"type":"git","url":"git+https://github.com/johnhenry/fileable.git"},"bugs":{"url":"https://github.com/johnhenry/fileable/issues"}}