crelte 0.5.14 → 0.6.0-alpha.1
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/blocks/Blocks.svelte +5 -4
- package/dist/blocks/Blocks.svelte.d.ts +4 -19
- package/dist/blocks/Blocks.svelte.d.ts.map +1 -1
- package/dist/crelte.d.ts +2 -2
- package/dist/crelte.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/init/InternalApp.d.ts.map +1 -1
- package/dist/init/InternalApp.js +2 -2
- package/dist/init/server.js +4 -4
- package/dist/loadData/loadData.d.ts +1 -1
- package/dist/loadData/loadData.d.ts.map +1 -1
- package/dist/queries/Queries.d.ts +9 -26
- package/dist/queries/Queries.d.ts.map +1 -1
- package/dist/queries/Queries.js +10 -20
- package/dist/queries/gql.d.ts +2 -2
- package/dist/queries/gql.d.ts.map +1 -1
- package/dist/queries/gql.js +3 -2
- package/dist/queries/index.d.ts +13 -13
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +2 -2
- package/dist/queries/vars.d.ts +3 -3
- package/dist/queries/vars.d.ts.map +1 -1
- package/dist/queries/vars.js +3 -3
- package/dist/routing/route/BaseRoute.d.ts.map +1 -1
- package/dist/routing/router/ClientRouter.d.ts.map +1 -1
- package/dist/routing/router/ClientRouter.js +3 -2
- package/dist/server/CrelteServer.d.ts +1 -1
- package/dist/server/CrelteServer.d.ts.map +1 -1
- package/dist/server/Request.d.ts +2 -2
- package/dist/server/Request.js +2 -2
- package/dist/server/ServerRouter.d.ts +1 -1
- package/dist/server/ServerRouter.d.ts.map +1 -1
- package/dist/server/queries/QueriesCaching.d.ts +0 -1
- package/dist/server/queries/QueriesCaching.d.ts.map +1 -1
- package/dist/server/queries/QueriesCaching.js +0 -2
- package/dist/server/queries/QueryGqlRoute.d.ts +2 -0
- package/dist/server/queries/QueryGqlRoute.d.ts.map +1 -1
- package/dist/server/queries/QueryGqlRoute.js +16 -5
- package/dist/server/queries/QueryHandleRoute.d.ts +1 -2
- package/dist/server/queries/QueryHandleRoute.d.ts.map +1 -1
- package/dist/server/queries/QueryHandleRoute.js +2 -2
- package/dist/server/queries/queries.d.ts.map +1 -1
- package/dist/server/queries/queries.js +2 -1
- package/dist/server/queries/routes.d.ts +3 -4
- package/dist/server/queries/routes.d.ts.map +1 -1
- package/dist/server/queries/routes.js +3 -3
- package/dist/server/shared.d.ts +3 -3
- package/dist/server/shared.d.ts.map +1 -1
- package/dist/server/shared.js +6 -6
- package/dist/ssr/SsrCache.d.ts +2 -2
- package/dist/ssr/SsrCache.d.ts.map +1 -1
- package/dist/ssr/SsrCache.js +10 -16
- package/dist/static/index.d.ts +1 -1
- package/dist/std/encdec/escaping.d.ts +2 -0
- package/dist/std/encdec/escaping.d.ts.map +1 -0
- package/dist/std/encdec/escaping.js +41 -0
- package/dist/std/encdec/index.d.ts +13 -0
- package/dist/std/encdec/index.d.ts.map +1 -0
- package/dist/std/encdec/index.js +15 -0
- package/dist/std/index.d.ts.map +1 -1
- package/dist/translations/index.d.ts +2 -2
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/translationsPlugin.d.ts +4 -1
- package/dist/translations/translationsPlugin.d.ts.map +1 -1
- package/dist/translations/translationsPlugin.js +32 -2
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +17 -0
- package/dist/vite/index.d.ts +1 -5
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +35 -76
- package/package.json +12 -7
- package/src/blocks/Blocks.svelte +4 -3
- package/src/crelte.ts +2 -2
- package/src/index.ts +2 -2
- package/src/init/InternalApp.ts +3 -4
- package/src/init/server.ts +4 -4
- package/src/loadData/loadData.ts +0 -2
- package/src/queries/Queries.ts +19 -35
- package/src/queries/gql.ts +7 -3
- package/src/queries/index.ts +19 -16
- package/src/queries/vars.ts +5 -7
- package/src/routing/route/BaseRoute.ts +1 -7
- package/src/routing/router/ClientRouter.ts +3 -1
- package/src/server/CrelteServer.ts +1 -1
- package/src/server/Request.ts +2 -2
- package/src/server/ServerRouter.ts +1 -1
- package/src/server/queries/QueriesCaching.ts +0 -2
- package/src/server/queries/QueryGqlRoute.ts +17 -10
- package/src/server/queries/QueryHandleRoute.ts +2 -6
- package/src/server/queries/queries.ts +2 -3
- package/src/server/queries/routes.ts +9 -6
- package/src/server/shared.ts +8 -8
- package/src/ssr/SsrCache.ts +13 -23
- package/src/static/index.ts +1 -1
- package/src/std/encdec/escaping.ts +47 -0
- package/src/std/encdec/index.ts +16 -0
- package/src/std/index.ts +1 -6
- package/src/translations/index.ts +2 -0
- package/src/translations/translationsPlugin.ts +46 -3
- package/src/utils.ts +21 -0
- package/src/vite/index.ts +40 -85
- package/types.d.ts +1 -1
package/src/vite/index.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { relative } from 'node:path';
|
|
2
|
-
import MagicString from 'magic-string';
|
|
3
2
|
import {
|
|
4
3
|
ConfigEnv,
|
|
5
4
|
Plugin,
|
|
@@ -19,7 +18,6 @@ import {
|
|
|
19
18
|
modRenderError,
|
|
20
19
|
} from '../server/shared.js';
|
|
21
20
|
import ServerRouter from '../server/ServerRouter.js';
|
|
22
|
-
import sveltePackage from 'svelte/package.json' with { type: 'json' };
|
|
23
21
|
import { initQueryRoutes } from '../server/queries/queries.js';
|
|
24
22
|
import {
|
|
25
23
|
PLATFORM,
|
|
@@ -29,6 +27,11 @@ import {
|
|
|
29
27
|
import { SiteFromGraphQl } from '../routing/Site.js';
|
|
30
28
|
import { ServerResponse } from 'node:http';
|
|
31
29
|
import QueryError from '../queries/QueryError.js';
|
|
30
|
+
import {
|
|
31
|
+
CodeTransform,
|
|
32
|
+
generateTransform,
|
|
33
|
+
rolldownString,
|
|
34
|
+
} from 'rolldown-string';
|
|
32
35
|
|
|
33
36
|
const VIRT_MOD_ID = 'virtual:crelte/svelteComponents';
|
|
34
37
|
const RESOLVED_VIRT_MOD_ID = '\0' + VIRT_MOD_ID;
|
|
@@ -45,43 +48,33 @@ function usedSsrComponents(
|
|
|
45
48
|
code: string,
|
|
46
49
|
id: string,
|
|
47
50
|
options: { ssr?: boolean } | undefined,
|
|
48
|
-
|
|
49
|
-
): TransformResult | undefined {
|
|
51
|
+
): CodeTransform | undefined {
|
|
50
52
|
if (!options?.ssr || !id.endsWith('.svelte')) return;
|
|
51
53
|
|
|
52
54
|
const file = relative('.', id);
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
idx = code.indexOf(defFnSign);
|
|
58
|
-
if (idx < 0) return;
|
|
59
|
-
|
|
60
|
-
const withPropsIdx = code.indexOf('($$renderer, $$props) {', idx);
|
|
61
|
-
const noPropsIdx = code.indexOf('($$renderer) {', idx);
|
|
62
|
-
idx = withPropsIdx >= 0 ? withPropsIdx : noPropsIdx;
|
|
63
|
-
if (idx < 0) {
|
|
64
|
-
console.error('could not find svelte5 init', id);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
56
|
+
const defFnSign = 'export default function ';
|
|
57
|
+
let idx = code.indexOf(defFnSign);
|
|
58
|
+
if (idx < 0) return;
|
|
67
59
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (idx < 0) return;
|
|
75
|
-
idx += 1; // \n
|
|
76
|
-
} else {
|
|
77
|
-
const initFnSign =
|
|
78
|
-
'create_ssr_component(($$result, $$props, $$bindings, slots) => {';
|
|
79
|
-
idx = code.indexOf(initFnSign);
|
|
80
|
-
if (idx < 0) return;
|
|
81
|
-
idx += initFnSign.length;
|
|
60
|
+
const withPropsIdx = code.indexOf('($$renderer, $$props) {', idx);
|
|
61
|
+
const noPropsIdx = code.indexOf('($$renderer) {', idx);
|
|
62
|
+
idx = withPropsIdx >= 0 ? withPropsIdx : noPropsIdx;
|
|
63
|
+
if (idx < 0) {
|
|
64
|
+
console.error('could not find svelte5 init', id);
|
|
65
|
+
return;
|
|
82
66
|
}
|
|
83
67
|
|
|
84
|
-
const
|
|
68
|
+
const renderCompSign = '$$renderer.component(($$renderer) => {';
|
|
69
|
+
const renderCompIdx = code.indexOf(renderCompSign, idx);
|
|
70
|
+
if (renderCompIdx >= 0) idx = renderCompIdx;
|
|
71
|
+
|
|
72
|
+
// Find the end of the line where the pattern was found
|
|
73
|
+
idx = code.indexOf('\n', idx);
|
|
74
|
+
if (idx < 0) return;
|
|
75
|
+
idx += 1; // \n
|
|
76
|
+
|
|
77
|
+
const s = rolldownString(code, id, options);
|
|
85
78
|
|
|
86
79
|
s.prepend(`import { getContext as __modulesGetContext } from 'svelte';\n`);
|
|
87
80
|
|
|
@@ -95,14 +88,7 @@ if (ctx && ctx instanceof Set) {
|
|
|
95
88
|
`;
|
|
96
89
|
s.appendLeft(idx, ctxAdd);
|
|
97
90
|
|
|
98
|
-
return
|
|
99
|
-
map: s.generateMap({
|
|
100
|
-
source: id,
|
|
101
|
-
includeContent: true,
|
|
102
|
-
hires: 'boundary',
|
|
103
|
-
}),
|
|
104
|
-
code: s.toString(),
|
|
105
|
-
};
|
|
91
|
+
return generateTransform(s, id);
|
|
106
92
|
}
|
|
107
93
|
|
|
108
94
|
// transform graphql files into a GraphQlQuery which can called with
|
|
@@ -121,9 +107,7 @@ function graphQlFiles(
|
|
|
121
107
|
|
|
122
108
|
if (!ssr) {
|
|
123
109
|
return `
|
|
124
|
-
export default {
|
|
125
|
-
queryName: ${JSON.stringify(name)}
|
|
126
|
-
};
|
|
110
|
+
export default ${JSON.stringify(name)};
|
|
127
111
|
`;
|
|
128
112
|
}
|
|
129
113
|
|
|
@@ -132,9 +116,7 @@ export default {
|
|
|
132
116
|
.replace(/\u2029/g, '\\u2029');
|
|
133
117
|
|
|
134
118
|
return `
|
|
135
|
-
export default {
|
|
136
|
-
queryName: ${JSON.stringify(name)}
|
|
137
|
-
};
|
|
119
|
+
export default ${JSON.stringify(name)};
|
|
138
120
|
|
|
139
121
|
export const query = {
|
|
140
122
|
path: ${JSON.stringify(path)},
|
|
@@ -143,30 +125,14 @@ export const query = {
|
|
|
143
125
|
`;
|
|
144
126
|
}
|
|
145
127
|
|
|
146
|
-
function isSvelte5(): boolean {
|
|
147
|
-
if (sveltePackage && sveltePackage.version) {
|
|
148
|
-
return sveltePackage.version.startsWith('5.');
|
|
149
|
-
}
|
|
150
|
-
// Fallback or error handling if version cannot be determined
|
|
151
|
-
console.warn('Could not determine Svelte version. Assuming not Svelte 5.');
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
128
|
// outside of crelte because each build executes crelte again
|
|
156
129
|
let isSsrBuild = false;
|
|
157
130
|
|
|
158
|
-
export
|
|
159
|
-
/** If not specified tries to detect which version is installed */
|
|
160
|
-
svelte4?: boolean;
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
export default function crelte(opts?: CrelteOptions): Plugin {
|
|
131
|
+
export default function crelte(): Plugin {
|
|
164
132
|
let viteConfig: ResolvedConfig;
|
|
165
133
|
let viteConfigEnv: ConfigEnv;
|
|
166
134
|
let initialConfig: UserConfig;
|
|
167
135
|
|
|
168
|
-
const svelte5 = opts?.svelte4 ? false : isSvelte5();
|
|
169
|
-
|
|
170
136
|
return {
|
|
171
137
|
name: 'crelte',
|
|
172
138
|
|
|
@@ -229,33 +195,22 @@ export default function crelte(opts?: CrelteOptions): Plugin {
|
|
|
229
195
|
}
|
|
230
196
|
|
|
231
197
|
if (id === RESOLVED_VIRT_MOD_ID) {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
);
|
|
243
|
-
} else {
|
|
244
|
-
return (
|
|
245
|
-
`export function internalSvelteMount(comp, options) {` +
|
|
246
|
-
`return new comp({ ...options, hydrate: true });` +
|
|
247
|
-
`}` +
|
|
248
|
-
`export function internalSvelteRender(comp, options) {` +
|
|
249
|
-
`return comp.render(options.props, options);` +
|
|
250
|
-
`}`
|
|
251
|
-
);
|
|
252
|
-
}
|
|
198
|
+
return (
|
|
199
|
+
`import { hydrate } from 'svelte';` +
|
|
200
|
+
`import { render } from 'svelte/server';` +
|
|
201
|
+
`export function internalSvelteMount(comp, options) {` +
|
|
202
|
+
`return hydrate(comp, options);` +
|
|
203
|
+
`}` +
|
|
204
|
+
`export function internalSvelteRender(comp, options) {` +
|
|
205
|
+
`return render(comp, options);` +
|
|
206
|
+
`}`
|
|
207
|
+
);
|
|
253
208
|
}
|
|
254
209
|
},
|
|
255
210
|
|
|
256
211
|
transform(code, id, options) {
|
|
257
212
|
return (
|
|
258
|
-
usedSsrComponents(code, id, options
|
|
213
|
+
usedSsrComponents(code, id, options) ||
|
|
259
214
|
graphQlFiles(code, id, !!options?.ssr)
|
|
260
215
|
);
|
|
261
216
|
},
|
package/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ declare module '*.graphql' {
|
|
|
2
2
|
// todo this would be a GraphQL query object
|
|
3
3
|
// but node doesn't import GraphQl and the type might change?
|
|
4
4
|
// this just removes the anoying typescript error
|
|
5
|
-
const value:
|
|
5
|
+
const value: string;
|
|
6
6
|
export default value;
|
|
7
7
|
|
|
8
8
|
export const query: {
|