diff --git a/.eslintignore b/.eslintignore index b4e98865ca..125155c9ed 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,6 +1,5 @@ dist node_modules -_templates schema **/*.tmpl.* sw.js diff --git a/packages/nuxt3/src/app/_templates/app.mjs b/packages/nuxt3/src/app/_templates/app.mjs deleted file mode 100644 index 77f1976695..0000000000 --- a/packages/nuxt3/src/app/_templates/app.mjs +++ /dev/null @@ -1 +0,0 @@ -export { default } from '<%= app.main %>' diff --git a/packages/nuxt3/src/app/_templates/css.mjs b/packages/nuxt3/src/app/_templates/css.mjs deleted file mode 100644 index f859d115b0..0000000000 --- a/packages/nuxt3/src/app/_templates/css.mjs +++ /dev/null @@ -1 +0,0 @@ -<%= nuxt.options.css.map(i => `import '${i.src || i}';`).join('') %> diff --git a/packages/nuxt3/src/app/_templates/plugins/client.mjs b/packages/nuxt3/src/app/_templates/plugins/client.mjs deleted file mode 100644 index 96a036befb..0000000000 --- a/packages/nuxt3/src/app/_templates/plugins/client.mjs +++ /dev/null @@ -1,5 +0,0 @@ -<%= utils.importSources(app.plugins.filter(p => !p.mode || p.mode !== 'server').map(p => p.src)) %> - -export default [ - <%= app.plugins.filter(p => !p.mode || p.mode !== 'server').map(p => utils.importName(p.src)).join(',\n ') %> -] diff --git a/packages/nuxt3/src/app/_templates/plugins/server.mjs b/packages/nuxt3/src/app/_templates/plugins/server.mjs deleted file mode 100644 index f2dcf5bbcc..0000000000 --- a/packages/nuxt3/src/app/_templates/plugins/server.mjs +++ /dev/null @@ -1,8 +0,0 @@ -import preload from '#app/plugins/preload.server' - -<%= utils.importSources(app.plugins.filter(p => !p.mode || p.mode !== 'client').map(p => p.src)) %> - -export default [ - preload, - <%= app.plugins.filter(p => !p.mode || p.mode !== 'client').map(p => utils.importName(p.src)).join(',\n ') %> -] diff --git a/packages/nuxt3/src/app/_templates/views/app.template.html b/packages/nuxt3/src/app/_templates/views/app.template.html deleted file mode 100644 index 51d1a37494..0000000000 --- a/packages/nuxt3/src/app/_templates/views/app.template.html +++ /dev/null @@ -1,12 +0,0 @@ - - - -
- {{ HEAD }} - - - - {{ APP }} - - - diff --git a/packages/nuxt3/src/app/templates.ts b/packages/nuxt3/src/app/templates.ts new file mode 100644 index 0000000000..a7dcd67229 --- /dev/null +++ b/packages/nuxt3/src/app/templates.ts @@ -0,0 +1,71 @@ + +import type { Nuxt, NuxtApp } from '@nuxt/kit' + +import * as templateUtils from '../core/template.utils' + +type TemplateContext = { + nuxt: Nuxt; + app: NuxtApp; + utils: typeof templateUtils +} + +export const appTemplate = { + filename: 'app.mjs', + getContents (ctx: TemplateContext) { + return `export { default } from '${ctx.app.main}'` + } +} + +export const cssTemplate = { + filename: 'css.mjs', + getContents (ctx: TemplateContext) { + return ctx.nuxt.options.css.map(i => `import '${i.src || i}';`).join('\n') + } +} + +export const clientPluginTemplate = { + filename: 'plugins/client.mjs', + getContents (ctx: TemplateContext) { + const { app, utils } = ctx + return [ + utils.importSources(app.plugins.filter(p => !p.mode || p.mode !== 'server').map(p => p.src)), + 'export default [', + app.plugins.filter(p => !p.mode || p.mode !== 'server').map(p => utils.importName(p.src)).join(',\n '), + ']' + ].join('\n') + } +} + +export const serverPluginTemplate = { + filename: 'plugins/server.mjs', + getContents (ctx: TemplateContext) { + const { app, utils } = ctx + return [ + "import preload from '#app/plugins/preload.server'", + utils.importSources(app.plugins.filter(p => !p.mode || p.mode !== 'client').map(p => p.src)), + 'export default [', + ' preload,', + app.plugins.filter(p => !p.mode || p.mode !== 'client').map(p => utils.importName(p.src)).join(',\n '), + ']' + ].join('\n') + } +} + +export const appViewTemplate = { + filename: 'views/app.template.html', + getContents () { + return ` + + + + {{ HEAD }} + + + + {{ APP }} + + + +` + } +} diff --git a/packages/nuxt3/src/core/app.ts b/packages/nuxt3/src/core/app.ts index 4f192727b1..a8fffec6df 100644 --- a/packages/nuxt3/src/core/app.ts +++ b/packages/nuxt3/src/core/app.ts @@ -1,9 +1,10 @@ -import { resolve, join, relative } from 'upath' -import globby from 'globby' +import { resolve } from 'upath' import lodashTemplate from 'lodash/template' import defu from 'defu' import { tryResolvePath, resolveFiles, Nuxt, NuxtApp, NuxtTemplate, normalizePlugin, normalizeTemplate } from '@nuxt/kit' import { readFile, writeFile } from 'fs-extra' + +import * as defaultTemplates from '../app/templates' import * as templateUtils from './template.utils' export function createApp (nuxt: Nuxt, options: Partial