From e908bd0b209267cce8d8216dea51e843256a5012 Mon Sep 17 00:00:00 2001 From: sakurayinfei <970412446@qq.com> Date: Thu, 28 Aug 2025 11:30:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dopen-scripts=E6=9C=AA?= =?UTF-8?q?=E7=BC=96=E8=AF=91=5Fstyles=E6=96=87=E4=BB=B6=E5=A4=B9=EF=BC=8C?= =?UTF-8?q?=E6=9C=AA=E7=BC=96=E8=AF=91theme-[skin].scss=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=9A=84bug=EF=BC=8C=E4=BF=AE=E5=A4=8D=E8=BE=93=E5=87=BAcss.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/scripts/src/build-style/index.ts | 26 +++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/scripts/src/build-style/index.ts b/packages/scripts/src/build-style/index.ts index 49a6296e..9995256f 100644 --- a/packages/scripts/src/build-style/index.ts +++ b/packages/scripts/src/build-style/index.ts @@ -42,22 +42,44 @@ export default function main() { fs.writeFileSync('dist/index.scss', "@import '../es/index.scss';"); } - if (/theme\/.+\/index.scss$/.test(fl)) { + if (/theme\/(?!_)[^/]+\/index.scss$/.test(fl)) { fs.outputFile(`dist/${fl.replace(/\.scss$/, '.css')}`, result.css); const compress = new CleanCSS().minify(result.css); fs.outputFile(`dist/${fl.replace(/\.scss$/, '.min.css')}`, compress.styles); } } + // Compile Skin files + if (/theme-.+\.scss$/.test(fl)) { + const result = compile(fPath, {}); + fs.outputFile(`es/${fl.replace(/\.scss$/, '.css')}`, result.css); + fs.outputFile(`lib/${fl.replace(/\.scss$/, '.css')}`, result.css); + } }); // build index - const idxFiles = globSync('**/style/**/*index.ts', { + const idxFiles = globSync(['**/style/**/*index.ts', '_styles/index.ts'], { cwd: input, + posix: true, }); idxFiles.forEach((fl) => { const fpath = path.resolve(input, fl); const toFl = fl.replace(/\.ts$/, '.js'); fs.copySync(fpath, `es/${toFl}`); fs.copySync(fpath, `lib/${toFl}`); + + const content = fs.readFileSync(fpath, 'utf-8'); + const css = content + .replace(/\.scss/g, '.css') + .replace(/\/style';/g, "/style/css';") + .replace(/\/_styles';/g, "/_styles/css';") + .replace(/theme-(.+)\.index/g, 'theme-$1.index.css'); + let cssFile = ''; + if (fl.endsWith('/index.ts')) { + cssFile = fl.replace(/index\.ts$/, 'css.js'); + } else { + cssFile = fl.replace(/\.ts$/, '.css.js'); + } + fs.outputFile(`es/${cssFile}`, css); + fs.outputFile(`lib/${cssFile}`, css); }); // copy scss index -- Gitee