From e38231b8659bfdfe7335e2f80fde072e68bcf699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Gerber?= Date: Fri, 26 Jul 2024 10:56:24 +0200 Subject: [PATCH] chore: fix build script output paths on windows (#20223) closes #19169 --- packages/vuetify/build/rollup.config.mjs | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/vuetify/build/rollup.config.mjs b/packages/vuetify/build/rollup.config.mjs index 29042424e6d..0000c0ee19a 100644 --- a/packages/vuetify/build/rollup.config.mjs +++ b/packages/vuetify/build/rollup.config.mjs @@ -27,6 +27,10 @@ function fixWindowsPath(path) { return path.replace(/^[^:]+:\\/, '\\').replaceAll('\\', '/') } +const srcDir = fixWindowsPath(fileURLToPath(new URL('../src', import.meta.url))); +const libDir = fixWindowsPath(fileURLToPath(new URL('../lib', import.meta.url))); +const labsDir = fixWindowsPath(fileURLToPath(new URL('../src/labs', import.meta.url))); + export default [ { input: 'src/entry-bundler.ts', @@ -85,11 +89,9 @@ export default [ }) // Individual CSS files - for (const { id, content } of styleNodes) { - const out = path.parse(fixWindowsPath(id).replace( - fileURLToPath(new URL('../src', import.meta.url)), - fileURLToPath(new URL('../lib', import.meta.url)) - )) + for (const {id, content} of styleNodes) { + const relativePath = path.relative(srcDir, fixWindowsPath(id)) + const out = path.parse(path.join(libDir, relativePath)) mkdirp(out.dir).then(() => { writeFile(path.join(out.dir, out.name + '.css'), content, 'utf8') }) @@ -222,12 +224,13 @@ export default [ }) // Individual CSS files - styleNodes = styleNodes.filter(node => node.id.includes('src/labs')) + styleNodes = styleNodes.filter(node => { + return fixWindowsPath(node.id).startsWith(labsDir) + } + ); for (const { id, content } of styleNodes) { - const out = path.parse(fixWindowsPath(id).replace( - fileURLToPath(new URL('../src', import.meta.url)), - fileURLToPath(new URL('../lib', import.meta.url)) - )) + const relativePath = path.relative(srcDir, fixWindowsPath(id)) + const out = path.parse(path.join(libDir, relativePath)) mkdirp(out.dir).then(() => { writeFile(path.join(out.dir, out.name + '.css'), content, 'utf8') })