adamantite 0.38.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md DELETED
@@ -1,1194 +0,0 @@
1
- # adamantite
2
-
3
- ## 0.38.0
4
-
5
- ### Minor Changes
6
-
7
- - [#397](https://github.com/adelrodriguez/adamantite/pull/397) [`8381104`](https://github.com/adelrodriguez/adamantite/commit/8381104aea6a2e6d2dfbc1a434dbb299ad9ac331) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Let interactive `adamantite doctor` hand findings off to an installed coding agent:
8
- Claude Code, Codex, Cursor, Gemini CLI, Grok Build, or OpenCode. Doctor detects
9
- installed agents by probing each CLI and only offers the ones on `PATH`, then starts the
10
- selected agent in the terminal with a one-line seed prompt that tells the agent to run
11
- Doctor itself, so the agent's own UI owns permissions, trust, and authentication and no
12
- findings content appears in process arguments. Doctor warns before handing off a working
13
- tree that is not known to be clean, reassesses once after the agent session ends, and
14
- exits 0 only when no findings remain — the agent's exit code is ignored. The agent runs
15
- in Doctor's process group and Doctor ignores Ctrl-C while the agent owns the terminal,
16
- so terminal signals reach only the agent. When an agent fails to start, the Markdown
17
- prompt copy remains available. Non-interactive output is unchanged.
18
-
19
- - [#396](https://github.com/adelrodriguez/adamantite/pull/396) [`5428bdd`](https://github.com/adelrodriguez/adamantite/commit/5428bddf3228319e5be42ca5a5fd7f2b03bdf423) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Format binary and ternary operators at the start of continuation lines
20
-
21
- The format preset now sets `experimentalOperatorPosition: "start"`, so multiline conditions place `&&`, `||`, `??`, and ternary operators at the beginning of the wrapped line instead of the end. The managed oxfmt version moves to 0.65.0, which supports the option. Expect a one-time reformat of multiline expressions the next time you run `format`.
22
-
23
- - [#393](https://github.com/adelrodriguez/adamantite/pull/393) [`af18c34`](https://github.com/adelrodriguez/adamantite/commit/af18c346d0e7a2efa35d511d2850bb50282831ce) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Make `adamantite doctor` emit verifiable repair findings and prompts instead of mutating projects. Interactive runs show formatted findings and offer to copy one Markdown prompt. Non-interactive runs print Markdown directly so a calling agent can follow it, including assessment warnings that explain why a finding is absent. Warning-only runs still exit 0. `update` now only updates managed dependencies. Keep `doctor --fix` as a one-release error stub, remove the deprecated `typecheck` alias, and require `pnpm-workspace.yaml` to define packages before treating a project as a monorepo.
24
-
25
- Align the pinned Effect packages on `4.0.0-rc.112` so the published CLI installs one compatible runtime.
26
-
27
- ### Patch Changes
28
-
29
- - [#386](https://github.com/adelrodriguez/adamantite/pull/386) [`e78de64`](https://github.com/adelrodriguez/adamantite/commit/e78de6400b9494a10f677c180b2f0037adbb50dc) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Fix `serializeTsObjectLiteral` corrupting keys that contain a double quote and dropping own `__proto__` keys
30
-
31
- The key-unquoting regex matched escaped quotes inside serialized keys, so migrating a knip or oxfmt config with a quote-containing key produced a `*.config.ts` file with invalid syntax. It also unquoted `__proto__`, which an object literal treats as prototype assignment; the migration path never hits this because `parseJson` strips `__proto__`, but any direct caller would lose the key. Quote-containing keys now stay quoted, and `__proto__` keys are emitted as computed properties (`["__proto__"]:`) so they survive as own properties.
32
-
33
- - [#395](https://github.com/adelrodriguez/adamantite/pull/395) [`62cd29a`](https://github.com/adelrodriguez/adamantite/commit/62cd29a12ca3ce4ad48b012d00053934d42c8f03) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Emit `oxlint.config.ts` with sorted keys so a fresh `adamantite check` passes
34
-
35
- The core preset enables `sort-keys`, but `adamantite init` generated the config with its keys in `options`, `ignorePatterns`, `extends` order, so running the managed `check` script in a freshly initialized project immediately failed on the file init had just written. The generator now sorts the top-level keys and the keys inside `options` in the order the rule expects. Caught by the new `test:smoke` script, which runs the built CLI's `init` against a real fixture project and then executes the real oxlint, oxfmt, and knip binaries on the result.
36
-
37
- - [#386](https://github.com/adelrodriguez/adamantite/pull/386) [`e78de64`](https://github.com/adelrodriguez/adamantite/commit/e78de6400b9494a10f677c180b2f0037adbb50dc) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Fix knip and oxfmt migrations writing non-identifier config keys as bare identifiers
38
-
39
- The config writers interpolated keys directly into the generated `*.config.ts`, so a legal knip key such as `lint-staged` or a rule name containing punctuation produced invalid TypeScript. Keys are now emitted through `serializeTsPropertyKey`, which quotes non-identifier keys and writes `__proto__` as a computed property.
40
-
41
- ## 0.37.0
42
-
43
- ### Minor Changes
44
-
45
- - [#382](https://github.com/adelrodriguez/adamantite/pull/382) [`a70fd83`](https://github.com/adelrodriguez/adamantite/commit/a70fd83d0209ed4c1acba108a5c5aa699066b9b2) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Adopt the React Compiler rules that replace `react/react-compiler` in oxlint 1.79.0
46
-
47
- oxlint 1.79.0 removed the nursery `react/react-compiler` rule and split it into per-category React Compiler rules. The react preset now enables the correctness rules (`error-boundaries`, `globals`, `immutability`, `incompatible-library`, `preserve-manual-memoization`, `purity`, `refs`, `set-state-in-effect`, `set-state-in-render`, `static-components`, `use-memo`, `void-use-memo`), the suspicious rules (`capitalized-calls`, `hooks`, `memo-dependencies`), and the perf rule `no-deriving-state-in-effects` as errors. `exhaustive-effect-dependencies` stays off because it duplicates the diagnostics `react/exhaustive-deps` already reports, and the restriction-category rules (`invariant`, `rule-suppression`, `syntax`, `todo`, `unsupported-syntax`) stay off because they only apply to codebases running the React Compiler build.
48
-
49
- **Breaking behavior:** oxlint 1.79.0 fails to load any config that still references the removed rule — linting stays completely down until the reference is gone. Projects that only extend the Adamantite presets are covered by this release, but if your own `oxlint.config.ts` overrides `react/react-compiler` (for example to turn it off), delete that entry when you update. Managed projects install oxlint 1.79.0 on the next `adamantite update`.
50
-
51
- - [#381](https://github.com/adelrodriguez/adamantite/pull/381) [`e60bfb5`](https://github.com/adelrodriguez/adamantite/commit/e60bfb52b1b22c9dae88383b11c08974b21f3051) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Add Astro formatting to the Zed preset and migrate stale Zed oxfmt settings
52
-
53
- The Zed preset now formats `.astro` files through Zed's managed Prettier with `prettier-plugin-astro` (oxfmt cannot format Astro), mirroring Zed's shipped defaults, and explicitly disables Prettier for the languages oxfmt owns so the two formatters never compete. A new migration removes settings the old Zed preset wrote under the oxfmt language server that the formatter never reads (`configPath`, `typeAware`, `unusedDisableDirectives`, and the deprecated `fmt.experimental`); only exact value matches are removed, so user-edited values survive.
54
-
55
- ## 0.36.0
56
-
57
- ### Minor Changes
58
-
59
- - [#372](https://github.com/adelrodriguez/adamantite/pull/372) [`02f9064`](https://github.com/adelrodriguez/adamantite/commit/02f906448448ba544e8518d3ab06946b9e623c5d) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Add the `antislop` lint preset, a vendored build of [anti-slop](https://github.com/dmmulroy/anti-slop) that rejects low-evidence, low-signal TypeScript and JavaScript patterns. Extend `adamantite/lint/antislop` alongside the core preset, or select it during `adamantite init`; nothing extra needs to be installed. Note that the preset also turns off two core rules that conflict with the anti-slop rules: `typescript/consistent-indexed-object-style` (its autofix produces code that `anti-slop/no-known-value-widening` re-flags) and `unicorn/no-immediate-mutation`. The init preset prompt now also shows a one-line description for every preset.
60
-
61
- - [#373](https://github.com/adelrodriguez/adamantite/pull/373) [`79fea78`](https://github.com/adelrodriguez/adamantite/commit/79fea78a8df66bb42960153b863bbb11406563c5) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Add canonical `ignorePatterns` (dependencies, build output, generated code) to the core lint preset, exported both on the preset and as a named export. Oxlint does not merge `ignorePatterns` from extended configs, so generated `oxlint.config.ts` files now hoist `core.ignorePatterns` onto the root config, appending any project-specific patterns carried over from a legacy config.
62
-
63
- ### Patch Changes
64
-
65
- - [#379](https://github.com/adelrodriguez/adamantite/pull/379) [`2e3262b`](https://github.com/adelrodriguez/adamantite/commit/2e3262bfaa25661c1ec33471e123f6158fa7f019) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Surface GitHub Actions setup failures during `adamantite init` instead of silently continuing. When the workflow cannot be written, `init` now warns with the underlying reason and a recovery hint. `doctor` and `update` also assess integrations concurrently and read `package.json` once per assessment pass instead of once per integration.
66
-
67
- - [#378](https://github.com/adelrodriguez/adamantite/pull/378) [`ed71957`](https://github.com/adelrodriguez/adamantite/commit/ed7195787ca68f80f8984a83f9b83851141f94cd) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Stop shipping the raw `presets/*.ts` sources in the npm package. The published tarball now contains only the compiled `dist/presets` output that the package exports already point to, which removes duplicate files and shrinks the unpacked size from 311 kB to 196 kB.
68
-
69
- ## 0.35.0
70
-
71
- ### Minor Changes
72
-
73
- - [#360](https://github.com/adelrodriguez/adamantite/pull/360) [`8782acf`](https://github.com/adelrodriguez/adamantite/commit/8782acf3d4001190b8e155a744d79a7933aa56c2) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Support Bun 1.0 and Node.js 22.19 or later while using current runtimes for development.
74
-
75
- Generated GitHub Actions workflows now follow the target project's Node.js version declaration (`.node-version`, `.nvmrc`, `.tool-versions`, or `package.json`) through `node-version-file`, and fall back to `node-version: "lts/*"` when no declaration exists. `adamantite update` migrates existing managed workflows away from a hard-coded Node.js version.
76
-
77
- - [#361](https://github.com/adelrodriguez/adamantite/pull/361) [`04f5494`](https://github.com/adelrodriguez/adamantite/commit/04f5494942f3752df107630520ab9131486f04db) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Skip root `tsconfig.json` creation and updates during `init` in a detected monorepo. A catch-all root config makes TypeScript treat all workspace packages as one project and can try to emit over JavaScript input files. In a monorepo, `init --typescript` now prints guidance to add `"extends": "adamantite/typescript"` to each package's `tsconfig.json` or to a shared base config, and does not change any files.
78
-
79
- Stop overwriting an existing `extends` value when `init` updates a `tsconfig.json`. Adamantite now appends `"adamantite/typescript"` to the `extends` array instead, so a shared base config such as `"@company/tsconfig"` stays in place. The preset is appended last, so its compiler options override the earlier entries.
80
-
81
- The `adamantite/typescript` preset now sets `"noEmit": true`, so projects that extend it type-check without emitting output. If your project emits output with `tsc` through the preset, set `"noEmit": false` in your own `tsconfig.json`.
82
-
83
- ### Patch Changes
84
-
85
- - [#370](https://github.com/adelrodriguez/adamantite/pull/370) [`dfb307b`](https://github.com/adelrodriguez/adamantite/commit/dfb307b467a6d17a063d357fb48aa7773a04a178) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Stop `init` from silently overwriting existing package scripts. Scripts whose commands differ from Adamantite's managed commands are now kept and reported: the interactive initializer asks once before overwriting, and non-interactive runs preserve them unless the new `--overwrite-scripts` flag is passed. Preserved scripts are omitted from AGENTS.md guidance.
86
-
87
- - [#369](https://github.com/adelrodriguez/adamantite/pull/369) [`943a1a9`](https://github.com/adelrodriguez/adamantite/commit/943a1a979d308aa751ff0b531686a9d7ad66f20f) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Skip root `tsconfig.json` creation and updates in the `legacy-typecheck-script` migration when a monorepo is detected. The migration, reachable through `adamantite update` and `adamantite doctor --fix`, previously wrote back the catch-all root config that `init` stopped writing in monorepos. It now prints the same guidance as `init` — add `"extends": "adamantite/typescript"` to each package's `tsconfig.json` or to a shared base config — and its validation no longer reports a failure for the deliberately absent file.
88
-
89
- - [#363](https://github.com/adelrodriguez/adamantite/pull/363) [`6270f58`](https://github.com/adelrodriguez/adamantite/commit/6270f5816498263f882dea91289d25d6a68d569e) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Show the captured package manager output when dependency installation fails during `init`. The error message now includes the underlying diagnostic, for example `ERR_PNPM_UNSUPPORTED_ENGINE`, instead of only the package list.
90
-
91
- - [#363](https://github.com/adelrodriguez/adamantite/pull/363) [`6270f58`](https://github.com/adelrodriguez/adamantite/commit/6270f5816498263f882dea91289d25d6a68d569e) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Include the underlying cause in file-system and extension error messages. Failed read, write, delete, and directory-creation operations now show the platform error detail, and a failed VS Code extension install reports the `code` CLI exit code.
92
-
93
- ## 0.34.4
94
-
95
- ### Patch Changes
96
-
97
- - [#355](https://github.com/adelrodriguez/adamantite/pull/355) [`cdc9716`](https://github.com/adelrodriguez/adamantite/commit/cdc9716d5955b576179f947261c558db1727c099) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Remove the default file exclusions from the analysis preset. The preset no longer sets `ignore: ["**/*.d.ts"]` or `ignoreFiles: ["**/dist/**", "**/build/**", "**/coverage/**", "**/.next/**", "**/.vercel/**", "**/.turbo/**"]`, so each project now declares the exclusions that match its own structure. Knip already honors `.gitignore`, so the build-output globs were mostly redundant; the change that can surface new `files` errors is the loss of `**/*.d.ts`, which affects projects with committed declaration files such as `vite-env.d.ts`. To keep the previous behavior, add the keys back in your own `knip.config.ts` after the `...analyze` spread.
98
-
99
- ## 0.34.3
100
-
101
- ### Patch Changes
102
-
103
- - [#352](https://github.com/adelrodriguez/adamantite/pull/352) [`9e45aa1`](https://github.com/adelrodriguez/adamantite/commit/9e45aa179cce677ccf14e81451a17b30d1eb214c) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Derive tooling config state, legacy-config warnings, and migration checks from a single detection pass so `init`, `doctor`, and `update` report consistent messages, run `update` migrations from migration checks directly, and point `adamantite init` users to `adamantite doctor --fix` when a legacy config is preserved.
104
-
105
- - [#354](https://github.com/adelrodriguez/adamantite/pull/354) [`49dee7a`](https://github.com/adelrodriguez/adamantite/commit/49dee7af416bb8a92a6e3fdd9bc235efb59defc6) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Update Effect and its Node.js platform packages to 4.0.0-rc.108. Also update Changesets, Esrap, Knip, Oxc Parser, Oxfmt, and Oxlint to their latest configured versions.
106
-
107
- ## 0.34.2
108
-
109
- ### Patch Changes
110
-
111
- - [#344](https://github.com/adelrodriguez/adamantite/pull/344) [`69d8dde`](https://github.com/adelrodriguez/adamantite/commit/69d8dde5c234f386d991e1ff9cabda9863682543) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Restructure and update the product documentation for the current CLI, presets, setup lifecycle, and supported runtime requirements.
112
-
113
- - [#344](https://github.com/adelrodriguez/adamantite/pull/344) [`69d8dde`](https://github.com/adelrodriguez/adamantite/commit/69d8dde5c234f386d991e1ff9cabda9863682543) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Keep generated GitHub Actions workflows aligned with the repository's current action versions and make repeated Zed editor setup idempotent.
114
-
115
- ## 0.34.1
116
-
117
- ### Patch Changes
118
-
119
- - [#342](https://github.com/adelrodriguez/adamantite/pull/342) [`b305053`](https://github.com/adelrodriguez/adamantite/commit/b3050538525d51f9c72e60beed5f72bc5390e1bd) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Ship an `adamantite` agent skill (`skills/adamantite/SKILL.md`) in the npm package. The skill teaches coding agents how to initialize, check, repair, and update Adamantite in a project, and is discoverable through TanStack Intent (`intent list` / `intent load`).
120
-
121
- ## 0.34.0
122
-
123
- ### Minor Changes
124
-
125
- - [#330](https://github.com/adelrodriguez/adamantite/pull/330) [`7da419f`](https://github.com/adelrodriguez/adamantite/commit/7da419f20b939b74ff62ae027961049f32fb8086) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Allow commands that wrap Knip, Oxlint, Oxfmt, or Sherif to forward arguments after `--`.
126
-
127
- - [#337](https://github.com/adelrodriguez/adamantite/pull/337) [`0c182ef`](https://github.com/adelrodriguez/adamantite/commit/0c182ef7df49b2fa4db60d281c0c410b338924ef) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Add a non-interactive `adamantite init` mode so agents and scripts can configure projects entirely through validated CLI flags.
128
-
129
- ### Patch Changes
130
-
131
- - [#339](https://github.com/adelrodriguez/adamantite/pull/339) [`65d738b`](https://github.com/adelrodriguez/adamantite/commit/65d738ba12163ff28e8ca360a3e1f522b3adef57) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Ensure CLI progress spinners stop when setup, updates, or migrations fail or are interrupted.
132
-
133
- ## 0.33.2
134
-
135
- ### Patch Changes
136
-
137
- - [#324](https://github.com/adelrodriguez/adamantite/pull/324) [`8f7da4b`](https://github.com/adelrodriguez/adamantite/commit/8f7da4bbaee8a7e14af2bfaba9a1fd28591b9805) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Remove `react-perf/jsx-no-jsx-as-prop` from the React lint preset to allow common composition and slot patterns.
138
-
139
- ## 0.33.1
140
-
141
- ### Patch Changes
142
-
143
- - [#322](https://github.com/adelrodriguez/adamantite/pull/322) [`262452e`](https://github.com/adelrodriguez/adamantite/commit/262452e66111a92d32a34a83d5fff529be021e99) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Remove several overly strict performance and style rules from the React lint preset, including the rules that reject newly created prop values, enforce handler naming, and prohibit class component state.
144
-
145
- ## 0.33.0
146
-
147
- ### Minor Changes
148
-
149
- - [#320](https://github.com/adelrodriguez/adamantite/pull/320) [`10ba5dc`](https://github.com/adelrodriguez/adamantite/commit/10ba5dc184140fef11bbbb718f02175bd37effbc) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Enable five new Oxlint rules across the core, React, and Vitest presets: `no-unreachable-loop`, `unicorn/explicit-timer-delay`, `unicorn/no-confusing-array-with`, `react/function-component-definition`, and `vitest/padding-around-test-blocks`. The existing `no-constant-binary-expression` rule also gains Oxlint's new relational-comparison diagnostics.
150
-
151
- - [#321](https://github.com/adelrodriguez/adamantite/pull/321) [`bed194e`](https://github.com/adelrodriguez/adamantite/commit/bed194ecfa9a7435a57b809b0d57bd9d27cfb08f) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Require Node.js 24 or later to run the CLI.
152
-
153
- - [#319](https://github.com/adelrodriguez/adamantite/pull/319) [`6f1fd10`](https://github.com/adelrodriguez/adamantite/commit/6f1fd10332ae5b9b4db94059dec2d4930a972cef) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Upgrade consumer type-aware linting to TypeScript 7.0.2 semantics, including hard errors for TypeScript 6 deprecations and TypeScript 7 compiler defaults. Ambient `@types/*` packages are no longer discovered automatically and must be listed explicitly when needed. Require TypeScript `>=7` as a peer dependency, replace the native preview with `typescript@7.0.2`, and update Oxlint to 1.75.0, oxlint-tsgolint to 7.0.2001, and Oxfmt to 0.60.0.
154
-
155
- ### Patch Changes
156
-
157
- - [#292](https://github.com/adelrodriguez/adamantite/pull/292) [`d1bd939`](https://github.com/adelrodriguez/adamantite/commit/d1bd9390f24e371a41d00b00c3667aa41180403a) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Update dependency versions for prompts and development tooling.
158
-
159
- - [#308](https://github.com/adelrodriguez/adamantite/pull/308) [`b4bcd6c`](https://github.com/adelrodriguez/adamantite/commit/b4bcd6c946683066b3248362b996264635bb5c41) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Add optional `AGENTS.md` guidance during `adamantite init` with idempotent Adamantite marker updates.
160
-
161
- ## 0.32.3
162
-
163
- ### Patch Changes
164
-
165
- - [#290](https://github.com/adelrodriguez/adamantite/pull/290) [`b7a6b86`](https://github.com/adelrodriguez/adamantite/commit/b7a6b86e4eb0255cfe344c8048d8dc1e306fe214) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Extend the lint presets with newly supported Oxlint rules: `react/react-compiler`, `unicorn/no-array-fill-with-reference-type`, `unicorn/prefer-export-from`, `unicorn/prefer-single-call`, `node/no-mixed-requires`, and the `vue/no-async-in-computed-properties`, `vue/no-dupe-keys`, `vue/no-side-effects-in-computed-properties`, and `vue/require-default-prop` rules. The deprecated `unicorn/prefer-string-starts-ends-with` rule has been removed.
166
-
167
- - [#290](https://github.com/adelrodriguez/adamantite/pull/290) [`b7a6b86`](https://github.com/adelrodriguez/adamantite/commit/b7a6b86e4eb0255cfe344c8048d8dc1e306fe214) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Limit GitHub Actions workflow generation to the supported package managers (`bun`, `deno`, `npm`, `pnpm`, `yarn`). When another package manager is detected, Adamantite now skips workflow setup with a warning instead of emitting an unsupported workflow.
168
-
169
- - [#290](https://github.com/adelrodriguez/adamantite/pull/290) [`b7a6b86`](https://github.com/adelrodriguez/adamantite/commit/b7a6b86e4eb0255cfe344c8048d8dc1e306fe214) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Update Effect and `@effect/platform-node` to `4.0.0-beta.92`.
170
-
171
- - [#290](https://github.com/adelrodriguez/adamantite/pull/290) [`b7a6b86`](https://github.com/adelrodriguez/adamantite/commit/b7a6b86e4eb0255cfe344c8048d8dc1e306fe214) Thanks [@adelrodriguez](https://github.com/adelrodriguez)! - Derive the managed tooling versions from Adamantite's own `package.json` at build time instead of maintaining separate hardcoded constants, so the versions installed by `adamantite init` always match the pinned dependencies: Oxfmt (`0.57.0`), Oxlint (`1.72.0`), oxlint-tsgolint (`0.24.0`), Sherif (`1.12.0`), and Knip (`6.23.0`).
172
-
173
- ## 0.32.2
174
-
175
- ### Patch Changes
176
-
177
- - [#282](https://github.com/adelrodriguez/adamantite/pull/282) [`87362fc`](https://github.com/adelrodriguez/adamantite/commit/87362fcafdbdb12fc9aa108eb5b95a18340d3fa9) Thanks [@wling-art](https://github.com/wling-art)! - Fix the React lint preset to use Oxlint's supported `jsx-a11y/anchor-ambiguous-text` rule.
178
-
179
- ## 0.32.1
180
-
181
- ### Patch Changes
182
-
183
- - ed4c2ac: Fix preset declaration types so lint, format, and analyze presets can be extended without leaking readonly literal arrays into consumer configs.
184
-
185
- ## 0.32.0
186
-
187
- ### Minor Changes
188
-
189
- - a5d54d9: Migrate format and Knip presets from JSON to TypeScript with full type safety
190
-
191
- Both `adamantite/format` and `adamantite/analyze` exports now resolve to typed TypeScript modules instead of JSON files. New projects get `oxfmt.config.ts` and `knip.config.ts` that import and spread the presets, making it easy to override individual options with autocomplete.
192
-
193
- **Breaking:** Existing JSON-based configs are now legacy formats:
194
-
195
- - `.oxfmtrc.json` / `.oxfmtrc.jsonc` → `oxfmt.config.ts`
196
- - `knip.json` / `knip.jsonc` → `knip.config.ts`
197
-
198
- Run `adamantite update` to migrate automatically. The migration preserves custom overrides and removes the old files.
199
-
200
- ### Patch Changes
201
-
202
- - f22cdfd: Upgrade the bundled `oxfmt` version to `0.46.0` and enable the new JSDoc formatting option in the Adamantite formatter preset.
203
-
204
- Upgrade the bundled `oxlint` version to `1.61.0` and update `oxlint-tsgolint` to `0.21.1` to satisfy oxlint's peer dependency requirement.
205
-
206
- The lint presets now remove these rules:
207
-
208
- - Core: `comma-dangle`, which is no longer recognized by oxlint
209
- - Vitest: `vitest/prefer-to-be-truthy` and `vitest/prefer-to-be-falsy`, replaced by exact boolean assertions through `vitest/prefer-strict-boolean-matchers`
210
-
211
- The lint presets also enable these new rules added in recent oxlint releases:
212
-
213
- - Core: `no-useless-assignment`, `object-shorthand`, `unicorn/consistent-template-literal-escape`, `unicorn/custom-error-definition`, `unicorn/no-useless-iterator-to-array`, `unicorn/prefer-import-meta-properties`, and `unicorn/switch-case-break-position`
214
- - React: `react/hook-use-state` and `react/prefer-function-component`
215
- - Jest: `jest/padding-around-after-all-blocks`, `jest/prefer-ending-with-an-expect`, and `jest/valid-expect-in-promise`
216
- - Vitest: `vitest/prefer-called-exactly-once-with`, `vitest/prefer-strict-boolean-matchers`, `vitest/require-awaited-expect-poll`, and `vitest/require-mock-type-parameters`
217
-
218
- Upgrade the bundled `knip` version to `6.6.1`. This release range improves framework plugin coverage, config hints, workspace handling, and analysis performance.
219
-
220
- The analyze preset now explicitly reports unused catalog entries with `catalog: "error"` and unused namespace members with `namespaceMembers: "warn"`.
221
-
222
- - cda39ae: Update the bundled Knip config for Knip v6 and refresh the bundled linting and formatting tool versions.
223
-
224
- Newly generated Knip configs now use the v6 schema URLs and drop the removed `classMembers` rule.
225
-
226
- - 0ae2d85: Rename CI matrix entry from "lint" to "check" for consistency with the `adamantite check` command
227
-
228
- ## 0.31.0
229
-
230
- ### Minor Changes
231
-
232
- - 4fcea21: `adamantite update` now runs a migration pipeline before dependency updates, so upgrades to the `adamantite check` workflow and related configuration can be checked, applied, validated, and rolled back safely when a migration fails.
233
-
234
- This release adds automatic update migrations for legacy Adamantite setups. `adamantite update` can now migrate `.oxlintrc.json` to `oxlint.config.ts`, patch managed `oxlint.config.ts` files so `adamantite check` and `adamantite fix` run with `options.typeAware` and `options.typeCheck` enabled, and replace the legacy `adamantite typecheck` script with the unified `adamantite check` command.
235
-
236
- When migrating the legacy `typecheck` script, Adamantite also bootstraps any missing `oxlint.config.ts` and `tsconfig.json` files, updates the GitHub Actions workflow when possible so it runs the new `check` command, and continues syncing managed tooling dependencies to the latest compatible Adamantite versions.
237
-
238
- ### Patch Changes
239
-
240
- - 5881f82: Adamantite lint presets no longer ship built-in `ignorePatterns` defaults.
241
-
242
- Projects that still need ignores like `dist`, `.next`, or `node_modules` should define them in their local `oxlint.config.ts`.
243
-
244
- ## 0.30.2
245
-
246
- ### Patch Changes
247
-
248
- - fa763e4: Update `@clack/prompts` to 1.1.0
249
- - fa763e4: Fix package exports to point to built artifacts instead of raw TypeScript source
250
-
251
- Package exports were incorrectly pointing to raw `.ts` source files, which required consumers to have a TypeScript-aware bundler. Exports now correctly resolve to compiled `.js` and copied `.json` files in `dist/`.
252
-
253
- ## 0.30.1
254
-
255
- ### Patch Changes
256
-
257
- - 2d0ba13: Migrate the internal CLI runtime from Effect v3 packages to Effect v4 beta while preserving the existing `adamantite` command surface and preset exports.
258
- - 132d654: Include `knip` in `adamantite update` dependency checks
259
-
260
- `adamantite init` installs `knip`, but `adamantite update` wasn't checking it for version updates. Now `knip` is included alongside `oxlint`, `oxfmt`, and `sherif` so users get prompted when their version falls behind.
261
-
262
- ## 0.30.0
263
-
264
- ### Minor Changes
265
-
266
- - a0234da: Upgrade bundled `oxlint` to `1.50.0` and `oxfmt` to `0.35.0`, including updated internal package pins used during Adamantite setup and updates.
267
-
268
- Update formatting presets to canonical oxfmt option names (`sortImports`, `sortTailwindcss`, and `sortPackageJson`) and enable new unicorn checks in the core lint preset (`unicorn/prefer-module` and single-line `unicorn/prefer-ternary`).
269
-
270
- - 506516c: Migrate lint presets from JSON to TypeScript config modules using oxlint's `defineConfig()`.
271
-
272
- All lint presets (`core`, `react`, `nextjs`, `vue`, `node`, `jest`, `vitest`) are now `.ts` files exported via `adamantite/lint` and `adamantite/lint/*`. `adamantite init` generates `oxlint.config.ts` instead of `.oxlintrc.json`, and `adamantite update` automatically migrates legacy `.oxlintrc.json` files—preserving custom rules, existing preset references (both `node_modules` paths and package exports), and non-Adamantite extends entries—then removes the old JSON config.
273
-
274
- When both `oxlint.config.ts` and `.oxlintrc.json` exist, Adamantite prefers the TypeScript config and warns about the duplicate.
275
-
276
- ### Patch Changes
277
-
278
- - 2b1f4e1: Allow trailing commas in JSON/JSONC config parsing.
279
- - 506516c: Improve CLI error reporting when config parsing fails during commands like `adamantite init`.
280
-
281
- When Adamantite fails to parse JSON/JSONC files, it now reports the affected file path and parser details instead of only surfacing a generic tagged error. Invalid config shape errors are also reported with a clearer message explaining that a JSON object is required.
282
-
283
- - 6a1d09d: Improve CLI error handling with clearer, user-facing messages across command failures.
284
-
285
- Adds more actionable JSON/JSONC parse diagnostics and centralizes prompt cancellation handling in the prompter service so cancellation behavior is consistent across commands.
286
-
287
- ## 0.29.1
288
-
289
- ### Patch Changes
290
-
291
- - 00b2ef4: - Bump `oxlint-tsgolint` to `0.14.2`.
292
- - Include `oxlint-tsgolint` in the `adamantite update` dependency check so it gets updated alongside other Adamantite-managed dev dependencies.
293
-
294
- ## 0.29.0
295
-
296
- ### Minor Changes
297
-
298
- - a46eb5f: Bump oxlint to v1.49.0 and oxfmt to v0.34.0. Add 25 new lint rules across all presets, including `no-shadow`, `prefer-const`, `typescript/no-unnecessary-condition`, `typescript/consistent-type-exports`, `typescript/unified-signatures`, and more. Update tsgolint to v0.14.1. No breaking changes to the preset configuration.
299
-
300
- ### Patch Changes
301
-
302
- - 9b561ec: Replace `default-case` rule with smarter `switch-exhaustiveness-check` configuration. Switches on union types now require either all members to be handled or a `default` case, and non-union switches require a `default`.
303
- - 6c869b6: Bump knip to v5.85.0. Includes parser/runtime compatibility fixes, improved Next.js and tsdown handling, and large monorepo memory improvements.
304
- - 65d6205: Bump `effect` to v3.19.19.
305
-
306
- ## 0.28.1
307
-
308
- ### Patch Changes
309
-
310
- - 525d5da: Propagate CLI exit codes so CI fails on tool errors.
311
-
312
- ## 0.28.0
313
-
314
- ### Minor Changes
315
-
316
- - d9210c3: Add Zed editor support
317
-
318
- The `init` command now configures Zed alongside VS Code/Cursor/Windsurf. Creates `.zed/settings.json` with oxlint and oxfmt LSP settings, enables format-on-save for JS/TS/JSON/CSS/HTML/Markdown/YAML, and prompts to install the `oxc` extension.
319
-
320
- - a49bd3f: Replace tsgo with standard TypeScript compiler (tsc) for type checking
321
-
322
- The `typecheck` command now uses `tsc` instead of the experimental `@typescript/native-preview` (tsgo). This provides better stability and compatibility since tsgo is still in development. Commands no longer require package manager detection to run - they execute tools directly.
323
-
324
- ## 0.27.4
325
-
326
- ### Patch Changes
327
-
328
- - fdaa945: Update lint/format/tooling dependencies and align internal version metadata.
329
-
330
- ## 0.27.3
331
-
332
- ### Patch Changes
333
-
334
- - 8656cbe: Update development dependencies for tooling and type support
335
-
336
- ## 0.27.2
337
-
338
- ### Patch Changes
339
-
340
- - 687d41c: Fix `typecheck` command to use `Options.file` instead of `Options.text` for the `--project` option, ensuring proper file path validation for tsconfig.json paths.
341
-
342
- ## 0.27.1
343
-
344
- ### Patch Changes
345
-
346
- - 787fb7c: Fix `MissingPackageVersion` error when running CLI in packages without a version field
347
-
348
- ## 0.27.0
349
-
350
- ### Minor Changes
351
-
352
- - 461bbd7: Add new rules from oxlint v1.39.0 and oxfmt v0.24.0:
353
-
354
- **Core preset (`typescript/`):**
355
-
356
- - `typescript/prefer-optional-chain` - Prefer using optional chain expressions instead of logical AND chains
357
-
358
- **Vitest preset:**
359
-
360
- - `vitest/consistent-each-for` - Enforce consistent usage of `each` for test cases
361
- - `vitest/hoisted-apis-on-top` - Ensure Vitest hoisted APIs are at the top
362
- - `vitest/no-unneeded-async-expect-function` - Disallow unnecessary async in expect functions
363
- - `vitest/prefer-called-once` - Prefer using `toHaveBeenCalledOnce()` over `toHaveBeenCalledTimes(1)`
364
- - `vitest/prefer-describe-function-title` - Prefer using function names in describe blocks
365
-
366
- **Vue preset:**
367
-
368
- - `vue/no-arrow-functions-in-watch` - Disallow arrow functions in watch options
369
- - `vue/no-lifecycle-after-await` - Disallow lifecycle hooks after await expressions
370
-
371
- **Notable bug fixes in oxlint v1.39.0:**
372
-
373
- - Fix workspace worker selection for nested and similar-named workspaces in LSP
374
- - Fix `consistent-indexed-object-style` false positive with circular references
375
- - Fix `consistent-indexed-object-style` to skip fixing default exported interfaces
376
- - Fix `prefer-called-once` panic on trailing comma
377
- - Fix panic on invalid `no-unused-vars` configuration
378
- - Move `jsx-a11y/no-static-element-interactions` rule to nursery
379
- - Fix nested search for binaries in VS Code extension
380
-
381
- **Notable bug fixes in oxfmt v0.24.0:**
382
-
383
- - Fix classes being stripped when both `experimentalTailwindcss` and `experimentalSortImports` are enabled
384
- - Fix nested class strings not respecting `singleQuote: true` in Tailwind CSS
385
- - Fix class names being broken after sorting when containing single quotes with `singleQuote: true`
386
- - Fix incorrect type annotation check for short arguments
387
- - Fix parenthesis wrapping for type assertions in default exports
388
-
389
- ### Patch Changes
390
-
391
- - ee94947: Update tooling dependencies to latest versions for improved stability and performance.
392
-
393
- ## 0.26.0
394
-
395
- ### Minor Changes
396
-
397
- - 0663946: Remove support for passing positional file lists to `adamantite analyze`.
398
-
399
- Use your Knip config (or run `knip` directly) to scope analysis instead.
400
-
401
- ## 0.25.0
402
-
403
- ### Minor Changes
404
-
405
- - db437e7: Replace Tailwind CSS lint preset with experimental formatting options
406
-
407
- The `adamantite/lint/tailwind` preset has been removed. Tailwind CSS class sorting is now handled via oxfmt's `experimentalTailwindcss` option, which is already enabled in the `adamantite` format preset.
408
-
409
- If you were using the Tailwind lint preset, simply remove it from your configuration. Class sorting will be handled automatically when formatting with `adamantite format`.
410
-
411
- ## 0.24.0
412
-
413
- ### Minor Changes
414
-
415
- - 32c0900: Add Tailwind CSS lint preset via eslint-plugin-better-tailwindcss
416
-
417
- New framework-specific preset available at `adamantite/lint/tailwind` for projects using Tailwind CSS. Includes rules for class ordering, duplicate detection, and best practices via [eslint-plugin-better-tailwindcss](https://www.npmjs.com/package/eslint-plugin-better-tailwindcss).
418
-
419
- Refactored oxlint helper to support plugin architecture for extensibility.
420
-
421
- ## 0.23.0
422
-
423
- ### Minor Changes
424
-
425
- - c09d6de: Reorganize preset directory structure and update linting rules
426
-
427
- **Breaking Changes:**
428
-
429
- - Renamed `presets/oxfmt.json` → `presets/format.json`
430
- - Renamed `presets/oxlint/` → `presets/lint/`
431
- - Removed 8 linting rules from core preset:
432
- - `import/export` - Duplicate export detection (now handled by TypeScript)
433
- - `import/no-named-as-default` - Named import conflicts (now handled by TypeScript)
434
- - `import/no-named-as-default-member` - Member access on default export (now handled by TypeScript)
435
- - `new-cap` - Constructor capitalization (stylistic preference)
436
- - `typescript/only-throw-error` - Enforce throwing Error objects (too restrictive)
437
- - `unicorn/no-anonymous-default-export` - Require named exports (too opinionated)
438
- - `unicorn/no-array-for-each` - Prefer for-of over forEach (stylistic preference)
439
- - `unicorn/prefer-string-raw` - Use String.raw for template literals (too aggressive)
440
- - Added 1 new linting rule:
441
- - `sort-keys` - Enforce sorted object keys for consistency
442
-
443
- Users referencing these presets directly in their configuration files will need to update their paths. If you're extending Adamantite presets using the `adamantite/*` shorthand (e.g., `"extends": "adamantite/lint"`), no changes are required.
444
-
445
- **Also includes:**
446
-
447
- - Update oxlint to 1.37.0 (from 1.36.0)
448
- - Update oxfmt to 0.22.0 (from 0.21.0)
449
- - Update knip to 5.80.0 (from 5.79.0)
450
- - Enable type-aware linting in VSCode settings
451
-
452
- ## 0.22.1
453
-
454
- ### Patch Changes
455
-
456
- - 278b75b: Improve dependency installation performance by batching packages
457
-
458
- Install and update commands now install multiple dependencies in a single package manager call instead of sequentially, reducing total installation time.
459
-
460
- ## 0.22.0
461
-
462
- ### Minor Changes
463
-
464
- - 15f55ba: Add knip preset for dependency analysis
465
-
466
- Ships new `adamantite/analyze` preset with opinionated knip rules for detecting unused files, dependencies, and exports. Includes sensible defaults: errors on unused files/dependencies, warnings on unused exports/types, and ignores common build/dist directories.
467
-
468
- The init command now installs relevant VS Code extensions based on selected scripts (OXC for lint/fix, Knip for analyze, TypeScript Native Preview for typecheck).
469
-
470
- Also updates oxlint core rules to allow tagged templates and ternaries in expressions.
471
-
472
- Updates tooling dependencies: knip 5.79.0, oxfmt 0.21.0, oxlint 1.36.0, oxlint-tsgolint 0.10.1, and TypeScript native preview 7.0.0-dev.20260103.1.
473
-
474
- ## 0.21.0
475
-
476
- ### Minor Changes
477
-
478
- - e29fd96: Add `analyze` command for finding unused code with knip
479
-
480
- Finds unused dependencies, exports, and files in your project. Supports `--fix` to auto-remove issues and `--strict` for production-focused analysis.
481
-
482
- ## 0.20.0
483
-
484
- ### Minor Changes
485
-
486
- - 5849d6c: Add automatic editor extension installation during setup
487
-
488
- The `init` command now prompts to install recommended editor extensions (like oxc.oxc-vscode) automatically, improving the initial setup experience.
489
-
490
- ## 0.19.0
491
-
492
- ### Minor Changes
493
-
494
- - fa77059: Add tsgo (TypeScript Go) as type checker
495
-
496
- The `typecheck` command now uses `tsgo` instead of `tsc` for faster type checking. During initialization, `@typescript/native-preview` is installed instead of `typescript`.
497
-
498
- ### Patch Changes
499
-
500
- - 00fe130: Add framework preset selection to init command
501
-
502
- The `adamantite init` command now prompts for presets (React, Next.js, Vue, Jest, Vitest, Node) when choosing linting scripts. Selected presets are automatically applied to the oxlint configuration, eliminating manual setup.
503
-
504
- Also adds new framework presets with complete rule sets: Next.js (`nextjs.json`), Jest (`jest.json`), Vitest (`vitest.json`), and Vue.js (`vue.json`). Expands React preset (`react.json`) with React/JSX-a11y/React-perf rules and adds `node/no-exports-assign` to Node.js preset (`node.json`).
505
-
506
- ## 0.18.0
507
-
508
- ### Minor Changes
509
-
510
- - b0ccb57: Replace Biome with oxlint and oxfmt for linting and formatting
511
-
512
- **Breaking changes:**
513
-
514
- - `biome.jsonc` is no longer supported - use `.oxlintrc.json` and `.oxfmtrc.jsonc` instead
515
- - Configuration now extends `adamantite/lint` (oxlint) and uses oxfmt for formatting
516
- - Biome must be uninstalled - `oxlint` and `oxfmt` are the new peer dependencies
517
- - CLI commands (`check`, `fix`, `format`) now use oxlint/oxfmt instead of Biome
518
-
519
- **New features:**
520
-
521
- - Modular oxlint presets: `core`, `react`, and `next` configurations
522
- - 500+ linting rules (up from 200+ with Biome)
523
- - 10-40x faster linting performance
524
- - Separate formatting configuration via oxfmt
525
-
526
- Run `adamantite update` to migrate existing projects automatically.
527
-
528
- - 6a43df7: Add `typecheck` command to run TypeScript type checking
529
-
530
- Runs `tsc --noEmit` to check for type errors. Supports `--project` flag to specify custom tsconfig path and `--watch` flag for continuous type checking.
531
-
532
- Improve generated GitHub Actions workflows with matrix strategy, caching, and optimizations. Workflows now use a matrix strategy to run jobs in parallel, cache dependencies for faster builds, skip documentation-only changes, and use minimal required permissions.
533
-
534
- ## 0.17.0
535
-
536
- ### Minor Changes
537
-
538
- - f929f82: Add optional GitHub Actions workflow setup during init
539
- - Added a new prompt during `adamantite init` to optionally create a GitHub Actions workflow
540
- - The workflow runs all enabled check scripts (check, format, typecheck, check:monorepo)
541
- - Automatically uses the detected package manager (npm, yarn, pnpm, or bun) with the correct setup steps
542
- - Creates `.github/workflows/adamantite.yml` with proper caching and concurrency settings
543
- - Removed the `ci` command in favor of the generated workflow approach
544
-
545
- ## 0.16.0
546
-
547
- ### Minor Changes
548
-
549
- - 18abadb: Add TypeScript checking option and improve preset export naming
550
-
551
- **Breaking Change:**
552
-
553
- - **Export path update**: The TypeScript preset export has been renamed from `adamantite/tsconfig` to `adamantite/typescript` for better clarity and consistency with package naming conventions
554
-
555
- **New Features:**
556
-
557
- - **TypeScript checking option**: The `init` command now includes a `typecheck` script option that runs `tsc --noEmit` for type-checking without emitting files
558
- - **Conditional TypeScript installation**: TypeScript is now only installed as a dependency when the `typecheck` option is selected, reducing unnecessary dependencies
559
- - **Enhanced init flow**: Users can now choose to include TypeScript type-checking as part of their development workflow during initialization
560
-
561
- **Migration:**
562
-
563
- If you're currently using the TypeScript preset, update your `tsconfig.json`:
564
-
565
- ```diff
566
- {
567
- - "extends": "adamantite/tsconfig"
568
- + "extends": "adamantite/typescript"
569
- }
570
- ```
571
-
572
- ## 0.15.0
573
-
574
- ### Minor Changes
575
-
576
- - 4f94699: Add `format` command powered by oxfmt
577
-
578
- Formats JavaScript, TypeScript, JSX, TSX, JSON, JSONC, and CSS files using oxfmt (oxc's formatter). The formatter is configured via `.oxfmtrc.json` with opinionated defaults including:
579
-
580
- - 100 character line width
581
- - 2 space indentation
582
- - No semicolons
583
- - Sorted imports with customizable grouping
584
- - Trailing commas for ES5 compatibility
585
-
586
- Configuration is automatically generated when running `adamantite init` or `adamantite update`. VSCode settings are updated to use oxc-vscode extension as the default formatter.
587
-
588
- - 69cb0be: Improve `init` and `monorepo` commands with better UX
589
-
590
- The `init` command now provides clearer interactive prompts using @clack/prompts, detects monorepo configurations automatically, and offers granular control over which scripts to install. Users can choose individual scripts (check, fix, check:monorepo, fix:monorepo) instead of all-or-nothing installation.
591
-
592
- The `monorepo` command now requires the `--fix` flag to auto-fix issues. Running without the flag only checks for issues, making the behavior consistent with the `check` command and preventing unintended modifications.
593
-
594
- ### Patch Changes
595
-
596
- - ded7779: Update faultier dependency to improve error handling and CLI output
597
-
598
- ## 0.14.2
599
-
600
- ### Patch Changes
601
-
602
- - 1cd1eea: Improve error handling and refactor CLI commands for consistency
603
-
604
- **Error Handling Improvements:**
605
-
606
- - Enhanced error logging for package manager detection failures across all CLI commands
607
- - Improved user cancellation handling in interactive prompts (`init`, `update`)
608
- - Commands now display clearer error messages when operations fail, making troubleshooting easier
609
-
610
- **Refactoring:**
611
-
612
- - Refactored all CLI commands (`check`, `ci`, `fix`, `monorepo`, `init`, `update`) to use `.match()` method on `safeTry` results for consistent error handling pattern
613
- - Standardized error handling across the codebase, improving maintainability and readability
614
- - Cleaned up unnecessary intermediate variable assignments in `init` command
615
-
616
- **Type Improvements:**
617
-
618
- - Updated `types.ts` with more precise type definitions, using `never` for empty error data and optional properties where appropriate
619
-
620
- ## 0.14.1
621
-
622
- ### Patch Changes
623
-
624
- - f2a9cd1: Migrate build tool from tsdown to bunup
625
-
626
- Updates the build configuration to use bunup instead of tsdown for bundling the CLI. This is an internal tooling change that improves build performance and aligns with Bun's ecosystem, with no impact on the public API or CLI functionality.
627
-
628
- - 9c4ba8c: Improve error handling across CLI commands
629
-
630
- Enhances error handling in all CLI commands by adding proper error logging for package manager detection failures and improving user cancellation handling in interactive prompts. Commands now display clearer error messages when package manager detection fails or when users cancel interactive operations, making troubleshooting easier and providing better user experience.
631
-
632
- ## 0.14.0
633
-
634
- ### Minor Changes
635
-
636
- - a3edadb: Improve Biome preset defaults and refactor internal error handling
637
-
638
- This release updates the Biome formatter preset with more practical defaults and includes significant internal improvements to error handling and code organization. All changes are backwards compatible - CLI commands and package exports remain unchanged.
639
-
640
- **Biome Preset Updates:**
641
-
642
- - **Increased line width** from 80 to 100 characters for better readability on modern displays
643
- - **Relaxed cognitive complexity** rule from error to warning level and increased threshold from 20 to 40 for more pragmatic complexity checks
644
- - These changes will affect formatting and linting output but can be overridden in your local `biome.jsonc` configuration
645
-
646
- **Internal Refactoring:**
647
-
648
- - **Result-based error handling**: Introduced `neverthrow` library for type-safe error handling across all commands, replacing try-catch patterns with composable Result types
649
- - **Improved error messages**: All commands now provide better error context using structured error flattening
650
- - **Modular helper organization**: Restructured helper functions from monolithic file into organized modules:
651
- - `src/helpers/editors/vscode.ts` - VSCode configuration
652
- - `src/helpers/packages/biome.ts` - Biome package management
653
- - `src/helpers/packages/sherif.ts` - Sherif package management
654
- - `src/helpers/tsconfig.ts` - TypeScript configuration
655
- - **Relocated preset files** from `src/presets/` to `presets/` directory (package exports unchanged - users are unaffected)
656
-
657
- **Dependencies:**
658
-
659
- - Added `neverthrow@8.2.0` for Result type handling
660
- - Added `faultier@^1.0.3` for error utilities
661
- - Moved `yargs` from devDependencies to dependencies
662
-
663
- ## 0.13.2
664
-
665
- ### Patch Changes
666
-
667
- - 00b3f0c: Refactor CLI framework from citty to yargs for improved command parsing
668
-
669
- This internal refactoring migrates the CLI implementation to use yargs instead of citty, providing more robust argument parsing and better TypeScript support. The change also introduces import maps with "#\*" syntax for cleaner internal module resolution.
670
-
671
- **Technical changes:**
672
-
673
- - Migrated all command handlers from citty's `defineCommand` to yargs command modules
674
- - Added `#*` import maps in package.json pointing to `./src/*` for path-based imports
675
- - Updated all internal imports to use `#commands/*` and `#utils.ts` syntax
676
- - Added yargs and @types/yargs dependencies (replacing citty)
677
- - Configured TypeScript with `allowImportingTsExtensions` and `noEmit` for import map support
678
- - Updated tsdown config to target node platform explicitly
679
-
680
- All CLI commands maintain their existing behavior and user-facing API.
681
-
682
- ## 0.13.1
683
-
684
- ### Patch Changes
685
-
686
- - c34d925: Update dependency versions to fix test failures
687
-
688
- **Updated Dependencies:**
689
-
690
- Development dependencies:
691
-
692
- - `@biomejs/biome` from 2.3.8 to 2.3.10
693
- - `@types/bun` from 1.3.3 to 1.3.5
694
- - `tsdown` from 0.17.0-beta.4 to 0.18.1
695
- - `type-fest` from 5.2.0 to 5.3.1
696
-
697
- Peer dependencies:
698
-
699
- - `@biomejs/biome` from 2.3.8 to 2.3.10
700
-
701
- **Internal Changes:**
702
-
703
- - Updated hardcoded `biome.version` in helpers from 2.3.2 to 2.3.10 to match installed package
704
- - Updated hardcoded `sherif.version` in helpers from 1.7.0 to 1.9.0 to match installed package
705
-
706
- These changes ensure version consistency between hardcoded references in the codebase and actual installed dependencies, resolving test failures that check for version alignment.
707
-
708
- - 89f6f83: Add self-referencing dependency and update development tooling
709
-
710
- **New Features:**
711
-
712
- - Added `adamantite` as a dependency to enable dogfooding and self-testing of the package configuration
713
-
714
- **Updated Dependencies:**
715
-
716
- Development dependencies:
717
-
718
- - `sherif` from 1.7.0 to 1.7.1
719
- - `tsdown` from 0.15.11 to 0.15.12
720
-
721
- This change allows the project to use its own presets and configurations, ensuring consistency and validating that the package works correctly in real-world usage. The development dependency updates bring the latest bug fixes and improvements from upstream packages.
722
-
723
- - d354b60: Update development dependencies and Biome peer dependency to latest versions
724
-
725
- **Updated Dependencies:**
726
-
727
- Development dependencies:
728
-
729
- - `@biomejs/biome` from 2.3.2 to 2.3.8
730
- - `@changesets/cli` from 2.29.7 to 2.29.8
731
- - `@types/bun` from 1.3.1 to 1.3.3
732
- - `sherif` from 1.7.1 to 1.9.0
733
- - `tsdown` from 0.15.12 to 0.17.0-beta.4
734
- - `type-fest` from 5.1.0 to 5.2.0
735
-
736
- Peer dependencies:
737
-
738
- - `@biomejs/biome` from 2.3.2 to 2.3.8
739
-
740
- Package manager:
741
-
742
- - `bun` from 1.2.20 to 1.3.3
743
-
744
- These updates bring the latest bug fixes, performance improvements, and new features from upstream packages, ensuring the development environment stays current with the latest tooling improvements.
745
-
746
- ## 0.13.0
747
-
748
- ### Minor Changes
749
-
750
- - 073c7a8: Update Biome to 2.3.2 and enable script/style tag indentation
751
-
752
- **Updated Dependencies:**
753
-
754
- Core dependencies:
755
-
756
- - `@biomejs/biome` from 2.3.0 to 2.3.2
757
-
758
- Development dependencies:
759
-
760
- - `tsdown` from 0.15.9 to 0.15.11
761
-
762
- **Configuration Changes:**
763
-
764
- - **Script and style indentation**: Changed `indentScriptAndStyle` from `false` to `true` in the HTML formatter configuration. This enables automatic indentation of code within `<script>` and `<style>` tags in HTML and JSX files, improving code readability and consistency. Previously, content within these tags was not indented, but now they will be formatted with proper indentation matching the rest of the document.
765
-
766
- These updates bring the latest bug fixes and improvements from Biome 2.3.2, along with enhanced formatting consistency for HTML and JSX files containing embedded scripts and styles.
767
-
768
- ## 0.12.0
769
-
770
- ### Minor Changes
771
-
772
- - 0b1598e: Update Biome to 2.3.0 and improve configuration defaults
773
-
774
- **Updated Dependencies:**
775
-
776
- Core dependencies:
777
-
778
- - `@biomejs/biome` from 2.2.6 to 2.3.0
779
-
780
- Development dependencies:
781
-
782
- - `@types/bun` from 1.3.0 to 1.3.1
783
- - `sherif` from 1.6.1 to 1.7.0
784
- - `tsdown` from 0.15.7 to 0.15.9
785
-
786
- **Configuration Changes:**
787
-
788
- - **Line endings**: Changed from `"lf"` to `"auto"` for better cross-platform compatibility. The formatter will now preserve the existing line ending style in files rather than enforcing Unix-style line endings.
789
- - **New rule**: Added `useImageSize` rule (set to `"error"`) to enforce width and height attributes on image elements for improved performance and layout stability.
790
-
791
- **Development Environment:**
792
-
793
- - VSCode settings updated to use Biome as the default formatter
794
- - Added `test/` directory for future test infrastructure
795
-
796
- These updates bring the latest improvements and bug fixes from Biome 2.3.0, along with enhanced cross-platform support and additional best practices for web development.
797
-
798
- ## 0.11.1
799
-
800
- ### Patch Changes
801
-
802
- - 3121c4e: Update development dependencies to their latest versions
803
-
804
- Updated the following devDependencies:
805
-
806
- - `@biomejs/biome` from 2.2.5 to 2.2.6
807
- - `@types/bun` from 1.2.23 to 1.3.0
808
- - `tsdown` from 0.15.6 to 0.15.7
809
- - `type-fest` from 5.0.1 to 5.1.0
810
-
811
- These updates include minor improvements and bug fixes from the upstream packages.
812
-
813
- ## 0.11.0
814
-
815
- ### Minor Changes
816
-
817
- - 4df55ba: Restructure Biome configuration to use extends pattern and move presets to src directory
818
-
819
- **Breaking Changes:**
820
-
821
- The package structure has been reorganized to consolidate presets in the `src/presets` directory and adopt a more maintainable configuration pattern:
822
-
823
- - **Biome configuration**: The root `biome.jsonc` now extends from `src/presets/biome.jsonc` instead of containing the full configuration inline
824
- - **TypeScript preset**: Moved from `presets/tsconfig.json` to `src/presets/tsconfig.json` for consistency
825
- - **Package exports**: Added clean export paths via package.json exports field:
826
- - `adamantite` → Biome configuration (default export)
827
- - `adamantite/biome` → Biome configuration (explicit)
828
- - `adamantite/tsconfig` → TypeScript configuration (new clean path)
829
- - `adamantite/presets/*` → Direct preset access (fallback)
830
- - **Schema references**: Updated to use local Biome schema paths (`./node_modules/@biomejs/biome/configuration_schema.json`) instead of remote URLs
831
- - **TypeScript preset**: Removed `verbatimModuleSyntax` setting to improve compatibility with both ESM and CommonJS projects
832
-
833
- **Migration:**
834
-
835
- If you're importing Adamantite's Biome configuration:
836
-
837
- - Update imports from `adamantite/biome.jsonc` to `adamantite` (the package main export)
838
- - If extending the TypeScript preset, update the path from `adamantite/presets/tsconfig.json` to `adamantite/tsconfig`
839
- - If your project relies on `verbatimModuleSyntax`, add it to your local tsconfig.json as it's no longer included in the preset
840
-
841
- **Internal improvements:**
842
-
843
- - Tests now validate local schema paths instead of remote URL formats, improving offline development experience
844
- - Configuration structure better aligns with modern preset patterns using `extends`
845
-
846
- ## 0.10.0
847
-
848
- ### Minor Changes
849
-
850
- - f975e73: /
851
-
852
- ## 0.9.5
853
-
854
- ### Patch Changes
855
-
856
- - 1aa1ba2: Enhanced `useFilenamingConvention` rule to support special characters in filenames
857
-
858
- Updated the filename convention rule with a custom `match` regex pattern that allows special characters such as `$`, `[`, and `]` in filenames while maintaining kebab-case naming conventions. This change enables proper validation of framework-specific file naming patterns, such as Next.js dynamic routes (`[id].ts`, `[...slug].ts`) and SvelteKit route parameters (`$lib`, `[param].svelte`), without triggering false positive linting errors.
859
-
860
- ## 0.9.4
861
-
862
- ### Patch Changes
863
-
864
- - cd272f9: Allow non-ASCII characters in filenames by setting `requireAscii: false` in the `useFilenameConvention` rule
865
-
866
- The Biome configuration now permits special characters like `$` in filenames while maintaining the `kebab-case` naming requirement. This change resolves linting errors for route files with special characters (e.g., `auth.$.ts` in web frameworks that use `$` for dynamic routes) without compromising the overall filename convention standards.
867
-
868
- ## 0.9.3
869
-
870
- ### Patch Changes
871
-
872
- - 4b6df97: Migrate CLI framework from Commander.js to citty for improved developer experience. This change brings better type safety through citty's TypeScript-first design, improved ergonomics as part of the UnJS ecosystem, and a more declarative command definition API.
873
-
874
- Key improvements:
875
-
876
- - **Better type safety**: Commands are now defined using `defineCommand()` with fully typed argument definitions
877
- - **Declarative API**: Command metadata, arguments, and handlers are defined in a single, clear structure rather than chained method calls
878
- - **Improved DX**: Arguments are automatically parsed and typed, with built-in support for positional arguments, boolean flags, and command metadata
879
- - **UnJS ecosystem**: citty is part of the UnJS ecosystem, providing better compatibility with other modern JavaScript tooling and conventions
880
-
881
- - 67d8ea3: Update development dependencies and TypeScript peer dependency requirement
882
-
883
- - Update tsdown from 0.15.2 to 0.15.6 for improved build performance and bug fixes
884
- - Update type-fest from 5.0.0 to 5.0.1 for latest type utilities
885
- - Update TypeScript from 5.9.2 to 5.9.3 for latest compiler improvements
886
- - Update TypeScript peer dependency to >=5.6.0 (required for noUncheckedSideEffectImports compiler option)
887
-
888
- This ensures compatibility with the TypeScript preset's `noUncheckedSideEffectImports` option which requires TypeScript 5.6 or higher.
889
-
890
- ## 0.9.2
891
-
892
- ### Patch Changes
893
-
894
- - 590dbfd: Relax filename convention rules in Biome configuration
895
-
896
- Removed the restrictive `match` pattern constraint from the `useFilenameConvention` rule while keeping the `kebab-case` requirement. This change makes the linting rules more permissive by removing the overly restrictive regex pattern matching, which can help reduce false positives in projects with diverse naming requirements.
897
-
898
- ## 0.9.1
899
-
900
- ### Patch Changes
901
-
902
- - 16eef0d: Remove Next.js-specific Biome rules from general-purpose TypeScript preset
903
-
904
- Removed `noHeadElement` and `noHeadImportInDocument` rules that are specific to Next.js framework usage. These rules prevent using HTML `<head>` elements and importing head-related functionality in wrong contexts, but they can cause false positives and confusion in non-Next.js TypeScript projects.
905
-
906
- As a general-purpose TypeScript preset, Adamantite should focus on universal TypeScript and JavaScript best practices rather than framework-specific rules. Projects using Next.js can enable these rules through Biome's Next.js domain configuration when needed.
907
-
908
- ## 0.9.0
909
-
910
- ### Minor Changes
911
-
912
- - 6d7a5a3: Add noUncheckedSideEffectImports to TypeScript preset for enhanced type safety
913
-
914
- The TypeScript preset now includes the `noUncheckedSideEffectImports` compiler option, which helps prevent potential runtime errors from unchecked side effects in imports. Additionally, compiler options in the preset have been reorganized alphabetically for better maintainability.
915
-
916
- ### Patch Changes
917
-
918
- - 3c86461: Update dependencies to latest versions for improved stability and performance
919
- - Update Biome from 2.2.2 to 2.2.4
920
- - Update commander from 14.0.0 to 14.0.1
921
- - Update nypm from 0.6.1 to 0.6.2
922
- - Update build and development dependencies (tsdown, type-fest, @changesets/cli, @types/bun)
923
-
924
- ## 0.8.0
925
-
926
- ### Minor Changes
927
-
928
- - b8ed24b: Rename CLI commands for clearer intent: `lint` → `check` and `format` → `fix`
929
-
930
- **Breaking Changes:**
931
-
932
- - The `lint` command is now `check` and only reports issues (no auto-fixing)
933
- - The `format` command is now `fix` and applies formatting and lint fixes
934
- - Update your scripts and workflows to use the new command names
935
-
936
- **Migration:**
937
-
938
- - Replace `adamantite lint` with `adamantite check` (for checking only)
939
- - Replace `adamantite format` with `adamantite fix` (for fixing issues)
940
-
941
- ## 0.7.2
942
-
943
- ### Patch Changes
944
-
945
- - dfa0225: Update Biome to v2.2.2 for improved linting and formatting
946
-
947
- ## 0.7.1
948
-
949
- ### Patch Changes
950
-
951
- - 9793d28: Refactor dependency management to use nypm API and improve update command reliability
952
- - Replace custom `runProcess` utility with nypm's `dlxCommand` and `addDevDependency` functions
953
- - Improve package manager detection using nypm's built-in detection instead of manual lock file checking
954
- - Update all command files to use consistent error handling and execution patterns
955
- - Remove unused utilities and corresponding test cases
956
- - Fix update command error handling to use Promise.allSettled() instead of sequential await in loops
957
- - Enhance update command to attempt all dependency updates and report detailed success/failure status
958
- - Improve TypeScript compatibility and resolve linter warnings in update command
959
- - Add nypm as a dependency to enable more robust package manager operations
960
-
961
- ## 0.7.0
962
-
963
- ### Minor Changes
964
-
965
- - a6a1853: Add `ci` command for continuous integration workflows with enhanced reporter options.
966
-
967
- ## CLI Enhancements
968
- - **Added**: `ci` command for running Biome CI checks in continuous integration environments
969
- - **Added**: `--github` flag to the `ci` command for GitHub Actions reporter output
970
- - **Added**: `--monorepo` flag to the `ci` command for additional monorepo-specific checks using Sherif
971
- - **Refactored**: Command option handling to use consistent destructured options pattern across all commands
972
-
973
- This update adds CI-specific functionality optimized for automated environments while maintaining compatibility with existing lint and format commands.
974
-
975
- ## 0.6.0
976
-
977
- ### Minor Changes
978
-
979
- - 427b34f: Comprehensive update to Biome configuration rules with stricter linting and formatting standards.
980
-
981
- ## Rule Changes
982
-
983
- ### A11y Section
984
- - **Added**: `noAutofocus` - error (previously off)
985
- - **Added**: `noNoninteractiveElementInteractions` - error
986
- - **Reorganized**: Better organization with JavaScript and CSS subsections
987
- - **Removed**: Verbose rule comments for cleaner configuration
988
-
989
- ### Complexity Section
990
- - **Added 25+ new rules** including:
991
- - `noExtraBooleanCast` - error
992
- - `noStaticOnlyClass` - error
993
- - `noThisInStatic` - error
994
- - `noUselessContinue` - error
995
- - `noUselessEmptyExport` - error
996
- - `noUselessEscapeInRegex` - error
997
- - `noUselessFragments` - error
998
- - `noUselessLabel` - error
999
- - `noUselessLoneBlockStatements` - error
1000
- - `noUselessRename` - error
1001
- - `noUselessStringConcat` - error
1002
- - `noUselessStringRaw` - error
1003
- - `noUselessSwitchCase` - error
1004
- - `noUselessTernary` - error
1005
- - `noUselessThisAlias` - error
1006
- - `noUselessTypeConstraint` - error
1007
- - `noUselessUndefinedInitialization` - error
1008
- - `useArrowFunction` - error
1009
- - `useDateNow` - error
1010
- - `useFlatMap` - error
1011
- - `useLiteralKeys` - error
1012
- - `useNumericLiterals` - error
1013
- - `useOptionalChain` - error
1014
- - `useRegexLiterals` - error
1015
- - `useSimpleNumberKeys` - error
1016
- - **Changed**: `maxAllowedComplexity` increased from 18 to 20
1017
-
1018
- ### Correctness Section
1019
- - **Added**: `noGlobalDirnameFilename` - error
1020
- - **Added**: `noNestedComponentDefinitions` - error
1021
- - **Added**: `noProcessGlobal` - off
1022
- - **Added**: `useJsonImportAttributes` - error
1023
- - **Added**: `useParseIntRadix` - error
1024
- - **Added**: `useSingleJsDocAsterisk` - error
1025
- - **Added**: `useUniqueElementIds` - error (previously off)
1026
- - **Added**: `noReactPropAssignments` - error
1027
- - **Added**: `noRestrictedElements` - error
1028
- - **Removed**: `noUndeclaredDependencies` - off
1029
- - **Removed**: `useImportExtensions` - off
1030
-
1031
- ### Nursery Section
1032
- - **Enabled previously disabled rules**:
1033
- - `noFloatingPromises` - error (was off)
1034
- - `noMisusedPromises` - error (was off)
1035
- - **Added**: `noNonNullAssertedOptionalChain` - error
1036
- - **Added**: `noUnnecessaryConditions` - error
1037
- - **Added**: `useReactFunctionComponents` - error
1038
- - **Added**: `useAnchorHref` - error
1039
- - **Removed**: `useExplicitType` - off
1040
- - **Removed**: `noSecrets` - off
1041
- - **Removed**: `noImportCycles` - off
1042
-
1043
- ### Performance Section
1044
- - **Removed**: `noBarrelFile` - off
1045
- - **Removed**: `noImgElement` - error
1046
- - **Removed**: `noNamespaceImport` - off
1047
- - **Removed**: `noReExportAll` - off
1048
-
1049
- ### Style Section
1050
- - **Added**: `useConsistentObjectDefinitions` - error
1051
- - **Added**: `useExportsLast` - error (was off)
1052
- - **Added**: `useGroupedAccessorPairs` - error
1053
- - **Added**: `useNumericSeparators` - error
1054
- - **Added**: `useObjectSpread` - error
1055
- - **Added**: `useSymbolDescription` - error
1056
- - **Changed**: `useExplicitLengthCheck` - error (was off)
1057
- - **Changed**: `useSingleVarDeclarator` - error (was off)
1058
- - **Removed**: `noCommonJs` - off
1059
- - **Removed**: `noDefaultExport` - off
1060
- - **Removed**: `noNestedTernary` - off
1061
- - **Removed**: `noProcessEnv` - off
1062
- - **Removed**: `useComponentExportOnlyModules` - off
1063
-
1064
- ### Suspicious Section
1065
- - **Added**: `noBitwiseOperators` - error
1066
- - **Added**: `noConstantBinaryExpressions` - error
1067
- - **Added**: `noTsIgnore` - error
1068
- - **Added**: `noUselessEscapeInString` - error
1069
- - **Added**: `noUselessRegexBackrefs` - error
1070
- - **Added**: `useIterableCallbackReturn` - error
1071
- - **Added**: `useStaticResponseMethods` - error
1072
- - **Added**: `noBiomeFirstException` - error
1073
- - **Added**: `noQuickfixBiome` - error
1074
-
1075
- ## CLI Enhancements
1076
- - **Added**: `--summary` flag to the `lint` command for concise lint result reporting using Biome's summary reporter
1077
-
1078
- This update significantly strengthens the linting rules with a focus on code quality, consistency, and best practices while maintaining TypeScript and React compatibility.
1079
-
1080
- ### Patch Changes
1081
-
1082
- - 6922455: remove noBarrelFile rule
1083
-
1084
- ## 0.5.1
1085
-
1086
- ### Patch Changes
1087
-
1088
- - d0f9127: Update Biome version from 2.1.4 to 2.2.0
1089
- - Updated package dependency and configuration schema
1090
- - Migrated renamed rules to new naming conventions
1091
- - Moved promoted rules from nursery to stable groups:
1092
- - `noAwaitInLoops` moved to performance group
1093
- - `noUselessRegexBackrefs` moved to suspicious group
1094
- - Added new rules:
1095
- - `noBarrelFile`
1096
-
1097
- ## 0.5.0
1098
-
1099
- ### Minor Changes
1100
-
1101
- - ee92238: Add `update` command to keep dependencies in sync
1102
-
1103
- Adds a new `adamantite update` command that updates installed dependencies (@biomejs/biome and sherif) to match the versions specified by adamantite. The command automatically detects the package manager, compares versions, and updates only outdated packages with user confirmation.
1104
-
1105
- ## 0.4.1
1106
-
1107
- ### Patch Changes
1108
-
1109
- - 97afed7: Fix init command and improve codebase maintainability
1110
- - **Fix init command crash**: Removed getBiomeVersion function that was causing "Failed to get Biome version" errors when users didn't have Biome installed yet
1111
- - **Improved helpers architecture**:
1112
- - Made version property optional for non-package helpers (tsconfig, vscode)
1113
- - Only biome and sherif helpers now have versions (actual npm packages)
1114
- - Moved package versions into respective helper objects for better organization
1115
- - **Enhanced helper functionality**:
1116
- - Fixed vscode helper to properly create .vscode directory
1117
- - Updated config merging to prioritize adamantite settings over existing user configs
1118
- - Added comprehensive integration tests with temporary directory isolation
1119
- - **Code cleanup**:
1120
- - Removed unused utility functions (isPackageInstalled, getInstalledPackageVersion, isPackageVersionCorrect)
1121
- - Consolidated all test files into **tests** directory
1122
- - Removed 335+ lines of unused code and tests
1123
- - **Improved test organization**:
1124
- - Added semantic test descriptions explaining what and why we're testing
1125
- - Created separate integration tests for file operations
1126
- - Better test structure with nested describe blocks
1127
-
1128
- ## 0.4.0
1129
-
1130
- ### Minor Changes
1131
-
1132
- - c7edd5c: add editor rules for vscode
1133
-
1134
- ### Patch Changes
1135
-
1136
- - 78a93ea: update biome version to 2.1.4
1137
- - d0906c4: pin all versions to exact
1138
- - 9d10cf1: update typescript peer dependency range
1139
- - bdf3962: new title
1140
-
1141
- ## 0.3.4
1142
-
1143
- ### Patch Changes
1144
-
1145
- - 9280e56: remove package.json caching
1146
-
1147
- ## 0.3.3
1148
-
1149
- ### Patch Changes
1150
-
1151
- - 97c8ab3: fix monorepo lint script
1152
-
1153
- ## 0.3.2
1154
-
1155
- ### Patch Changes
1156
-
1157
- - 5f5b8f4: fix `bin` location
1158
-
1159
- ## 0.3.1
1160
-
1161
- ### Patch Changes
1162
-
1163
- - 1af8e2c: add version title to new version PR
1164
-
1165
- ## 0.3.0
1166
-
1167
- ### Minor Changes
1168
-
1169
- - c23ec2e: - Add support for running `sherif` to automatically fix monorepo-specific issues
1170
- - Add support for detecting the package manager and using the correct executable path
1171
-
1172
- ## 0.2.0
1173
-
1174
- ### Minor Changes
1175
-
1176
- - 8d76fbe: Remove unnecessary tsconfig settings
1177
-
1178
- ## 0.1.1
1179
-
1180
- ### Patch Changes
1181
-
1182
- - e82f852: install `adamantite` during `init`
1183
-
1184
- ## 0.1.0
1185
-
1186
- ### Minor Changes
1187
-
1188
- - 801a662: Add `init` script
1189
-
1190
- ## 0.0.6
1191
-
1192
- ### Patch Changes
1193
-
1194
- - 1561814: setup changesets and release workflow