Skip to content

Latest commit

 

History

History
38 lines (25 loc) · 2.03 KB

File metadata and controls

38 lines (25 loc) · 2.03 KB

Developing This Package

bun outdated

Shows which packages have new versions available. If @biomejs/biome has a new version, we continue to the next step.

bun update

  • Run bun update to update most packages
  • Change the version of @biomejs/biome in package.json to the latest version printed by bun outdated
  • Run bun i to install the newer version of @biomejs/biome
  • Update the schema version in the biome.jsonc comment to match the newer version of @biomejs/biome

bun run build

Biome rule changes will show up in the (gitignored) ruleChanges.json file. This is where you can see what you'd like to add / adjust in createBiomeConfig.ts. Most changes will be from the nursery category - ignore those unless you want to take the risk of supporting a rule that will move to a new category in the future.

⚠️ Error with the build? Check the nursery section of createBiomeConfig.ts for lint errors and the promoted section of ruleChanges.json for a match. A rule may have been promoted, causing a mismatch error with the schema.

Kicks off a few tasks:

  1. Runs a schema check
    • If @biomejs/biome was updated, this will likely show an error message such as Update the schema version in biome.jsonc to x.x.x. Take care of that and run this command again.
  2. Generates Biome TypeScript types in biomeSchema.d.ts
  3. Checks for changes in Biome's list of rules
    • Check ruleChanges.json for a list of new, deleted, and promoted rules
    • ruleData.json will have a comprehensive list of rules and metadata. This file can also be checked for changes.
  4. Biome config files will be created in the dist folder

Make Biome config changes

  1. Update createBiomeConfig.ts with data from ruleChanges.json in mind.
  2. Run bun run build again to generate new configs
  3. Commit changes to version control

bun run release

Uses a custom release script (inspired by release-it) to handle publishing to npm, tagging a release, and pushing those changes.