@sveltejs/kit 1.0.0-next.31 → 1.0.0-next.310
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/README.md +12 -9
- package/assets/app/env.js +20 -0
- package/assets/app/navigation.js +24 -0
- package/assets/app/paths.js +1 -0
- package/assets/app/stores.js +97 -0
- package/assets/client/singletons.js +13 -0
- package/assets/client/start.js +1655 -0
- package/assets/components/error.svelte +18 -2
- package/assets/env.js +8 -0
- package/assets/paths.js +13 -0
- package/assets/server/index.js +2862 -0
- package/dist/chunks/amp_hook.js +56 -0
- package/dist/chunks/cert.js +28154 -0
- package/dist/chunks/constants.js +663 -0
- package/dist/chunks/filesystem.js +110 -0
- package/dist/chunks/index.js +515 -0
- package/dist/chunks/index2.js +1326 -0
- package/dist/chunks/index3.js +118 -0
- package/dist/chunks/index4.js +185 -0
- package/dist/chunks/index5.js +251 -0
- package/dist/chunks/index6.js +15585 -0
- package/dist/chunks/index7.js +4207 -0
- package/dist/chunks/misc.js +78 -0
- package/dist/chunks/multipart-parser.js +449 -0
- package/dist/chunks/object.js +83 -0
- package/dist/chunks/sync.js +983 -0
- package/dist/chunks/url.js +56 -0
- package/dist/cli.js +1023 -91
- package/dist/hooks.js +28 -0
- package/dist/install-fetch.js +6518 -0
- package/dist/node.js +94 -0
- package/package.json +92 -54
- package/svelte-kit.js +2 -0
- package/types/ambient.d.ts +298 -0
- package/types/index.d.ts +258 -0
- package/types/internal.d.ts +314 -0
- package/types/private.d.ts +269 -0
- package/CHANGELOG.md +0 -344
- package/assets/runtime/app/navigation.js +0 -23
- package/assets/runtime/app/navigation.js.map +0 -1
- package/assets/runtime/app/paths.js +0 -2
- package/assets/runtime/app/paths.js.map +0 -1
- package/assets/runtime/app/stores.js +0 -78
- package/assets/runtime/app/stores.js.map +0 -1
- package/assets/runtime/internal/singletons.js +0 -15
- package/assets/runtime/internal/singletons.js.map +0 -1
- package/assets/runtime/internal/start.js +0 -591
- package/assets/runtime/internal/start.js.map +0 -1
- package/assets/runtime/utils-85ebcc60.js +0 -18
- package/assets/runtime/utils-85ebcc60.js.map +0 -1
- package/dist/api.js +0 -44
- package/dist/api.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/create_app.js +0 -580
- package/dist/create_app.js.map +0 -1
- package/dist/index.js +0 -375
- package/dist/index.js.map +0 -1
- package/dist/index2.js +0 -12205
- package/dist/index2.js.map +0 -1
- package/dist/index3.js +0 -549
- package/dist/index3.js.map +0 -1
- package/dist/index4.js +0 -74
- package/dist/index4.js.map +0 -1
- package/dist/index5.js +0 -468
- package/dist/index5.js.map +0 -1
- package/dist/index6.js +0 -735
- package/dist/index6.js.map +0 -1
- package/dist/renderer.js +0 -2425
- package/dist/renderer.js.map +0 -1
- package/dist/standard.js +0 -103
- package/dist/standard.js.map +0 -1
- package/dist/utils.js +0 -58
- package/dist/utils.js.map +0 -1
- package/svelte-kit +0 -3
package/dist/index3.js
DELETED
|
@@ -1,549 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var fs = require('fs');
|
|
4
|
-
var path = require('path');
|
|
5
|
-
var require$$1 = require('child_process');
|
|
6
|
-
var util = require('util');
|
|
7
|
-
var index = require('./index.js');
|
|
8
|
-
var utils = require('./utils.js');
|
|
9
|
-
var create_app = require('./create_app.js');
|
|
10
|
-
var rollup = require('rollup');
|
|
11
|
-
var rollupPluginTerser = require('rollup-plugin-terser');
|
|
12
|
-
var css_chunks = require('rollup-plugin-css-chunks');
|
|
13
|
-
require('module');
|
|
14
|
-
require('url');
|
|
15
|
-
require('./standard.js');
|
|
16
|
-
|
|
17
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
-
|
|
19
|
-
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
20
|
-
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
21
|
-
var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
|
|
22
|
-
var css_chunks__default = /*#__PURE__*/_interopDefaultLegacy(css_chunks);
|
|
23
|
-
|
|
24
|
-
const inject_styles = `
|
|
25
|
-
export default function(files) {
|
|
26
|
-
return Promise.all(files.map(function(file) { return new Promise(function(fulfil, reject) {
|
|
27
|
-
var href = new URL(file, import.meta.url);
|
|
28
|
-
var baseURI = document.baseURI;
|
|
29
|
-
if (!baseURI) {
|
|
30
|
-
var baseTags = document.getElementsByTagName('base');
|
|
31
|
-
baseURI = baseTags.length ? baseTags[0].href : document.URL;
|
|
32
|
-
}
|
|
33
|
-
var relative = ('' + href).substring(baseURI.length);
|
|
34
|
-
var link = document.querySelector('link[rel=stylesheet][href="' + relative + '"]')
|
|
35
|
-
|| document.querySelector('link[rel=stylesheet][href="' + href + '"]');
|
|
36
|
-
if (!link) {
|
|
37
|
-
link = document.createElement('link');
|
|
38
|
-
link.rel = 'stylesheet';
|
|
39
|
-
link.href = href;
|
|
40
|
-
document.head.appendChild(link);
|
|
41
|
-
}
|
|
42
|
-
if (link.sheet) {
|
|
43
|
-
fulfil();
|
|
44
|
-
} else {
|
|
45
|
-
link.addEventListener('load', function() { return fulfil() });
|
|
46
|
-
link.addEventListener('error', reject);
|
|
47
|
-
}
|
|
48
|
-
})}));
|
|
49
|
-
};`.trim();
|
|
50
|
-
|
|
51
|
-
const INJECT_STYLES_NAME = 'inject_styles';
|
|
52
|
-
const INJECT_STYLES_ID = 'inject_styles.js';
|
|
53
|
-
|
|
54
|
-
const find_css = (chunk, bundle) => {
|
|
55
|
-
const css_files = new Set();
|
|
56
|
-
const visited = new Set();
|
|
57
|
-
|
|
58
|
-
const recurse = (c) => {
|
|
59
|
-
if (visited.has(c)) return;
|
|
60
|
-
visited.add(c);
|
|
61
|
-
|
|
62
|
-
if (c.imports) {
|
|
63
|
-
c.imports.forEach((file) => {
|
|
64
|
-
if (file.endsWith('.css')) {
|
|
65
|
-
css_files.add(file);
|
|
66
|
-
} else {
|
|
67
|
-
const imported_chunk = bundle[file];
|
|
68
|
-
if (imported_chunk) {
|
|
69
|
-
recurse(imported_chunk);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
recurse(chunk);
|
|
77
|
-
return Array.from(css_files);
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
const css_injection = {
|
|
81
|
-
name: 'svelte-css-injection',
|
|
82
|
-
buildStart() {
|
|
83
|
-
this.emitFile({
|
|
84
|
-
type: 'chunk',
|
|
85
|
-
id: INJECT_STYLES_ID,
|
|
86
|
-
name: INJECT_STYLES_NAME,
|
|
87
|
-
preserveSignature: 'allow-extension'
|
|
88
|
-
});
|
|
89
|
-
},
|
|
90
|
-
load(id) {
|
|
91
|
-
return id === INJECT_STYLES_ID ? inject_styles : null;
|
|
92
|
-
},
|
|
93
|
-
resolveId(importee) {
|
|
94
|
-
return importee === INJECT_STYLES_ID ? INJECT_STYLES_ID : null;
|
|
95
|
-
},
|
|
96
|
-
renderDynamicImport({ targetModuleId }) {
|
|
97
|
-
if (targetModuleId) {
|
|
98
|
-
const t = Buffer.from(targetModuleId).toString('hex');
|
|
99
|
-
return {
|
|
100
|
-
left: 'Promise.all([import(',
|
|
101
|
-
right: `), ___SVELTE_CSS_INJECTION___${t}___]).then(function(x) { return x[0]; })`
|
|
102
|
-
};
|
|
103
|
-
} else {
|
|
104
|
-
return {
|
|
105
|
-
left: 'import(',
|
|
106
|
-
right: ')'
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
async generateBundle(_options, bundle) {
|
|
111
|
-
const inject_styles_file = Object.keys(bundle).find((f) => f.startsWith('inject_styles'));
|
|
112
|
-
|
|
113
|
-
let has_css = false;
|
|
114
|
-
for (const name in bundle) {
|
|
115
|
-
const chunk = bundle[name];
|
|
116
|
-
|
|
117
|
-
let chunk_has_css = false;
|
|
118
|
-
|
|
119
|
-
if (chunk.code) {
|
|
120
|
-
chunk.code = chunk.code.replace(/___SVELTE_CSS_INJECTION___([0-9a-f]+)___/g, (_m, id) => {
|
|
121
|
-
id = Buffer.from(id, 'hex').toString();
|
|
122
|
-
const target = Object.values(bundle).find((c) => c.modules && c.modules[id]);
|
|
123
|
-
|
|
124
|
-
if (target) {
|
|
125
|
-
const css_files = find_css(target, bundle);
|
|
126
|
-
if (css_files.length > 0) {
|
|
127
|
-
chunk_has_css = true;
|
|
128
|
-
return `__inject_styles(${JSON.stringify(css_files)})`;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return '';
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
if (chunk_has_css) {
|
|
136
|
-
has_css = true;
|
|
137
|
-
chunk.code += `\nimport __inject_styles from './${inject_styles_file}';`;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
if (!has_css) {
|
|
143
|
-
delete bundle[inject_styles_file];
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
const execFile = util.promisify(require$$1__default['default'].execFile);
|
|
149
|
-
|
|
150
|
-
const snowpack_main = require.resolve('snowpack');
|
|
151
|
-
const snowpack_pkg_file = path__default['default'].join(snowpack_main, '../../package.json');
|
|
152
|
-
const snowpack_pkg = require(snowpack_pkg_file); // eslint-disable-line
|
|
153
|
-
const snowpack_bin = path__default['default'].resolve(path__default['default'].dirname(snowpack_pkg_file), snowpack_pkg.bin.snowpack);
|
|
154
|
-
|
|
155
|
-
const ignorable_warnings = new Set(['EMPTY_BUNDLE', 'MISSING_EXPORT']);
|
|
156
|
-
const onwarn = (warning, handler) => {
|
|
157
|
-
// TODO would be nice to just eliminate the circular dependencies instead of
|
|
158
|
-
// squelching these warnings (it happens when e.g. the root layout imports
|
|
159
|
-
// from $app/navigation)
|
|
160
|
-
if (ignorable_warnings.has(warning.code)) return;
|
|
161
|
-
handler(warning);
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const DIR = '.svelte';
|
|
165
|
-
const ASSETS = `${DIR}/assets`;
|
|
166
|
-
const UNOPTIMIZED = `${DIR}/build/unoptimized`;
|
|
167
|
-
const OPTIMIZED = `${DIR}/build/optimized`;
|
|
168
|
-
|
|
169
|
-
const s = JSON.stringify;
|
|
170
|
-
|
|
171
|
-
async function build(config) {
|
|
172
|
-
const manifest = create_app.create_manifest_data(config);
|
|
173
|
-
|
|
174
|
-
utils.mkdirp(ASSETS);
|
|
175
|
-
await rimraf(UNOPTIMIZED);
|
|
176
|
-
await rimraf(OPTIMIZED);
|
|
177
|
-
|
|
178
|
-
create_app.create_app({
|
|
179
|
-
manifest_data: manifest,
|
|
180
|
-
output: '.svelte/assets'
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
utils.copy_assets();
|
|
184
|
-
|
|
185
|
-
// TODO use import.meta.env.SSR upon resolution of https://github.com/snowpackjs/snowpack/discussions/1889
|
|
186
|
-
// prettier-ignore
|
|
187
|
-
fs.writeFileSync('.svelte/assets/runtime/app/env.js', [
|
|
188
|
-
'export const browser = typeof window !== "undefined";',
|
|
189
|
-
'export const dev = false;',
|
|
190
|
-
`export const amp = ${config.amp};`
|
|
191
|
-
].join('\n'));
|
|
192
|
-
|
|
193
|
-
const tick = index.bold(index.green('✔'));
|
|
194
|
-
console.log(index.bold(index.cyan('Transforming...')));
|
|
195
|
-
|
|
196
|
-
const mount = [
|
|
197
|
-
`--mount.${config.files.routes}=/${config.appDir}/routes`,
|
|
198
|
-
`--mount.${config.files.setup}=/${config.appDir}/setup`
|
|
199
|
-
];
|
|
200
|
-
|
|
201
|
-
const env = { ...process.env, SVELTE_KIT_APP_DIR: config.appDir };
|
|
202
|
-
|
|
203
|
-
const promises = {
|
|
204
|
-
transform_client: execFile(
|
|
205
|
-
process.argv[0],
|
|
206
|
-
[snowpack_bin, 'build', ...mount, `--out=${UNOPTIMIZED}/client`],
|
|
207
|
-
{ env }
|
|
208
|
-
),
|
|
209
|
-
transform_server: execFile(
|
|
210
|
-
process.argv[0],
|
|
211
|
-
[snowpack_bin, 'build', ...mount, `--out=${UNOPTIMIZED}/server`, '--ssr'],
|
|
212
|
-
{ env }
|
|
213
|
-
)
|
|
214
|
-
};
|
|
215
|
-
|
|
216
|
-
await promises.transform_client;
|
|
217
|
-
console.log(` ${tick} client`);
|
|
218
|
-
|
|
219
|
-
await promises.transform_server;
|
|
220
|
-
console.log(` ${tick} server`);
|
|
221
|
-
|
|
222
|
-
console.log(index.bold(index.cyan('Optimizing...')));
|
|
223
|
-
|
|
224
|
-
const client = {
|
|
225
|
-
entry: null,
|
|
226
|
-
deps: {}
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
const entry = path__default['default'].resolve(
|
|
230
|
-
`${UNOPTIMIZED}/client/${config.appDir}/assets/runtime/internal/start.js`
|
|
231
|
-
);
|
|
232
|
-
|
|
233
|
-
const client_chunks = await rollup.rollup({
|
|
234
|
-
input: {
|
|
235
|
-
entry
|
|
236
|
-
},
|
|
237
|
-
plugins: [
|
|
238
|
-
{
|
|
239
|
-
name: 'deproxy-css',
|
|
240
|
-
async resolveId(importee, importer) {
|
|
241
|
-
if (/\.css\.proxy\.js$/.test(importee)) {
|
|
242
|
-
const deproxied = importee.replace(/\.css\.proxy\.js$/, '.css');
|
|
243
|
-
const resolved = await this.resolve(deproxied, importer);
|
|
244
|
-
return resolved.id;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
},
|
|
248
|
-
css_chunks__default['default']({
|
|
249
|
-
sourcemap: true
|
|
250
|
-
}),
|
|
251
|
-
css_injection,
|
|
252
|
-
{
|
|
253
|
-
name: 'generate-client-manifest',
|
|
254
|
-
generateBundle(_options, bundle) {
|
|
255
|
-
const reverse_lookup = new Map();
|
|
256
|
-
|
|
257
|
-
const routes = path__default['default'].resolve(`${UNOPTIMIZED}/client/${config.appDir}/routes`);
|
|
258
|
-
|
|
259
|
-
let inject_styles;
|
|
260
|
-
|
|
261
|
-
for (const key in bundle) {
|
|
262
|
-
const chunk = bundle[key];
|
|
263
|
-
|
|
264
|
-
if (chunk.facadeModuleId === entry) {
|
|
265
|
-
client.entry = key;
|
|
266
|
-
} else if (chunk.facadeModuleId === 'inject_styles.js') {
|
|
267
|
-
inject_styles = key;
|
|
268
|
-
} else if (chunk.modules) {
|
|
269
|
-
for (const id in chunk.modules) {
|
|
270
|
-
if (id.startsWith(routes) && id.endsWith('.js')) {
|
|
271
|
-
const file = id.slice(routes.length + 1);
|
|
272
|
-
reverse_lookup.set(file, key);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
const find_deps = (key, js, css) => {
|
|
279
|
-
if (js.has(key)) return;
|
|
280
|
-
|
|
281
|
-
js.add(key);
|
|
282
|
-
|
|
283
|
-
const chunk = bundle[key];
|
|
284
|
-
|
|
285
|
-
if (chunk) {
|
|
286
|
-
const imports = chunk.imports;
|
|
287
|
-
|
|
288
|
-
if (imports) {
|
|
289
|
-
imports.forEach((key) => {
|
|
290
|
-
if (key.endsWith('.css')) {
|
|
291
|
-
js.add(inject_styles);
|
|
292
|
-
css.add(key);
|
|
293
|
-
} else {
|
|
294
|
-
find_deps(key, js, css);
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
} else {
|
|
299
|
-
this.error(`'${key}' is imported but could not be bundled`);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
return { js, css };
|
|
303
|
-
};
|
|
304
|
-
|
|
305
|
-
const get_deps = (key) => {
|
|
306
|
-
const js = new Set();
|
|
307
|
-
const css = new Set();
|
|
308
|
-
|
|
309
|
-
find_deps(key, js, css);
|
|
310
|
-
|
|
311
|
-
return {
|
|
312
|
-
js: Array.from(js),
|
|
313
|
-
css: Array.from(css)
|
|
314
|
-
};
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
manifest.components.forEach((component) => {
|
|
318
|
-
const file = path__default['default'].normalize(component.file + '.js');
|
|
319
|
-
const key = reverse_lookup.get(file);
|
|
320
|
-
|
|
321
|
-
client.deps[component.name] = get_deps(key);
|
|
322
|
-
});
|
|
323
|
-
}
|
|
324
|
-
},
|
|
325
|
-
rollupPluginTerser.terser()
|
|
326
|
-
],
|
|
327
|
-
|
|
328
|
-
onwarn,
|
|
329
|
-
|
|
330
|
-
// TODO ensure this works with external node modules (on server)
|
|
331
|
-
external: (id) => id[0] !== '.' && !path__default['default'].isAbsolute(id)
|
|
332
|
-
});
|
|
333
|
-
|
|
334
|
-
await client_chunks.write({
|
|
335
|
-
dir: `${OPTIMIZED}/client/${config.appDir}`,
|
|
336
|
-
entryFileNames: '[name]-[hash].js',
|
|
337
|
-
chunkFileNames: '[name]-[hash].js',
|
|
338
|
-
assetFileNames: '[name]-[hash].js', // TODO CSS filenames aren't hashed?
|
|
339
|
-
format: 'esm',
|
|
340
|
-
sourcemap: true
|
|
341
|
-
});
|
|
342
|
-
|
|
343
|
-
console.log(` ${tick} client`);
|
|
344
|
-
|
|
345
|
-
const setup_file = `${UNOPTIMIZED}/server/${config.appDir}/setup/index.js`;
|
|
346
|
-
if (!fs__default['default'].existsSync(setup_file)) {
|
|
347
|
-
utils.mkdirp(path__default['default'].dirname(setup_file));
|
|
348
|
-
fs__default['default'].writeFileSync(setup_file, '');
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
const app_file = `${UNOPTIMIZED}/server/app.js`;
|
|
352
|
-
|
|
353
|
-
const component_indexes = new Map();
|
|
354
|
-
manifest.components.forEach((c, i) => {
|
|
355
|
-
component_indexes.set(c.file, i);
|
|
356
|
-
});
|
|
357
|
-
|
|
358
|
-
const stringify_component = (c) => `() => import(${s(`.${c.url}`)})`;
|
|
359
|
-
|
|
360
|
-
// TODO ideally we wouldn't embed the css_lookup, but this is the easiest
|
|
361
|
-
// way to be able to inline CSS into AMP documents. if we come up with
|
|
362
|
-
// something better, we could use it for non-AMP documents too, as
|
|
363
|
-
// critical CSS below a certain threshold _should_ be inlined
|
|
364
|
-
const css_lookup = {};
|
|
365
|
-
manifest.pages.forEach((data) => {
|
|
366
|
-
data.parts.forEach((c) => {
|
|
367
|
-
const deps = client.deps[c.name];
|
|
368
|
-
deps.css.forEach((dep) => {
|
|
369
|
-
const url = `${config.paths.assets}/${config.appDir}/${dep}`.replace(/^\/\./, '');
|
|
370
|
-
const file = `${OPTIMIZED}/client/${config.appDir}/${dep}`;
|
|
371
|
-
|
|
372
|
-
css_lookup[url] = fs.readFileSync(file, 'utf-8');
|
|
373
|
-
});
|
|
374
|
-
});
|
|
375
|
-
});
|
|
376
|
-
|
|
377
|
-
// TODO get_stack, below, just returns the stack as-is, without sourcemapping
|
|
378
|
-
|
|
379
|
-
// prettier-ignore
|
|
380
|
-
fs__default['default'].writeFileSync(
|
|
381
|
-
app_file,
|
|
382
|
-
`
|
|
383
|
-
import * as renderer from '@sveltejs/kit/dist/renderer';
|
|
384
|
-
import root from './${config.appDir}/assets/generated/root.svelte.js';
|
|
385
|
-
import { set_paths } from './${config.appDir}/assets/runtime/internal/singletons.js';
|
|
386
|
-
import * as setup from './${config.appDir}/setup/index.js';
|
|
387
|
-
|
|
388
|
-
const template = ({ head, body }) => ${s(fs__default['default'].readFileSync(config.files.template, 'utf-8'))
|
|
389
|
-
.replace('%svelte.head%', '" + head + "')
|
|
390
|
-
.replace('%svelte.body%', '" + body + "')};
|
|
391
|
-
|
|
392
|
-
const entry = ${s(client.entry)};
|
|
393
|
-
|
|
394
|
-
set_paths(${s(config.paths)});
|
|
395
|
-
|
|
396
|
-
// allow paths to be overridden in svelte-kit start
|
|
397
|
-
export function init({ paths }) {
|
|
398
|
-
set_paths(paths);
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
init({ paths: ${s(config.paths)} });
|
|
402
|
-
|
|
403
|
-
const d = decodeURIComponent;
|
|
404
|
-
const empty = () => ({});
|
|
405
|
-
|
|
406
|
-
const components = [
|
|
407
|
-
${manifest.components.map((c) => stringify_component(c)).join(',\n\t\t\t\t')}
|
|
408
|
-
];
|
|
409
|
-
|
|
410
|
-
${config.amp ? `
|
|
411
|
-
const css_lookup = ${s(css_lookup)};` : ''}
|
|
412
|
-
|
|
413
|
-
const manifest = {
|
|
414
|
-
assets: ${s(manifest.assets)},
|
|
415
|
-
layout: ${stringify_component(manifest.layout)},
|
|
416
|
-
error: ${stringify_component(manifest.error)},
|
|
417
|
-
pages: [
|
|
418
|
-
${manifest.pages
|
|
419
|
-
.map((data) => {
|
|
420
|
-
const params = get_params(data.params);
|
|
421
|
-
const parts = data.parts.map(c => `components[${component_indexes.get(c.file)}]`);
|
|
422
|
-
|
|
423
|
-
const path_to_dep = dep => `${config.paths.assets}/${config.appDir}/${dep}`.replace(/^\/\./, '');
|
|
424
|
-
|
|
425
|
-
const js_deps = new Set();
|
|
426
|
-
const css_deps = new Set();
|
|
427
|
-
data.parts.forEach(c => {
|
|
428
|
-
const deps = client.deps[c.name];
|
|
429
|
-
deps.js.forEach(dep => js_deps.add(path_to_dep(dep)));
|
|
430
|
-
deps.css.forEach(dep => css_deps.add(path_to_dep(dep)));
|
|
431
|
-
});
|
|
432
|
-
|
|
433
|
-
return `{
|
|
434
|
-
pattern: ${data.pattern},
|
|
435
|
-
params: ${params},
|
|
436
|
-
parts: [${parts.join(', ')}],
|
|
437
|
-
css: [${Array.from(css_deps).map(s).join(', ')}],
|
|
438
|
-
js: [${Array.from(js_deps).map(s).join(', ')}]
|
|
439
|
-
}`;
|
|
440
|
-
})
|
|
441
|
-
.join(',\n\t\t\t\t\t')}
|
|
442
|
-
],
|
|
443
|
-
endpoints: [
|
|
444
|
-
${manifest.endpoints
|
|
445
|
-
.map((data) => {
|
|
446
|
-
const params = get_params(data.params);
|
|
447
|
-
const load = `() => import(${s(`.${data.url.replace(/\.\w+$/, '.js')}`)})`;
|
|
448
|
-
|
|
449
|
-
return `{ pattern: ${data.pattern}, params: ${params}, load: ${load} }`;
|
|
450
|
-
})
|
|
451
|
-
.join(',\n\t\t\t\t\t')}
|
|
452
|
-
]
|
|
453
|
-
};
|
|
454
|
-
|
|
455
|
-
export function render(request, {
|
|
456
|
-
paths = ${s(config.paths)},
|
|
457
|
-
local = false,
|
|
458
|
-
only_prerender = false,
|
|
459
|
-
get_static_file
|
|
460
|
-
} = {}) {
|
|
461
|
-
return renderer.render(request, {
|
|
462
|
-
paths,
|
|
463
|
-
local,
|
|
464
|
-
template,
|
|
465
|
-
manifest,
|
|
466
|
-
target: ${s(config.target)},${
|
|
467
|
-
config.startGlobal ? `\n\t\t\t\t\tstart_global: ${s(config.startGlobal)},` : ''
|
|
468
|
-
}
|
|
469
|
-
entry,
|
|
470
|
-
root,
|
|
471
|
-
setup,
|
|
472
|
-
dev: false,
|
|
473
|
-
amp: ${config.amp},
|
|
474
|
-
only_prerender,
|
|
475
|
-
app_dir: ${s(config.appDir)},
|
|
476
|
-
host: ${s(config.host)},
|
|
477
|
-
host_header: ${s(config.hostHeader)},
|
|
478
|
-
get_stack: error => error.stack,
|
|
479
|
-
get_static_file,
|
|
480
|
-
get_amp_css: dep => css_lookup[dep]
|
|
481
|
-
});
|
|
482
|
-
}
|
|
483
|
-
`
|
|
484
|
-
.replace(/^\t{3}/gm, '')
|
|
485
|
-
.trim()
|
|
486
|
-
);
|
|
487
|
-
|
|
488
|
-
const server_input = {
|
|
489
|
-
app: `${UNOPTIMIZED}/server/app.js`
|
|
490
|
-
};
|
|
491
|
-
|
|
492
|
-
const server_chunks = await rollup.rollup({
|
|
493
|
-
input: server_input,
|
|
494
|
-
plugins: [
|
|
495
|
-
{
|
|
496
|
-
name: 'remove-css',
|
|
497
|
-
load(id) {
|
|
498
|
-
if (/\.css\.proxy\.js$/.test(id)) return '';
|
|
499
|
-
}
|
|
500
|
-
},
|
|
501
|
-
// TODO add server manifest generation so we can prune
|
|
502
|
-
// imports before zipping for cloud functions
|
|
503
|
-
rollupPluginTerser.terser()
|
|
504
|
-
],
|
|
505
|
-
|
|
506
|
-
onwarn,
|
|
507
|
-
|
|
508
|
-
// TODO ensure this works with external node modules (on server)
|
|
509
|
-
external: (id) => id[0] !== '.' && !path__default['default'].isAbsolute(id)
|
|
510
|
-
});
|
|
511
|
-
|
|
512
|
-
await server_chunks.write({
|
|
513
|
-
dir: `${OPTIMIZED}/server`,
|
|
514
|
-
format: 'cjs', // TODO some adapters might want ESM?
|
|
515
|
-
exports: 'named',
|
|
516
|
-
entryFileNames: '[name].cjs',
|
|
517
|
-
chunkFileNames: 'chunks/[name].cjs',
|
|
518
|
-
assetFileNames: 'assets/[name].cjs',
|
|
519
|
-
sourcemap: true
|
|
520
|
-
});
|
|
521
|
-
|
|
522
|
-
console.log(` ${tick} server\n`);
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
async function rimraf(path) {
|
|
526
|
-
return new Promise((resolve) => {
|
|
527
|
-
(fs__default['default'].rm || fs__default['default'].rmdir)(path, { recursive: true, force: true }, () => resolve());
|
|
528
|
-
});
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
// given an array of params like `['x', 'y', 'z']` for
|
|
532
|
-
// src/routes/[x]/[y]/[z]/svelte, create a function
|
|
533
|
-
// that turns a RexExpMatchArray into ({ x, y, z })
|
|
534
|
-
function get_params(array) {
|
|
535
|
-
return array.length
|
|
536
|
-
? '(m) => ({ ' +
|
|
537
|
-
array
|
|
538
|
-
.map((param, i) => {
|
|
539
|
-
return param.startsWith('...')
|
|
540
|
-
? `${param.slice(3)}: d(m[${i + 1}]).split('/')`
|
|
541
|
-
: `${param}: d(m[${i + 1}])`;
|
|
542
|
-
})
|
|
543
|
-
.join(', ') +
|
|
544
|
-
'})'
|
|
545
|
-
: 'empty';
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
exports.build = build;
|
|
549
|
-
//# sourceMappingURL=index3.js.map
|
package/dist/index3.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index3.js","sources":["../src/api/build/css_injection.js","../src/api/build/index.js"],"sourcesContent":["const inject_styles = `\nexport default function(files) {\n\treturn Promise.all(files.map(function(file) { return new Promise(function(fulfil, reject) {\n\t\tvar href = new URL(file, import.meta.url);\n\t\tvar baseURI = document.baseURI;\n\t\tif (!baseURI) {\n\t\t\tvar baseTags = document.getElementsByTagName('base');\n\t\t\tbaseURI = baseTags.length ? baseTags[0].href : document.URL;\n\t\t}\n\t\tvar relative = ('' + href).substring(baseURI.length);\n\t\tvar link = document.querySelector('link[rel=stylesheet][href=\"' + relative + '\"]')\n\t\t\t|| document.querySelector('link[rel=stylesheet][href=\"' + href + '\"]');\n\t\tif (!link) {\n\t\t\tlink = document.createElement('link');\n\t\t\tlink.rel = 'stylesheet';\n\t\t\tlink.href = href;\n\t\t\tdocument.head.appendChild(link);\n\t\t}\n\t\tif (link.sheet) {\n\t\t\tfulfil();\n\t\t} else {\n\t\t\tlink.addEventListener('load', function() { return fulfil() });\n\t\t\tlink.addEventListener('error', reject);\n\t\t}\n\t})}));\n};`.trim();\n\nconst INJECT_STYLES_NAME = 'inject_styles';\nconst INJECT_STYLES_ID = 'inject_styles.js';\n\nconst find_css = (chunk, bundle) => {\n\tconst css_files = new Set();\n\tconst visited = new Set();\n\n\tconst recurse = (c) => {\n\t\tif (visited.has(c)) return;\n\t\tvisited.add(c);\n\n\t\tif (c.imports) {\n\t\t\tc.imports.forEach((file) => {\n\t\t\t\tif (file.endsWith('.css')) {\n\t\t\t\t\tcss_files.add(file);\n\t\t\t\t} else {\n\t\t\t\t\tconst imported_chunk = bundle[file];\n\t\t\t\t\tif (imported_chunk) {\n\t\t\t\t\t\trecurse(imported_chunk);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\trecurse(chunk);\n\treturn Array.from(css_files);\n};\n\nexport const css_injection = {\n\tname: 'svelte-css-injection',\n\tbuildStart() {\n\t\tthis.emitFile({\n\t\t\ttype: 'chunk',\n\t\t\tid: INJECT_STYLES_ID,\n\t\t\tname: INJECT_STYLES_NAME,\n\t\t\tpreserveSignature: 'allow-extension'\n\t\t});\n\t},\n\tload(id) {\n\t\treturn id === INJECT_STYLES_ID ? inject_styles : null;\n\t},\n\tresolveId(importee) {\n\t\treturn importee === INJECT_STYLES_ID ? INJECT_STYLES_ID : null;\n\t},\n\trenderDynamicImport({ targetModuleId }) {\n\t\tif (targetModuleId) {\n\t\t\tconst t = Buffer.from(targetModuleId).toString('hex');\n\t\t\treturn {\n\t\t\t\tleft: 'Promise.all([import(',\n\t\t\t\tright: `), ___SVELTE_CSS_INJECTION___${t}___]).then(function(x) { return x[0]; })`\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tleft: 'import(',\n\t\t\t\tright: ')'\n\t\t\t};\n\t\t}\n\t},\n\tasync generateBundle(_options, bundle) {\n\t\tconst inject_styles_file = Object.keys(bundle).find((f) => f.startsWith('inject_styles'));\n\n\t\tlet has_css = false;\n\t\tfor (const name in bundle) {\n\t\t\tconst chunk = bundle[name];\n\n\t\t\tlet chunk_has_css = false;\n\n\t\t\tif (chunk.code) {\n\t\t\t\tchunk.code = chunk.code.replace(/___SVELTE_CSS_INJECTION___([0-9a-f]+)___/g, (_m, id) => {\n\t\t\t\t\tid = Buffer.from(id, 'hex').toString();\n\t\t\t\t\tconst target = Object.values(bundle).find((c) => c.modules && c.modules[id]);\n\n\t\t\t\t\tif (target) {\n\t\t\t\t\t\tconst css_files = find_css(target, bundle);\n\t\t\t\t\t\tif (css_files.length > 0) {\n\t\t\t\t\t\t\tchunk_has_css = true;\n\t\t\t\t\t\t\treturn `__inject_styles(${JSON.stringify(css_files)})`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn '';\n\t\t\t\t});\n\n\t\t\t\tif (chunk_has_css) {\n\t\t\t\t\thas_css = true;\n\t\t\t\t\tchunk.code += `\\nimport __inject_styles from './${inject_styles_file}';`;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!has_css) {\n\t\t\tdelete bundle[inject_styles_file];\n\t\t}\n\t}\n};\n","import fs, { readFileSync, writeFileSync } from 'fs';\nimport path from 'path';\nimport child_process from 'child_process';\nimport { promisify } from 'util';\nimport { green, bold, cyan } from 'kleur/colors';\nimport { mkdirp } from '@sveltejs/app-utils/files';\nimport create_manifest_data from '../../core/create_manifest_data';\nimport { rollup } from 'rollup';\nimport { terser } from 'rollup-plugin-terser';\nimport css_chunks from 'rollup-plugin-css-chunks';\nimport { copy_assets } from '../utils';\nimport { create_app } from '../../core/create_app';\nimport { css_injection } from './css_injection';\n\nconst execFile = promisify(child_process.execFile);\n\nconst snowpack_main = require.resolve('snowpack');\nconst snowpack_pkg_file = path.join(snowpack_main, '../../package.json');\nconst snowpack_pkg = require(snowpack_pkg_file); // eslint-disable-line\nconst snowpack_bin = path.resolve(path.dirname(snowpack_pkg_file), snowpack_pkg.bin.snowpack);\n\nconst ignorable_warnings = new Set(['EMPTY_BUNDLE', 'MISSING_EXPORT']);\nconst onwarn = (warning, handler) => {\n\t// TODO would be nice to just eliminate the circular dependencies instead of\n\t// squelching these warnings (it happens when e.g. the root layout imports\n\t// from $app/navigation)\n\tif (ignorable_warnings.has(warning.code)) return;\n\thandler(warning);\n};\n\nconst DIR = '.svelte';\nconst ASSETS = `${DIR}/assets`;\nconst UNOPTIMIZED = `${DIR}/build/unoptimized`;\nconst OPTIMIZED = `${DIR}/build/optimized`;\n\nconst s = JSON.stringify;\n\nexport async function build(config) {\n\tconst manifest = create_manifest_data(config);\n\n\tmkdirp(ASSETS);\n\tawait rimraf(UNOPTIMIZED);\n\tawait rimraf(OPTIMIZED);\n\n\tcreate_app({\n\t\tmanifest_data: manifest,\n\t\toutput: '.svelte/assets'\n\t});\n\n\tcopy_assets();\n\n\t// TODO use import.meta.env.SSR upon resolution of https://github.com/snowpackjs/snowpack/discussions/1889\n\t// prettier-ignore\n\twriteFileSync('.svelte/assets/runtime/app/env.js', [\n\t\t'export const browser = typeof window !== \"undefined\";',\n\t\t'export const dev = false;',\n\t\t`export const amp = ${config.amp};`\n\t].join('\\n'));\n\n\tconst tick = bold(green('✔'));\n\tconsole.log(bold(cyan('Transforming...')));\n\n\tconst mount = [\n\t\t`--mount.${config.files.routes}=/${config.appDir}/routes`,\n\t\t`--mount.${config.files.setup}=/${config.appDir}/setup`\n\t];\n\n\tconst env = { ...process.env, SVELTE_KIT_APP_DIR: config.appDir };\n\n\tconst promises = {\n\t\ttransform_client: execFile(\n\t\t\tprocess.argv[0],\n\t\t\t[snowpack_bin, 'build', ...mount, `--out=${UNOPTIMIZED}/client`],\n\t\t\t{ env }\n\t\t),\n\t\ttransform_server: execFile(\n\t\t\tprocess.argv[0],\n\t\t\t[snowpack_bin, 'build', ...mount, `--out=${UNOPTIMIZED}/server`, '--ssr'],\n\t\t\t{ env }\n\t\t)\n\t};\n\n\tawait promises.transform_client;\n\tconsole.log(` ${tick} client`);\n\n\tawait promises.transform_server;\n\tconsole.log(` ${tick} server`);\n\n\tconsole.log(bold(cyan('Optimizing...')));\n\n\tconst client = {\n\t\tentry: null,\n\t\tdeps: {}\n\t};\n\n\tconst entry = path.resolve(\n\t\t`${UNOPTIMIZED}/client/${config.appDir}/assets/runtime/internal/start.js`\n\t);\n\n\tconst client_chunks = await rollup({\n\t\tinput: {\n\t\t\tentry\n\t\t},\n\t\tplugins: [\n\t\t\t{\n\t\t\t\tname: 'deproxy-css',\n\t\t\t\tasync resolveId(importee, importer) {\n\t\t\t\t\tif (/\\.css\\.proxy\\.js$/.test(importee)) {\n\t\t\t\t\t\tconst deproxied = importee.replace(/\\.css\\.proxy\\.js$/, '.css');\n\t\t\t\t\t\tconst resolved = await this.resolve(deproxied, importer);\n\t\t\t\t\t\treturn resolved.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tcss_chunks({\n\t\t\t\tsourcemap: true\n\t\t\t}),\n\t\t\tcss_injection,\n\t\t\t{\n\t\t\t\tname: 'generate-client-manifest',\n\t\t\t\tgenerateBundle(_options, bundle) {\n\t\t\t\t\tconst reverse_lookup = new Map();\n\n\t\t\t\t\tconst routes = path.resolve(`${UNOPTIMIZED}/client/${config.appDir}/routes`);\n\n\t\t\t\t\tlet inject_styles;\n\n\t\t\t\t\tfor (const key in bundle) {\n\t\t\t\t\t\tconst chunk = bundle[key];\n\n\t\t\t\t\t\tif (chunk.facadeModuleId === entry) {\n\t\t\t\t\t\t\tclient.entry = key;\n\t\t\t\t\t\t} else if (chunk.facadeModuleId === 'inject_styles.js') {\n\t\t\t\t\t\t\tinject_styles = key;\n\t\t\t\t\t\t} else if (chunk.modules) {\n\t\t\t\t\t\t\tfor (const id in chunk.modules) {\n\t\t\t\t\t\t\t\tif (id.startsWith(routes) && id.endsWith('.js')) {\n\t\t\t\t\t\t\t\t\tconst file = id.slice(routes.length + 1);\n\t\t\t\t\t\t\t\t\treverse_lookup.set(file, key);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst find_deps = (key, js, css) => {\n\t\t\t\t\t\tif (js.has(key)) return;\n\n\t\t\t\t\t\tjs.add(key);\n\n\t\t\t\t\t\tconst chunk = bundle[key];\n\n\t\t\t\t\t\tif (chunk) {\n\t\t\t\t\t\t\tconst imports = chunk.imports;\n\n\t\t\t\t\t\t\tif (imports) {\n\t\t\t\t\t\t\t\timports.forEach((key) => {\n\t\t\t\t\t\t\t\t\tif (key.endsWith('.css')) {\n\t\t\t\t\t\t\t\t\t\tjs.add(inject_styles);\n\t\t\t\t\t\t\t\t\t\tcss.add(key);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tfind_deps(key, js, css);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.error(`'${key}' is imported but could not be bundled`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn { js, css };\n\t\t\t\t\t};\n\n\t\t\t\t\tconst get_deps = (key) => {\n\t\t\t\t\t\tconst js = new Set();\n\t\t\t\t\t\tconst css = new Set();\n\n\t\t\t\t\t\tfind_deps(key, js, css);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tjs: Array.from(js),\n\t\t\t\t\t\t\tcss: Array.from(css)\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\n\t\t\t\t\tmanifest.components.forEach((component) => {\n\t\t\t\t\t\tconst file = path.normalize(component.file + '.js');\n\t\t\t\t\t\tconst key = reverse_lookup.get(file);\n\n\t\t\t\t\t\tclient.deps[component.name] = get_deps(key);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tterser()\n\t\t],\n\n\t\tonwarn,\n\n\t\t// TODO ensure this works with external node modules (on server)\n\t\texternal: (id) => id[0] !== '.' && !path.isAbsolute(id)\n\t});\n\n\tawait client_chunks.write({\n\t\tdir: `${OPTIMIZED}/client/${config.appDir}`,\n\t\tentryFileNames: '[name]-[hash].js',\n\t\tchunkFileNames: '[name]-[hash].js',\n\t\tassetFileNames: '[name]-[hash].js', // TODO CSS filenames aren't hashed?\n\t\tformat: 'esm',\n\t\tsourcemap: true\n\t});\n\n\tconsole.log(` ${tick} client`);\n\n\tconst setup_file = `${UNOPTIMIZED}/server/${config.appDir}/setup/index.js`;\n\tif (!fs.existsSync(setup_file)) {\n\t\tmkdirp(path.dirname(setup_file));\n\t\tfs.writeFileSync(setup_file, '');\n\t}\n\n\tconst app_file = `${UNOPTIMIZED}/server/app.js`;\n\n\tconst component_indexes = new Map();\n\tmanifest.components.forEach((c, i) => {\n\t\tcomponent_indexes.set(c.file, i);\n\t});\n\n\tconst stringify_component = (c) => `() => import(${s(`.${c.url}`)})`;\n\n\t// TODO ideally we wouldn't embed the css_lookup, but this is the easiest\n\t// way to be able to inline CSS into AMP documents. if we come up with\n\t// something better, we could use it for non-AMP documents too, as\n\t// critical CSS below a certain threshold _should_ be inlined\n\tconst css_lookup = {};\n\tmanifest.pages.forEach((data) => {\n\t\tdata.parts.forEach((c) => {\n\t\t\tconst deps = client.deps[c.name];\n\t\t\tdeps.css.forEach((dep) => {\n\t\t\t\tconst url = `${config.paths.assets}/${config.appDir}/${dep}`.replace(/^\\/\\./, '');\n\t\t\t\tconst file = `${OPTIMIZED}/client/${config.appDir}/${dep}`;\n\n\t\t\t\tcss_lookup[url] = readFileSync(file, 'utf-8');\n\t\t\t});\n\t\t});\n\t});\n\n\t// TODO get_stack, below, just returns the stack as-is, without sourcemapping\n\n\t// prettier-ignore\n\tfs.writeFileSync(\n\t\tapp_file,\n\t\t`\n\t\t\timport * as renderer from '@sveltejs/kit/dist/renderer';\n\t\t\timport root from './${config.appDir}/assets/generated/root.svelte.js';\n\t\t\timport { set_paths } from './${config.appDir}/assets/runtime/internal/singletons.js';\n\t\t\timport * as setup from './${config.appDir}/setup/index.js';\n\n\t\t\tconst template = ({ head, body }) => ${s(fs.readFileSync(config.files.template, 'utf-8'))\n\t\t\t\t.replace('%svelte.head%', '\" + head + \"')\n\t\t\t\t.replace('%svelte.body%', '\" + body + \"')};\n\n\t\t\tconst entry = ${s(client.entry)};\n\n\t\t\tset_paths(${s(config.paths)});\n\n\t\t\t// allow paths to be overridden in svelte-kit start\n\t\t\texport function init({ paths }) {\n\t\t\t\tset_paths(paths);\n\t\t\t}\n\n\t\t\tinit({ paths: ${s(config.paths)} });\n\n\t\t\tconst d = decodeURIComponent;\n\t\t\tconst empty = () => ({});\n\n\t\t\tconst components = [\n\t\t\t\t${manifest.components.map((c) => stringify_component(c)).join(',\\n\\t\\t\\t\\t')}\n\t\t\t];\n\n\t\t\t${config.amp ? `\n\t\t\tconst css_lookup = ${s(css_lookup)};` : ''}\n\n\t\t\tconst manifest = {\n\t\t\t\tassets: ${s(manifest.assets)},\n\t\t\t\tlayout: ${stringify_component(manifest.layout)},\n\t\t\t\terror: ${stringify_component(manifest.error)},\n\t\t\t\tpages: [\n\t\t\t\t\t${manifest.pages\n\t\t\t\t\t\t.map((data) => {\n\t\t\t\t\t\t\tconst params = get_params(data.params);\n\t\t\t\t\t\t\tconst parts = data.parts.map(c => `components[${component_indexes.get(c.file)}]`);\n\n\t\t\t\t\t\t\tconst path_to_dep = dep => `${config.paths.assets}/${config.appDir}/${dep}`.replace(/^\\/\\./, '');\n\n\t\t\t\t\t\t\tconst js_deps = new Set();\n\t\t\t\t\t\t\tconst css_deps = new Set();\n\t\t\t\t\t\t\tdata.parts.forEach(c => {\n\t\t\t\t\t\t\t\tconst deps = client.deps[c.name];\n\t\t\t\t\t\t\t\tdeps.js.forEach(dep => js_deps.add(path_to_dep(dep)));\n\t\t\t\t\t\t\t\tdeps.css.forEach(dep => css_deps.add(path_to_dep(dep)));\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn `{\n\t\t\t\t\t\t\t\tpattern: ${data.pattern},\n\t\t\t\t\t\t\t\tparams: ${params},\n\t\t\t\t\t\t\t\tparts: [${parts.join(', ')}],\n\t\t\t\t\t\t\t\tcss: [${Array.from(css_deps).map(s).join(', ')}],\n\t\t\t\t\t\t\t\tjs: [${Array.from(js_deps).map(s).join(', ')}]\n\t\t\t\t\t\t\t}`;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.join(',\\n\\t\\t\\t\\t\\t')}\n\t\t\t\t],\n\t\t\t\tendpoints: [\n\t\t\t\t\t${manifest.endpoints\n\t\t\t\t\t\t.map((data) => {\n\t\t\t\t\t\t\tconst params = get_params(data.params);\n\t\t\t\t\t\t\tconst load = `() => import(${s(`.${data.url.replace(/\\.\\w+$/, '.js')}`)})`;\n\n\t\t\t\t\t\t\treturn `{ pattern: ${data.pattern}, params: ${params}, load: ${load} }`;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.join(',\\n\\t\\t\\t\\t\\t')}\n\t\t\t\t]\n\t\t\t};\n\n\t\t\texport function render(request, {\n\t\t\t\tpaths = ${s(config.paths)},\n\t\t\t\tlocal = false,\n\t\t\t\tonly_prerender = false,\n\t\t\t\tget_static_file\n\t\t\t} = {}) {\n\t\t\t\treturn renderer.render(request, {\n\t\t\t\t\tpaths,\n\t\t\t\t\tlocal,\n\t\t\t\t\ttemplate,\n\t\t\t\t\tmanifest,\n\t\t\t\t\ttarget: ${s(config.target)},${\n\t\t\t\t\t\tconfig.startGlobal ? `\\n\\t\\t\\t\\t\\tstart_global: ${s(config.startGlobal)},` : ''\n\t\t\t\t\t}\n\t\t\t\t\tentry,\n\t\t\t\t\troot,\n\t\t\t\t\tsetup,\n\t\t\t\t\tdev: false,\n\t\t\t\t\tamp: ${config.amp},\n\t\t\t\t\tonly_prerender,\n\t\t\t\t\tapp_dir: ${s(config.appDir)},\n\t\t\t\t\thost: ${s(config.host)},\n\t\t\t\t\thost_header: ${s(config.hostHeader)},\n\t\t\t\t\tget_stack: error => error.stack,\n\t\t\t\t\tget_static_file,\n\t\t\t\t\tget_amp_css: dep => css_lookup[dep]\n\t\t\t\t});\n\t\t\t}\n\t\t`\n\t\t\t.replace(/^\\t{3}/gm, '')\n\t\t\t.trim()\n\t);\n\n\tconst server_input = {\n\t\tapp: `${UNOPTIMIZED}/server/app.js`\n\t};\n\n\tconst server_chunks = await rollup({\n\t\tinput: server_input,\n\t\tplugins: [\n\t\t\t{\n\t\t\t\tname: 'remove-css',\n\t\t\t\tload(id) {\n\t\t\t\t\tif (/\\.css\\.proxy\\.js$/.test(id)) return '';\n\t\t\t\t}\n\t\t\t},\n\t\t\t// TODO add server manifest generation so we can prune\n\t\t\t// imports before zipping for cloud functions\n\t\t\tterser()\n\t\t],\n\n\t\tonwarn,\n\n\t\t// TODO ensure this works with external node modules (on server)\n\t\texternal: (id) => id[0] !== '.' && !path.isAbsolute(id)\n\t});\n\n\tawait server_chunks.write({\n\t\tdir: `${OPTIMIZED}/server`,\n\t\tformat: 'cjs', // TODO some adapters might want ESM?\n\t\texports: 'named',\n\t\tentryFileNames: '[name].cjs',\n\t\tchunkFileNames: 'chunks/[name].cjs',\n\t\tassetFileNames: 'assets/[name].cjs',\n\t\tsourcemap: true\n\t});\n\n\tconsole.log(` ${tick} server\\n`);\n}\n\nasync function rimraf(path) {\n\treturn new Promise((resolve) => {\n\t\t(fs.rm || fs.rmdir)(path, { recursive: true, force: true }, () => resolve());\n\t});\n}\n\n// given an array of params like `['x', 'y', 'z']` for\n// src/routes/[x]/[y]/[z]/svelte, create a function\n// that turns a RexExpMatchArray into ({ x, y, z })\nfunction get_params(array) {\n\treturn array.length\n\t\t? '(m) => ({ ' +\n\t\t\t\tarray\n\t\t\t\t\t.map((param, i) => {\n\t\t\t\t\t\treturn param.startsWith('...')\n\t\t\t\t\t\t\t? `${param.slice(3)}: d(m[${i + 1}]).split('/')`\n\t\t\t\t\t\t\t: `${param}: d(m[${i + 1}])`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(', ') +\n\t\t\t\t'})'\n\t\t: 'empty';\n}\n"],"names":["promisify","child_process","path","create_manifest_data","mkdirp","create_app","copy_assets","writeFileSync","bold","green","cyan","rollup","css_chunks","terser","fs","readFileSync"],"mappings":"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"}
|