{"_id":"@aboutweb/irrigable","_rev":"4-8947bffcbd88b51a5a37d44a60302223","name":"@aboutweb/irrigable","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@aboutweb/irrigable","version":"0.0.1","description":"Provider Streams they must emit a String or Distributable Object","main":"./src/index.js","directories":{"example":"examples","test":"test"},"dependencies":{"@babel/core":"^7.1.2","@babel/preset-env":"^7.1.0","chokidar":"^2.0.4","glob":"^7.1.3","gulp-babel":"^8.0.0","micromatch":"^3.1.10","rollup":"^0.66.2","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","vinyl-fs":"^3.0.3","vinyl-sourcemaps-apply":"^0.2.1"},"devDependencies":{"node-sass":"^4.9.3","uuid":"^3.3.2"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","gitHead":"ab0bcb90f090db5d4c1ea90c0f2797a060edf972","_id":"@aboutweb/irrigable@0.0.1","_npmVersion":"6.4.1","_nodeVersion":"9.8.0","_npmUser":{"name":"aboutweb","email":"stephan.dum@gmx.at"},"dist":{"integrity":"sha512-hybwB3ZhdKf1WDluV8FnE4+5W5+eXuVZRcAFyZV9L9GyLYP7qGVWg+qHuRVmDhPY9cyz9LVzH5jVw5P8/UHwYQ==","shasum":"82aaddc8ab4cb60e8a8a5f858ca424544b6a3198","tarball":"https://registry.npmjs.org/@aboutweb/irrigable/-/irrigable-0.0.1.tgz","fileCount":18,"unpackedSize":45296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+7/0CRA9TVsSAnZWagAAWzQP/iyMSYjdw2yq4HkxvcTT\n+PfkXUmsyHeg+Jj8K5VhnoKM5cNX9iCBH451nNSumZhmunlRso6dU7LqbbFR\n9GHln2g3OJ+fqvg+uX3KNq7ulfL82Bx5/FT7Jk+j4ceiQni8ZIfqvnCurViP\ndmQgShj5moudJ2gNGhP6Rnm9IvGs4Q7zhBx7grzdYThyYZ4NfOCN3K0uEbdU\nrp5iFppXdbJJjwX4YyMbapq1CCl0KhMcIkQDFMeIrq3RLj0jRD73am22y0Qt\n+IWhpNCSwYeVxdrKIRAF9lIfhTwZmMHsccICg2uoblWUIfl3gzkhyJRa07ry\nHpIyjY6uXa0Ku+30KmCwcFm7PnJDHbkRUMqkTSoSRZb7Muy+SaT6V8XRDiff\nv68PlC3kWWIKnvLRGF1RcwxIx5/ye+bJBwS2is/mwJZPWdnA4tmyL+4VFmox\nw954tAWUTwvVfDDpaA7mvYOHohpeW6taEb5GtxEa2NYoXbXzibm+rMFpKr1h\nyzXDzbL22J/Q4gyrwtL9UxBpmcyO0zj1Jw50mdJXcLMAvyIYbI+k2EA/LLI/\nci3pcVwaTfYveNenkDr4AHjBGeLIqyLTOTMXhOUJ6umsKsyLojTnHg7iTwEy\nIs1LA9L1Bzez3lMwfH+edzSluM6gOpJnlTwyWQoWa0/h2svzgg+HNyJx8k+k\nHCxg\r\n=Q6BL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBpV8LLkPbT6waw+xSCWmknN3mc7d16MAUzsss4hAq+UAiEArmud6jDyJOCEf7iuuA6mdkns8ImrunGdL5rqmVPH0OU="}]},"maintainers":[{"name":"aboutweb","email":"stephan.dum@gmx.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/irrigable_0.0.1_1543225331948_0.37196319373598263"},"_hasShrinkwrap":false},"0.0.2":{"name":"@aboutweb/irrigable","version":"0.0.2","description":"Streams API on top of gulp, connecting various build tools.","main":"./src/index.js","directories":{"lib":"src"},"dependencies":{"@babel/core":"^7.1.2","@babel/preset-env":"^7.1.0","chokidar":"^2.0.4","glob":"^7.1.3","gulp-babel":"^8.0.0","micromatch":"^3.1.10","rollup":"^0.66.2","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","vinyl-fs":"^3.0.3","vinyl-sourcemaps-apply":"^0.2.1","node-sass":"^4.9.3","uuid":"^3.3.2"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","gitHead":"2cea08da6c101eab5eb163e58b618c2b32cfec73","_id":"@aboutweb/irrigable@0.0.2","_npmVersion":"6.4.1","_nodeVersion":"9.8.0","_npmUser":{"name":"aboutweb","email":"stephan.dum@gmx.at"},"dist":{"integrity":"sha512-3GxCulWyolQSdeskrKSRBqmiy8oMttDPsK266KdPMSdnAI8xtEJRUViPhh6pu0UILcMP2mE1ECxAdnWXqZxr4Q==","shasum":"447d636244be10073329bd164437be799dcd9a47","tarball":"https://registry.npmjs.org/@aboutweb/irrigable/-/irrigable-0.0.2.tgz","fileCount":18,"unpackedSize":45176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+8ZlCRA9TVsSAnZWagAAHygP/1WEDYmPF3V0Igi1OnwH\nFW4LGbfWZT+cFDFyqn7W3LnxGNnaNdZJdfE8OpNLutKFJuFY3SanUlVDRcTS\nvihzGKpCviRzDb/VfFq1OSNbDzwnPFPQvyVW7cwsc3BHxoAi/C2TPu3LJSmV\nniODMYMyE7vSr5L25zqAcfS3lfwbUJNtA0+dOpXX4kI/oYc/AuKEeuDDkN0r\nGrXgaIrX2WCqcZasHkbsygc1K46BXy0gFT0jTh0/geaiV9vHae1PvMBbAnj1\niN0ljhGwiubON9gT8RaS5eLeCjnhuiy1v86ne566NAfWyAtcObYLynV8QhLH\nRcZqzSFiIvABXc9OQ8gSUZZB4ueciBitBn87J5ZTJqQWSJDN6cmmqXjOh9lU\niLqNohbMueQh+zNMVmT1Q8MaXFEY1pO2Z6EAn3jJLHFkprYbmA4pj6n9Htby\nXYSXtjjFW03nHTOsxeUqcIRUpT8U7ijaaBwVmrj+A9cpJsGg2t93sNdbUmmG\ngSlrFzdBAodilehzAw46hOgk7uu6t+YuphF2d8hD5i2B2UNVpVo3DH/CG1/j\nWCPyRrwQs3Uh0Oz58JfLNNeOJqyS4HejB/Dw3jUXFvP6bHmJbqfP/iSV1r95\nHeMUNDE79k4aExxwMphgVbKZCn7ywweQrunnBx467M6gK3Mb0mH06PBtV4GX\nWBVn\r\n=hSO4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrEgFIk51MI57YoVZmkMAmFsxnY9/B2/bkWDMtpi1U0wIhAK0sSjqjtjZj49tqJrTAUa4dYN+cCKzztiufhAhm5O2l"}]},"maintainers":[{"name":"aboutweb","email":"stephan.dum@gmx.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/irrigable_0.0.2_1543226981045_0.6316316249151053"},"_hasShrinkwrap":false},"0.0.3":{"name":"@aboutweb/irrigable","version":"0.0.3","description":"Streams API on top of gulp, connecting various build tools.","main":"./src/index.js","directories":{"lib":"src"},"dependencies":{"@babel/core":"^7.1.2","@babel/preset-env":"^7.1.0","chokidar":"^2.0.4","glob":"^7.1.3","gulp-babel":"^8.0.0","micromatch":"^3.1.10","node-sass":"^4.9.3","rollup":"^0.66.2","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","uuid":"^3.3.2","vinyl-fs":"^3.0.3","vinyl-sourcemaps-apply":"^0.2.1"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","gitHead":"2cea08da6c101eab5eb163e58b618c2b32cfec73","_id":"@aboutweb/irrigable@0.0.3","_npmVersion":"6.4.1","_nodeVersion":"9.8.0","_npmUser":{"name":"aboutweb","email":"stephan.dum@gmx.at"},"dist":{"integrity":"sha512-vlbgmAq1JTdEQzBACZ/lx5fQgTND9yfCGmTrtt3kiTqi3A5udt1R37rPWqLBuB0MOQMYlBaS5aOujlMDt2CJ0g==","shasum":"3f38bc9278955e02869464f554f18959c1024326","tarball":"https://registry.npmjs.org/@aboutweb/irrigable/-/irrigable-0.0.3.tgz","fileCount":18,"unpackedSize":45176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+8vkCRA9TVsSAnZWagAA3R4QAIgeggzgVxLUQp9f6L4L\n0aXoQ6ZvD4Clekkrc0AroIdRhkS7HOafFmFbFoRSf/a970B5HGcbl480N66T\noeBjR9yofr6V49HoSJ+mSR0JHic5fpNnvBmx8m+KcRPPyiEJ4XXs8faIyFJe\n3Dnd8xMHd1WOLnvOQtaObIIKZNJWzMYA6jf1PTrYrjqUA1y8JMg6LVT1ryDl\nw9r7GkpY2mna7hp2HqWiifd0Dd3KrY0nlGPF7WbYuFRd+4YFMIWX3VI3cQA5\nPOOK/eIOzNaGGUoxWMXrJXwFs77Va2GFXdW1UY7iQD7JlH26YS8q86q08TA/\nmo1IsmtUj/p5IuVHa+1bHzOACiLx2SvSXzTrY5tMn3zr5iuE2QhmaAedBWfz\ni2bbLrZeEP2jL/XOvLovWPIWRSpHNyFii6foRHjI7X4Uj5W8pjNO2tgsaD3f\ndXjULJkQg298TtbWaJnAxQssDJTTuRZAa1jozY/E2q1+5MceQ530nAJnZFeU\niDC8Lsgq4OjnPKrft6C4esZmGOPOSvxHxbIkR5ZEyEWYufhOahhqVlApXZQf\nPOitLkrQ2JupguDlv7HpjyKiw3TG+XYtAKW1trFNx8Cg0W8OVY5WrBfgQMz8\nAdG3oesAwvFELZyLTJLxsv0/sGM7MPOhQklP6nQnDgx9h9YP8SGzypiyIJ+0\nehvZ\r\n=kU+d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA2YzJHlIyOTOqEZcuoTXWAq0EMvJkFVgrqDrj8O4bfdAiB/uXokPYPJkICKAD3LZUpnAUzqO2HI9xmH7D+M+qz1jA=="}]},"maintainers":[{"name":"aboutweb","email":"stephan.dum@gmx.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/irrigable_0.0.3_1543228387863_0.12509665143160142"},"_hasShrinkwrap":false},"0.0.4":{"name":"@aboutweb/irrigable","version":"0.0.4","description":"Build tool on top of gulp.","main":"./src/index.js","directories":{"lib":"src"},"dependencies":{"@babel/core":"^7.1.2","@babel/preset-env":"^7.1.0","chokidar":"^2.0.4","glob":"^7.1.3","gulp-babel":"^8.0.0","micromatch":"^3.1.10","node-sass":"^4.9.3","rollup":"^0.66.2","rollup-plugin-commonjs":"^9.1.8","rollup-plugin-json":"^3.1.0","rollup-plugin-node-resolve":"^3.4.0","uuid":"^3.3.2","vinyl-fs":"^3.0.3","vinyl-sourcemaps-apply":"^0.2.1"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","gitHead":"10ebd1a4f6e9e57ad6bee84d1494762ed78c472b","_id":"@aboutweb/irrigable@0.0.4","_npmVersion":"6.4.1","_nodeVersion":"9.8.0","_npmUser":{"name":"aboutweb","email":"stephan.dum@gmx.at"},"dist":{"integrity":"sha512-a+h/JGFoUwh1wxyV1TEDxCKe00X3h7YdQtLtiaowz49PAlu5tCgb12988VrFZifayMErD4escE5MgwJIbZEIOg==","shasum":"e9a07024645df041894ee94d2fee0e979e06966d","tarball":"https://registry.npmjs.org/@aboutweb/irrigable/-/irrigable-0.0.4.tgz","fileCount":18,"unpackedSize":45207,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb+8/CCRA9TVsSAnZWagAA8XIQAIQVlIvRL1eh+ED3tt0u\nPNxBvKqKmyKldmjS4dt/DXi2ujtWTE1R5kqA1gI3kD8o+APXsQXkvm25jsK9\nljBmwIuSPAmuGTn/zWxRospL9M5IpMBEgt1ZzgKqNO/vBl6YVsmaS1e8Xq7I\nMisv7dNLFxQPDkISBRpcZrTOeZ64pjkfErpQmhmi4I4T4Jd/Ne8TbZZBUght\n/C+yocVY21UIozVCv224ID/dVkTG7eHaasqK0REdnKNh9eD/BQZmwjoCUtO1\nY+cAN5YoBthw3jIEwHi2x4WFkn/oxws4CZRi61h/0RGc7SfFAeVoaASXeAK+\ni9Cng2YBOr3xn9Ldxu9LdXGeaT8AWWsvLQilQuTbXROc46zNe3+sf9JMT3o4\nFKZwendRzo/vVGoClpQunrR3Vf4HtB6f+3WDnlft2DrRxZSsQ1ml9rBv2gHg\nduVp3VHNVS5IWVmzcxtSWQjbPJ07WSxvO84+IXSNx5DDv82hQS9v6uA/OqCR\ngsOMODet+wEu0BRuIQGdsRcplt5r3CU2A45dXkDFerLiUFV9OKF9H6Jtx65W\nx1OVHHJN5wZYDoMQRP1gvnyfBn5rn1ozErzDoCyRGYhfcSYdw8YVbPV1UwcZ\n25YHtz2npM3vbw2ObctJyVGrNVZodt+KXTk7qgMlG3Xjf3+jPAIJ0cPlRCQz\nYfgH\r\n=DpWH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEIHKMGTejvc1sqj4CXuCQroVMCoXxUriYcXCVITKtUUAiEAomrACjSBgR2qrb8uoSERyIPu7LiYELGxDb6BEmgkOI4="}]},"maintainers":[{"name":"aboutweb","email":"stephan.dum@gmx.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/irrigable_0.0.4_1543229378200_0.9546202264342074"},"_hasShrinkwrap":false}},"time":{"created":"2018-11-26T09:42:11.793Z","0.0.1":"2018-11-26T09:42:12.083Z","modified":"2022-04-04T11:00:42.462Z","0.0.2":"2018-11-26T10:09:41.204Z","0.0.3":"2018-11-26T10:33:08.096Z","0.0.4":"2018-11-26T10:49:38.409Z"},"maintainers":[{"name":"aboutweb","email":"stephan.dum@gmx.at"}],"description":"Build tool on top of gulp.","keywords":[],"license":"ISC","readme":"# irrigable\n\nStreams API on top of gulp, connecting various build tools.\n\n\n> The project is in an early alpha, no testing and unstable interface, stay tuned for updates.\n\n## Motivation\n\nOne of the biggest Problems in gulp is tracking dependencies, and configs in ES7 or Typescript are not supported out of the box.  \nOn the other hand webpack and rollups having hard times providing code spliting and external resources like CSS or images. Using import on these resources is not forward compatible and will most likly never be.\n\n## The Idea\nThis API is heavily inspired by gulp and its stream design. Irrigable its self is already a transform stream one can write to. Configs can be organized as a tree like struct, so if an input is attached it can also fall back to one of its ancestors.  \nInstead of providing one big config irrigable aims to seperate these in smaller easier managable chunks.\n\n## Config\n\n### Nodes\n\nAll options are optional, most will use the parent node value as fallback.\n\n```javascript\n{\n  cwd : String = parent.cwd || process.cwd(),\n  base : String = parent.base || \".\",\n  writeBase : String = parent.writeBase || \".\",\n  env : String | Array<String> = parent.env,\n  extend : Boolean = true,\n  last : Boolean = true,\n  break : Boolean = true,\n  fork : Boolean = false,\n  traverse : Function | defaultHandler,\n  filter : GlobString | Array<GlobString>,\n  micromatch : Object,\n  contents : Boolean = true,\n  cache : Object = parent.cache,\n  split : Boolean = parent.split || true,\n  watch : Boolean = parent.watch || false,\n  error : Function = parent.error || console.warn\n  sourcemap : Boolean = parent.sourcemap || false\n  providers : Array<String | Invocable | instanceof ReadableStream> = [],\n  pipecompose : Function | defaultHandler,\n  inputs : Input | Array<Input> = [],\n  pipline : Array<Invocable> = [],\n  outputs : Invocable | Array<Invocable> = null,\n  tasks : Object<String, Node> = {},\n  complete : Function = noop\n  rules : Array<Node> = [],\n  nodes : Array<Node> = []\n}\n```\n\n### Inputs\nThis streams will bubble up the tree trying to match one or more nodes.\nInputs will receive the stream that issued the transformation as last argument.\n\n```javascript\n{\n  task : String,\n  last : Boolean,\n  glob : String\n  pipline : Array<Invocable>,\n  outputs : Invocable | Array<Invocable>,\n  complete : Function | noop,\n  sync : Function | noop,\n}\n```\n### Invocable\nMakes internal diffing and hashing more reliable.\n\n```javascript\nfunction\n| {\n  [construct | invoke] : String | Function\n  args : Object | Array<Object>\n}\n```\nif options is a function it self, invocation should be handled inside it and the later returned function should contain at least a property that can used for diffing future updates.\nif invoke or construct is a String, this will require the given module which should export a function.\n\n\n## CLI\nThe CLI will write a new config to the root stream, with the following options possible:\n\nshort | long\n -- | ---\n -p | --providers\n -w | --watch\n -i | --inputs\n -o | --outputs\n -v | --verbose\n\n## Providers\nWith providers you can add Subconfigs\n\n### ArrayProvider(`array`)\nPush an array of configs the the node, this will not watch for changes.\n\n`array` : values that should get emitted\n\n#### Example\n\n```javascript\nconst ArrayProvider = require(\"@aboutweb/irrigable/provider/array.js\");\n\nnew ArrayProvider([\n  { inputs : [\"./some.config\"]}\n]);\n\n```\n\n### ImportProvider(`options`, `parent`)\n\nWill find all matching files build them using rollup, execute them inline and emit its module.exports. This will also watch for changes.\n\n\n`options` : {  \n&nbsp;&nbsp;**glob** : `GlobString | Array<GlobString>`,  \n&nbsp;&nbsp;**cwd** : `String = parent.cwd || process.cwd()`,  \n&nbsp;&nbsp;**base** : `String = parent.base || \".\"`,  \n&nbsp;&nbsp;**watch** : `Boolean = parent.watch || false`,  \n&nbsp;&nbsp;**error** : `Function = parent.error || console.warn`,  \n&nbsp;&nbsp;**pipeline** : `Array<Invocable> = [],`  \n},  \n**parent** : `Object = {}` node that invoked the provider\n\n```javascript\nconst irrigable = require(\"@aboutweb/irrigable\");\nconst ImportProvider = require(\"@aboutweb/irrigable/provider/import.js\");\n\nconst node = irrigable.addNode({\n  providers : [{\n    construct : ImportProvider,\n    args : {\n      glob : [\"./**/build.js\"]\n    }\n  }]\n});\n\n//shorthand\n\nconst short = irrigable.addNode({\n  providers : [\"./**/build.js\"]\n});\n\n```\n\n## Processors\n* [irrigable-html](https://github.com/stephan-dum/irrigable-html)\n* [irrigable-sass](https://github.com/stephan-dum/irrigable-sass)\n* [irrigable-postcss](https://github.com/stephan-dum/irrigable-postcss)\n* [irrigable-webpack](https://github.com/stephan-dum/irrigable-webpack)\n* [irrigable-rollup](https://github.com/stephan-dum/irrigable-rollup)\n\n## Transforms\n* [irrigable-parallel](https://github.com/stephan-dum/irrigable-parallel)\n* [irrigable-jscompiler](https://github.com/stephan-dum/irrigable-jscompiler)\n\n## Licence\n\n ISC\n","readmeFilename":"readme.md"}