2022-08-03 13:57:50 +00:00
|
|
|
const path = require('node:path')
|
2022-03-07 13:35:36 +00:00
|
|
|
|
2022-11-29 09:03:06 +00:00
|
|
|
// trigger scss bug: https://github.com/sass/dart-sass/issues/710
|
|
|
|
// make sure Vite handles safely
|
|
|
|
globalThis.window = {}
|
|
|
|
globalThis.location = new URL('http://localhost/')
|
|
|
|
|
2020-12-24 04:28:17 +00:00
|
|
|
/**
|
|
|
|
* @type {import('vite').UserConfig}
|
|
|
|
*/
|
|
|
|
module.exports = {
|
2021-10-09 10:09:06 +00:00
|
|
|
build: {
|
|
|
|
cssTarget: 'chrome61',
|
|
|
|
},
|
2022-07-19 06:48:12 +00:00
|
|
|
esbuild: {
|
|
|
|
logOverride: {
|
|
|
|
'unsupported-css-property': 'silent',
|
|
|
|
},
|
|
|
|
},
|
2021-02-11 20:51:21 +00:00
|
|
|
resolve: {
|
|
|
|
alias: {
|
2022-11-01 09:01:41 +00:00
|
|
|
'=': __dirname,
|
2022-07-01 03:08:47 +00:00
|
|
|
spacefolder: __dirname + '/folder with space',
|
|
|
|
'#alias': __dirname + '/aliased/foo.css',
|
|
|
|
'#alias-module': __dirname + '/aliased/bar.module.css',
|
2021-02-11 20:51:21 +00:00
|
|
|
},
|
2021-01-26 16:30:34 +00:00
|
|
|
},
|
2020-12-24 04:28:17 +00:00
|
|
|
css: {
|
|
|
|
modules: {
|
|
|
|
generateScopedName: '[name]__[local]___[hash:base64:5]',
|
2021-02-15 15:00:13 +00:00
|
|
|
|
|
|
|
// example of how getJSON can be used to generate
|
|
|
|
// typescript typings for css modules class names
|
|
|
|
|
|
|
|
// getJSON(cssFileName, json, _outputFileName) {
|
|
|
|
// let typings = 'declare const classNames: {\n'
|
|
|
|
// for (let className in json) {
|
|
|
|
// typings += ` "${className}": string;\n`
|
|
|
|
// }
|
|
|
|
// typings += '};\n'
|
|
|
|
// typings += 'export default classNames;\n'
|
|
|
|
// const { join, dirname, basename } = require('path')
|
|
|
|
// const typingsFile = join(
|
|
|
|
// dirname(cssFileName),
|
|
|
|
// basename(cssFileName) + '.d.ts'
|
|
|
|
// )
|
|
|
|
// require('fs').writeFileSync(typingsFile, typings)
|
|
|
|
// },
|
2020-12-24 04:28:17 +00:00
|
|
|
},
|
|
|
|
preprocessorOptions: {
|
|
|
|
scss: {
|
2021-05-12 17:28:39 +00:00
|
|
|
additionalData: `$injectedColor: orange;`,
|
2022-09-22 08:42:55 +00:00
|
|
|
importer: [
|
|
|
|
function (url) {
|
|
|
|
return url === 'virtual-dep' ? { contents: '' } : null
|
|
|
|
},
|
|
|
|
function (url) {
|
|
|
|
return url.endsWith('.wxss') ? { contents: '' } : null
|
|
|
|
},
|
|
|
|
],
|
2021-04-14 12:50:27 +00:00
|
|
|
},
|
|
|
|
styl: {
|
|
|
|
additionalData: `$injectedColor ?= orange`,
|
|
|
|
imports: [
|
|
|
|
'./options/relative-import.styl',
|
|
|
|
path.join(__dirname, 'options/absolute-import.styl'),
|
|
|
|
],
|
2020-12-24 04:28:17 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|