From cc9b7bff907419a87e25e768a3cc6d2b9d5b889a Mon Sep 17 00:00:00 2001 From: dominikg Date: Tue, 1 Jun 2021 23:33:29 +0200 Subject: [PATCH] fix: Revert "fix: avoid css leaking into emitted javascript (#3402)" fix for #3610 and partial fix for #2282 This reverts commit 65d333d8 --- packages/playground/css/__tests__/css.spec.ts | 7 ------- packages/playground/css/imported-without-variable.css | 3 --- packages/playground/css/index.html | 4 ---- packages/playground/css/main.js | 2 -- packages/vite/src/node/plugins/css.ts | 4 ++-- 5 files changed, 2 insertions(+), 18 deletions(-) delete mode 100644 packages/playground/css/imported-without-variable.css diff --git a/packages/playground/css/__tests__/css.spec.ts b/packages/playground/css/__tests__/css.spec.ts index 260ef7e431249d..212778a375a5dd 100644 --- a/packages/playground/css/__tests__/css.spec.ts +++ b/packages/playground/css/__tests__/css.spec.ts @@ -30,19 +30,12 @@ test('linked css', async () => { }) test('css import from js', async () => { - const importedNoVars = await page.$('.imported-no-vars') const imported = await page.$('.imported') const atImport = await page.$('.imported-at-import') - expect(await getColor(importedNoVars)).toBe('magenta') expect(await getColor(imported)).toBe('green') expect(await getColor(atImport)).toBe('purple') - editFile('imported-without-variable.css', (code) => - code.replace('color: magenta', 'color: cyan') - ) - await untilUpdated(() => getColor(importedNoVars), 'cyan') - editFile('imported.css', (code) => code.replace('color: green', 'color: red')) await untilUpdated(() => getColor(imported), 'red') diff --git a/packages/playground/css/imported-without-variable.css b/packages/playground/css/imported-without-variable.css deleted file mode 100644 index 1f3b0892a6a325..00000000000000 --- a/packages/playground/css/imported-without-variable.css +++ /dev/null @@ -1,3 +0,0 @@ -.imported-no-vars { - color: magenta; -} diff --git a/packages/playground/css/index.html b/packages/playground/css/index.html index 450cc4ef266de4..ac2d0e90fb5526 100644 --- a/packages/playground/css/index.html +++ b/packages/playground/css/index.html @@ -6,10 +6,6 @@

CSS

<link>: This should be blue

@import in <link>: This should be red

-

- import from js, no vars: This should be magenta -

-

import from js: This should be green

@import in import from js: This should be purple diff --git a/packages/playground/css/main.js b/packages/playground/css/main.js index a8b7399aa4425a..31b44b5552a8e5 100644 --- a/packages/playground/css/main.js +++ b/packages/playground/css/main.js @@ -1,5 +1,3 @@ -import './imported-without-variable.css' - import css from './imported.css' text('.imported-css', css) diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 9420d1158bdce8..7a6f08ca45f59a 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -263,7 +263,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { } else { // server only if (ssr) { - return modulesCode || `export default ''` + return modulesCode || `export default ${JSON.stringify(css)}` } return [ `import { updateStyle, removeStyle } from ${JSON.stringify( @@ -285,7 +285,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { styles.set(id, css) return { - code: modulesCode || `export default ''`, + code: modulesCode || `export default ${JSON.stringify(css)}`, map: { mappings: '' }, // avoid the css module from being tree-shaken so that we can retrieve // it in renderChunk()