diff --git a/.changeset/clean-chicken-tan.md b/.changeset/clean-chicken-tan.md deleted file mode 100644 index ab7cd50..0000000 --- a/.changeset/clean-chicken-tan.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@feature-sliced/steiger-plugin': minor -'steiger': minor ---- - -Add no-ui-in-app rule diff --git a/.changeset/dull-rice-guess.md b/.changeset/dull-rice-guess.md deleted file mode 100644 index f866262..0000000 --- a/.changeset/dull-rice-guess.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@feature-sliced/steiger-plugin': patch ---- - -Add a Vue test case for insignificant-slice diff --git a/.changeset/green-bags-applaud.md b/.changeset/green-bags-applaud.md deleted file mode 100644 index 52017a2..0000000 --- a/.changeset/green-bags-applaud.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@feature-sliced/steiger-plugin': patch ---- - -Fix the alias resolution in referenced TS configs diff --git a/.changeset/mean-buses-tan.md b/.changeset/mean-buses-tan.md deleted file mode 100644 index 59d52a6..0000000 --- a/.changeset/mean-buses-tan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'steiger': patch ---- - -Fix the non-existent paths showing up as a success diff --git a/.changeset/olive-planets-retire.md b/.changeset/olive-planets-retire.md deleted file mode 100644 index 87fd095..0000000 --- a/.changeset/olive-planets-retire.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'steiger': minor ---- - -Add error messages for invalid config shapes diff --git a/.changeset/quick-news-impress.md b/.changeset/quick-news-impress.md deleted file mode 100644 index 5142e2f..0000000 --- a/.changeset/quick-news-impress.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@steiger/pretty-reporter': minor -'steiger': minor -'@steiger/types': minor ---- - -Added "warning" severity to diagnostics and support in Steiger diff --git a/.changeset/quick-timers-matter.md b/.changeset/quick-timers-matter.md deleted file mode 100644 index 6244a26..0000000 --- a/.changeset/quick-timers-matter.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'steiger': minor ---- - -Implement the inclusion/exclusion operators on VFS diff --git a/.changeset/silver-owls-cough.md b/.changeset/silver-owls-cough.md deleted file mode 100644 index 5842df6..0000000 --- a/.changeset/silver-owls-cough.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@feature-sliced/steiger-plugin': minor -'steiger': minor -'@steiger/types': minor ---- - -Implement support for individual rule options diff --git a/.changeset/stale-brooms-sparkle.md b/.changeset/stale-brooms-sparkle.md deleted file mode 100644 index 15a875f..0000000 --- a/.changeset/stale-brooms-sparkle.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@feature-sliced/steiger-plugin': minor -'@steiger/pretty-reporter': minor -'steiger': minor -'@steiger/types': minor ---- - -Complete configuration parsing and application logic diff --git a/.changeset/tall-planets-call.md b/.changeset/tall-planets-call.md deleted file mode 100644 index 1bb837c..0000000 --- a/.changeset/tall-planets-call.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@feature-sliced/steiger-plugin': patch ---- - -Relax the public API constraints on shared/lib and shared/ui diff --git a/.changeset/tasty-experts-travel.md b/.changeset/tasty-experts-travel.md deleted file mode 100644 index 24c6df9..0000000 --- a/.changeset/tasty-experts-travel.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@feature-sliced/steiger-plugin': minor -'steiger': minor -'@steiger/types': minor ---- - -Implement the new approach to configuration structure diff --git a/.changeset/unlucky-coins-accept.md b/.changeset/unlucky-coins-accept.md deleted file mode 100644 index 2deeeff..0000000 --- a/.changeset/unlucky-coins-accept.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@feature-sliced/steiger-plugin': minor -'steiger': minor ---- - -Add typo-in-layer-name rule diff --git a/packages/pretty-reporter/CHANGELOG.md b/packages/pretty-reporter/CHANGELOG.md index 83dfe7e..8b15dcf 100644 --- a/packages/pretty-reporter/CHANGELOG.md +++ b/packages/pretty-reporter/CHANGELOG.md @@ -1,5 +1,11 @@ # @steiger/pretty-reporter +## 0.2.0 + +### Minor Changes + +- b184bb7: Support warning severity for diagnostics + ## 0.1.0 ### Minor Changes diff --git a/packages/pretty-reporter/package.json b/packages/pretty-reporter/package.json index 74258ba..180cc7b 100644 --- a/packages/pretty-reporter/package.json +++ b/packages/pretty-reporter/package.json @@ -2,7 +2,7 @@ "private": true, "name": "@steiger/pretty-reporter", "description": "A reporter that can print Steiger's diagnostics nice and pretty", - "version": "0.1.0", + "version": "0.2.0", "scripts": { "example": "tsx example/index.ts", "lint": "eslint .", diff --git a/packages/steiger-plugin-fsd/CHANGELOG.md b/packages/steiger-plugin-fsd/CHANGELOG.md index 36c2107..5d5db58 100644 --- a/packages/steiger-plugin-fsd/CHANGELOG.md +++ b/packages/steiger-plugin-fsd/CHANGELOG.md @@ -1,5 +1,18 @@ # @feature-sliced/steiger-plugin +## 0.5.0 + +### Minor Changes + +- 1bb6c4b: Add new `no-ui-in-app` rule +- 7057543: Add new `typo-in-layer-name` rule + +### Patch Changes + +- b0dc51b: Add a Vue test case for insignificant-slice +- 8291fc7: Fix the alias resolution in referenced TS configs +- 9ce48b6: Relax the public API constraints on `shared/lib` and `shared/ui` + ## 0.4.0 ### Minor Changes diff --git a/packages/steiger-plugin-fsd/package.json b/packages/steiger-plugin-fsd/package.json index caeaf83..04a1c98 100644 --- a/packages/steiger-plugin-fsd/package.json +++ b/packages/steiger-plugin-fsd/package.json @@ -1,7 +1,7 @@ { "name": "@feature-sliced/steiger-plugin", "description": "A set of rules to verify correct usage of Feature-Sliced Design", - "version": "0.4.0", + "version": "0.5.0", "scripts": { "lint": "eslint .", "format": "prettier --write . --cache", diff --git a/packages/steiger/CHANGELOG.md b/packages/steiger/CHANGELOG.md index 05217d3..d10b0ce 100644 --- a/packages/steiger/CHANGELOG.md +++ b/packages/steiger/CHANGELOG.md @@ -1,5 +1,72 @@ # steiger +## 0.5.0 + +This release brings a new configuration format! Now you can disable rules only in certain parts of the project, pass options to rules, and set the severity for rules. Also this configuration format allows you to pass third-party plugins and even write your own rules. + +Example: + +```javascript +// ./steiger.config.js +import { defineConfig } from 'steiger' +import fsd from '@feature-sliced/steiger-plugin' // you need to install separately this now + +export default defineConfig([ + ...fsd.configs.recommended, + { + // disable the `public-api` rule for files in the Shared layer + files: ['./src/shared/**'], + rules: { + 'fsd/public-api': 'off', // can also be 'warn' + }, + }, +]) +``` + +Migrating from the old config is easy, refer to the short [migration guide](../../MIGRATION_GUIDE.md) that we created. It even has an automatic codemod :) + +--- + +This release includes plugin support, and here's how you can write your own! For more inspiration, check out the FSD plugin (`./packages/steiger-plugin-fsd` in this repo). + +```ts +import { enableAllRules, createPlugin, createConfigs } from '@steiger/toolkit' + +const plugin = createPlugin({ + meta: { + name: 'my-awesome-plugin', + version: '1.0.0', + }, + ruleDefinitions: [ + { + name: 'my/rule-1', + check(root) { + /* … */ + }, + }, + ], +}) + +const configs = createConfigs({ + recommended: enableAllRules(plugin), +}) + +export default { + plugin, + configs, +} +``` + +### Minor Changes + +- Support the new configuration format +- 281aaca: Add error messages for old and invalid config shapes +- b184bb7: Support warning severity for diagnostics + +### Patch Changes + +- c6db720: Fix Steiger linting non-existent paths successfully + ## 0.4.0 ### Minor Changes diff --git a/packages/steiger/package.json b/packages/steiger/package.json index d0b85de..876b687 100644 --- a/packages/steiger/package.json +++ b/packages/steiger/package.json @@ -1,7 +1,7 @@ { "name": "steiger", "description": "Universal file structure and project architecture linter", - "version": "0.4.0", + "version": "0.5.0", "license": "MIT", "authors": [ { diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 606dc86..dcd15fd 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,5 +1,13 @@ # @steiger/types +## 0.3.0 + +### Minor Changes + +- b184bb7: Support warning severity for diagnostics +- d93c9f6: Implement support for individual rule options +- 3c7a50c, 997abb4: Implement the new configuration format + ## 0.2.0 ### Minor Changes diff --git a/packages/types/package.json b/packages/types/package.json index c9f6910..254b864 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -2,7 +2,7 @@ "name": "@steiger/types", "private": true, "description": "Type definitions for Steiger", - "version": "0.2.0", + "version": "0.3.0", "scripts": { "format": "prettier --write . --cache", "check-formatting": "prettier --check . --cache",