diff --git a/.changeset/great-rabbits-argue.md b/.changeset/great-rabbits-argue.md new file mode 100644 index 00000000..f076b60a --- /dev/null +++ b/.changeset/great-rabbits-argue.md @@ -0,0 +1,7 @@ +--- +"@devup-ui/rsbuild-plugin": patch +"@devup-ui/webpack-plugin": patch +"@devup-ui/vite-plugin": patch +--- + +Fix create file issue diff --git a/libs/extractor/src/lib.rs b/libs/extractor/src/lib.rs index 1aa58228..c32e29a2 100644 --- a/libs/extractor/src/lib.rs +++ b/libs/extractor/src/lib.rs @@ -113,7 +113,7 @@ pub fn extract( ) }; let mut css_files = vec![css_file.clone()]; - if option.import_main_css { + if option.import_main_css && !option.single_css { css_files.insert(0, format!("{}/devup-ui.css", option.css_dir)); } let allocator = Allocator::default(); diff --git a/packages/rsbuild-plugin/src/plugin.ts b/packages/rsbuild-plugin/src/plugin.ts index 01c1de6a..b54a5721 100644 --- a/packages/rsbuild-plugin/src/plugin.ts +++ b/packages/rsbuild-plugin/src/plugin.ts @@ -130,7 +130,7 @@ export const DevupUI = ({ return code const { code: retCode, - css, + css = '', map, cssFile, updatedBaseStyle, @@ -155,11 +155,11 @@ export const DevupUI = ({ ) } - if (css) { + if (cssFile) { if (globalCss.length < css.length) globalCss = css promises.push( writeFile( - join(cssDir, basename(cssFile!)), + join(cssDir, basename(cssFile)), `/* ${resourcePath} ${Date.now()} */`, 'utf-8', ), diff --git a/packages/vite-plugin/src/plugin.ts b/packages/vite-plugin/src/plugin.ts index fda0f024..558142dd 100644 --- a/packages/vite-plugin/src/plugin.ts +++ b/packages/vite-plugin/src/plugin.ts @@ -188,7 +188,7 @@ export function DevupUI({ const { code: retCode, - css, + css = '', map, cssFile, updatedBaseStyle, @@ -203,7 +203,7 @@ export function DevupUI({ ) } - if (css) { + if (cssFile) { const fileNum = getFileNumByFilename(cssFile!) const prevCss = cssMap.get(fileNum) if (prevCss && prevCss.length < css.length) cssMap.set(fileNum, css) diff --git a/packages/webpack-plugin/src/__tests__/loader.test.ts b/packages/webpack-plugin/src/__tests__/loader.test.ts index e3e4b62d..adead08e 100644 --- a/packages/webpack-plugin/src/__tests__/loader.test.ts +++ b/packages/webpack-plugin/src/__tests__/loader.test.ts @@ -112,7 +112,7 @@ describe('devupUILoader', () => { css: undefined, free: vi.fn(), map: undefined, - cssFile: 'cssFile', + cssFile: undefined, updatedBaseStyle: false, }) devupUILoader.bind(t as any)(Buffer.from('code'), 'index.tsx') diff --git a/packages/webpack-plugin/src/loader.ts b/packages/webpack-plugin/src/loader.ts index 29368b67..b9645ae1 100644 --- a/packages/webpack-plugin/src/loader.ts +++ b/packages/webpack-plugin/src/loader.ts @@ -41,7 +41,13 @@ const devupUILoader: RawLoaderDefinitionFunction = ) if (!rel.startsWith('./')) rel = `./${rel}` - const { code, css, map, cssFile, updatedBaseStyle } = codeExtract( + const { + code, + css = '', + map, + cssFile, + updatedBaseStyle, + } = codeExtract( id, source.toString(), libPackage, @@ -58,7 +64,7 @@ const devupUILoader: RawLoaderDefinitionFunction = writeFile(join(cssDir, 'devup-ui.css'), getCss(null, false), 'utf-8'), ) } - if (css) { + if (cssFile) { const content = `${this.resourcePath} ${Date.now()}` if (watch && this._compiler) (this._compiler as any).__DEVUP_CACHE = content