{"versions":{"0.1.0":{"name":"gulp-plugin-extras","version":"0.1.0","description":"Useful utilities for creating Gulp plugins","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/gulp-plugin-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"engines":{"node":">=18"},"scripts":{"test":"xo && ava && tsc index.d.ts"},"keywords":["gulp","plugin","extras","utilities"],"dependencies":{"@types/vinyl":"^2.0.9","chalk":"^5.3.0","easy-transform-stream":"^1.0.0"},"devDependencies":{"ava":"^5.3.1","p-event":"^6.0.0","typescript":"^5.2.2","vinyl":"^3.0.0","xo":"^0.56.0"},"xo":{"rules":{"@typescript-eslint/no-require-imports":"off"}},"types":"./index.d.ts","gitHead":"7e01ff9f91e932b378e7667eb56fcdf86e1a59e1","bugs":{"url":"https://github.com/sindresorhus/gulp-plugin-extras/issues"},"homepage":"https://github.com/sindresorhus/gulp-plugin-extras#readme","_id":"gulp-plugin-extras@0.1.0","_nodeVersion":"18.18.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-SqJI+BiJrCydau75ZVBlWmzkg6aEaFj2Hrcyg8+dtQx2JUvME1tjOB0Qf/JSuURgDUJFbnLiiAt7L1GoGsW7ug==","shasum":"c05c2390516475f644a889570f59a8f8a6bce05b","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/gulp-plugin-extras/-/gulp-plugin-extras-0.1.0.tgz","fileCount":6,"unpackedSize":8452,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEIwJGKq6FNvGQJTFltaWlnDX17LHWnFsSDpPo3tAut1AiEAgNapBKFSKQSLZjbGV6tXwAvOyuPO3yP0VL2moNI8o0M="}]},"_npmUser":{"name":"anonymous","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gulp-plugin-extras_0.1.0_1698777708594_0.27802850486035324"},"_hasShrinkwrap":false,"contributors":[]},"0.2.0":{"name":"gulp-plugin-extras","version":"0.2.0","description":"Useful utilities for creating Gulp plugins","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/gulp-plugin-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"engines":{"node":">=18"},"scripts":{"test":"xo && ava && tsc index.d.ts"},"keywords":["gulp","plugin","extras","utilities"],"dependencies":{"@types/vinyl":"^2.0.9","chalk":"^5.3.0","easy-transform-stream":"^1.0.0"},"devDependencies":{"ava":"^5.3.1","p-event":"^6.0.0","typescript":"^5.2.2","vinyl":"^3.0.0","xo":"^0.56.0"},"xo":{"rules":{"@typescript-eslint/no-require-imports":"off"}},"types":"./index.d.ts","gitHead":"48090fbbb9d63816dea6c0cd4df74a0680081eeb","bugs":{"url":"https://github.com/sindresorhus/gulp-plugin-extras/issues"},"homepage":"https://github.com/sindresorhus/gulp-plugin-extras#readme","_id":"gulp-plugin-extras@0.2.0","_nodeVersion":"18.18.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-jbEZtNaO1pndCz6KXzu2bI5pKcHBOi78qK93mfLXxo6AMKSV3P7YR3oVkX7j2ezxBYjiB0/sN53QIqGQNdC3AQ==","shasum":"d7ed5c4cf9b7adc4b3feda1ef629cec662974d8e","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/gulp-plugin-extras/-/gulp-plugin-extras-0.2.0.tgz","fileCount":6,"unpackedSize":9043,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF5O90EraRWGBQ7RO3rb++lGZoHfpIKX/DkxebSoP65SAiEAzxwXkwlaSIZ4wpJLKXK9eM3MxFvYvxxPAEvhGvj27ek="}]},"_npmUser":{"name":"anonymous","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gulp-plugin-extras_0.2.0_1698782044143_0.5951123681468515"},"_hasShrinkwrap":false,"contributors":[]},"0.2.1":{"name":"gulp-plugin-extras","version":"0.2.1","description":"Useful utilities for creating Gulp plugins","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/gulp-plugin-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"engines":{"node":">=18"},"scripts":{"test":"xo && ava && tsc index.d.ts"},"keywords":["gulp","plugin","extras","utilities"],"dependencies":{"@types/vinyl":"^2.0.9","chalk":"^5.3.0","easy-transform-stream":"^1.0.1"},"devDependencies":{"ava":"^5.3.1","p-event":"^6.0.0","typescript":"^5.2.2","vinyl":"^3.0.0","xo":"^0.56.0"},"xo":{"rules":{"@typescript-eslint/no-require-imports":"off"}},"types":"./index.d.ts","gitHead":"dac9a3ea7496d9c79a29032c43a59029e0a50a12","bugs":{"url":"https://github.com/sindresorhus/gulp-plugin-extras/issues"},"homepage":"https://github.com/sindresorhus/gulp-plugin-extras#readme","_id":"gulp-plugin-extras@0.2.1","_nodeVersion":"18.18.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-b+BV0ZsNTAh37yOhPf7L9XRYKpW8Jc02/zsY8aqJUiePQEWPweZycCWeh9+2ytM3VxeXlt+ejumGPWtcCE1+sA==","shasum":"880a7334ea2d3130640c365e2e2d24c1f1d62f47","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/gulp-plugin-extras/-/gulp-plugin-extras-0.2.1.tgz","fileCount":6,"unpackedSize":9113,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH/JjiBm/DVAd5hla7ZBLF9R3reQ9lnlqJxqXqcpMiPFAiA5Ye90/cw9MXeNQrGEP0h9DKID7S8EIPfBeXsHFu200A=="}]},"_npmUser":{"name":"anonymous","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gulp-plugin-extras_0.2.1_1698787444370_0.4404775726447454"},"_hasShrinkwrap":false,"contributors":[]},"0.2.2":{"name":"gulp-plugin-extras","version":"0.2.2","description":"Useful utilities for creating Gulp plugins","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/gulp-plugin-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"engines":{"node":">=18"},"scripts":{"test":"xo && ava && tsc index.d.ts"},"keywords":["gulp","plugin","extras","utilities"],"dependencies":{"@types/vinyl":"^2.0.9","chalk":"^5.3.0","easy-transform-stream":"^1.0.1"},"devDependencies":{"ava":"^5.3.1","p-event":"^6.0.0","typescript":"^5.2.2","vinyl":"^3.0.0","xo":"^0.56.0"},"xo":{"rules":{"@typescript-eslint/no-require-imports":"off"}},"types":"./index.d.ts","gitHead":"f90be6afdca228eedc06e851ba16055e3b1fde1f","bugs":{"url":"https://github.com/sindresorhus/gulp-plugin-extras/issues"},"homepage":"https://github.com/sindresorhus/gulp-plugin-extras#readme","_id":"gulp-plugin-extras@0.2.2","_nodeVersion":"18.18.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-0gssXzTNrrOocYBWN4qOZqd03cz3bxhjxVUPZV9iJdBR0ZZbwMQO/OT8hZChYoc9GjKaA5meaqDr6CjkmKA7BA==","shasum":"8f4af2c0acdc95aaac9dcd86e54f200a6e2842c4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/gulp-plugin-extras/-/gulp-plugin-extras-0.2.2.tgz","fileCount":6,"unpackedSize":9322,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC10tIoO/mbAa3TCAaDryJjcbFv0U2Ek0Hso8D/ZpA+LQIgcqv2p1Onw2fjmVX2QLUfM1NUnzIQps2ekOAisCtapM8="}]},"_npmUser":{"name":"anonymous","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gulp-plugin-extras_0.2.2_1698857482477_0.13575331761020926"},"_hasShrinkwrap":false,"contributors":[]},"0.3.0":{"name":"gulp-plugin-extras","version":"0.3.0","description":"Useful utilities for creating Gulp plugins","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/gulp-plugin-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"engines":{"node":">=18"},"scripts":{"test":"xo && ava && tsc index.d.ts"},"keywords":["gulp","plugin","extras","utilities"],"dependencies":{"@types/vinyl":"^2.0.9","chalk":"^5.3.0","easy-transform-stream":"^1.0.1"},"devDependencies":{"ava":"^5.3.1","p-event":"^6.0.0","typescript":"^5.2.2","vinyl":"^3.0.0","xo":"^0.56.0"},"xo":{"rules":{"@typescript-eslint/no-require-imports":"off"}},"types":"./index.d.ts","gitHead":"4a052093f2c3bca6501dc034e6e4e4202396ac9d","bugs":{"url":"https://github.com/sindresorhus/gulp-plugin-extras/issues"},"homepage":"https://github.com/sindresorhus/gulp-plugin-extras#readme","_id":"gulp-plugin-extras@0.3.0","_nodeVersion":"18.18.2","_npmVersion":"9.2.0","dist":{"integrity":"sha512-I/kOBSpo61QsGQZcqozZYEnDseKvpudUafVVWDLYgBFAUJ37kW5R8Sjw9cMYzpGyPUfEYOeoY4p+dkfLqgyJUQ==","shasum":"ad2c15eb7d7153a75556c59ee81d84693ec42330","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/gulp-plugin-extras/-/gulp-plugin-extras-0.3.0.tgz","fileCount":6,"unpackedSize":9975,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICIGHAB2iRXEKR6KAhEHU6yoxxL1yfXPI4YdVvxWNaTlAiEArEf+ggJYeMU6jhyaBXWeBRF6LxAHNn9duOJi3f+ZbNw="}]},"_npmUser":{"name":"anonymous","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gulp-plugin-extras_0.3.0_1699000375171_0.6371896132275001"},"_hasShrinkwrap":false,"contributors":[]},"1.0.0":{"name":"gulp-plugin-extras","version":"1.0.0","description":"Useful utilities for creating Gulp plugins","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/gulp-plugin-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"sideEffects":false,"engines":{"node":">=18"},"scripts":{"test":"xo && ava && tsc index.d.ts"},"keywords":["gulp","plugin","extras","utilities"],"dependencies":{"@types/vinyl":"^2.0.12","chalk":"^5.3.0","easy-transform-stream":"^1.0.1"},"devDependencies":{"ava":"^6.1.2","p-event":"^6.0.1","typescript":"^5.4.5","vinyl":"^3.0.0","xo":"^0.58.0"},"xo":{"rules":{"@typescript-eslint/no-require-imports":"off"}},"_id":"gulp-plugin-extras@1.0.0","gitHead":"0cc102e3eb957fba1e508bda93384693a3409f88","types":"./index.d.ts","bugs":{"url":"https://github.com/sindresorhus/gulp-plugin-extras/issues"},"homepage":"https://github.com/sindresorhus/gulp-plugin-extras#readme","_nodeVersion":"20.12.2","_npmVersion":"10.6.0","dist":{"integrity":"sha512-YXizWkBgb2030JBuHZ9DQFTkphnKgzwknL+ozSoCKdv8Zt1S8EpVAPo+MwGxqSsd/DtFFM+kThZe6UJvM5DFsw==","shasum":"74c4ddf14dde61100f5fd7b81cab45e87a72ebe3","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/gulp-plugin-extras/-/gulp-plugin-extras-1.0.0.tgz","fileCount":6,"unpackedSize":10067,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFy1oACXELhbTjRM/5UJWi/s9K7dSio8PvwLAJ1ReVngIhAOKvfydsb3gY50az9PstD4CNHLYzOeWl6hmT/IPfHyl9"}]},"_npmUser":{"name":"anonymous","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gulp-plugin-extras_1.0.0_1714661568859_0.012591103329623543"},"_hasShrinkwrap":false,"contributors":[]},"1.1.0":{"name":"gulp-plugin-extras","version":"1.1.0","description":"Useful utilities for creating Gulp plugins","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/gulp-plugin-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./index.js"},"sideEffects":false,"engines":{"node":">=18"},"scripts":{"test":"xo && ava && tsc index.d.ts"},"keywords":["gulp","plugin","extras","utilities"],"dependencies":{"@types/vinyl":"^2.0.12","chalk":"^5.3.0","easy-transform-stream":"^1.0.1"},"devDependencies":{"ava":"^6.1.2","p-event":"^6.0.1","typescript":"^5.4.5","vinyl":"^3.0.0","xo":"^0.58.0"},"xo":{"rules":{"@typescript-eslint/no-require-imports":"off"}},"_id":"gulp-plugin-extras@1.1.0","gitHead":"6dabe65bcc339fc216276e39d6e15130e76d10de","types":"./index.d.ts","bugs":{"url":"https://github.com/sindresorhus/gulp-plugin-extras/issues"},"homepage":"https://github.com/sindresorhus/gulp-plugin-extras#readme","_nodeVersion":"22.6.0","_npmVersion":"10.6.0","dist":{"integrity":"sha512-T0AXOEVoKYzLIBlwEZ7LtAx2w4ExIozIoxVeYEVLFbdxI7i0sWvFDq0F8mm47djixDF3vAqDPoyGwh3Sg/PWtQ==","shasum":"47bb1022bed0ea0216ac6c6a61a35c4fe014318e","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/gulp-plugin-extras/-/gulp-plugin-extras-1.1.0.tgz","fileCount":6,"unpackedSize":11631,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmGrg9MpT6KJ5zB4zfIXBUzbeA+CaIJ02C4HZE3F3QAgIgRs7S8c7L34QNjrNy0MN7raEvHQLaJY8gjhAO3dgfTD4="}],"size":3987},"_npmUser":{"name":"anonymous","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/gulp-plugin-extras_1.1.0_1728886692894_0.3391794124636869"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-10-14T06:18:13.069Z","publish_time":1728886693069,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"1.1.0"},"name":"gulp-plugin-extras","time":{"created":"2023-10-31T19:15:20.608Z","0.1.0":"2023-10-31T18:41:48.792Z","modified":"2024-10-14T06:33:18.433Z","0.2.0":"2023-10-31T19:54:04.605Z","0.2.1":"2023-10-31T21:24:04.638Z","0.2.2":"2023-11-01T16:51:22.777Z","0.3.0":"2023-11-03T08:32:55.415Z","1.0.0":"2024-05-02T14:52:49.010Z","1.1.0":"2024-10-14T06:18:13.069Z"},"readme":"# gulp-plugin-extras\n\n> Useful utilities for creating [Gulp](https://github.com/gulpjs/gulp) plugins\n\n## Install\n\n```sh\nnpm install gulp-plugin-extras\n```\n\n## Usage\n\n```js\nimport {gulpPlugin, PluginError} from 'gulp-plugin-extras';\n\nconst pluginName = 'gulp-foo';\n\nexport default function gulpFoo(requiredArgument) {\n\tif (!requiredArgument) {\n\t\tthrow new PluginError(pluginName, 'Missing argument `requiredArgument`');\n\t}\n\n\treturn gulpPlugin(pluginName, async file => {\n\t\tfile.contents = await someKindOfTransformation(file.contents);\n\t\treturn file;\n\t});\n}\n```\n\n## API\n\n### `gulpPlugin(name, onFile, options?)`\n\nCreate a Gulp plugin.\n\nIf you throw an error with a `.isPresentable = true` property, it will not display the error stack.\n\n*This does not support streaming unless you enable the `supportsAnyType` option.*\n\n#### name\n\nType: `string`\n\nThe plugin name.\n\n#### onFile\n\nType: `(file) => file`\n\nThe function called for each [Vinyl file](https://github.com/gulpjs/vinyl) in the stream. Must return a modified or new Vinyl file. May be async.\n\n#### options\n\nType: `object`\n\n##### supportsDirectories\n\nType: `boolean`\\\nDefault: `false`\n\nWhether the plugin can handle directories.\n\n##### supportsAnyType\n\nType: `boolean`\\\nDefault: `false`\n\nWhether the plugin can handle any Vinyl file type.\n\nUseful for custom type filtering.\n\nSupersedes `supportsDirectories`.\n\n##### onFinish\n\nType: `async function * (stream: NodeJS.ReadableStream): AsyncGenerator<File, never, void>`\n\nAn async generator function executed for finalization after all files have been processed.\n\nYou can yield more files from it if needed.\n\n```js\nimport {gulpPlugin} from 'gulp-plugin-extras';\n\nexport default function gulpFoo() {\n\treturn gulpPlugin(\n\t\t'gulp-foo',\n\t\tasync file => { … },\n\t\t{\n\t\t\tasync * onFinish() {\n\t\t\t\tyield someVinylFile;\n\t\t\t\tyield someVinylFile2;\n\t\t\t}\n\t\t}\n\t);\n}\n```\n\n### `PluginError`\n\nCreate a Gulp plugin error. See the [types](index.d.ts) for docs.","users":{}}