adamantite 0.35.0 → 0.37.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 +1156 -0
- package/README.md +35 -15
- package/dist/index.js +32 -45
- package/dist/presets/analyze.d.ts +5 -3
- package/dist/presets/analyze.js +22 -24
- package/dist/presets/format.d.ts +3 -1
- package/dist/presets/format.js +73 -63
- package/dist/presets/lint/antislop.d.ts +5 -0
- package/dist/presets/lint/antislop.js +28 -0
- package/dist/presets/lint/core.d.ts +17 -1
- package/dist/presets/lint/core.js +511 -481
- package/dist/presets/lint/jest.d.ts +3 -1
- package/dist/presets/lint/jest.js +66 -68
- package/dist/presets/lint/nextjs.d.ts +3 -1
- package/dist/presets/lint/nextjs.js +28 -30
- package/dist/presets/lint/node.d.ts +3 -1
- package/dist/presets/lint/node.js +12 -14
- package/dist/presets/lint/react.d.ts +3 -1
- package/dist/presets/lint/react.js +117 -105
- package/dist/presets/lint/vendor/antislop/license.md +27 -0
- package/dist/presets/lint/vendor/antislop/plugin.d.mts +11 -0
- package/dist/presets/lint/vendor/antislop/plugin.mjs +1629 -0
- package/dist/presets/lint/vitest.d.ts +3 -1
- package/dist/presets/lint/vitest.js +71 -73
- package/dist/presets/lint/vue.d.ts +3 -1
- package/dist/presets/lint/vue.js +50 -52
- package/package.json +25 -22
- package/skills/adamantite/SKILL.md +2 -1
- package/presets/analyze.ts +0 -24
- package/presets/format.ts +0 -63
- package/presets/lint/core.ts +0 -481
- package/presets/lint/jest.ts +0 -68
- package/presets/lint/nextjs.ts +0 -30
- package/presets/lint/node.ts +0 -14
- package/presets/lint/react.ts +0 -105
- package/presets/lint/vitest.ts +0 -73
- package/presets/lint/vue.ts +0 -52
- package/presets/tsconfig.json +0 -28
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,1156 @@
|
|
|
1
|
+
# adamantite
|
|
2
|
+
|
|
3
|
+
## 0.37.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#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
|
|
8
|
+
|
|
9
|
+
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.
|
|
10
|
+
|
|
11
|
+
**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`.
|
|
12
|
+
|
|
13
|
+
- [#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
|
|
14
|
+
|
|
15
|
+
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.
|
|
16
|
+
|
|
17
|
+
## 0.36.0
|
|
18
|
+
|
|
19
|
+
### Minor Changes
|
|
20
|
+
|
|
21
|
+
- [#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.
|
|
22
|
+
|
|
23
|
+
- [#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.
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- [#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.
|
|
28
|
+
|
|
29
|
+
- [#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.
|
|
30
|
+
|
|
31
|
+
## 0.35.0
|
|
32
|
+
|
|
33
|
+
### Minor Changes
|
|
34
|
+
|
|
35
|
+
- [#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.
|
|
36
|
+
|
|
37
|
+
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.
|
|
38
|
+
|
|
39
|
+
- [#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.
|
|
40
|
+
|
|
41
|
+
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.
|
|
42
|
+
|
|
43
|
+
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`.
|
|
44
|
+
|
|
45
|
+
### Patch Changes
|
|
46
|
+
|
|
47
|
+
- [#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.
|
|
48
|
+
|
|
49
|
+
- [#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.
|
|
50
|
+
|
|
51
|
+
- [#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.
|
|
52
|
+
|
|
53
|
+
- [#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.
|
|
54
|
+
|
|
55
|
+
## 0.34.4
|
|
56
|
+
|
|
57
|
+
### Patch Changes
|
|
58
|
+
|
|
59
|
+
- [#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.
|
|
60
|
+
|
|
61
|
+
## 0.34.3
|
|
62
|
+
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- [#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.
|
|
66
|
+
|
|
67
|
+
- [#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.
|
|
68
|
+
|
|
69
|
+
## 0.34.2
|
|
70
|
+
|
|
71
|
+
### Patch Changes
|
|
72
|
+
|
|
73
|
+
- [#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.
|
|
74
|
+
|
|
75
|
+
- [#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.
|
|
76
|
+
|
|
77
|
+
## 0.34.1
|
|
78
|
+
|
|
79
|
+
### Patch Changes
|
|
80
|
+
|
|
81
|
+
- [#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`).
|
|
82
|
+
|
|
83
|
+
## 0.34.0
|
|
84
|
+
|
|
85
|
+
### Minor Changes
|
|
86
|
+
|
|
87
|
+
- [#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 `--`.
|
|
88
|
+
|
|
89
|
+
- [#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.
|
|
90
|
+
|
|
91
|
+
### Patch Changes
|
|
92
|
+
|
|
93
|
+
- [#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.
|
|
94
|
+
|
|
95
|
+
## 0.33.2
|
|
96
|
+
|
|
97
|
+
### Patch Changes
|
|
98
|
+
|
|
99
|
+
- [#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.
|
|
100
|
+
|
|
101
|
+
## 0.33.1
|
|
102
|
+
|
|
103
|
+
### Patch Changes
|
|
104
|
+
|
|
105
|
+
- [#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.
|
|
106
|
+
|
|
107
|
+
## 0.33.0
|
|
108
|
+
|
|
109
|
+
### Minor Changes
|
|
110
|
+
|
|
111
|
+
- [#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.
|
|
112
|
+
|
|
113
|
+
- [#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.
|
|
114
|
+
|
|
115
|
+
- [#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.
|
|
116
|
+
|
|
117
|
+
### Patch Changes
|
|
118
|
+
|
|
119
|
+
- [#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.
|
|
120
|
+
|
|
121
|
+
- [#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.
|
|
122
|
+
|
|
123
|
+
## 0.32.3
|
|
124
|
+
|
|
125
|
+
### Patch Changes
|
|
126
|
+
|
|
127
|
+
- [#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.
|
|
128
|
+
|
|
129
|
+
- [#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.
|
|
130
|
+
|
|
131
|
+
- [#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`.
|
|
132
|
+
|
|
133
|
+
- [#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`).
|
|
134
|
+
|
|
135
|
+
## 0.32.2
|
|
136
|
+
|
|
137
|
+
### Patch Changes
|
|
138
|
+
|
|
139
|
+
- [#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.
|
|
140
|
+
|
|
141
|
+
## 0.32.1
|
|
142
|
+
|
|
143
|
+
### Patch Changes
|
|
144
|
+
|
|
145
|
+
- ed4c2ac: Fix preset declaration types so lint, format, and analyze presets can be extended without leaking readonly literal arrays into consumer configs.
|
|
146
|
+
|
|
147
|
+
## 0.32.0
|
|
148
|
+
|
|
149
|
+
### Minor Changes
|
|
150
|
+
|
|
151
|
+
- a5d54d9: Migrate format and Knip presets from JSON to TypeScript with full type safety
|
|
152
|
+
|
|
153
|
+
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.
|
|
154
|
+
|
|
155
|
+
**Breaking:** Existing JSON-based configs are now legacy formats:
|
|
156
|
+
|
|
157
|
+
- `.oxfmtrc.json` / `.oxfmtrc.jsonc` → `oxfmt.config.ts`
|
|
158
|
+
- `knip.json` / `knip.jsonc` → `knip.config.ts`
|
|
159
|
+
|
|
160
|
+
Run `adamantite update` to migrate automatically. The migration preserves custom overrides and removes the old files.
|
|
161
|
+
|
|
162
|
+
### Patch Changes
|
|
163
|
+
|
|
164
|
+
- f22cdfd: Upgrade the bundled `oxfmt` version to `0.46.0` and enable the new JSDoc formatting option in the Adamantite formatter preset.
|
|
165
|
+
|
|
166
|
+
Upgrade the bundled `oxlint` version to `1.61.0` and update `oxlint-tsgolint` to `0.21.1` to satisfy oxlint's peer dependency requirement.
|
|
167
|
+
|
|
168
|
+
The lint presets now remove these rules:
|
|
169
|
+
|
|
170
|
+
- Core: `comma-dangle`, which is no longer recognized by oxlint
|
|
171
|
+
- Vitest: `vitest/prefer-to-be-truthy` and `vitest/prefer-to-be-falsy`, replaced by exact boolean assertions through `vitest/prefer-strict-boolean-matchers`
|
|
172
|
+
|
|
173
|
+
The lint presets also enable these new rules added in recent oxlint releases:
|
|
174
|
+
|
|
175
|
+
- 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`
|
|
176
|
+
- React: `react/hook-use-state` and `react/prefer-function-component`
|
|
177
|
+
- Jest: `jest/padding-around-after-all-blocks`, `jest/prefer-ending-with-an-expect`, and `jest/valid-expect-in-promise`
|
|
178
|
+
- Vitest: `vitest/prefer-called-exactly-once-with`, `vitest/prefer-strict-boolean-matchers`, `vitest/require-awaited-expect-poll`, and `vitest/require-mock-type-parameters`
|
|
179
|
+
|
|
180
|
+
Upgrade the bundled `knip` version to `6.6.1`. This release range improves framework plugin coverage, config hints, workspace handling, and analysis performance.
|
|
181
|
+
|
|
182
|
+
The analyze preset now explicitly reports unused catalog entries with `catalog: "error"` and unused namespace members with `namespaceMembers: "warn"`.
|
|
183
|
+
|
|
184
|
+
- cda39ae: Update the bundled Knip config for Knip v6 and refresh the bundled linting and formatting tool versions.
|
|
185
|
+
|
|
186
|
+
Newly generated Knip configs now use the v6 schema URLs and drop the removed `classMembers` rule.
|
|
187
|
+
|
|
188
|
+
- 0ae2d85: Rename CI matrix entry from "lint" to "check" for consistency with the `adamantite check` command
|
|
189
|
+
|
|
190
|
+
## 0.31.0
|
|
191
|
+
|
|
192
|
+
### Minor Changes
|
|
193
|
+
|
|
194
|
+
- 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.
|
|
195
|
+
|
|
196
|
+
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.
|
|
197
|
+
|
|
198
|
+
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.
|
|
199
|
+
|
|
200
|
+
### Patch Changes
|
|
201
|
+
|
|
202
|
+
- 5881f82: Adamantite lint presets no longer ship built-in `ignorePatterns` defaults.
|
|
203
|
+
|
|
204
|
+
Projects that still need ignores like `dist`, `.next`, or `node_modules` should define them in their local `oxlint.config.ts`.
|
|
205
|
+
|
|
206
|
+
## 0.30.2
|
|
207
|
+
|
|
208
|
+
### Patch Changes
|
|
209
|
+
|
|
210
|
+
- fa763e4: Update `@clack/prompts` to 1.1.0
|
|
211
|
+
- fa763e4: Fix package exports to point to built artifacts instead of raw TypeScript source
|
|
212
|
+
|
|
213
|
+
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/`.
|
|
214
|
+
|
|
215
|
+
## 0.30.1
|
|
216
|
+
|
|
217
|
+
### Patch Changes
|
|
218
|
+
|
|
219
|
+
- 2d0ba13: Migrate the internal CLI runtime from Effect v3 packages to Effect v4 beta while preserving the existing `adamantite` command surface and preset exports.
|
|
220
|
+
- 132d654: Include `knip` in `adamantite update` dependency checks
|
|
221
|
+
|
|
222
|
+
`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.
|
|
223
|
+
|
|
224
|
+
## 0.30.0
|
|
225
|
+
|
|
226
|
+
### Minor Changes
|
|
227
|
+
|
|
228
|
+
- 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.
|
|
229
|
+
|
|
230
|
+
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`).
|
|
231
|
+
|
|
232
|
+
- 506516c: Migrate lint presets from JSON to TypeScript config modules using oxlint's `defineConfig()`.
|
|
233
|
+
|
|
234
|
+
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.
|
|
235
|
+
|
|
236
|
+
When both `oxlint.config.ts` and `.oxlintrc.json` exist, Adamantite prefers the TypeScript config and warns about the duplicate.
|
|
237
|
+
|
|
238
|
+
### Patch Changes
|
|
239
|
+
|
|
240
|
+
- 2b1f4e1: Allow trailing commas in JSON/JSONC config parsing.
|
|
241
|
+
- 506516c: Improve CLI error reporting when config parsing fails during commands like `adamantite init`.
|
|
242
|
+
|
|
243
|
+
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.
|
|
244
|
+
|
|
245
|
+
- 6a1d09d: Improve CLI error handling with clearer, user-facing messages across command failures.
|
|
246
|
+
|
|
247
|
+
Adds more actionable JSON/JSONC parse diagnostics and centralizes prompt cancellation handling in the prompter service so cancellation behavior is consistent across commands.
|
|
248
|
+
|
|
249
|
+
## 0.29.1
|
|
250
|
+
|
|
251
|
+
### Patch Changes
|
|
252
|
+
|
|
253
|
+
- 00b2ef4: - Bump `oxlint-tsgolint` to `0.14.2`.
|
|
254
|
+
- Include `oxlint-tsgolint` in the `adamantite update` dependency check so it gets updated alongside other Adamantite-managed dev dependencies.
|
|
255
|
+
|
|
256
|
+
## 0.29.0
|
|
257
|
+
|
|
258
|
+
### Minor Changes
|
|
259
|
+
|
|
260
|
+
- 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.
|
|
261
|
+
|
|
262
|
+
### Patch Changes
|
|
263
|
+
|
|
264
|
+
- 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`.
|
|
265
|
+
- 6c869b6: Bump knip to v5.85.0. Includes parser/runtime compatibility fixes, improved Next.js and tsdown handling, and large monorepo memory improvements.
|
|
266
|
+
- 65d6205: Bump `effect` to v3.19.19.
|
|
267
|
+
|
|
268
|
+
## 0.28.1
|
|
269
|
+
|
|
270
|
+
### Patch Changes
|
|
271
|
+
|
|
272
|
+
- 525d5da: Propagate CLI exit codes so CI fails on tool errors.
|
|
273
|
+
|
|
274
|
+
## 0.28.0
|
|
275
|
+
|
|
276
|
+
### Minor Changes
|
|
277
|
+
|
|
278
|
+
- d9210c3: Add Zed editor support
|
|
279
|
+
|
|
280
|
+
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.
|
|
281
|
+
|
|
282
|
+
- a49bd3f: Replace tsgo with standard TypeScript compiler (tsc) for type checking
|
|
283
|
+
|
|
284
|
+
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.
|
|
285
|
+
|
|
286
|
+
## 0.27.4
|
|
287
|
+
|
|
288
|
+
### Patch Changes
|
|
289
|
+
|
|
290
|
+
- fdaa945: Update lint/format/tooling dependencies and align internal version metadata.
|
|
291
|
+
|
|
292
|
+
## 0.27.3
|
|
293
|
+
|
|
294
|
+
### Patch Changes
|
|
295
|
+
|
|
296
|
+
- 8656cbe: Update development dependencies for tooling and type support
|
|
297
|
+
|
|
298
|
+
## 0.27.2
|
|
299
|
+
|
|
300
|
+
### Patch Changes
|
|
301
|
+
|
|
302
|
+
- 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.
|
|
303
|
+
|
|
304
|
+
## 0.27.1
|
|
305
|
+
|
|
306
|
+
### Patch Changes
|
|
307
|
+
|
|
308
|
+
- 787fb7c: Fix `MissingPackageVersion` error when running CLI in packages without a version field
|
|
309
|
+
|
|
310
|
+
## 0.27.0
|
|
311
|
+
|
|
312
|
+
### Minor Changes
|
|
313
|
+
|
|
314
|
+
- 461bbd7: Add new rules from oxlint v1.39.0 and oxfmt v0.24.0:
|
|
315
|
+
|
|
316
|
+
**Core preset (`typescript/`):**
|
|
317
|
+
|
|
318
|
+
- `typescript/prefer-optional-chain` - Prefer using optional chain expressions instead of logical AND chains
|
|
319
|
+
|
|
320
|
+
**Vitest preset:**
|
|
321
|
+
|
|
322
|
+
- `vitest/consistent-each-for` - Enforce consistent usage of `each` for test cases
|
|
323
|
+
- `vitest/hoisted-apis-on-top` - Ensure Vitest hoisted APIs are at the top
|
|
324
|
+
- `vitest/no-unneeded-async-expect-function` - Disallow unnecessary async in expect functions
|
|
325
|
+
- `vitest/prefer-called-once` - Prefer using `toHaveBeenCalledOnce()` over `toHaveBeenCalledTimes(1)`
|
|
326
|
+
- `vitest/prefer-describe-function-title` - Prefer using function names in describe blocks
|
|
327
|
+
|
|
328
|
+
**Vue preset:**
|
|
329
|
+
|
|
330
|
+
- `vue/no-arrow-functions-in-watch` - Disallow arrow functions in watch options
|
|
331
|
+
- `vue/no-lifecycle-after-await` - Disallow lifecycle hooks after await expressions
|
|
332
|
+
|
|
333
|
+
**Notable bug fixes in oxlint v1.39.0:**
|
|
334
|
+
|
|
335
|
+
- Fix workspace worker selection for nested and similar-named workspaces in LSP
|
|
336
|
+
- Fix `consistent-indexed-object-style` false positive with circular references
|
|
337
|
+
- Fix `consistent-indexed-object-style` to skip fixing default exported interfaces
|
|
338
|
+
- Fix `prefer-called-once` panic on trailing comma
|
|
339
|
+
- Fix panic on invalid `no-unused-vars` configuration
|
|
340
|
+
- Move `jsx-a11y/no-static-element-interactions` rule to nursery
|
|
341
|
+
- Fix nested search for binaries in VS Code extension
|
|
342
|
+
|
|
343
|
+
**Notable bug fixes in oxfmt v0.24.0:**
|
|
344
|
+
|
|
345
|
+
- Fix classes being stripped when both `experimentalTailwindcss` and `experimentalSortImports` are enabled
|
|
346
|
+
- Fix nested class strings not respecting `singleQuote: true` in Tailwind CSS
|
|
347
|
+
- Fix class names being broken after sorting when containing single quotes with `singleQuote: true`
|
|
348
|
+
- Fix incorrect type annotation check for short arguments
|
|
349
|
+
- Fix parenthesis wrapping for type assertions in default exports
|
|
350
|
+
|
|
351
|
+
### Patch Changes
|
|
352
|
+
|
|
353
|
+
- ee94947: Update tooling dependencies to latest versions for improved stability and performance.
|
|
354
|
+
|
|
355
|
+
## 0.26.0
|
|
356
|
+
|
|
357
|
+
### Minor Changes
|
|
358
|
+
|
|
359
|
+
- 0663946: Remove support for passing positional file lists to `adamantite analyze`.
|
|
360
|
+
|
|
361
|
+
Use your Knip config (or run `knip` directly) to scope analysis instead.
|
|
362
|
+
|
|
363
|
+
## 0.25.0
|
|
364
|
+
|
|
365
|
+
### Minor Changes
|
|
366
|
+
|
|
367
|
+
- db437e7: Replace Tailwind CSS lint preset with experimental formatting options
|
|
368
|
+
|
|
369
|
+
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.
|
|
370
|
+
|
|
371
|
+
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`.
|
|
372
|
+
|
|
373
|
+
## 0.24.0
|
|
374
|
+
|
|
375
|
+
### Minor Changes
|
|
376
|
+
|
|
377
|
+
- 32c0900: Add Tailwind CSS lint preset via eslint-plugin-better-tailwindcss
|
|
378
|
+
|
|
379
|
+
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).
|
|
380
|
+
|
|
381
|
+
Refactored oxlint helper to support plugin architecture for extensibility.
|
|
382
|
+
|
|
383
|
+
## 0.23.0
|
|
384
|
+
|
|
385
|
+
### Minor Changes
|
|
386
|
+
|
|
387
|
+
- c09d6de: Reorganize preset directory structure and update linting rules
|
|
388
|
+
|
|
389
|
+
**Breaking Changes:**
|
|
390
|
+
|
|
391
|
+
- Renamed `presets/oxfmt.json` → `presets/format.json`
|
|
392
|
+
- Renamed `presets/oxlint/` → `presets/lint/`
|
|
393
|
+
- Removed 8 linting rules from core preset:
|
|
394
|
+
- `import/export` - Duplicate export detection (now handled by TypeScript)
|
|
395
|
+
- `import/no-named-as-default` - Named import conflicts (now handled by TypeScript)
|
|
396
|
+
- `import/no-named-as-default-member` - Member access on default export (now handled by TypeScript)
|
|
397
|
+
- `new-cap` - Constructor capitalization (stylistic preference)
|
|
398
|
+
- `typescript/only-throw-error` - Enforce throwing Error objects (too restrictive)
|
|
399
|
+
- `unicorn/no-anonymous-default-export` - Require named exports (too opinionated)
|
|
400
|
+
- `unicorn/no-array-for-each` - Prefer for-of over forEach (stylistic preference)
|
|
401
|
+
- `unicorn/prefer-string-raw` - Use String.raw for template literals (too aggressive)
|
|
402
|
+
- Added 1 new linting rule:
|
|
403
|
+
- `sort-keys` - Enforce sorted object keys for consistency
|
|
404
|
+
|
|
405
|
+
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.
|
|
406
|
+
|
|
407
|
+
**Also includes:**
|
|
408
|
+
|
|
409
|
+
- Update oxlint to 1.37.0 (from 1.36.0)
|
|
410
|
+
- Update oxfmt to 0.22.0 (from 0.21.0)
|
|
411
|
+
- Update knip to 5.80.0 (from 5.79.0)
|
|
412
|
+
- Enable type-aware linting in VSCode settings
|
|
413
|
+
|
|
414
|
+
## 0.22.1
|
|
415
|
+
|
|
416
|
+
### Patch Changes
|
|
417
|
+
|
|
418
|
+
- 278b75b: Improve dependency installation performance by batching packages
|
|
419
|
+
|
|
420
|
+
Install and update commands now install multiple dependencies in a single package manager call instead of sequentially, reducing total installation time.
|
|
421
|
+
|
|
422
|
+
## 0.22.0
|
|
423
|
+
|
|
424
|
+
### Minor Changes
|
|
425
|
+
|
|
426
|
+
- 15f55ba: Add knip preset for dependency analysis
|
|
427
|
+
|
|
428
|
+
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.
|
|
429
|
+
|
|
430
|
+
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).
|
|
431
|
+
|
|
432
|
+
Also updates oxlint core rules to allow tagged templates and ternaries in expressions.
|
|
433
|
+
|
|
434
|
+
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.
|
|
435
|
+
|
|
436
|
+
## 0.21.0
|
|
437
|
+
|
|
438
|
+
### Minor Changes
|
|
439
|
+
|
|
440
|
+
- e29fd96: Add `analyze` command for finding unused code with knip
|
|
441
|
+
|
|
442
|
+
Finds unused dependencies, exports, and files in your project. Supports `--fix` to auto-remove issues and `--strict` for production-focused analysis.
|
|
443
|
+
|
|
444
|
+
## 0.20.0
|
|
445
|
+
|
|
446
|
+
### Minor Changes
|
|
447
|
+
|
|
448
|
+
- 5849d6c: Add automatic editor extension installation during setup
|
|
449
|
+
|
|
450
|
+
The `init` command now prompts to install recommended editor extensions (like oxc.oxc-vscode) automatically, improving the initial setup experience.
|
|
451
|
+
|
|
452
|
+
## 0.19.0
|
|
453
|
+
|
|
454
|
+
### Minor Changes
|
|
455
|
+
|
|
456
|
+
- fa77059: Add tsgo (TypeScript Go) as type checker
|
|
457
|
+
|
|
458
|
+
The `typecheck` command now uses `tsgo` instead of `tsc` for faster type checking. During initialization, `@typescript/native-preview` is installed instead of `typescript`.
|
|
459
|
+
|
|
460
|
+
### Patch Changes
|
|
461
|
+
|
|
462
|
+
- 00fe130: Add framework preset selection to init command
|
|
463
|
+
|
|
464
|
+
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.
|
|
465
|
+
|
|
466
|
+
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`).
|
|
467
|
+
|
|
468
|
+
## 0.18.0
|
|
469
|
+
|
|
470
|
+
### Minor Changes
|
|
471
|
+
|
|
472
|
+
- b0ccb57: Replace Biome with oxlint and oxfmt for linting and formatting
|
|
473
|
+
|
|
474
|
+
**Breaking changes:**
|
|
475
|
+
|
|
476
|
+
- `biome.jsonc` is no longer supported - use `.oxlintrc.json` and `.oxfmtrc.jsonc` instead
|
|
477
|
+
- Configuration now extends `adamantite/lint` (oxlint) and uses oxfmt for formatting
|
|
478
|
+
- Biome must be uninstalled - `oxlint` and `oxfmt` are the new peer dependencies
|
|
479
|
+
- CLI commands (`check`, `fix`, `format`) now use oxlint/oxfmt instead of Biome
|
|
480
|
+
|
|
481
|
+
**New features:**
|
|
482
|
+
|
|
483
|
+
- Modular oxlint presets: `core`, `react`, and `next` configurations
|
|
484
|
+
- 500+ linting rules (up from 200+ with Biome)
|
|
485
|
+
- 10-40x faster linting performance
|
|
486
|
+
- Separate formatting configuration via oxfmt
|
|
487
|
+
|
|
488
|
+
Run `adamantite update` to migrate existing projects automatically.
|
|
489
|
+
|
|
490
|
+
- 6a43df7: Add `typecheck` command to run TypeScript type checking
|
|
491
|
+
|
|
492
|
+
Runs `tsc --noEmit` to check for type errors. Supports `--project` flag to specify custom tsconfig path and `--watch` flag for continuous type checking.
|
|
493
|
+
|
|
494
|
+
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.
|
|
495
|
+
|
|
496
|
+
## 0.17.0
|
|
497
|
+
|
|
498
|
+
### Minor Changes
|
|
499
|
+
|
|
500
|
+
- f929f82: Add optional GitHub Actions workflow setup during init
|
|
501
|
+
- Added a new prompt during `adamantite init` to optionally create a GitHub Actions workflow
|
|
502
|
+
- The workflow runs all enabled check scripts (check, format, typecheck, check:monorepo)
|
|
503
|
+
- Automatically uses the detected package manager (npm, yarn, pnpm, or bun) with the correct setup steps
|
|
504
|
+
- Creates `.github/workflows/adamantite.yml` with proper caching and concurrency settings
|
|
505
|
+
- Removed the `ci` command in favor of the generated workflow approach
|
|
506
|
+
|
|
507
|
+
## 0.16.0
|
|
508
|
+
|
|
509
|
+
### Minor Changes
|
|
510
|
+
|
|
511
|
+
- 18abadb: Add TypeScript checking option and improve preset export naming
|
|
512
|
+
|
|
513
|
+
**Breaking Change:**
|
|
514
|
+
|
|
515
|
+
- **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
|
|
516
|
+
|
|
517
|
+
**New Features:**
|
|
518
|
+
|
|
519
|
+
- **TypeScript checking option**: The `init` command now includes a `typecheck` script option that runs `tsc --noEmit` for type-checking without emitting files
|
|
520
|
+
- **Conditional TypeScript installation**: TypeScript is now only installed as a dependency when the `typecheck` option is selected, reducing unnecessary dependencies
|
|
521
|
+
- **Enhanced init flow**: Users can now choose to include TypeScript type-checking as part of their development workflow during initialization
|
|
522
|
+
|
|
523
|
+
**Migration:**
|
|
524
|
+
|
|
525
|
+
If you're currently using the TypeScript preset, update your `tsconfig.json`:
|
|
526
|
+
|
|
527
|
+
```diff
|
|
528
|
+
{
|
|
529
|
+
- "extends": "adamantite/tsconfig"
|
|
530
|
+
+ "extends": "adamantite/typescript"
|
|
531
|
+
}
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
## 0.15.0
|
|
535
|
+
|
|
536
|
+
### Minor Changes
|
|
537
|
+
|
|
538
|
+
- 4f94699: Add `format` command powered by oxfmt
|
|
539
|
+
|
|
540
|
+
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:
|
|
541
|
+
|
|
542
|
+
- 100 character line width
|
|
543
|
+
- 2 space indentation
|
|
544
|
+
- No semicolons
|
|
545
|
+
- Sorted imports with customizable grouping
|
|
546
|
+
- Trailing commas for ES5 compatibility
|
|
547
|
+
|
|
548
|
+
Configuration is automatically generated when running `adamantite init` or `adamantite update`. VSCode settings are updated to use oxc-vscode extension as the default formatter.
|
|
549
|
+
|
|
550
|
+
- 69cb0be: Improve `init` and `monorepo` commands with better UX
|
|
551
|
+
|
|
552
|
+
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.
|
|
553
|
+
|
|
554
|
+
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.
|
|
555
|
+
|
|
556
|
+
### Patch Changes
|
|
557
|
+
|
|
558
|
+
- ded7779: Update faultier dependency to improve error handling and CLI output
|
|
559
|
+
|
|
560
|
+
## 0.14.2
|
|
561
|
+
|
|
562
|
+
### Patch Changes
|
|
563
|
+
|
|
564
|
+
- 1cd1eea: Improve error handling and refactor CLI commands for consistency
|
|
565
|
+
|
|
566
|
+
**Error Handling Improvements:**
|
|
567
|
+
|
|
568
|
+
- Enhanced error logging for package manager detection failures across all CLI commands
|
|
569
|
+
- Improved user cancellation handling in interactive prompts (`init`, `update`)
|
|
570
|
+
- Commands now display clearer error messages when operations fail, making troubleshooting easier
|
|
571
|
+
|
|
572
|
+
**Refactoring:**
|
|
573
|
+
|
|
574
|
+
- Refactored all CLI commands (`check`, `ci`, `fix`, `monorepo`, `init`, `update`) to use `.match()` method on `safeTry` results for consistent error handling pattern
|
|
575
|
+
- Standardized error handling across the codebase, improving maintainability and readability
|
|
576
|
+
- Cleaned up unnecessary intermediate variable assignments in `init` command
|
|
577
|
+
|
|
578
|
+
**Type Improvements:**
|
|
579
|
+
|
|
580
|
+
- Updated `types.ts` with more precise type definitions, using `never` for empty error data and optional properties where appropriate
|
|
581
|
+
|
|
582
|
+
## 0.14.1
|
|
583
|
+
|
|
584
|
+
### Patch Changes
|
|
585
|
+
|
|
586
|
+
- f2a9cd1: Migrate build tool from tsdown to bunup
|
|
587
|
+
|
|
588
|
+
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.
|
|
589
|
+
|
|
590
|
+
- 9c4ba8c: Improve error handling across CLI commands
|
|
591
|
+
|
|
592
|
+
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.
|
|
593
|
+
|
|
594
|
+
## 0.14.0
|
|
595
|
+
|
|
596
|
+
### Minor Changes
|
|
597
|
+
|
|
598
|
+
- a3edadb: Improve Biome preset defaults and refactor internal error handling
|
|
599
|
+
|
|
600
|
+
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.
|
|
601
|
+
|
|
602
|
+
**Biome Preset Updates:**
|
|
603
|
+
|
|
604
|
+
- **Increased line width** from 80 to 100 characters for better readability on modern displays
|
|
605
|
+
- **Relaxed cognitive complexity** rule from error to warning level and increased threshold from 20 to 40 for more pragmatic complexity checks
|
|
606
|
+
- These changes will affect formatting and linting output but can be overridden in your local `biome.jsonc` configuration
|
|
607
|
+
|
|
608
|
+
**Internal Refactoring:**
|
|
609
|
+
|
|
610
|
+
- **Result-based error handling**: Introduced `neverthrow` library for type-safe error handling across all commands, replacing try-catch patterns with composable Result types
|
|
611
|
+
- **Improved error messages**: All commands now provide better error context using structured error flattening
|
|
612
|
+
- **Modular helper organization**: Restructured helper functions from monolithic file into organized modules:
|
|
613
|
+
- `src/helpers/editors/vscode.ts` - VSCode configuration
|
|
614
|
+
- `src/helpers/packages/biome.ts` - Biome package management
|
|
615
|
+
- `src/helpers/packages/sherif.ts` - Sherif package management
|
|
616
|
+
- `src/helpers/tsconfig.ts` - TypeScript configuration
|
|
617
|
+
- **Relocated preset files** from `src/presets/` to `presets/` directory (package exports unchanged - users are unaffected)
|
|
618
|
+
|
|
619
|
+
**Dependencies:**
|
|
620
|
+
|
|
621
|
+
- Added `neverthrow@8.2.0` for Result type handling
|
|
622
|
+
- Added `faultier@^1.0.3` for error utilities
|
|
623
|
+
- Moved `yargs` from devDependencies to dependencies
|
|
624
|
+
|
|
625
|
+
## 0.13.2
|
|
626
|
+
|
|
627
|
+
### Patch Changes
|
|
628
|
+
|
|
629
|
+
- 00b3f0c: Refactor CLI framework from citty to yargs for improved command parsing
|
|
630
|
+
|
|
631
|
+
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.
|
|
632
|
+
|
|
633
|
+
**Technical changes:**
|
|
634
|
+
|
|
635
|
+
- Migrated all command handlers from citty's `defineCommand` to yargs command modules
|
|
636
|
+
- Added `#*` import maps in package.json pointing to `./src/*` for path-based imports
|
|
637
|
+
- Updated all internal imports to use `#commands/*` and `#utils.ts` syntax
|
|
638
|
+
- Added yargs and @types/yargs dependencies (replacing citty)
|
|
639
|
+
- Configured TypeScript with `allowImportingTsExtensions` and `noEmit` for import map support
|
|
640
|
+
- Updated tsdown config to target node platform explicitly
|
|
641
|
+
|
|
642
|
+
All CLI commands maintain their existing behavior and user-facing API.
|
|
643
|
+
|
|
644
|
+
## 0.13.1
|
|
645
|
+
|
|
646
|
+
### Patch Changes
|
|
647
|
+
|
|
648
|
+
- c34d925: Update dependency versions to fix test failures
|
|
649
|
+
|
|
650
|
+
**Updated Dependencies:**
|
|
651
|
+
|
|
652
|
+
Development dependencies:
|
|
653
|
+
|
|
654
|
+
- `@biomejs/biome` from 2.3.8 to 2.3.10
|
|
655
|
+
- `@types/bun` from 1.3.3 to 1.3.5
|
|
656
|
+
- `tsdown` from 0.17.0-beta.4 to 0.18.1
|
|
657
|
+
- `type-fest` from 5.2.0 to 5.3.1
|
|
658
|
+
|
|
659
|
+
Peer dependencies:
|
|
660
|
+
|
|
661
|
+
- `@biomejs/biome` from 2.3.8 to 2.3.10
|
|
662
|
+
|
|
663
|
+
**Internal Changes:**
|
|
664
|
+
|
|
665
|
+
- Updated hardcoded `biome.version` in helpers from 2.3.2 to 2.3.10 to match installed package
|
|
666
|
+
- Updated hardcoded `sherif.version` in helpers from 1.7.0 to 1.9.0 to match installed package
|
|
667
|
+
|
|
668
|
+
These changes ensure version consistency between hardcoded references in the codebase and actual installed dependencies, resolving test failures that check for version alignment.
|
|
669
|
+
|
|
670
|
+
- 89f6f83: Add self-referencing dependency and update development tooling
|
|
671
|
+
|
|
672
|
+
**New Features:**
|
|
673
|
+
|
|
674
|
+
- Added `adamantite` as a dependency to enable dogfooding and self-testing of the package configuration
|
|
675
|
+
|
|
676
|
+
**Updated Dependencies:**
|
|
677
|
+
|
|
678
|
+
Development dependencies:
|
|
679
|
+
|
|
680
|
+
- `sherif` from 1.7.0 to 1.7.1
|
|
681
|
+
- `tsdown` from 0.15.11 to 0.15.12
|
|
682
|
+
|
|
683
|
+
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.
|
|
684
|
+
|
|
685
|
+
- d354b60: Update development dependencies and Biome peer dependency to latest versions
|
|
686
|
+
|
|
687
|
+
**Updated Dependencies:**
|
|
688
|
+
|
|
689
|
+
Development dependencies:
|
|
690
|
+
|
|
691
|
+
- `@biomejs/biome` from 2.3.2 to 2.3.8
|
|
692
|
+
- `@changesets/cli` from 2.29.7 to 2.29.8
|
|
693
|
+
- `@types/bun` from 1.3.1 to 1.3.3
|
|
694
|
+
- `sherif` from 1.7.1 to 1.9.0
|
|
695
|
+
- `tsdown` from 0.15.12 to 0.17.0-beta.4
|
|
696
|
+
- `type-fest` from 5.1.0 to 5.2.0
|
|
697
|
+
|
|
698
|
+
Peer dependencies:
|
|
699
|
+
|
|
700
|
+
- `@biomejs/biome` from 2.3.2 to 2.3.8
|
|
701
|
+
|
|
702
|
+
Package manager:
|
|
703
|
+
|
|
704
|
+
- `bun` from 1.2.20 to 1.3.3
|
|
705
|
+
|
|
706
|
+
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.
|
|
707
|
+
|
|
708
|
+
## 0.13.0
|
|
709
|
+
|
|
710
|
+
### Minor Changes
|
|
711
|
+
|
|
712
|
+
- 073c7a8: Update Biome to 2.3.2 and enable script/style tag indentation
|
|
713
|
+
|
|
714
|
+
**Updated Dependencies:**
|
|
715
|
+
|
|
716
|
+
Core dependencies:
|
|
717
|
+
|
|
718
|
+
- `@biomejs/biome` from 2.3.0 to 2.3.2
|
|
719
|
+
|
|
720
|
+
Development dependencies:
|
|
721
|
+
|
|
722
|
+
- `tsdown` from 0.15.9 to 0.15.11
|
|
723
|
+
|
|
724
|
+
**Configuration Changes:**
|
|
725
|
+
|
|
726
|
+
- **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.
|
|
727
|
+
|
|
728
|
+
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.
|
|
729
|
+
|
|
730
|
+
## 0.12.0
|
|
731
|
+
|
|
732
|
+
### Minor Changes
|
|
733
|
+
|
|
734
|
+
- 0b1598e: Update Biome to 2.3.0 and improve configuration defaults
|
|
735
|
+
|
|
736
|
+
**Updated Dependencies:**
|
|
737
|
+
|
|
738
|
+
Core dependencies:
|
|
739
|
+
|
|
740
|
+
- `@biomejs/biome` from 2.2.6 to 2.3.0
|
|
741
|
+
|
|
742
|
+
Development dependencies:
|
|
743
|
+
|
|
744
|
+
- `@types/bun` from 1.3.0 to 1.3.1
|
|
745
|
+
- `sherif` from 1.6.1 to 1.7.0
|
|
746
|
+
- `tsdown` from 0.15.7 to 0.15.9
|
|
747
|
+
|
|
748
|
+
**Configuration Changes:**
|
|
749
|
+
|
|
750
|
+
- **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.
|
|
751
|
+
- **New rule**: Added `useImageSize` rule (set to `"error"`) to enforce width and height attributes on image elements for improved performance and layout stability.
|
|
752
|
+
|
|
753
|
+
**Development Environment:**
|
|
754
|
+
|
|
755
|
+
- VSCode settings updated to use Biome as the default formatter
|
|
756
|
+
- Added `test/` directory for future test infrastructure
|
|
757
|
+
|
|
758
|
+
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.
|
|
759
|
+
|
|
760
|
+
## 0.11.1
|
|
761
|
+
|
|
762
|
+
### Patch Changes
|
|
763
|
+
|
|
764
|
+
- 3121c4e: Update development dependencies to their latest versions
|
|
765
|
+
|
|
766
|
+
Updated the following devDependencies:
|
|
767
|
+
|
|
768
|
+
- `@biomejs/biome` from 2.2.5 to 2.2.6
|
|
769
|
+
- `@types/bun` from 1.2.23 to 1.3.0
|
|
770
|
+
- `tsdown` from 0.15.6 to 0.15.7
|
|
771
|
+
- `type-fest` from 5.0.1 to 5.1.0
|
|
772
|
+
|
|
773
|
+
These updates include minor improvements and bug fixes from the upstream packages.
|
|
774
|
+
|
|
775
|
+
## 0.11.0
|
|
776
|
+
|
|
777
|
+
### Minor Changes
|
|
778
|
+
|
|
779
|
+
- 4df55ba: Restructure Biome configuration to use extends pattern and move presets to src directory
|
|
780
|
+
|
|
781
|
+
**Breaking Changes:**
|
|
782
|
+
|
|
783
|
+
The package structure has been reorganized to consolidate presets in the `src/presets` directory and adopt a more maintainable configuration pattern:
|
|
784
|
+
|
|
785
|
+
- **Biome configuration**: The root `biome.jsonc` now extends from `src/presets/biome.jsonc` instead of containing the full configuration inline
|
|
786
|
+
- **TypeScript preset**: Moved from `presets/tsconfig.json` to `src/presets/tsconfig.json` for consistency
|
|
787
|
+
- **Package exports**: Added clean export paths via package.json exports field:
|
|
788
|
+
- `adamantite` → Biome configuration (default export)
|
|
789
|
+
- `adamantite/biome` → Biome configuration (explicit)
|
|
790
|
+
- `adamantite/tsconfig` → TypeScript configuration (new clean path)
|
|
791
|
+
- `adamantite/presets/*` → Direct preset access (fallback)
|
|
792
|
+
- **Schema references**: Updated to use local Biome schema paths (`./node_modules/@biomejs/biome/configuration_schema.json`) instead of remote URLs
|
|
793
|
+
- **TypeScript preset**: Removed `verbatimModuleSyntax` setting to improve compatibility with both ESM and CommonJS projects
|
|
794
|
+
|
|
795
|
+
**Migration:**
|
|
796
|
+
|
|
797
|
+
If you're importing Adamantite's Biome configuration:
|
|
798
|
+
|
|
799
|
+
- Update imports from `adamantite/biome.jsonc` to `adamantite` (the package main export)
|
|
800
|
+
- If extending the TypeScript preset, update the path from `adamantite/presets/tsconfig.json` to `adamantite/tsconfig`
|
|
801
|
+
- If your project relies on `verbatimModuleSyntax`, add it to your local tsconfig.json as it's no longer included in the preset
|
|
802
|
+
|
|
803
|
+
**Internal improvements:**
|
|
804
|
+
|
|
805
|
+
- Tests now validate local schema paths instead of remote URL formats, improving offline development experience
|
|
806
|
+
- Configuration structure better aligns with modern preset patterns using `extends`
|
|
807
|
+
|
|
808
|
+
## 0.10.0
|
|
809
|
+
|
|
810
|
+
### Minor Changes
|
|
811
|
+
|
|
812
|
+
- f975e73: /
|
|
813
|
+
|
|
814
|
+
## 0.9.5
|
|
815
|
+
|
|
816
|
+
### Patch Changes
|
|
817
|
+
|
|
818
|
+
- 1aa1ba2: Enhanced `useFilenamingConvention` rule to support special characters in filenames
|
|
819
|
+
|
|
820
|
+
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.
|
|
821
|
+
|
|
822
|
+
## 0.9.4
|
|
823
|
+
|
|
824
|
+
### Patch Changes
|
|
825
|
+
|
|
826
|
+
- cd272f9: Allow non-ASCII characters in filenames by setting `requireAscii: false` in the `useFilenameConvention` rule
|
|
827
|
+
|
|
828
|
+
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.
|
|
829
|
+
|
|
830
|
+
## 0.9.3
|
|
831
|
+
|
|
832
|
+
### Patch Changes
|
|
833
|
+
|
|
834
|
+
- 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.
|
|
835
|
+
|
|
836
|
+
Key improvements:
|
|
837
|
+
|
|
838
|
+
- **Better type safety**: Commands are now defined using `defineCommand()` with fully typed argument definitions
|
|
839
|
+
- **Declarative API**: Command metadata, arguments, and handlers are defined in a single, clear structure rather than chained method calls
|
|
840
|
+
- **Improved DX**: Arguments are automatically parsed and typed, with built-in support for positional arguments, boolean flags, and command metadata
|
|
841
|
+
- **UnJS ecosystem**: citty is part of the UnJS ecosystem, providing better compatibility with other modern JavaScript tooling and conventions
|
|
842
|
+
|
|
843
|
+
- 67d8ea3: Update development dependencies and TypeScript peer dependency requirement
|
|
844
|
+
|
|
845
|
+
- Update tsdown from 0.15.2 to 0.15.6 for improved build performance and bug fixes
|
|
846
|
+
- Update type-fest from 5.0.0 to 5.0.1 for latest type utilities
|
|
847
|
+
- Update TypeScript from 5.9.2 to 5.9.3 for latest compiler improvements
|
|
848
|
+
- Update TypeScript peer dependency to >=5.6.0 (required for noUncheckedSideEffectImports compiler option)
|
|
849
|
+
|
|
850
|
+
This ensures compatibility with the TypeScript preset's `noUncheckedSideEffectImports` option which requires TypeScript 5.6 or higher.
|
|
851
|
+
|
|
852
|
+
## 0.9.2
|
|
853
|
+
|
|
854
|
+
### Patch Changes
|
|
855
|
+
|
|
856
|
+
- 590dbfd: Relax filename convention rules in Biome configuration
|
|
857
|
+
|
|
858
|
+
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.
|
|
859
|
+
|
|
860
|
+
## 0.9.1
|
|
861
|
+
|
|
862
|
+
### Patch Changes
|
|
863
|
+
|
|
864
|
+
- 16eef0d: Remove Next.js-specific Biome rules from general-purpose TypeScript preset
|
|
865
|
+
|
|
866
|
+
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.
|
|
867
|
+
|
|
868
|
+
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.
|
|
869
|
+
|
|
870
|
+
## 0.9.0
|
|
871
|
+
|
|
872
|
+
### Minor Changes
|
|
873
|
+
|
|
874
|
+
- 6d7a5a3: Add noUncheckedSideEffectImports to TypeScript preset for enhanced type safety
|
|
875
|
+
|
|
876
|
+
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.
|
|
877
|
+
|
|
878
|
+
### Patch Changes
|
|
879
|
+
|
|
880
|
+
- 3c86461: Update dependencies to latest versions for improved stability and performance
|
|
881
|
+
- Update Biome from 2.2.2 to 2.2.4
|
|
882
|
+
- Update commander from 14.0.0 to 14.0.1
|
|
883
|
+
- Update nypm from 0.6.1 to 0.6.2
|
|
884
|
+
- Update build and development dependencies (tsdown, type-fest, @changesets/cli, @types/bun)
|
|
885
|
+
|
|
886
|
+
## 0.8.0
|
|
887
|
+
|
|
888
|
+
### Minor Changes
|
|
889
|
+
|
|
890
|
+
- b8ed24b: Rename CLI commands for clearer intent: `lint` → `check` and `format` → `fix`
|
|
891
|
+
|
|
892
|
+
**Breaking Changes:**
|
|
893
|
+
|
|
894
|
+
- The `lint` command is now `check` and only reports issues (no auto-fixing)
|
|
895
|
+
- The `format` command is now `fix` and applies formatting and lint fixes
|
|
896
|
+
- Update your scripts and workflows to use the new command names
|
|
897
|
+
|
|
898
|
+
**Migration:**
|
|
899
|
+
|
|
900
|
+
- Replace `adamantite lint` with `adamantite check` (for checking only)
|
|
901
|
+
- Replace `adamantite format` with `adamantite fix` (for fixing issues)
|
|
902
|
+
|
|
903
|
+
## 0.7.2
|
|
904
|
+
|
|
905
|
+
### Patch Changes
|
|
906
|
+
|
|
907
|
+
- dfa0225: Update Biome to v2.2.2 for improved linting and formatting
|
|
908
|
+
|
|
909
|
+
## 0.7.1
|
|
910
|
+
|
|
911
|
+
### Patch Changes
|
|
912
|
+
|
|
913
|
+
- 9793d28: Refactor dependency management to use nypm API and improve update command reliability
|
|
914
|
+
- Replace custom `runProcess` utility with nypm's `dlxCommand` and `addDevDependency` functions
|
|
915
|
+
- Improve package manager detection using nypm's built-in detection instead of manual lock file checking
|
|
916
|
+
- Update all command files to use consistent error handling and execution patterns
|
|
917
|
+
- Remove unused utilities and corresponding test cases
|
|
918
|
+
- Fix update command error handling to use Promise.allSettled() instead of sequential await in loops
|
|
919
|
+
- Enhance update command to attempt all dependency updates and report detailed success/failure status
|
|
920
|
+
- Improve TypeScript compatibility and resolve linter warnings in update command
|
|
921
|
+
- Add nypm as a dependency to enable more robust package manager operations
|
|
922
|
+
|
|
923
|
+
## 0.7.0
|
|
924
|
+
|
|
925
|
+
### Minor Changes
|
|
926
|
+
|
|
927
|
+
- a6a1853: Add `ci` command for continuous integration workflows with enhanced reporter options.
|
|
928
|
+
|
|
929
|
+
## CLI Enhancements
|
|
930
|
+
- **Added**: `ci` command for running Biome CI checks in continuous integration environments
|
|
931
|
+
- **Added**: `--github` flag to the `ci` command for GitHub Actions reporter output
|
|
932
|
+
- **Added**: `--monorepo` flag to the `ci` command for additional monorepo-specific checks using Sherif
|
|
933
|
+
- **Refactored**: Command option handling to use consistent destructured options pattern across all commands
|
|
934
|
+
|
|
935
|
+
This update adds CI-specific functionality optimized for automated environments while maintaining compatibility with existing lint and format commands.
|
|
936
|
+
|
|
937
|
+
## 0.6.0
|
|
938
|
+
|
|
939
|
+
### Minor Changes
|
|
940
|
+
|
|
941
|
+
- 427b34f: Comprehensive update to Biome configuration rules with stricter linting and formatting standards.
|
|
942
|
+
|
|
943
|
+
## Rule Changes
|
|
944
|
+
|
|
945
|
+
### A11y Section
|
|
946
|
+
- **Added**: `noAutofocus` - error (previously off)
|
|
947
|
+
- **Added**: `noNoninteractiveElementInteractions` - error
|
|
948
|
+
- **Reorganized**: Better organization with JavaScript and CSS subsections
|
|
949
|
+
- **Removed**: Verbose rule comments for cleaner configuration
|
|
950
|
+
|
|
951
|
+
### Complexity Section
|
|
952
|
+
- **Added 25+ new rules** including:
|
|
953
|
+
- `noExtraBooleanCast` - error
|
|
954
|
+
- `noStaticOnlyClass` - error
|
|
955
|
+
- `noThisInStatic` - error
|
|
956
|
+
- `noUselessContinue` - error
|
|
957
|
+
- `noUselessEmptyExport` - error
|
|
958
|
+
- `noUselessEscapeInRegex` - error
|
|
959
|
+
- `noUselessFragments` - error
|
|
960
|
+
- `noUselessLabel` - error
|
|
961
|
+
- `noUselessLoneBlockStatements` - error
|
|
962
|
+
- `noUselessRename` - error
|
|
963
|
+
- `noUselessStringConcat` - error
|
|
964
|
+
- `noUselessStringRaw` - error
|
|
965
|
+
- `noUselessSwitchCase` - error
|
|
966
|
+
- `noUselessTernary` - error
|
|
967
|
+
- `noUselessThisAlias` - error
|
|
968
|
+
- `noUselessTypeConstraint` - error
|
|
969
|
+
- `noUselessUndefinedInitialization` - error
|
|
970
|
+
- `useArrowFunction` - error
|
|
971
|
+
- `useDateNow` - error
|
|
972
|
+
- `useFlatMap` - error
|
|
973
|
+
- `useLiteralKeys` - error
|
|
974
|
+
- `useNumericLiterals` - error
|
|
975
|
+
- `useOptionalChain` - error
|
|
976
|
+
- `useRegexLiterals` - error
|
|
977
|
+
- `useSimpleNumberKeys` - error
|
|
978
|
+
- **Changed**: `maxAllowedComplexity` increased from 18 to 20
|
|
979
|
+
|
|
980
|
+
### Correctness Section
|
|
981
|
+
- **Added**: `noGlobalDirnameFilename` - error
|
|
982
|
+
- **Added**: `noNestedComponentDefinitions` - error
|
|
983
|
+
- **Added**: `noProcessGlobal` - off
|
|
984
|
+
- **Added**: `useJsonImportAttributes` - error
|
|
985
|
+
- **Added**: `useParseIntRadix` - error
|
|
986
|
+
- **Added**: `useSingleJsDocAsterisk` - error
|
|
987
|
+
- **Added**: `useUniqueElementIds` - error (previously off)
|
|
988
|
+
- **Added**: `noReactPropAssignments` - error
|
|
989
|
+
- **Added**: `noRestrictedElements` - error
|
|
990
|
+
- **Removed**: `noUndeclaredDependencies` - off
|
|
991
|
+
- **Removed**: `useImportExtensions` - off
|
|
992
|
+
|
|
993
|
+
### Nursery Section
|
|
994
|
+
- **Enabled previously disabled rules**:
|
|
995
|
+
- `noFloatingPromises` - error (was off)
|
|
996
|
+
- `noMisusedPromises` - error (was off)
|
|
997
|
+
- **Added**: `noNonNullAssertedOptionalChain` - error
|
|
998
|
+
- **Added**: `noUnnecessaryConditions` - error
|
|
999
|
+
- **Added**: `useReactFunctionComponents` - error
|
|
1000
|
+
- **Added**: `useAnchorHref` - error
|
|
1001
|
+
- **Removed**: `useExplicitType` - off
|
|
1002
|
+
- **Removed**: `noSecrets` - off
|
|
1003
|
+
- **Removed**: `noImportCycles` - off
|
|
1004
|
+
|
|
1005
|
+
### Performance Section
|
|
1006
|
+
- **Removed**: `noBarrelFile` - off
|
|
1007
|
+
- **Removed**: `noImgElement` - error
|
|
1008
|
+
- **Removed**: `noNamespaceImport` - off
|
|
1009
|
+
- **Removed**: `noReExportAll` - off
|
|
1010
|
+
|
|
1011
|
+
### Style Section
|
|
1012
|
+
- **Added**: `useConsistentObjectDefinitions` - error
|
|
1013
|
+
- **Added**: `useExportsLast` - error (was off)
|
|
1014
|
+
- **Added**: `useGroupedAccessorPairs` - error
|
|
1015
|
+
- **Added**: `useNumericSeparators` - error
|
|
1016
|
+
- **Added**: `useObjectSpread` - error
|
|
1017
|
+
- **Added**: `useSymbolDescription` - error
|
|
1018
|
+
- **Changed**: `useExplicitLengthCheck` - error (was off)
|
|
1019
|
+
- **Changed**: `useSingleVarDeclarator` - error (was off)
|
|
1020
|
+
- **Removed**: `noCommonJs` - off
|
|
1021
|
+
- **Removed**: `noDefaultExport` - off
|
|
1022
|
+
- **Removed**: `noNestedTernary` - off
|
|
1023
|
+
- **Removed**: `noProcessEnv` - off
|
|
1024
|
+
- **Removed**: `useComponentExportOnlyModules` - off
|
|
1025
|
+
|
|
1026
|
+
### Suspicious Section
|
|
1027
|
+
- **Added**: `noBitwiseOperators` - error
|
|
1028
|
+
- **Added**: `noConstantBinaryExpressions` - error
|
|
1029
|
+
- **Added**: `noTsIgnore` - error
|
|
1030
|
+
- **Added**: `noUselessEscapeInString` - error
|
|
1031
|
+
- **Added**: `noUselessRegexBackrefs` - error
|
|
1032
|
+
- **Added**: `useIterableCallbackReturn` - error
|
|
1033
|
+
- **Added**: `useStaticResponseMethods` - error
|
|
1034
|
+
- **Added**: `noBiomeFirstException` - error
|
|
1035
|
+
- **Added**: `noQuickfixBiome` - error
|
|
1036
|
+
|
|
1037
|
+
## CLI Enhancements
|
|
1038
|
+
- **Added**: `--summary` flag to the `lint` command for concise lint result reporting using Biome's summary reporter
|
|
1039
|
+
|
|
1040
|
+
This update significantly strengthens the linting rules with a focus on code quality, consistency, and best practices while maintaining TypeScript and React compatibility.
|
|
1041
|
+
|
|
1042
|
+
### Patch Changes
|
|
1043
|
+
|
|
1044
|
+
- 6922455: remove noBarrelFile rule
|
|
1045
|
+
|
|
1046
|
+
## 0.5.1
|
|
1047
|
+
|
|
1048
|
+
### Patch Changes
|
|
1049
|
+
|
|
1050
|
+
- d0f9127: Update Biome version from 2.1.4 to 2.2.0
|
|
1051
|
+
- Updated package dependency and configuration schema
|
|
1052
|
+
- Migrated renamed rules to new naming conventions
|
|
1053
|
+
- Moved promoted rules from nursery to stable groups:
|
|
1054
|
+
- `noAwaitInLoops` moved to performance group
|
|
1055
|
+
- `noUselessRegexBackrefs` moved to suspicious group
|
|
1056
|
+
- Added new rules:
|
|
1057
|
+
- `noBarrelFile`
|
|
1058
|
+
|
|
1059
|
+
## 0.5.0
|
|
1060
|
+
|
|
1061
|
+
### Minor Changes
|
|
1062
|
+
|
|
1063
|
+
- ee92238: Add `update` command to keep dependencies in sync
|
|
1064
|
+
|
|
1065
|
+
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.
|
|
1066
|
+
|
|
1067
|
+
## 0.4.1
|
|
1068
|
+
|
|
1069
|
+
### Patch Changes
|
|
1070
|
+
|
|
1071
|
+
- 97afed7: Fix init command and improve codebase maintainability
|
|
1072
|
+
- **Fix init command crash**: Removed getBiomeVersion function that was causing "Failed to get Biome version" errors when users didn't have Biome installed yet
|
|
1073
|
+
- **Improved helpers architecture**:
|
|
1074
|
+
- Made version property optional for non-package helpers (tsconfig, vscode)
|
|
1075
|
+
- Only biome and sherif helpers now have versions (actual npm packages)
|
|
1076
|
+
- Moved package versions into respective helper objects for better organization
|
|
1077
|
+
- **Enhanced helper functionality**:
|
|
1078
|
+
- Fixed vscode helper to properly create .vscode directory
|
|
1079
|
+
- Updated config merging to prioritize adamantite settings over existing user configs
|
|
1080
|
+
- Added comprehensive integration tests with temporary directory isolation
|
|
1081
|
+
- **Code cleanup**:
|
|
1082
|
+
- Removed unused utility functions (isPackageInstalled, getInstalledPackageVersion, isPackageVersionCorrect)
|
|
1083
|
+
- Consolidated all test files into **tests** directory
|
|
1084
|
+
- Removed 335+ lines of unused code and tests
|
|
1085
|
+
- **Improved test organization**:
|
|
1086
|
+
- Added semantic test descriptions explaining what and why we're testing
|
|
1087
|
+
- Created separate integration tests for file operations
|
|
1088
|
+
- Better test structure with nested describe blocks
|
|
1089
|
+
|
|
1090
|
+
## 0.4.0
|
|
1091
|
+
|
|
1092
|
+
### Minor Changes
|
|
1093
|
+
|
|
1094
|
+
- c7edd5c: add editor rules for vscode
|
|
1095
|
+
|
|
1096
|
+
### Patch Changes
|
|
1097
|
+
|
|
1098
|
+
- 78a93ea: update biome version to 2.1.4
|
|
1099
|
+
- d0906c4: pin all versions to exact
|
|
1100
|
+
- 9d10cf1: update typescript peer dependency range
|
|
1101
|
+
- bdf3962: new title
|
|
1102
|
+
|
|
1103
|
+
## 0.3.4
|
|
1104
|
+
|
|
1105
|
+
### Patch Changes
|
|
1106
|
+
|
|
1107
|
+
- 9280e56: remove package.json caching
|
|
1108
|
+
|
|
1109
|
+
## 0.3.3
|
|
1110
|
+
|
|
1111
|
+
### Patch Changes
|
|
1112
|
+
|
|
1113
|
+
- 97c8ab3: fix monorepo lint script
|
|
1114
|
+
|
|
1115
|
+
## 0.3.2
|
|
1116
|
+
|
|
1117
|
+
### Patch Changes
|
|
1118
|
+
|
|
1119
|
+
- 5f5b8f4: fix `bin` location
|
|
1120
|
+
|
|
1121
|
+
## 0.3.1
|
|
1122
|
+
|
|
1123
|
+
### Patch Changes
|
|
1124
|
+
|
|
1125
|
+
- 1af8e2c: add version title to new version PR
|
|
1126
|
+
|
|
1127
|
+
## 0.3.0
|
|
1128
|
+
|
|
1129
|
+
### Minor Changes
|
|
1130
|
+
|
|
1131
|
+
- c23ec2e: - Add support for running `sherif` to automatically fix monorepo-specific issues
|
|
1132
|
+
- Add support for detecting the package manager and using the correct executable path
|
|
1133
|
+
|
|
1134
|
+
## 0.2.0
|
|
1135
|
+
|
|
1136
|
+
### Minor Changes
|
|
1137
|
+
|
|
1138
|
+
- 8d76fbe: Remove unnecessary tsconfig settings
|
|
1139
|
+
|
|
1140
|
+
## 0.1.1
|
|
1141
|
+
|
|
1142
|
+
### Patch Changes
|
|
1143
|
+
|
|
1144
|
+
- e82f852: install `adamantite` during `init`
|
|
1145
|
+
|
|
1146
|
+
## 0.1.0
|
|
1147
|
+
|
|
1148
|
+
### Minor Changes
|
|
1149
|
+
|
|
1150
|
+
- 801a662: Add `init` script
|
|
1151
|
+
|
|
1152
|
+
## 0.0.6
|
|
1153
|
+
|
|
1154
|
+
### Patch Changes
|
|
1155
|
+
|
|
1156
|
+
- 1561814: setup changesets and release workflow
|