@maravilla-labs/adapter-sveltekit 0.1.21 → 0.1.23
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.d.ts +1 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -185
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
import type { Adapter } from '@sveltejs/kit';
|
|
2
|
-
|
|
3
|
-
out?: string;
|
|
4
|
-
precompress?: boolean;
|
|
5
|
-
envPrefix?: string;
|
|
6
|
-
polyfill?: boolean;
|
|
7
|
-
include?: string[];
|
|
8
|
-
exclude?: string[];
|
|
9
|
-
external?: string[];
|
|
10
|
-
}
|
|
2
|
+
import { type AdapterOptions } from '@maravilla-labs/adapter-core';
|
|
11
3
|
export default function adapter(options?: AdapterOptions): Adapter;
|
|
12
|
-
export {};
|
|
13
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,eAAe,CAAC;AACtD,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AAKtC,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAiHrE"}
|
package/dist/index.js
CHANGED
|
@@ -1,43 +1,17 @@
|
|
|
1
|
-
import { writeFileSync
|
|
2
|
-
import
|
|
3
|
-
async function loadFunctionsAPI() {
|
|
4
|
-
const fallbacks = [
|
|
5
|
-
'@maravilla-labs/functions', // normal dependency when published/installed
|
|
6
|
-
'../../functions/dist/index.js', // workspace built output
|
|
7
|
-
'../../functions/src/index.ts', // workspace source fallback
|
|
8
|
-
];
|
|
9
|
-
for (const spec of fallbacks) {
|
|
10
|
-
try {
|
|
11
|
-
const mod = await import(spec);
|
|
12
|
-
if (mod.buildFunctions && mod.integrateWithManifest) {
|
|
13
|
-
return { buildFunctions: mod.buildFunctions, integrateWithManifest: mod.integrateWithManifest };
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
catch (_) { /* try next */ }
|
|
17
|
-
}
|
|
18
|
-
// No available implementation; return safe shims
|
|
19
|
-
return {
|
|
20
|
-
buildFunctions: async () => null,
|
|
21
|
-
integrateWithManifest: async () => { },
|
|
22
|
-
};
|
|
23
|
-
}
|
|
1
|
+
import { writeFileSync } from 'node:fs';
|
|
2
|
+
import { bundleServerEntry, analyzeBundle, generateManifest, writeManifest, collectAssets, buildAndIntegrateFunctions, } from '@maravilla-labs/adapter-core';
|
|
24
3
|
// Import the worker template from separate file for maintainability
|
|
25
4
|
import { WORKER_TEMPLATE } from './worker-template.js';
|
|
26
|
-
// Use the imported template
|
|
27
|
-
const INLINE_WORKER_TEMPLATE = WORKER_TEMPLATE;
|
|
28
5
|
export default function adapter(options = {}) {
|
|
29
6
|
const { out = '.maravilla', precompress = false, envPrefix = 'PUBLIC_', polyfill = true, include = [], exclude = [], external = [] } = options;
|
|
30
7
|
return {
|
|
31
8
|
name: '@maravilla-labs/adapter-sveltekit',
|
|
32
9
|
async adapt(builder) {
|
|
33
|
-
// Resolve functions tooling (works both in monorepo dev and published package usage)
|
|
34
|
-
const { buildFunctions, integrateWithManifest } = await loadFunctionsAPI();
|
|
35
10
|
const tmp = builder.getBuildDirectory('adapter-maravilla');
|
|
36
11
|
// Clean output directories
|
|
37
12
|
builder.rimraf(out);
|
|
38
13
|
builder.rimraf(tmp);
|
|
39
14
|
builder.mkdirp(tmp);
|
|
40
|
-
// Log build start
|
|
41
15
|
builder.log.minor('Building Maravilla Runtime bundle...');
|
|
42
16
|
// Write client assets
|
|
43
17
|
const static_directory = `${out}/static`;
|
|
@@ -54,184 +28,52 @@ export default function adapter(options = {}) {
|
|
|
54
28
|
// Write server
|
|
55
29
|
builder.log.minor('Building server');
|
|
56
30
|
builder.writeServer(tmp);
|
|
57
|
-
// Generate manifest
|
|
31
|
+
// Generate SvelteKit manifest
|
|
58
32
|
writeFileSync(`${tmp}/manifest.js`, [
|
|
59
33
|
`export const manifest = ${builder.generateManifest({ relativePath: './' })};`,
|
|
60
34
|
`export const prerendered = new Set(${JSON.stringify(builder.prerendered.paths)});`,
|
|
61
35
|
`export const base = ${JSON.stringify(builder.config.kit.paths.base)};`
|
|
62
36
|
].join('\n\n'));
|
|
63
|
-
const worker_code =
|
|
37
|
+
const worker_code = WORKER_TEMPLATE
|
|
64
38
|
.replace('__SERVER__', './index.js')
|
|
65
39
|
.replace('__MANIFEST__', './manifest.js');
|
|
66
40
|
writeFileSync(`${tmp}/worker.js`, worker_code);
|
|
67
41
|
// Bundle with esbuild
|
|
68
42
|
builder.log.minor('Bundling with esbuild');
|
|
69
|
-
const result = await
|
|
70
|
-
|
|
43
|
+
const result = await bundleServerEntry({
|
|
44
|
+
entrypoint: `${tmp}/worker.js`,
|
|
71
45
|
outfile: `${out}/server.js`,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
format: 'esm',
|
|
75
|
-
target: 'es2022',
|
|
76
|
-
// Explicitly specify main fields for neutral platform so dependencies like set-cookie-parser resolve
|
|
77
|
-
mainFields: ['module', 'main'],
|
|
78
|
-
conditions: ['worker', 'webworker'],
|
|
79
|
-
external: [
|
|
80
|
-
...external,
|
|
81
|
-
// Don't bundle platform APIs - they're provided by the runtime
|
|
82
|
-
'@maravilla/platform'
|
|
83
|
-
],
|
|
84
|
-
define: {
|
|
85
|
-
'process.env.NODE_ENV': '"production"'
|
|
86
|
-
},
|
|
87
|
-
minify: true,
|
|
88
|
-
sourcemap: true,
|
|
89
|
-
metafile: true,
|
|
90
|
-
logLevel: 'info',
|
|
91
|
-
// Keep the global assignments to Request and fetch
|
|
92
|
-
keepNames: true,
|
|
93
|
-
treeShaking: false // Disable tree-shaking to ensure our overrides aren't removed
|
|
46
|
+
external,
|
|
47
|
+
treeShaking: false,
|
|
94
48
|
});
|
|
95
|
-
|
|
96
|
-
|
|
49
|
+
const analysis = await analyzeBundle(result);
|
|
50
|
+
if (analysis) {
|
|
97
51
|
builder.log.minor(analysis);
|
|
98
52
|
}
|
|
99
|
-
// Collect all static assets
|
|
100
|
-
const staticAssets =
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
if (statSync(fullPath).isDirectory()) {
|
|
110
|
-
collectAssets(fullPath, relativePath);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
staticAssets.push(`/${relativePath}`);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
catch (_) { }
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
collectAssets(static_directory);
|
|
120
|
-
// Check for functions directory and build if present
|
|
121
|
-
// Look for functions in the project root
|
|
122
|
-
const functionsDir = `${process.cwd()}/functions`;
|
|
123
|
-
let functionsManifest = null;
|
|
124
|
-
if (existsSync(functionsDir)) {
|
|
125
|
-
builder.log.minor('Building edge functions from: ' + functionsDir);
|
|
126
|
-
try {
|
|
127
|
-
functionsManifest = await buildFunctions({
|
|
128
|
-
functionsDir,
|
|
129
|
-
outputDir: out,
|
|
130
|
-
production: true,
|
|
131
|
-
minify: true,
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
catch (error) {
|
|
135
|
-
builder.log.error('Failed to build functions: ' + (error?.message || error));
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
builder.log.minor('No functions directory found, skipping functions build');
|
|
140
|
-
}
|
|
141
|
-
// Generate comprehensive platform manifest
|
|
142
|
-
const platformManifest = {
|
|
143
|
-
version: 2,
|
|
144
|
-
runtime: 'maravilla',
|
|
145
|
-
entrypoint: 'server.js',
|
|
146
|
-
static: 'static',
|
|
147
|
-
// Routing information for the runtime
|
|
148
|
-
routing: {
|
|
149
|
-
// Prerendered pages that should be served from static
|
|
150
|
-
prerendered: builder.prerendered.paths.map(path => {
|
|
151
|
-
// Convert paths to their HTML file locations
|
|
152
|
-
if (path === '/') {
|
|
153
|
-
return '/index.html';
|
|
154
|
-
}
|
|
155
|
-
// Remove trailing slash and add .html
|
|
156
|
-
return path.replace(/\/$/, '') + '.html';
|
|
157
|
-
}),
|
|
158
|
-
// Client-side assets that should always be served from static
|
|
159
|
-
assets: staticAssets.filter(path => path.startsWith('/_app/') ||
|
|
160
|
-
path.startsWith('/favicon') ||
|
|
161
|
-
path.endsWith('.txt') ||
|
|
162
|
-
path.endsWith('.svg') ||
|
|
163
|
-
path.endsWith('.png') ||
|
|
164
|
-
path.endsWith('.jpg') ||
|
|
165
|
-
path.endsWith('.webp')),
|
|
166
|
-
// Everything else is handled dynamically by the server
|
|
167
|
-
dynamic: {
|
|
168
|
-
api: '/api/*', // API routes
|
|
169
|
-
serverRoutes: '/*' // All other routes handled by server
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
// Original routes config for compatibility
|
|
173
|
-
routes: {
|
|
174
|
-
include: include.length > 0 ? include : ['/*'],
|
|
175
|
-
exclude: exclude.length > 0 ? exclude : []
|
|
176
|
-
},
|
|
177
|
-
env: {
|
|
178
|
-
prefix: envPrefix
|
|
179
|
-
},
|
|
53
|
+
// Collect all static assets
|
|
54
|
+
const staticAssets = collectAssets(static_directory);
|
|
55
|
+
// Generate platform manifest
|
|
56
|
+
const manifest = generateManifest({
|
|
57
|
+
adapterName: '@maravilla-labs/adapter-sveltekit',
|
|
58
|
+
prerenderedPaths: builder.prerendered.paths,
|
|
59
|
+
staticAssets,
|
|
60
|
+
include,
|
|
61
|
+
exclude,
|
|
62
|
+
envPrefix,
|
|
180
63
|
features: {
|
|
181
64
|
ssr: true,
|
|
182
65
|
prerendering: builder.prerendered.paths.length > 0,
|
|
183
66
|
polyfill,
|
|
184
|
-
// Additional feature flags
|
|
185
67
|
streaming: true,
|
|
186
|
-
compression: precompress
|
|
68
|
+
compression: precompress,
|
|
187
69
|
},
|
|
188
|
-
|
|
189
|
-
metadata: {
|
|
190
|
-
adapter: '@maravilla/adapter-sveltekit',
|
|
70
|
+
extraMetadata: {
|
|
191
71
|
kit_version: builder.config.kit.version || 'unknown',
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
writeFileSync(`${out}/manifest.json`, JSON.stringify(platformManifest, null, 2));
|
|
198
|
-
// Integrate functions into manifest if they exist
|
|
199
|
-
if (functionsManifest) {
|
|
200
|
-
await integrateWithManifest(`${out}/manifest.json`, functionsManifest);
|
|
201
|
-
const { mergeFunctions } = await import('./merge-functions.js');
|
|
202
|
-
mergeFunctions(out);
|
|
203
|
-
try {
|
|
204
|
-
const fsMod = await import('node:fs');
|
|
205
|
-
const pathMod = await import('node:path');
|
|
206
|
-
const mPath = pathMod.join(out, 'manifest.json');
|
|
207
|
-
const raw = fsMod.readFileSync(mPath, 'utf8');
|
|
208
|
-
const m = JSON.parse(raw);
|
|
209
|
-
if (m.functions?.routes) {
|
|
210
|
-
// Build a map from path -> route object with name/file
|
|
211
|
-
const routeMap = new Map(m.functions.routes.map((r) => [r.path, r]));
|
|
212
|
-
if (Array.isArray(m.routing?.functions)) {
|
|
213
|
-
m.routing.functions = m.routing.functions.map((r) => {
|
|
214
|
-
const full = routeMap.get(r.path) || {};
|
|
215
|
-
return { ...r, name: full.name, file: full.file };
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
// If missing, synthesize from functions.routes
|
|
220
|
-
m.routing.functions = m.functions.routes.map((r) => ({
|
|
221
|
-
path: r.path,
|
|
222
|
-
name: r.name,
|
|
223
|
-
methods: r.methods,
|
|
224
|
-
file: r.file,
|
|
225
|
-
handler: 'function'
|
|
226
|
-
}));
|
|
227
|
-
}
|
|
228
|
-
fsMod.writeFileSync(mPath, JSON.stringify(m, null, 2));
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
catch (e) {
|
|
232
|
-
builder.log.warn('Failed to augment routing.functions with name/file: ' + e?.message);
|
|
233
|
-
}
|
|
234
|
-
}
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
writeManifest(out, manifest);
|
|
75
|
+
// Build and integrate edge functions
|
|
76
|
+
await buildAndIntegrateFunctions(process.cwd(), out, builder.log);
|
|
235
77
|
builder.log.minor(`Build complete. Output written to ${out}`);
|
|
236
78
|
builder.log.minor('');
|
|
237
79
|
builder.log.minor('Deploy with:');
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maravilla-labs/adapter-sveltekit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"description": "SvelteKit adapter for Maravilla Runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"license": "Proprietary",
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|
|
35
|
-
"url": "https://github.com/
|
|
35
|
+
"url": "https://github.com/maravilla-labs/maravilla-runtime.git",
|
|
36
36
|
"directory": "packages/adapter-sveltekit"
|
|
37
37
|
},
|
|
38
38
|
"publishConfig": {
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"vitest": "^1.0.0"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
+
"@maravilla-labs/adapter-core": "^0.1.23",
|
|
57
58
|
"esbuild": "^0.25.0",
|
|
58
59
|
"set-cookie-parser": "^2.6.0"
|
|
59
60
|
}
|