Skip to content

Releases: roots/bud

v5.8.7

24 May 10:02
Compare
Choose a tag to compare

Some minor improvements to the @roots/bud-terser extension and a fix for projects with development and production in the project path. Recommended for all users of 5.8.x.

This release also updates many dependencies. Compare v5.8.6 and v5.8.7 to see the full list of what got bumped.

v5.8.6

22 May 23:26
Compare
Choose a tag to compare

A couple minor fixes. Recommended for all users of 5.8.x.

  1. Users of @roots/sage who are using dynamic imports can now use bud.setPublicPath without causing issues with acorn. It's also fine to continue setting the publicPath in the entry call.

  2. Fixes an issue with bud.assets that resulted in the hash not being applied to copied filenames.

Changes

v5.8.5

20 May 08:10
Compare
Choose a tag to compare

These general bugfixes and improvements are recommended for all projects running 5.8.x.

Changes

Docs

This release coincides with updated documentation stemming from recurring discourse topics and github issues:

v5.8.4

19 May 09:25
Compare
Choose a tag to compare

This patch prevents a js chunk from being emitted for entrypoints that only contain css.

Changes

v5.8.3

17 May 08:45
Compare
Choose a tag to compare

This release fixes multi-instance compatibility in 5.8. It is recommended for users utilizing multiple instances of bud (using bud.make)

Changelog

v5.8.2

15 May 22:30
Compare
Choose a tag to compare

Fixes an error in 5.8 which can cause nested extensions to not be instantiated. Recommended for all users of 5.8.x.

Changes

Also includes version bumps for a large number of dependencies. Review what changed between v5.8.1 and v5.8.2 here.

v5.8.1

11 May 23:13
Compare
Choose a tag to compare

v5.8.0

11 May 10:26
Compare
Choose a tag to compare

Release notes also available on the bud.js.org website.

Heads up

@roots/bud-eslint

There is an upstream issue (with eslint-webpack-plugin) which causes the linter to show no errors after the initial compilation, regardless of any violations.

Until this is resolved, you should use memory caching. You can enable this with:

bud.persist('memory')

This issue is present in earlier versions of bud.js.

@roots/bud-typescript

The typings for the Bud object in bud.js have been consolidated under a single interface/namespace: Bud.
If you are using @roots/bud-typescript, please update your config file and any type declarations to use Bud instead of Framework.

Sorry for the inconvenience. Consider it a trade for much improved intellisense.

Flexible extensions

It is now possible, in extensions which support it, to utilize user-defined dependencies over built-in ones (if they are present in the project package.json).

This means that you can now use Vue 2 instead of Vue 3, if desired. This is done by installing the Vue 2 compatible packages directly. These versions are the ones we currently run integration tests for:

{
  "devDependencies": {
    "@roots/bud": "latest",
    "@roots/bud-vue": "latest"
  },
  "dependencies": {
    "vue": "^2.6.14",
    "vue-template-compiler": "^2.6.14",
    "vue-loader": "^15.9.4"
  }
}

Check out the vue legacy example for a working example of Vue 2 being used with bud.js.

In the future, additional extensions will follow suit. Some may already have support (it's simply not being advertised since this is a new feature).

Note that by utilizing custom versions of packages you are opting in to increased responsibility for your project. We only support what ships with bud.js by default.

bud.proxy url replacements

You can now substitute in or amend the existing string replacements for proxy responses. See the updated documentation for more details: bud.proxy.

bud.glob

You can glob for files with bud.glob. There is a sync version available as well: bud.globSync.

--editor flag

Pass the --editor flag to the build command to open errors in your preferred editor. It's required for you to have set your preferred editor with either the EDITOR or VISUAL environment variables.

If VISUAL is set, it will preferred over EDITOR.

--browser flag

Pass the --browser flag to the build command to open the built site in your browser.

@roots/sage

bud.useTailwindColors now supports nested color groups. So, you can do stuff like this:

{
  blue: {
    shade: {
      hue: {
        '50': '#add8e6',
      },
    },
    group: {
      sky: '#87ceeb',
    },
  },
  tomato: '#ff4500',
}

@roots/bud-esbuild

This extension got a big overhaul in v5.8.0. Including unit tests! Check out the updated docs.

core

This release is mainly focused on the [@roots/bud-extensions] API. Extensions can now be registered using ES6 classes. But, they can also be passed around as plain objects, as before.

Documentation is still a work-in-progress but has been largely updated to reflect the new API.

More information

Big shoutout to everyone who contributed to this release. We're so happy to have you here!

For more information:

v5.7.0

25 Mar 12:13
Compare
Choose a tag to compare

Read the release post on bud.js.org for additional details

🛼 Improvements

  • improve: client dev scripts (#1293)
  • improve: bud.config (#1287)

🩹 Fixes

Upgrade guide

If you were using bud.serve to set SSL options, you'll need to update that call as the function's API has changed slightly:

bud.serve({
  url: 'https://my-site.com',
  key: '/path/to/site.key',
  cert: '/path/to/site.crt',
})

becomes:

bud.serve('https://my-site.com', {
  key: '/path/to/site.key',
  cert: '/path/to/site.crt',
})

You may pass any other node server options you want or need to using the second parameter.

👀 More information

v5.6.2

16 Mar 18:31
Compare
Choose a tag to compare

This small update is recommended for all users of 5.6.x.

  • 🩹 fix: bud config w/ typescript in #1241