diff --git a/.changeset/silver-geese-punch.md b/.changeset/silver-geese-punch.md new file mode 100644 index 000000000..309429d77 --- /dev/null +++ b/.changeset/silver-geese-punch.md @@ -0,0 +1,5 @@ +--- +"sv": patch +--- + +fix: `tailwindcss` import insertions and execution order diff --git a/packages/adders/tailwindcss/index.ts b/packages/adders/tailwindcss/index.ts index aded2740d..0f1b48d57 100644 --- a/packages/adders/tailwindcss/index.ts +++ b/packages/adders/tailwindcss/index.ts @@ -128,13 +128,18 @@ export default defineAdder({ { name: () => 'src/app.css', content: ({ content }) => { - const { ast, generateCode } = parseCss(content); const layerImports = ['base', 'components', 'utilities'].map( - (layer) => `"tailwindcss/${layer}"` + (layer) => `tailwindcss/${layer}` ); + if (layerImports.every((i) => content.includes(i))) { + return content; + } + + const { ast, generateCode } = parseCss(content); const originalFirst = ast.first; - const nodes = addImports(ast, layerImports); + const specifiers = layerImports.map((i) => `'${i}'`); + const nodes = addImports(ast, specifiers); if ( originalFirst !== ast.first && diff --git a/packages/cli/commands/add/index.ts b/packages/cli/commands/add/index.ts index 4c42650c9..d14fca295 100644 --- a/packages/cli/commands/add/index.ts +++ b/packages/cli/commands/add/index.ts @@ -508,6 +508,7 @@ async function runAdders({ // and adders with dependencies runs later on, based on the adders they depend on. // based on https://stackoverflow.com/a/72030336/16075084 details.sort((a, b) => { + if (!a.dependsOn && !b.dependsOn) return 0; if (!a.dependsOn) return -1; if (!b.dependsOn) return 1;