mirror of https://github.com/nuxt/nuxt.git
Merge 35eae55d51
into 73accb5ac1
This commit is contained in:
commit
fceba495f7
|
@ -46,6 +46,8 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) {
|
||||||
.map(m => m.entryPath!),
|
.map(m => m.entryPath!),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const isNuxtV4 = nuxt.options.future?.compatibilityVersion === 4
|
||||||
|
|
||||||
const nitroConfig: NitroConfig = defu(nuxt.options.nitro, {
|
const nitroConfig: NitroConfig = defu(nuxt.options.nitro, {
|
||||||
debug: nuxt.options.debug,
|
debug: nuxt.options.debug,
|
||||||
rootDir: nuxt.options.rootDir,
|
rootDir: nuxt.options.rootDir,
|
||||||
|
@ -63,6 +65,12 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) {
|
||||||
},
|
},
|
||||||
imports: {
|
imports: {
|
||||||
autoImport: nuxt.options.imports.autoImport as boolean,
|
autoImport: nuxt.options.imports.autoImport as boolean,
|
||||||
|
dirs: isNuxtV4
|
||||||
|
? [
|
||||||
|
resolve(nuxt.options.rootDir, 'shared', 'utils'),
|
||||||
|
resolve(nuxt.options.rootDir, 'shared', 'types'),
|
||||||
|
]
|
||||||
|
: [],
|
||||||
imports: [
|
imports: [
|
||||||
{
|
{
|
||||||
as: '__buildAssetsURL',
|
as: '__buildAssetsURL',
|
||||||
|
|
|
@ -54,6 +54,8 @@ export default defineNuxtModule<Partial<ImportsOptions>>({
|
||||||
|
|
||||||
await nuxt.callHook('imports:context', ctx)
|
await nuxt.callHook('imports:context', ctx)
|
||||||
|
|
||||||
|
const isNuxtV4 = nuxt.options.future?.compatibilityVersion === 4
|
||||||
|
|
||||||
// composables/ dirs from all layers
|
// composables/ dirs from all layers
|
||||||
let composablesDirs: string[] = []
|
let composablesDirs: string[] = []
|
||||||
if (options.scan) {
|
if (options.scan) {
|
||||||
|
@ -64,6 +66,12 @@ export default defineNuxtModule<Partial<ImportsOptions>>({
|
||||||
}
|
}
|
||||||
composablesDirs.push(resolve(layer.config.srcDir, 'composables'))
|
composablesDirs.push(resolve(layer.config.srcDir, 'composables'))
|
||||||
composablesDirs.push(resolve(layer.config.srcDir, 'utils'))
|
composablesDirs.push(resolve(layer.config.srcDir, 'utils'))
|
||||||
|
|
||||||
|
if (isNuxtV4) {
|
||||||
|
composablesDirs.push(resolve(layer.config.rootDir, 'shared', 'utils'))
|
||||||
|
composablesDirs.push(resolve(layer.config.rootDir, 'shared', 'types'))
|
||||||
|
}
|
||||||
|
|
||||||
for (const dir of (layer.config.imports?.dirs ?? [])) {
|
for (const dir of (layer.config.imports?.dirs ?? [])) {
|
||||||
if (!dir) {
|
if (!dir) {
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -355,6 +355,11 @@ export default defineUntypedSchema({
|
||||||
*/
|
*/
|
||||||
plugins: 'plugins',
|
plugins: 'plugins',
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The shared directory. This directory is shared between the app and the server.
|
||||||
|
*/
|
||||||
|
shared: 'shared',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The directory containing your static files, which will be directly accessible via the Nuxt server
|
* The directory containing your static files, which will be directly accessible via the Nuxt server
|
||||||
* and copied across into your `dist` folder when your app is generated.
|
* and copied across into your `dist` folder when your app is generated.
|
||||||
|
@ -424,12 +429,13 @@ export default defineUntypedSchema({
|
||||||
*/
|
*/
|
||||||
alias: {
|
alias: {
|
||||||
$resolve: async (val: Record<string, string>, get): Promise<Record<string, string>> => {
|
$resolve: async (val: Record<string, string>, get): Promise<Record<string, string>> => {
|
||||||
const [srcDir, rootDir, assetsDir, publicDir] = await Promise.all([get('srcDir'), get('rootDir'), get('dir.assets'), get('dir.public')]) as [string, string, string, string]
|
const [srcDir, rootDir, assetsDir, publicDir, sharedDir] = await Promise.all([get('srcDir'), get('rootDir'), get('dir.assets'), get('dir.public'), get('dir.shared')]) as [string, string, string, string, string]
|
||||||
return {
|
return {
|
||||||
'~': srcDir,
|
'~': srcDir,
|
||||||
'@': srcDir,
|
'@': srcDir,
|
||||||
'~~': rootDir,
|
'~~': rootDir,
|
||||||
'@@': rootDir,
|
'@@': rootDir,
|
||||||
|
'#shared': resolve(rootDir, sharedDir),
|
||||||
[basename(assetsDir)]: resolve(srcDir, assetsDir),
|
[basename(assetsDir)]: resolve(srcDir, assetsDir),
|
||||||
[basename(publicDir)]: resolve(srcDir, publicDir),
|
[basename(publicDir)]: resolve(srcDir, publicDir),
|
||||||
...val,
|
...val,
|
||||||
|
|
Loading…
Reference in New Issue