Skip to content

Commit 93fa929

Browse files
authored
fix: change style plugin prefix for NUXT
2 parents 4a40d39 + 678cec2 commit 93fa929

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

packages/vite-plugin/src/stylesPlugin.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ function isSubdir (root: string, test: string) {
99
return relative && !relative.startsWith('..') && !path.isAbsolute(relative)
1010
}
1111

12+
const PLUGIN_VIRTUAL_PREFIX = "virtual:"
13+
const PLUGIN_VIRTUAL_NAME = "plugin-vuetify"
14+
const VIRTUAL_MODULE_ID = `${PLUGIN_VIRTUAL_PREFIX}${PLUGIN_VIRTUAL_NAME}`
15+
1216
export function stylesPlugin (options: Options): Plugin {
1317
const vuetifyBase = resolveVuetifyBase()
1418

@@ -36,7 +40,7 @@ export function stylesPlugin (options: Options): Plugin {
3640
)
3741
) {
3842
if (options.styles === 'none') {
39-
return '\0__void__'
43+
return `${PLUGIN_VIRTUAL_PREFIX}__void__`
4044
} else if (options.styles === 'sass') {
4145
const target = source.replace(/\.css$/, '.sass')
4246
return this.resolve(target, importer, { skipSelf: true, custom })
@@ -51,25 +55,27 @@ export function stylesPlugin (options: Options): Plugin {
5155

5256
tempFiles.set(file, contents)
5357

54-
return `\0plugin-vuetify:${file}`
58+
return `${VIRTUAL_MODULE_ID}:${file}`
5559
}
56-
} else if (source.startsWith('/plugin-vuetify:')) {
57-
return '\0' + source.slice(1)
58-
} else if (source.startsWith('/@id/__x00__plugin-vuetify:')) {
59-
return '\0' + source.slice(12)
60+
} else if (source.startsWith(`/${PLUGIN_VIRTUAL_NAME}:`)) {
61+
return PLUGIN_VIRTUAL_PREFIX + source.slice(1)
62+
} else if (source.startsWith(`/@id/__x00__${PLUGIN_VIRTUAL_NAME}:`)) {
63+
return PLUGIN_VIRTUAL_PREFIX + source.slice(12)
64+
} else if (source.startsWith(`/${VIRTUAL_MODULE_ID}:`)) {
65+
return source.slice(1)
6066
}
6167

6268
return null
6369
},
6470
load (id) {
6571
// When Vite is configured with `optimizeDeps.exclude: ['vuetify']`, the
6672
// received id contains a version hash (e.g. \0__void__?v=893fa859).
67-
if (/^\0__void__(\?.*)?$/.test(id)) {
73+
if (new RegExp(`^${PLUGIN_VIRTUAL_PREFIX}__void__(\\?.*)?$`).test(id)) {
6874
return ''
6975
}
7076

71-
if (id.startsWith('\0plugin-vuetify')) {
72-
const file = /^\0plugin-vuetify:(.*?)(\?.*)?$/.exec(id)![1]
77+
if (id.startsWith(`${VIRTUAL_MODULE_ID}`)) {
78+
const file = new RegExp(`^${VIRTUAL_MODULE_ID}:(.*?)(\\?.*)?$`).exec(id)![1]
7379

7480
return tempFiles.get(file)
7581
}

0 commit comments

Comments
 (0)