@sveltejs/kit 1.0.0-next.55 → 1.0.0-next.550

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.
Files changed (128) hide show
  1. package/README.md +5 -2
  2. package/package.json +93 -67
  3. package/postinstall.js +47 -0
  4. package/scripts/special-types/$env+dynamic+private.md +10 -0
  5. package/scripts/special-types/$env+dynamic+public.md +8 -0
  6. package/scripts/special-types/$env+static+private.md +19 -0
  7. package/scripts/special-types/$env+static+public.md +7 -0
  8. package/scripts/special-types/$lib.md +5 -0
  9. package/src/cli.js +108 -0
  10. package/src/constants.js +5 -0
  11. package/src/core/adapt/builder.js +212 -0
  12. package/src/core/adapt/index.js +31 -0
  13. package/src/core/config/default-error.html +56 -0
  14. package/src/core/config/index.js +110 -0
  15. package/src/core/config/options.js +516 -0
  16. package/src/core/config/types.d.ts +1 -0
  17. package/src/core/env.js +121 -0
  18. package/src/core/generate_manifest/index.js +125 -0
  19. package/src/core/prerender/crawl.js +207 -0
  20. package/src/core/prerender/entities.js +2252 -0
  21. package/src/core/prerender/prerender.js +460 -0
  22. package/src/core/prerender/queue.js +80 -0
  23. package/src/core/sync/create_manifest_data/conflict.js +0 -0
  24. package/src/core/sync/create_manifest_data/index.js +513 -0
  25. package/src/core/sync/create_manifest_data/sort.js +161 -0
  26. package/src/core/sync/create_manifest_data/types.d.ts +37 -0
  27. package/src/core/sync/sync.js +78 -0
  28. package/src/core/sync/utils.js +33 -0
  29. package/src/core/sync/write_ambient.js +53 -0
  30. package/src/core/sync/write_client_manifest.js +106 -0
  31. package/src/core/sync/write_matchers.js +25 -0
  32. package/src/core/sync/write_root.js +91 -0
  33. package/src/core/sync/write_tsconfig.js +195 -0
  34. package/src/core/sync/write_types/index.js +809 -0
  35. package/src/core/utils.js +67 -0
  36. package/src/exports/hooks/index.js +1 -0
  37. package/src/exports/hooks/sequence.js +44 -0
  38. package/src/exports/index.js +45 -0
  39. package/src/exports/node/index.js +172 -0
  40. package/src/exports/node/polyfills.js +28 -0
  41. package/src/exports/vite/build/build_server.js +384 -0
  42. package/src/exports/vite/build/build_service_worker.js +92 -0
  43. package/src/exports/vite/build/utils.js +195 -0
  44. package/src/exports/vite/dev/index.js +588 -0
  45. package/src/exports/vite/graph_analysis/index.js +107 -0
  46. package/src/exports/vite/graph_analysis/types.d.ts +5 -0
  47. package/src/exports/vite/graph_analysis/utils.js +6 -0
  48. package/src/exports/vite/index.js +651 -0
  49. package/src/exports/vite/preview/index.js +193 -0
  50. package/src/exports/vite/types.d.ts +3 -0
  51. package/src/exports/vite/utils.js +171 -0
  52. package/src/runtime/app/env.js +1 -0
  53. package/src/runtime/app/environment.js +11 -0
  54. package/src/runtime/app/forms.js +141 -0
  55. package/src/runtime/app/navigation.js +23 -0
  56. package/src/runtime/app/paths.js +1 -0
  57. package/src/runtime/app/stores.js +102 -0
  58. package/src/runtime/client/ambient.d.ts +30 -0
  59. package/src/runtime/client/client.js +1726 -0
  60. package/src/runtime/client/fetcher.js +121 -0
  61. package/src/runtime/client/parse.js +60 -0
  62. package/src/runtime/client/singletons.js +21 -0
  63. package/src/runtime/client/start.js +43 -0
  64. package/src/runtime/client/types.d.ts +84 -0
  65. package/src/runtime/client/utils.js +166 -0
  66. package/src/runtime/components/error.svelte +16 -0
  67. package/{assets → src/runtime}/components/layout.svelte +0 -0
  68. package/src/runtime/control.js +98 -0
  69. package/src/runtime/env/dynamic/private.js +1 -0
  70. package/src/runtime/env/dynamic/public.js +1 -0
  71. package/src/runtime/env-private.js +6 -0
  72. package/src/runtime/env-public.js +6 -0
  73. package/src/runtime/env.js +6 -0
  74. package/src/runtime/hash.js +20 -0
  75. package/src/runtime/paths.js +11 -0
  76. package/src/runtime/server/cookie.js +231 -0
  77. package/src/runtime/server/data/index.js +144 -0
  78. package/src/runtime/server/endpoint.js +89 -0
  79. package/src/runtime/server/fetch.js +164 -0
  80. package/src/runtime/server/index.js +375 -0
  81. package/src/runtime/server/page/actions.js +258 -0
  82. package/src/runtime/server/page/crypto.js +239 -0
  83. package/src/runtime/server/page/csp.js +250 -0
  84. package/src/runtime/server/page/index.js +303 -0
  85. package/src/runtime/server/page/load_data.js +258 -0
  86. package/src/runtime/server/page/render.js +391 -0
  87. package/src/runtime/server/page/respond_with_error.js +102 -0
  88. package/src/runtime/server/page/serialize_data.js +87 -0
  89. package/src/runtime/server/page/types.d.ts +35 -0
  90. package/src/runtime/server/utils.js +205 -0
  91. package/src/utils/array.js +9 -0
  92. package/src/utils/error.js +22 -0
  93. package/src/utils/escape.js +46 -0
  94. package/src/utils/filesystem.js +166 -0
  95. package/src/utils/functions.js +16 -0
  96. package/src/utils/http.js +72 -0
  97. package/src/utils/misc.js +1 -0
  98. package/src/utils/promises.js +17 -0
  99. package/src/utils/routing.js +168 -0
  100. package/src/utils/unit_test.js +11 -0
  101. package/src/utils/url.js +159 -0
  102. package/svelte-kit.js +1 -1
  103. package/types/ambient.d.ts +469 -0
  104. package/types/index.d.ts +775 -0
  105. package/types/internal.d.ts +381 -0
  106. package/types/private.d.ts +229 -0
  107. package/CHANGELOG.md +0 -519
  108. package/assets/components/error.svelte +0 -13
  109. package/assets/runtime/app/env.js +0 -5
  110. package/assets/runtime/app/navigation.js +0 -48
  111. package/assets/runtime/app/paths.js +0 -1
  112. package/assets/runtime/app/stores.js +0 -93
  113. package/assets/runtime/chunks/utils.js +0 -22
  114. package/assets/runtime/internal/singletons.js +0 -23
  115. package/assets/runtime/internal/start.js +0 -823
  116. package/assets/runtime/paths.js +0 -12
  117. package/dist/chunks/index.js +0 -3544
  118. package/dist/chunks/index2.js +0 -572
  119. package/dist/chunks/index3.js +0 -246
  120. package/dist/chunks/index4.js +0 -569
  121. package/dist/chunks/index5.js +0 -751
  122. package/dist/chunks/index6.js +0 -323
  123. package/dist/chunks/standard.js +0 -99
  124. package/dist/chunks/utils.js +0 -83
  125. package/dist/cli.js +0 -558
  126. package/dist/ssr.js +0 -2620
  127. package/types.d.ts +0 -74
  128. package/types.internal.d.ts +0 -237
@@ -1,246 +0,0 @@
1
- function read_only_form_data() {
2
- /** @type {Map<string, string[]>} */
3
- const map = new Map();
4
-
5
- return {
6
- /**
7
- * @param {string} key
8
- * @param {string} value
9
- */
10
- append(key, value) {
11
- if (map.has(key)) {
12
- map.get(key).push(value);
13
- } else {
14
- map.set(key, [value]);
15
- }
16
- },
17
-
18
- data: new ReadOnlyFormData(map)
19
- };
20
- }
21
-
22
- class ReadOnlyFormData {
23
- /** @type {Map<string, string[]>} */
24
- #map;
25
-
26
- /** @param {Map<string, string[]>} map */
27
- constructor(map) {
28
- this.#map = map;
29
- }
30
-
31
- /** @param {string} key */
32
- get(key) {
33
- const value = this.#map.get(key);
34
- return value && value[0];
35
- }
36
-
37
- /** @param {string} key */
38
- getAll(key) {
39
- return this.#map.get(key);
40
- }
41
-
42
- /** @param {string} key */
43
- has(key) {
44
- return this.#map.has(key);
45
- }
46
-
47
- *[Symbol.iterator]() {
48
- for (const [key, value] of this.#map) {
49
- for (let i = 0; i < value.length; i += 1) {
50
- yield [key, value[i]];
51
- }
52
- }
53
- }
54
-
55
- *entries() {
56
- for (const [key, value] of this.#map) {
57
- for (let i = 0; i < value.length; i += 1) {
58
- yield [key, value[i]];
59
- }
60
- }
61
- }
62
-
63
- *keys() {
64
- for (const [key, value] of this.#map) {
65
- for (let i = 0; i < value.length; i += 1) {
66
- yield key;
67
- }
68
- }
69
- }
70
-
71
- *values() {
72
- for (const [, value] of this.#map) {
73
- for (let i = 0; i < value.length; i += 1) {
74
- yield value;
75
- }
76
- }
77
- }
78
- }
79
-
80
- /** @param {import('http').IncomingMessage} req */
81
- function get_body(req) {
82
- const headers = req.headers;
83
- const has_body =
84
- headers['content-type'] !== undefined &&
85
- // https://github.com/jshttp/type-is/blob/c1f4388c71c8a01f79934e68f630ca4a15fffcd6/index.js#L81-L95
86
- (headers['transfer-encoding'] !== undefined || !isNaN(Number(headers['content-length'])));
87
-
88
- if (!has_body) return Promise.resolve(undefined);
89
-
90
- const [type, ...directives] = headers['content-type'].split(/;\s*/);
91
-
92
- switch (type) {
93
- case 'application/octet-stream':
94
- return get_buffer(req);
95
-
96
- case 'text/plain':
97
- return get_text(req);
98
-
99
- case 'application/json':
100
- return get_json(req);
101
-
102
- case 'application/x-www-form-urlencoded':
103
- return get_urlencoded(req);
104
-
105
- case 'multipart/form-data': {
106
- const boundary = directives.find((directive) => directive.startsWith('boundary='));
107
- if (!boundary) throw new Error('Missing boundary');
108
- return get_multipart(req, boundary.slice('boundary='.length));
109
- }
110
- default:
111
- throw new Error(`Invalid Content-Type ${type}`);
112
- }
113
- }
114
-
115
- /** @param {import('http').IncomingMessage} req */
116
- async function get_json(req) {
117
- return JSON.parse(await get_text(req));
118
- }
119
-
120
- /** @param {import('http').IncomingMessage} req */
121
- async function get_urlencoded(req) {
122
- const text = await get_text(req);
123
-
124
- const { data, append } = read_only_form_data();
125
-
126
- text
127
- .replace(/\+/g, ' ')
128
- .split('&')
129
- .forEach((str) => {
130
- const [key, value] = str.split('=');
131
- append(decodeURIComponent(key), decodeURIComponent(value));
132
- });
133
-
134
- return data;
135
- }
136
-
137
- /**
138
- * @param {import('http').IncomingMessage} req
139
- * @param {string} boundary
140
- */
141
- async function get_multipart(req, boundary) {
142
- const text = await get_text(req);
143
- const parts = text.split(`--${boundary}`);
144
-
145
- const nope = () => {
146
- throw new Error('Malformed form data');
147
- };
148
-
149
- if (parts[0] !== '' || parts[parts.length - 1].trim() !== '--') {
150
- nope();
151
- }
152
-
153
- const { data, append } = read_only_form_data();
154
-
155
- parts.slice(1, -1).forEach((part) => {
156
- const match = /\s*([\s\S]+?)\r\n\r\n([\s\S]*)\s*/.exec(part);
157
- const raw_headers = match[1];
158
- const body = match[2].trim();
159
-
160
- let key;
161
- raw_headers.split('\r\n').forEach((str) => {
162
- const [raw_header, ...raw_directives] = str.split('; ');
163
- let [name, value] = raw_header.split(': ');
164
-
165
- name = name.toLowerCase();
166
-
167
- /** @type {Record<string, string>} */
168
- const directives = {};
169
- raw_directives.forEach((raw_directive) => {
170
- const [name, value] = raw_directive.split('=');
171
- directives[name] = JSON.parse(value); // TODO is this right?
172
- });
173
-
174
- if (name === 'content-disposition') {
175
- if (value !== 'form-data') nope();
176
-
177
- if (directives.filename) {
178
- // TODO we probably don't want to do this automatically
179
- throw new Error('File upload is not yet implemented');
180
- }
181
-
182
- if (directives.name) {
183
- key = directives.name;
184
- }
185
- }
186
- });
187
-
188
- if (!key) nope();
189
-
190
- append(key, body);
191
- });
192
-
193
- return data;
194
- }
195
-
196
- /**
197
- * @param {import('http').IncomingMessage} req
198
- * @returns {Promise<string>}
199
- */
200
- function get_text(req) {
201
- return new Promise((fulfil, reject) => {
202
- let data = '';
203
-
204
- req.on('error', reject);
205
-
206
- req.on('data', (chunk) => {
207
- data += chunk;
208
- });
209
-
210
- req.on('end', () => {
211
- fulfil(data);
212
- });
213
- });
214
- }
215
-
216
- /**
217
- * @param {import('http').IncomingMessage} req
218
- * @returns {Promise<ArrayBuffer>}
219
- */
220
- function get_buffer(req) {
221
- return new Promise((fulfil, reject) => {
222
- let data = new Uint8Array(0);
223
-
224
- req.on('error', reject);
225
-
226
- req.on('data', (chunk) => {
227
- const new_data = new Uint8Array(data.length + chunk.length);
228
-
229
- for (let i = 0; i < data.length; i += 1) {
230
- new_data[i] = data[i];
231
- }
232
-
233
- for (let i = 0; i < chunk.length; i += 1) {
234
- new_data[i + data.length] = chunk[i];
235
- }
236
-
237
- data = new_data;
238
- });
239
-
240
- req.on('end', () => {
241
- fulfil(data.buffer);
242
- });
243
- });
244
- }
245
-
246
- export { get_body as g };