11import type { Nitro , NodeExternalsOptions } from "nitro/types" ;
22import type { Plugin } from "rollup" ;
33import type { BaseBuildConfig } from "./config.ts" ;
4- import { hash } from "ohash" ;
54import { defu } from "defu" ;
65import unimportPlugin from "unimport/unplugin" ;
76import { unwasm } from "unwasm/plugin" ;
87import replace from "@rollup/plugin-replace" ;
9- import { database } from "./plugins/database.ts" ;
10- import { routing } from "./plugins/routing.ts" ;
118import { routeMeta } from "./plugins/route-meta.ts" ;
129import { serverMain } from "./plugins/server-main.ts" ;
13- import { publicAssets } from "./plugins/public-assets.ts" ;
14- import { serverAssets } from "./plugins/server-assets.ts" ;
15- import { storage } from "./plugins/storage.ts" ;
1610import { virtual } from "./plugins/virtual.ts" ;
17- import { errorHandler } from "./plugins/error-handler.ts" ;
1811import { rollupNodeFileTrace } from "nf3" ;
19- import { rendererTemplate } from "./plugins/renderer-template.ts" ;
20- import { featureFlags } from "./plugins/feature-flags.ts" ;
2112import { nitroResolveIds } from "./plugins/resolve.ts" ;
2213import { sourcemapMinify } from "./plugins/sourcemap-min.ts" ;
2314import { raw } from "./plugins/raw.ts" ;
24- import { runtimeConfig } from "./plugins/runtime-config.ts" ;
15+
16+ import { virtualTemplates } from "./virtual/_all.ts" ;
2517
2618export function baseBuildPlugins ( nitro : Nitro , base : BaseBuildConfig ) {
2719 const plugins : Plugin [ ] = [ ] ;
@@ -36,51 +28,12 @@ export function baseBuildPlugins(nitro: Nitro, base: BaseBuildConfig) {
3628 plugins . push ( unwasm ( nitro . options . wasm || { } ) ) ;
3729 }
3830
39- // Inject gloalThis .__server_main__
31+ // Inject globalThis .__server_main__
4032 plugins . push ( serverMain ( nitro ) ) ;
4133
42- // Nitro Plugins
43- const nitroPlugins = [ ...new Set ( nitro . options . plugins ) ] ;
44- plugins . push (
45- virtual (
46- {
47- "#nitro-internal-virtual/plugins" : /* js */ `
48- ${ nitroPlugins
49- . map (
50- ( plugin ) => `import _${ hash ( plugin ) . replace ( / - / g, "" ) } from '${ plugin } ';`
51- )
52- . join ( "\n" ) }
53-
54- export const plugins = [
55- ${ nitroPlugins . map ( ( plugin ) => `_${ hash ( plugin ) . replace ( / - / g, "" ) } ` ) . join ( ",\n" ) }
56- ]
57- ` ,
58- } ,
59- nitro . vfs
60- )
61- ) ;
62-
63- // Feature flags
64- plugins . push ( featureFlags ( nitro ) ) ;
65-
6634 // Resolve imports from virtual files and mapped subpaths
6735 plugins . push ( nitroResolveIds ( ) ) ;
6836
69- // Server assets
70- plugins . push ( serverAssets ( nitro ) ) ;
71-
72- // Public assets
73- plugins . push ( publicAssets ( nitro ) ) ;
74-
75- // Storage
76- plugins . push ( storage ( nitro ) ) ;
77-
78- // Database
79- plugins . push ( database ( nitro ) ) ;
80-
81- // Routing
82- plugins . push ( routing ( nitro ) ) ;
83-
8437 // Raw Imports
8538 plugins . push ( raw ( ) ) ;
8639
@@ -89,32 +42,12 @@ export function baseBuildPlugins(nitro: Nitro, base: BaseBuildConfig) {
8942 plugins . push ( routeMeta ( nitro ) ) ;
9043 }
9144
92- // Runtime config
93- plugins . push ( runtimeConfig ( nitro ) ) ;
94-
95- // Error handler
96- plugins . push ( errorHandler ( nitro ) ) ;
97-
98- // Polyfill
99- plugins . push (
100- virtual (
101- {
102- "#nitro-internal-pollyfills" :
103- base . env . polyfill . map ( ( p ) => /* js */ `import '${ p } ';` ) . join ( "\n" ) ||
104- /* js */ `/* No polyfills */` ,
105- } ,
106- nitro . vfs ,
107- { moduleSideEffects : true }
108- )
45+ // Virtual templates
46+ const virtualPlugin = virtual (
47+ virtualTemplates ( nitro , [ ...base . env . polyfill ] )
10948 ) ;
110-
111- // User virtuals
112- plugins . push ( virtual ( nitro . options . virtual , nitro . vfs ) ) ;
113-
114- // Renderer template
115- if ( nitro . options . renderer ?. template ) {
116- plugins . push ( rendererTemplate ( nitro ) ) ;
117- }
49+ nitro . vfs = virtualPlugin . api . modules ;
50+ plugins . push ( virtualPlugin ) ;
11851
11952 // Replace Plugin
12053 plugins . push (
@@ -149,7 +82,7 @@ export function baseBuildPlugins(nitro: Nitro, base: BaseBuildConfig) {
14982 ) ;
15083 }
15184
152- // Minify
85+ // Sourcemap minify
15386 if (
15487 nitro . options . sourcemap &&
15588 ! nitro . options . dev &&
0 commit comments