@@ -35,6 +35,16 @@ export default defineAddon({
3535 run : ( { sv, options, files, typescript, kit, dependencyVersion } ) => {
3636 const prettierInstalled = Boolean ( dependencyVersion ( 'prettier' ) ) ;
3737
38+ const stylesheet = kit
39+ ? ( {
40+ rootPath : `${ kit . routesDirectory } /layout.css` ,
41+ relativePath : './layout.css'
42+ } as const )
43+ : ( {
44+ rootPath : 'src/app.css' ,
45+ relativePath : './app.css'
46+ } as const ) ;
47+
3848 sv . devDependency ( 'tailwindcss' , '^4.1.14' ) ;
3949 sv . devDependency ( '@tailwindcss/vite' , '^4.1.14' ) ;
4050 sv . pnpmBuildDependency ( '@tailwindcss/oxide' ) ;
@@ -58,7 +68,7 @@ export default defineAddon({
5868 return generateCode ( ) ;
5969 } ) ;
6070
61- sv . file ( 'src/app.css' , ( content ) => {
71+ sv . file ( stylesheet . rootPath , ( content ) => {
6272 let atRules = parseCss ( content ) . ast . nodes . filter ( ( node ) => node . type === 'atrule' ) ;
6373
6474 const findAtRule = ( name : string , params : string ) =>
@@ -96,13 +106,13 @@ export default defineAddon({
96106 if ( ! kit ) {
97107 sv . file ( 'src/App.svelte' , ( content ) => {
98108 const { script, generateCode } = parseSvelte ( content , { typescript } ) ;
99- imports . addEmpty ( script . ast , { from : './app.css' } ) ;
109+ imports . addEmpty ( script . ast , { from : stylesheet . relativePath } ) ;
100110 return generateCode ( { script : script . generateCode ( ) } ) ;
101111 } ) ;
102112 } else {
103113 sv . file ( `${ kit ?. routesDirectory } /+layout.svelte` , ( content ) => {
104114 const { script, template, generateCode } = parseSvelte ( content , { typescript } ) ;
105- imports . addEmpty ( script . ast , { from : '../app.css' } ) ;
115+ imports . addEmpty ( script . ast , { from : stylesheet . relativePath } ) ;
106116
107117 if ( content . length === 0 ) {
108118 const svelteVersion = dependencyVersion ( 'svelte' ) ;
@@ -120,6 +130,15 @@ export default defineAddon({
120130 } ) ;
121131 }
122132
133+ sv . file ( '.vscode/settings.json' , ( content ) => {
134+ const { data, generateCode } = parseJson ( content ) ;
135+
136+ data [ 'files.associations' ] ??= { } ;
137+ data [ 'files.associations' ] [ '*.css' ] = 'tailwind' ;
138+
139+ return generateCode ( ) ;
140+ } ) ;
141+
123142 if ( prettierInstalled ) {
124143 sv . file ( '.prettierrc' , ( content ) => {
125144 const { data, generateCode } = parseJson ( content ) ;
@@ -130,7 +149,7 @@ export default defineAddon({
130149
131150 if ( ! plugins . includes ( PLUGIN_NAME ) ) plugins . push ( PLUGIN_NAME ) ;
132151
133- data . tailwindStylesheet ??= './src/app.css' ;
152+ data . tailwindStylesheet ??= stylesheet . rootPath ;
134153
135154 return generateCode ( ) ;
136155 } ) ;
0 commit comments