diff --git a/packages/config/package.json b/packages/config/package.json index f883b70c2b..eba60d4298 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -38,6 +38,6 @@ }, "dependencies": { "@unocss/core": "workspace:*", - "unconfig": "^0.3.8" + "unconfig": "^0.3.9" } } diff --git a/packages/core/package.json b/packages/core/package.json index 583eb516bb..2353ed2087 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -42,6 +42,6 @@ }, "devDependencies": { "magic-string": "^0.30.0", - "unconfig": "^0.3.8" + "unconfig": "^0.3.9" } } diff --git a/packages/vscode/package.json b/packages/vscode/package.json index c546ae36c6..24ab080754 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -89,6 +89,6 @@ "jiti": "^1.18.2", "prettier": "^2.8.8", "tsup": "^6.7.0", - "unconfig": "^0.3.8" + "unconfig": "^0.3.9" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d6f2666926..8d21b12cec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -533,8 +533,8 @@ importers: specifier: workspace:* version: link:../core unconfig: - specifier: ^0.3.8 - version: 0.3.8 + specifier: ^0.3.9 + version: 0.3.9 packages/core: devDependencies: @@ -542,8 +542,8 @@ importers: specifier: ^0.30.0 version: 0.30.0 unconfig: - specifier: ^0.3.8 - version: 0.3.8 + specifier: ^0.3.9 + version: 0.3.9 packages/eslint-config: dependencies: @@ -1029,8 +1029,8 @@ importers: specifier: ^6.7.0 version: 6.7.0(postcss@8.4.23)(typescript@5.0.4) unconfig: - specifier: ^0.3.8 - version: 0.3.8 + specifier: ^0.3.9 + version: 0.3.9 packages/webpack: dependencies: @@ -19789,7 +19789,7 @@ packages: pacote: 15.1.3 prompts: 2.4.2 semver: 7.5.1 - unconfig: 0.3.8 + unconfig: 0.3.9 yargs: 17.7.2 transitivePeerDependencies: - bluebird @@ -20383,8 +20383,8 @@ packages: - supports-color dev: true - /unconfig@0.3.8: - resolution: {integrity: sha512-Z2+4i1tnNB49T8KFUlBOGXVsXgxlMb8U5C7HnrrJJs8O6ncKl9xiwRHEw6S7rxqjPWvxCVuaKW1w4UjQAfk7Xw==} + /unconfig@0.3.9: + resolution: {integrity: sha512-8yhetFd48M641mxrkWA+C/lZU4N0rCOdlo3dFsyFPnBHBjMJfjT/3eAZBRT2RxCRqeBMAKBVgikejdS6yeBjMw==} dependencies: '@antfu/utils': 0.7.2 defu: 6.1.2 diff --git a/test/__snapshots__/cli.test.ts.snap b/test/__snapshots__/cli.test.ts.snap index 6d1cd6bc50..d7dd937503 100644 --- a/test/__snapshots__/cli.test.ts.snap +++ b/test/__snapshots__/cli.test.ts.snap @@ -10,11 +10,6 @@ exports[`cli > supports directives transformer 1`] = `""`; exports[`cli > supports directives transformer 2`] = `".btn-center{margin-top:0;margin-bottom:0;text-align:center;font-weight:500;}"`; -exports[`cli > supports uno.config.ts changed rebuild 1`] = ` -"/* layer: shortcuts */ -.box{margin-left:auto;margin-right:auto;max-width:80rem;border-radius:0.375rem;--un-bg-opacity:1;background-color:rgba(243,244,246,var(--un-bg-opacity));padding:1rem;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}" -`; - exports[`cli > supports unocss.config.js 1`] = ` "/* layer: shortcuts */ .box{margin-left:auto;margin-right:auto;max-width:80rem;border-radius:0.375rem;--un-bg-opacity:1;background-color:rgba(243,244,246,var(--un-bg-opacity));padding:1rem;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,0.05));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}" diff --git a/test/cli.test.ts b/test/cli.test.ts index ac6e4d5ad1..a899486593 100644 --- a/test/cli.test.ts +++ b/test/cli.test.ts @@ -12,6 +12,7 @@ beforeAll(async () => { }) afterAll(async () => { + (await getWatcher()).close() await fs.remove(tempDir) }) @@ -38,46 +39,6 @@ export default defineConfig({ expect(output).toMatchSnapshot() }) - it('supports uno.config.ts changed rebuild', async () => { - const { output, testDir } = await runCli({ - 'views/index.html': '
', - 'uno.config.ts': ` -import { defineConfig } from 'unocss' -export default defineConfig({ - theme: { - colors: { - foo: "red", - } - } -})`.trim(), - }, { args: ['-w'] }) - for (let i = 50; i >= 0; i--) { - await sleep(50) - if (output) - break - } - expect(output).toContain('.bg-foo{background-color:red;}') - await fs.writeFile(resolve(testDir as string, 'uno.config.ts'), ` -import { defineConfig } from 'unocss' -export default defineConfig({ - theme: { - colors: { - foo: "blue", - } - } -}) - `) - for (let i = 100; i >= 0; i--) { - await sleep(500) - const outputChanged = await readFile(testDir as string) - if (i === 0 || outputChanged.includes('.bg-foo')) { - expect(outputChanged).toContain('.bg-foo{background-color:blue;}') - break - } - } - (await getWatcher()).close() - }) - it('supports variantGroup transformer', async () => { const { output, transform } = await runCli({ 'views/index.html': '
', @@ -173,7 +134,47 @@ export default defineConfig({ expect(output1).toContain('.bg-blue') expect(output2).toContain('.bg-red') }) + + it('supports uno.config.ts changed rebuild', async () => { + const { output, testDir } = await runCli({ + 'views/index.html': '
', + 'uno.config.ts': ` +import { defineConfig } from 'unocss' +export default defineConfig({ + theme: { + colors: { + foo: "red", + } + } +})`.trim(), + }, { args: ['-w'] }) + for (let i = 50; i >= 0; i--) { + await sleep(50) + if (output) + break + } + expect(output).toContain('.bg-foo{background-color:red;}') + await fs.writeFile(resolve(testDir as string, 'uno.config.ts'), ` +import { defineConfig } from 'unocss' +export default defineConfig({ + theme: { + colors: { + foo: "blue", + } + } }) + `) + for (let i = 100; i >= 0; i--) { + await sleep(500) + const outputChanged = await readFile(testDir as string) + if (i === 0 || outputChanged.includes('.bg-foo{background-color:blue;}')) { + expect(outputChanged).toContain('.bg-foo{background-color:blue;}') + break + } + } + }) +}) + // ----- Utils ----- function sleep(time = 300) { return new Promise((resolve) => {