2022-09-12 15:14:11 +00:00
|
|
|
import { addComponent, addVitePlugin, addWebpackPlugin } from '@nuxt/kit'
|
|
|
|
import { createUnplugin } from 'unplugin'
|
2021-04-23 19:52:32 +00:00
|
|
|
|
2021-07-15 09:38:06 +00:00
|
|
|
export default defineNuxtConfig({
|
2022-08-07 09:53:53 +00:00
|
|
|
app: {
|
|
|
|
head: {
|
|
|
|
charset: 'utf-8',
|
|
|
|
link: [undefined],
|
|
|
|
meta: [{ name: 'viewport', content: 'width=1024, initial-scale=1' }, { charset: 'utf-8' }]
|
|
|
|
}
|
|
|
|
},
|
2021-07-15 09:38:06 +00:00
|
|
|
buildDir: process.env.NITRO_BUILD_DIR,
|
2022-02-25 19:11:01 +00:00
|
|
|
builder: process.env.TEST_WITH_WEBPACK ? 'webpack' : 'vite',
|
2022-09-01 10:05:02 +00:00
|
|
|
theme: './extends/bar',
|
2022-09-03 13:03:30 +00:00
|
|
|
css: ['~/assets/global.css'],
|
2022-03-22 18:12:54 +00:00
|
|
|
extends: [
|
2022-06-10 13:33:16 +00:00
|
|
|
'./extends/node_modules/foo'
|
2022-03-22 18:12:54 +00:00
|
|
|
],
|
2021-07-15 09:38:06 +00:00
|
|
|
nitro: {
|
2022-09-10 13:57:16 +00:00
|
|
|
output: { dir: process.env.NITRO_OUTPUT_DIR },
|
|
|
|
prerender: {
|
|
|
|
routes: [
|
|
|
|
'/random/a',
|
|
|
|
'/random/b',
|
|
|
|
'/random/c'
|
|
|
|
]
|
|
|
|
}
|
2021-10-02 20:30:20 +00:00
|
|
|
},
|
|
|
|
publicRuntimeConfig: {
|
2022-03-09 13:41:24 +00:00
|
|
|
testConfig: 123
|
|
|
|
},
|
|
|
|
privateRuntimeConfig: {
|
|
|
|
privateConfig: 'secret_key'
|
2022-02-15 09:50:11 +00:00
|
|
|
},
|
2022-09-12 15:14:11 +00:00
|
|
|
modules: [
|
|
|
|
'~/modules/example',
|
|
|
|
function (_, nuxt) {
|
|
|
|
if (process.env.TEST_WITH_WEBPACK) { return }
|
|
|
|
|
|
|
|
nuxt.options.css.push('virtual.css')
|
|
|
|
nuxt.options.build.transpile.push('virtual.css')
|
|
|
|
const plugin = createUnplugin(() => ({
|
|
|
|
name: 'virtual',
|
|
|
|
resolveId (id) {
|
|
|
|
if (id === 'virtual.css') { return 'virtual.css' }
|
|
|
|
},
|
|
|
|
load (id) {
|
|
|
|
if (id === 'virtual.css') { return ':root { --virtual: red }' }
|
|
|
|
}
|
|
|
|
}))
|
|
|
|
addVitePlugin(plugin.vite())
|
|
|
|
addWebpackPlugin(plugin.webpack())
|
|
|
|
}
|
|
|
|
],
|
2022-02-17 14:23:55 +00:00
|
|
|
hooks: {
|
2022-09-22 13:50:40 +00:00
|
|
|
'prepare:types' ({ tsConfig }) {
|
|
|
|
tsConfig.include = tsConfig.include.filter(i => i !== '../../../../**/*')
|
|
|
|
},
|
2022-02-17 14:23:55 +00:00
|
|
|
'modules:done' () {
|
|
|
|
addComponent({
|
|
|
|
name: 'CustomComponent',
|
|
|
|
export: 'namedExport',
|
|
|
|
filePath: '~/other-components-folder/named-export'
|
|
|
|
})
|
|
|
|
}
|
2022-03-17 22:17:59 +00:00
|
|
|
},
|
|
|
|
experimental: {
|
2022-09-07 08:41:08 +00:00
|
|
|
inlineSSRStyles: id => !id.includes('assets.vue'),
|
2022-07-17 13:13:04 +00:00
|
|
|
reactivityTransform: true,
|
|
|
|
treeshakeClientOnly: true
|
2022-08-17 15:23:13 +00:00
|
|
|
},
|
|
|
|
appConfig: {
|
|
|
|
fromNuxtConfig: true,
|
|
|
|
nested: {
|
|
|
|
val: 1
|
|
|
|
}
|
2022-02-17 14:23:55 +00:00
|
|
|
}
|
2021-07-15 09:38:06 +00:00
|
|
|
})
|