@velastack/cms 0.1.0 → 0.2.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.
Files changed (95) hide show
  1. package/README.md +1 -1
  2. package/dist/backend/auth/editors.d.ts +51 -0
  3. package/dist/backend/auth/editors.js +157 -0
  4. package/dist/backend/auth/local-editors.d.ts +22 -0
  5. package/dist/backend/auth/local-editors.js +44 -0
  6. package/dist/backend/auth/scrypt.d.ts +20 -0
  7. package/dist/backend/auth/scrypt.js +80 -0
  8. package/dist/backend/factory.d.ts +25 -0
  9. package/dist/backend/factory.js +213 -0
  10. package/dist/backend/http.d.ts +34 -0
  11. package/dist/backend/http.js +79 -0
  12. package/dist/backend/index.d.ts +45 -0
  13. package/dist/backend/index.js +39 -0
  14. package/dist/backend/router.d.ts +52 -0
  15. package/dist/backend/router.js +57 -0
  16. package/dist/backend/routes/context.d.ts +46 -0
  17. package/dist/backend/routes/context.js +30 -0
  18. package/dist/backend/routes/docs.d.ts +2 -0
  19. package/dist/backend/routes/docs.js +150 -0
  20. package/dist/backend/routes/login.d.ts +19 -0
  21. package/dist/backend/routes/login.js +155 -0
  22. package/dist/backend/routes/media.d.ts +22 -0
  23. package/dist/backend/routes/media.js +119 -0
  24. package/dist/backend/routes/pages.d.ts +19 -0
  25. package/dist/backend/routes/pages.js +221 -0
  26. package/dist/backend/routes/release.d.ts +10 -0
  27. package/dist/backend/routes/release.js +147 -0
  28. package/dist/backend/routes/site.d.ts +2 -0
  29. package/dist/backend/routes/site.js +40 -0
  30. package/dist/backend/routes/table.d.ts +11 -0
  31. package/dist/backend/routes/table.js +72 -0
  32. package/dist/backend/routes/test-reset.d.ts +15 -0
  33. package/dist/backend/routes/test-reset.js +112 -0
  34. package/dist/backend/routes/user.d.ts +14 -0
  35. package/dist/backend/routes/user.js +21 -0
  36. package/dist/backend/storage.d.ts +18 -0
  37. package/dist/backend/storage.js +45 -0
  38. package/dist/backend/store/cache.d.ts +34 -0
  39. package/dist/backend/store/cache.js +38 -0
  40. package/dist/backend/store/db.d.ts +10 -0
  41. package/dist/backend/store/db.js +29 -0
  42. package/dist/backend/store/migrate.d.ts +10 -0
  43. package/dist/backend/store/migrate.js +30 -0
  44. package/dist/backend/store/migrations/0001-init.d.ts +1 -0
  45. package/dist/backend/store/migrations/0001-init.js +129 -0
  46. package/dist/backend/store/migrations/0002-site.d.ts +1 -0
  47. package/dist/backend/store/migrations/0002-site.js +86 -0
  48. package/dist/backend/store/migrations/0003-editors.d.ts +1 -0
  49. package/dist/backend/store/migrations/0003-editors.js +44 -0
  50. package/dist/backend/store/migrations/index.d.ts +15 -0
  51. package/dist/backend/store/migrations/index.js +18 -0
  52. package/dist/backend/store/queries.d.ts +67 -0
  53. package/dist/backend/store/queries.js +1207 -0
  54. package/dist/backend/store/sqlite.d.ts +22 -0
  55. package/dist/backend/store/sqlite.js +29 -0
  56. package/dist/backend/testing/fixtures.d.ts +39 -0
  57. package/dist/backend/testing/fixtures.js +61 -0
  58. package/dist/backend/testing/harness.d.ts +35 -0
  59. package/dist/backend/testing/harness.js +149 -0
  60. package/dist/backend/types.d.ts +106 -0
  61. package/dist/cms.d.ts +3 -3
  62. package/dist/cms.js +1 -1
  63. package/dist/components/admin-bar/publish-dialog.svelte +1 -1
  64. package/dist/components/cms/cms-image-editable.svelte +1 -1
  65. package/dist/components/cms/cms-store.svelte.d.ts +3 -68
  66. package/dist/components/cms/cms-store.svelte.js +25 -10
  67. package/dist/components/cms/locale-merge.d.ts +1 -1
  68. package/dist/components/cms/locale-merge.js +1 -1
  69. package/dist/components/cms/scope.d.ts +1 -1
  70. package/dist/core/page-entry.d.ts +43 -0
  71. package/dist/core/page-entry.js +21 -0
  72. package/dist/{components/cms → core}/path.d.ts +13 -0
  73. package/dist/{components/cms → core}/path.js +36 -0
  74. package/dist/core/wire.d.ts +182 -0
  75. package/dist/core/wire.js +1 -0
  76. package/dist/{srv → server}/api-adapter.js +2 -2
  77. package/dist/{srv → server}/load-cms.js +1 -1
  78. package/dist/{srv → server}/mock-adapter.d.ts +3 -24
  79. package/dist/{srv → server}/mock-adapter.js +5 -22
  80. package/dist/{srv → server}/types.d.ts +2 -6
  81. package/dist/server/types.js +1 -0
  82. package/package.json +13 -4
  83. package/plugin/dist/index.js +7 -0
  84. package/plugin/dist/index.js.map +1 -1
  85. package/plugin/dist/media.d.ts +16 -7
  86. package/plugin/dist/media.js +23 -10
  87. package/plugin/dist/media.js.map +1 -1
  88. /package/dist/{srv → backend}/types.js +0 -0
  89. /package/dist/{srv → server}/README.md +0 -0
  90. /package/dist/{srv → server}/api-adapter.d.ts +0 -0
  91. /package/dist/{srv → server}/cms.d.ts +0 -0
  92. /package/dist/{srv → server}/cms.js +0 -0
  93. /package/dist/{srv → server}/index.d.ts +0 -0
  94. /package/dist/{srv → server}/index.js +0 -0
  95. /package/dist/{srv → server}/load-cms.d.ts +0 -0
@@ -1,14 +1,27 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  /**
4
- * Backend serves uploaded files at the endpoint origin (`/uploads/<filename>`)
5
- * via SvelteKit's static handler confirmed in `cms.velastack/_store.ts`. The
6
- * project-scoped CMS endpoint (`/v1/projects/PID/cms`) only governs the API,
7
- * not the upload path. So `uploadsBase` is the bare origin + `/uploads`.
4
+ * The backend serves uploaded files at the endpoint origin
5
+ * (`/uploads/<filename>`), from a route that reads them out of its data
6
+ * directory. The project-scoped CMS endpoint (`/v1/projects/PID/cms`) governs
7
+ * the API only, not the upload path, so `uploadsBase` is the bare origin plus
8
+ * `/uploads`.
9
+ *
10
+ * Returns `null` for a root-relative endpoint such as `cms({ endpoint: '/cms' })`
11
+ * — the single-tenant, same-origin configuration. There is no origin to fetch
12
+ * from at build time, so media pre-download is skipped; content still resolves
13
+ * because uploads are referenced as root-relative `/uploads/<file>` in that
14
+ * setup, which every caller here recognizes without a base. Previously this did
15
+ * a bare `new URL(endpoint)`, which throws `TypeError: Invalid URL` on a
16
+ * relative endpoint and took the whole build down.
8
17
  */
9
18
  export const deriveUploadsBase = (endpoint) => {
10
- const url = new URL(endpoint);
11
- return `${url.origin}/uploads`;
19
+ try {
20
+ return `${new URL(endpoint).origin}/uploads`;
21
+ }
22
+ catch {
23
+ return null;
24
+ }
12
25
  };
13
26
  const RELATIVE_UPLOADS_RE = /^\/uploads\/([^/?#]+)$/;
14
27
  /**
@@ -19,7 +32,7 @@ const RELATIVE_UPLOADS_RE = /^\/uploads\/([^/?#]+)$/;
19
32
  export const extractMediaUrls = (value, uploadsBase) => {
20
33
  const out = new Set();
21
34
  const seen = new WeakSet();
22
- const prefix = `${uploadsBase}/`;
35
+ const prefix = uploadsBase === null ? null : `${uploadsBase}/`;
23
36
  const walk = (v) => {
24
37
  if (typeof v === 'string') {
25
38
  const m = RELATIVE_UPLOADS_RE.exec(v);
@@ -27,7 +40,7 @@ export const extractMediaUrls = (value, uploadsBase) => {
27
40
  out.add(m[1]);
28
41
  return;
29
42
  }
30
- if (v.startsWith(prefix)) {
43
+ if (prefix !== null && v.startsWith(prefix)) {
31
44
  const rest = v.slice(prefix.length).split(/[?#]/)[0];
32
45
  if (rest && !rest.includes('/'))
33
46
  out.add(rest);
@@ -59,14 +72,14 @@ export const extractMediaUrls = (value, uploadsBase) => {
59
72
  */
60
73
  export const rewriteMediaUrls = (value, uploadsBase, mediaPrefix) => {
61
74
  const seen = new WeakMap();
62
- const prefix = `${uploadsBase}/`;
75
+ const prefix = uploadsBase === null ? null : `${uploadsBase}/`;
63
76
  const normalizedMediaPrefix = mediaPrefix.replace(/\/$/, '');
64
77
  const walk = (v) => {
65
78
  if (typeof v === 'string') {
66
79
  const m = RELATIVE_UPLOADS_RE.exec(v);
67
80
  if (m)
68
81
  return `${normalizedMediaPrefix}/${m[1]}`;
69
- if (v.startsWith(prefix)) {
82
+ if (prefix !== null && v.startsWith(prefix)) {
70
83
  const rest = v.slice(prefix.length).split(/[?#]/)[0];
71
84
  if (rest && !rest.includes('/'))
72
85
  return `${normalizedMediaPrefix}/${rest}`;
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes