@nordcraft/ssr 1.0.97 → 2.0.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.
@@ -0,0 +1,415 @@
1
+ import { valueFormula } from '@nordcraft/core/dist/formula/formulaUtils';
2
+ import { describe, expect, test } from 'bun:test';
3
+ import { getServerToddleObject, serverEnv } from '../rendering/formulaContext';
4
+ import { getRouteDestination, matchPageForUrl, matchRouteForUrl, } from './routing';
5
+ describe('matchPageForUrl', () => {
6
+ test('it finds the correct page for a url', () => {
7
+ const searchPage = {
8
+ name: 'searchPage',
9
+ route: { path: [{ type: 'static', name: 'search' }], query: {} },
10
+ };
11
+ const categoryPage = {
12
+ name: 'categoryPage',
13
+ route: {
14
+ path: [{ type: 'param', name: 'category', testValue: 'fruit' }],
15
+ query: {},
16
+ },
17
+ };
18
+ const docsPage = {
19
+ name: 'docsPage',
20
+ route: {
21
+ path: [
22
+ { type: 'static', name: 'docs' },
23
+ { type: 'param', testValue: '', name: 'docs-page' },
24
+ ],
25
+ query: {},
26
+ },
27
+ };
28
+ const helloPage = {
29
+ name: 'helloPage',
30
+ route: {
31
+ path: [
32
+ { type: 'param', name: 'test', testValue: '' },
33
+ { type: 'static', name: 'hello' },
34
+ ],
35
+ query: {},
36
+ },
37
+ };
38
+ const otherPage = {
39
+ name: 'otherPage',
40
+ route: {
41
+ path: [
42
+ { type: 'param', name: 'other', testValue: '' },
43
+ { type: 'param', name: 'page', testValue: '' },
44
+ ],
45
+ query: {},
46
+ },
47
+ };
48
+ const pages = [searchPage, categoryPage, docsPage, helloPage, otherPage];
49
+ const searchUrl = new URL('http://localhost:3000/search');
50
+ expect(matchPageForUrl({ url: searchUrl, pages })).toEqual({
51
+ name: 'searchPage',
52
+ route: searchPage,
53
+ });
54
+ const categoryUrl = new URL('http://localhost:3000/fruit');
55
+ expect(matchPageForUrl({ url: categoryUrl, pages })).toEqual({
56
+ name: 'categoryPage',
57
+ route: categoryPage,
58
+ });
59
+ const docsUrl = new URL('http://localhost:3000/docs/intro');
60
+ expect(matchPageForUrl({ url: docsUrl, pages })).toEqual({
61
+ name: 'docsPage',
62
+ route: docsPage,
63
+ });
64
+ const helloUrl = new URL('http://localhost:3000/bla/hello');
65
+ expect(matchPageForUrl({ url: helloUrl, pages })).toEqual({
66
+ name: 'helloPage',
67
+ route: helloPage,
68
+ });
69
+ const otherUrl = new URL('http://localhost:3000/hello/world');
70
+ expect(matchPageForUrl({ url: otherUrl, pages })).toEqual({
71
+ name: 'otherPage',
72
+ route: otherPage,
73
+ });
74
+ });
75
+ test('it prefers static path segments in urls', () => {
76
+ const otherPage = {
77
+ name: 'otherPage',
78
+ route: {
79
+ path: [
80
+ // /:other/:page
81
+ { type: 'param', name: 'other', testValue: '' },
82
+ { type: 'param', name: 'page', testValue: '' },
83
+ ],
84
+ query: {},
85
+ },
86
+ };
87
+ const guidesPage = {
88
+ name: 'guidesPage',
89
+ route: {
90
+ path: [
91
+ // /guides/:p1/:p2
92
+ { type: 'static', name: 'guides' },
93
+ { type: 'param', name: 'p1', testValue: '' },
94
+ { type: 'param', name: 'p2', testValue: '' },
95
+ ],
96
+ query: {},
97
+ },
98
+ };
99
+ const pages = [otherPage, guidesPage];
100
+ const guidesUrl = new URL('http://localhost:3000/guides/category/explore');
101
+ expect(matchPageForUrl({ url: guidesUrl, pages })).toEqual({
102
+ name: 'guidesPage',
103
+ route: guidesPage,
104
+ });
105
+ const guidesUrl2 = new URL('http://localhost:3000/guides');
106
+ expect(matchPageForUrl({ url: guidesUrl2, pages })).toEqual({
107
+ name: 'guidesPage',
108
+ route: guidesPage,
109
+ });
110
+ const guidesUrl3 = new URL('http://localhost:3000/test');
111
+ expect(matchPageForUrl({ url: guidesUrl3, pages })).toEqual({
112
+ name: 'otherPage',
113
+ route: otherPage,
114
+ });
115
+ const guidesUrl4 = new URL('http://localhost:3000/test/hello');
116
+ expect(matchPageForUrl({ url: guidesUrl4, pages })).toEqual({
117
+ name: 'otherPage',
118
+ route: otherPage,
119
+ });
120
+ const guidesUrl5 = new URL('http://localhost:3000/test/hello/world');
121
+ expect(matchPageForUrl({ url: guidesUrl5, pages })).toBeUndefined();
122
+ });
123
+ test('it does not find a match for unknown paths', () => {
124
+ const pages = [
125
+ {
126
+ name: 'otherPage',
127
+ route: {
128
+ path: [{ type: 'static', name: 'search' }],
129
+ query: {},
130
+ },
131
+ },
132
+ {
133
+ name: 'guidesPage',
134
+ route: {
135
+ path: [
136
+ // /:other/page
137
+ { type: 'param', name: 'other', testValue: '' },
138
+ { type: 'static', name: 'page' },
139
+ ],
140
+ query: {},
141
+ },
142
+ },
143
+ ];
144
+ const categoryUrl = new URL('http://localhost:3000/fruit');
145
+ expect(matchPageForUrl({ url: categoryUrl, pages })).toBeUndefined();
146
+ const docsUrl = new URL('http://localhost:3000/docs/intro/help');
147
+ expect(matchPageForUrl({ url: docsUrl, pages })).toBeUndefined();
148
+ });
149
+ });
150
+ describe('matchRouteForUrl', () => {
151
+ test('it finds the correct route for a url', () => {
152
+ const routes = {
153
+ testRedirect: {
154
+ type: 'redirect',
155
+ source: {
156
+ path: [
157
+ { type: 'static', name: 'not-docs' },
158
+ { type: 'param', testValue: '', name: 'slug' },
159
+ ],
160
+ query: {},
161
+ },
162
+ destination: {
163
+ url: { type: 'value', value: 'https://google.com' },
164
+ path: {},
165
+ },
166
+ },
167
+ docsRedirect: {
168
+ type: 'redirect',
169
+ source: {
170
+ path: [
171
+ { type: 'static', name: 'docs' },
172
+ { type: 'param', testValue: '', name: 'slug' },
173
+ ],
174
+ query: {},
175
+ },
176
+ destination: {
177
+ url: { type: 'value', value: 'https://docs.nordcraft.com' },
178
+ path: {
179
+ first: {
180
+ index: 0,
181
+ formula: valueFormula('slug'),
182
+ },
183
+ },
184
+ },
185
+ },
186
+ };
187
+ const docsUrl = new URL('http://localhost:3000/docs/intro');
188
+ const request = new Request(docsUrl);
189
+ expect(matchRouteForUrl({
190
+ url: docsUrl,
191
+ routes,
192
+ env: serverEnv({
193
+ branchName: 'main',
194
+ req: request,
195
+ logErrors: false,
196
+ }),
197
+ req: request,
198
+ serverContext: {
199
+ errors: [],
200
+ getFormula: () => undefined,
201
+ getCustomFormula: () => undefined,
202
+ },
203
+ })).toEqual({ name: 'docsRedirect', route: routes['docsRedirect'] });
204
+ });
205
+ test('it ignores disabled routes', () => {
206
+ const routes = {
207
+ disabledRedirect: {
208
+ type: 'redirect',
209
+ enabled: { formula: valueFormula(false) },
210
+ source: {
211
+ path: [
212
+ { type: 'static', name: 'docs' },
213
+ { type: 'param', testValue: '', name: 'slug' },
214
+ ],
215
+ query: {},
216
+ },
217
+ destination: {
218
+ url: { type: 'value', value: 'https://docs.nordcraft.com' },
219
+ path: {
220
+ first: {
221
+ index: 0,
222
+ formula: valueFormula('slug'),
223
+ },
224
+ },
225
+ },
226
+ },
227
+ docsRedirect: {
228
+ type: 'redirect',
229
+ source: {
230
+ path: [
231
+ { type: 'param', testValue: 'docs', name: 'docs' },
232
+ { type: 'param', testValue: '', name: 'slug' },
233
+ ],
234
+ query: {},
235
+ },
236
+ destination: {
237
+ url: { type: 'value', value: 'https://docs.nordcraft.com' },
238
+ path: {
239
+ first: {
240
+ index: 0,
241
+ formula: valueFormula('slug'),
242
+ },
243
+ },
244
+ },
245
+ },
246
+ };
247
+ const docsUrl = new URL('http://localhost:3000/docs/intro');
248
+ const request = new Request(docsUrl);
249
+ expect(matchRouteForUrl({
250
+ url: docsUrl,
251
+ routes,
252
+ env: serverEnv({
253
+ branchName: 'main',
254
+ req: request,
255
+ logErrors: false,
256
+ }),
257
+ req: request,
258
+ serverContext: {
259
+ errors: [],
260
+ getFormula: () => undefined,
261
+ getCustomFormula: () => undefined,
262
+ },
263
+ })).toEqual({ name: 'docsRedirect', route: routes['docsRedirect'] });
264
+ });
265
+ });
266
+ describe('getRouteDestination', () => {
267
+ const getEnv = (req) => serverEnv({
268
+ branchName: 'main',
269
+ req,
270
+ logErrors: false,
271
+ });
272
+ test('it returns the destination for a rewrite route', () => {
273
+ const route = {
274
+ type: 'rewrite',
275
+ source: { path: [{ type: 'static', name: 'search' }], query: {} },
276
+ destination: {
277
+ url: valueFormula('results'),
278
+ },
279
+ };
280
+ const req = new Request('http://localhost:3000/search');
281
+ const url = getRouteDestination({
282
+ serverContext: getServerToddleObject({}),
283
+ req,
284
+ route,
285
+ env: getEnv(req),
286
+ });
287
+ expect(url?.toString()).toEqual('http://localhost:3000/results');
288
+ });
289
+ test('it returns the destination for a redirect route', () => {
290
+ const route = {
291
+ type: 'redirect',
292
+ source: { path: [{ type: 'static', name: 'old' }], query: {} },
293
+ destination: {
294
+ url: valueFormula('new'),
295
+ },
296
+ };
297
+ const req = new Request('http://localhost:3000/old');
298
+ const url = getRouteDestination({
299
+ serverContext: getServerToddleObject({}),
300
+ req,
301
+ route,
302
+ env: getEnv(req),
303
+ });
304
+ expect(url?.toString()).toEqual('http://localhost:3000/new');
305
+ });
306
+ test('it returns undefined if a redirect points to the same URL', () => {
307
+ const route = {
308
+ type: 'redirect',
309
+ source: { path: [{ type: 'static', name: 'same' }], query: {} },
310
+ destination: {
311
+ url: valueFormula('same'),
312
+ },
313
+ };
314
+ const req = new Request('http://localhost:3000/same');
315
+ const url = getRouteDestination({
316
+ serverContext: getServerToddleObject({}),
317
+ req,
318
+ route,
319
+ env: getEnv(req),
320
+ });
321
+ expect(url).toBeUndefined();
322
+ });
323
+ test('it allows a rewrite to point to the same URL', () => {
324
+ const route = {
325
+ type: 'rewrite',
326
+ source: { path: [{ type: 'static', name: 'same' }], query: {} },
327
+ destination: {
328
+ url: valueFormula('same'),
329
+ },
330
+ };
331
+ const req = new Request('http://localhost:3000/same');
332
+ const url = getRouteDestination({
333
+ serverContext: getServerToddleObject({}),
334
+ req,
335
+ route,
336
+ env: getEnv(req),
337
+ });
338
+ expect(url?.toString()).toEqual('http://localhost:3000/same');
339
+ });
340
+ test('it handles dynamic parameters in the destination', () => {
341
+ const route = {
342
+ type: 'rewrite',
343
+ source: {
344
+ path: [
345
+ { type: 'static', name: 'user' },
346
+ { type: 'param', name: 'id', testValue: '123' },
347
+ ],
348
+ query: {},
349
+ },
350
+ destination: {
351
+ path: {
352
+ profile: {
353
+ index: 0,
354
+ formula: valueFormula('profile'),
355
+ },
356
+ id: {
357
+ index: 1,
358
+ formula: {
359
+ path: ['Route parameters', 'path', 'id'],
360
+ type: 'path',
361
+ },
362
+ },
363
+ },
364
+ },
365
+ };
366
+ const req = new Request('http://localhost:3000/user/456');
367
+ const url = getRouteDestination({
368
+ serverContext: getServerToddleObject({}),
369
+ req,
370
+ route,
371
+ env: getEnv(req),
372
+ });
373
+ expect(url?.toString()).toEqual('http://localhost:3000/profile/456');
374
+ });
375
+ test('it handles relative URLs in the destination', () => {
376
+ const route = {
377
+ type: 'redirect',
378
+ source: { path: [{ type: 'static', name: 'old' }], query: {} },
379
+ destination: {
380
+ url: valueFormula('/new-relative'),
381
+ },
382
+ };
383
+ const req = new Request('http://localhost:3000/old');
384
+ const url = getRouteDestination({
385
+ serverContext: getServerToddleObject({}),
386
+ req,
387
+ route,
388
+ env: getEnv(req),
389
+ });
390
+ expect(url?.toString()).toEqual('http://localhost:3000/new-relative');
391
+ });
392
+ test('it handles query parameters in the destination', () => {
393
+ const route = {
394
+ type: 'rewrite',
395
+ source: { path: [{ type: 'static', name: 'search' }], query: {} },
396
+ destination: {
397
+ url: valueFormula('results'),
398
+ queryParams: {
399
+ q: {
400
+ formula: valueFormula('toddle'),
401
+ },
402
+ },
403
+ },
404
+ };
405
+ const req = new Request('http://localhost:3000/search');
406
+ const url = getRouteDestination({
407
+ serverContext: getServerToddleObject({}),
408
+ req,
409
+ route,
410
+ env: getEnv(req),
411
+ });
412
+ expect(url?.toString()).toEqual('http://localhost:3000/results?q=toddle');
413
+ });
414
+ });
415
+ //# sourceMappingURL=routing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.test.js","sourceRoot":"","sources":["../../src/routing/routing.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,123 @@
1
+ import { describe, expect, test } from 'bun:test';
2
+ import { transformRelativePaths } from './media';
3
+ describe('transformRelativePaths()', () => {
4
+ const transformer = transformRelativePaths('https://toddle.dev');
5
+ test('it transforms relative src attributes to be absolute', () => {
6
+ expect(transformer({
7
+ nodes: {
8
+ '1': {
9
+ type: 'element',
10
+ attrs: {
11
+ src: {
12
+ type: 'value',
13
+ value: '/foo/img.png',
14
+ },
15
+ },
16
+ },
17
+ '2': {
18
+ type: 'element',
19
+ attrs: {
20
+ src: {
21
+ type: 'value',
22
+ value: 'picture.webp',
23
+ },
24
+ },
25
+ },
26
+ '3': {
27
+ type: 'element',
28
+ attrs: {
29
+ src: {
30
+ type: 'value',
31
+ value: './img.png',
32
+ },
33
+ },
34
+ },
35
+ },
36
+ })).toEqual({
37
+ nodes: {
38
+ '1': {
39
+ type: 'element',
40
+ attrs: {
41
+ src: {
42
+ type: 'value',
43
+ value: 'https://toddle.dev/foo/img.png',
44
+ },
45
+ },
46
+ },
47
+ '2': {
48
+ type: 'element',
49
+ attrs: {
50
+ src: {
51
+ type: 'value',
52
+ value: 'https://toddle.dev/picture.webp',
53
+ },
54
+ },
55
+ },
56
+ '3': {
57
+ type: 'element',
58
+ attrs: {
59
+ src: {
60
+ type: 'value',
61
+ value: 'https://toddle.dev/img.png',
62
+ },
63
+ },
64
+ },
65
+ },
66
+ });
67
+ });
68
+ test('it keeps absolute urls', () => {
69
+ expect(transformer({
70
+ nodes: {
71
+ '1': {
72
+ type: 'element',
73
+ attrs: {
74
+ src: {
75
+ type: 'value',
76
+ value: 'https://picsum.photos/200/300',
77
+ },
78
+ },
79
+ },
80
+ },
81
+ })).toEqual({
82
+ nodes: {
83
+ '1': {
84
+ type: 'element',
85
+ attrs: {
86
+ src: {
87
+ type: 'value',
88
+ value: 'https://picsum.photos/200/300',
89
+ },
90
+ },
91
+ },
92
+ },
93
+ });
94
+ });
95
+ test('it does not transform non-src attributes', () => {
96
+ expect(transformer({
97
+ nodes: {
98
+ '1': {
99
+ type: 'element',
100
+ attrs: {
101
+ href: {
102
+ type: 'value',
103
+ value: '/foo',
104
+ },
105
+ },
106
+ },
107
+ },
108
+ })).toEqual({
109
+ nodes: {
110
+ '1': {
111
+ type: 'element',
112
+ attrs: {
113
+ href: {
114
+ type: 'value',
115
+ value: '/foo',
116
+ },
117
+ },
118
+ },
119
+ },
120
+ });
121
+ });
122
+ });
123
+ //# sourceMappingURL=media.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.test.js","sourceRoot":"","sources":["../../src/utils/media.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -21,11 +21,11 @@
21
21
  "main": "dist/index.js",
22
22
  "types": "dist/index.d.ts",
23
23
  "dependencies": {
24
- "@nordcraft/core": "1.0.97",
25
- "@nordcraft/std-lib": "1.0.97",
24
+ "@nordcraft/core": "2.0.1",
25
+ "@nordcraft/std-lib": "2.0.1",
26
26
  "fast-deep-equal": "3.1.3",
27
27
  "cookie": "1.0.2",
28
28
  "xss": "1.0.15"
29
29
  },
30
- "version": "1.0.97"
30
+ "version": "2.0.1"
31
31
  }