6.18.0
This is a relatively big release but should not require any changes to your project configuration.
Node.js LTS is now 20.10 and bud.js has adopted it. We are still not doing anything that requires it but bud doctor
will warn you to upgrade Node.js if you're still on 18 and will really warn you if you are using an even earlier version.
Previously, @roots/browserslist-config would update the can-i-use database as a post install script. This check has been moved into the bud.js application, running before compilation. It runs once per week and only if you have defined a browserslist
property in package.json
. It can be disabled by setting an environment variable (BUD_BROWSERSLIST_UPDATE=false
), or with the --no-browserslist-update
flag.
Fixed
- Fixes an issue where sometimes a stale error notification would persist in the browser even after it was fixed in source.
- Fixes an issue where sometimes installations could hang when using Yarn v3+.
New
- bud.addConfig: config function which accepts a path to another config file to run.
- bud.lazy: config function to configure lazy compilation settings.
Improved
- bud.devtool, bud.hash bud.minimize, bud.persist, and bud.runtime now accept
Bud
as an argument so they can be more readily combined with functions like bud.when (e.g.bud.when(bud.isDevelopment, bud.devtool)
). - bud.hash: Now accepts the hash generation function as a string, if you want to customize it.
--runtime
flag: now accepts a string argument (e.g.--runtime=single
,--runtime=multiple
). It can still be used as a boolean flag: (e.g.--runtime
,--no-runtime
).- bud build development: Help menu with keyboard shortcuts (toggle with
h
). - YML configs now support dot notation in config keys. See updated documentation.
- bud repl: This command is now more responsive to terminal window sizing (it was previously capped at 10 rows).
- bud clean: This command now only lists directories which it actually removed.
- All extensions now have a
done
method which returns the bud instance, for better chaining. - General improvements to logging (
--log
). - General improvements to exception handling.
- Code minimizers (terser, etc.) are lazy loaded only when they are used, which is a performance gain.
- html-webpack-plugin is lazy loaded only when it is being used, which is a performance gain.
What's Changed
- ✨ improve(minor): improve extension interoperability by @kellymears in https://github.com/roots/bud/pull/2474
- 🧪 test(none): improve test cache management by @kellymears in https://github.com/roots/bud/pull/2477
- ✨ improve(patch): cli and logging by @kellymears in https://github.com/roots/bud/pull/2481
- ✨ improve(minor): bud dev dx by @kellymears in https://github.com/roots/bud/pull/2482
- 🩹 fix(patch): fix --silent and --no-dashboard output by @kellymears in https://github.com/roots/bud/pull/2485
- ✨ feat(minor): lazy compilation facade and flag by @kellymears in https://github.com/roots/bud/pull/2486
- 🩹 fix(patch): Add
roots
to eslint globals by @joshuafredrickson in https://github.com/roots/bud/pull/2479 - 🩹 fix(patch): fix browserslist db errors by @kellymears in https://github.com/roots/bud/pull/2490
- ✨ improve(patch): Improve error handling and logging by @kellymears in https://github.com/roots/bud/pull/2494
- 🩹 fix (patch): doctor subcommand by @kellymears in https://github.com/roots/bud/pull/2498
- ✨feat(minor): browserslist auto upgrade by @kellymears in https://github.com/roots/bud/pull/2493
- ✨ improve(patch): improve browserslist upgrade behavior by @kellymears in https://github.com/roots/bud/pull/2499
- 🩹 fix(patch): fix cache dir by @kellymears in https://github.com/roots/bud/pull/2500
- ✨ improve(patch): cli arguments by @kellymears in https://github.com/roots/bud/pull/2501
- 🩹 fix(patch): fix macos notifier default by @kellymears in https://github.com/roots/bud/pull/2502
- ✨ feat(minor): add acorn opt-out by @kellymears in https://github.com/roots/bud/pull/2503
- ✨ improve(patch): improve facades by @kellymears in https://github.com/roots/bud/pull/2504
Full Changelog: https://github.com/roots/bud/compare/v6.17.0...v6.18.0