All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Raised minimum NodeJS version from 12.17.0 to 18.
- Default export removed. Use named export
BundleOrchestrator
. - Export
MergeRawConfigs
renamed tomergeConfigs
. - Export
ValidateRawConfig
renamed tovalidateConfig
. Error.cause
is now used, some thrown errors may be of a different type or have a simpler message.- Return type of
BundleStreamFactory
changed fromStream
toReadable
.
- All caught and forwarded errors will now be an instance of
Error
, if they were not already. - Error message emitted when non-Vinyl chunk is encountered has changed to fix a typo.
- Internal dependency
into-stream
bumped to^7.0.0
.
- Development aid being invoked by
postinstall
hook which was never intended to run outside of development workflows. - Results callback arguments being potentially modified by later pipeline activities.
- Results callback will no longer include a reference to file data.
- Updated interface of
BundleOrchestrator._transform
reflecting tighter constraints in@types/node
v14. No modification to runtime logic, method only used by NodeJS streams. - Removed
esm
loader in favour of native ESM support. - Raised minimum NodeJS version from 10 to 12.17.0.
- Changed exception type thrown when a configuration merge fails, consequence of changing error wrapper from
errlop
to@jsdevtools/ono
.
- Removed deprecated export
BundleOrchastrator
.
- Missing bundles and files not being logged when stream completes without providing all required files.
- Name of bundle class, existing symbol name preserved to maintain compatibility.
- Deprecated export
BundleOrchastrator
in favour ofBundleOrchestrator
.
- Including bundle type in logging.
Test coverage improvements.
- Custom cwd support
This release focuses on improving performance and maintainability. These have been achieved by separating virtual path logic into a separate package.
- API docs.
- Logging interface, now uses
ts-log
.
- Virtual path logic in favour of
@userfrosting/vinyl-fs-vpath
.
- Flaw in results API surface, results are now correctly separated according to their type (script/style).
- Increased test coverage (back to 100%).
- Updated dependencies.
- Consolidated file tracking type definition into single source of truth.
- Updated Travis CI config.
- Updated dependencies.
This release focuses on simplifying the package for UserFrosting 4 to improve maintainability. Features unsupported by UF4 are largely removed.
- Raw configuration validation.
- Raw configuration merging with collision logic (ported from UserFrosting
gulpfile
). - Path transformation with support for file replacement based on rule order (later rules supersede earlier ones).
- Ability to specify base path for resolution of bundle resources and path transformations.
- Support for comprehensive logging through a passed logger function.
- Functionality offered by results file has been replaced by
ResultsMap
property. - Reads stream chunks (
Vinyl
instances) instead of directly from file system. - As an internal
gulp
pipeline is no longer responsible for bundle generation, customTransform
streams (e.g.gulp-concat-css
) must be provided. - Path transformations will no longer be applied to files due to complexity around how paths are managed in
gulp
. Instead this feature will be used for override logic alone. - Bundle results are now retrieved via a callback which is given a collection of
Vinyl
NullFiles
to retain as much useful information as possible. - Moved package under
@userfrosting
organization in NPM and removed superfluousuf
from package name.
- Support for CSS sourcemaps (broken since 2.27.2).
- Specification of pre-minified files (
minSrc
). - CoffeeScript, and LESS compilation (functionality can be implemented manually through provided
Bundlers
). - Glob paths.
- Environment based build conditions (functionality can be implemented manually through provided
Bundlers
). - Incremental/watched builds.
- Automatic HTML tag generation for results file (use results callback to implement this manually).
- File copy support (use
gulp.dest
or an equivalent). - Result file support (replaced by callback).
- Removed dependency on
gulp
as per best practices.
- Removed some missed references to
gulp-util
.
- Migrated from deprecated dependency
gulp-util
.
- Merged upstream 2.28.0 release.
- Unlocked dependencies to allow backwards compatible feature updates. (
^
vs.~
).
- Using
gulp-concat-css
for CSS bundles.
Project Forked: Forked at 2.27.0, 2.28.0 release was backported.
- Options to output src files in result #90 (@PlasmaPower).
Changes unknown
- Consistent
result.json
ordering #71 (@PlasmaPower).
- Updated many deps including:
gulp-less
3.1.0,gulp-coffee
2.3.2 andgulp-if
2.0.1.
- Update to use
gulp-clean-css
2.0.7 instead of deprecatedgulp-minify-css
module.
- Updated to
gulp-less
3.0.5 andgulp-uglify
1.5.3.
- Option to modify built-in sourcemaps #65 (@narthollis).
- Config option for consistent file content ordering #25.
- Updated all deps, including:
gulp-rev
4.0.0,gulp-less
3.0.3,gulp-sourcemaps
1.5.2.
- pluginOptions config option #50.
- Update to
gulp-minify-css
1.1.1 (@ZaleskiR).
result.json
url separator on windows #52 (@gregorymaertens).
- Error handling for
bundle.watch
#47.
- Flag to disable sourcemaps #45 (@21brains-zh).
- Updated examples.
- Logging for errors from custom transforms #41.
- Updated examples.
- Logging of bundle config parse errors.
- Custom result file name during
bundle.watch
(@roberto).
- Unit tests.
- Updated deps, including:
gulp-rev
2.0.1,gulp-sourcemaps
1.2.8,gulp-uglify
1.0.1.
- Support for both minCSS and minCss #34
- Example using 6to5 (aka babel).
bundle.watch
for copy files #33.
- Flag to disable logging #16.
- Issue where when bundleAllEnvironments: true, srcMin is always true #32.
- Allow different watch vs bundle targets #30.
- Only publish results during watch when opts defined.
bundle.watch
for bundles #26.