This repository was archived by the owner on Nov 11, 2024. It is now read-only.
chore(deps): update dependency @roots/bud-prettier to v6.12.3 #178
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.9.1
->6.12.3
⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.
Release Notes
roots/bud
v6.12.3
: 6.12.3Compare Source
Bugfixes and bumped dependencies
Improvements
#2243 improves compatibility with pnpm
This change finishes work started in 6.12.2 make it less necessary to use the bud.js .pnpmfile.cjs compatibility shim.
You should also now be able to limit hoisting to
@roots
packages, if desired:When only hoisting
@roots/*
packages you will need to make sure your app dependencies are explicitly defined. Rule of thumb: if you import it in your app you will need to have it installed in your project.The alternative is to hoist everything (same behavior as npm and yarn):
Fixes
v6.12.2
: 6.12.2Compare Source
Adds cached module count to dashboard output for greater transparency into what is being recompiled in development.
v6.12.1
: 6.12.1Compare Source
Minor release with improvements and fixes for package resolution and caching
Fixes
Failure installing custom TypeScript version with yarn
Fixes an error encountered when trying to install a custom version of TypeScript while using
@roots/bud-typescript
with yarn classic. See #2216.This issue is actually an upstream bug in yarn. But, our response sidesteps it and also improves compatibility with pnpm.
The short version: we don't need to declare
typescript
as a peer dependency because of changes tobud.module
made in bud v6. It will always try to resolve from the project context before using the built-in as a fallback.So, even without peer dependencies defined by the extension, the following call (when made from the
@roots/bud-typescript
context) will always try and resolve the module first fromnode_modules/typescript
, and thennode_modules/@​roots/bud-typescript/node_modules
.The change that fixes #2216 has also been applied to
@roots/bud-eslint
and@roots/bud-babel
. We'll apply it to other packages which usepeerDependencies
in future releases.Improvements
Include eslint and tailwind configs in build dependencies
#2233 Include tailwind & eslint configs in cached build dependencies adds discovered
tailwind
andeslint
configs to the map of files the compiler uses to validate the cache. Hopefully changes made to your tailwind config will now be more reliably reflected in your next build without having to use the--force
flag. Additionally, only modules related to the changed config will be invalidated, which will be much faster than wiping everything.Prevent invoking multiple
esbuild
and/oresbuild-wasm
modulesWhen transforming configuration modules authored in TypeScript bud.js will now prefer
esbuild
oresbuild-wasm
as defined bypackage.json
, if they are included. The built-inesbuild-wasm
included in@roots/bud-support
is used as a fallback. This should be a minor improvement for users who are usingesbuild
in some other way as part of their build.Vendor
bind
decorator fromhelpful-decorators
.helpful-decorators
is an awesome package but we are only usingbind
from it and it is used in a lot of places. This change eliminates the (modest) overhead associated with all the unused modules.v6.12.0
Compare Source
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 theAPP_STORAGE_PATH
.env variable. By the time config files have been processed most reads and writes to@storage
will have already occurred, sobud.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 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 standardbud
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. I have not been able to measure a meaningful difference in timings using this package instead of 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
directorybud.js configuration files can now be stored in the
config
directory. This also applies to eslint, tailwindcss, postcss and babel configs.✨ @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
🏎️ 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
andimport
methods used bybud.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 toimportMetaResolve
andimport
statements.config/*
and an artifact is output to[cachedir]/checksum.yml
.package.json
will invalidate thebud.module
resolver cache and thecompiler
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 for unified error handling.
🩹 fix: no postinstall scripts in CI
There are some reliability issues with postinstall scripts (for @roots/bud-framework and @roots/browserslists-config) running in CI.
This update disables postinstall scripts when
process.env.CI
is set (default for gh actions).See #2169
✨ improve(@roots/eslint-config): remove react-in-jsx-scope
This rule is not really appropriate as a default for modern React.
See #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: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
@roots/bud-eslint
documentation example configbud.config
bud.define
v6.11.0
Compare Source
A bunch of cool features, fixes and improvements.
If you have any trouble installing try the
--force
flag.Breaking changes
There have been some fixes made to bud.assets which make the function behave much more predictably. Still, I'm concerned there might be workarounds people are using which will no longer be working around. Check out the documentation and consider replacing complex bud.assets calls with the new bud.copyFile and bud.copyDir functions.
If you are configuring bud.js with JSON or YML you will need to update any functions which accept a single argument which is an array.
bud.config.json
andbud.config.yml
arguments are now expressed as an array, so there is no good way for the config parser to determine that you actually wanted to pass an array and not multiple params.If you have been using the new blade view directives in your Sage project you will need to update them. There is now a single directive to replace all previous directives:
@module
. So,@js import '@​scripts/confetti.js' @​endjs
becomes@module('js') import '@​scripts/confetti.js' @​endmodule
. This should support all module types now, generically. Built-in support for this feature is still in process for roots/acorn. An exampleModuleDirective
andEndModuleDirective
class have been updated and included in@roots/blade-loader/vendor
.Deprecations
A bunch of extension functions are going to be removed at some point in the future (bud.js 7). Most of these are simple wrappers for the built-in extensions API.
If you are using a deprecated function you can expect IDE notifications (if you use an IDE that supports the
@deprecated
doctype), but you will also see warnings in the terminal with specific instructions for how to update the call.We'll go slow when removing these functions; don't fret about it. This github issue (#2079) is dedicated to tracking related function deprecations.
Improved WordPress editor support
Easily add
blocks
,plugins
,filters
,styles
,variations
andformats
in production and development with next to no boilerplate along with full hot module reloading (HMR) support.See the updated documentation for specifics on implementing it in your WordPress project. There is also a new example in the examples directory to get a feel for how it comes together.
This feature is new so I suspect early adopters may bump into issues. But, we've been using the underlying library that powers this for many months now and it seems to work quite well in-house.
Improved yml and json config support
See the updated documentation. Short version: anything you can do in a js file you can now do in a yml file.
New functions for copying files
These two functions are a lot more predictable for you and will be a lot easier to maintain for me. I'd recommend replacing bud.assets with them (although I've tried to do what I can to improve it in this release).
bud.copyDir
See documentation for details.
bud.copyFile
See documentation for details.
Improved errors
There is better error handling in a few critical areas. Hopefully you'll never notice.
Early errors
Ever make a syntax error in your
bud.config.js
file? Me neither. But if I did the error would happen before bud.js (and it's logger) had even been instantiated.Not anymore!
bud.when errors
If you pass a non-function argument to bud.when it will throw an error now. I've seen a few people do this and it's an understandable mistake. I'm sorry for the error but it wasn't doing what you wanted before.
This is the specific mistake I saw most recently.
The problem is that the function is being called right there! It's whatever value the function returns by the time
bud.when
receives it. It doesn't cause a type error but it's obvious something is wrong.The corrected version would just wrap the bud.minimize() call in an arrow function:
Anyway, there will be instructions in the console if you are bit by this.
Unsupported platform errors
If you run bud.js on Windows outside of a WSL environment, it won't try and stop you, but it also won't work. This is mentioned in both the project README.md and our Getting Started guide, and yet many people still post support requests related to errors experienced while using Windows.
Now, errors are accompanied by a reminder that the platform is not supported, which should hopefully reduce support request volume.
If you use Windows and want to see native support for Windows in bud.js please submit an issue and accompanying PR!
Improve
bud doctor
bud doctor
now displays additional information about the project and has a couple new checks.Fix: sass/vue/sage (in combination)
Fixes an issue that could create blank stylesheets (with no error thrown from
vue-loader
). Adds reproduction to prevent regressions.Fix: @roots/bud-prettier
format
commandThanks to @nlemoine for fixing the
bud format
command.Docs contributions
Big thanks to @dsturm for their continued work improving bud.js' documentation 🙏🏼.
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 this update again.
This PR has been generated by Mend Renovate. View repository job log here.