@@ -21,6 +21,7 @@ export default defineAddon({
21
21
const prettierInstalled = Boolean ( dependencyVersion ( 'prettier' ) ) ;
22
22
23
23
sv . devDependency ( 'eslint' , '^9.7.0' ) ;
24
+ sv . devDependency ( '@eslint/compat' , '^1.2.3' ) ;
24
25
sv . devDependency ( 'globals' , '^15.0.0' ) ;
25
26
sv . devDependency ( 'eslint-plugin-svelte' , '^2.36.0' ) ;
26
27
@@ -56,6 +57,14 @@ export default defineAddon({
56
57
AstKinds . ExpressionKind | AstTypes . SpreadElement | AstTypes . ObjectExpression
57
58
> = [ ] ;
58
59
60
+ const gitIgnorePathStatement = common . statementFromString (
61
+ '\nconst gitignorePath = fileURLToPath(new URL("./.gitignore", import.meta.url));'
62
+ ) ;
63
+ common . addStatement ( ast , gitIgnorePathStatement ) ;
64
+
65
+ const ignoresConfig = common . expressionFromString ( 'includeIgnoreFile(gitignorePath)' ) ;
66
+ eslintConfigs . push ( ignoresConfig ) ;
67
+
59
68
const jsConfig = common . expressionFromString ( 'js.configs.recommended' ) ;
60
69
eslintConfigs . push ( jsConfig ) ;
61
70
@@ -92,11 +101,6 @@ export default defineAddon({
92
101
eslintConfigs . push ( svelteTSParserConfig ) ;
93
102
}
94
103
95
- const ignoresConfig = object . create ( {
96
- ignores : common . expressionFromString ( '["build/", ".svelte-kit/", "dist/"]' )
97
- } ) ;
98
- eslintConfigs . push ( ignoresConfig ) ;
99
-
100
104
let exportExpression : AstTypes . ArrayExpression | AstTypes . CallExpression ;
101
105
if ( typescript ) {
102
106
const tsConfigCall = functions . call ( 'ts.config' , [ ] ) ;
@@ -121,8 +125,10 @@ export default defineAddon({
121
125
122
126
// imports
123
127
if ( typescript ) imports . addDefault ( ast , 'typescript-eslint' , 'ts' ) ;
128
+ imports . addNamed ( ast , 'node:url' , { fileURLToPath : 'fileURLToPath' } ) ;
124
129
imports . addDefault ( ast , 'globals' , 'globals' ) ;
125
130
imports . addDefault ( ast , 'eslint-plugin-svelte' , 'svelte' ) ;
131
+ imports . addNamed ( ast , '@eslint/compat' , { includeIgnoreFile : 'includeIgnoreFile' } ) ;
126
132
imports . addDefault ( ast , '@eslint/js' , 'js' ) ;
127
133
128
134
return generateCode ( ) ;
0 commit comments