roots / sage

WordPress starter theme with Laravel Blade components and templates, Tailwind CSS, and a modern development workflow
https://roots.io/sage/
MIT License
12.77k stars 3.06k forks source link

chore(deps): โฌ†๏ธ bump bud to v6.12.0 - autoclosed #3129

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@roots/bud (source) 6.11.0 -> 6.12.0 age adoption passing confidence
@roots/bud-tailwindcss 6.11.0 -> 6.12.0 age adoption passing confidence
@roots/sage 6.11.0 -> 6.12.0 age adoption passing confidence

Release Notes

roots/bud ### [`v6.12.0`](https://togithub.com/roots/bud/releases/tag/v6.12.0) [Compare Source](https://togithub.com/roots/bud/compare/v6.11.0...v6.12.0) Framework improvements, eslint fixes, better `config` directory support, and more. #### ๐Ÿ“ฆ tailwindcss 3.3.0 supported bud.js now supports the new configuration options from tailwindcss 3.3.0. tailwind configs can now be authored with typescript or esm. #### ๐Ÿงน default storage location: .budfiles -> os cache dir Less junk in your project is always good, right? The new default `@storage` directory is now `[os-cache dir]/bud-nodejs/[hash of project path]`. **Breaking change**: If you are explicitly setting the `@storage` directory you need to do it using the `--storage` CLI flag or the `APP_STORAGE_PATH` .env variable. By the time config files have been processed most reads and writes to `@storage` will have already occurred, so `bud.setPath` won't be effective. There will be a warning logged to the console if you are doing this; the main adverse effect will be slower builds when bud.js can't find caches during bootstrapping. **Potentially breaking change**: If you are using remote modules (which lets you import modules from cdns like [skypack](https://skypack.dev) without installing locally) the `bud.lock` lockfile will now be written to the root of your project (unless you have configured it to be written somewhere else). #### โœจ Config files can be written in TypeScript (without extensions) bud.js configuration files can now be authored in typescript without installing any additional extensions. if you were previously using the `ts-bud` binary you still can (it executes the bud.js runtime with ts-node), but you can now just use the standard `bud` command (it is faster). `ts-bud` remains available in case you were doing some deeper integration with ts-node. The parsing of TypeScript configs is handled with [esbuild-wasm](https://www.npmjs.com/package/esbuild-wasm). I have not been able to measure a meaningful difference in timings using this package instead of [esbuild](https://www.npmjs.com/package/esbuild) and the wasm binary doesn't need to be built so installs are a lot faster. However, if you want to use esbuild instead of esbuild-wasm you can install esbuild as a project dependency and it will be used instead. Again, I don't think it's worth the extra installation time. Especially since the results of config transforms are cached. This also applies to eslint, tailwindcss, postcss and babel configs. #### โœจ Config files can be stored in `./config` directory bud.js configuration files can now be stored in the `config` directory. This also applies to eslint, tailwindcss, postcss and babel configs. #### โœจ [@​roots/bud-eslint](https://togithub.com/roots/bud-eslint): upgrade eslint-webpack-plugin to v4 eslint-webpack-plugin@4 removes need for eslint cache fix If you were disabling the fix with `bud.eslint.cacheFix.enable(false)` before you will be prompted to remove that call, as it is now deprecated. See [#​2191](https://togithub.com/roots/bud/pull/2191) #### ๐ŸŽ๏ธ performance: module resolution caching Module paths resolved by `bud.module` are cached to `[cachedir]/resolutions.yml`. This gives a nice performance boost since we can skip a lot of lookups: The `resolve` and `import` methods used by `bud.module` treat built-in dependencies as fallbacks. So, if you aren't overriding any built-in dependencies and the cache is valid the net result is more than half as many calls to `importMetaResolve` and `import` statements. - sha1 hashes are calculated for files in root and `config/*` and an artifact is output to `[cachedir]/checksum.yml`. - Hash mismatches in config files or `package.json` will invalidate the `bud.module` resolver cache and the `compiler` cache. #### ๐ŸŽ๏ธ performance: reuse context & bud instances `bud.context` is now re-used between bootstrap scripts and the cli application. #### โœจ improve: unified error handling Now extending [modern-errors](https://togithub.com/ehmicky/modern-errors) for unified error handling. #### ๐Ÿฉน fix: no postinstall scripts in CI There are some reliability issues with postinstall scripts (for [@​roots/bud-framework](https://togithub.com/roots/bud-framework) and [@​roots/browserslists-config](https://togithub.com/roots/browserslists-config)) running in CI. This update disables postinstall scripts when `process.env.CI` is set (default for gh actions). See [#​2169](https://togithub.com/roots/bud/pull/2169) #### โœจ improve([@​roots/eslint-config](https://togithub.com/roots/eslint-config)): remove react-in-jsx-scope This rule is not really appropriate as a default for modern React. See [#​2154](https://togithub.com/roots/bud/pull/2154) #### ๐Ÿ‘ฉโ€๐Ÿ”ฌ experimental: pnpm support Installs with `pnpm` should work now. They may break again in the future, but we're closer to being able to claim full compatibility. You must install with public hoisting: ```sh pnpm install --public-hoist-pattern=* ``` pnpm installs peers by default as of pnpm v8 ๐ŸŽ‰, so we suspect that compatibility will be a lot better once people upgrade. #### ๐Ÿ“ฆ upgrade ink to v4 A ton of workarounds were required to make ink work prior to this upgrade. It's now compatible with react 18 and fully esm ๐ŸŽ‰. #### ๐Ÿ“• Documentation improvements - Thanks to [@​chrillep](https://togithub.com/chrillep) for improving the `@roots/bud-eslint` documentation example config - Adds documentation for `bud.config` - Improves documentation for `bud.define` - Adds pnpm installation instructions to getting started guide

Configuration

๐Ÿ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

๐Ÿšฆ Automerge: Disabled by config. Please merge this manually once you are satisfied.

โ™ป 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 Mend Renovate. View repository job log here.