@absolutejs/absolute 0.8.8 → 0.8.9
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 +36 -13
- package/dist/index.js.map +5 -4
- package/dist/src/utils/validateSafePath.d.ts +1 -0
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ var TIME_PRECISION = 2;
|
|
|
10
10
|
var TWO_THIRDS = 2 / 3;
|
|
11
11
|
var DEFAULT_PORT = 3000;
|
|
12
12
|
// src/core/build.ts
|
|
13
|
-
import { rm as rm2, mkdir as mkdir3 } from "fs/promises";
|
|
13
|
+
import { rm as rm2, mkdir as mkdir3, cp } from "fs/promises";
|
|
14
14
|
import { basename as basename3, join as join3 } from "path";
|
|
15
15
|
import { cwd, exit } from "process";
|
|
16
16
|
var {$, build: bunBuild } = globalThis.Bun;
|
|
@@ -163,6 +163,17 @@ var getDurationString = (duration) => {
|
|
|
163
163
|
return durationString;
|
|
164
164
|
};
|
|
165
165
|
|
|
166
|
+
// src/utils/validateSafePath.ts
|
|
167
|
+
import { resolve, relative, sep } from "path";
|
|
168
|
+
var validateSafePath = (targetPath, baseDirectory) => {
|
|
169
|
+
const absoluteBase = resolve(baseDirectory);
|
|
170
|
+
const absoluteTarget = resolve(baseDirectory, targetPath);
|
|
171
|
+
if (relative(absoluteBase, absoluteTarget).startsWith(`..${sep}`)) {
|
|
172
|
+
throw new Error(`Unsafe path: ${targetPath}`);
|
|
173
|
+
}
|
|
174
|
+
return absoluteTarget;
|
|
175
|
+
};
|
|
176
|
+
|
|
166
177
|
// src/core/build.ts
|
|
167
178
|
var build = async ({
|
|
168
179
|
buildDirectory = "build",
|
|
@@ -176,25 +187,34 @@ var build = async ({
|
|
|
176
187
|
}) => {
|
|
177
188
|
const buildStart = performance.now();
|
|
178
189
|
const projectRoot = cwd();
|
|
179
|
-
const buildPath =
|
|
180
|
-
const assetsPath = assetsDirectory
|
|
181
|
-
const
|
|
182
|
-
const
|
|
183
|
-
const
|
|
184
|
-
const
|
|
185
|
-
const
|
|
186
|
-
const
|
|
190
|
+
const buildPath = validateSafePath(buildDirectory, projectRoot);
|
|
191
|
+
const assetsPath = assetsDirectory && validateSafePath(assetsDirectory, projectRoot);
|
|
192
|
+
const reactDirectoryPath = reactDirectory && validateSafePath(reactDirectory, projectRoot);
|
|
193
|
+
const reactIndexesPath = reactDirectoryPath && join3(projectRoot, reactDirectoryPath, "indexes");
|
|
194
|
+
const reactPagesPath = reactDirectoryPath && join3(projectRoot, reactDirectoryPath, "pages");
|
|
195
|
+
const htmlDirectoryPath = htmlDirectory && validateSafePath(htmlDirectory, projectRoot);
|
|
196
|
+
const htmlPagesPath = htmlDirectoryPath ? join3(projectRoot, htmlDirectoryPath, "pages") : undefined;
|
|
197
|
+
const htmlScriptsPath = htmlDirectoryPath ? join3(projectRoot, htmlDirectoryPath, "scripts") : undefined;
|
|
198
|
+
const svelteDirectoryPath = svelteDirectory && validateSafePath(svelteDirectory, projectRoot);
|
|
199
|
+
const svelteBuildPath = svelteDirectoryPath && join3(projectRoot, svelteDirectoryPath);
|
|
200
|
+
const htmxPath = htmxDirectory && validateSafePath(htmxDirectory, projectRoot);
|
|
187
201
|
await rm2(buildPath, { force: true, recursive: true });
|
|
188
202
|
await mkdir3(buildPath);
|
|
189
203
|
if (reactIndexesPath && reactPagesPath) {
|
|
190
204
|
await generateReactIndexFiles(reactPagesPath, reactIndexesPath);
|
|
191
205
|
}
|
|
192
206
|
if (assetsPath) {
|
|
193
|
-
await
|
|
207
|
+
await cp(assetsPath, join3(buildPath, "assets"), {
|
|
208
|
+
force: true,
|
|
209
|
+
recursive: true
|
|
210
|
+
});
|
|
194
211
|
}
|
|
195
212
|
if (htmxPath) {
|
|
196
213
|
await mkdir3(join3(buildPath, "htmx"));
|
|
197
|
-
await
|
|
214
|
+
await cp(htmxPath, join3(buildPath, "htmx"), {
|
|
215
|
+
force: true,
|
|
216
|
+
recursive: true
|
|
217
|
+
});
|
|
198
218
|
}
|
|
199
219
|
if (tailwind) {
|
|
200
220
|
await $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join3(buildPath, tailwind.output)}`;
|
|
@@ -248,7 +268,10 @@ var build = async ({
|
|
|
248
268
|
if (htmlDirectory && htmlPagesPath) {
|
|
249
269
|
const outputHtmlPages = join3(buildPath, basename3(htmlDirectory), "pages");
|
|
250
270
|
await mkdir3(outputHtmlPages, { recursive: true });
|
|
251
|
-
await
|
|
271
|
+
await cp(htmlPagesPath, outputHtmlPages, {
|
|
272
|
+
force: true,
|
|
273
|
+
recursive: true
|
|
274
|
+
});
|
|
252
275
|
await updateScriptTags(manifest, outputHtmlPages);
|
|
253
276
|
}
|
|
254
277
|
if (!options?.preserveIntermediateFiles && svelteBuildPath) {
|
|
@@ -423,5 +446,5 @@ export {
|
|
|
423
446
|
DEFAULT_PORT
|
|
424
447
|
};
|
|
425
448
|
|
|
426
|
-
//# debugId=
|
|
449
|
+
//# debugId=BCEAA6057B920D6664756E2164756E21
|
|
427
450
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/constants.ts", "../src/core/build.ts", "../src/build/generateManifest.ts", "../src/build/generateReactIndexes.ts", "../src/build/scanEntryPoints.ts", "../src/build/updateScriptTags.ts", "../src/svelte/compileSvelte.ts", "../src/utils/getDurationString.ts", "../src/core/pageHandlers.ts", "../src/svelte/renderToReadableStream.ts", "../src/utils/escapeScriptContent.ts", "../src/plugins/networkingPlugin.ts", "../src/utils/networking.ts", "../src/plugins/pageRouterPlugin.ts"],
|
|
3
|
+
"sources": ["../src/constants.ts", "../src/core/build.ts", "../src/build/generateManifest.ts", "../src/build/generateReactIndexes.ts", "../src/build/scanEntryPoints.ts", "../src/build/updateScriptTags.ts", "../src/svelte/compileSvelte.ts", "../src/utils/getDurationString.ts", "../src/utils/validateSafePath.ts", "../src/core/pageHandlers.ts", "../src/svelte/renderToReadableStream.ts", "../src/utils/escapeScriptContent.ts", "../src/plugins/networkingPlugin.ts", "../src/utils/networking.ts", "../src/plugins/pageRouterPlugin.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"export const SECONDS_IN_A_MINUTE = 60;\nexport const MILLISECONDS_IN_A_SECOND = 1000;\nexport const MILLISECONDS_IN_A_MINUTE =\n\tMILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;\nexport const MINUTES_IN_AN_HOUR = 60;\nexport const HOURS_IN_DAY = 24;\nexport const MILLISECONDS_IN_A_DAY =\n\tMILLISECONDS_IN_A_SECOND *\n\tSECONDS_IN_A_MINUTE *\n\tMINUTES_IN_AN_HOUR *\n\tHOURS_IN_DAY;\nexport const TIME_PRECISION = 2;\nexport const TWO_THIRDS = 2 / 3;\nexport const DEFAULT_PORT = 3000;\n",
|
|
6
|
-
"import { rm, mkdir } from \"node:fs/promises\";\nimport { basename, join } from \"node:path\";\nimport { cwd, exit } from \"node:process\";\nimport { $, build as bunBuild } from \"bun\";\nimport { generateManifest } from \"../build/generateManifest\";\nimport { generateReactIndexFiles } from \"../build/generateReactIndexes\";\nimport { scanEntryPoints } from \"../build/scanEntryPoints\";\nimport { updateScriptTags } from \"../build/updateScriptTags\";\nimport { compileSvelte } from \"../svelte/compileSvelte\";\nimport { BuildConfig } from \"../types\";\nimport { getDurationString } from \"../utils/getDurationString\";\n\nexport const build = async ({\n\tbuildDirectory = \"build\",\n\tassetsDirectory,\n\treactDirectory,\n\thtmlDirectory,\n\thtmxDirectory,\n\tsvelteDirectory,\n\ttailwind,\n\toptions\n}: BuildConfig) => {\n\tconst buildStart = performance.now();\n\tconst projectRoot = cwd();\n\n\tconst buildPath =
|
|
6
|
+
"import { rm, mkdir, cp } from \"node:fs/promises\";\nimport { basename, join } from \"node:path\";\nimport { cwd, exit } from \"node:process\";\nimport { $, build as bunBuild } from \"bun\";\nimport { generateManifest } from \"../build/generateManifest\";\nimport { generateReactIndexFiles } from \"../build/generateReactIndexes\";\nimport { scanEntryPoints } from \"../build/scanEntryPoints\";\nimport { updateScriptTags } from \"../build/updateScriptTags\";\nimport { compileSvelte } from \"../svelte/compileSvelte\";\nimport { BuildConfig } from \"../types\";\nimport { getDurationString } from \"../utils/getDurationString\";\nimport { validateSafePath } from \"../utils/validateSafePath\";\n\nexport const build = async ({\n\tbuildDirectory = \"build\",\n\tassetsDirectory,\n\treactDirectory,\n\thtmlDirectory,\n\thtmxDirectory,\n\tsvelteDirectory,\n\ttailwind,\n\toptions\n}: BuildConfig) => {\n\tconst buildStart = performance.now();\n\tconst projectRoot = cwd();\n\n\tconst buildPath = validateSafePath(buildDirectory, projectRoot);\n\tconst assetsPath =\n\t\tassetsDirectory && validateSafePath(assetsDirectory, projectRoot);\n\tconst reactDirectoryPath =\n\t\treactDirectory && validateSafePath(reactDirectory, projectRoot);\n\tconst reactIndexesPath =\n\t\treactDirectoryPath && join(projectRoot, reactDirectoryPath, \"indexes\");\n\tconst reactPagesPath =\n\t\treactDirectoryPath && join(projectRoot, reactDirectoryPath, \"pages\");\n\tconst htmlDirectoryPath =\n\t\thtmlDirectory && validateSafePath(htmlDirectory, projectRoot);\n\tconst htmlPagesPath = htmlDirectoryPath\n\t\t? join(projectRoot, htmlDirectoryPath, \"pages\")\n\t\t: undefined;\n\tconst htmlScriptsPath = htmlDirectoryPath\n\t\t? join(projectRoot, htmlDirectoryPath, \"scripts\")\n\t\t: undefined;\n\tconst svelteDirectoryPath =\n\t\tsvelteDirectory && validateSafePath(svelteDirectory, projectRoot);\n\tconst svelteBuildPath =\n\t\tsvelteDirectoryPath && join(projectRoot, svelteDirectoryPath);\n\tconst htmxPath =\n\t\thtmxDirectory && validateSafePath(htmxDirectory, projectRoot);\n\n\tawait rm(buildPath, { force: true, recursive: true });\n\tawait mkdir(buildPath);\n\n\tif (reactIndexesPath && reactPagesPath) {\n\t\tawait generateReactIndexFiles(reactPagesPath, reactIndexesPath);\n\t}\n\n\tif (assetsPath) {\n\t\tawait cp(assetsPath, join(buildPath, \"assets\"), {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t}\n\n\tif (htmxPath) {\n\t\tawait mkdir(join(buildPath, \"htmx\"));\n\t\tawait cp(htmxPath, join(buildPath, \"htmx\"), {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t}\n\n\tif (tailwind) {\n\t\tawait $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(\n\t\t\tbuildPath,\n\t\t\ttailwind.output\n\t\t)}`;\n\t}\n\n\tconst reactEntryPoints = reactIndexesPath\n\t\t? await scanEntryPoints(reactIndexesPath, \"*.tsx\")\n\t\t: [];\n\tconst svelteEntryPoints = svelteBuildPath\n\t\t? await scanEntryPoints(join(svelteBuildPath, \"pages\"), \"*.svelte\")\n\t\t: [];\n\tconst htmlEntryPoints = htmlScriptsPath\n\t\t? await scanEntryPoints(htmlScriptsPath, \"*.{js,ts}\")\n\t\t: [];\n\n\tconst { svelteServerPaths, svelteClientPaths } = svelteBuildPath\n\t\t? await compileSvelte(svelteEntryPoints, svelteBuildPath)\n\t\t: { svelteClientPaths: [], svelteServerPaths: [] };\n\n\tconst serverEntryPoints = reactEntryPoints\n\t\t.concat(htmlEntryPoints)\n\t\t.concat(svelteServerPaths);\n\n\tif (serverEntryPoints.length === 0) {\n\t\tconsole.warn(\n\t\t\t\"No server entry points found, skipping manifest generation\"\n\t\t);\n\n\t\treturn null;\n\t}\n\n\tconst { logs: serverLogs, outputs: serverOutputs } = await bunBuild({\n\t\tentrypoints: serverEntryPoints,\n\t\tformat: \"esm\",\n\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\toutdir: buildPath,\n\t\ttarget: \"bun\"\n\t}).catch((error) => {\n\t\tconsole.error(\"Server build failed:\", error);\n\t\texit(1);\n\t});\n\n\tlet clientLogs: typeof serverLogs = [];\n\tlet clientOutputs: typeof serverOutputs = [];\n\tif (svelteDirectory) {\n\t\tconst { logs, outputs } = await bunBuild({\n\t\t\tentrypoints: svelteClientPaths,\n\t\t\tformat: \"esm\",\n\t\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\t\toutdir: join(buildPath, \"svelte\"),\n\t\t\troot: svelteBuildPath,\n\t\t\ttarget: \"browser\"\n\t\t}).catch((error) => {\n\t\t\tconsole.error(\"Client build failed:\", error);\n\t\t\texit(1);\n\t\t});\n\t\tclientLogs = logs;\n\t\tclientOutputs = outputs;\n\t}\n\n\tserverLogs.concat(clientLogs).forEach((log) => {\n\t\tif (log.level === \"error\") console.error(log);\n\t\telse if (log.level === \"warning\") console.warn(log);\n\t\telse console.info(log);\n\t});\n\n\tconst allOutputs = serverOutputs.concat(clientOutputs);\n\tconst manifest = generateManifest(allOutputs, buildPath);\n\n\tif (htmlDirectory && htmlPagesPath) {\n\t\tconst outputHtmlPages = join(\n\t\t\tbuildPath,\n\t\t\tbasename(htmlDirectory),\n\t\t\t\"pages\"\n\t\t);\n\t\tawait mkdir(outputHtmlPages, { recursive: true });\n\t\tawait cp(htmlPagesPath, outputHtmlPages, {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t\tawait updateScriptTags(manifest, outputHtmlPages);\n\t}\n\n\tif (!options?.preserveIntermediateFiles && svelteBuildPath) {\n\t\tawait rm(join(svelteBuildPath, \"indexes\"), {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t\tawait rm(join(svelteBuildPath, \"client\"), {\n\t\t\tforce: true,\n\t\t\trecursive: true\n\t\t});\n\t\tsvelteServerPaths.forEach(async (path) => {\n\t\t\tawait rm(path, { force: true });\n\t\t});\n\t}\n\n\tif (!options?.preserveIntermediateFiles && reactIndexesPath) {\n\t\tawait rm(reactIndexesPath, { force: true, recursive: true });\n\t}\n\n\tconst buildDuration = performance.now() - buildStart;\n\tconsole.log(`Build completed in ${getDurationString(buildDuration)}`);\n\n\treturn manifest;\n};\n",
|
|
7
7
|
"import { BuildArtifact } from \"bun\";\n\nexport const generateManifest = (\n outputs: BuildArtifact[],\n buildDirectoryAbsolute: string\n) => {\n const manifest = outputs.reduce<Record<string, string>>((accumulator, artifact) => {\n let relativePath = artifact.path.startsWith(buildDirectoryAbsolute)\n ? artifact.path.slice(buildDirectoryAbsolute.length)\n : artifact.path;\n relativePath = relativePath.replace(/^\\/+/, \"\");\n\n const segments = relativePath.split(\"/\");\n const fileWithHash = segments[segments.length - 1];\n if (!fileWithHash) return accumulator;\n\n const [baseName] = fileWithHash.split(`.${artifact.hash}.`);\n\n if (relativePath.includes(\"svelte/pages\")) {\n accumulator[baseName] = artifact.path;\n } else if (relativePath.includes(\"svelte/indexes\")) {\n accumulator[`${baseName}Index`] = `/${relativePath}`;\n } else {\n accumulator[baseName] = `/${relativePath}`;\n }\n\n return accumulator;\n }, {});\n\n return manifest;\n};\n",
|
|
8
8
|
"import { mkdir, rm, writeFile } from \"fs/promises\";\nimport { basename, join } from \"path\";\nimport { Glob } from \"bun\";\n\nexport const generateReactIndexFiles = async (\n reactPagesDirectory: string,\n reactIndexesDirectory: string\n) => {\n await rm(reactIndexesDirectory, { force: true, recursive: true });\n await mkdir(reactIndexesDirectory);\n\n const pagesGlob = new Glob(\"*.*\");\n const files: string[] = [];\n for await (const file of pagesGlob.scan({ cwd: reactPagesDirectory })) {\n files.push(file);\n }\n const promises = files.map(async (file) => {\n const fileName = basename(file);\n const [componentName] = fileName.split(\".\");\n const content = [\n `import { hydrateRoot } from 'react-dom/client';`,\n `import type { ComponentType } from 'react'`,\n `import { ${componentName} } from '../pages/${componentName}';\\n`,\n `type PropsOf<C> = C extends ComponentType<infer P> ? P : never;\\n`,\n `declare global {`,\n `\\tinterface Window {`,\n `\\t\\t__INITIAL_PROPS__: PropsOf<typeof ${componentName}>`,\n `\\t}`,\n `}\\n`,\n `hydrateRoot(document, <${componentName} {...window.__INITIAL_PROPS__} />);`\n ].join(\"\\n\");\n\n return writeFile(\n join(reactIndexesDirectory, `${componentName}Index.tsx`),\n content\n );\n });\n await Promise.all(promises);\n};",
|
|
9
9
|
"import { Glob } from \"bun\";\n\nexport const scanEntryPoints = async (dir: string, pattern: string) => {\n\tconst entryPaths: string[] = [];\n\tconst glob = new Glob(pattern);\n\tfor await (const file of glob.scan({ absolute: true, cwd: dir })) {\n\t\tentryPaths.push(file);\n\t}\n\n\treturn entryPaths;\n};\n",
|
|
10
10
|
"import { readFile, writeFile } from \"node:fs/promises\";\nimport { scanEntryPoints } from \"./scanEntryPoints\";\n\nexport const updateScriptTags = async (\n\tmanifest: Record<string, string>,\n\thtmlDir: string\n) => {\n\tconst htmlFiles = await scanEntryPoints(htmlDir, \"*.html\");\n\n\tconst tasks = htmlFiles.map(async (filePath) => {\n\t\tconst original = await readFile(filePath, \"utf8\");\n\t\tconst updated = Object.entries(manifest).reduce(\n\t\t\t(html, [scriptName, newPath]) => {\n\t\t\t\tconst esc = scriptName.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\t\t\t\tconst regex = new RegExp(\n\t\t\t\t\t`(<script[^>]+src=[\"'])(/?(?:.*/)?${esc})(?:\\\\.[^.\"'/]+)?(\\\\.js)([\"'][^>]*>)`,\n\t\t\t\t\t\"g\"\n\t\t\t\t);\n\n\t\t\t\treturn html.replace(\n\t\t\t\t\tregex,\n\t\t\t\t\t(_, prefix, __, ___, suffix) =>\n\t\t\t\t\t\t`${prefix}${newPath}${suffix}`\n\t\t\t\t);\n\t\t\t},\n\t\t\toriginal\n\t\t);\n\n\t\tawait writeFile(filePath, updated, \"utf8\");\n\t});\n\n\tawait Promise.all(tasks);\n};\n",
|
|
11
11
|
"import { mkdir } from \"node:fs/promises\";\nimport { basename, join } from \"node:path\";\nimport { env } from \"node:process\";\nimport { write, file } from \"bun\";\nimport { compile, preprocess } from \"svelte/compiler\";\n\nexport const compileSvelte = async (\n\tentryPoints: string[],\n\toutputDirectory: string\n) => {\n\tconst pagesDir = join(outputDirectory, \"pages\");\n\tconst clientDir = join(outputDirectory, \"client\");\n\tconst indexesDir = join(outputDirectory, \"indexes\");\n\n\tawait Promise.all([\n\t\tmkdir(clientDir, { recursive: true }),\n\t\tmkdir(indexesDir, { recursive: true })\n\t]);\n\n\tconst isDev = env.NODE_ENV === \"development\";\n\n\tconst builds = await Promise.all(\n\t\tentryPoints.map(async (entry) => {\n\t\t\tconst source = await file(entry).text();\n\t\t\tconst { code: pre } = await preprocess(source, {});\n\n\t\t\tconst name = basename(entry, \".svelte\");\n\n\t\t\tconst { js: ssrJs } = compile(pre, {\n\t\t\t\tcss: \"injected\",\n\t\t\t\tdev: isDev,\n\t\t\t\tfilename: entry,\n\t\t\t\tgenerate: \"server\"\n\t\t\t});\n\t\t\tconst ssrPath = join(pagesDir, `${name}.js`);\n\n\t\t\tconst { js: clientJs } = compile(pre, {\n\t\t\t\tcss: \"injected\",\n\t\t\t\tdev: isDev,\n\t\t\t\tfilename: entry,\n\t\t\t\tgenerate: \"client\"\n\t\t\t});\n\t\t\tconst clientComponentPath = join(clientDir, `${name}.js`);\n\n\t\t\tconst bootstrap = `import Component from \"../client/${name}.js\";\nimport { hydrate } from \"svelte\";\nhydrate(Component,{target:document.body,props:window.__INITIAL_PROPS__??{}});`;\n\t\t\tconst clientIndexPath = join(indexesDir, `${name}.js`);\n\n\t\t\tawait Promise.all([\n\t\t\t\twrite(ssrPath, ssrJs.code),\n\t\t\t\twrite(clientComponentPath, clientJs.code),\n\t\t\t\twrite(clientIndexPath, bootstrap)\n\t\t\t]);\n\n\t\t\treturn { clientIndexPath, ssrPath };\n\t\t})\n\t);\n\n\treturn {\n\t\tsvelteClientPaths: builds.map(({ clientIndexPath }) => clientIndexPath),\n\t\tsvelteServerPaths: builds.map(({ ssrPath }) => ssrPath)\n\t};\n};\n",
|
|
12
12
|
"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",
|
|
13
|
+
"import { resolve, relative, sep } from \"node:path\";\n\nexport const validateSafePath = (targetPath: string, baseDirectory: string) => {\n\tconst absoluteBase = resolve(baseDirectory);\n\tconst absoluteTarget = resolve(baseDirectory, targetPath);\n\tif (relative(absoluteBase, absoluteTarget).startsWith(`..${sep}`)) {\n\t\tthrow new Error(`Unsafe path: ${targetPath}`);\n\t}\n\n\treturn absoluteTarget;\n};\n",
|
|
13
14
|
"import { file } from \"bun\";\nimport { ComponentType, createElement } from \"react\";\nimport { renderToReadableStream as renderReactToReadableStream } from \"react-dom/server\";\nimport { Component } from \"svelte\";\nimport { renderToReadableStream as renderSvelteToReadableStream } from \"../svelte/renderToReadableStream\";\n\nexport const handleReactPageRequest = async <P extends object>(\n\tpageComponent: ComponentType<P>,\n\tindex: string,\n\t...props: keyof P extends never ? [] : [props: P]\n) => {\n\tconst [maybeProps] = props;\n\tconst element =\n\t\tmaybeProps !== undefined\n\t\t\t? createElement(pageComponent, maybeProps)\n\t\t\t: createElement(pageComponent);\n\n\tconst stream = await renderReactToReadableStream(element, {\n\t\tbootstrapModules: [index],\n\t\tbootstrapScriptContent: maybeProps\n\t\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)}`\n\t\t\t: undefined\n\t});\n\n\treturn new Response(stream, {\n\t\theaders: { \"Content-Type\": \"text/html\" }\n\t});\n};\n\nexport const handleSveltePageRequest = async <\n\tProps extends Record<string, unknown>\n>(\n\tPageComponent: Component<Props>,\n\tmanifest: Record<string, string>,\n\tprops: Props\n) => {\n\tconst componentPath = PageComponent.toString();\n\tconst pathSegments = componentPath.split(\"/\");\n\tconst lastSegment = pathSegments[pathSegments.length - 1] ?? \"\";\n\tconst componentName = lastSegment.replace(/\\.svelte$/, \"\");\n\n\tconst pagePath = manifest[componentName];\n\tconst indexPath = manifest[`${componentName}Index`];\n\n\tconst { default: ImportedPageComponent } = await import(pagePath);\n\n\tconst stream = await renderSvelteToReadableStream(\n\t\tImportedPageComponent,\n\t\tprops,\n\t\t{\n\t\t\tbootstrapModules: [indexPath],\n\t\t\tbootstrapScriptContent: `window.__INITIAL_PROPS__=${JSON.stringify(\n\t\t\t\tprops\n\t\t\t)}`\n\t\t}\n\t);\n\n\treturn new Response(stream, {\n\t\theaders: { \"Content-Type\": \"text/html\" }\n\t});\n};\n\nexport const handleHTMLPageRequest = (html: string) => file(html);\n",
|
|
14
15
|
"import type { Component } from \"svelte\";\nimport { render } from \"svelte/server\";\nimport { escapeScriptContent } from \"../utils/escapeScriptContent\";\n\nconst DEFAULT_CHUNK_SIZE = 16_384;\n\nexport type RenderStreamOptions = {\n\tbootstrapScriptContent?: string;\n\tbootstrapScripts?: string[];\n\tbootstrapModules?: string[];\n\tnonce?: string;\n\tonError?: (error: unknown) => void;\n\tprogressiveChunkSize?: number;\n\tsignal?: AbortSignal;\n};\n\nexport const renderToReadableStream = async <\n\tProps extends Record<string, unknown> = Record<string, never>\n>(\n\tcomponent: Component<Props>,\n\tprops: Props,\n\t{\n\t\tbootstrapScriptContent,\n\t\tbootstrapScripts = [],\n\t\tbootstrapModules = [],\n\t\tnonce,\n\t\tonError = console.error,\n\t\tprogressiveChunkSize = DEFAULT_CHUNK_SIZE,\n\t\tsignal\n\t}: RenderStreamOptions = {}\n) => {\n\ttry {\n\t\tconst { head, body } = render(component, { props });\n\t\tconst nonceAttr = nonce ? ` nonce=\"${nonce}\"` : \"\";\n\t\tconst scripts =\n\t\t\t(bootstrapScriptContent\n\t\t\t\t? `<script${nonceAttr}>${escapeScriptContent(bootstrapScriptContent)}</script>`\n\t\t\t\t: \"\") +\n\t\t\tbootstrapScripts\n\t\t\t\t.map((src) => `<script${nonceAttr} src=\"${src}\"></script>`)\n\t\t\t\t.join(\"\") +\n\t\t\tbootstrapModules\n\t\t\t\t.map(\n\t\t\t\t\t(src) =>\n\t\t\t\t\t\t`<script${nonceAttr} type=\"module\" src=\"${src}\"></script>`\n\t\t\t\t)\n\t\t\t\t.join(\"\");\n\t\tconst encoder = new TextEncoder();\n\t\t// Warning: this encodes the entire document into memory in one buffer\n\t\tconst full = encoder.encode(\n\t\t\t`<!DOCTYPE html><html lang=\"en\"><head>${head}</head><body>${body}${scripts}</body></html>`\n\t\t);\n\n\t\tlet offset = 0;\n\n\t\treturn new ReadableStream<Uint8Array>({\n\t\t\ttype: \"bytes\",\n\t\t\tcancel(reason) {\n\t\t\t\tonError?.(reason);\n\t\t\t},\n\t\t\tpull(controller) {\n\t\t\t\tif (signal?.aborted) {\n\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (offset >= full.length) {\n\t\t\t\t\tcontroller.close();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst end = Math.min(\n\t\t\t\t\toffset + progressiveChunkSize,\n\t\t\t\t\tfull.length\n\t\t\t\t);\n\t\t\t\tcontroller.enqueue(full.subarray(offset, end));\n\t\t\t\toffset = end;\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tonError?.(error);\n\t\tthrow error;\n\t}\n};\n",
|
|
15
16
|
"const ESCAPE_LOOKUP: Record<string, string> = {\n\t\"\\u2028\": \"\\\\u2028\",\n\t\"\\u2029\": \"\\\\u2029\",\n\t\"&\": \"\\\\u0026\",\n\t\"<\": \"\\\\u003C\",\n\t\">\": \"\\\\u003E\"\n};\n\nconst ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\n\nexport const escapeScriptContent = (content: string) =>\n\tcontent.replace(ESCAPE_REGEX, (char) => ESCAPE_LOOKUP[char]);\n",
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
"import os from \"os\";\n\nexport const getLocalIPAddress = () => {\n\tconst interfaces = os.networkInterfaces();\n\tconst addresses = Object.values(interfaces)\n\t\t.flat()\n\t\t.filter(\n\t\t\t(iface): iface is os.NetworkInterfaceInfo => iface !== undefined\n\t\t);\n\tconst ipAddress = addresses.find(\n\t\t(iface) => iface.family === \"IPv4\" && !iface.internal\n\t);\n\n\tif (ipAddress) return ipAddress.address; // Return the first non-internal IPv4 address\n\n\tconsole.warn(\"No IP address found, falling back to localhost\");\n\n\treturn \"localhost\"; // Fallback to localhost if no IP found\n};\n",
|
|
18
19
|
"export const pageRouterPlugin = () => {\n\tconsole.log(\"Page Router Plugin Not Implemented Yet\");\n};\n"
|
|
19
20
|
],
|
|
20
|
-
"mappings": "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",
|
|
21
|
-
"debugId": "
|
|
21
|
+
"mappings": "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",
|
|
22
|
+
"debugId": "BCEAA6057B920D6664756E2164756E21",
|
|
22
23
|
"names": []
|
|
23
24
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const validateSafePath: (targetPath: string, baseDirectory: string) => string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@absolutejs/absolute",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.9",
|
|
4
4
|
"description": "A fullstack meta-framework for building web applications with TypeScript",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"release": "bun run format && bun run build && bun publish"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"elysia": "
|
|
24
|
-
"react": "
|
|
25
|
-
"react-dom": "
|
|
26
|
-
"svelte": "
|
|
23
|
+
"elysia": "^1.3.0",
|
|
24
|
+
"react": "^19.1.0",
|
|
25
|
+
"react-dom": "^19.1.0",
|
|
26
|
+
"svelte": "^5.34.7"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@elysiajs/static": "1.3.0",
|