Repository navigation
Releases: Zilero232/gulp-plugins-hub
Release list
@zilero/gulp-text-replace@2.1.0
Minor Changes
-
#11
27a02d3Thanks @Zilero232! - Every package now shares one version, and each README is a complete reference: options with types, hooks, source maps, errors, recipes and migration from the popular alternative.Factory
createPlugintakesextensions(only these extensions, in lowercase, are transformed),binary(refuses files read as UTF-8 text) anddispose(runs once when the stream ends, fails or is destroyed).- New helpers:
runContentHook(names a hook that returns no text),syncSourceMapFile,createPathMatcher({ patterns, ignoreCase }),isUrl, and theFileHookInputtype. applySourceMap({ chain: true })chains only the source that is the file itself; other sources keep their mappings.isRelativePathInsiderejects drive-relative paths such asC:x;parseOptionsdetects any thenable schema result.
Plugins
- Every content hook that returns something other than a string fails with an error naming the option.
- image-squeezer: PNG output is lossless by default (sharp's
efforthad turned on palette quantisation); opt in withencoderOptions.png.paletteandquality.png. Widths larger than the image are replaced by its real width, so names match the pixels. Asking for the source's own format counts as'original'. UnknownencoderOptionskeys are rejected. - asset-revision: robots.txt, favicon.ico, sitemaps, service workers, web manifests and
.well-known/**keep their names by default, and files without an extension are never renamed. Two files with the same path from different bases fail with a clear error. Unchanged text files keep their bytes. Renamed files getrevOrigPath,revOrigBaseandrevHash. - font-switcher:
formatsdefaults to['woff2']; two sources writing the same file fail with a clear error. - archive-creator: new
modifiedTime; entries without a date get a fixed one, so archives are reproducible. A name whose extension contradictsformatis rejected. - js-squeezer:
.mjsis minified as a module unlessterserOptions.moduleis set; empty terser output fails instead of writing an empty file. - css-squeezer: new
onWarninghook for Lightning CSS warnings. - html-squeezer: a source map the file arrives with is dropped, since it no longer matches.
- scss-compiler: the file's input map is chained into Sass's map; the compiler stops when the stream is destroyed.
- pug-compiler:
file.data(gulp-data, front matter) is merged into the locals, withdatawinning;skipPartialsalso skips folders starting with_. - conditional:
conditionalso takes a glob, a RegExp or an array of them; a handler that returns no stream fails with a clear error. - file-changed: new
extraglobs (Sass partials, configs) that count as dependencies of every file; adestthat is a file counts as not built. - file-concat: inputs with the same name get unique source names, the bundle takes the newest input's
stat, and a BOM is stripped from each input. - file-exclude: new
invertkeeps only the matching files. - folder-clone: a copy renamed in
onClonegets the right source map name; repeateddirsare rejected. - refilename: gulp-rename style functions that change
partsand return nothing work; unknown keys fail with a hint (basename→stem);prefixandsuffixwork in function results; directories keep their names. - text-replace: replacer results are converted with
String()likeString.prototype.replace, andundefinedfails with a clear error; a header goes after a BOM.
Patch Changes
- Updated dependencies [
27a02d3]:- @zilero/gulp-plugin-factory@2.1.0
@zilero/gulp-text-replace@2.0.0
Major Changes
-
#5
433e124Thanks @Zilero232! - Rewrite every package for gulp 5 and Node.js 22.13: ES modules built with tsdown, options validated when the plugin is created, flat hooks that get the file, errors emitted as PluginErrors with the file, and files without contents passed through. See the migration guide: https://zilero232.github.io/gulp-plugins-hub/guide/migrationNew plugins: css-squeezer (Lightning CSS), image-squeezer (sharp), file-concat, text-replace, asset-revision and file-changed.
Patch Changes
- Updated dependencies [
433e124]:- @zilero/gulp-plugin-factory@2.0.0
@zilero/gulp-scss-compiler@2.1.0
Minor Changes
-
#11
27a02d3Thanks @Zilero232! - Every package now shares one version, and each README is a complete reference: options with types, hooks, source maps, errors, recipes and migration from the popular alternative.Factory
createPlugintakesextensions(only these extensions, in lowercase, are transformed),binary(refuses files read as UTF-8 text) anddispose(runs once when the stream ends, fails or is destroyed).- New helpers:
runContentHook(names a hook that returns no text),syncSourceMapFile,createPathMatcher({ patterns, ignoreCase }),isUrl, and theFileHookInputtype. applySourceMap({ chain: true })chains only the source that is the file itself; other sources keep their mappings.isRelativePathInsiderejects drive-relative paths such asC:x;parseOptionsdetects any thenable schema result.
Plugins
- Every content hook that returns something other than a string fails with an error naming the option.
- image-squeezer: PNG output is lossless by default (sharp's
efforthad turned on palette quantisation); opt in withencoderOptions.png.paletteandquality.png. Widths larger than the image are replaced by its real width, so names match the pixels. Asking for the source's own format counts as'original'. UnknownencoderOptionskeys are rejected. - asset-revision: robots.txt, favicon.ico, sitemaps, service workers, web manifests and
.well-known/**keep their names by default, and files without an extension are never renamed. Two files with the same path from different bases fail with a clear error. Unchanged text files keep their bytes. Renamed files getrevOrigPath,revOrigBaseandrevHash. - font-switcher:
formatsdefaults to['woff2']; two sources writing the same file fail with a clear error. - archive-creator: new
modifiedTime; entries without a date get a fixed one, so archives are reproducible. A name whose extension contradictsformatis rejected. - js-squeezer:
.mjsis minified as a module unlessterserOptions.moduleis set; empty terser output fails instead of writing an empty file. - css-squeezer: new
onWarninghook for Lightning CSS warnings. - html-squeezer: a source map the file arrives with is dropped, since it no longer matches.
- scss-compiler: the file's input map is chained into Sass's map; the compiler stops when the stream is destroyed.
- pug-compiler:
file.data(gulp-data, front matter) is merged into the locals, withdatawinning;skipPartialsalso skips folders starting with_. - conditional:
conditionalso takes a glob, a RegExp or an array of them; a handler that returns no stream fails with a clear error. - file-changed: new
extraglobs (Sass partials, configs) that count as dependencies of every file; adestthat is a file counts as not built. - file-concat: inputs with the same name get unique source names, the bundle takes the newest input's
stat, and a BOM is stripped from each input. - file-exclude: new
invertkeeps only the matching files. - folder-clone: a copy renamed in
onClonegets the right source map name; repeateddirsare rejected. - refilename: gulp-rename style functions that change
partsand return nothing work; unknown keys fail with a hint (basename→stem);prefixandsuffixwork in function results; directories keep their names. - text-replace: replacer results are converted with
String()likeString.prototype.replace, andundefinedfails with a clear error; a header goes after a BOM.
Patch Changes
- Updated dependencies [
27a02d3]:- @zilero/gulp-plugin-factory@2.1.0
@zilero/gulp-scss-compiler@2.0.0
Major Changes
-
#5
433e124Thanks @Zilero232! - Rewrite every package for gulp 5 and Node.js 22.13: ES modules built with tsdown, options validated when the plugin is created, flat hooks that get the file, errors emitted as PluginErrors with the file, and files without contents passed through. See the migration guide: https://zilero232.github.io/gulp-plugins-hub/guide/migrationNew plugins: css-squeezer (Lightning CSS), image-squeezer (sharp), file-concat, text-replace, asset-revision and file-changed.
Patch Changes
- Updated dependencies [
433e124]:- @zilero/gulp-plugin-factory@2.0.0
@zilero/gulp-refilename@2.1.0
Minor Changes
-
#11
27a02d3Thanks @Zilero232! - Every package now shares one version, and each README is a complete reference: options with types, hooks, source maps, errors, recipes and migration from the popular alternative.Factory
createPlugintakesextensions(only these extensions, in lowercase, are transformed),binary(refuses files read as UTF-8 text) anddispose(runs once when the stream ends, fails or is destroyed).- New helpers:
runContentHook(names a hook that returns no text),syncSourceMapFile,createPathMatcher({ patterns, ignoreCase }),isUrl, and theFileHookInputtype. applySourceMap({ chain: true })chains only the source that is the file itself; other sources keep their mappings.isRelativePathInsiderejects drive-relative paths such asC:x;parseOptionsdetects any thenable schema result.
Plugins
- Every content hook that returns something other than a string fails with an error naming the option.
- image-squeezer: PNG output is lossless by default (sharp's
efforthad turned on palette quantisation); opt in withencoderOptions.png.paletteandquality.png. Widths larger than the image are replaced by its real width, so names match the pixels. Asking for the source's own format counts as'original'. UnknownencoderOptionskeys are rejected. - asset-revision: robots.txt, favicon.ico, sitemaps, service workers, web manifests and
.well-known/**keep their names by default, and files without an extension are never renamed. Two files with the same path from different bases fail with a clear error. Unchanged text files keep their bytes. Renamed files getrevOrigPath,revOrigBaseandrevHash. - font-switcher:
formatsdefaults to['woff2']; two sources writing the same file fail with a clear error. - archive-creator: new
modifiedTime; entries without a date get a fixed one, so archives are reproducible. A name whose extension contradictsformatis rejected. - js-squeezer:
.mjsis minified as a module unlessterserOptions.moduleis set; empty terser output fails instead of writing an empty file. - css-squeezer: new
onWarninghook for Lightning CSS warnings. - html-squeezer: a source map the file arrives with is dropped, since it no longer matches.
- scss-compiler: the file's input map is chained into Sass's map; the compiler stops when the stream is destroyed.
- pug-compiler:
file.data(gulp-data, front matter) is merged into the locals, withdatawinning;skipPartialsalso skips folders starting with_. - conditional:
conditionalso takes a glob, a RegExp or an array of them; a handler that returns no stream fails with a clear error. - file-changed: new
extraglobs (Sass partials, configs) that count as dependencies of every file; adestthat is a file counts as not built. - file-concat: inputs with the same name get unique source names, the bundle takes the newest input's
stat, and a BOM is stripped from each input. - file-exclude: new
invertkeeps only the matching files. - folder-clone: a copy renamed in
onClonegets the right source map name; repeateddirsare rejected. - refilename: gulp-rename style functions that change
partsand return nothing work; unknown keys fail with a hint (basename→stem);prefixandsuffixwork in function results; directories keep their names. - text-replace: replacer results are converted with
String()likeString.prototype.replace, andundefinedfails with a clear error; a header goes after a BOM.
Patch Changes
- Updated dependencies [
27a02d3]:- @zilero/gulp-plugin-factory@2.1.0
@zilero/gulp-refilename@2.0.0
Major Changes
-
#5
433e124Thanks @Zilero232! - Rewrite every package for gulp 5 and Node.js 22.13: ES modules built with tsdown, options validated when the plugin is created, flat hooks that get the file, errors emitted as PluginErrors with the file, and files without contents passed through. See the migration guide: https://zilero232.github.io/gulp-plugins-hub/guide/migrationNew plugins: css-squeezer (Lightning CSS), image-squeezer (sharp), file-concat, text-replace, asset-revision and file-changed.
Patch Changes
- Updated dependencies [
433e124]:- @zilero/gulp-plugin-factory@2.0.0
@zilero/gulp-pug-compiler@2.1.0
Minor Changes
-
#11
27a02d3Thanks @Zilero232! - Every package now shares one version, and each README is a complete reference: options with types, hooks, source maps, errors, recipes and migration from the popular alternative.Factory
createPlugintakesextensions(only these extensions, in lowercase, are transformed),binary(refuses files read as UTF-8 text) anddispose(runs once when the stream ends, fails or is destroyed).- New helpers:
runContentHook(names a hook that returns no text),syncSourceMapFile,createPathMatcher({ patterns, ignoreCase }),isUrl, and theFileHookInputtype. applySourceMap({ chain: true })chains only the source that is the file itself; other sources keep their mappings.isRelativePathInsiderejects drive-relative paths such asC:x;parseOptionsdetects any thenable schema result.
Plugins
- Every content hook that returns something other than a string fails with an error naming the option.
- image-squeezer: PNG output is lossless by default (sharp's
efforthad turned on palette quantisation); opt in withencoderOptions.png.paletteandquality.png. Widths larger than the image are replaced by its real width, so names match the pixels. Asking for the source's own format counts as'original'. UnknownencoderOptionskeys are rejected. - asset-revision: robots.txt, favicon.ico, sitemaps, service workers, web manifests and
.well-known/**keep their names by default, and files without an extension are never renamed. Two files with the same path from different bases fail with a clear error. Unchanged text files keep their bytes. Renamed files getrevOrigPath,revOrigBaseandrevHash. - font-switcher:
formatsdefaults to['woff2']; two sources writing the same file fail with a clear error. - archive-creator: new
modifiedTime; entries without a date get a fixed one, so archives are reproducible. A name whose extension contradictsformatis rejected. - js-squeezer:
.mjsis minified as a module unlessterserOptions.moduleis set; empty terser output fails instead of writing an empty file. - css-squeezer: new
onWarninghook for Lightning CSS warnings. - html-squeezer: a source map the file arrives with is dropped, since it no longer matches.
- scss-compiler: the file's input map is chained into Sass's map; the compiler stops when the stream is destroyed.
- pug-compiler:
file.data(gulp-data, front matter) is merged into the locals, withdatawinning;skipPartialsalso skips folders starting with_. - conditional:
conditionalso takes a glob, a RegExp or an array of them; a handler that returns no stream fails with a clear error. - file-changed: new
extraglobs (Sass partials, configs) that count as dependencies of every file; adestthat is a file counts as not built. - file-concat: inputs with the same name get unique source names, the bundle takes the newest input's
stat, and a BOM is stripped from each input. - file-exclude: new
invertkeeps only the matching files. - folder-clone: a copy renamed in
onClonegets the right source map name; repeateddirsare rejected. - refilename: gulp-rename style functions that change
partsand return nothing work; unknown keys fail with a hint (basename→stem);prefixandsuffixwork in function results; directories keep their names. - text-replace: replacer results are converted with
String()likeString.prototype.replace, andundefinedfails with a clear error; a header goes after a BOM.
Patch Changes
- Updated dependencies [
27a02d3]:- @zilero/gulp-plugin-factory@2.1.0
@zilero/gulp-pug-compiler@2.0.0
Major Changes
-
#5
433e124Thanks @Zilero232! - Rewrite every package for gulp 5 and Node.js 22.13: ES modules built with tsdown, options validated when the plugin is created, flat hooks that get the file, errors emitted as PluginErrors with the file, and files without contents passed through. See the migration guide: https://zilero232.github.io/gulp-plugins-hub/guide/migrationNew plugins: css-squeezer (Lightning CSS), image-squeezer (sharp), file-concat, text-replace, asset-revision and file-changed.
Patch Changes
- Updated dependencies [
433e124]:- @zilero/gulp-plugin-factory@2.0.0
@zilero/gulp-plugin-factory@2.1.0
Minor Changes
-
#11
27a02d3Thanks @Zilero232! - Every package now shares one version, and each README is a complete reference: options with types, hooks, source maps, errors, recipes and migration from the popular alternative.Factory
createPlugintakesextensions(only these extensions, in lowercase, are transformed),binary(refuses files read as UTF-8 text) anddispose(runs once when the stream ends, fails or is destroyed).- New helpers:
runContentHook(names a hook that returns no text),syncSourceMapFile,createPathMatcher({ patterns, ignoreCase }),isUrl, and theFileHookInputtype. applySourceMap({ chain: true })chains only the source that is the file itself; other sources keep their mappings.isRelativePathInsiderejects drive-relative paths such asC:x;parseOptionsdetects any thenable schema result.
Plugins
- Every content hook that returns something other than a string fails with an error naming the option.
- image-squeezer: PNG output is lossless by default (sharp's
efforthad turned on palette quantisation); opt in withencoderOptions.png.paletteandquality.png. Widths larger than the image are replaced by its real width, so names match the pixels. Asking for the source's own format counts as'original'. UnknownencoderOptionskeys are rejected. - asset-revision: robots.txt, favicon.ico, sitemaps, service workers, web manifests and
.well-known/**keep their names by default, and files without an extension are never renamed. Two files with the same path from different bases fail with a clear error. Unchanged text files keep their bytes. Renamed files getrevOrigPath,revOrigBaseandrevHash. - font-switcher:
formatsdefaults to['woff2']; two sources writing the same file fail with a clear error. - archive-creator: new
modifiedTime; entries without a date get a fixed one, so archives are reproducible. A name whose extension contradictsformatis rejected. - js-squeezer:
.mjsis minified as a module unlessterserOptions.moduleis set; empty terser output fails instead of writing an empty file. - css-squeezer: new
onWarninghook for Lightning CSS warnings. - html-squeezer: a source map the file arrives with is dropped, since it no longer matches.
- scss-compiler: the file's input map is chained into Sass's map; the compiler stops when the stream is destroyed.
- pug-compiler:
file.data(gulp-data, front matter) is merged into the locals, withdatawinning;skipPartialsalso skips folders starting with_. - conditional:
conditionalso takes a glob, a RegExp or an array of them; a handler that returns no stream fails with a clear error. - file-changed: new
extraglobs (Sass partials, configs) that count as dependencies of every file; adestthat is a file counts as not built. - file-concat: inputs with the same name get unique source names, the bundle takes the newest input's
stat, and a BOM is stripped from each input. - file-exclude: new
invertkeeps only the matching files. - folder-clone: a copy renamed in
onClonegets the right source map name; repeateddirsare rejected. - refilename: gulp-rename style functions that change
partsand return nothing work; unknown keys fail with a hint (basename→stem);prefixandsuffixwork in function results; directories keep their names. - text-replace: replacer results are converted with
String()likeString.prototype.replace, andundefinedfails with a clear error; a header goes after a BOM.
@zilero/gulp-plugin-factory@2.0.0
Major Changes
-
#5
433e124Thanks @Zilero232! - Rewrite every package for gulp 5 and Node.js 22.13: ES modules built with tsdown, options validated when the plugin is created, flat hooks that get the file, errors emitted as PluginErrors with the file, and files without contents passed through. See the migration guide: https://zilero232.github.io/gulp-plugins-hub/guide/migrationNew plugins: css-squeezer (Lightning CSS), image-squeezer (sharp), file-concat, text-replace, asset-revision and file-changed.