@bagelink/blox 1.15.585 → 1.15.591

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 (56) hide show
  1. package/README.md +48 -22
  2. package/dist/CmsPageView.vue.d.ts.map +1 -1
  3. package/dist/{PreviewApp-D208UMZs.js → PreviewApp-BagepqPk.js} +1 -1
  4. package/dist/{PreviewApp-DNMYw1AS.cjs → PreviewApp-HVipxMQ3.cjs} +1 -1
  5. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-Dm0SmjEr.cjs → PreviewApp.vue_vue_type_style_index_0_lang-C6e-tDzD.cjs} +6 -6
  6. package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-l6QisbG-.js → PreviewApp.vue_vue_type_style_index_0_lang-Dl3bKQTA.js} +1 -1
  7. package/dist/api/index.d.ts +24 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/{routes-DDiQDksF.js → appRuntime-B6yWkH3M.js} +280 -82
  10. package/dist/{routes-DOcek9fP.cjs → appRuntime-D1Z3fX-G.cjs} +237 -39
  11. package/dist/appRuntime.d.ts +26 -0
  12. package/dist/appRuntime.d.ts.map +1 -0
  13. package/dist/composables/useLocale.d.ts +10 -3
  14. package/dist/composables/useLocale.d.ts.map +1 -1
  15. package/dist/content/routes.d.ts +4 -2
  16. package/dist/content/routes.d.ts.map +1 -1
  17. package/dist/content/useContentSeo.d.ts.map +1 -1
  18. package/dist/core.d.ts +2 -0
  19. package/dist/core.d.ts.map +1 -1
  20. package/dist/createBloxApp.d.ts +9 -19
  21. package/dist/createBloxApp.d.ts.map +1 -1
  22. package/dist/data/useData.d.ts.map +1 -1
  23. package/dist/index.cjs +91 -111
  24. package/dist/index.d.ts +2 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.mjs +64 -84
  27. package/dist/{shard-runner-Bc4gTl71.js → shard-runner-DauYjwvg.js} +2 -2
  28. package/dist/{shard-runner-ZAwqteYY.cjs → shard-runner-xIPqGX-Q.cjs} +2 -2
  29. package/dist/ssg/cli.cjs +2 -4
  30. package/dist/ssg/cli.mjs +2 -4
  31. package/dist/ssg/client.cjs +0 -73
  32. package/dist/ssg/client.d.ts +1 -3
  33. package/dist/ssg/client.d.ts.map +1 -1
  34. package/dist/ssg/client.mjs +1 -74
  35. package/dist/ssg/constants.d.ts +0 -4
  36. package/dist/ssg/constants.d.ts.map +1 -1
  37. package/dist/ssg/createSSREntry.d.ts.map +1 -1
  38. package/dist/ssg/index.cjs +26 -47
  39. package/dist/ssg/index.d.ts +1 -3
  40. package/dist/ssg/index.d.ts.map +1 -1
  41. package/dist/ssg/index.mjs +24 -45
  42. package/dist/ssg/prerender.d.ts +1 -5
  43. package/dist/ssg/prerender.d.ts.map +1 -1
  44. package/dist/ssg/render-resolved-page.d.ts +0 -2
  45. package/dist/ssg/render-resolved-page.d.ts.map +1 -1
  46. package/dist/{validate-output-DRCseorw.js → validate-output-B56PuxEM.js} +0 -2
  47. package/dist/{validate-output-DlHgDBoV.cjs → validate-output-CRfMSrpx.cjs} +0 -2
  48. package/dist/vite-plugin.cjs +3 -64
  49. package/dist/vite-plugin.d.ts +0 -8
  50. package/dist/vite-plugin.d.ts.map +1 -1
  51. package/dist/vite-plugin.mjs +3 -64
  52. package/package.json +1 -1
  53. package/dist/ssg/collection-cache.d.ts +0 -53
  54. package/dist/ssg/collection-cache.d.ts.map +0 -1
  55. package/dist/ssg/state-cache.d.ts +0 -21
  56. package/dist/ssg/state-cache.d.ts.map +0 -1
@@ -34,8 +34,6 @@ export interface PrerenderOptions {
34
34
  websiteId?: string;
35
35
  /** Redirects to write as _redirects (Netlify). */
36
36
  redirects?: RedirectEntry[];
37
- /** Pre-fetched datastore collections keyed by "store/collection". */
38
- collections?: Record<string, unknown[]>;
39
37
  /** LLM artifacts config (llms.txt, llms-full.txt, per-page JSON-LD). */
40
38
  llm?: LlmArtifactsConfig;
41
39
  }
@@ -46,8 +44,6 @@ export interface RenderContext {
46
44
  website?: WebsiteRead | null;
47
45
  /** Resolved website ID for client embedding. */
48
46
  websiteId?: string;
49
- /** Pre-fetched datastore collections keyed by "store/collection". */
50
- collections?: Record<string, unknown[]>;
51
47
  /**
52
48
  * Pre-resolved page data keyed by render URL. When the prerender producer has
53
49
  * already fetched a URL's `/resolve-path` result, the SSR entry reads it from
@@ -102,7 +98,7 @@ export declare function prerender({ root, clientOutDir, serverEntry, paths, craw
102
98
  * sharded runner divides a global budget by the shard count. 0 disables
103
99
  * prefetch (render resolves inline). Default 8.
104
100
  */
105
- resolvePrefetchConcurrency, appPaths, includeRoot, routePartsFile, mode, website, websiteId, redirects, collections, llm, }?: PrerenderOptions): Promise<PrerenderResult>;
101
+ resolvePrefetchConcurrency, appPaths, includeRoot, routePartsFile, mode, website, websiteId, redirects, llm, }?: PrerenderOptions): Promise<PrerenderResult>;
106
102
  export declare function injectIntoTemplate(template: string, head: string, appHtml: string, fontPreloads: string, htmlAttrs?: string, teleports?: Record<string, string>): string;
107
103
  export declare function injectTeleports(html: string, teleports: Record<string, string>): string;
108
104
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/ssg/prerender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/ssg/prerender.ts"],"names":[],"mappings":"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"}
@@ -46,8 +46,6 @@ export declare function renderBloxSsgPage<TApp>(options: {
46
46
  website?: WebsiteRead | null;
47
47
  /** Resolved website ID — embedded so client skips GET /blox/websites. */
48
48
  websiteId?: string;
49
- /** Pre-fetched datastore collections — embedded for zero-fetch hydration. */
50
- collections?: Record<string, unknown[]>;
51
49
  /** LLM artifacts config — gates JSON-LD injection + llms.txt text capture. */
52
50
  llm?: LlmArtifactsConfig;
53
51
  }): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"render-resolved-page.d.ts","sourceRoot":"","sources":["../../src/ssg/render-resolved-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGvE,UAAU,cAAc;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACxE,eAAe,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,KACZ;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;IAC9E,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrE,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,WAAW,CAAA;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IACvC,8EAA8E;IAC9E,GAAG,CAAC,EAAE,kBAAkB,CAAA;CACxB,GAAG,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,YAAY,CAAA;CAClB,CAAC,CAuHD;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C"}
1
+ {"version":3,"file":"render-resolved-page.d.ts","sourceRoot":"","sources":["../../src/ssg/render-resolved-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGvE,UAAU,cAAc;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACxE,eAAe,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,KACZ;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;IAC9E,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrE,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,WAAW,CAAA;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,kBAAkB,CAAA;CACxB,GAAG,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,YAAY,CAAA;CAClB,CAAC,CAmHD;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C"}
@@ -853,7 +853,6 @@ async function prerender({
853
853
  website = null,
854
854
  websiteId = "",
855
855
  redirects = [],
856
- collections = {},
857
856
  llm = {}
858
857
  } = {}) {
859
858
  var _a, _b, _c;
@@ -958,7 +957,6 @@ async function prerender({
958
957
  template,
959
958
  website,
960
959
  websiteId,
961
- collections,
962
960
  resolveCache,
963
961
  llm
964
962
  });
@@ -876,7 +876,6 @@ async function prerender({
876
876
  website = null,
877
877
  websiteId = "",
878
878
  redirects = [],
879
- collections = {},
880
879
  llm = {}
881
880
  } = {}) {
882
881
  var _a, _b, _c;
@@ -981,7 +980,6 @@ async function prerender({
981
980
  template,
982
981
  website,
983
982
  websiteId,
984
- collections,
985
983
  resolveCache,
986
984
  llm
987
985
  });
@@ -44,9 +44,10 @@ function bloxPlugin(options = {}) {
44
44
  const vuePkgJson = req.resolve("vue/package.json");
45
45
  const vueDir = path.dirname(vuePkgJson);
46
46
  const vueEntry = path.join(vueDir, "dist", "vue.runtime.esm-bundler.js");
47
+ const rendererDir = path.dirname(req.resolve("@vue/server-renderer/package.json"));
47
48
  return [
48
- { find: "vue/server-renderer", replacement: path.join(vueDir, "server-renderer", "index.mjs") },
49
- { find: "@vue/server-renderer", replacement: req.resolve("@vue/server-renderer") },
49
+ { find: "vue/server-renderer", replacement: path.join(rendererDir, "dist", "server-renderer.esm-bundler.js") },
50
+ { find: "@vue/server-renderer", replacement: path.join(rendererDir, "dist", "server-renderer.esm-bundler.js") },
50
51
  { find: "vue", replacement: vueEntry }
51
52
  ];
52
53
  } catch {
@@ -118,68 +119,6 @@ function bloxPlugin(options = {}) {
118
119
  }
119
120
  });
120
121
  }
121
- if (options.autoCollections ?? false) {
122
- const discoveredCollections = /* @__PURE__ */ new Map();
123
- const VIRTUAL_ID = "virtual:blox-collections";
124
- const RESOLVED_VIRTUAL_ID = `\0${VIRTUAL_ID}`;
125
- plugins.push({
126
- name: "vite-plugin-blox-collections",
127
- enforce: "pre",
128
- resolveId(id) {
129
- if (id === VIRTUAL_ID) return RESOLVED_VIRTUAL_ID;
130
- },
131
- load(id) {
132
- if (id === RESOLVED_VIRTUAL_ID) {
133
- const entries = [...discoveredCollections.values()];
134
- return `export default ${JSON.stringify(entries)}`;
135
- }
136
- },
137
- transform(code, id) {
138
- if (!id.endsWith(".vue")) return;
139
- const namePatterns = [
140
- /collectionName\s*:\s*['"]([^'"]+)['"]/g,
141
- /collection_name\s*:\s*['"]([^'"]+)['"]/g,
142
- /collection\s*:\s*['"]([^'"]+)['"]/g
143
- ];
144
- const storeRe = /store\s*:\s*['"]([^'"]+)['"]/g;
145
- const stores = [];
146
- let storeMatch;
147
- while ((storeMatch = storeRe.exec(code)) !== null) {
148
- stores.push(storeMatch[1]);
149
- }
150
- const listItemsRe = /listItems\s*\(\s*['"]([^'"]+)['"]/g;
151
- let listMatch;
152
- while ((listMatch = listItemsRe.exec(code)) !== null) {
153
- const collectionName = listMatch[1];
154
- const key = `*/${collectionName}`;
155
- if (!discoveredCollections.has(key)) {
156
- discoveredCollections.set(key, { store: "*", collection: collectionName });
157
- }
158
- }
159
- for (const pattern of namePatterns) {
160
- let match;
161
- while ((match = pattern.exec(code)) !== null) {
162
- const collection = match[1];
163
- if (["name", "label", "icon", "description", "type"].includes(collection)) continue;
164
- const store = stores[0] ?? "*";
165
- const key = `${store}/${collection}`;
166
- if (!discoveredCollections.has(key)) {
167
- discoveredCollections.set(key, { store, collection });
168
- }
169
- }
170
- }
171
- },
172
- generateBundle() {
173
- if (discoveredCollections.size === 0) return;
174
- const entries = [...discoveredCollections.values()];
175
- this.emitFile({
176
- type: "asset",
177
- fileName: ".blox-collections.json",
178
- source: JSON.stringify(entries, null, 2)
179
- });
180
- }
181
- });
182
- }
183
122
  if (options.emitManifest ?? false) {
184
123
  const glob = options.manifestGlob ?? "./src/components/blocks/*.vue";
185
124
  const manifestGlob = glob.startsWith("/") ? glob : `/${glob.replace(/^\.\//, "")}`;
@@ -7,14 +7,6 @@ export interface BloxPluginOptions {
7
7
  * @default false
8
8
  */
9
9
  ssr?: boolean;
10
- /**
11
- * Enable collection auto-discovery from block source files.
12
- * When true, scans `.vue` files for datastore collection references
13
- * and emits a `virtual:blox-collections` module and a
14
- * `.blox-collections.json` manifest in the output directory.
15
- * @default false
16
- */
17
- autoCollections?: boolean;
18
10
  /**
19
11
  * Emit a `.blox-manifest.json` describing every registered block
20
12
  * (type, label, icon, description, props JSON Schema, defaults).
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAA;AAM9C,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,EAAE,CA+hBpE"}
1
+ {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAA;AAM9C,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IACb;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,EAAE,CAgdpE"}
@@ -20,9 +20,10 @@ function bloxPlugin(options = {}) {
20
20
  const vuePkgJson = req.resolve("vue/package.json");
21
21
  const vueDir = dirname(vuePkgJson);
22
22
  const vueEntry = join(vueDir, "dist", "vue.runtime.esm-bundler.js");
23
+ const rendererDir = dirname(req.resolve("@vue/server-renderer/package.json"));
23
24
  return [
24
- { find: "vue/server-renderer", replacement: join(vueDir, "server-renderer", "index.mjs") },
25
- { find: "@vue/server-renderer", replacement: req.resolve("@vue/server-renderer") },
25
+ { find: "vue/server-renderer", replacement: join(rendererDir, "dist", "server-renderer.esm-bundler.js") },
26
+ { find: "@vue/server-renderer", replacement: join(rendererDir, "dist", "server-renderer.esm-bundler.js") },
26
27
  { find: "vue", replacement: vueEntry }
27
28
  ];
28
29
  } catch {
@@ -94,68 +95,6 @@ function bloxPlugin(options = {}) {
94
95
  }
95
96
  });
96
97
  }
97
- if (options.autoCollections ?? false) {
98
- const discoveredCollections = /* @__PURE__ */ new Map();
99
- const VIRTUAL_ID = "virtual:blox-collections";
100
- const RESOLVED_VIRTUAL_ID = `\0${VIRTUAL_ID}`;
101
- plugins.push({
102
- name: "vite-plugin-blox-collections",
103
- enforce: "pre",
104
- resolveId(id) {
105
- if (id === VIRTUAL_ID) return RESOLVED_VIRTUAL_ID;
106
- },
107
- load(id) {
108
- if (id === RESOLVED_VIRTUAL_ID) {
109
- const entries = [...discoveredCollections.values()];
110
- return `export default ${JSON.stringify(entries)}`;
111
- }
112
- },
113
- transform(code, id) {
114
- if (!id.endsWith(".vue")) return;
115
- const namePatterns = [
116
- /collectionName\s*:\s*['"]([^'"]+)['"]/g,
117
- /collection_name\s*:\s*['"]([^'"]+)['"]/g,
118
- /collection\s*:\s*['"]([^'"]+)['"]/g
119
- ];
120
- const storeRe = /store\s*:\s*['"]([^'"]+)['"]/g;
121
- const stores = [];
122
- let storeMatch;
123
- while ((storeMatch = storeRe.exec(code)) !== null) {
124
- stores.push(storeMatch[1]);
125
- }
126
- const listItemsRe = /listItems\s*\(\s*['"]([^'"]+)['"]/g;
127
- let listMatch;
128
- while ((listMatch = listItemsRe.exec(code)) !== null) {
129
- const collectionName = listMatch[1];
130
- const key = `*/${collectionName}`;
131
- if (!discoveredCollections.has(key)) {
132
- discoveredCollections.set(key, { store: "*", collection: collectionName });
133
- }
134
- }
135
- for (const pattern of namePatterns) {
136
- let match;
137
- while ((match = pattern.exec(code)) !== null) {
138
- const collection = match[1];
139
- if (["name", "label", "icon", "description", "type"].includes(collection)) continue;
140
- const store = stores[0] ?? "*";
141
- const key = `${store}/${collection}`;
142
- if (!discoveredCollections.has(key)) {
143
- discoveredCollections.set(key, { store, collection });
144
- }
145
- }
146
- }
147
- },
148
- generateBundle() {
149
- if (discoveredCollections.size === 0) return;
150
- const entries = [...discoveredCollections.values()];
151
- this.emitFile({
152
- type: "asset",
153
- fileName: ".blox-collections.json",
154
- source: JSON.stringify(entries, null, 2)
155
- });
156
- }
157
- });
158
- }
159
98
  if (options.emitManifest ?? false) {
160
99
  const glob = options.manifestGlob ?? "./src/components/blocks/*.vue";
161
100
  const manifestGlob = glob.startsWith("/") ? glob : `/${glob.replace(/^\.\//, "")}`;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/blox",
3
3
  "type": "module",
4
- "version": "1.15.585",
4
+ "version": "1.15.591",
5
5
  "description": "Blox page builder library for drag-and-drop page building and static data management",
6
6
  "author": {
7
7
  "name": "Bagel Studio",
@@ -1,53 +0,0 @@
1
- /**
2
- * Pre-fetched collection cache for zero-fetch client hydration.
3
- *
4
- * During SSG, `blox-ssg` embeds pre-fetched datastore collections as
5
- * `window.__BLOX_COLLECTIONS__ = { "store/collection": [...items] }`.
6
- *
7
- * This module provides:
8
- * 1. `installCollectionCache()` — returns an axios request interceptor
9
- * that short-circuits matching datastore GET requests with cached data.
10
- * 2. `getCollectionCache()` — direct access to the cache for manual use.
11
- *
12
- * Usage in client entry (main.ts):
13
- *
14
- * ```ts
15
- * import { installCollectionCache } from '@bagelink/blox/ssg/client'
16
- * import { axios } from '@shared/api'
17
- *
18
- * const interceptor = installCollectionCache()
19
- * if (interceptor) axios.interceptors.request.use(interceptor)
20
- * ```
21
- */
22
- type CollectionCacheMap = Record<string, unknown[]>;
23
- /**
24
- * Get direct access to the pre-fetched collections cache.
25
- * Returns null if not available (e.g. page wasn't pre-rendered).
26
- */
27
- export declare function getCollectionCache(): CollectionCacheMap | null;
28
- /**
29
- * Get the pre-embedded website ID (avoids GET /blox/websites on client).
30
- * Returns empty string if not available.
31
- */
32
- export declare function getEmbeddedWebsiteId(): string;
33
- /**
34
- * Install collection cache and return an axios request interceptor.
35
- *
36
- * The interceptor matches `GET /datastore/{store}/collections/{name}` requests
37
- * and returns the cached data as a fulfilled promise (zero network).
38
- *
39
- * Returns `null` if no cache is available (page wasn't pre-rendered).
40
- */
41
- export declare function installCollectionCache(): ((config: AxiosLikeConfig) => AxiosLikeConfig) | null;
42
- /**
43
- * Minimal axios config shape — avoids importing axios as a dependency.
44
- * Only the fields we need for interception.
45
- */
46
- interface AxiosLikeConfig {
47
- url?: string;
48
- method?: string;
49
- adapter?: (config: AxiosLikeConfig) => Promise<unknown>;
50
- [key: string]: unknown;
51
- }
52
- export {};
53
- //# sourceMappingURL=collection-cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection-cache.d.ts","sourceRoot":"","sources":["../../src/ssg/collection-cache.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,KAAK,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAenD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,kBAAkB,GAAG,IAAI,CAE9D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,eAAe,CAAC,GAAG,IAAI,CA+B9F;AAED;;;GAGG;AACH,UAAU,eAAe;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACvD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACtB"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Client-side fetch interceptor for zero-cost hydration.
3
- *
4
- * During SSG, `entry-server` embeds resolved CMS data as
5
- * `window.__BLOX_STATE__ = { [path]: resolvedData }`.
6
- *
7
- * This function patches `window.fetch` so the very first
8
- * `GET …/resolve-path?path=…` call (made by CmsPageView on mount)
9
- * returns the pre-fetched data instead of hitting the network.
10
- *
11
- * Subsequent navigations (SPA) go through normally.
12
- *
13
- * Call once, before app mount, in your client entry:
14
- *
15
- * ```ts
16
- * import { installBloxStateCache } from '@bagelink/blox/ssg'
17
- * installBloxStateCache()
18
- * ```
19
- */
20
- export declare function installBloxStateCache(globalKey?: string): void;
21
- //# sourceMappingURL=state-cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-cache.d.ts","sourceRoot":"","sources":["../../src/ssg/state-cache.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,GAAE,MAA8B,QAoC9E"}