@@ -22,6 +22,8 @@ export default defineAddon({
2222
2323 sv . devDependency ( 'eslint' , '^9.18.0' ) ;
2424 sv . devDependency ( '@eslint/compat' , '^1.2.5' ) ;
25+ sv . devDependency ( 'globals' , '^15.14.0' ) ;
26+ sv . devDependency ( 'eslint-plugin-svelte' , '^3.0.0' ) ;
2527 sv . devDependency ( 'globals' , '^16.0.0' ) ;
2628 sv . devDependency ( 'eslint-plugin-svelte' , '^2.46.1' ) ;
2729 sv . devDependency ( '@eslint/js' , '^9.18.0' ) ;
@@ -58,6 +60,8 @@ export default defineAddon({
5860 AstKinds . ExpressionKind | AstTypes . SpreadElement | AstTypes . ObjectExpression
5961 > = [ ] ;
6062
63+ imports . addDefault ( ast , './svelte.config.js' , 'svelteConfig' ) ;
64+
6165 const gitIgnorePathStatement = common . statementFromString (
6266 '\nconst gitignorePath = fileURLToPath(new URL("./.gitignore", import.meta.url));'
6367 ) ;
@@ -74,7 +78,7 @@ export default defineAddon({
7478 eslintConfigs . push ( common . createSpreadElement ( tsConfig ) ) ;
7579 }
7680
77- const svelteConfig = common . expressionFromString ( 'svelte.configs["flat/ recommended"] ' ) ;
81+ const svelteConfig = common . expressionFromString ( 'svelte.configs. recommended' ) ;
7882 eslintConfigs . push ( common . createSpreadElement ( svelteConfig ) ) ;
7983
8084 const globalsBrowser = common . createSpreadElement (
@@ -92,10 +96,24 @@ export default defineAddon({
9296
9397 if ( typescript ) {
9498 const svelteTSParserConfig = object . create ( {
95- files : common . expressionFromString ( '["**/*.svelte"]' ) ,
99+ files : common . expressionFromString ( '["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"]' ) ,
100+ ignores : common . expressionFromString ( '["eslint.config.js", "svelte.config.js"]' ) ,
101+ languageOptions : object . create ( {
102+ parserOptions : object . create ( {
103+ projectService : common . expressionFromString ( 'true' ) ,
104+ extraFileExtensions : common . expressionFromString ( "['.svelte']" ) ,
105+ parser : common . expressionFromString ( 'ts.parser' ) ,
106+ svelteConfig : common . expressionFromString ( 'svelteConfig' )
107+ } )
108+ } )
109+ } ) ;
110+ eslintConfigs . push ( svelteTSParserConfig ) ;
111+ } else {
112+ const svelteTSParserConfig = object . create ( {
113+ files : common . expressionFromString ( '["**/*.svelte", "**/*.svelte.js"]' ) ,
96114 languageOptions : object . create ( {
97115 parserOptions : object . create ( {
98- parser : common . expressionFromString ( 'ts.parser ' )
116+ svelteConfig : common . expressionFromString ( 'svelteConfig ' )
99117 } )
100118 } )
101119 } ) ;
0 commit comments