@dimensional-innovations/tool-config 3.0.2 → 4.0.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dimensional-innovations/tool-config",
3
- "version": "3.0.2",
3
+ "version": "4.0.0",
4
4
  "description": "Universal configuration package for ESLint, Prettier, Stylelint, TypeScript, and semantic-release with auto-detection for React, Vue, Svelte, Solid, Astro, Angular, and more",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -74,6 +74,7 @@
74
74
  "@typescript-eslint/parser": "^8.46.0",
75
75
  "astro-eslint-parser": "^1.2.2",
76
76
  "eslint": ">=9.0.0",
77
+ "eslint-config-prettier": "^9.1.0",
77
78
  "eslint-plugin-astro": "^1.3.1",
78
79
  "eslint-plugin-import": "^2.32.0",
79
80
  "eslint-plugin-react": "^7.37.0",
@@ -33,7 +33,7 @@ export default {
33
33
  'prefer-rest-params': 'error', // Use rest parameters instead of arguments object
34
34
  'prefer-spread': 'error', // Use spread operator instead of .apply()
35
35
  'object-shorthand': 'error', // Use object shorthand syntax {x} instead of {x: x}
36
- 'arrow-body-style': ['error', 'as-needed'], // Omit braces when possible in arrow functions
36
+ // Note: arrow-body-style is a formatting rule disabled by eslint-config-prettier
37
37
 
38
38
  // Code quality
39
39
  eqeqeq: ['error', 'always'], // Always use === and !== instead of == and !=
@@ -68,15 +68,8 @@ export default {
68
68
  skipComments: true
69
69
  }
70
70
  ], // Warn on functions exceeding 100 lines
71
- 'max-params': ['warn', 4], // Warn on functions with more than 4 parameters
71
+ 'max-params': ['warn', 4] // Warn on functions with more than 4 parameters
72
72
 
73
- // Comments
74
- 'spaced-comment': [
75
- 'error',
76
- 'always',
77
- {
78
- markers: ['/']
79
- }
80
- ] // Require space after // or /*
73
+ // Note: spaced-comment is a formatting rule disabled by eslint-config-prettier
81
74
  }
82
75
  }
@@ -1,3 +1,5 @@
1
+ import prettierConfig from 'eslint-config-prettier'
2
+
1
3
  /**
2
4
  * Angular configuration (basic TypeScript linting)
3
5
  *
@@ -69,6 +71,10 @@ export default function createAngularPreset() {
69
71
  }
70
72
  ]
71
73
  }
72
- }
74
+ },
75
+
76
+ // Disable all formatting rules that conflict with Prettier
77
+ // This must be last to override any formatting rules from above
78
+ prettierConfig
73
79
  ]
74
80
  }
@@ -1,3 +1,4 @@
1
+ import prettierConfig from 'eslint-config-prettier'
1
2
  import { configs } from 'eslint-plugin-astro'
2
3
 
3
4
  /**
@@ -24,15 +25,19 @@ export default function createAstroPreset() {
24
25
  'astro/no-deprecated-astro-fetchcontent': 'error', // Use new content collections
25
26
  'astro/no-deprecated-astro-resolve': 'error', // Use new module resolution
26
27
 
27
- // Template Syntax (4 rules)
28
+ // Template Syntax (3 rules - formatting rules removed, handled by Prettier)
28
29
  'astro/valid-compile': 'error', // Ensure valid Astro syntax
29
30
  'astro/no-set-html-directive': 'warn', // Warn about XSS risk
30
- 'astro/semi': ['error', 'always'], // Consistent semicolons in frontmatter
31
31
  'astro/prefer-class-list-directive': 'error' // Use class:list over className
32
+ // Note: astro/semi is a formatting rule disabled by eslint-config-prettier
32
33
 
33
34
  // Accessibility (included from jsx-a11y-recommended preset)
34
35
  // - alt-text, click-events-have-key-events, etc.
35
36
  }
36
- }
37
+ },
38
+
39
+ // Disable all formatting rules that conflict with Prettier
40
+ // This must be last to override any formatting rules from above
41
+ prettierConfig
37
42
  ]
38
43
  }
@@ -1,3 +1,5 @@
1
+ import prettierConfig from 'eslint-config-prettier'
2
+
1
3
  /**
2
4
  * Node.js backend configuration
3
5
  * Conservative rules for Node.js/Express/Fastify backend services
@@ -52,6 +54,10 @@ export default function createNodePreset() {
52
54
  // Allow both require and import
53
55
  '@typescript-eslint/no-var-requires': 'off'
54
56
  }
55
- }
57
+ },
58
+
59
+ // Disable all formatting rules that conflict with Prettier
60
+ // This must be last to override any formatting rules from above
61
+ prettierConfig
56
62
  ]
57
63
  }
@@ -1,3 +1,4 @@
1
+ import prettierConfig from 'eslint-config-prettier'
1
2
  import react from 'eslint-plugin-react'
2
3
  import reactHooks from 'eslint-plugin-react-hooks'
3
4
 
@@ -71,6 +72,10 @@ export default function createReactPreset() {
71
72
  'react/no-deprecated': 'error', // Prevent usage of deprecated methods
72
73
  'react/no-unknown-property': 'error' // Prevent usage of unknown DOM properties
73
74
  }
74
- }
75
+ },
76
+
77
+ // Disable all formatting rules that conflict with Prettier
78
+ // This must be last to override any formatting rules from above
79
+ prettierConfig
75
80
  ]
76
81
  }
@@ -1,3 +1,4 @@
1
+ import prettierConfig from 'eslint-config-prettier'
1
2
  import solid from 'eslint-plugin-solid/configs/typescript'
2
3
 
3
4
  /**
@@ -40,6 +41,10 @@ export default function createSolidPreset() {
40
41
  'solid/self-closing-comp': 'error', // Self-close components without children
41
42
  'solid/style-prop': ['error', { styleProps: ['style', 'css'] }] // Validate style prop
42
43
  }
43
- }
44
+ },
45
+
46
+ // Disable all formatting rules that conflict with Prettier
47
+ // This must be last to override any formatting rules from above
48
+ prettierConfig
44
49
  ]
45
50
  }
@@ -1,3 +1,4 @@
1
+ import prettierConfig from 'eslint-config-prettier'
1
2
  import svelte from 'eslint-plugin-svelte'
2
3
  import svelteParser from 'svelte-eslint-parser'
3
4
  import tseslint from 'typescript-eslint'
@@ -48,31 +49,17 @@ export default function createSveltePreset() {
48
49
  'svelte/no-export-load-in-svelte-module-in-kit-pages': 'error',
49
50
  'svelte/no-store-async': 'error',
50
51
 
51
- // Code Style (6 rules)
52
+ // Code Style (3 rules - formatting rules removed, handled by Prettier)
52
53
  'svelte/shorthand-attribute': 'error',
53
54
  'svelte/shorthand-directive': 'error',
54
- 'svelte/no-spaces-around-equal-signs-in-attribute': 'error',
55
- 'svelte/html-quotes': [
56
- 'error',
57
- {
58
- prefer: 'double'
59
- }
60
- ],
61
- 'svelte/indent': [
62
- 'error',
63
- {
64
- indent: 2,
65
- alignAttributesVertically: true
66
- }
67
- ],
68
- 'svelte/first-attribute-linebreak': [
69
- 'error',
70
- {
71
- multiline: 'below',
72
- singleline: 'beside'
73
- }
74
- ]
55
+ 'svelte/no-spaces-around-equal-signs-in-attribute': 'error'
56
+ // Note: svelte/html-quotes, svelte/indent, svelte/first-attribute-linebreak
57
+ // are formatting rules disabled by eslint-config-prettier
75
58
  }
76
- }
59
+ },
60
+
61
+ // Disable all formatting rules that conflict with Prettier
62
+ // This must be last to override any formatting rules from above
63
+ prettierConfig
77
64
  ]
78
65
  }
@@ -1,3 +1,5 @@
1
+ import prettierConfig from 'eslint-config-prettier'
2
+
1
3
  /**
2
4
  * Vanilla JavaScript/TypeScript configuration
3
5
  * No framework-specific rules - just modern JavaScript best practices
@@ -11,6 +13,10 @@ export default function createVanillaPreset() {
11
13
  // No framework-specific rules
12
14
  // All rules come from base.js and typescript.js presets
13
15
  }
14
- }
16
+ },
17
+
18
+ // Disable all formatting rules that conflict with Prettier
19
+ // This must be last to override any formatting rules from above
20
+ prettierConfig
15
21
  ]
16
22
  }
@@ -1,3 +1,4 @@
1
+ import prettierConfig from 'eslint-config-prettier'
1
2
  import vuePlugin from 'eslint-plugin-vue'
2
3
  import tseslint from 'typescript-eslint'
3
4
  import vueParser from 'vue-eslint-parser'
@@ -149,6 +150,10 @@ export default function createVuePreset() {
149
150
  rules: {
150
151
  '@typescript-eslint/naming-convention': 'off'
151
152
  }
152
- }
153
+ },
154
+
155
+ // Disable all formatting rules that conflict with Prettier
156
+ // This must be last to override any formatting rules from above
157
+ prettierConfig
153
158
  ]
154
159
  }
@@ -38,6 +38,7 @@ CHANGELOG.md
38
38
  .parcel-cache/
39
39
  .turbo/
40
40
  .vite/
41
+ .vitepress/
41
42
 
42
43
  # Environment files (may contain secrets)
43
44
  .env
@@ -30,6 +30,7 @@ export const FRAMEWORK_BUILD_DIRS = [
30
30
  '.parcel-cache', // Parcel
31
31
  '.turbo', // Turborepo
32
32
  '.vite', // Vite
33
+ '.vitepress', // VitePress
33
34
  '.svelte-kit' // SvelteKit
34
35
  ]
35
36