@dvukovic/style-guide 0.22.0 → 0.23.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.
@@ -9,4 +9,8 @@
9
9
  export function core(config?: import("@eslint/config-helpers").ConfigWithExtends & {
10
10
  additionalFiles?: string[];
11
11
  }): import("@eslint/config-helpers").ConfigWithExtends;
12
- export const coreConfig: import("@eslint/config-helpers").Config[];
12
+ export const coreConfig: (import("@eslint/config-helpers").Config | {
13
+ linterOptions: {
14
+ reportUnusedDisableDirectives: string;
15
+ };
16
+ })[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dvukovic/style-guide",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "description": "My own style guide",
5
5
  "repository": {
6
6
  "type": "git",
@@ -60,68 +60,68 @@
60
60
  "test": "vitest run"
61
61
  },
62
62
  "dependencies": {
63
- "@clack/prompts": "0.11.0",
64
- "@eslint-community/eslint-plugin-eslint-comments": "4.6.0",
65
- "@eslint/config-helpers": "0.5.1",
66
- "@next/eslint-plugin-next": "16.1.4",
67
- "@stylistic/eslint-plugin": "5.7.1",
68
- "@tanstack/eslint-plugin-query": "5.91.4",
69
- "@typescript-eslint/parser": "8.53.1",
70
- "@vitest/eslint-plugin": "1.6.9",
63
+ "@clack/prompts": "1.1.0",
64
+ "@eslint-community/eslint-plugin-eslint-comments": "4.7.1",
65
+ "@eslint/config-helpers": "0.5.3",
66
+ "@next/eslint-plugin-next": "16.2.1",
67
+ "@stylistic/eslint-plugin": "5.10.0",
68
+ "@tanstack/eslint-plugin-query": "5.94.5",
69
+ "@typescript-eslint/parser": "8.57.1",
70
+ "@vitest/eslint-plugin": "1.6.12",
71
71
  "eslint-plugin-array-func": "5.1.1",
72
- "eslint-plugin-baseline-js": "0.4.2",
73
- "eslint-plugin-import-x": "4.16.1",
74
- "eslint-plugin-jest": "29.12.1",
75
- "eslint-plugin-mobx": "0.0.13",
76
- "eslint-plugin-n": "17.23.2",
77
- "eslint-plugin-package-json": "0.88.2",
72
+ "eslint-plugin-baseline-js": "0.6.1",
73
+ "eslint-plugin-import-x": "4.16.2",
74
+ "eslint-plugin-jest": "29.15.0",
75
+ "eslint-plugin-mobx": "0.0.14",
76
+ "eslint-plugin-n": "17.24.0",
77
+ "eslint-plugin-package-json": "0.91.0",
78
78
  "eslint-plugin-perfectionist": "5.7.0",
79
- "eslint-plugin-playwright": "2.5.0",
79
+ "eslint-plugin-playwright": "2.10.1",
80
80
  "eslint-plugin-promise": "7.2.1",
81
81
  "eslint-plugin-react": "7.37.5",
82
82
  "eslint-plugin-react-hooks": "7.0.1",
83
83
  "eslint-plugin-security-node": "1.1.4",
84
- "eslint-plugin-sonarjs": "3.0.5",
85
- "eslint-plugin-storybook": "10.2.0",
86
- "eslint-plugin-turbo": "2.8.1",
87
- "eslint-plugin-unicorn": "62.0.0",
88
- "eslint-plugin-unused-imports": "4.3.0",
89
- "globals": "17.1.0",
90
- "jsonc-eslint-parser": "2.4.2",
84
+ "eslint-plugin-sonarjs": "4.0.2",
85
+ "eslint-plugin-storybook": "10.3.1",
86
+ "eslint-plugin-turbo": "2.8.20",
87
+ "eslint-plugin-unicorn": "63.0.0",
88
+ "eslint-plugin-unused-imports": "4.4.1",
89
+ "globals": "17.4.0",
90
+ "jsonc-eslint-parser": "3.1.0",
91
91
  "postcss-resolve-nested-selector": "0.1.6",
92
92
  "postcss-selector-parser": "7.1.1",
93
93
  "prettier-plugin-embed": "0.5.1",
94
94
  "prettier-plugin-jsdoc": "1.8.0",
95
- "prettier-plugin-packagejson": "3.0.0",
95
+ "prettier-plugin-packagejson": "3.0.2",
96
96
  "prettier-plugin-prisma": "5.0.0",
97
97
  "prettier-plugin-sh": "0.18.0",
98
- "prettier-plugin-sql": "0.19.2",
98
+ "prettier-plugin-sql": "0.20.0",
99
99
  "prettier-plugin-tailwindcss": "0.7.2",
100
100
  "prettier-plugin-toml": "2.0.6",
101
- "stylelint-order": "7.0.1",
102
- "typescript-eslint": "8.53.1"
101
+ "stylelint-order": "8.1.1",
102
+ "typescript-eslint": "8.57.1"
103
103
  },
104
104
  "devDependencies": {
105
- "@release-it/conventional-changelog": "10.0.4",
106
- "@types/node": "24.10.9",
105
+ "@release-it/conventional-changelog": "10.0.6",
106
+ "@types/node": "25.5.0",
107
107
  "@types/semver": "7.7.1",
108
- "cspell": "9.6.0",
109
- "eslint": "9.39.2",
110
- "knip": "5.82.1",
108
+ "cspell": "9.7.0",
109
+ "eslint": "9.39.4",
110
+ "knip": "6.0.1",
111
111
  "prettier": "3.8.1",
112
112
  "release-it": "19.2.4",
113
- "semver": "7.7.3",
114
- "storybook": "10.2.3",
115
- "stylelint": "16.26.1",
113
+ "semver": "7.7.4",
114
+ "storybook": "10.3.1",
115
+ "stylelint": "17.5.0",
116
116
  "typescript": "5.9.3",
117
- "vitest": "4.0.18"
117
+ "vitest": "4.1.0"
118
118
  },
119
119
  "peerDependencies": {
120
120
  "cspell": "9",
121
121
  "eslint": "^9",
122
- "knip": "5",
122
+ "knip": ">=5",
123
123
  "prettier": "3",
124
- "stylelint": "16",
124
+ "stylelint": ">=16",
125
125
  "typescript": "5"
126
126
  },
127
127
  "peerDependenciesMeta": {
package/src/cli/index.js CHANGED
@@ -8,6 +8,7 @@ const command = process.argv[2]
8
8
 
9
9
  if (command === "init") {
10
10
  intro("@dvukovic/style-guide")
11
+ // eslint-disable-next-line baseline-js/use-baseline -- Node.js CLI, not browser code
11
12
  await runInit()
12
13
  outro("Configuration complete!")
13
14
  } else {
@@ -13,6 +13,11 @@ import { unicorn } from "../plugins/unicorn.js"
13
13
  import { unusedImports } from "../plugins/unused-imports.js"
14
14
 
15
15
  export const coreConfig = [
16
+ {
17
+ linterOptions: {
18
+ reportUnusedDisableDirectives: "error",
19
+ },
20
+ },
16
21
  arrayFunction,
17
22
  baseline,
18
23
  eslint,
@@ -9,7 +9,6 @@ export const eslintComments = {
9
9
  "@eslint-community/eslint-comments/no-aggregating-enable": "error",
10
10
  "@eslint-community/eslint-comments/no-duplicate-disable": "error",
11
11
  "@eslint-community/eslint-comments/no-unlimited-disable": "error",
12
- "@eslint-community/eslint-comments/no-unused-disable": "error",
13
12
  "@eslint-community/eslint-comments/no-unused-enable": "error",
14
13
  "@eslint-community/eslint-comments/require-description": "error",
15
14
  },
@@ -28,9 +28,11 @@ export const nodeN = {
28
28
  ],
29
29
  "n/prefer-global/buffer": "error",
30
30
  "n/prefer-global/console": "error",
31
+ "n/prefer-global/crypto": "error",
31
32
  "n/prefer-global/process": "error",
32
33
  "n/prefer-global/text-decoder": "error",
33
34
  "n/prefer-global/text-encoder": "error",
35
+ "n/prefer-global/timers": "error",
34
36
  "n/prefer-global/url": "error",
35
37
  "n/prefer-global/url-search-params": "error",
36
38
  "n/prefer-node-protocol": "error",
@@ -1,5 +1,5 @@
1
1
  import plugin from "eslint-plugin-package-json"
2
- import jsoncParser from "jsonc-eslint-parser"
2
+ import * as jsoncParser from "jsonc-eslint-parser"
3
3
 
4
4
  import { noRestrictedDependencies } from "../rules/no-restricted-dependencies/no-restricted-dependencies.js"
5
5
  import { requireProperties } from "../rules/require-properties/require-properties.js"
@@ -66,6 +66,7 @@ export const packageJson = {
66
66
  "package-json/unique-dependencies": "error",
67
67
  "package-json/valid-author": "error",
68
68
  "package-json/valid-bin": "error",
69
+ "package-json/valid-bugs": "error",
69
70
  "package-json/valid-bundleDependencies": "error",
70
71
  "package-json/valid-config": "error",
71
72
  "package-json/valid-contributors": "error",
@@ -73,10 +74,12 @@ export const packageJson = {
73
74
  "package-json/valid-dependencies": "error",
74
75
  "package-json/valid-description": "error",
75
76
  "package-json/valid-devDependencies": "error",
77
+ "package-json/valid-devEngines": "error",
76
78
  "package-json/valid-directories": "error",
77
79
  "package-json/valid-engines": "error",
78
80
  "package-json/valid-exports": "error",
79
81
  "package-json/valid-files": "error",
82
+ "package-json/valid-funding": "error",
80
83
  "package-json/valid-homepage": "error",
81
84
  "package-json/valid-keywords": "error",
82
85
  "package-json/valid-license": "error",
@@ -87,6 +90,7 @@ export const packageJson = {
87
90
  "package-json/valid-optionalDependencies": "error",
88
91
  "package-json/valid-os": "error",
89
92
  "package-json/valid-package-definition": "error",
93
+ "package-json/valid-packageManager": "error",
90
94
  "package-json/valid-peerDependencies": "error",
91
95
  "package-json/valid-private": "error",
92
96
  "package-json/valid-publishConfig": "error",
@@ -15,6 +15,7 @@ export const playwright = {
15
15
  "playwright/no-conditional-expect": "error",
16
16
  "playwright/no-conditional-in-test": "error",
17
17
  "playwright/no-duplicate-hooks": "error",
18
+ "playwright/no-duplicate-slow": "error",
18
19
  "playwright/no-element-handle": "error",
19
20
  "playwright/no-eval": "error",
20
21
  "playwright/no-focused-test": "error",
@@ -22,7 +23,7 @@ export const playwright = {
22
23
  "playwright/no-get-by-title": "error",
23
24
  "playwright/no-nested-step": "error",
24
25
  "playwright/no-page-pause": "error",
25
- "playwright/no-skipped-test": "error",
26
+ "playwright/no-skipped-test": ["error", { disallowFixme: true }],
26
27
  "playwright/no-slowed-test": "error",
27
28
  "playwright/no-standalone-expect": "error",
28
29
  "playwright/no-unsafe-references": "error",
@@ -50,6 +51,7 @@ export const playwright = {
50
51
  "playwright/prefer-to-have-length": "error",
51
52
  "playwright/prefer-web-first-assertions": "error",
52
53
  "playwright/require-hook": "error",
54
+ "playwright/require-to-pass-timeout": "error",
53
55
  "playwright/require-to-throw-message": "error",
54
56
  "playwright/require-top-level-describe": "error",
55
57
  "playwright/valid-describe-callback": "error",
@@ -16,9 +16,11 @@ export const sonarjsAws = {
16
16
  "sonarjs/aws-iam-public-access": "error",
17
17
  "sonarjs/aws-opensearchservice-domain": "error",
18
18
  "sonarjs/aws-rds-unencrypted-databases": "error",
19
+ "sonarjs/aws-restricted-ip-admin-access": "error",
19
20
  "sonarjs/aws-s3-bucket-granted-access": "error",
20
21
  "sonarjs/aws-s3-bucket-insecure-http": "error",
21
22
  "sonarjs/aws-s3-bucket-public-access": "error",
23
+ "sonarjs/aws-s3-bucket-server-encryption": "error",
22
24
  "sonarjs/aws-s3-bucket-versioning": "error",
23
25
  "sonarjs/aws-sagemaker-unencrypted-notebook": "error",
24
26
  "sonarjs/aws-sns-unencrypted-topics": "error",
@@ -190,7 +190,6 @@ export const sonarjs = {
190
190
  "sonarjs/stateful-regex": "error",
191
191
  "sonarjs/strict-transport-security": "error",
192
192
  "sonarjs/strings-comparison": "error",
193
- "sonarjs/super-invocation": "error",
194
193
  "sonarjs/table-header": "error",
195
194
  "sonarjs/table-header-reference": "error",
196
195
  "sonarjs/test-check-exception": "error",
@@ -203,6 +202,7 @@ export const sonarjs = {
203
202
  "sonarjs/updated-const-var": "error",
204
203
  "sonarjs/updated-loop-counter": "error",
205
204
  "sonarjs/use-type-alias": "error",
205
+ "sonarjs/useless-string-operation": "error",
206
206
  "sonarjs/values-not-convertible-to-numbers": "error",
207
207
  "sonarjs/variable-name": "error",
208
208
  "sonarjs/void-use": "error",
@@ -28,6 +28,7 @@ export const unicorn = {
28
28
  },
29
29
  },
30
30
  ],
31
+ "unicorn/isolated-functions": "error",
31
32
  "unicorn/new-for-builtins": "error",
32
33
  "unicorn/no-abusive-eslint-disable": "error",
33
34
  "unicorn/no-accessor-recursion": "error",
@@ -1,6 +1,7 @@
1
1
  /** @type {import("stylelint").Config} */
2
2
  const plugin = {
3
3
  rules: {
4
+ "order/custom-properties-alphabetical-order": true,
4
5
  "order/order": [
5
6
  "custom-properties",
6
7
  "dollar-variables",