roots/bud
### [`v5.8.7`](https://togithub.com/roots/bud/releases/tag/v5.8.7)
[Compare Source](https://togithub.com/roots/bud/compare/v5.8.6...v5.8.7)
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.
- [🛼 improve(patch): improve @roots/bud-terser extension](https://togithub.com/roots/bud/pull/1431)
- [🐛 fix(patch): fix error when development or production is in path](https://togithub.com/roots/bud/pull/1432)
This release also updates many dependencies. [Compare v5.8.6 and v5.8.7 to see the full list of what got bumped](https://togithub.com/roots/bud/compare/v5.8.6...v5.8.7).
### [`v5.8.6`](https://togithub.com/roots/bud/releases/tag/v5.8.6)
[Compare Source](https://togithub.com/roots/bud/compare/v5.8.5...v5.8.6)
A couple minor fixes. Recommended for all users of 5.8.x.
1. Users of [@roots/sage](https://bud.js.org/extensions/sage) who are using [dynamic imports](https://bud.js.org/guides/general-use/dynamic-imports) can now use [`bud.setPublicPath`](https://bud.js.org/docs/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
- [🛼 improve(patch): @roots/sage: allow for use of app.setPublicPath](https://togithub.com/roots/bud/pull/1423)
- [🐛 fix(patch): include hash with bud.assets calls](https://togithub.com/roots/bud/pull/1424)
### [`v5.8.5`](https://togithub.com/roots/bud/releases/tag/v5.8.5)
[Compare Source](https://togithub.com/roots/bud/compare/v5.8.4...v5.8.5)
These general bugfixes and improvements are recommended for all projects running 5.8.x.
##### Changes
- [🛼 improve(patch): hard code /\__bud/hmr path](https://togithub.com/roots/bud/pull/1418)
- [🛼 improve(patch): public path](https://togithub.com/roots/bud/pull/1420)
- prevent fatal error with `webpack-manifest-plugin` if `build.output.publicPath` is undefined
- set public path based on `APP_PUBLIC_PATH` envvar (if present)
- explicitly set public path for mini-css loader
- [🛼 improve(patch): improve watcher](https://togithub.com/roots/bud/pull/1419)
##### Docs
This release coincides with updated documentation stemming from recurring discourse topics and github issues:
- [Using dynamic imports](https://bud.js.org/guides/general-use/dynamic-imports)
- [bud.setPath](https://bud.js.org/docs/bud.setPath)
- [Installation instructions](https://bud.js.org/guides/overview/installation)
### [`v5.8.4`](https://togithub.com/roots/bud/releases/tag/v5.8.4)
[Compare Source](https://togithub.com/roots/bud/compare/v5.8.3...v5.8.4)
This patch prevents a js chunk from being emitted for entrypoints that only contain css.
##### Changes
- [🐛 fix(patch): do not emit empty js assets](https://togithub.com/roots/bud/pull/1417)
- [📦 Bump babel monorepo to v7.17.12](https://togithub.com/roots/bud/pull/1414)
### [`v5.8.3`](https://togithub.com/roots/bud/releases/tag/v5.8.3)
[Compare Source](https://togithub.com/roots/bud/compare/v5.8.2...v5.8.3)
This release fixes multi-instance compatibility in 5.8. It is recommended for users utilizing multiple instances of bud (using [`bud.make`](https://bud.js.org/docs/bud.make))
##### Changelog
- [fix(patch): multi-instance compatibility (#1412)](https://togithub.com/roots/bud/commit/9bd07900c5b98b00b835d53e1dcd4a17e6ee5c1b)
### [`v5.8.2`](https://togithub.com/roots/bud/releases/tag/v5.8.2)
[Compare Source](https://togithub.com/roots/bud/compare/v5.8.1...v5.8.2)
Fixes an error in 5.8 which can cause nested extensions to not be instantiated. Recommended for all users of 5.8.x.
##### Changes
- [fix(patch): instantiate nested extensions](https://togithub.com/roots/bud/pull/1411)
Also includes version bumps for a large number of dependencies. [Review what changed between v5.8.1 and v5.8.2 here](https://togithub.com/roots/bud/compare/v5.8.1...v5.8.2).
### [`v5.8.1`](https://togithub.com/roots/bud/releases/tag/v5.8.1)
[Compare Source](https://togithub.com/roots/bud/compare/v5.8.0...v5.8.1)
Fixes recommended for all users on 5.8.
- [🚑 fix(patch): call user config before bud clean](#1349)
- [🚑 fix(patch): allow extensions import failure](#1359)
### [`v5.8.0`](https://togithub.com/roots/bud/releases/tag/v5.8.0)
[Compare Source](https://togithub.com/roots/bud/compare/v5.7.7...v5.8.0)
[Release notes also available on the bud.js.org website](https://bud.js.org/blog/5.8.0/).
##### Heads up
##### **[@roots/bud-eslint](https://togithub.com/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:
```ts file="bud.config.js"
bud.persist('memory')
```
This issue is present in earlier versions of **bud.js**.
##### **[@roots/bud-typescript](https://togithub.com/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](https://bud.js.org/extensions/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:
```json
{
"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](https://togithub.com/roots/bud/tree/main/examples/vue-legacy) 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](https://bud.js.org/docs/bud.proxy).
##### bud.glob
You can glob for files with [bud.glob](https://bud.js.org/docs/bud.glob). There is a sync version available as well: [bud.globSync](https://bud.js.org/docs/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](https://togithub.com/roots/sage)
[bud.useTailwindColors](https://bud.js.org/extensions/sage#defining-themejson-colors-from-tailwindconfigjs) now supports nested color groups. So, you can do stuff like this:
```js
{
blue: {
shade: {
hue: {
'50': '#add8e6',
},
},
group: {
sky: '#87ceeb',
},
},
tomato: '#ff4500',
}
```
##### [@roots/bud-esbuild](https://togithub.com/roots/bud-esbuild)
This extension got a big overhaul in v5.8.0. Including unit tests! Check out [the updated docs](https://bud.js.org/extensions/bud-esbuild).
##### core
This release is mainly focused on the \[[@roots/bud-extensions](https://togithub.com/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!
- [@kellymears](https://togithub.com/kellymears)
- [@alwaysblank](https://togithub.com/alwaysblank)
- [@joshuafredrickson](https://togithub.com/joshuafredrickson)
- [@retlehs](https://togithub.com/retlehs)
For more information:
- [Read the release changelog](/releases/5.8.0)
- [Review the diff to see what's changed](https://togithub.com/roots/bud/compare/v5.7.7...v5.8.0)
Configuration
📅 Schedule: "before 2am" in timezone America/Los_Angeles.
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
5.7.7
->5.8.7
5.7.7
->5.8.7
5.7.7
->5.8.7
Release Notes
roots/bud
### [`v5.8.7`](https://togithub.com/roots/bud/releases/tag/v5.8.7) [Compare Source](https://togithub.com/roots/bud/compare/v5.8.6...v5.8.7) 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. - [🛼 improve(patch): improve @roots/bud-terser extension](https://togithub.com/roots/bud/pull/1431) - [🐛 fix(patch): fix error when development or production is in path](https://togithub.com/roots/bud/pull/1432) This release also updates many dependencies. [Compare v5.8.6 and v5.8.7 to see the full list of what got bumped](https://togithub.com/roots/bud/compare/v5.8.6...v5.8.7). ### [`v5.8.6`](https://togithub.com/roots/bud/releases/tag/v5.8.6) [Compare Source](https://togithub.com/roots/bud/compare/v5.8.5...v5.8.6) A couple minor fixes. Recommended for all users of 5.8.x. 1. Users of [@roots/sage](https://bud.js.org/extensions/sage) who are using [dynamic imports](https://bud.js.org/guides/general-use/dynamic-imports) can now use [`bud.setPublicPath`](https://bud.js.org/docs/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 - [🛼 improve(patch): @roots/sage: allow for use of app.setPublicPath](https://togithub.com/roots/bud/pull/1423) - [🐛 fix(patch): include hash with bud.assets calls](https://togithub.com/roots/bud/pull/1424) ### [`v5.8.5`](https://togithub.com/roots/bud/releases/tag/v5.8.5) [Compare Source](https://togithub.com/roots/bud/compare/v5.8.4...v5.8.5) These general bugfixes and improvements are recommended for all projects running 5.8.x. ##### Changes - [🛼 improve(patch): hard code /\__bud/hmr path](https://togithub.com/roots/bud/pull/1418) - [🛼 improve(patch): public path](https://togithub.com/roots/bud/pull/1420) - prevent fatal error with `webpack-manifest-plugin` if `build.output.publicPath` is undefined - set public path based on `APP_PUBLIC_PATH` envvar (if present) - explicitly set public path for mini-css loader - [🛼 improve(patch): improve watcher](https://togithub.com/roots/bud/pull/1419) ##### Docs This release coincides with updated documentation stemming from recurring discourse topics and github issues: - [Using dynamic imports](https://bud.js.org/guides/general-use/dynamic-imports) - [bud.setPath](https://bud.js.org/docs/bud.setPath) - [Installation instructions](https://bud.js.org/guides/overview/installation) ### [`v5.8.4`](https://togithub.com/roots/bud/releases/tag/v5.8.4) [Compare Source](https://togithub.com/roots/bud/compare/v5.8.3...v5.8.4) This patch prevents a js chunk from being emitted for entrypoints that only contain css. ##### Changes - [🐛 fix(patch): do not emit empty js assets](https://togithub.com/roots/bud/pull/1417) - [📦 Bump babel monorepo to v7.17.12](https://togithub.com/roots/bud/pull/1414) ### [`v5.8.3`](https://togithub.com/roots/bud/releases/tag/v5.8.3) [Compare Source](https://togithub.com/roots/bud/compare/v5.8.2...v5.8.3) This release fixes multi-instance compatibility in 5.8. It is recommended for users utilizing multiple instances of bud (using [`bud.make`](https://bud.js.org/docs/bud.make)) ##### Changelog - [fix(patch): multi-instance compatibility (#1412)](https://togithub.com/roots/bud/commit/9bd07900c5b98b00b835d53e1dcd4a17e6ee5c1b) ### [`v5.8.2`](https://togithub.com/roots/bud/releases/tag/v5.8.2) [Compare Source](https://togithub.com/roots/bud/compare/v5.8.1...v5.8.2) Fixes an error in 5.8 which can cause nested extensions to not be instantiated. Recommended for all users of 5.8.x. ##### Changes - [fix(patch): instantiate nested extensions](https://togithub.com/roots/bud/pull/1411) Also includes version bumps for a large number of dependencies. [Review what changed between v5.8.1 and v5.8.2 here](https://togithub.com/roots/bud/compare/v5.8.1...v5.8.2). ### [`v5.8.1`](https://togithub.com/roots/bud/releases/tag/v5.8.1) [Compare Source](https://togithub.com/roots/bud/compare/v5.8.0...v5.8.1) Fixes recommended for all users on 5.8. - [🚑 fix(patch): call user config before bud clean](#1349) - [🚑 fix(patch): allow extensions import failure](#1359) ### [`v5.8.0`](https://togithub.com/roots/bud/releases/tag/v5.8.0) [Compare Source](https://togithub.com/roots/bud/compare/v5.7.7...v5.8.0) [Release notes also available on the bud.js.org website](https://bud.js.org/blog/5.8.0/). ##### Heads up ##### **[@roots/bud-eslint](https://togithub.com/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: ```ts file="bud.config.js" bud.persist('memory') ``` This issue is present in earlier versions of **bud.js**. ##### **[@roots/bud-typescript](https://togithub.com/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](https://bud.js.org/extensions/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: ```json { "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](https://togithub.com/roots/bud/tree/main/examples/vue-legacy) 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](https://bud.js.org/docs/bud.proxy). ##### bud.glob You can glob for files with [bud.glob](https://bud.js.org/docs/bud.glob). There is a sync version available as well: [bud.globSync](https://bud.js.org/docs/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](https://togithub.com/roots/sage) [bud.useTailwindColors](https://bud.js.org/extensions/sage#defining-themejson-colors-from-tailwindconfigjs) now supports nested color groups. So, you can do stuff like this: ```js { blue: { shade: { hue: { '50': '#add8e6', }, }, group: { sky: '#87ceeb', }, }, tomato: '#ff4500', } ``` ##### [@roots/bud-esbuild](https://togithub.com/roots/bud-esbuild) This extension got a big overhaul in v5.8.0. Including unit tests! Check out [the updated docs](https://bud.js.org/extensions/bud-esbuild). ##### core This release is mainly focused on the \[[@roots/bud-extensions](https://togithub.com/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! - [@kellymears](https://togithub.com/kellymears) - [@alwaysblank](https://togithub.com/alwaysblank) - [@joshuafredrickson](https://togithub.com/joshuafredrickson) - [@retlehs](https://togithub.com/retlehs) For more information: - [Read the release changelog](/releases/5.8.0) - [Review the diff to see what's changed](https://togithub.com/roots/bud/compare/v5.7.7...v5.8.0)Configuration
📅 Schedule: "before 2am" in timezone America/Los_Angeles.
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by WhiteSource Renovate. View repository job log here.