Skip to content

Releases: roots/bud

6.23.3

21 Aug 07:44
Compare
Choose a tag to compare

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

09 Aug 06:58
Compare
Choose a tag to compare

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

Full Changelog: v6.23.1...v6.23.2

6.23.1

27 Jun 06:07
Compare
Choose a tag to compare

Fixes an error with certain stylelint configurations.

What's Changed

Full Changelog: v6.23.0...v6.23.1

6.23.0

26 Jun 07:07
Compare
Choose a tag to compare

@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

Full Changelog: v6.22.0...v6.23.0

6.22.0

20 Jun 07:35
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v6.21.0...v6.22.0

6.21.0

25 Apr 03:27
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v6.20.0...v6.21.0

6.20.0

21 Dec 22:24
Compare
Choose a tag to compare

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

Full Changelog: v6.19.1...v6.20.0

6.19.1

15 Dec 18:35
Compare
Choose a tag to compare

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

Full Changelog: v6.19.0...v6.19.1

6.19.0

14 Dec 09:29
41c6f4d
Compare
Choose a tag to compare

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

What's Changed

Full Changelog: v6.18.0...v6.19.0

6.18.0

30 Nov 19:54
Compare
Choose a tag to compare

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

Full Changelog: v6.17.0...v6.18.0