Skip to content

Commit 17f8307

Browse files
committed
refactor: extract plugin virtual prefix and name from style plugins
1 parent 7aea0f6 commit 17f8307

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

packages/vite-plugin/src/stylesPlugin.ts

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

12+
const PLUGIN_VIRTUAL_PREFIX = "\0"
13+
const PLUGIN_VIRTUAL_NAME = "plugin-vuetify"
14+
1215
export function stylesPlugin (options: Options): Plugin {
1316
const vuetifyBase = resolveVuetifyBase()
1417

@@ -36,7 +39,7 @@ export function stylesPlugin (options: Options): Plugin {
3639
)
3740
) {
3841
if (options.styles === 'none') {
39-
return '\0__void__'
42+
return `${PLUGIN_VIRTUAL_PREFIX}__void__`
4043
} else if (options.styles === 'sass') {
4144
const target = source.replace(/\.css$/, '.sass')
4245
return this.resolve(target, importer, { skipSelf: true, custom })
@@ -51,25 +54,25 @@ export function stylesPlugin (options: Options): Plugin {
5154

5255
tempFiles.set(file, contents)
5356

54-
return `\0plugin-vuetify:${file}`
57+
return `${PLUGIN_VIRTUAL_PREFIX}${PLUGIN_VIRTUAL_NAME}:${file}`
5558
}
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)
59+
} else if (source.startsWith(`/${PLUGIN_VIRTUAL_NAME}:`)) {
60+
return PLUGIN_VIRTUAL_PREFIX + source.slice(1)
61+
} else if (source.startsWith(`/@id/__x00__${PLUGIN_VIRTUAL_NAME}:`)) {
62+
return PLUGIN_VIRTUAL_PREFIX + source.slice(12)
6063
}
6164

6265
return null
6366
},
6467
load (id) {
6568
// When Vite is configured with `optimizeDeps.exclude: ['vuetify']`, the
6669
// received id contains a version hash (e.g. \0__void__?v=893fa859).
67-
if (/^\0__void__(\?.*)?$/.test(id)) {
70+
if (new RegExp(`^${PLUGIN_VIRTUAL_PREFIX}__void__(\\?.*)?$/`).test(id)) {
6871
return ''
6972
}
7073

71-
if (id.startsWith('\0plugin-vuetify')) {
72-
const file = /^\0plugin-vuetify:(.*?)(\?.*)?$/.exec(id)![1]
74+
if (id.startsWith(`${PLUGIN_VIRTUAL_PREFIX}${PLUGIN_VIRTUAL_NAME}`)) {
75+
const file = new RegExp(`^${PLUGIN_VIRTUAL_PREFIX}${PLUGIN_VIRTUAL_NAME}:(.*?)(\\?.*)?$`).exec(id)![1]
7376

7477
return tempFiles.get(file)
7578
}

0 commit comments

Comments
 (0)