@sveltejs/kit 3.0.0-next.23 → 3.0.0-next.24
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/package.json +40 -5
- package/src/cli.js +3 -3
- package/src/constants.js +13 -1
- package/src/core/adapt/builder.js +2 -3
- package/src/core/env.js +139 -181
- package/src/core/postbuild/analyse.js +9 -4
- package/src/core/postbuild/prerender.js +3 -4
- package/src/core/sync/create_manifest_data/index.js +29 -33
- package/src/core/sync/sync.js +23 -40
- package/src/core/sync/write_app_manifest.js +83 -0
- package/src/core/sync/write_client_manifest.js +6 -4
- package/src/core/sync/write_server.js +10 -6
- package/src/core/sync/write_types/index.js +2 -2
- package/src/core/utils.js +0 -28
- package/src/exports/hooks/public.d.ts +9 -1
- package/src/exports/node/index.js +77 -5
- package/src/exports/vite/build/build_server.js +3 -3
- package/src/exports/vite/build/utils.js +48 -4
- package/src/exports/vite/dev/index.js +11 -22
- package/src/exports/vite/index.js +62 -345
- package/src/exports/vite/module_ids.js +1 -11
- package/src/exports/vite/plugins/env-vars.js +117 -0
- package/src/exports/vite/preview/index.js +6 -4
- package/src/exports/vite/utils.js +2 -4
- package/src/runtime/app/env/{types.d.ts → client.js} +9 -4
- package/src/runtime/app/env/index.js +1 -2
- package/src/runtime/app/env/private/index.js +1 -0
- package/src/runtime/app/env/public/client.js +1 -1
- package/src/runtime/app/env/public/server.js +1 -1
- package/src/runtime/app/env/{internal.js → server.js} +4 -4
- package/src/runtime/app/forms/client.js +263 -0
- package/src/runtime/app/forms/index.js +1 -263
- package/src/runtime/app/forms/public.d.ts +1 -1
- package/src/runtime/app/forms/server.js +6 -0
- package/src/runtime/app/forms/shared.js +34 -0
- package/src/runtime/app/manifest/index.js +1 -1
- package/src/runtime/app/navigation/client.js +15 -0
- package/src/runtime/app/navigation/index.js +1 -15
- package/src/runtime/app/navigation/public.d.ts +1 -1
- package/src/runtime/app/navigation/server.js +15 -0
- package/src/runtime/app/paths/server.js +1 -1
- package/src/runtime/app/server/remote/form.js +11 -1
- package/src/runtime/app/server/remote/prerender.js +1 -2
- package/src/runtime/app/server/remote/query.js +1 -1
- package/src/runtime/app/state/client.svelte.js +207 -0
- package/src/runtime/app/state/index.js +1 -66
- package/src/runtime/app/state/public.d.ts +1 -1
- package/src/runtime/client/bundle.js +1 -1
- package/src/runtime/client/client.js +206 -274
- package/src/runtime/client/fetcher.js +18 -8
- package/src/runtime/client/remote-functions/form.svelte.js +9 -6
- package/src/runtime/client/remote-functions/prerender.svelte.js +1 -1
- package/src/runtime/client/remote-functions/query-live/iterator.js +1 -1
- package/src/runtime/client/remote-functions/shared.svelte.js +2 -2
- package/src/runtime/client/snapshots.js +1 -3
- package/src/runtime/client/stream.js +27 -20
- package/src/runtime/client/utils.js +7 -3
- package/src/runtime/components/root.svelte +5 -5
- package/src/runtime/env/dynamic/private.js +1 -1
- package/src/runtime/env/static/private.js +1 -1
- package/src/runtime/error-chain.js +54 -0
- package/src/runtime/form-utils.js +53 -77
- package/src/runtime/invalid-import.js +1 -0
- package/src/runtime/props.svelte.js +1 -1
- package/src/runtime/server/data/index.js +1 -1
- package/src/runtime/server/endpoint.js +8 -3
- package/src/runtime/server/env_module.js +1 -1
- package/src/runtime/server/errors.js +2 -2
- package/src/runtime/server/index.js +2 -2
- package/src/runtime/server/page/actions.js +77 -122
- package/src/runtime/server/page/index.js +37 -69
- package/src/runtime/server/page/render.js +18 -23
- package/src/runtime/server/remote-functions.js +14 -42
- package/src/runtime/server/respond.js +23 -3
- package/src/telemetry.js +1 -33
- package/src/types/ambient-private.d.ts +9 -17
- package/src/types/internal.d.ts +20 -4
- package/src/types/private.d.ts +1 -1
- package/src/utils/exports.js +1 -0
- package/src/utils/filesystem.js +9 -21
- package/src/utils/functions.js +10 -0
- package/src/utils/routing.js +0 -11
- package/src/utils/url.js +0 -11
- package/src/version.js +1 -1
- package/types/index.d.ts +34 -28
- package/types/index.d.ts.map +7 -5
- package/src/runtime/app/env/private.js +0 -1
- package/src/runtime/app/env/standard-schema.d.ts +0 -0
- package/src/runtime/app/state/client.js +0 -63
- package/src/runtime/client/state.svelte.js +0 -98
- package/src/runtime/server/ambient.d.ts +0 -4
- package/src/utils/path.js +0 -23
|
@@ -94,7 +94,7 @@ export function find_deps(manifest, entry, add_dynamic_css, root) {
|
|
|
94
94
|
imports: Array.from(imports),
|
|
95
95
|
stylesheets: Array.from(stylesheets),
|
|
96
96
|
// TODO do we need this separately?
|
|
97
|
-
fonts: filter_fonts(assets),
|
|
97
|
+
fonts: filter_fonts(assets, manifest, root),
|
|
98
98
|
stylesheet_map
|
|
99
99
|
};
|
|
100
100
|
}
|
|
@@ -116,12 +116,56 @@ export function resolve_symlinks(manifest, file, root) {
|
|
|
116
116
|
return { chunk, file };
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
/** @type {WeakMap<import('vite').Manifest, Map<string, string>>} */
|
|
120
|
+
const source_maps = new WeakMap();
|
|
121
|
+
|
|
119
122
|
/**
|
|
120
123
|
* @param {string[]} assets
|
|
121
|
-
* @
|
|
124
|
+
* @param {import('vite').Manifest} manifest
|
|
125
|
+
* @param {string} root
|
|
126
|
+
* @returns {import('types').FontDependency[]}
|
|
122
127
|
*/
|
|
123
|
-
export function filter_fonts(assets) {
|
|
124
|
-
|
|
128
|
+
export function filter_fonts(assets, manifest, root) {
|
|
129
|
+
let sources = source_maps.get(manifest);
|
|
130
|
+
|
|
131
|
+
if (!sources) {
|
|
132
|
+
sources = new Map();
|
|
133
|
+
source_maps.set(manifest, sources);
|
|
134
|
+
|
|
135
|
+
// identical files are emitted once but can have several sources — keep the first
|
|
136
|
+
for (const key of Object.keys(manifest).sort()) {
|
|
137
|
+
const { file, src } = manifest[key];
|
|
138
|
+
if (src && !sources.has(file)) {
|
|
139
|
+
sources.set(file, src);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return assets
|
|
145
|
+
.filter((asset) => /\.(woff2?|ttf|otf)$/.test(asset))
|
|
146
|
+
.map((file) => {
|
|
147
|
+
const src = sources.get(file) ?? file;
|
|
148
|
+
const marker = '/node_modules/';
|
|
149
|
+
const index = src.lastIndexOf(marker);
|
|
150
|
+
|
|
151
|
+
// Vite follows package manager symlinks when generating the manifest. Prefer the
|
|
152
|
+
// project-local node_modules path when it points to the same file.
|
|
153
|
+
if (index !== -1) {
|
|
154
|
+
const filename = `node_modules/${src.slice(index + marker.length)}`;
|
|
155
|
+
const source = path.resolve(root, src);
|
|
156
|
+
const unresolved = path.resolve(root, filename);
|
|
157
|
+
|
|
158
|
+
if (
|
|
159
|
+
fs.existsSync(source) &&
|
|
160
|
+
fs.existsSync(unresolved) &&
|
|
161
|
+
fs.realpathSync(unresolved) === fs.realpathSync(source)
|
|
162
|
+
) {
|
|
163
|
+
return { file, filename };
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return { file, filename: normalizePath(path.relative(root, path.resolve(root, src))) };
|
|
168
|
+
});
|
|
125
169
|
}
|
|
126
170
|
|
|
127
171
|
/**
|
|
@@ -25,6 +25,9 @@ import { SCHEME } from '../../../utils/url.js';
|
|
|
25
25
|
import { check_feature } from '../../../utils/features.js';
|
|
26
26
|
import { escape_html } from '../../../utils/escape.js';
|
|
27
27
|
import { get_runner } from '../../../runner.js';
|
|
28
|
+
import { write_server } from '../../../core/sync/write_server.js';
|
|
29
|
+
import { write_tsconfig } from '../../../core/sync/write_tsconfig/index.js';
|
|
30
|
+
import create_manifest_data from '../../../core/sync/create_manifest_data/index.js';
|
|
28
31
|
|
|
29
32
|
// vite-specifc queries that we should skip handling for css urls
|
|
30
33
|
const vite_css_query_regex = /(?:\?|&)(?:raw|url|inline)(?:&|$)/;
|
|
@@ -74,7 +77,7 @@ export async function dev(
|
|
|
74
77
|
return fetch(info, init);
|
|
75
78
|
};
|
|
76
79
|
|
|
77
|
-
|
|
80
|
+
write_tsconfig(svelte_config, root);
|
|
78
81
|
|
|
79
82
|
/** @type {ManifestData} */
|
|
80
83
|
let manifest_data;
|
|
@@ -135,7 +138,8 @@ export async function dev(
|
|
|
135
138
|
|
|
136
139
|
async function update_manifest() {
|
|
137
140
|
try {
|
|
138
|
-
|
|
141
|
+
manifest_data = create_manifest_data(svelte_config, root);
|
|
142
|
+
sync.create(svelte_config, root, manifest_data, false);
|
|
139
143
|
set_manifest_data(manifest_data);
|
|
140
144
|
|
|
141
145
|
await load_and_validate_params({
|
|
@@ -172,7 +176,7 @@ export async function dev(
|
|
|
172
176
|
_: {
|
|
173
177
|
client: {
|
|
174
178
|
start: `${get_runtime_base(root)}/client/entry.js`,
|
|
175
|
-
app: `${to_fs(svelte_config.outDir)}/generated/client/app.js`,
|
|
179
|
+
app: `${to_fs(svelte_config.outDir)}/generated/dev/client/app.js`,
|
|
176
180
|
imports: [],
|
|
177
181
|
stylesheets: [],
|
|
178
182
|
fonts: [],
|
|
@@ -182,7 +186,7 @@ export async function dev(
|
|
|
182
186
|
? undefined
|
|
183
187
|
: manifest_data.nodes.map((node, i) => {
|
|
184
188
|
if (node.component || node.universal) {
|
|
185
|
-
return `${svelte_config.paths.base}${to_fs(svelte_config.outDir)}/generated/client/nodes/${i}.js`;
|
|
189
|
+
return `${svelte_config.paths.base}${to_fs(svelte_config.outDir)}/generated/dev/client/nodes/${i}.js`;
|
|
186
190
|
}
|
|
187
191
|
}),
|
|
188
192
|
// `css` is not necessary in dev, as the JS file from `nodes` will reference the CSS file
|
|
@@ -450,7 +454,7 @@ export async function dev(
|
|
|
450
454
|
file.startsWith(serviceWorker) ||
|
|
451
455
|
file.startsWith(hooks.server)
|
|
452
456
|
) {
|
|
453
|
-
|
|
457
|
+
write_server(svelte_config, path.join(svelte_config.outDir, 'generated', 'dev'), root);
|
|
454
458
|
}
|
|
455
459
|
});
|
|
456
460
|
|
|
@@ -593,7 +597,8 @@ export async function dev(
|
|
|
593
597
|
|
|
594
598
|
const request = getRequest({
|
|
595
599
|
base,
|
|
596
|
-
request: req
|
|
600
|
+
request: req,
|
|
601
|
+
response: res
|
|
597
602
|
});
|
|
598
603
|
|
|
599
604
|
if (manifest_error) {
|
|
@@ -736,19 +741,3 @@ function has_correct_case(file, assets) {
|
|
|
736
741
|
|
|
737
742
|
return false;
|
|
738
743
|
}
|
|
739
|
-
|
|
740
|
-
/**
|
|
741
|
-
* Invalidates a module in all environments.
|
|
742
|
-
* @param {ViteDevServer} server
|
|
743
|
-
* @param {string} id
|
|
744
|
-
* @returns {void}
|
|
745
|
-
*/
|
|
746
|
-
export function invalidate_module(server, id) {
|
|
747
|
-
for (const environment in server.environments) {
|
|
748
|
-
const module = server.environments[environment].moduleGraph.getModuleById(id);
|
|
749
|
-
if (module) {
|
|
750
|
-
server.environments[environment].moduleGraph.invalidateModule(module);
|
|
751
|
-
void server.environments[environment].reloadModule(module);
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
}
|