Bud v6.8.0 released

bud v6.8.0 released

Bugfixes, host/container URL mappings and an improved cli experience.

:adhesive_bandage: fix(@roots/bud): remote sources #2057

Fixes issue with modules loaded from registered remote schemas.

:adhesive_bandage: fix(@roots/bud): resolve extensions #2058

Adds missing extensions to set of resolvable extensions.

:adhesive_bandage: fix(@roots/sage): blade loader caching #2065

Improves regular expression used to extract @asset URLs and fixes caching for blade partials. Fixes issues referenced in this discourse topic.

:sparkles: feature(@roots/bud): distinct settings for mapped URLs #2074

This is primarily targeted at docker users (including lando), or really anyone who has need for internal/external URLs for the proxy server, dev server, or both.

Adds the following methods:

  • bud.setProxyUrl
  • bud.setPublicProxyUrl
  • bud.setUrl
  • bud.setPublicUrl

Like bud.serve and bud.proxy they are pretty flexible and support strings, URL instances or numbers (if you only need to specify the port). If you only specify a port the default interface is used (0.0.0.0).

So, a lando user mapping 0.0.0.0 to example.lndo can set it up like so:

export default async bud => {
  bud
    .setUrl(3000)
    .setPublicUrl(`http://example.test:3000`)
    .setProxyUrl(8000)
    .setPublicProxyUrl(`http://example.test`)
}

This is especially useful for replacing URLs in proxy responses since the public URLs will be used for find/replace operations. The hope is that you wont have to handle these manually any longer.

This change should be backwards compatible with the existing bud.proxy and bud.serve functions. They can be used together and there is no plan on deprecating them:

export default async bud => {
  bud
    .proxy('http://0.0.0.0')
    .setPublicProxyUrl('http://example.lndo')

    .serve('http://0.0.0.0:3000')
    .setPublicUrl('http://example.lndo:3000') 
}

:sparkles: feature(@roots/bud-vue): support typescript #2075

Adds automatic support for typescript in vue single file components. You only need to install @roots/bud-typescript and you should be good to go. Adds an example to the examples directory and integration tests to ensure this keeps working as the framework develops.

:sparkles: feature(@roots/bud): improve bud cli #2004

Running bud (no subcommand) presents user with menu of common tasks to select from. bud doctor now displays additional information about the project.

3 Likes