mage-obsidian 2.4.1 โ†’ 2.6.0

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 (55) hide show
  1. package/README.md +2 -0
  2. package/dist/cli/buildThemes.js +6 -0
  3. package/dist/cli/buildThemes.js.map +1 -1
  4. package/dist/cli/islandSsr.d.ts +2 -0
  5. package/dist/cli/islandSsr.d.ts.map +1 -0
  6. package/dist/cli/islandSsr.js +68 -0
  7. package/dist/cli/islandSsr.js.map +1 -0
  8. package/dist/config/default.d.ts +3 -0
  9. package/dist/config/default.d.ts.map +1 -1
  10. package/dist/config/default.js +8 -0
  11. package/dist/config/default.js.map +1 -1
  12. package/dist/core/cmsBaseline.d.ts +16 -0
  13. package/dist/core/cmsBaseline.d.ts.map +1 -0
  14. package/dist/core/cmsBaseline.js +36 -0
  15. package/dist/core/cmsBaseline.js.map +1 -0
  16. package/dist/core/cssResolver.d.ts.map +1 -1
  17. package/dist/core/cssResolver.js +19 -1
  18. package/dist/core/cssResolver.js.map +1 -1
  19. package/dist/core/islandSsr.d.ts +40 -0
  20. package/dist/core/islandSsr.d.ts.map +1 -0
  21. package/dist/core/islandSsr.js +58 -0
  22. package/dist/core/islandSsr.js.map +1 -0
  23. package/dist/runtime/activity.d.ts +31 -0
  24. package/dist/runtime/activity.d.ts.map +1 -0
  25. package/dist/runtime/activity.js +89 -0
  26. package/dist/runtime/activity.js.map +1 -0
  27. package/dist/runtime/eventManager.d.ts +49 -0
  28. package/dist/runtime/eventManager.d.ts.map +1 -0
  29. package/dist/runtime/eventManager.js +124 -0
  30. package/dist/runtime/eventManager.js.map +1 -0
  31. package/dist/runtime/hydrationDiff.d.ts +28 -0
  32. package/dist/runtime/hydrationDiff.d.ts.map +1 -0
  33. package/dist/runtime/hydrationDiff.js +53 -0
  34. package/dist/runtime/hydrationDiff.js.map +1 -0
  35. package/dist/runtime/islands.d.ts +34 -9
  36. package/dist/runtime/islands.d.ts.map +1 -1
  37. package/dist/runtime/islands.js +48 -15
  38. package/dist/runtime/islands.js.map +1 -1
  39. package/dist/runtime/lifecycleEvents.d.ts +44 -0
  40. package/dist/runtime/lifecycleEvents.d.ts.map +1 -0
  41. package/dist/runtime/lifecycleEvents.js +13 -0
  42. package/dist/runtime/lifecycleEvents.js.map +1 -0
  43. package/dist/runtime/mutationEvent.d.ts +20 -0
  44. package/dist/runtime/mutationEvent.d.ts.map +1 -0
  45. package/dist/runtime/mutationEvent.js +10 -0
  46. package/dist/runtime/mutationEvent.js.map +1 -0
  47. package/dist/runtime/sectionStoreCore.d.ts +1 -0
  48. package/dist/runtime/sectionStoreCore.d.ts.map +1 -1
  49. package/dist/runtime/sectionStoreCore.js +7 -0
  50. package/dist/runtime/sectionStoreCore.js.map +1 -1
  51. package/dist/runtime/uxConfig.d.ts +19 -0
  52. package/dist/runtime/uxConfig.d.ts.map +1 -0
  53. package/dist/runtime/uxConfig.js +15 -0
  54. package/dist/runtime/uxConfig.js.map +1 -0
  55. package/package.json +7 -3
package/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
  [![CI](https://github.com/mage-obsidian/js-package-utils/actions/workflows/ci.yml/badge.svg)](https://github.com/mage-obsidian/js-package-utils/actions/workflows/ci.yml)
5
5
  [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://opensource.org/licenses/MIT)
6
6
 
7
+ [![Star MageObsidian](https://img.shields.io/github/stars/mage-obsidian/module-modern-frontend?style=flat-square&label=Star%20the%20core%20repo&logo=github)](https://github.com/mage-obsidian/module-modern-frontend)
8
+
7
9
  ๐Ÿ“š [Documentation](https://mage-obsidian.jeanmarcos.dev/) ยท ๐Ÿš€ [Live demo](https://mage-obsidian-demo.jeanmarcos.dev/) ยท ๐Ÿ’ฌ [Discussions](https://github.com/mage-obsidian/module-modern-frontend/discussions)
8
10
 
9
11
  The JavaScript build engine behind [MageObsidian](https://github.com/mage-obsidian/module-modern-frontend), a modern frontend for Magento 2. ESM-only, consumed by the [Vite harness](https://github.com/mage-obsidian/component-modern-frontend) as the `mage-obsidian` npm package.
@@ -8,6 +8,7 @@ import path from "path";
8
8
  import chalk from "chalk";
9
9
  import configResolver from "../core/configResolver.js";
10
10
  import preCompileMagentoFiles from "../core/preCompileMagentoFiles.js";
11
+ import { writeCmsBaseline } from "../core/cmsBaseline.js";
11
12
  import runWithConcurrency from "../utils/runWithConcurrency.js";
12
13
  import { selectThemeForDevServer } from "./selectTheme.js";
13
14
  import dotenv from "dotenv";
@@ -134,6 +135,11 @@ const buildThemes = async (themeNames) => {
134
135
  console.error(chalk.red(`Build failed for: ${failed.map((result) => result.themeName).join(", ")}`));
135
136
  process.exit(1);
136
137
  }
138
+ // Only for what actually built: a baseline next to a stylesheet that was
139
+ // never produced would tell the storefront it covers classes it does not.
140
+ for (const { themeName } of results) {
141
+ await writeCmsBaseline(themeName);
142
+ }
137
143
  };
138
144
  /**
139
145
  * Type-check one assembled theme with vue-tsc. The theme's generated
@@ -1 +1 @@
1
- {"version":3,"file":"buildThemes.js","sourceRoot":"","sources":["../../src/cli/buildThemes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildThemes.js","sourceRoot":"","sources":["../../src/cli/buildThemes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=islandSsr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"islandSsr.d.ts","sourceRoot":"","sources":["../../src/cli/islandSsr.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import { readFileSync } from "node:fs";
10
+ import { createRequire } from "node:module";
11
+ import { resolve } from "node:path";
12
+ import { pathToFileURL } from "node:url";
13
+ import { extractTemplate, formatForReading, renderIsland } from "../core/islandSsr.js";
14
+ // Generates the server-side markup a template must emit so an island hydrates
15
+ // instead of shifting the page. Run by hand while writing a template, not by the
16
+ // build. Kept argv-only (no commander) to match the other internal bins.
17
+ function arg(name) {
18
+ const i = process.argv.indexOf(name);
19
+ return i > -1 ? process.argv[i + 1] : undefined;
20
+ }
21
+ const componentFile = arg("--component");
22
+ const stateFile = arg("--state");
23
+ const propsArg = arg("--props");
24
+ if (!componentFile) {
25
+ console.error("usage: island-ssr --component <Component.vue> [--state <state.mjs|.json>] [--props <json>]\n" +
26
+ "\n" +
27
+ " --state values the template reads. A .mjs default-exporting an object can\n" +
28
+ " carry the methods the template calls; a .json is data only.\n" +
29
+ " --props props passed to the island, as JSON.");
30
+ process.exit(1);
31
+ }
32
+ async function loadState(file) {
33
+ if (!file) {
34
+ return {};
35
+ }
36
+ const path = resolve(file);
37
+ if (path.endsWith(".json")) {
38
+ return JSON.parse(readFileSync(path, "utf8"));
39
+ }
40
+ const module = await import(__rewriteRelativeImportExtension(pathToFileURL(path).href));
41
+ return module.default ?? module;
42
+ }
43
+ // Vue belongs to the harness this is run from, not to the engine, so resolve it
44
+ // against the working directory instead of this file's own module tree.
45
+ async function importFromCwd(specifier) {
46
+ const requireFromCwd = createRequire(pathToFileURL(resolve("package.json")).href);
47
+ return import(__rewriteRelativeImportExtension(pathToFileURL(requireFromCwd.resolve(specifier)).href));
48
+ }
49
+ let createSSRApp;
50
+ let renderToString;
51
+ try {
52
+ ({ createSSRApp } = await importFromCwd("vue"));
53
+ ({ renderToString } = await importFromCwd("vue/server-renderer"));
54
+ }
55
+ catch (error) {
56
+ console.error("island-ssr needs Vue: run it from the Vite harness (component-modern-frontend/vite).\n" +
57
+ String(error));
58
+ process.exit(1);
59
+ }
60
+ const source = readFileSync(resolve(componentFile), "utf8");
61
+ const props = propsArg ? JSON.parse(propsArg) : {};
62
+ const state = await loadState(stateFile);
63
+ const html = await renderIsland(extractTemplate(source, componentFile), state, props, {
64
+ createSSRApp,
65
+ renderToString,
66
+ });
67
+ console.log(formatForReading(html));
68
+ //# sourceMappingURL=islandSsr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"islandSsr.js","sourceRoot":"","sources":["../../src/cli/islandSsr.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ export declare const MAGENTO_ROOT: string;
2
2
  export declare const DEPENDENCY_CONFIG_FILENAME = "mage_obsidian_frontend_modules.json";
3
3
  export declare const MAGENTO_CONFIG_RELATIVE_PATH = "app/etc/";
4
4
  export declare const DEPENDENCY_CONFIG_FILE_PATH: string;
5
+ export declare const CMS_CONTENT_DIR: string;
6
+ export declare const CMS_CANDIDATES_FILE = "candidates.json";
7
+ export declare const CMS_BASELINE_FILE = "cms-candidates.json";
5
8
  export declare const MODULE_WEB_PATH = "view/frontend/web/";
6
9
  export declare const MODULE_TEMPLATES_PATH = "view/frontend/templates";
7
10
  export declare const THEME_MODULE_WEB_PATH = "web/";
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/config/default.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,QAEc,CAAC;AAExC,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAChF,eAAO,MAAM,4BAA4B,aAAa,CAAC;AACvD,eAAO,MAAM,2BAA2B,QAIvC,CAAC;AAEF,eAAO,MAAM,eAAe,uBAAuB,CAAC;AACpD,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAC5C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD,eAAO,MAAM,2CAA2C,sCAAsC,CAAC"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/config/default.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,QAEc,CAAC;AAExC,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAChF,eAAO,MAAM,4BAA4B,aAAa,CAAC;AACvD,eAAO,MAAM,2BAA2B,QAIvC,CAAC;AAKF,eAAO,MAAM,eAAe,QAAsD,CAAC;AACnF,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAGrD,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD,eAAO,MAAM,eAAe,uBAAuB,CAAC;AACpD,eAAO,MAAM,qBAAqB,4BAA4B,CAAC;AAC/D,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAC5C,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,aAAa,QAAQ,CAAC;AACnC,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD,eAAO,MAAM,2CAA2C,sCAAsC,CAAC"}
@@ -8,6 +8,14 @@ export const MAGENTO_ROOT = process.env.MAGE_OBSIDIAN_MAGENTO_ROOT
8
8
  export const DEPENDENCY_CONFIG_FILENAME = "mage_obsidian_frontend_modules.json";
9
9
  export const MAGENTO_CONFIG_RELATIVE_PATH = "app/etc/";
10
10
  export const DEPENDENCY_CONFIG_FILE_PATH = path.resolve(MAGENTO_ROOT, MAGENTO_CONFIG_RELATIVE_PATH, DEPENDENCY_CONFIG_FILENAME);
11
+ // Where `mage-obsidian:cms:export` leaves the CMS content Tailwind has to scan.
12
+ // Mirrors ConfigInterface::CMS_CONTENT_PATH on the PHP side; it is a fixed
13
+ // layout rather than a setting, so it stays out of the generated contract.
14
+ export const CMS_CONTENT_DIR = path.resolve(MAGENTO_ROOT, "var/mage-obsidian/cms");
15
+ export const CMS_CANDIDATES_FILE = "candidates.json";
16
+ // Written into each theme's build output so the runtime knows which classes the
17
+ // stylesheet it is serving already covers. Mirrors ConfigInterface::CMS_BASELINE_FILE.
18
+ export const CMS_BASELINE_FILE = "cms-candidates.json";
11
19
  export const MODULE_WEB_PATH = "view/frontend/web/";
12
20
  export const MODULE_TEMPLATES_PATH = "view/frontend/templates";
13
21
  export const THEME_MODULE_WEB_PATH = "web/";
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/config/default.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,+EAA+E;AAC/E,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B;IAC9D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,0BAA0B,GAAG,qCAAqC,CAAC;AAChF,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,OAAO,CACnD,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,2CAA2C,GAAG,mCAAmC,CAAC"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/config/default.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,+EAA+E;AAC/E,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B;IAC9D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,0BAA0B,GAAG,qCAAqC,CAAC;AAChF,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,OAAO,CACnD,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,CAC7B,CAAC;AAEF,gFAAgF;AAChF,2EAA2E;AAC3E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AACrD,gFAAgF;AAChF,uFAAuF;AACvF,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,2CAA2C,GAAG,mCAAmC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Pin the class list this build covered next to the build's own output.
3
+ *
4
+ * The storefront compiles, at runtime, the difference between the classes in
5
+ * CMS content now and the ones the stylesheet already carries. That subtraction
6
+ * needs a baseline, and the baseline has to be the one this build actually
7
+ * scanned โ€” leaving it in `var/` would let an export run afterwards and quietly
8
+ * move it. Writing it into the theme's generated dir ties the two together and
9
+ * makes it travel with whatever gets deployed.
10
+ *
11
+ * A missing export means the build scanned no CMS content at all, which is an
12
+ * empty baseline โ€” not an error.
13
+ */
14
+ export declare function writeCmsBaseline(themeName: any): Promise<string>;
15
+ export default writeCmsBaseline;
16
+ //# sourceMappingURL=cmsBaseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmsBaseline.d.ts","sourceRoot":"","sources":["../../src/core/cmsBaseline.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,KAAA,mBAgB/C;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { CMS_BASELINE_FILE, CMS_CANDIDATES_FILE, CMS_CONTENT_DIR, OUTPUT_THEME_DIR, } from "../config/default.js";
4
+ import configResolver from "./configResolver.js";
5
+ const { getThemeDefinition } = configResolver;
6
+ /**
7
+ * Pin the class list this build covered next to the build's own output.
8
+ *
9
+ * The storefront compiles, at runtime, the difference between the classes in
10
+ * CMS content now and the ones the stylesheet already carries. That subtraction
11
+ * needs a baseline, and the baseline has to be the one this build actually
12
+ * scanned โ€” leaving it in `var/` would let an export run afterwards and quietly
13
+ * move it. Writing it into the theme's generated dir ties the two together and
14
+ * makes it travel with whatever gets deployed.
15
+ *
16
+ * A missing export means the build scanned no CMS content at all, which is an
17
+ * empty baseline โ€” not an error.
18
+ */
19
+ export async function writeCmsBaseline(themeName) {
20
+ const theme = getThemeDefinition(themeName);
21
+ if (!theme?.src)
22
+ return null;
23
+ let contents = "[]";
24
+ try {
25
+ contents = await fs.readFile(path.join(CMS_CONTENT_DIR, CMS_CANDIDATES_FILE), "utf8");
26
+ }
27
+ catch {
28
+ // the export was never run
29
+ }
30
+ const target = path.join(theme.src, OUTPUT_THEME_DIR, CMS_BASELINE_FILE);
31
+ await fs.mkdir(path.dirname(target), { recursive: true });
32
+ await fs.writeFile(target, contents);
33
+ return target;
34
+ }
35
+ export default writeCmsBaseline;
36
+ //# sourceMappingURL=cmsBaseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmsBaseline.js","sourceRoot":"","sources":["../../src/core/cmsBaseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACH,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,EAAE,kBAAkB,EAAE,GAAG,cAAc,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAS;IAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,GAAG;QAAE,OAAO,IAAI,CAAC;IAE7B,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC;QACD,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACL,2BAA2B;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IACzE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cssResolver.d.ts","sourceRoot":"","sources":["../../src/core/cssResolver.ts"],"names":[],"mappings":"AAsFA,iBAAe,kBAAkB,CAAC,SAAS,KAAA,mBAmB1C;AAkBD,iBAAe,aAAa,CAAC,SAAS,KAAA,mBA0BrC;AAED,eAAe,aAAa,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"cssResolver.d.ts","sourceRoot":"","sources":["../../src/core/cssResolver.ts"],"names":[],"mappings":"AAuFA,iBAAe,kBAAkB,CAAC,SAAS,KAAA,mBAoB1C;AAmCD,iBAAe,aAAa,CAAC,SAAS,KAAA,mBA0BrC;AAED,eAAe,aAAa,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import themeResolver from "./themeResolverSync.js";
2
2
  import path from "node:path";
3
- import { MODULE_TEMPLATES_PATH, MODULE_WEB_PATH, THEME_CSS_FOLDER, THEME_MODULE_WEB_PATH, } from "../config/default.js";
3
+ import { CMS_CONTENT_DIR, MODULE_TEMPLATES_PATH, MODULE_WEB_PATH, THEME_CSS_FOLDER, THEME_MODULE_WEB_PATH, } from "../config/default.js";
4
4
  import { resolveFileByTheme, getAllJsVueFilesWithInheritanceCached } from "./moduleResolver.js";
5
5
  import configResolver from "./configResolver.js";
6
6
  import fs from "node:fs/promises";
@@ -78,8 +78,26 @@ async function getTemplateSources(themeName) {
78
78
  }
79
79
  }
80
80
  sources += await getThemeTemplateSources(themeName);
81
+ sources += await getCmsContentSource(themeName);
81
82
  return sources;
82
83
  }
84
+ // Classes an author writes in a CMS page or block live in a database, which no
85
+ // scanner can read. `mage-obsidian:cms:export` dumps that content to files;
86
+ // this registers the directory so the build covers everything that existed when
87
+ // it ran. A theme opts out with `scanCmsContent: false`, and a missing
88
+ // directory just means the export was never run.
89
+ async function getCmsContentSource(themeName) {
90
+ const themeConfig = await themeResolver.getThemeConfig(themeName);
91
+ if (themeConfig?.scanCmsContent === false)
92
+ return "";
93
+ try {
94
+ await fs.access(CMS_CONTENT_DIR);
95
+ }
96
+ catch {
97
+ return "";
98
+ }
99
+ return `@source "${CMS_CONTENT_DIR}";\n`;
100
+ }
83
101
  async function getVueComponentsSource(themeName) {
84
102
  const { ignoreAllModules, excludedModules } = await getScanExclusions(themeName);
85
103
  const vueComponents = await getAllJsVueFilesWithInheritanceCached(themeName);
@@ -1 +1 @@
1
- {"version":3,"file":"cssResolver.js","sourceRoot":"","sources":["../../src/core/cssResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cssResolver.js","sourceRoot":"","sources":["../../src/core/cssResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Renders an island component's initial state to the HTML a template has to emit
3
+ * for `renderVueComponent`'s `$serverHtml` argument.
4
+ *
5
+ * Vue's hydration expects fragment anchors (`<!--[-->`, `<!---->`) that nobody
6
+ * can reasonably write by hand, so the markup is generated from the component's
7
+ * own `<template>` instead of transcribed. Only the template is used: the SFC's
8
+ * `<script setup>` is never executed, so this needs no bundler, no alias
9
+ * resolution and no browser โ€” the caller supplies the state the template reads,
10
+ * which is the same state the server will have.
11
+ *
12
+ * Development tooling only. Nothing here ships to a storefront.
13
+ */
14
+ export interface SsrDeps {
15
+ createSSRApp(component: unknown, props?: Record<string, unknown>): unknown;
16
+ renderToString(app: unknown): Promise<string>;
17
+ }
18
+ /**
19
+ * Pull the `<template>` block out of a single-file component.
20
+ *
21
+ * @throws Error When the file has no template block.
22
+ */
23
+ export declare function extractTemplate(source: string, file?: string): string;
24
+ /**
25
+ * Render a component's template against a state object.
26
+ *
27
+ * `state` becomes the component's setup bindings, so it can carry the methods a
28
+ * template calls (`isAvailable()`, `swatchOf()`, โ€ฆ) and not just plain data. A
29
+ * `components` key is lifted out and registered instead: a template compiled at
30
+ * runtime resolves child components through the options entry, not through setup
31
+ * bindings the way a compiled `<script setup>` does.
32
+ */
33
+ export declare function renderIsland(template: string, state: Record<string, unknown>, props: Record<string, unknown>, deps: SsrDeps): Promise<string>;
34
+ /**
35
+ * Break a rendered island into one line per element, for a readable diff against
36
+ * a template. Purely cosmetic โ€” the value handed to `$serverHtml` is the
37
+ * unformatted string, and PHP condenses whitespace anyway.
38
+ */
39
+ export declare function formatForReading(html: string): string;
40
+ //# sourceMappingURL=islandSsr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"islandSsr.d.ts","sourceRoot":"","sources":["../../src/core/islandSsr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,OAAO;IACpB,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC3E,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,SAAc,GAAG,MAAM,CAa1E;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Renders an island component's initial state to the HTML a template has to emit
3
+ * for `renderVueComponent`'s `$serverHtml` argument.
4
+ *
5
+ * Vue's hydration expects fragment anchors (`<!--[-->`, `<!---->`) that nobody
6
+ * can reasonably write by hand, so the markup is generated from the component's
7
+ * own `<template>` instead of transcribed. Only the template is used: the SFC's
8
+ * `<script setup>` is never executed, so this needs no bundler, no alias
9
+ * resolution and no browser โ€” the caller supplies the state the template reads,
10
+ * which is the same state the server will have.
11
+ *
12
+ * Development tooling only. Nothing here ships to a storefront.
13
+ */
14
+ /**
15
+ * Pull the `<template>` block out of a single-file component.
16
+ *
17
+ * @throws Error When the file has no template block.
18
+ */
19
+ export function extractTemplate(source, file = "component") {
20
+ const opening = source.match(/<template(\s[^>]*)?>/);
21
+ if (!opening || opening.index === undefined) {
22
+ throw new Error(`${file} has no <template> block, so there is no markup to render.`);
23
+ }
24
+ const start = opening.index + opening[0].length;
25
+ const end = source.lastIndexOf("</template>");
26
+ if (end < start) {
27
+ throw new Error(`${file} has an unterminated <template> block.`);
28
+ }
29
+ return source.slice(start, end).trim();
30
+ }
31
+ /**
32
+ * Render a component's template against a state object.
33
+ *
34
+ * `state` becomes the component's setup bindings, so it can carry the methods a
35
+ * template calls (`isAvailable()`, `swatchOf()`, โ€ฆ) and not just plain data. A
36
+ * `components` key is lifted out and registered instead: a template compiled at
37
+ * runtime resolves child components through the options entry, not through setup
38
+ * bindings the way a compiled `<script setup>` does.
39
+ */
40
+ export async function renderIsland(template, state, props, deps) {
41
+ const { components = {}, ...bindings } = state;
42
+ const component = {
43
+ props: Object.keys(props),
44
+ components: components,
45
+ setup: () => bindings,
46
+ template,
47
+ };
48
+ return deps.renderToString(deps.createSSRApp(component, props));
49
+ }
50
+ /**
51
+ * Break a rendered island into one line per element, for a readable diff against
52
+ * a template. Purely cosmetic โ€” the value handed to `$serverHtml` is the
53
+ * unformatted string, and PHP condenses whitespace anyway.
54
+ */
55
+ export function formatForReading(html) {
56
+ return html.replace(/></g, ">\n<");
57
+ }
58
+ //# sourceMappingURL=islandSsr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"islandSsr.js","sourceRoot":"","sources":["../../src/core/islandSsr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,IAAI,GAAG,WAAW;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,4DAA4D,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wCAAwC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,QAAgB,EAChB,KAA8B,EAC9B,KAA8B,EAC9B,IAAa;IAEb,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,SAAS,GAAG;QACd,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,UAAU,EAAE,UAAqC;QACjD,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;QACrB,QAAQ;KACX,CAAC;IAEF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,31 @@
1
+ export declare const ActivityPhase: {
2
+ readonly Begin: "begin";
3
+ readonly End: "end";
4
+ };
5
+ export type ActivityPhase = (typeof ActivityPhase)[keyof typeof ActivityPhase];
6
+ export interface ActivityMatch {
7
+ phase: ActivityPhase;
8
+ scopes: string[];
9
+ }
10
+ export interface ActivityTrackerDeps {
11
+ onChange?(scope: string, pending: number): void;
12
+ schedule?(callback: () => void, ms: number): () => void;
13
+ timeoutMs?: number;
14
+ onStuck?(scope: string): void;
15
+ }
16
+ export declare function matchActivity(event: string): ActivityMatch | null;
17
+ export declare class ActivityTracker {
18
+ private readonly counts;
19
+ private readonly timers;
20
+ private readonly deps;
21
+ constructor(deps?: ActivityTrackerDeps);
22
+ begin(scope: string): void;
23
+ end(scope: string): void;
24
+ pending(scope: string): number;
25
+ isBusy(scope: string): boolean;
26
+ busyScopes(): string[];
27
+ private arm;
28
+ private disarm;
29
+ }
30
+ export declare function createActivityTracker(deps?: ActivityTrackerDeps): ActivityTracker;
31
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/runtime/activity.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAWD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAiBjE;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;gBAE/B,IAAI,GAAE,mBAAwB;IAI1C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAaxB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI9B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9B,UAAU,IAAI,MAAM,EAAE;IAItB,OAAO,CAAC,GAAG;IAoBX,OAAO,CAAC,MAAM;CAIjB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,mBAAwB,GAAG,eAAe,CAErF"}
@@ -0,0 +1,89 @@
1
+ import { MutationPhase, MUTATION_PHASES } from "./mutationEvent.js";
2
+ export const ActivityPhase = {
3
+ Begin: "begin",
4
+ End: "end",
5
+ };
6
+ const PHASE_ACTIVITY = {
7
+ [MutationPhase.Before]: ActivityPhase.Begin,
8
+ [MutationPhase.After]: ActivityPhase.End,
9
+ [MutationPhase.Failed]: ActivityPhase.End,
10
+ };
11
+ const SEPARATOR = "_";
12
+ const DEFAULT_TIMEOUT_MS = 15_000;
13
+ export function matchActivity(event) {
14
+ for (const phase of MUTATION_PHASES) {
15
+ const suffix = `${SEPARATOR}${phase}`;
16
+ if (!event.endsWith(suffix)) {
17
+ continue;
18
+ }
19
+ const operation = event.slice(0, -suffix.length);
20
+ const domain = operation.split(SEPARATOR)[0];
21
+ if (!domain || !operation) {
22
+ return null;
23
+ }
24
+ return {
25
+ phase: PHASE_ACTIVITY[phase],
26
+ scopes: domain === operation ? [domain] : [domain, operation],
27
+ };
28
+ }
29
+ return null;
30
+ }
31
+ export class ActivityTracker {
32
+ counts = new Map();
33
+ timers = new Map();
34
+ deps;
35
+ constructor(deps = {}) {
36
+ this.deps = deps;
37
+ }
38
+ begin(scope) {
39
+ const next = this.pending(scope) + 1;
40
+ this.counts.set(scope, next);
41
+ if (next === 1) {
42
+ this.arm(scope);
43
+ }
44
+ this.deps.onChange?.(scope, next);
45
+ }
46
+ end(scope) {
47
+ const current = this.pending(scope);
48
+ if (current === 0) {
49
+ return;
50
+ }
51
+ const next = current - 1;
52
+ this.counts.set(scope, next);
53
+ if (next === 0) {
54
+ this.disarm(scope);
55
+ }
56
+ this.deps.onChange?.(scope, next);
57
+ }
58
+ pending(scope) {
59
+ return this.counts.get(scope) ?? 0;
60
+ }
61
+ isBusy(scope) {
62
+ return this.pending(scope) > 0;
63
+ }
64
+ busyScopes() {
65
+ return [...this.counts.entries()].filter(([, count]) => count > 0).map(([scope]) => scope);
66
+ }
67
+ arm(scope) {
68
+ const timeout = this.deps.timeoutMs ?? DEFAULT_TIMEOUT_MS;
69
+ const schedule = this.deps.schedule ??
70
+ ((callback, ms) => {
71
+ const id = setTimeout(callback, ms);
72
+ return () => clearTimeout(id);
73
+ });
74
+ this.timers.set(scope, schedule(() => {
75
+ this.timers.delete(scope);
76
+ this.counts.set(scope, 0);
77
+ this.deps.onStuck?.(scope);
78
+ this.deps.onChange?.(scope, 0);
79
+ }, timeout));
80
+ }
81
+ disarm(scope) {
82
+ this.timers.get(scope)?.();
83
+ this.timers.delete(scope);
84
+ }
85
+ }
86
+ export function createActivityTracker(deps = {}) {
87
+ return new ActivityTracker(deps);
88
+ }
89
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/runtime/activity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export interface StorefrontEventMap {
2
+ }
3
+ export type KnownEvent = keyof StorefrontEventMap & string;
4
+ export type EventObserver<T = Record<string, unknown>> = (data: T) => void | Promise<void>;
5
+ export interface ObserverOptions {
6
+ name?: string;
7
+ sortOrder?: number;
8
+ }
9
+ export interface ObserverEntry {
10
+ name: string;
11
+ observer: EventObserver<never>;
12
+ sortOrder: number;
13
+ }
14
+ export interface DispatchOptions {
15
+ sticky?: boolean;
16
+ mirror?: boolean;
17
+ }
18
+ export interface DispatchHook {
19
+ start?(event: string, data: object, options: DispatchOptions): void;
20
+ end?(event: string, data: object, options: DispatchOptions): void;
21
+ }
22
+ export interface EventManagerDeps {
23
+ onError?(event: string, name: string, error: unknown): void;
24
+ now?(): number;
25
+ debug?: boolean;
26
+ }
27
+ export declare class EventManager {
28
+ private readonly observers;
29
+ private readonly hooks;
30
+ private readonly stickyData;
31
+ private readonly deps;
32
+ private debugging;
33
+ constructor(deps?: EventManagerDeps);
34
+ observe<K extends KnownEvent>(event: K, observer: EventObserver<StorefrontEventMap[K]>, options?: ObserverOptions): () => void;
35
+ observe<T = Record<string, unknown>>(event: string, observer: EventObserver<T>, options?: ObserverOptions): () => void;
36
+ observeOnce<K extends KnownEvent>(event: K, observer: EventObserver<StorefrontEventMap[K]>, options?: ObserverOptions): () => void;
37
+ observeOnce<T = Record<string, unknown>>(event: string, observer: EventObserver<T>, options?: ObserverOptions): () => void;
38
+ dispatch<K extends KnownEvent>(event: K, data: StorefrontEventMap[K], options?: DispatchOptions): Promise<StorefrontEventMap[K]>;
39
+ dispatch<T extends object>(event: string, data: T, options?: DispatchOptions): Promise<T>;
40
+ sticky(event: string): object | undefined;
41
+ onDispatch(hook: DispatchHook): () => void;
42
+ debug(enabled?: boolean): void;
43
+ observersOf(event: string): string[];
44
+ private invoke;
45
+ private runHooks;
46
+ private clock;
47
+ private report;
48
+ }
49
+ //# sourceMappingURL=eventManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventManager.d.ts","sourceRoot":"","sources":["../../src/runtime/eventManager.ts"],"names":[],"mappings":"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"}