@useavalon/avalon 0.1.34 → 0.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEFAULT_NITRO_CONFIG as e,VALID_V3_PRESETS as t}from"./config.js";export const DEFAULT_BUILD_CONFIG={mode:`both`,clientOutDir:`dist/client`,serverOutDir:`dist/server`,sourcemap:!0,minify:`oxc`,target:`es2020`,ssr:!0,preset:`node_server`,verbose:!1};export const PRESET_OUTPUT_CONFIGS={node_server:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!0,bundleDependencies:!1},node_middleware:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!0,bundleDependencies:!1},vercel:{outputDir:`.vercel/output`,serverEntry:`functions/render.func/index.mjs`,supportsStreaming:!0,bundleDependencies:!0,additionalFiles:[`config.json`]},cloudflare_module:{outputDir:`dist`,serverEntry:`server/index.mjs`,supportsStreaming:!1,bundleDependencies:!0},cloudflare_pages:{outputDir:`dist`,serverEntry:`_worker.js`,supportsStreaming:!1,bundleDependencies:!0,additionalFiles:[`_routes.json`]},deno_deploy:{outputDir:`.output`,serverEntry:`server/index.ts`,supportsStreaming:!0,bundleDependencies:!1},deno_server:{outputDir:`.output`,serverEntry:`server/index.ts`,supportsStreaming:!0,bundleDependencies:!1},netlify_functions:{outputDir:`.netlify`,serverEntry:`functions-internal/render.mjs`,supportsStreaming:!0,bundleDependencies:!0},netlify:{outputDir:`.netlify`,serverEntry:`functions-internal/server/index.mjs`,supportsStreaming:!0,bundleDependencies:!0},netlify_edge:{outputDir:`.netlify/edge-functions`,serverEntry:`render.js`,supportsStreaming:!0,bundleDependencies:!0},aws_lambda:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!1,bundleDependencies:!0},azure_swa:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!1,bundleDependencies:!0},firebase_functions:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!0,bundleDependencies:!0},render_com:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!0,bundleDependencies:!1},static:{outputDir:`dist`,serverEntry:``,supportsStreaming:!1,bundleDependencies:!1},browser:{outputDir:`dist`,serverEntry:``,supportsStreaming:!1,bundleDependencies:!0}};export function createClientBuildConfig(e,t={}){let r={...DEFAULT_BUILD_CONFIG,...t};return{outDir:r.clientOutDir,emptyOutDir:!0,sourcemap:r.sourcemap,minify:r.minify,target:r.target,rolldownOptions:{output:{entryFileNames:`[name].[hash].js`,chunkFileNames:`chunks/[name].[hash].js`,assetFileNames:`assets/[name].[hash].[ext]`,codeSplitting:{groups:[{name:`vendor-react`,test:/node_modules\/(react|react-dom)/},{name:`vendor-vue`,test:/node_modules\/(vue|@vue)/},{name:`vendor-svelte`,test:/node_modules\/svelte/},{name:`vendor-preact`,test:/node_modules\/preact/},{name:`vendor-solid`,test:/node_modules\/solid-js/},{name:`vendor-lit`,test:/node_modules\/(lit|@lit)/},{name:`vendor`,test:/node_modules/},{name:`islands`,test:/\/islands\//}]}}},reportCompressedSize:!e.isDev,cssCodeSplit:!0}}export function createServerBuildConfig(t,i,a={}){let s={...DEFAULT_BUILD_CONFIG,...a},c=i.preset??e.preset,l=PRESET_OUTPUT_CONFIGS[c]??PRESET_OUTPUT_CONFIGS.node_server;return{outDir:s.serverOutDir,emptyOutDir:!0,sourcemap:s.sourcemap,minify:s.minify,target:s.target,ssr:!0,rolldownOptions:{input:{index:`./server/index.ts`},output:{format:`esm`,entryFileNames:`[name].mjs`,chunkFileNames:`chunks/[name].[hash].mjs`,preserveModules:!l.bundleDependencies},external:l.bundleDependencies?[]:o(c)}}}function o(e){let t=[/^node:/,/^deno:/];switch(e){case`deno_deploy`:case`deno_server`:return[...t];case`node_server`:return[...t,/^[a-z@]/i];default:return t}}export function getPresetOutputConfig(e){return PRESET_OUTPUT_CONFIGS[e]??PRESET_OUTPUT_CONFIGS.node_server}export function presetSupportsStreaming(e){return getPresetOutputConfig(e).supportsStreaming}export function createCombinedBuildConfig(t,n,r={}){let a=n.preset??e.preset,o=getPresetOutputConfig(a);return{build:{...createClientBuildConfig(t,r),outDir:o.outputDir},define:{__DEV__:!1,__PROD__:!0,"process.env.NODE_ENV":JSON.stringify(`production`),...u(a,o)}}}function u(e,t){let n={__NITRO_PRESET__:JSON.stringify(e),__SUPPORTS_STREAMING__:JSON.stringify(t.supportsStreaming)};if(t.env)for(let[e,r]of Object.entries(t.env))n[`process.env.${e}`]=JSON.stringify(r);return n}export function createNitroBuildPlugin(t,n){let r=n.preset??e.preset,i=getPresetOutputConfig(r);return{name:`avalon:nitro-build`,enforce:`post`,config(e,{command:t}){if(t===`build`)return{define:{__DEV__:!1,__PROD__:!0,"process.env.NODE_ENV":JSON.stringify(`production`),...u(r,i)}}},buildStart(){t.verbose&&(console.log(`🚀 Avalon Nitro build starting...`),console.log(` Preset: ${r}`),console.log(` Output: ${i.outputDir}`),console.log(` Streaming: ${i.supportsStreaming}`))},writeBundle(){t.verbose&&console.log(`✅ Avalon client build complete`)},closeBundle(){t.verbose&&(console.log(`📦 Avalon build finished`),console.log(` Output directory: ${i.outputDir}`))}}}export function validateBuildConfig(e){let n=[];return e.preset&&(t.includes(e.preset)||n.push(`Unknown preset: ${e.preset}. Valid presets: ${t.join(`, `)}`)),e.mode&&![`client`,`server`,`both`].includes(e.mode)&&n.push(`Invalid build mode: ${e.mode}. Must be 'client', 'server', or 'both'`),e.sourcemap!==void 0&&typeof e.sourcemap!=`boolean`&&![`inline`,`hidden`].includes(e.sourcemap)&&n.push(`Invalid sourcemap option: ${e.sourcemap}`),{valid:n.length===0,errors:n}}export const DEFAULT_SOURCEMAP_CONFIG={enabled:!0,type:!0,includeContent:!0};export function createSourceMapConfig(e,t){return t?{enabled:!0,type:!0,includeContent:!0}:e.includes(`edge`)||e.includes(`cloudflare`)||e.includes(`lambda`)?{enabled:!0,type:`hidden`,includeContent:!1}:{enabled:!0,type:!0,includeContent:!0}}export function getViteSourceMapOption(e){return e.enabled?e.type:!1}export function createSourceMapPlugin(e){return{name:`avalon:sourcemap`,enforce:`post`,config(t,{command:n}){if(n===`build`)return{build:{sourcemap:getViteSourceMapOption(e)},...e.sourceRoot&&{rolldownOptions:{output:{sourcemapPathTransform:t=>`${e.sourceRoot}/${t}`}}}}},generateBundle(t,n){if(!e.enabled)return;let r=Object.keys(n).filter(e=>e.endsWith(`.map`)).length;r>0&&globalThis.__avalonConfig?.verbose&&console.log(`📍 Generated ${r} source map(s)`)}}}
|
|
1
|
+
import{DEFAULT_NITRO_CONFIG as e,VALID_V3_PRESETS as t}from"./config.js";export const DEFAULT_BUILD_CONFIG={mode:`both`,clientOutDir:`dist/client`,serverOutDir:`dist/server`,sourcemap:!0,minify:`oxc`,target:`es2020`,ssr:!0,preset:`node_server`,verbose:!1};export const PRESET_OUTPUT_CONFIGS={node_server:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!0,bundleDependencies:!1},node_middleware:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!0,bundleDependencies:!1},vercel:{outputDir:`.vercel/output`,serverEntry:`functions/render.func/index.mjs`,supportsStreaming:!0,bundleDependencies:!0,additionalFiles:[`config.json`]},cloudflare_module:{outputDir:`dist`,serverEntry:`server/index.mjs`,supportsStreaming:!1,bundleDependencies:!0},cloudflare_pages:{outputDir:`dist`,serverEntry:`_worker.js`,supportsStreaming:!1,bundleDependencies:!0,additionalFiles:[`_routes.json`]},deno_deploy:{outputDir:`.output`,serverEntry:`server/index.ts`,supportsStreaming:!0,bundleDependencies:!1},deno_server:{outputDir:`.output`,serverEntry:`server/index.ts`,supportsStreaming:!0,bundleDependencies:!1},netlify_functions:{outputDir:`.netlify`,serverEntry:`functions-internal/render.mjs`,supportsStreaming:!0,bundleDependencies:!0},netlify:{outputDir:`.netlify`,serverEntry:`functions-internal/server/index.mjs`,supportsStreaming:!0,bundleDependencies:!0},netlify_edge:{outputDir:`.netlify/edge-functions`,serverEntry:`render.js`,supportsStreaming:!0,bundleDependencies:!0},aws_lambda:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!1,bundleDependencies:!0},azure_swa:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!1,bundleDependencies:!0},firebase_functions:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!0,bundleDependencies:!0},render_com:{outputDir:`.output`,serverEntry:`server/index.mjs`,supportsStreaming:!0,bundleDependencies:!1},static:{outputDir:`dist`,serverEntry:``,supportsStreaming:!1,bundleDependencies:!1},browser:{outputDir:`dist`,serverEntry:``,supportsStreaming:!1,bundleDependencies:!0}};export function createClientBuildConfig(e,t={}){let r={...DEFAULT_BUILD_CONFIG,...t};return{outDir:r.clientOutDir,emptyOutDir:!0,sourcemap:r.sourcemap,minify:r.minify,target:r.target,rolldownOptions:{output:{entryFileNames:`[name].[hash].js`,chunkFileNames:`chunks/[name].[hash].js`,assetFileNames:`assets/[name].[hash].[ext]`,codeSplitting:{groups:[{name:`vendor-react`,test:/node_modules\/(react|react-dom)/},{name:`vendor-vue`,test:/node_modules\/(vue|@vue)/},{name:`vendor-svelte`,test:/node_modules\/svelte/},{name:`vendor-preact`,test:/node_modules\/preact/},{name:`vendor-solid`,test:/node_modules\/solid-js/},{name:`vendor-lit`,test:/node_modules\/(lit|@lit)/},{name:`vendor`,test:/node_modules/},{name:`islands`,test:/\/islands\//}]}}},reportCompressedSize:!e.isDev,cssCodeSplit:!0}}export function createServerBuildConfig(t,i,a={}){let s={...DEFAULT_BUILD_CONFIG,...a},c=i.preset??e.preset,l=PRESET_OUTPUT_CONFIGS[c]??PRESET_OUTPUT_CONFIGS.node_server;return{outDir:s.serverOutDir,emptyOutDir:!0,sourcemap:s.sourcemap,minify:s.minify,target:s.target,ssr:!0,rolldownOptions:{input:{index:`./server/index.ts`},output:{format:`esm`,entryFileNames:`[name].mjs`,chunkFileNames:`chunks/[name].[hash].mjs`,preserveModules:!l.bundleDependencies},external:l.bundleDependencies?[]:o(c)}}}function o(e){let t=[/^node:/,/^deno:/];switch(e){case`deno_deploy`:case`deno_server`:return[...t];case`node_server`:return[...t,/^[a-z@]/i];default:return t}}export function getPresetOutputConfig(e){return PRESET_OUTPUT_CONFIGS[e]??PRESET_OUTPUT_CONFIGS.node_server}export function presetSupportsStreaming(e){return getPresetOutputConfig(e).supportsStreaming}export function createCombinedBuildConfig(t,n,r={}){let a=n.preset??e.preset,o=getPresetOutputConfig(a);return{build:{...createClientBuildConfig(t,r),outDir:o.outputDir},define:{__DEV__:!1,__PROD__:!0,"process.env.NODE_ENV":JSON.stringify(`production`),...u(a,o)}}}function u(e,t){let n={__NITRO_PRESET__:JSON.stringify(e),__SUPPORTS_STREAMING__:JSON.stringify(t.supportsStreaming)};if(t.env)for(let[e,r]of Object.entries(t.env))n[`process.env.${e}`]=JSON.stringify(r);return n}export function createNitroBuildPlugin(t,n){let r=n.preset??e.preset,i=getPresetOutputConfig(r);return{name:`avalon:nitro-build`,enforce:`post`,config(e,{command:t}){if(t===`build`)return{define:{__DEV__:!1,__PROD__:!0,"process.env.NODE_ENV":JSON.stringify(`production`),...u(r,i)}}},buildStart(){t.verbose&&(console.log(`🚀 Avalon Nitro build starting...`),console.log(` Preset: ${r}`),console.log(` Output: ${i.outputDir}`),console.log(` Streaming: ${i.supportsStreaming}`))},writeBundle(){t.verbose&&console.log(`✅ Avalon client build complete`)},closeBundle(){t.verbose&&(console.log(`📦 Avalon build finished`),console.log(` Output directory: ${i.outputDir}`)),(process.env.CI||process.env.NETLIFY)&&setTimeout(()=>process.exit(0),3e4)}}}export function validateBuildConfig(e){let n=[];return e.preset&&(t.includes(e.preset)||n.push(`Unknown preset: ${e.preset}. Valid presets: ${t.join(`, `)}`)),e.mode&&![`client`,`server`,`both`].includes(e.mode)&&n.push(`Invalid build mode: ${e.mode}. Must be 'client', 'server', or 'both'`),e.sourcemap!==void 0&&typeof e.sourcemap!=`boolean`&&![`inline`,`hidden`].includes(e.sourcemap)&&n.push(`Invalid sourcemap option: ${e.sourcemap}`),{valid:n.length===0,errors:n}}export const DEFAULT_SOURCEMAP_CONFIG={enabled:!0,type:!0,includeContent:!0};export function createSourceMapConfig(e,t){return t?{enabled:!0,type:!0,includeContent:!0}:e.includes(`edge`)||e.includes(`cloudflare`)||e.includes(`lambda`)?{enabled:!0,type:`hidden`,includeContent:!1}:{enabled:!0,type:!0,includeContent:!0}}export function getViteSourceMapOption(e){return e.enabled?e.type:!1}export function createSourceMapPlugin(e){return{name:`avalon:sourcemap`,enforce:`post`,config(t,{command:n}){if(n===`build`)return{build:{sourcemap:getViteSourceMapOption(e)},...e.sourceRoot&&{rolldownOptions:{output:{sourcemapPathTransform:t=>`${e.sourceRoot}/${t}`}}}}},generateBundle(t,n){if(!e.enabled)return;let r=Object.keys(n).filter(e=>e.endsWith(`.map`)).length;r>0&&globalThis.__avalonConfig?.verbose&&console.log(`📍 Generated ${r} source map(s)`)}}}
|