Releases: roots/bud
6.23.3
A couple minor bug fixes.
What's Changed
- 🩹 fix(patch): @roots/bud-eslint:
lintDirtyModulesOnly
is false by default by @kellymears in #2638 - 🩹 fix(patch): tailwind plugin compatibility (fixes #2639) by @kellymears in #2640
Full Changelog: v6.23.2...v6.23.3
6.23.2
Fixes an error when using @roots/bud-typescript
in combination with @roots/bud-vue
. Adds a new method which removes the _DEFAULT
suffix from tailwind color values in generated WordPress theme.json files. Various security patches and transitive dependency updates.
What's Changed
- ✨ feat(minor): add bud.wp.json.removeDefaultSuffix by @kellymears in #2627
- 🩹 fix(minor): fix ts/vue error by @kellymears in #2623
- 📦 deps(patch): upgrade eslint-webpack-plugin by @kellymears in #2620
- 📦 deps(patch): upgrade dependencies (minor) by @kellymears in #2618
- 📦 deps(minor): upgrade non-breaking dependencies by @kellymears in #2628
Full Changelog: v6.23.1...v6.23.2
6.23.1
Fixes an error with certain stylelint configurations.
What's Changed
- 📕 docs(none): fix releases nav by @kellymears in #2611
- 🩹 fix(none): fix #2612 by @kellymears in #2613
Full Changelog: v6.23.0...v6.23.1
6.23.0
@roots/bud-sass
should no longer error without @roots/bud-postcss
. We strongly recommend you use PostCSS.
Update @roots/sage/stylelint
config so as to not cause deprecation notices and errors. Adds examples/sage-with-stylelint
to demonstrate a working config.
Improves error handling. Adds integration tests to cover the fixed bugs.
What's Changed
- 🩹 fix(patch): update @roots/sage/stylelint by @kellymears in #2607
- ✨ feat(minor): add bud.before method by @kellymears in #2606
- 🧪 test(none): improve @roots/bud-entrypoints coverage by @kellymears in #2608
- 🩹 fix(patch): no error when using sass without postcss by @kellymears in #2604
- 🧪 test(none): add sage-with-stylelint test by @kellymears in #2609
- 🧹 chore(none): rm --rf examples/sage with stylelint/public by @kellymears in #2610
Full Changelog: v6.22.0...v6.23.0
6.22.0
Some nice performance enhancements. code coverage gains and dependency upgrades in this release.
There is a known issue with this release affecting projects using the @roots/sage/stylelint
config. If you rely on this config you may wish to hold off and upgrade to 6.23.0.
What's Changed
- 📦 deps(patch): upgrade dependencies by @kellymears in #2580
- 📦 deps(minor): upgrade dev middleware by @kellymears in #2586
- 📦 deps(minor): upgrade stylelint by @kellymears in #2585
- 📕 docs(none): fix releases menu by @kellymears in #2582
- 📦 deps(minor): upgrade style deps by @kellymears in #2588
- 🧹 chore(none): update sponsors by @retlehs in #2570
- 📦 deps(minor): upgrade stylelint-sass by @kellymears in #2590
- 📕 docs(none): Fix typo in documentation for bud.postcss.setPostCssOptions by @folbert in #2559
- 📦 deps(patch): upgrade dependencies by @kellymears in #2591
- 📕 docs(none): : issue with code snippet for spacing in theme.json by @dr5hn in #2564
- 📦 deps(patch): bump ip from 1.1.5 to 1.1.9 by @dependabot in #2560
- 🩹 fix(stylelint):
Unexpected invalid media query "screen(x)"
for Tailwind by @codepuncher in #2558 - 🧪 test(none): improve examples and tests by @kellymears in #2556
- 🩹 fix(patch): dashboard react error (useState) by @kellymears in #2595
- ✨ improve(patch): build performance by @kellymears in #2596
- 🧪 test(none): improve coverage by @kellymears in #2599
- 🔨 improve(none): reuse ink instance by @kellymears in #2600
- 🩹 fix(patch): bud.after sync callback error by @kellymears in #2601
- 🧹 chore(none): update sponsors by @retlehs in #2598
- 🔨 improve(patch): bud.pipe: allow mixed async and sync cbs by @kellymears in #2603
- 🩹 fix(patch): set default log preset to none by @kellymears in #2602
New Contributors
- @folbert made their first contribution in #2559
- @dr5hn made their first contribution in #2564
- @codepuncher made their first contribution in #2558
Full Changelog: v6.21.0...v6.22.0
6.21.0
Fixes errors with s3 and improves the WordPress stylelint config. There will likely be a 6.22.0 in the coming days with dependency upgrades.
What's Changed
- 🧪 test(none): improve e2e readability by @kellymears in #2536
- 🔨 improve(patch): add @types/node to create bud app by @kellymears in #2540
- 🔨 improve(patch):
custom-property-pattern
rule changed for compatibility with WP naming by @cawa-93 in #2539 - 📕 docs(none): mention @roots/bud-preset-wordpress/stylelint by @kellymears in #2543
- 🔨 improve(patch): safer module resolution by @kellymears in #2547
- 🧹 chore(none): update contributors by @kellymears in #2553
- 🧪 test(none): improve bud.tailwindcss.generateImports test by @kellymears in #2552
- 🩹 fix(none): fix stylelint violation in project templates #2549 by @kellymears in #2554
- 📕 docs(none): fix eslint docs url for config files by @dsturm in #2555
- 🔨 improve(patch): enable bundling for config files by @kellymears in #2551
- 🩹 fix(patch): fix s3 errors (#2574) by @kellymears in #2576
- 🧹 chore(none): repo maintenance by @kellymears in #2577
New Contributors
Full Changelog: v6.20.0...v6.21.0
6.20.0
This release is mainly focused around addressing errors related to @roots/bud-preset-wordpress and @roots/sage users.
Fixed: module reload problems
The origin of this problem stems from WordPress not enqueuing assets that depend on wp-react-refresh-runtime
if the WordPress config variable SCRIPT_DEBUG
is not true
. bud.js will now check the SCRIPT_DEBUG
env variable, and if true
will use wp-react-refresh-runtime
. Otherwise, that runtime will be included in the bundle and the script dependency will be left undeclared. In lieu of an environment variable you can call bud.wp.setScriptDebug(true)
in your bud.js configuration.
If you opt in (either by calling the config function or setting the environment variable) you must make sure it is set in your WordPress config. If you do nothing, you'll probably be fine, but we recommend either setting the environment variable or calling the new config function if you experience conflicts between the WordPress core dev runtime and bud.js dev runtime.
Feature: Support for mapping tailwindcss theme.spacing
values to theme.json
Call bud.wp.json.useTailwindSpacing()
to source spacing values from your tailwind config.
Fix: Node 16 compatibility
Downgraded globby from v14 to v13 so as to maintain compatibility with Node 16. We will be moving to Node 20 with the next major release of bud.js but we want to maintain compatibility with Node 16 for all bud.js 6.x.x releases. You should see major benefits in performance and reliability using Node 20 so we definitely recommend upgrading as soon as possible, if you can.
What's Changed
- 📦 deps(patch): downgrade globby to v13 by @kellymears in #2532
- 🩹 fix(patch): WordPress module reload failures by @kellymears in #2530
- 📦 deps(patch): upgrade dependencies by @kellymears in #2534
- ✨ feat(patch): add theme.spacing support to theme.json generator by @kellymears in #2528
Full Changelog: v6.19.1...v6.20.0
6.19.1
Fixes an issue where the bud.module cache was not properly invalidated, resulting in import errors when upgrading from earlier versions (#2523).
What's Changed
- 🩹 fix(patch): fix module cache invalidation by @kellymears in #2524
Full Changelog: v6.19.0...v6.19.1
6.19.0
This release reverts the figures dependency to v4 to maintain compatibility with Node 16. We will do this upgrade when we release the next major version of bud.js, and recommend all users move on to Node 20 as soon as possible. Still, we didn't intend to introduce this incompatibility in a minor release (v6.18.0).
This also fixes errors with inlined assets when using @roots/bud-vue. This required reordering some module rules (which is why this release is a minor release rather than a patch). If you are using the build.module.rules
hook (or any of its inner hooks, like build.module.rules.oneOf
), you may need to update code if you are relying on the rules being ordered in a particular way. Thanks to @rkaalma for the report.
There also corrects a sneaky issue where expanded environment variables were not always being overridden as designed.
Lastly, there have been improvements made to the handling of webpack plugin instances used directly with bud.extensions.add
or bud.use. Related tests have been improved along with the example config. You should also see these plugins in the bud doctor
listing in a more easily identifiable way.
Related issues
- #2508 [bug] @roots/bud-support 6.18.0 now makes Bud require Node 18+
- #2518 [bug] @roots/bud-vue: ?inline query parameter breaks build
What's Changed
- 🩹 fix(patch): revert upgrade of figures to 5.0.0 by @kellymears in #2510
- ✨ improve(patch): improve @roots/bud-vue by @kellymears in #2509
- 📦 deps(patch): upgrade dependencies by @kellymears in #2511
- ✨ improve(patch): improve webpack plugin api by @kellymears in #2515
- 🩹 fix(patch): fix expanded env overrides by @kellymears in #2516
- 🩹 fix(minor): fix #2518 by @kellymears in #2519
Full Changelog: v6.18.0...v6.19.0
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 #2474
- 🧪 test(none): improve test cache management by @kellymears in #2477
- ✨ improve(patch): cli and logging by @kellymears in #2481
- ✨ improve(minor): bud dev dx by @kellymears in #2482
- 🩹 fix(patch): fix --silent and --no-dashboard output by @kellymears in #2485
- ✨ feat(minor): lazy compilation facade and flag by @kellymears in #2486
- 🩹 fix(patch): Add
roots
to eslint globals by @joshuafredrickson in #2479 - 🩹 fix(patch): fix browserslist db errors by @kellymears in #2490
- ✨ improve(patch): Improve error handling and logging by @kellymears in #2494
- 🩹 fix (patch): doctor subcommand by @kellymears in #2498
- ✨feat(minor): browserslist auto upgrade by @kellymears in #2493
- ✨ improve(patch): improve browserslist upgrade behavior by @kellymears in #2499
- 🩹 fix(patch): fix cache dir by @kellymears in #2500
- ✨ improve(patch): cli arguments by @kellymears in #2501
- 🩹 fix(patch): fix macos notifier default by @kellymears in #2502
- ✨ feat(minor): add acorn opt-out by @kellymears in #2503
- ✨ improve(patch): improve facades by @kellymears in #2504
Full Changelog: v6.17.0...v6.18.0