@absolutejs/absolute 0.15.4 → 0.15.6
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.
- package/dist/index.js +2 -2
- package/dist/index.js.map +4 -4
- package/dist/types/build.d.ts +5 -0
- package/package.json +1 -1
- package/types/build.ts +6 -0
package/dist/index.js
CHANGED
|
@@ -1470,7 +1470,7 @@ var validateSafePath = (targetPath, baseDirectory) => {
|
|
|
1470
1470
|
};
|
|
1471
1471
|
|
|
1472
1472
|
// src/core/build.ts
|
|
1473
|
-
var isDev = env2.NODE_ENV
|
|
1473
|
+
var isDev = env2.NODE_ENV === "development";
|
|
1474
1474
|
var vueFeatureFlags = {
|
|
1475
1475
|
__VUE_OPTIONS_API__: "true",
|
|
1476
1476
|
__VUE_PROD_DEVTOOLS__: isDev ? "true" : "false",
|
|
@@ -3470,5 +3470,5 @@ export {
|
|
|
3470
3470
|
BUN_BUILD_WARNING_SUPPRESSION
|
|
3471
3471
|
};
|
|
3472
3472
|
|
|
3473
|
-
//# debugId=
|
|
3473
|
+
//# debugId=C34FE4C27524DD1E64756E2164756E21
|
|
3474
3474
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"/* HMR message types for client-server communication */\n\n/* Client-to-server message types */\nexport type PingMessage = {\n\ttype: 'ping';\n};\n\nexport type ReadyMessage = {\n\ttype: 'ready';\n\tframework?: string | null;\n};\n\nexport type RequestRebuildMessage = {\n\ttype: 'request-rebuild';\n};\n\nexport type HydrationErrorMessage = {\n\ttype: 'hydration-error';\n\tdata?: {\n\t\tcomponentName?: string;\n\t\tcomponentPath?: string;\n\t\terror?: string;\n\t};\n};\n\nexport type HMRClientMessage =\n\t| PingMessage\n\t| ReadyMessage\n\t| RequestRebuildMessage\n\t| HydrationErrorMessage;\n\n/* Server-to-client message types */\nexport type ManifestMessage = {\n\ttype: 'manifest';\n\tdata: {\n\t\tmanifest: Record<string, string>;\n\t\tserverVersions?: Record<string, number>;\n\t};\n\ttimestamp: number;\n};\n\nexport type RebuildStartMessage = {\n\ttype: 'rebuild-start';\n\tdata: {\n\t\taffectedFrameworks: string[];\n\t};\n\ttimestamp: number;\n};\n\nexport type RebuildCompleteMessage = {\n\ttype: 'rebuild-complete';\n\tdata: {\n\t\taffectedFrameworks: string[];\n\t\tmanifest: Record<string, string>;\n\t};\n\ttimestamp: number;\n};\n\nexport type FrameworkUpdateMessage = {\n\ttype: 'framework-update';\n\tdata: {\n\t\tframework: string;\n\t\tmanifest?: Record<string, string>;\n\t};\n\ttimestamp: number;\n};\n\nexport type ModuleUpdateMessage = {\n\ttype: 'module-update';\n\tdata: {\n\t\tframework: string;\n\t\tmanifest?: Record<string, string>;\n\t\tmodules?: Array<{\n\t\t\tsourceFile: string;\n\t\t\tmoduleKeys: string[];\n\t\t\tmodulePaths: Record<string, string>;\n\t\t\tcomponentType?: 'client' | 'server';\n\t\t\tversion?: number;\n\t\t}>;\n\t\tmoduleVersions?: Record<string, number>;\n\t\tserverVersions?: Record<string, number>;\n\t};\n\ttimestamp: number;\n};\n\nexport type ReactUpdateMessage = {\n\ttype: 'react-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t\tmanifest?: Record<string, string>;\n\t};\n\ttimestamp: number;\n};\n\nexport type HTMLUpdateMessage = {\n\ttype: 'html-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t};\n\ttimestamp: number;\n};\n\nexport type HTMXUpdateMessage = {\n\ttype: 'htmx-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t};\n\ttimestamp: number;\n};\n\nexport type SvelteUpdateMessage = {\n\ttype: 'svelte-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t\tmanifest?: Record<string, string>;\n\t\tcssUrl?: string;\n\t\tcssBaseName?: string;\n\t\tupdateType?: string;\n\t};\n\ttimestamp: number;\n};\n\nexport type VueUpdateMessage = {\n\ttype: 'vue-update';\n\tdata: {\n\t\tsourceFile: string;\n\t\thtml?: string;\n\t\tmanifest?: Record<string, string>;\n\t\t// Native Vue HMR fields\n\t\thmrId?: string;\n\t\tchangeType?: 'style-only' | 'template-only' | 'script' | 'full';\n\t\tcomponentPath?: string;\n\t\tcssUrl?: string;\n\t\tcssBaseName?: string;\n\t\tupdateType?: 'css-only' | 'full';\n\t};\n\ttimestamp: number;\n};\n\nexport type RebuildErrorMessage = {\n\ttype: 'rebuild-error';\n\tdata: {\n\t\taffectedFrameworks: string[];\n\t\terror: string;\n\t};\n\ttimestamp: number;\n};\n\nexport type PongMessage = {\n\ttype: 'pong';\n\ttimestamp: number;\n};\n\nexport type ConnectedMessage = {\n\ttype: 'connected';\n\tmessage?: string;\n\ttimestamp: number;\n};\n\nexport type HMRServerMessage =\n\t| ManifestMessage\n\t| RebuildStartMessage\n\t| RebuildCompleteMessage\n\t| FrameworkUpdateMessage\n\t| ModuleUpdateMessage\n\t| ReactUpdateMessage\n\t| HTMLUpdateMessage\n\t| HTMXUpdateMessage\n\t| SvelteUpdateMessage\n\t| VueUpdateMessage\n\t| RebuildErrorMessage\n\t| PongMessage\n\t| ConnectedMessage;\n\n/* Type guard for client messages */\nexport const isValidHMRClientMessage = (\n\tdata: unknown\n): data is HMRClientMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tconst message = data as Record<string, unknown>;\n\n\tif (!('type' in message) || typeof message.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (message.type) {\n\t\tcase 'ping':\n\t\t\treturn true;\n\t\tcase 'ready':\n\t\t\treturn true;\n\t\tcase 'request-rebuild':\n\t\t\treturn true;\n\t\tcase 'hydration-error':\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n",
|
|
18
18
|
"/* WebSocket types for HMR */\n\n/* WebSocket ready state constant */\nexport const WS_READY_STATE_OPEN = 1;\n\n/* Minimal WebSocket interface for HMR clients\n Compatible with Elysia's WebSocket implementation */\nexport interface HMRWebSocket {\n\tsend(data: string): void;\n\tclose(code?: number, reason?: string): void;\n\treadyState: number;\n}\n",
|
|
19
19
|
"export * from '../types';\nexport * from './constants';\nexport * from './core';\nexport * from './plugins/index';\nexport * from './utils/index';\n",
|
|
20
|
-
"import {\n\tcopyFileSync,\n\tcpSync,\n\tmkdirSync,\n\treadFileSync,\n\twriteFileSync\n} from 'node:fs';\nimport { rm } from 'node:fs/promises';\nimport { basename, join, resolve, dirname, relative } from 'node:path';\nimport { cwd, env, exit } from 'node:process';\nimport { $, build as bunBuild, BuildArtifact, Glob } from 'bun';\nimport { compileSvelte } from '../build/compileSvelte';\nimport { compileVue } from '../build/compileVue';\nimport { generateManifest } from '../build/generateManifest';\nimport { generateReactIndexFiles } from '../build/generateReactIndexes';\nimport { createHTMLScriptHMRPlugin } from '../build/htmlScriptHMRPlugin';\nimport { outputLogs } from '../build/outputLogs';\nimport { scanEntryPoints } from '../build/scanEntryPoints';\nimport { updateAssetPaths } from '../build/updateAssetPaths';\nimport { buildHMRClient } from '../dev/buildHMRClient';\nimport type { BuildConfig } from '../../types/build';\nimport { cleanup } from '../utils/cleanup';\nimport { commonAncestor } from '../utils/commonAncestor';\nimport { getDurationString } from '../utils/getDurationString';\nimport { logger } from '../utils/logger';\nimport { normalizePath } from '../utils/normalizePath';\nimport { toPascal } from '../utils/stringModifiers';\nimport { validateSafePath } from '../utils/validateSafePath';\n\nconst isDev = env.NODE_ENV !== 'production';\n\nconst vueFeatureFlags: Record<string, string> = {\n\t__VUE_OPTIONS_API__: 'true',\n\t__VUE_PROD_DEVTOOLS__: isDev ? 'true' : 'false',\n\t__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: isDev ? 'true' : 'false'\n};\n\nexport const build = async ({\n\tbuildDirectory = 'build',\n\tassetsDirectory,\n\tpublicDirectory,\n\treactDirectory,\n\thtmlDirectory,\n\thtmxDirectory,\n\tangularDirectory,\n\tsvelteDirectory,\n\tvueDirectory,\n\ttailwind,\n\toptions,\n\tincrementalFiles\n}: BuildConfig) => {\n\tconst buildStart = performance.now();\n\tconst projectRoot = cwd();\n\tconst isIncremental = incrementalFiles && incrementalFiles.length > 0;\n\n\t// Normalize incrementalFiles for consistent cross-platform path checking\n\tconst normalizedIncrementalFiles = incrementalFiles?.map(normalizePath);\n\n\tif (isIncremental) {\n\t\tconsole.log(\n\t\t\t`⚡ Incremental build: ${incrementalFiles.length} file(s) to rebuild`\n\t\t);\n\t}\n\n\tconst throwOnError = options?.throwOnError === true;\n\tconst hmr = options?.injectHMR === true;\n\tconst buildPath = validateSafePath(buildDirectory, projectRoot);\n\tconst assetsPath =\n\t\tassetsDirectory && validateSafePath(assetsDirectory, projectRoot);\n\tconst reactDir =\n\t\treactDirectory && validateSafePath(reactDirectory, projectRoot);\n\tconst htmlDir =\n\t\thtmlDirectory && validateSafePath(htmlDirectory, projectRoot);\n\tconst htmxDir =\n\t\thtmxDirectory && validateSafePath(htmxDirectory, projectRoot);\n\tconst svelteDir =\n\t\tsvelteDirectory && validateSafePath(svelteDirectory, projectRoot);\n\tconst vueDir = vueDirectory && validateSafePath(vueDirectory, projectRoot);\n\tconst angularDir =\n\t\tangularDirectory && validateSafePath(angularDirectory, projectRoot);\n\n\tconst reactIndexesPath = reactDir && join(reactDir, 'indexes');\n\tconst reactPagesPath = reactDir && join(reactDir, 'pages');\n\tconst htmlPagesPath = htmlDir && join(htmlDir, 'pages');\n\tconst htmlScriptsPath = htmlDir && join(htmlDir, 'scripts');\n\tconst sveltePagesPath = svelteDir && join(svelteDir, 'pages');\n\tconst vuePagesPath = vueDir && join(vueDir, 'pages');\n\tconst htmxPagesPath = htmxDir && join(htmxDir, 'pages');\n\tconst angularPagesPath = angularDir && join(angularDir, 'pages');\n\n\tconst frontends = [\n\t\treactDir,\n\t\thtmlDir,\n\t\thtmxDir,\n\t\tsvelteDir,\n\t\tvueDir,\n\t\tangularDir\n\t].filter(Boolean);\n\tconst isSingle = frontends.length === 1;\n\n\t// Shared root for all client builds so output paths preserve framework directory names.\n\t// generateManifest detects frameworks by checking for \"react\"/\"svelte\"/\"vue\" path segments.\n\tconst clientRoots: string[] = [\n\t\treactDir,\n\t\tsvelteDir,\n\t\thtmlDir,\n\t\tvueDir,\n\t\tangularDir\n\t].filter((dir): dir is string => Boolean(dir));\n\tconst clientRoot = isSingle\n\t\t? (clientRoots[0] ?? projectRoot)\n\t\t: commonAncestor(clientRoots, projectRoot);\n\n\tlet serverOutDir;\n\tif (svelteDir) serverOutDir = join(buildPath, basename(svelteDir), 'pages');\n\telse if (vueDir) serverOutDir = join(buildPath, basename(vueDir), 'pages');\n\n\tlet serverRoot;\n\tif (sveltePagesPath) serverRoot = sveltePagesPath;\n\telse if (vuePagesPath) serverRoot = vuePagesPath;\n\n\tconst publicPath =\n\t\tpublicDirectory && validateSafePath(publicDirectory, projectRoot);\n\n\t// Only delete build directory for full builds, not incremental\n\tif (!isIncremental) {\n\t\tawait rm(buildPath, { force: true, recursive: true });\n\t}\n\tmkdirSync(buildPath, { recursive: true });\n\n\tif (publicPath)\n\t\tcpSync(publicPath, buildPath, { force: true, recursive: true });\n\n\t// Helper to find matching entry points for incremental files\n\t// The dependency graph already includes all dependent files in incrementalFiles\n\tconst filterToIncrementalEntries = (\n\t\tentryPoints: string[],\n\t\tmapToSource: (entry: string) => string | null\n\t) => {\n\t\tif (!isIncremental || !incrementalFiles) return entryPoints;\n\n\t\tconst normalizedIncremental = new Set(\n\t\t\tincrementalFiles.map((f) => resolve(f))\n\t\t);\n\t\tconst matchingEntries: string[] = [];\n\n\t\tfor (const entry of entryPoints) {\n\t\t\tconst sourceFile = mapToSource(entry);\n\t\t\tif (sourceFile && normalizedIncremental.has(resolve(sourceFile))) {\n\t\t\t\tmatchingEntries.push(entry);\n\t\t\t}\n\t\t}\n\n\t\treturn matchingEntries;\n\t};\n\n\t// For incremental React builds, only generate indexes for changed files\n\t// NOTE: We always regenerate index files to ensure they have the latest hydration error handling logic\n\tif (reactIndexesPath && reactPagesPath) {\n\t\t// Always regenerate React index files to ensure latest error handling is included\n\t\t// This is safe because index files are small and generation is fast\n\t\tawait generateReactIndexFiles(reactPagesPath, reactIndexesPath, hmr);\n\t}\n\n\t// Copy assets on full builds or if assets changed\n\tif (\n\t\tassetsPath &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.includes('/assets/')))\n\t) {\n\t\tcpSync(assetsPath, join(buildPath, 'assets'), {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t}\n\n\t// Tailwind only on full builds or if CSS changed\n\tif (\n\t\ttailwind &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.endsWith('.css')))\n\t) {\n\t\tawait $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(buildPath, tailwind.output)}`;\n\t}\n\n\tconst allReactEntries = reactIndexesPath\n\t\t? await scanEntryPoints(reactIndexesPath, '*.tsx')\n\t\t: [];\n\tconst allHtmlEntries = htmlScriptsPath\n\t\t? await scanEntryPoints(htmlScriptsPath, '*.{js,ts}')\n\t\t: [];\n\tconst allSvelteEntries = sveltePagesPath\n\t\t? await scanEntryPoints(sveltePagesPath, '*.svelte')\n\t\t: [];\n\tconst allVueEntries = vuePagesPath\n\t\t? await scanEntryPoints(vuePagesPath, '*.vue')\n\t\t: [];\n\tconst allAngularEntries = angularPagesPath\n\t\t? await scanEntryPoints(angularPagesPath, '*.ts')\n\t\t: [];\n\n\tconst allHtmlCssEntries = htmlDir\n\t\t? await scanEntryPoints(join(htmlDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allHtmxCssEntries = htmxDir\n\t\t? await scanEntryPoints(join(htmxDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allReactCssEntries = reactDir\n\t\t? await scanEntryPoints(join(reactDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allSvelteCssEntries = svelteDir\n\t\t? await scanEntryPoints(join(svelteDir, 'styles'), '*.css')\n\t\t: [];\n\n\t// When HTML/HTMX pages change, we must include their CSS and scripts in the build\n\t// so the manifest has those entries for updateAssetPaths. Otherwise incremental\n\t// builds drop them and updateAssetPaths fails with \"no manifest entry\".\n\tconst shouldIncludeHtmlAssets =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst shouldIncludeHtmxAssets =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\t// Filter entries for incremental builds\n\t// For React: map index entries back to their source pages\n\tconst reactEntries =\n\t\tisIncremental && reactIndexesPath && reactPagesPath\n\t\t\t? filterToIncrementalEntries(allReactEntries, (entry) => {\n\t\t\t\t\t// Map index entry (indexes/ReactExample.tsx) to source page (pages/ReactExample.tsx)\n\t\t\t\t\tif (entry.startsWith(resolve(reactIndexesPath))) {\n\t\t\t\t\t\tconst pageName = basename(entry, '.tsx');\n\t\t\t\t\t\treturn join(reactPagesPath, `${pageName}.tsx`);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})\n\t\t\t: allReactEntries;\n\n\tconst htmlEntries =\n\t\tisIncremental && htmlScriptsPath && !shouldIncludeHtmlAssets\n\t\t\t? filterToIncrementalEntries(allHtmlEntries, (entry) => entry)\n\t\t\t: allHtmlEntries;\n\n\t// For Svelte/Vue/Angular: entries are the page files themselves\n\tconst svelteEntries = isIncremental\n\t\t? filterToIncrementalEntries(allSvelteEntries, (entry) => entry)\n\t\t: allSvelteEntries;\n\n\tconst vueEntries = isIncremental\n\t\t? filterToIncrementalEntries(allVueEntries, (entry) => entry)\n\t\t: allVueEntries;\n\n\tconst angularEntries = isIncremental\n\t\t? filterToIncrementalEntries(allAngularEntries, (entry) => entry)\n\t\t: allAngularEntries;\n\n\t// CSS entries - entries are the CSS files themselves\n\tconst htmlCssEntries =\n\t\tisIncremental && !shouldIncludeHtmlAssets\n\t\t\t? filterToIncrementalEntries(allHtmlCssEntries, (entry) => entry)\n\t\t\t: allHtmlCssEntries;\n\tconst htmxCssEntries =\n\t\tisIncremental && !shouldIncludeHtmxAssets\n\t\t\t? filterToIncrementalEntries(allHtmxCssEntries, (entry) => entry)\n\t\t\t: allHtmxCssEntries;\n\tconst reactCssEntries = isIncremental\n\t\t? filterToIncrementalEntries(allReactCssEntries, (entry) => entry)\n\t\t: allReactCssEntries;\n\tconst svelteCssEntries = isIncremental\n\t\t? filterToIncrementalEntries(allSvelteCssEntries, (entry) => entry)\n\t\t: allSvelteCssEntries;\n\n\tconst { svelteServerPaths, svelteIndexPaths, svelteClientPaths } = svelteDir\n\t\t? await compileSvelte(svelteEntries, svelteDir, new Map(), hmr)\n\t\t: {\n\t\t\t\tsvelteClientPaths: [],\n\t\t\t\tsvelteIndexPaths: [],\n\t\t\t\tsvelteServerPaths: []\n\t\t\t};\n\n\tconst { vueServerPaths, vueIndexPaths, vueClientPaths, vueCssPaths } =\n\t\tvueDir\n\t\t\t? await compileVue(vueEntries, vueDir, hmr)\n\t\t\t: {\n\t\t\t\t\tvueClientPaths: [],\n\t\t\t\t\tvueCssPaths: [],\n\t\t\t\t\tvueIndexPaths: [],\n\t\t\t\t\tvueServerPaths: []\n\t\t\t\t};\n\n\tconst serverEntryPoints = [...svelteServerPaths, ...vueServerPaths];\n\tconst reactClientEntryPoints = [...reactEntries];\n\tconst nonReactClientEntryPoints = [\n\t\t...svelteIndexPaths,\n\t\t...svelteClientPaths,\n\t\t...htmlEntries,\n\t\t...vueIndexPaths,\n\t\t...vueClientPaths\n\t];\n\tconst cssEntryPoints = [\n\t\t...vueCssPaths,\n\t\t...reactCssEntries,\n\t\t...svelteCssEntries,\n\t\t...htmlCssEntries,\n\t\t...htmxCssEntries\n\t];\n\n\tif (\n\t\tserverEntryPoints.length === 0 &&\n\t\treactClientEntryPoints.length === 0 &&\n\t\tnonReactClientEntryPoints.length === 0 &&\n\t\thtmxDir === undefined &&\n\t\thtmlDir === undefined\n\t) {\n\t\tlogger.warn('No entry points found, manifest will be empty');\n\n\t\treturn {};\n\t}\n\n\tlet serverLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet serverOutputs: BuildArtifact[] = [];\n\n\tif (serverEntryPoints.length > 0) {\n\t\tconst result = await bunBuild({\n\t\t\tentrypoints: serverEntryPoints,\n\t\t\tformat: 'esm',\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: serverOutDir,\n\t\t\troot: serverRoot,\n\t\t\ttarget: 'bun',\n\t\t\tthrow: false\n\t\t});\n\t\tserverLogs = result.logs;\n\t\tserverOutputs = result.outputs;\n\t\tif (!result.success && result.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tresult.logs.find((l) => l.level === 'error') ?? result.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = result.logs;\n\t\t\tlogger.error('Server build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet reactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet reactClientOutputs: BuildArtifact[] = [];\n\n\t// In dev, add the _refresh entry to force React into a shared chunk\n\t// so HMR can re-import component entries without duplicating React.\n\t// Only add when React entries exist (i.e. React files actually changed\n\t// or this is a full build) to avoid producing stale React outputs\n\t// during non-React incremental rebuilds.\n\tif (hmr && reactIndexesPath && reactClientEntryPoints.length > 0) {\n\t\tconst refreshEntry = join(reactIndexesPath, '_refresh.tsx');\n\t\tif (!reactClientEntryPoints.includes(refreshEntry)) {\n\t\t\treactClientEntryPoints.push(refreshEntry);\n\t\t}\n\t}\n\n\tif (reactClientEntryPoints.length > 0) {\n\t\tconst reactBuildConfig = {\n\t\t\tentrypoints: reactClientEntryPoints,\n\t\t\tformat: 'esm' as const,\n\t\t\tminify: !isDev,\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: buildPath,\n\t\t\troot: clientRoot,\n\t\t\tsplitting: true,\n\t\t\ttarget: 'browser' as const,\n\t\t\tthrow: false\n\t\t};\n\n\t\t// Bun's reactFastRefresh option injects $RefreshReg$/$RefreshSig$\n\t\t// calls for React Fast Refresh support in dev\n\t\tif (hmr) {\n\t\t\t(reactBuildConfig as Record<string, unknown>).reactFastRefresh =\n\t\t\t\ttrue;\n\t\t}\n\n\t\tconst reactClientResult = await bunBuild(reactBuildConfig);\n\t\treactClientLogs = reactClientResult.logs;\n\t\treactClientOutputs = reactClientResult.outputs;\n\t\tif (!reactClientResult.success && reactClientResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\treactClientResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\treactClientResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = reactClientResult.logs;\n\t\t\tlogger.error('React client build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet nonReactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet nonReactClientOutputs: BuildArtifact[] = [];\n\n\tif (nonReactClientEntryPoints.length > 0) {\n\t\tconst htmlScriptPlugin = hmr\n\t\t\t? createHTMLScriptHMRPlugin(htmlDir, htmxDir)\n\t\t\t: undefined;\n\n\t\tconst nonReactClientResult = await bunBuild({\n\t\t\tdefine: vueDirectory ? vueFeatureFlags : undefined,\n\t\t\tentrypoints: nonReactClientEntryPoints,\n\t\t\tformat: 'esm',\n\t\t\tminify: !isDev,\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: buildPath,\n\t\t\tplugins: htmlScriptPlugin ? [htmlScriptPlugin] : undefined,\n\t\t\troot: clientRoot,\n\t\t\ttarget: 'browser',\n\t\t\tsplitting: !isDev,\n\t\t\tthrow: false\n\t\t});\n\t\tnonReactClientLogs = nonReactClientResult.logs;\n\t\tnonReactClientOutputs = nonReactClientResult.outputs;\n\t\tif (\n\t\t\t!nonReactClientResult.success &&\n\t\t\tnonReactClientResult.logs.length > 0\n\t\t) {\n\t\t\tconst errLog =\n\t\t\t\tnonReactClientResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tnonReactClientResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs =\n\t\t\t\tnonReactClientResult.logs;\n\t\t\tlogger.error('Non-React client build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet cssLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet cssOutputs: BuildArtifact[] = [];\n\n\tif (cssEntryPoints.length > 0) {\n\t\tconst cssResult = await bunBuild({\n\t\t\tentrypoints: cssEntryPoints,\n\t\t\tnaming: `[name].[hash].[ext]`,\n\t\t\toutdir: join(\n\t\t\t\tbuildPath,\n\t\t\t\tassetsPath ? basename(assetsPath) : 'assets',\n\t\t\t\t'css'\n\t\t\t),\n\t\t\ttarget: 'browser',\n\t\t\tthrow: false\n\t\t});\n\t\tcssLogs = cssResult.logs;\n\t\tcssOutputs = cssResult.outputs;\n\t\tif (!cssResult.success && cssResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tcssResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tcssResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = cssResult.logs;\n\t\t\tlogger.error('CSS build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tconst allLogs = [\n\t\t...serverLogs,\n\t\t...reactClientLogs,\n\t\t...nonReactClientLogs,\n\t\t...cssLogs\n\t];\n\toutputLogs(allLogs);\n\n\tconst manifest = generateManifest(\n\t\t[\n\t\t\t...serverOutputs,\n\t\t\t...reactClientOutputs,\n\t\t\t...nonReactClientOutputs,\n\t\t\t...cssOutputs\n\t\t],\n\t\tbuildPath\n\t);\n\n\t// Svelte/Vue server pages need absolute file paths for SSR import(),\n\t// not web-relative paths. Overwrite with absolute paths like HTML/HTMX.\n\tfor (const artifact of serverOutputs) {\n\t\tconst fileWithHash = basename(artifact.path);\n\t\tconst [baseName] = fileWithHash.split(`.${artifact.hash}.`);\n\t\tif (!baseName) continue;\n\t\tmanifest[toPascal(baseName)] = artifact.path;\n\t}\n\n\t// For HTML/HTMX, copy pages on full builds or if HTML/HTMX files changed\n\t// Also update asset paths if CSS changed (to update CSS links in HTML files)\n\tconst htmlOrHtmlCssChanged =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst htmxOrHtmxCssChanged =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\tconst shouldCopyHtml = htmlOrHtmlCssChanged;\n\tconst shouldCopyHtmx = htmxOrHtmxCssChanged;\n\n\t// Update asset paths if CSS changed (even if HTML files didn't change)\n\tconst shouldUpdateHtmlAssetPaths =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst shouldUpdateHtmxAssetPaths =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\t// Build HMR client bundle once for HTML/HTMX injection during dev builds\n\tconst hmrClientBundle =\n\t\thmr && (htmlDir || htmxDir) ? await buildHMRClient() : null;\n\n\tconst injectHMRIntoHTMLFile = (filePath: string, framework: string) => {\n\t\tif (!hmrClientBundle) return;\n\t\tlet html = readFileSync(filePath, 'utf-8');\n\t\tif (html.includes('data-hmr-client')) return;\n\t\tconst tag =\n\t\t\t`<script>window.__HMR_FRAMEWORK__=\"${framework}\";</script>` +\n\t\t\t`<script data-hmr-client>${hmrClientBundle}</script>`;\n\t\tconst bodyClose = /<\\/body\\s*>/i.exec(html);\n\t\thtml = bodyClose\n\t\t\t? html.slice(0, bodyClose.index) + tag + html.slice(bodyClose.index)\n\t\t\t: html + tag;\n\t\twriteFileSync(filePath, html);\n\t};\n\n\tif (htmlDir && htmlPagesPath) {\n\t\tconst outputHtmlPages = isSingle\n\t\t\t? join(buildPath, 'pages')\n\t\t\t: join(buildPath, basename(htmlDir), 'pages');\n\n\t\tif (shouldCopyHtml) {\n\t\t\tmkdirSync(outputHtmlPages, { recursive: true });\n\t\t\tcpSync(htmlPagesPath, outputHtmlPages, {\n\t\t\t\tforce: true,\n\t\t\t\trecursive: true\n\t\t\t});\n\t\t}\n\n\t\t// Update asset paths if HTML files changed OR CSS changed\n\t\tif (shouldUpdateHtmlAssetPaths) {\n\t\t\tawait updateAssetPaths(manifest, outputHtmlPages);\n\t\t}\n\n\t\t// Add HTML pages to manifest (absolute paths for Bun.file())\n\t\tconst htmlPageFiles = await scanEntryPoints(outputHtmlPages, '*.html');\n\t\tfor (const htmlFile of htmlPageFiles) {\n\t\t\tif (hmr) injectHMRIntoHTMLFile(htmlFile, 'html');\n\t\t\tconst fileName = basename(htmlFile, '.html');\n\t\t\tmanifest[fileName] = htmlFile;\n\t\t}\n\t}\n\n\tif (htmxDir && htmxPagesPath) {\n\t\tconst outputHtmxPages = isSingle\n\t\t\t? join(buildPath, 'pages')\n\t\t\t: join(buildPath, basename(htmxDir), 'pages');\n\n\t\tif (shouldCopyHtmx) {\n\t\t\tmkdirSync(outputHtmxPages, { recursive: true });\n\t\t\tcpSync(htmxPagesPath, outputHtmxPages, {\n\t\t\t\tforce: true,\n\t\t\t\trecursive: true\n\t\t\t});\n\t\t}\n\n\t\tif (shouldCopyHtmx) {\n\t\t\tconst htmxDestDir = isSingle\n\t\t\t\t? buildPath\n\t\t\t\t: join(buildPath, basename(htmxDir));\n\n\t\t\tmkdirSync(htmxDestDir, { recursive: true });\n\n\t\t\tconst glob = new Glob('htmx*.min.js');\n\t\t\tfor (const relPath of glob.scanSync({ cwd: htmxDir })) {\n\t\t\t\tconst src = join(htmxDir, relPath);\n\t\t\t\tconst dest = join(htmxDestDir, 'htmx.min.js');\n\t\t\t\tcopyFileSync(src, dest);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Update asset paths if HTMX files changed OR CSS changed\n\t\tif (shouldUpdateHtmxAssetPaths) {\n\t\t\tawait updateAssetPaths(manifest, outputHtmxPages);\n\t\t}\n\n\t\t// Add HTMX pages to manifest (absolute paths for Bun.file())\n\t\tconst htmxPageFiles = await scanEntryPoints(outputHtmxPages, '*.html');\n\t\tfor (const htmxFile of htmxPageFiles) {\n\t\t\tif (hmr) injectHMRIntoHTMLFile(htmxFile, 'htmx');\n\t\t\tconst fileName = basename(htmxFile, '.html');\n\t\t\tmanifest[fileName] = htmxFile;\n\t\t}\n\t}\n\n\tif (!options?.preserveIntermediateFiles)\n\t\tawait cleanup({\n\t\t\treactIndexesPath,\n\t\t\tsvelteDir,\n\t\t\tvueDir\n\t\t});\n\n\tconsole.log(\n\t\t`Build completed in ${getDurationString(performance.now() - buildStart)}`\n\t);\n\n\treturn manifest;\n};\n",
|
|
20
|
+
"import {\n\tcopyFileSync,\n\tcpSync,\n\tmkdirSync,\n\treadFileSync,\n\twriteFileSync\n} from 'node:fs';\nimport { rm } from 'node:fs/promises';\nimport { basename, join, resolve, dirname, relative } from 'node:path';\nimport { cwd, env, exit } from 'node:process';\nimport { $, build as bunBuild, BuildArtifact, Glob } from 'bun';\nimport { compileSvelte } from '../build/compileSvelte';\nimport { compileVue } from '../build/compileVue';\nimport { generateManifest } from '../build/generateManifest';\nimport { generateReactIndexFiles } from '../build/generateReactIndexes';\nimport { createHTMLScriptHMRPlugin } from '../build/htmlScriptHMRPlugin';\nimport { outputLogs } from '../build/outputLogs';\nimport { scanEntryPoints } from '../build/scanEntryPoints';\nimport { updateAssetPaths } from '../build/updateAssetPaths';\nimport { buildHMRClient } from '../dev/buildHMRClient';\nimport type { BuildConfig } from '../../types/build';\nimport { cleanup } from '../utils/cleanup';\nimport { commonAncestor } from '../utils/commonAncestor';\nimport { getDurationString } from '../utils/getDurationString';\nimport { logger } from '../utils/logger';\nimport { normalizePath } from '../utils/normalizePath';\nimport { toPascal } from '../utils/stringModifiers';\nimport { validateSafePath } from '../utils/validateSafePath';\n\nconst isDev = env.NODE_ENV === 'development';\n\nconst vueFeatureFlags: Record<string, string> = {\n\t__VUE_OPTIONS_API__: 'true',\n\t__VUE_PROD_DEVTOOLS__: isDev ? 'true' : 'false',\n\t__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: isDev ? 'true' : 'false'\n};\n\nexport const build = async ({\n\tbuildDirectory = 'build',\n\tassetsDirectory,\n\tpublicDirectory,\n\treactDirectory,\n\thtmlDirectory,\n\thtmxDirectory,\n\tangularDirectory,\n\tsvelteDirectory,\n\tvueDirectory,\n\ttailwind,\n\toptions,\n\tincrementalFiles\n}: BuildConfig) => {\n\tconst buildStart = performance.now();\n\tconst projectRoot = cwd();\n\tconst isIncremental = incrementalFiles && incrementalFiles.length > 0;\n\n\t// Normalize incrementalFiles for consistent cross-platform path checking\n\tconst normalizedIncrementalFiles = incrementalFiles?.map(normalizePath);\n\n\tif (isIncremental) {\n\t\tconsole.log(\n\t\t\t`⚡ Incremental build: ${incrementalFiles.length} file(s) to rebuild`\n\t\t);\n\t}\n\n\tconst throwOnError = options?.throwOnError === true;\n\tconst hmr = options?.injectHMR === true;\n\tconst buildPath = validateSafePath(buildDirectory, projectRoot);\n\tconst assetsPath =\n\t\tassetsDirectory && validateSafePath(assetsDirectory, projectRoot);\n\tconst reactDir =\n\t\treactDirectory && validateSafePath(reactDirectory, projectRoot);\n\tconst htmlDir =\n\t\thtmlDirectory && validateSafePath(htmlDirectory, projectRoot);\n\tconst htmxDir =\n\t\thtmxDirectory && validateSafePath(htmxDirectory, projectRoot);\n\tconst svelteDir =\n\t\tsvelteDirectory && validateSafePath(svelteDirectory, projectRoot);\n\tconst vueDir = vueDirectory && validateSafePath(vueDirectory, projectRoot);\n\tconst angularDir =\n\t\tangularDirectory && validateSafePath(angularDirectory, projectRoot);\n\n\tconst reactIndexesPath = reactDir && join(reactDir, 'indexes');\n\tconst reactPagesPath = reactDir && join(reactDir, 'pages');\n\tconst htmlPagesPath = htmlDir && join(htmlDir, 'pages');\n\tconst htmlScriptsPath = htmlDir && join(htmlDir, 'scripts');\n\tconst sveltePagesPath = svelteDir && join(svelteDir, 'pages');\n\tconst vuePagesPath = vueDir && join(vueDir, 'pages');\n\tconst htmxPagesPath = htmxDir && join(htmxDir, 'pages');\n\tconst angularPagesPath = angularDir && join(angularDir, 'pages');\n\n\tconst frontends = [\n\t\treactDir,\n\t\thtmlDir,\n\t\thtmxDir,\n\t\tsvelteDir,\n\t\tvueDir,\n\t\tangularDir\n\t].filter(Boolean);\n\tconst isSingle = frontends.length === 1;\n\n\t// Shared root for all client builds so output paths preserve framework directory names.\n\t// generateManifest detects frameworks by checking for \"react\"/\"svelte\"/\"vue\" path segments.\n\tconst clientRoots: string[] = [\n\t\treactDir,\n\t\tsvelteDir,\n\t\thtmlDir,\n\t\tvueDir,\n\t\tangularDir\n\t].filter((dir): dir is string => Boolean(dir));\n\tconst clientRoot = isSingle\n\t\t? (clientRoots[0] ?? projectRoot)\n\t\t: commonAncestor(clientRoots, projectRoot);\n\n\tlet serverOutDir;\n\tif (svelteDir) serverOutDir = join(buildPath, basename(svelteDir), 'pages');\n\telse if (vueDir) serverOutDir = join(buildPath, basename(vueDir), 'pages');\n\n\tlet serverRoot;\n\tif (sveltePagesPath) serverRoot = sveltePagesPath;\n\telse if (vuePagesPath) serverRoot = vuePagesPath;\n\n\tconst publicPath =\n\t\tpublicDirectory && validateSafePath(publicDirectory, projectRoot);\n\n\t// Only delete build directory for full builds, not incremental\n\tif (!isIncremental) {\n\t\tawait rm(buildPath, { force: true, recursive: true });\n\t}\n\tmkdirSync(buildPath, { recursive: true });\n\n\tif (publicPath)\n\t\tcpSync(publicPath, buildPath, { force: true, recursive: true });\n\n\t// Helper to find matching entry points for incremental files\n\t// The dependency graph already includes all dependent files in incrementalFiles\n\tconst filterToIncrementalEntries = (\n\t\tentryPoints: string[],\n\t\tmapToSource: (entry: string) => string | null\n\t) => {\n\t\tif (!isIncremental || !incrementalFiles) return entryPoints;\n\n\t\tconst normalizedIncremental = new Set(\n\t\t\tincrementalFiles.map((f) => resolve(f))\n\t\t);\n\t\tconst matchingEntries: string[] = [];\n\n\t\tfor (const entry of entryPoints) {\n\t\t\tconst sourceFile = mapToSource(entry);\n\t\t\tif (sourceFile && normalizedIncremental.has(resolve(sourceFile))) {\n\t\t\t\tmatchingEntries.push(entry);\n\t\t\t}\n\t\t}\n\n\t\treturn matchingEntries;\n\t};\n\n\t// For incremental React builds, only generate indexes for changed files\n\t// NOTE: We always regenerate index files to ensure they have the latest hydration error handling logic\n\tif (reactIndexesPath && reactPagesPath) {\n\t\t// Always regenerate React index files to ensure latest error handling is included\n\t\t// This is safe because index files are small and generation is fast\n\t\tawait generateReactIndexFiles(reactPagesPath, reactIndexesPath, hmr);\n\t}\n\n\t// Copy assets on full builds or if assets changed\n\tif (\n\t\tassetsPath &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.includes('/assets/')))\n\t) {\n\t\tcpSync(assetsPath, join(buildPath, 'assets'), {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t}\n\n\t// Tailwind only on full builds or if CSS changed\n\tif (\n\t\ttailwind &&\n\t\t(!isIncremental ||\n\t\t\tnormalizedIncrementalFiles?.some((f) => f.endsWith('.css')))\n\t) {\n\t\tawait $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(buildPath, tailwind.output)}`;\n\t}\n\n\tconst allReactEntries = reactIndexesPath\n\t\t? await scanEntryPoints(reactIndexesPath, '*.tsx')\n\t\t: [];\n\tconst allHtmlEntries = htmlScriptsPath\n\t\t? await scanEntryPoints(htmlScriptsPath, '*.{js,ts}')\n\t\t: [];\n\tconst allSvelteEntries = sveltePagesPath\n\t\t? await scanEntryPoints(sveltePagesPath, '*.svelte')\n\t\t: [];\n\tconst allVueEntries = vuePagesPath\n\t\t? await scanEntryPoints(vuePagesPath, '*.vue')\n\t\t: [];\n\tconst allAngularEntries = angularPagesPath\n\t\t? await scanEntryPoints(angularPagesPath, '*.ts')\n\t\t: [];\n\n\tconst allHtmlCssEntries = htmlDir\n\t\t? await scanEntryPoints(join(htmlDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allHtmxCssEntries = htmxDir\n\t\t? await scanEntryPoints(join(htmxDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allReactCssEntries = reactDir\n\t\t? await scanEntryPoints(join(reactDir, 'styles'), '*.css')\n\t\t: [];\n\tconst allSvelteCssEntries = svelteDir\n\t\t? await scanEntryPoints(join(svelteDir, 'styles'), '*.css')\n\t\t: [];\n\n\t// When HTML/HTMX pages change, we must include their CSS and scripts in the build\n\t// so the manifest has those entries for updateAssetPaths. Otherwise incremental\n\t// builds drop them and updateAssetPaths fails with \"no manifest entry\".\n\tconst shouldIncludeHtmlAssets =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst shouldIncludeHtmxAssets =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\t// Filter entries for incremental builds\n\t// For React: map index entries back to their source pages\n\tconst reactEntries =\n\t\tisIncremental && reactIndexesPath && reactPagesPath\n\t\t\t? filterToIncrementalEntries(allReactEntries, (entry) => {\n\t\t\t\t\t// Map index entry (indexes/ReactExample.tsx) to source page (pages/ReactExample.tsx)\n\t\t\t\t\tif (entry.startsWith(resolve(reactIndexesPath))) {\n\t\t\t\t\t\tconst pageName = basename(entry, '.tsx');\n\t\t\t\t\t\treturn join(reactPagesPath, `${pageName}.tsx`);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})\n\t\t\t: allReactEntries;\n\n\tconst htmlEntries =\n\t\tisIncremental && htmlScriptsPath && !shouldIncludeHtmlAssets\n\t\t\t? filterToIncrementalEntries(allHtmlEntries, (entry) => entry)\n\t\t\t: allHtmlEntries;\n\n\t// For Svelte/Vue/Angular: entries are the page files themselves\n\tconst svelteEntries = isIncremental\n\t\t? filterToIncrementalEntries(allSvelteEntries, (entry) => entry)\n\t\t: allSvelteEntries;\n\n\tconst vueEntries = isIncremental\n\t\t? filterToIncrementalEntries(allVueEntries, (entry) => entry)\n\t\t: allVueEntries;\n\n\tconst angularEntries = isIncremental\n\t\t? filterToIncrementalEntries(allAngularEntries, (entry) => entry)\n\t\t: allAngularEntries;\n\n\t// CSS entries - entries are the CSS files themselves\n\tconst htmlCssEntries =\n\t\tisIncremental && !shouldIncludeHtmlAssets\n\t\t\t? filterToIncrementalEntries(allHtmlCssEntries, (entry) => entry)\n\t\t\t: allHtmlCssEntries;\n\tconst htmxCssEntries =\n\t\tisIncremental && !shouldIncludeHtmxAssets\n\t\t\t? filterToIncrementalEntries(allHtmxCssEntries, (entry) => entry)\n\t\t\t: allHtmxCssEntries;\n\tconst reactCssEntries = isIncremental\n\t\t? filterToIncrementalEntries(allReactCssEntries, (entry) => entry)\n\t\t: allReactCssEntries;\n\tconst svelteCssEntries = isIncremental\n\t\t? filterToIncrementalEntries(allSvelteCssEntries, (entry) => entry)\n\t\t: allSvelteCssEntries;\n\n\tconst { svelteServerPaths, svelteIndexPaths, svelteClientPaths } = svelteDir\n\t\t? await compileSvelte(svelteEntries, svelteDir, new Map(), hmr)\n\t\t: {\n\t\t\t\tsvelteClientPaths: [],\n\t\t\t\tsvelteIndexPaths: [],\n\t\t\t\tsvelteServerPaths: []\n\t\t\t};\n\n\tconst { vueServerPaths, vueIndexPaths, vueClientPaths, vueCssPaths } =\n\t\tvueDir\n\t\t\t? await compileVue(vueEntries, vueDir, hmr)\n\t\t\t: {\n\t\t\t\t\tvueClientPaths: [],\n\t\t\t\t\tvueCssPaths: [],\n\t\t\t\t\tvueIndexPaths: [],\n\t\t\t\t\tvueServerPaths: []\n\t\t\t\t};\n\n\tconst serverEntryPoints = [...svelteServerPaths, ...vueServerPaths];\n\tconst reactClientEntryPoints = [...reactEntries];\n\tconst nonReactClientEntryPoints = [\n\t\t...svelteIndexPaths,\n\t\t...svelteClientPaths,\n\t\t...htmlEntries,\n\t\t...vueIndexPaths,\n\t\t...vueClientPaths\n\t];\n\tconst cssEntryPoints = [\n\t\t...vueCssPaths,\n\t\t...reactCssEntries,\n\t\t...svelteCssEntries,\n\t\t...htmlCssEntries,\n\t\t...htmxCssEntries\n\t];\n\n\tif (\n\t\tserverEntryPoints.length === 0 &&\n\t\treactClientEntryPoints.length === 0 &&\n\t\tnonReactClientEntryPoints.length === 0 &&\n\t\thtmxDir === undefined &&\n\t\thtmlDir === undefined\n\t) {\n\t\tlogger.warn('No entry points found, manifest will be empty');\n\n\t\treturn {};\n\t}\n\n\tlet serverLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet serverOutputs: BuildArtifact[] = [];\n\n\tif (serverEntryPoints.length > 0) {\n\t\tconst result = await bunBuild({\n\t\t\tentrypoints: serverEntryPoints,\n\t\t\tformat: 'esm',\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: serverOutDir,\n\t\t\troot: serverRoot,\n\t\t\ttarget: 'bun',\n\t\t\tthrow: false\n\t\t});\n\t\tserverLogs = result.logs;\n\t\tserverOutputs = result.outputs;\n\t\tif (!result.success && result.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tresult.logs.find((l) => l.level === 'error') ?? result.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = result.logs;\n\t\t\tlogger.error('Server build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet reactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet reactClientOutputs: BuildArtifact[] = [];\n\n\t// In dev, add the _refresh entry to force React into a shared chunk\n\t// so HMR can re-import component entries without duplicating React.\n\t// Only add when React entries exist (i.e. React files actually changed\n\t// or this is a full build) to avoid producing stale React outputs\n\t// during non-React incremental rebuilds.\n\tif (hmr && reactIndexesPath && reactClientEntryPoints.length > 0) {\n\t\tconst refreshEntry = join(reactIndexesPath, '_refresh.tsx');\n\t\tif (!reactClientEntryPoints.includes(refreshEntry)) {\n\t\t\treactClientEntryPoints.push(refreshEntry);\n\t\t}\n\t}\n\n\tif (reactClientEntryPoints.length > 0) {\n\t\tconst reactBuildConfig = {\n\t\t\tentrypoints: reactClientEntryPoints,\n\t\t\tformat: 'esm' as const,\n\t\t\tminify: !isDev,\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: buildPath,\n\t\t\troot: clientRoot,\n\t\t\tsplitting: true,\n\t\t\ttarget: 'browser' as const,\n\t\t\tthrow: false\n\t\t};\n\n\t\t// Bun's reactFastRefresh option injects $RefreshReg$/$RefreshSig$\n\t\t// calls for React Fast Refresh support in dev\n\t\tif (hmr) {\n\t\t\t(reactBuildConfig as Record<string, unknown>).reactFastRefresh =\n\t\t\t\ttrue;\n\t\t}\n\n\t\tconst reactClientResult = await bunBuild(reactBuildConfig);\n\t\treactClientLogs = reactClientResult.logs;\n\t\treactClientOutputs = reactClientResult.outputs;\n\t\tif (!reactClientResult.success && reactClientResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\treactClientResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\treactClientResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = reactClientResult.logs;\n\t\t\tlogger.error('React client build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet nonReactClientLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet nonReactClientOutputs: BuildArtifact[] = [];\n\n\tif (nonReactClientEntryPoints.length > 0) {\n\t\tconst htmlScriptPlugin = hmr\n\t\t\t? createHTMLScriptHMRPlugin(htmlDir, htmxDir)\n\t\t\t: undefined;\n\n\t\tconst nonReactClientResult = await bunBuild({\n\t\t\tdefine: vueDirectory ? vueFeatureFlags : undefined,\n\t\t\tentrypoints: nonReactClientEntryPoints,\n\t\t\tformat: 'esm',\n\t\t\tminify: !isDev,\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: buildPath,\n\t\t\tplugins: htmlScriptPlugin ? [htmlScriptPlugin] : undefined,\n\t\t\troot: clientRoot,\n\t\t\ttarget: 'browser',\n\t\t\tsplitting: !isDev,\n\t\t\tthrow: false\n\t\t});\n\t\tnonReactClientLogs = nonReactClientResult.logs;\n\t\tnonReactClientOutputs = nonReactClientResult.outputs;\n\t\tif (\n\t\t\t!nonReactClientResult.success &&\n\t\t\tnonReactClientResult.logs.length > 0\n\t\t) {\n\t\t\tconst errLog =\n\t\t\t\tnonReactClientResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tnonReactClientResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs =\n\t\t\t\tnonReactClientResult.logs;\n\t\t\tlogger.error('Non-React client build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tlet cssLogs: (BuildMessage | ResolveMessage)[] = [];\n\tlet cssOutputs: BuildArtifact[] = [];\n\n\tif (cssEntryPoints.length > 0) {\n\t\tconst cssResult = await bunBuild({\n\t\t\tentrypoints: cssEntryPoints,\n\t\t\tnaming: `[name].[hash].[ext]`,\n\t\t\toutdir: join(\n\t\t\t\tbuildPath,\n\t\t\t\tassetsPath ? basename(assetsPath) : 'assets',\n\t\t\t\t'css'\n\t\t\t),\n\t\t\ttarget: 'browser',\n\t\t\tthrow: false\n\t\t});\n\t\tcssLogs = cssResult.logs;\n\t\tcssOutputs = cssResult.outputs;\n\t\tif (!cssResult.success && cssResult.logs.length > 0) {\n\t\t\tconst errLog =\n\t\t\t\tcssResult.logs.find((l) => l.level === 'error') ??\n\t\t\t\tcssResult.logs[0]!;\n\t\t\tconst err = new Error(\n\t\t\t\ttypeof errLog.message === 'string'\n\t\t\t\t\t? errLog.message\n\t\t\t\t\t: String(errLog.message)\n\t\t\t);\n\t\t\t(err as Error & { logs?: unknown }).logs = cssResult.logs;\n\t\t\tlogger.error('CSS build failed', err);\n\t\t\tif (throwOnError) throw err;\n\t\t\texit(1);\n\t\t}\n\t}\n\n\tconst allLogs = [\n\t\t...serverLogs,\n\t\t...reactClientLogs,\n\t\t...nonReactClientLogs,\n\t\t...cssLogs\n\t];\n\toutputLogs(allLogs);\n\n\tconst manifest = generateManifest(\n\t\t[\n\t\t\t...serverOutputs,\n\t\t\t...reactClientOutputs,\n\t\t\t...nonReactClientOutputs,\n\t\t\t...cssOutputs\n\t\t],\n\t\tbuildPath\n\t);\n\n\t// Svelte/Vue server pages need absolute file paths for SSR import(),\n\t// not web-relative paths. Overwrite with absolute paths like HTML/HTMX.\n\tfor (const artifact of serverOutputs) {\n\t\tconst fileWithHash = basename(artifact.path);\n\t\tconst [baseName] = fileWithHash.split(`.${artifact.hash}.`);\n\t\tif (!baseName) continue;\n\t\tmanifest[toPascal(baseName)] = artifact.path;\n\t}\n\n\t// For HTML/HTMX, copy pages on full builds or if HTML/HTMX files changed\n\t// Also update asset paths if CSS changed (to update CSS links in HTML files)\n\tconst htmlOrHtmlCssChanged =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst htmxOrHtmxCssChanged =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\tconst shouldCopyHtml = htmlOrHtmlCssChanged;\n\tconst shouldCopyHtmx = htmxOrHtmxCssChanged;\n\n\t// Update asset paths if CSS changed (even if HTML files didn't change)\n\tconst shouldUpdateHtmlAssetPaths =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/html/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\tconst shouldUpdateHtmxAssetPaths =\n\t\t!isIncremental ||\n\t\tnormalizedIncrementalFiles?.some(\n\t\t\t(f) =>\n\t\t\t\tf.includes('/htmx/') &&\n\t\t\t\t(f.endsWith('.html') || f.endsWith('.css'))\n\t\t);\n\n\t// Build HMR client bundle once for HTML/HTMX injection during dev builds\n\tconst hmrClientBundle =\n\t\thmr && (htmlDir || htmxDir) ? await buildHMRClient() : null;\n\n\tconst injectHMRIntoHTMLFile = (filePath: string, framework: string) => {\n\t\tif (!hmrClientBundle) return;\n\t\tlet html = readFileSync(filePath, 'utf-8');\n\t\tif (html.includes('data-hmr-client')) return;\n\t\tconst tag =\n\t\t\t`<script>window.__HMR_FRAMEWORK__=\"${framework}\";</script>` +\n\t\t\t`<script data-hmr-client>${hmrClientBundle}</script>`;\n\t\tconst bodyClose = /<\\/body\\s*>/i.exec(html);\n\t\thtml = bodyClose\n\t\t\t? html.slice(0, bodyClose.index) + tag + html.slice(bodyClose.index)\n\t\t\t: html + tag;\n\t\twriteFileSync(filePath, html);\n\t};\n\n\tif (htmlDir && htmlPagesPath) {\n\t\tconst outputHtmlPages = isSingle\n\t\t\t? join(buildPath, 'pages')\n\t\t\t: join(buildPath, basename(htmlDir), 'pages');\n\n\t\tif (shouldCopyHtml) {\n\t\t\tmkdirSync(outputHtmlPages, { recursive: true });\n\t\t\tcpSync(htmlPagesPath, outputHtmlPages, {\n\t\t\t\tforce: true,\n\t\t\t\trecursive: true\n\t\t\t});\n\t\t}\n\n\t\t// Update asset paths if HTML files changed OR CSS changed\n\t\tif (shouldUpdateHtmlAssetPaths) {\n\t\t\tawait updateAssetPaths(manifest, outputHtmlPages);\n\t\t}\n\n\t\t// Add HTML pages to manifest (absolute paths for Bun.file())\n\t\tconst htmlPageFiles = await scanEntryPoints(outputHtmlPages, '*.html');\n\t\tfor (const htmlFile of htmlPageFiles) {\n\t\t\tif (hmr) injectHMRIntoHTMLFile(htmlFile, 'html');\n\t\t\tconst fileName = basename(htmlFile, '.html');\n\t\t\tmanifest[fileName] = htmlFile;\n\t\t}\n\t}\n\n\tif (htmxDir && htmxPagesPath) {\n\t\tconst outputHtmxPages = isSingle\n\t\t\t? join(buildPath, 'pages')\n\t\t\t: join(buildPath, basename(htmxDir), 'pages');\n\n\t\tif (shouldCopyHtmx) {\n\t\t\tmkdirSync(outputHtmxPages, { recursive: true });\n\t\t\tcpSync(htmxPagesPath, outputHtmxPages, {\n\t\t\t\tforce: true,\n\t\t\t\trecursive: true\n\t\t\t});\n\t\t}\n\n\t\tif (shouldCopyHtmx) {\n\t\t\tconst htmxDestDir = isSingle\n\t\t\t\t? buildPath\n\t\t\t\t: join(buildPath, basename(htmxDir));\n\n\t\t\tmkdirSync(htmxDestDir, { recursive: true });\n\n\t\t\tconst glob = new Glob('htmx*.min.js');\n\t\t\tfor (const relPath of glob.scanSync({ cwd: htmxDir })) {\n\t\t\t\tconst src = join(htmxDir, relPath);\n\t\t\t\tconst dest = join(htmxDestDir, 'htmx.min.js');\n\t\t\t\tcopyFileSync(src, dest);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Update asset paths if HTMX files changed OR CSS changed\n\t\tif (shouldUpdateHtmxAssetPaths) {\n\t\t\tawait updateAssetPaths(manifest, outputHtmxPages);\n\t\t}\n\n\t\t// Add HTMX pages to manifest (absolute paths for Bun.file())\n\t\tconst htmxPageFiles = await scanEntryPoints(outputHtmxPages, '*.html');\n\t\tfor (const htmxFile of htmxPageFiles) {\n\t\t\tif (hmr) injectHMRIntoHTMLFile(htmxFile, 'htmx');\n\t\t\tconst fileName = basename(htmxFile, '.html');\n\t\t\tmanifest[fileName] = htmxFile;\n\t\t}\n\t}\n\n\tif (!options?.preserveIntermediateFiles)\n\t\tawait cleanup({\n\t\t\treactIndexesPath,\n\t\t\tsvelteDir,\n\t\t\tvueDir\n\t\t});\n\n\tconsole.log(\n\t\t`Build completed in ${getDurationString(performance.now() - buildStart)}`\n\t);\n\n\treturn manifest;\n};\n",
|
|
21
21
|
"import { existsSync } from 'node:fs';\nimport { mkdir, stat } from 'node:fs/promises';\nimport {\n\tdirname,\n\tjoin,\n\tbasename,\n\textname,\n\tresolve,\n\trelative,\n\tsep\n} from 'node:path';\nimport { env } from 'node:process';\nimport { write, file, Transpiler } from 'bun';\nimport { compile, compileModule, preprocess } from 'svelte/compiler';\n\nconst devClientDir = (() => {\n\tconst fromSource = resolve(import.meta.dir, '../dev/client');\n\tif (existsSync(fromSource)) return fromSource;\n\n\treturn resolve(import.meta.dir, './dev/client');\n})();\n\nconst hmrClientPath = join(devClientDir, 'hmrClient.ts').replace(/\\\\/g, '/');\n\ntype Built = { ssr: string; client: string };\ntype Cache = Map<string, Built>;\n\nconst transpiler = new Transpiler({ loader: 'ts', target: 'browser' });\n\nconst exists = async (path: string) => {\n\ttry {\n\t\tawait stat(path);\n\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst resolveSvelte = async (spec: string, from: string) => {\n\tconst basePath = resolve(dirname(from), spec);\n\tconst explicit = /\\.(svelte|svelte\\.(?:ts|js))$/.test(basePath);\n\n\tif (!explicit) {\n\t\tconst extensions = ['.svelte', '.svelte.ts', '.svelte.js'];\n\t\tconst paths = extensions.map((ext) => `${basePath}${ext}`);\n\t\tconst checks = await Promise.all(paths.map(exists));\n\t\tconst match = paths.find((_, index) => checks[index]);\n\n\t\treturn match ?? null;\n\t}\n\n\tif (await exists(basePath)) return basePath;\n\tif (!basePath.endsWith('.svelte')) return null;\n\n\tconst tsPath = `${basePath}.ts`;\n\tif (await exists(tsPath)) return tsPath;\n\n\tconst jsPath = `${basePath}.js`;\n\tif (await exists(jsPath)) return jsPath;\n\n\treturn null;\n};\n\nexport const compileSvelte = async (\n\tentryPoints: string[],\n\tsvelteRoot: string,\n\tcache: Cache = new Map(),\n\tisDev = false\n) => {\n\tconst compiledRoot = join(svelteRoot, 'compiled');\n\tconst clientDir = join(compiledRoot, 'client');\n\tconst indexDir = join(compiledRoot, 'indexes');\n\tconst pagesDir = join(compiledRoot, 'pages');\n\n\tawait Promise.all(\n\t\t[clientDir, indexDir, pagesDir].map((dir) =>\n\t\t\tmkdir(dir, { recursive: true })\n\t\t)\n\t);\n\n\tconst dev = env.NODE_ENV !== 'production';\n\n\tconst build = async (src: string) => {\n\t\tconst memoized = cache.get(src);\n\t\tif (memoized) return memoized;\n\n\t\tconst raw = await file(src).text();\n\t\tconst isModule =\n\t\t\tsrc.endsWith('.svelte.ts') || src.endsWith('.svelte.js');\n\t\tconst preprocessed = isModule ? raw : (await preprocess(raw, {})).code;\n\t\tconst transpiled =\n\t\t\tsrc.endsWith('.ts') || src.endsWith('.svelte.ts')\n\t\t\t\t? transpiler.transformSync(preprocessed)\n\t\t\t\t: preprocessed;\n\n\t\tconst relDir = dirname(relative(svelteRoot, src)).replace(/\\\\/g, '/');\n\t\tconst baseName = basename(src).replace(/\\.svelte(\\.(ts|js))?$/, '');\n\n\t\tconst importPaths = Array.from(\n\t\t\ttranspiled.matchAll(/from\\s+['\"]([^'\"]+)['\"]/g)\n\t\t)\n\t\t\t.map((match) => match[1])\n\t\t\t.filter((path): path is string => path !== undefined);\n\n\t\tconst resolvedImports = await Promise.all(\n\t\t\timportPaths.map((importPath) => resolveSvelte(importPath, src))\n\t\t);\n\t\tconst childSources = resolvedImports.filter(\n\t\t\t(path): path is string => path !== null\n\t\t);\n\t\tawait Promise.all(childSources.map((child) => build(child)));\n\n\t\tconst generate = (mode: 'server' | 'client') =>\n\t\t\t(isModule\n\t\t\t\t? compileModule(transpiled, { dev, filename: src }).js.code\n\t\t\t\t: compile(transpiled, {\n\t\t\t\t\t\tcss: 'injected',\n\t\t\t\t\t\tdev,\n\t\t\t\t\t\tfilename: src,\n\t\t\t\t\t\tgenerate: mode\n\t\t\t\t\t}).js.code\n\t\t\t).replace(/\\.svelte(?:\\.(?:ts|js))?(['\"])/g, '.js$1');\n\n\t\tconst ssrPath = join(pagesDir, relDir, `${baseName}.js`);\n\t\tconst clientPath = join(clientDir, relDir, `${baseName}.js`);\n\n\t\tawait Promise.all([\n\t\t\tmkdir(dirname(ssrPath), { recursive: true }),\n\t\t\tmkdir(dirname(clientPath), { recursive: true })\n\t\t]);\n\n\t\tif (isModule) {\n\t\t\tconst bundle = generate('client');\n\t\t\tawait Promise.all([\n\t\t\t\twrite(ssrPath, bundle),\n\t\t\t\twrite(clientPath, bundle)\n\t\t\t]);\n\t\t} else {\n\t\t\tconst serverBundle = generate('server');\n\t\t\tconst clientBundle = generate('client');\n\t\t\tawait Promise.all([\n\t\t\t\twrite(ssrPath, serverBundle),\n\t\t\t\twrite(clientPath, clientBundle)\n\t\t\t]);\n\t\t}\n\n\t\tconst built: Built = { client: clientPath, ssr: ssrPath };\n\t\tcache.set(src, built);\n\n\t\treturn built;\n\t};\n\n\tconst roots = await Promise.all(entryPoints.map(build));\n\n\tawait Promise.all(\n\t\troots.map(async ({ client }) => {\n\t\t\tconst relClientDir = dirname(relative(clientDir, client));\n\t\t\tconst name = basename(client, extname(client));\n\t\t\tconst indexPath = join(indexDir, relClientDir, `${name}.js`);\n\t\t\tconst importRaw = relative(dirname(indexPath), client)\n\t\t\t\t.split(sep)\n\t\t\t\t.join('/');\n\t\t\tconst importPath =\n\t\t\t\timportRaw.startsWith('.') || importRaw.startsWith('/')\n\t\t\t\t\t? importRaw\n\t\t\t\t\t: `./${importRaw}`;\n\t\t\tconst hmrImports = isDev\n\t\t\t\t? `window.__HMR_FRAMEWORK__ = \"svelte\";\\nimport \"${hmrClientPath}\";\\n`\n\t\t\t\t: '';\n\t\t\tconst bootstrap = `${hmrImports}import Component from \"${importPath}\";\nimport { hydrate, mount, unmount } from \"svelte\";\n\nvar initialProps = (typeof window !== \"undefined\" && window.__INITIAL_PROPS__) ? window.__INITIAL_PROPS__ : {};\nvar isHMR = typeof window !== \"undefined\" && window.__SVELTE_COMPONENT__ !== undefined;\nvar component;\n\nif (isHMR) {\n var headLinks = document.querySelectorAll('link[rel=\"stylesheet\"]');\n var preservedLinks = [];\n headLinks.forEach(function(link) {\n var clone = link.cloneNode(true);\n clone.setAttribute(\"data-hmr-preserve\", \"true\");\n document.head.appendChild(clone);\n preservedLinks.push(clone);\n });\n if (typeof window.__SVELTE_UNMOUNT__ === \"function\") {\n try { window.__SVELTE_UNMOUNT__(); } catch (err) { console.warn(\"[HMR] unmount error:\", err); }\n }\n var preservedState = window.__HMR_PRESERVED_STATE__;\n if (!preservedState) {\n try {\n var stored = sessionStorage.getItem(\"__SVELTE_HMR_STATE__\");\n if (stored) preservedState = JSON.parse(stored);\n } catch (err) { /* ignore */ }\n }\n var mergedProps = preservedState ? Object.assign({}, initialProps, preservedState) : initialProps;\n component = mount(Component, { target: document.body, props: mergedProps });\n requestAnimationFrame(function() {\n preservedLinks.forEach(function(link) { link.remove(); });\n });\n window.__HMR_PRESERVED_STATE__ = undefined;\n} else {\n component = hydrate(Component, { target: document.body, props: initialProps });\n}\n\nif (typeof window !== \"undefined\") {\n window.__SVELTE_COMPONENT__ = component;\n window.__SVELTE_UNMOUNT__ = function() { unmount(component); };\n}`;\n\n\t\t\tawait mkdir(dirname(indexPath), { recursive: true });\n\n\t\t\treturn write(indexPath, bootstrap);\n\t\t})\n\t);\n\n\treturn {\n\t\t// Index paths (entry points for hydration)\n\t\tsvelteIndexPaths: roots.map(({ client }) => {\n\t\t\tconst rel = dirname(relative(clientDir, client));\n\t\t\treturn join(indexDir, rel, basename(client));\n\t\t}),\n\t\t// Actual client component paths (for official HMR module imports)\n\t\tsvelteClientPaths: roots.map(({ client }) => client),\n\t\tsvelteServerPaths: roots.map(({ ssr }) => ssr)\n\t};\n};\n",
|
|
22
22
|
"import { extname } from 'node:path';\nimport { BuildArtifact } from 'bun';\nimport { UNFOUND_INDEX } from '../constants';\nimport { normalizePath } from '../utils/normalizePath';\nimport { toPascal } from '../utils/stringModifiers';\n\nexport const generateManifest = (outputs: BuildArtifact[], buildPath: string) =>\n\toutputs.reduce<Record<string, string>>((manifest, artifact) => {\n\t\t// Normalize both paths for consistent comparison across platforms\n\t\tconst normalizedArtifactPath = normalizePath(artifact.path);\n\t\tconst normalizedBuildPath = normalizePath(buildPath);\n\n\t\tlet relative = normalizedArtifactPath.startsWith(normalizedBuildPath)\n\t\t\t? normalizedArtifactPath.slice(normalizedBuildPath.length)\n\t\t\t: normalizedArtifactPath;\n\t\trelative = relative.replace(/^\\/+/, '');\n\n\t\tconst segments = relative.split('/');\n\t\tconst fileWithHash = segments.pop();\n\t\tif (!fileWithHash) return manifest;\n\n\t\tconst [baseName] = fileWithHash.split(`.${artifact.hash}.`);\n\t\tif (!baseName) return manifest;\n\n\t\tconst pascalName = toPascal(baseName);\n\t\tconst ext = extname(fileWithHash);\n\n\t\tif (ext === '.css') {\n\t\t\tmanifest[`${pascalName}CSS`] = `/${relative}`;\n\n\t\t\treturn manifest;\n\t\t}\n\n\t\tconst idx = segments.findIndex(\n\t\t\t(seg) => seg === 'indexes' || seg === 'pages' || seg === 'client'\n\t\t);\n\t\tconst folder = idx > UNFOUND_INDEX ? segments[idx] : segments[0];\n\n\t\t// Detect framework from path segments\n\t\tconst isReact = segments.some((seg) => seg === 'react');\n\t\tconst isVue = segments.some((seg) => seg === 'vue');\n\t\tconst isSvelte = segments.some((seg) => seg === 'svelte');\n\n\t\t// Check if this is a client component (for official HMR)\n\t\tconst isClientComponent = segments.includes('client');\n\n\t\tif (folder === 'indexes') {\n\t\t\tmanifest[`${pascalName}Index`] = `/${relative}`;\n\t\t} else if (isClientComponent) {\n\t\t\t// Client components get {Name}Client key for HMR module imports\n\t\t\tmanifest[`${pascalName}Client`] = `/${relative}`;\n\t\t} else if (folder === 'pages') {\n\t\t\t// Only add \"Page\" suffix for React pages\n\t\t\t// Vue and Svelte pages use their base PascalCase name\n\t\t\tif (isReact) {\n\t\t\t\tmanifest[`${pascalName}Page`] = `/${relative}`;\n\t\t\t} else if (isVue || isSvelte) {\n\t\t\t\t// Vue/Svelte pages use base name without suffix\n\t\t\t\tmanifest[pascalName] = `/${relative}`;\n\t\t\t} else {\n\t\t\t\t// Default behavior for other frameworks\n\t\t\t\tmanifest[`${pascalName}Page`] = `/${relative}`;\n\t\t\t}\n\t\t} else {\n\t\t\tmanifest[pascalName] = `/${relative}`;\n\t\t}\n\n\t\treturn manifest;\n\t}, {});\n",
|
|
23
23
|
"/**\n * Normalize file paths to use forward slashes for cross-platform compatibility.\n * Windows uses backslashes, but this codebase standardizes on forward slashes.\n */\nexport const normalizePath = (path: string) => path.replace(/\\\\/g, '/');\n\n/**\n * Normalize all paths in an array.\n */\nexport const normalizePaths = (paths: string[]) => paths.map(normalizePath);\n",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"import {\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION,\n\tMILLISECONDS_IN_A_MINUTE\n} from '../constants';\n\nexport const getDurationString = (duration: number) => {\n\tlet durationString;\n\n\tif (duration < MILLISECONDS_IN_A_SECOND) {\n\t\tdurationString = `${duration.toFixed(TIME_PRECISION)}ms`;\n\t} else if (duration < MILLISECONDS_IN_A_MINUTE) {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tdurationString = `${(duration / MILLISECONDS_IN_A_MINUTE).toFixed(TIME_PRECISION)}m`;\n\t}\n\n\treturn durationString;\n};\n",
|
|
34
34
|
"/**\n * Centralized logger utility for AbsoluteJS\n * Provides Vite-style formatted output with ANSI colors and timestamps\n */\n\n// ANSI color codes\nconst colors = {\n\treset: '\\x1b[0m',\n\tbold: '\\x1b[1m',\n\tdim: '\\x1b[2m',\n\n\t// Core colors\n\tcyan: '\\x1b[36m',\n\tgreen: '\\x1b[32m',\n\tyellow: '\\x1b[33m',\n\tred: '\\x1b[31m',\n\tblue: '\\x1b[34m',\n\tmagenta: '\\x1b[35m',\n\twhite: '\\x1b[37m'\n} as const;\n\n// Framework color mapping\nconst frameworkColors: Record<string, string> = {\n\treact: colors.blue,\n\tvue: colors.green,\n\tsvelte: colors.yellow,\n\tangular: colors.magenta,\n\thtml: colors.white,\n\thtmx: colors.white,\n\tcss: colors.cyan,\n\tassets: colors.dim\n};\n\n/**\n * Format timestamp as \"HH:MM:SS AM/PM\" (Vite style)\n */\nconst formatTimestamp = () => {\n\tconst now = new Date();\n\tlet hours = now.getHours();\n\tconst minutes = now.getMinutes().toString().padStart(2, '0');\n\tconst seconds = now.getSeconds().toString().padStart(2, '0');\n\tconst ampm = hours >= 12 ? 'PM' : 'AM';\n\thours = hours % 12 || 12;\n\treturn `${hours}:${minutes}:${seconds} ${ampm}`;\n};\n\n/**\n * Format a file path for display (relative, clean)\n */\nconst formatPath = (filePath: string) => {\n\tconst cwd = process.cwd();\n\tlet relative = filePath.startsWith(cwd)\n\t\t? filePath.slice(cwd.length + 1)\n\t\t: filePath;\n\t// Normalize slashes\n\trelative = relative.replace(/\\\\/g, '/');\n\t// Ensure it starts with / for consistency with Vite\n\tif (!relative.startsWith('/')) {\n\t\trelative = '/' + relative;\n\t}\n\treturn relative;\n};\n\n/**\n * Get color for a framework\n */\nconst getFrameworkColor = (framework: string) => {\n\treturn frameworkColors[framework] || colors.white;\n};\n\n/**\n * Core logging function with Vite-style format\n */\nconst log = (\n\taction: string,\n\toptions?: {\n\t\tframework?: string;\n\t\tduration?: number;\n\t\tpath?: string;\n\t\tcolor?: string;\n\t}\n) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.cyan}[hmr]${colors.reset}`;\n\n\tlet message = action;\n\n\t// Apply framework color to path if present\n\tif (options?.path) {\n\t\tconst pathColor = options.framework\n\t\t\t? getFrameworkColor(options.framework)\n\t\t\t: colors.white;\n\t\tmessage += ` ${pathColor}${formatPath(options.path)}${colors.reset}`;\n\t}\n\n\t// Add duration if present\n\tif (options?.duration !== undefined) {\n\t\tmessage += ` ${colors.dim}(${options.duration}ms)${colors.reset}`;\n\t}\n\n\tconsole.log(`${timestamp} ${tag} ${message}`);\n};\n\n/**\n * Error logging with red color\n */\nconst logError = (message: string, error?: Error | string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.red}[hmr]${colors.reset}`;\n\tconst errorMsg = error instanceof Error ? error.message : error;\n\tconst fullMessage = `${colors.red}error${colors.reset} ${message}${errorMsg ? `: ${errorMsg}` : ''}`;\n\tconsole.error(`${timestamp} ${tag} ${fullMessage}`);\n};\n\n/**\n * Warning logging with yellow color\n */\nconst logWarn = (message: string) => {\n\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\tconst tag = `${colors.yellow}[hmr]${colors.reset}`;\n\tconsole.warn(\n\t\t`${timestamp} ${tag} ${colors.yellow}warning${colors.reset} ${message}`\n\t);\n};\n\n// Public API\nexport const logger = {\n\t/**\n\t * HMR update message\n\t * Format: \"10:30:45 AM [hmr] hmr update /pages/App.tsx\"\n\t */\n\thmrUpdate(path: string, framework?: string) {\n\t\tlog('hmr update', { path, framework });\n\t},\n\n\t/**\n\t * Page reload message\n\t * Format: \"10:30:45 AM [hmr] page reload /src/App.tsx\"\n\t */\n\tpageReload(path: string, framework?: string) {\n\t\tlog('page reload', { path, framework });\n\t},\n\n\t/**\n\t * CSS update message\n\t * Format: \"10:30:45 AM [hmr] css update /styles/main.css\"\n\t */\n\tcssUpdate(path: string, framework?: string) {\n\t\tlog('css update', { path, framework: framework ?? 'css' });\n\t},\n\n\t/**\n\t * Script update message\n\t * Format: \"10:30:45 AM [hmr] script update /scripts/counter.ts\"\n\t */\n\tscriptUpdate(path: string, framework?: string) {\n\t\tlog('script update', { path, framework });\n\t},\n\n\t/**\n\t * Rebuild complete message\n\t * Format: \"10:30:45 AM [hmr] rebuilt (125ms)\"\n\t */\n\trebuilt(duration: number) {\n\t\tconst timestamp = `${colors.dim}${formatTimestamp()}${colors.reset}`;\n\t\tconst tag = `${colors.cyan}[hmr]${colors.reset}`;\n\t\tconst message = `${colors.green}rebuilt${colors.reset} ${colors.dim}(${duration}ms)${colors.reset}`;\n\t\tconsole.log(`${timestamp} ${tag} ${message}`);\n\t},\n\n\t/**\n\t * Build error\n\t * Format: \"10:30:45 AM [hmr] error Build failed: ...\"\n\t */\n\terror(message: string, error?: Error | string) {\n\t\tlogError(message, error);\n\t},\n\n\t/**\n\t * Warning message\n\t * Format: \"10:30:45 AM [hmr] warning ...\"\n\t */\n\twarn(message: string) {\n\t\tlogWarn(message);\n\t},\n\n\t/**\n\t * Generic info message\n\t */\n\tinfo(message: string) {\n\t\tlog(message);\n\t}\n};\n",
|
|
35
35
|
"import { resolve, relative } from 'node:path';\nimport { normalizePath } from './normalizePath';\n\nexport const validateSafePath = (targetPath: string, baseDirectory: string) => {\n\tconst absoluteBase = resolve(baseDirectory);\n\tconst absoluteTarget = resolve(baseDirectory, targetPath);\n\t// Normalize relative path for consistent cross-platform traversal check\n\tconst relativePath = normalizePath(relative(absoluteBase, absoluteTarget));\n\n\tif (relativePath.startsWith('../') || relativePath === '..') {\n\t\tthrow new Error(`Unsafe path: ${targetPath}`);\n\t}\n\n\treturn absoluteTarget;\n};\n",
|
|
36
|
-
"import { statSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { build } from './build';\nimport type { BuildConfig } from '../../types/build';\nimport { createHMRState, type HMRState } from '../dev/clientManager';\nimport {
|
|
36
|
+
"import { statSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { build } from './build';\nimport type { BuildConfig } from '../../types/build';\nimport { createHMRState, type HMRState } from '../dev/clientManager';\nimport { buildInitialDependencyGraph } from '../dev/dependencyGraph';\nimport { startFileWatching } from '../dev/fileWatcher';\nimport { getWatchPaths } from '../dev/pathUtils';\nimport { cleanStaleAssets, populateAssetStore } from '../dev/assetStore';\nimport { queueFileChange } from '../dev/rebuildTrigger';\n\n/* Development mode function - replaces build() during development\n Returns DevResult with manifest, buildDir, asset(), and hmrState for use with the hmr() plugin */\nexport const devBuild = async (config: BuildConfig) => {\n\t// On Bun --hot reload, return cached result instead of rebuilding\n\tconst cached = (globalThis as Record<string, unknown>).__hmrDevResult as\n\t\t| {\n\t\t\t\thmrState: HMRState;\n\t\t\t\tmanifest: Record<string, string>;\n\t\t }\n\t\t| undefined;\n\tif (cached) {\n\t\tconst serverMtime = statSync(resolve(Bun.main)).mtimeMs;\n\t\tconst lastMtime = (globalThis as Record<string, unknown>)\n\t\t\t.__hmrServerMtime as number;\n\t\t(globalThis as Record<string, unknown>).__hmrServerMtime = serverMtime;\n\n\t\tif (serverMtime !== lastMtime) {\n\t\t\tconsole.log('\\x1b[36m[hmr] Server module reloaded\\x1b[0m');\n\t\t} else {\n\t\t\t// Framework file changed — skip server restart, let HMR handle it\n\t\t\t(globalThis as Record<string, unknown>).__hmrSkipServerRestart =\n\t\t\t\ttrue;\n\t\t\tconsole.log('\\x1b[36m[hmr] Hot module update detected\\x1b[0m');\n\t\t}\n\t\treturn cached;\n\t}\n\n\t// Create initial HMR state with config\n\tconst state = createHMRState(config);\n\n\t// Initialize dependency graph by scanning all source files\n\tconst watchPaths = getWatchPaths(config, state.resolvedPaths);\n\tbuildInitialDependencyGraph(state.dependencyGraph, watchPaths);\n\n\tconsole.log('🔨 Building AbsoluteJS with HMR...');\n\n\t// Initial build (HMR client is baked into index files and HTML/HTMX pages)\n\tconst manifest = await build({\n\t\t...config,\n\t\toptions: {\n\t\t\t...config.options,\n\t\t\tinjectHMR: true,\n\t\t\tpreserveIntermediateFiles: true\n\t\t}\n\t});\n\n\tif (!manifest || Object.keys(manifest).length === 0) {\n\t\t// Allow empty manifests for HTML/HTMX-only projects\n\t\tconsole.log(\n\t\t\t'⚠️ Manifest is empty - this is OK for HTML/HTMX-only projects'\n\t\t);\n\t}\n\n\t// Populate in-memory asset store so client assets are served from memory\n\tawait populateAssetStore(\n\t\tstate.assetStore,\n\t\tmanifest ?? {},\n\t\tstate.resolvedPaths.buildDir\n\t);\n\tawait cleanStaleAssets(\n\t\tstate.assetStore,\n\t\tmanifest ?? {},\n\t\tstate.resolvedPaths.buildDir\n\t);\n\n\tconsole.log('✅ Build completed successfully');\n\n\tstartFileWatching(state, config, (filePath: string) => {\n\t\tqueueFileChange(state, filePath, config, (newBuildResult) => {\n\t\t\tObject.assign(manifest, newBuildResult.manifest);\n\t\t});\n\t});\n\n\tconsole.log('👀 File watching: Active');\n\tconsole.log('🔥 HMR: Ready');\n\n\tconst result = {\n\t\thmrState: state,\n\t\tmanifest\n\t};\n\n\t(globalThis as Record<string, unknown>).__hmrServerStartup =\n\t\tDate.now().toString();\n\n\t// Cache for Bun --hot reloads\n\t(globalThis as Record<string, unknown>).__hmrDevResult = result;\n\t(globalThis as Record<string, unknown>).__hmrServerMtime = statSync(\n\t\tresolve(Bun.main)\n\t).mtimeMs;\n\n\treturn result;\n};\n",
|
|
37
37
|
"import { readFileSync, readdirSync, existsSync } from 'node:fs';\nimport { resolve } from 'node:path';\n\n/* Dependency graph for tracking file relationships\n This handles the \"what depends on what\" problem for incremental HMR */\nexport type DependencyGraph = {\n\t// filePath -> Set of files that depend on this file\n\tdependents: Map<string, Set<string>>;\n\t// filePath -> Set of files this file depends on\n\tdependencies: Map<string, Set<string>>;\n};\n\nexport const createDependencyGraph = () => ({\n\tdependencies: new Map(),\n\tdependents: new Map()\n});\n\n/* Extract import/require statements from a file\n This handles the \"find dependencies\" problem */\nexport const extractDependencies = (filePath: string) => {\n\ttry {\n\t\t// Check if file exists before trying to read\n\t\tif (!existsSync(filePath)) {\n\t\t\treturn [];\n\t\t}\n\t\tconst content = readFileSync(filePath, 'utf-8');\n\t\tconst dependencies: string[] = [];\n\t\tconst lowerPath = filePath.toLowerCase();\n\t\tconst isHtml =\n\t\t\tlowerPath.endsWith('.html') || lowerPath.endsWith('.htm');\n\n\t\t// Special-case HTML/HTMX: detect linked stylesheets so CSS changes map back to pages\n\t\tif (isHtml) {\n\t\t\tconst linkRegex =\n\t\t\t\t/<link\\s+[^>]*rel=[\"']stylesheet[\"'][^>]*href=[\"']([^\"']+)[\"'][^>]*>/gi;\n\t\t\tlet matchLink;\n\t\t\twhile ((matchLink = linkRegex.exec(content)) !== null) {\n\t\t\t\tconst href = matchLink[1];\n\t\t\t\tif (!href) continue;\n\t\t\t\t// Resolve relative to the HTML file\n\t\t\t\tconst resolvedHref = resolveImportPath(href, filePath);\n\t\t\t\tif (resolvedHref) {\n\t\t\t\t\tdependencies.push(resolvedHref);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dependencies;\n\t\t}\n\n\t\t// Match various import patterns\n\t\tconst importRegex = /import\\s+.*?\\s+from\\s+['\"]([^'\"]+)['\"]/g;\n\t\tconst importWithoutFromRegex = /import\\s+['\"]([^'\"]+)['\"]/g; // For CSS and side-effect imports\n\t\tconst requireRegex = /require\\s*\\(\\s*['\"]([^'\"]+)['\"]\\s*\\)/g;\n\t\tconst dynamicImportRegex = /import\\s*\\(\\s*['\"]([^'\"]+)['\"]\\s*\\)/g;\n\n\t\tlet match;\n\n\t\t// Find static imports with 'from'\n\t\twhile ((match = importRegex.exec(content)) !== null) {\n\t\t\tif (match[1]) {\n\t\t\t\tconst resolved = resolveImportPath(match[1], filePath);\n\t\t\t\tif (resolved) dependencies.push(resolved);\n\t\t\t}\n\t\t}\n\n\t\t// Find imports without 'from' (side-effect imports like CSS)\n\t\twhile ((match = importWithoutFromRegex.exec(content)) !== null) {\n\t\t\tif (match[1]) {\n\t\t\t\tconst resolved = resolveImportPath(match[1], filePath);\n\t\t\t\tif (resolved) dependencies.push(resolved);\n\t\t\t}\n\t\t}\n\n\t\t// Find require statements\n\t\twhile ((match = requireRegex.exec(content)) !== null) {\n\t\t\tif (match[1]) {\n\t\t\t\tconst resolved = resolveImportPath(match[1], filePath);\n\t\t\t\tif (resolved) dependencies.push(resolved);\n\t\t\t}\n\t\t}\n\n\t\t// Find dynamic imports\n\t\twhile ((match = dynamicImportRegex.exec(content)) !== null) {\n\t\t\tif (match[1]) {\n\t\t\t\tconst resolved = resolveImportPath(match[1], filePath);\n\t\t\t\tif (resolved) dependencies.push(resolved);\n\t\t\t}\n\t\t}\n\n\t\treturn dependencies;\n\t} catch {\n\t\treturn [];\n\t}\n};\n\n/* Resolve relative import paths to absolute paths\n This handles the \"resolve imports\" problem */\nconst resolveImportPath = (importPath: string, fromFile: string) => {\n\t// Skip external packages\n\tif (!importPath.startsWith('.') && !importPath.startsWith('/')) {\n\t\treturn null;\n\t}\n\n\tconst fromDir = resolve(fromFile, '..');\n\tconst resolved = resolve(fromDir, importPath);\n\n\t// Normalize the path to ensure consistent format (absolute path)\n\tconst normalized = resolve(resolved);\n\n\t// Try common extensions\n\tconst extensions = [\n\t\t'.ts',\n\t\t'.tsx',\n\t\t'.js',\n\t\t'.jsx',\n\t\t'.vue',\n\t\t'.svelte',\n\t\t'.css',\n\t\t'.html'\n\t];\n\n\tfor (const ext of extensions) {\n\t\tconst withExt = normalized + ext;\n\t\ttry {\n\t\t\treadFileSync(withExt);\n\n\t\t\treturn normalized + ext; // Return absolute path\n\t\t} catch {\n\t\t\t// File doesn't exist with this extension\n\t\t}\n\t}\n\n\t// Try without extension\n\ttry {\n\t\treadFileSync(normalized);\n\n\t\treturn normalized; // Return absolute path\n\t} catch {\n\t\treturn null;\n\t}\n};\n\n/* Add a file and its dependencies to the graph\n This handles the \"build graph\" problem */\nexport const addFileToGraph = (graph: DependencyGraph, filePath: string) => {\n\t// Normalize the file path to ensure consistent format\n\tconst normalizedPath = resolve(filePath);\n\n\tif (!existsSync(normalizedPath)) {\n\t\treturn;\n\t}\n\n\tconst dependencies = extractDependencies(normalizedPath);\n\n\t// Clear existing dependencies for this file\n\tconst existingDeps = graph.dependencies.get(normalizedPath);\n\tif (existingDeps) {\n\t\tfor (const dep of existingDeps) {\n\t\t\tconst dependents = graph.dependents.get(dep);\n\t\t\tif (dependents) {\n\t\t\t\tdependents.delete(normalizedPath);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Add new dependencies\n\tconst newDeps = new Set(dependencies);\n\tgraph.dependencies.set(normalizedPath, newDeps);\n\n\t// Update dependents (reverse relationship)\n\tfor (const dep of dependencies) {\n\t\tif (!graph.dependents.has(dep)) {\n\t\t\tgraph.dependents.set(dep, new Set());\n\t\t}\n\t\tgraph.dependents.get(dep)!.add(normalizedPath);\n\t}\n};\n\n/* Get all files that depend on a changed file\n This handles the \"find affected files\" problem */\nexport const getAffectedFiles = (\n\tgraph: DependencyGraph,\n\tchangedFile: string\n) => {\n\t// Normalize the changed file path to ensure consistent lookup\n\tconst normalizedPath = resolve(changedFile);\n\tconst affected = new Set<string>();\n\tconst toProcess = [normalizedPath];\n\n\twhile (toProcess.length > 0) {\n\t\tconst current = toProcess.pop()!;\n\n\t\tif (affected.has(current)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\taffected.add(current);\n\n\t\tconst dependents = graph.dependents.get(current);\n\t\tif (dependents) {\n\t\t\tfor (const dependent of dependents) {\n\t\t\t\ttoProcess.push(dependent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn Array.from(affected);\n};\n\n/* Remove a file from the graph\n This handles the \"cleanup deleted files\" problem */\nexport const removeFileFromGraph = (\n\tgraph: DependencyGraph,\n\tfilePath: string\n) => {\n\t// Normalize the file path to ensure consistent format\n\tconst normalizedPath = resolve(filePath);\n\n\t// Remove from dependencies\n\tconst deps = graph.dependencies.get(normalizedPath);\n\tif (deps) {\n\t\tfor (const dep of deps) {\n\t\t\tconst dependents = graph.dependents.get(dep);\n\t\t\tif (dependents) {\n\t\t\t\tdependents.delete(normalizedPath);\n\t\t\t}\n\t\t}\n\t\tgraph.dependencies.delete(normalizedPath);\n\t}\n\n\t// Remove from dependents\n\tconst dependents = graph.dependents.get(normalizedPath);\n\tif (dependents) {\n\t\tfor (const dependent of dependents) {\n\t\t\tconst depList = graph.dependencies.get(dependent);\n\t\t\tif (depList) {\n\t\t\t\tdepList.delete(normalizedPath);\n\t\t\t}\n\t\t}\n\t\tgraph.dependents.delete(normalizedPath);\n\t}\n};\n\n/* Build dependency graph for all files in a directory\n This handles the \"initialize graph\" problem */\nexport const buildInitialDependencyGraph = (\n\tgraph: DependencyGraph,\n\tdirectories: string[]\n) => {\n\tconst processedFiles = new Set<string>();\n\n\tconst scanDirectory = (dir: string) => {\n\t\t// Normalize directory path\n\t\tconst normalizedDir = resolve(dir);\n\t\ttry {\n\t\t\tconst entries = readdirSync(normalizedDir, { withFileTypes: true });\n\n\t\t\tfor (const entry of entries) {\n\t\t\t\tconst fullPath = resolve(normalizedDir, entry.name);\n\n\t\t\t\t// Skip ignored paths\n\t\t\t\tif (\n\t\t\t\t\tfullPath.includes('/node_modules/') ||\n\t\t\t\t\tfullPath.includes('/.git/') ||\n\t\t\t\t\tfullPath.includes('/build/') ||\n\t\t\t\t\tfullPath.includes('/compiled/') ||\n\t\t\t\t\tfullPath.includes('/indexes/') ||\n\t\t\t\t\tentry.name.startsWith('.')\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (entry.isDirectory()) {\n\t\t\t\t\tscanDirectory(fullPath);\n\t\t\t\t} else if (entry.isFile()) {\n\t\t\t\t\t// Process source files (TypeScript, JavaScript, Vue, Svelte, HTML)\n\t\t\t\t\tconst ext = entry.name.split('.').pop()?.toLowerCase();\n\t\t\t\t\tif (\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t'ts',\n\t\t\t\t\t\t\t'tsx',\n\t\t\t\t\t\t\t'js',\n\t\t\t\t\t\t\t'jsx',\n\t\t\t\t\t\t\t'vue',\n\t\t\t\t\t\t\t'svelte',\n\t\t\t\t\t\t\t'html',\n\t\t\t\t\t\t\t'htm'\n\t\t\t\t\t\t].includes(ext || '')\n\t\t\t\t\t) {\n\t\t\t\t\t\tif (!processedFiles.has(fullPath)) {\n\t\t\t\t\t\t\taddFileToGraph(graph, fullPath);\n\t\t\t\t\t\t\tprocessedFiles.add(fullPath);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {}\n\t};\n\n\tfor (const dir of directories) {\n\t\tconst resolvedDir = resolve(dir);\n\t\t// Only scan directories that exist\n\t\tif (existsSync(resolvedDir)) {\n\t\t\tscanDirectory(resolvedDir); // Normalize directory paths\n\t\t}\n\t}\n};\n",
|
|
38
38
|
"/* Module Version Tracker for Server-Client Synchronization\n Tracks module versions to ensure server and client stay in sync */\n\n/* Module version: increments each time a module is updated */\nexport type ModuleVersion = number;\n\n/* Module version map: module path -> version */\nexport type ModuleVersions = Map<string, ModuleVersion>;\n\n/* Global module version counter */\nlet globalVersionCounter = 0;\n\n/* Get next version number */\nexport const getNextVersion = () => ++globalVersionCounter;\n\n/* Create a new module version tracker */\nexport const createModuleVersionTracker = () =>\n\tnew Map<string, ModuleVersion>();\n\n/* Increment version for a module */\nexport const incrementModuleVersion = (\n\tversions: ModuleVersions,\n\tmodulePath: string\n) => {\n\tconst newVersion = getNextVersion();\n\tversions.set(modulePath, newVersion);\n\n\treturn newVersion;\n};\n\n/* Increment versions for multiple modules */\nexport const incrementModuleVersions = (\n\tversions: ModuleVersions,\n\tmodulePaths: string[]\n) => {\n\tconst updated = new Map<string, ModuleVersion>();\n\tfor (const path of modulePaths) {\n\t\tconst version = incrementModuleVersion(versions, path);\n\t\tupdated.set(path, version);\n\t}\n\n\treturn updated;\n};\n\n/* Serialize module versions for transmission */\nexport const serializeModuleVersions = (versions: ModuleVersions) => {\n\tconst serialized: Record<string, number> = {};\n\tfor (const [path, version] of versions.entries()) {\n\t\tserialized[path] = version;\n\t}\n\n\treturn serialized;\n};\n",
|
|
39
39
|
"import { resolve } from 'node:path';\nimport type { BuildConfig } from '../../types/build';\n\ntype ResolvedPaths = {\n\tbuildDir: string;\n\tassetsDir?: string;\n\treactDir?: string;\n\tsvelteDir?: string;\n\tvueDir?: string;\n\tangularDir?: string;\n\thtmlDir?: string;\n\thtmxDir?: string;\n};\n\n/** Normalize and default build paths so HMR works outside the example app. */\nexport const resolveBuildPaths = (config: BuildConfig) => {\n\tconst cwd = process.cwd();\n\t// Normalize to forward slashes for cross-platform compatibility (Windows uses backslashes)\n\tconst normalize = (path: string) => path.replace(/\\\\/g, '/');\n\tconst withDefault = (value: string | undefined, fallback: string) =>\n\t\tnormalize(resolve(cwd, value ?? fallback));\n\tconst optional = (value: string | undefined) =>\n\t\tvalue ? normalize(resolve(cwd, value)) : undefined;\n\n\treturn {\n\t\tbuildDir: withDefault(config.buildDirectory, 'build'),\n\t\tassetsDir: optional(config.assetsDirectory),\n\t\treactDir: optional(config.reactDirectory),\n\t\tsvelteDir: optional(config.svelteDirectory),\n\t\tvueDir: optional(config.vueDirectory),\n\t\tangularDir: optional(config.angularDirectory),\n\t\thtmlDir: optional(config.htmlDirectory),\n\t\thtmxDir: optional(config.htmxDirectory)\n\t};\n};\n\nexport type ResolvedBuildPaths = ReturnType<typeof resolveBuildPaths>;\n",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"/**\n * Utility for registering client-side scripts that need to run after Angular SSR hydration.\n *\n * This is necessary because Angular's lifecycle hooks don't always run reliably on the client\n * after SSR hydration, especially for event listeners attached to DOM elements.\n *\n * Usage in Angular components:\n * ```typescript\n * import { registerClientScript } from '@absolutejs/absolute';\n *\n * // Register an event listener script\n * registerClientScript(() => {\n * const element = document.querySelector('.my-element');\n * if (element) {\n * element.addEventListener('click', () => {\n * console.log('Clicked!');\n * });\n * }\n * });\n * ```\n *\n * The script will be automatically injected into the HTML response and executed on the client.\n */\n\n// Request-scoped registry for client scripts\n// Each request gets its own set of scripts to inject\nconst scriptRegistry = new Map<string, Set<() => void>>();\n\n// Generate a unique request ID for tracking scripts per request\nlet requestCounter = 0;\nconst getRequestId = () => `req_${Date.now()}_${++requestCounter}`;\n\n/**\n * Register a client-side script to be injected into the HTML response.\n *\n * @param script - A function containing the client-side code to execute\n * @param requestId - Optional request ID. If not provided, uses the current request context.\n * @returns The request ID for this script registration\n */\nexport const registerClientScript = (\n\tscript: () => void,\n\trequestId?: string\n) => {\n\t// If no requestId provided, try to get it from global context (set by page handler during SSR)\n\tconst id =\n\t\trequestId ||\n\t\t(globalThis as any).__absolutejs_requestId ||\n\t\tgetRequestId();\n\n\tif (!scriptRegistry.has(id)) {\n\t\tscriptRegistry.set(id, new Set());\n\t}\n\n\tscriptRegistry.get(id)!.add(script);\n\n\treturn id;\n};\n\n// Make registerClientScript available globally during SSR for Angular components\n// Using type assertion for globalThis extension\nif (typeof globalThis !== 'undefined') {\n\t(\n\t\tglobalThis as {\n\t\t\tregisterClientScript?: (script: () => void) => string;\n\t\t}\n\t).registerClientScript = registerClientScript;\n}\n\n/**\n * Get all registered scripts for a request and clear them.\n * This is called by the page handler after rendering.\n *\n * @param requestId - The request ID to get scripts for\n * @returns Array of script functions, or empty array if none registered\n */\nexport const getAndClearClientScripts = (requestId: string) => {\n\tconst scripts = scriptRegistry.get(requestId);\n\tif (!scripts) {\n\t\treturn [];\n\t}\n\n\tconst scriptArray = Array.from(scripts);\n\tscriptRegistry.delete(requestId);\n\n\treturn scriptArray;\n};\n\n/**\n * Generate JavaScript code from registered scripts.\n * Wraps each script in an IIFE and combines them.\n *\n * @param scripts - Array of script functions\n * @returns JavaScript code string to inject\n */\nexport const generateClientScriptCode = (scripts: (() => void)[]) => {\n\tif (scripts.length === 0) {\n\t\treturn '';\n\t}\n\n\t// Convert functions to strings and wrap in IIFE\n\tconst scriptCode = scripts\n\t\t.map((script, index) => {\n\t\t\t// Get the function body as a string\n\t\t\tconst funcString = script.toString();\n\n\t\t\t// Extract the body (everything between { and })\n\t\t\tconst bodyMatch = funcString.match(/\\{([\\s\\S]*)\\}/);\n\t\t\tif (!bodyMatch || !bodyMatch[1]) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst body = bodyMatch[1].trim();\n\n\t\t\t// Wrap in IIFE with retry logic for DOM readiness\n\t\t\treturn `\n\t(function() {\n\t\tfunction executeScript_${index}() {\n\t\t\t${body}\n\t\t}\n\t\t\n\t\t// Try executing immediately if DOM is ready\n\t\tif (document.readyState === 'complete' || document.readyState === 'interactive') {\n\t\t\texecuteScript_${index}();\n\t\t} else {\n\t\t\tdocument.addEventListener('DOMContentLoaded', executeScript_${index});\n\t\t}\n\t\t\n\t\t// Also try with delays to ensure element is available after hydration\n\t\tsetTimeout(executeScript_${index}, 100);\n\t\tsetTimeout(executeScript_${index}, 300);\n\t\tsetTimeout(executeScript_${index}, 500);\n\t\tsetTimeout(executeScript_${index}, 1000);\n\t\t\n\t\t// Fallback on window load\n\t\twindow.addEventListener('load', executeScript_${index});\n\t})();`;\n\t\t})\n\t\t.join('\\n');\n\n\treturn `<script>\n(function() {\n${scriptCode}\n})();\n</script>`;\n};\n\n/**\n * Clear all registered scripts (useful for cleanup or testing)\n */\nexport const clearAllClientScripts = () => {\n\tscriptRegistry.clear();\n};\n",
|
|
57
57
|
"/**\n * Type-safe helper to get the registerClientScript function during SSR.\n *\n * This function safely accesses the global registerClientScript that's made\n * available during Angular SSR rendering. It returns null if not available\n * (e.g., when running outside of SSR context).\n *\n * @returns The registerClientScript function if available, null otherwise\n */\nexport const getRegisterClientScript = () => {\n\t// Type-safe access to global registerClientScript\n\tconst globalRegister = (\n\t\tglobalThis as {\n\t\t\tregisterClientScript?: (script: () => void) => string;\n\t\t}\n\t).registerClientScript;\n\n\tif (globalRegister && typeof globalRegister === 'function') {\n\t\treturn globalRegister;\n\t}\n\n\treturn null;\n};\n"
|
|
58
58
|
],
|
|
59
|
-
"mappings": "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",
|
|
60
|
-
"debugId": "
|
|
59
|
+
"mappings": "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",
|
|
60
|
+
"debugId": "C34FE4C27524DD1E64756E2164756E21",
|
|
61
61
|
"names": []
|
|
62
62
|
}
|
package/dist/types/build.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ComponentType as ReactComponent } from 'react';
|
|
2
2
|
import { Component as SvelteComponent } from 'svelte';
|
|
3
3
|
import { Component as VueComponent } from 'vue';
|
|
4
|
+
import { build } from '../src/core/build';
|
|
5
|
+
import { devBuild } from '../src/core/devBuild';
|
|
4
6
|
export type BuildOptions = {
|
|
5
7
|
preserveIntermediateFiles?: boolean;
|
|
6
8
|
/** When true, build() throws on error instead of exit(1) - used by HMR rebuilds */
|
|
@@ -29,6 +31,9 @@ export type BuildConfig = {
|
|
|
29
31
|
options?: BuildOptions;
|
|
30
32
|
incrementalFiles?: string[];
|
|
31
33
|
};
|
|
34
|
+
export type BuildResult = ReturnType<typeof build>;
|
|
35
|
+
export type DevBuildResult = ReturnType<typeof devBuild>;
|
|
36
|
+
export type Result = BuildResult | DevBuildResult;
|
|
32
37
|
export type PropsOf<Component> = Component extends ReactComponent<infer Props> ? Props : Component extends SvelteComponent<infer Props> ? Props : Component extends VueComponent<infer Props> ? Props : Record<string, never>;
|
|
33
38
|
export type PropsArgs<C> = keyof PropsOf<C> extends never ? [] : [PropsOf<C>];
|
|
34
39
|
export type Prettify<T> = {
|
package/package.json
CHANGED
package/types/build.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ComponentType as ReactComponent } from 'react';
|
|
2
2
|
import { Component as SvelteComponent } from 'svelte';
|
|
3
3
|
import { Component as VueComponent } from 'vue';
|
|
4
|
+
import { build } from '../src/core/build';
|
|
5
|
+
import { devBuild } from '../src/core/devBuild';
|
|
4
6
|
|
|
5
7
|
export type BuildOptions = {
|
|
6
8
|
preserveIntermediateFiles?: boolean;
|
|
@@ -34,6 +36,10 @@ export type BuildConfig = {
|
|
|
34
36
|
incrementalFiles?: string[];
|
|
35
37
|
};
|
|
36
38
|
|
|
39
|
+
export type BuildResult = ReturnType<typeof build>;
|
|
40
|
+
export type DevBuildResult = ReturnType<typeof devBuild>;
|
|
41
|
+
export type Result = BuildResult | DevBuildResult;
|
|
42
|
+
|
|
37
43
|
export type PropsOf<Component> =
|
|
38
44
|
Component extends ReactComponent<infer Props>
|
|
39
45
|
? Props
|