mage-obsidian 2.3.0 โ 2.4.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/README.md +30 -12
- package/dist/cli/buildThemes.js +2 -2
- package/dist/cli/buildThemes.js.map +1 -1
- package/dist/cli/criticalCss.d.ts +2 -0
- package/dist/cli/criticalCss.d.ts.map +1 -0
- package/dist/cli/criticalCss.js +22 -0
- package/dist/cli/criticalCss.js.map +1 -0
- package/dist/core/criticalCss.d.ts +8 -0
- package/dist/core/criticalCss.d.ts.map +1 -0
- package/dist/core/criticalCss.js +52 -0
- package/dist/core/criticalCss.js.map +1 -0
- package/dist/core/themeResolverSync.d.ts.map +1 -1
- package/dist/core/themeResolverSync.js +1 -0
- package/dist/core/themeResolverSync.js.map +1 -1
- package/dist/runtime/i18nCore.d.ts.map +1 -1
- package/dist/runtime/i18nCore.js.map +1 -1
- package/dist/vite/vueAlias.d.ts +7 -0
- package/dist/vite/vueAlias.d.ts.map +1 -0
- package/dist/vite/vueAlias.js +11 -0
- package/dist/vite/vueAlias.js.map +1 -0
- package/package.json +17 -4
package/README.md
CHANGED
|
@@ -1,19 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
# MageObsidian JS Utils
|
|
1
|
+
# mage-obsidian โ JS Build Engine
|
|
4
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/mage-obsidian)
|
|
4
|
+
[](https://github.com/mage-obsidian/js-package-utils/actions/workflows/ci.yml)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
๐ [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
|
+
|
|
9
|
+
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.
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
|
|
13
|
+
- **Theme inheritance resolution** โ merges module web assets with theme and parent-theme overrides into the final set of JS/Vue/CSS entries, Magento-style.
|
|
14
|
+
- **Precompilation** โ generates per-theme `precompiled.js` / `precompiled.css` consumed as Vite inputs.
|
|
15
|
+
- **JS interceptors** โ a port of Magento's plugin system (`before`/`around`/`after`, `sortOrder`) implemented as a Vite plugin with virtual modules, so a module can customize another module's JS without patching its source.
|
|
16
|
+
- **`mage-obsidian:build-themes`** โ the CLI that reads the config contract generated by the PHP side and runs `vite build` / dev server per theme.
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
You normally don't install this package directly โ it comes with the [Vite harness](https://github.com/mage-obsidian/component-modern-frontend):
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
composer require mage-obsidian/component-modern-frontend
|
|
24
|
+
pnpm --prefix vite install
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
See the [documentation](https://mage-obsidian.jeanmarcos.dev/) for theme/module configuration (`theme.config.js`, `module.config.ts`, interceptors and more).
|
|
8
28
|
|
|
9
|
-
##
|
|
29
|
+
## Development
|
|
10
30
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- [Docs](https://github.com/mage-obsidian/docs)
|
|
15
|
-
- [JS Utils](https://github.com/mage-obsidian/js-package-utils)
|
|
31
|
+
```bash
|
|
32
|
+
npm test # Jest with native ESM
|
|
33
|
+
```
|
|
16
34
|
|
|
17
|
-
##
|
|
35
|
+
## Support the project
|
|
18
36
|
|
|
19
|
-
|
|
37
|
+
If MageObsidian saves you time, consider [buying me a coffee](https://ko-fi.com/Q5Q816Z9WN). โค๏ธ
|
package/dist/cli/buildThemes.js
CHANGED
|
@@ -24,8 +24,8 @@ let theme;
|
|
|
24
24
|
if (options.devServer) {
|
|
25
25
|
const selected = selectThemeForDevServer(options.theme, Object.keys(themesConfig), Boolean(process.stdin.isTTY), (themes) => readlineSync.keyInSelect(themes, "Select a theme to serve"));
|
|
26
26
|
if (!selected) {
|
|
27
|
-
console.error(chalk.red("Error: The --theme option is required when using --dev-server. "
|
|
28
|
-
|
|
27
|
+
console.error(chalk.red("Error: The --theme option is required when using --dev-server. " +
|
|
28
|
+
"Pass --theme <Vendor/theme>, or run from an interactive terminal to pick one."));
|
|
29
29
|
process.exit(1);
|
|
30
30
|
}
|
|
31
31
|
theme = selected;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildThemes.js","sourceRoot":"","sources":["../../src/cli/buildThemes.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;KACrD,MAAM,CAAC,cAAc,EAAE,iDAAiD,CAAC;KACzE,MAAM,CAAC,aAAa,EAAE,2DAA2D,CAAC,CAAC;AAExF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/B,MAAM,YAAY,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;AAE9D,IAAI,KAAa,CAAC;AAClB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,uBAAuB,CACpC,OAAO,CAAC,KAAK,EACb,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EACzB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAC1E,CAAC;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,CACL,iEAAiE;
|
|
1
|
+
{"version":3,"file":"buildThemes.js","sourceRoot":"","sources":["../../src/cli/buildThemes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criticalCss.d.ts","sourceRoot":"","sources":["../../src/cli/criticalCss.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { extractCritical } from "../core/criticalCss.js";
|
|
3
|
+
// Internal bin the PHP `mage-obsidian:frontend:critical-css` command shells out
|
|
4
|
+
// to: it takes the rendered page HTML and the built stylesheet and writes the
|
|
5
|
+
// critical CSS. Kept argv-only (no commander) because it is machine-invoked.
|
|
6
|
+
function arg(name) {
|
|
7
|
+
const i = process.argv.indexOf(name);
|
|
8
|
+
return i > -1 ? process.argv[i + 1] : undefined;
|
|
9
|
+
}
|
|
10
|
+
const htmlFile = arg("--html");
|
|
11
|
+
const cssFile = arg("--css");
|
|
12
|
+
const outFile = arg("--out");
|
|
13
|
+
if (!htmlFile || !cssFile || !outFile) {
|
|
14
|
+
console.error("usage: criticalCss --html <file> --css <file> --out <file>");
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
const html = readFileSync(htmlFile, "utf8");
|
|
18
|
+
const css = readFileSync(cssFile, "utf8");
|
|
19
|
+
const critical = await extractCritical({ html, css });
|
|
20
|
+
writeFileSync(outFile, critical);
|
|
21
|
+
console.log(`critical: ${critical.length} bytes -> ${outFile}`);
|
|
22
|
+
//# sourceMappingURL=criticalCss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criticalCss.js","sourceRoot":"","sources":["../../src/cli/criticalCss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,SAAS,GAAG,CAAC,IAAY;IACrB,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;AAE7B,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC1C,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AACtD,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACjC,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,aAAa,OAAO,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function extractFontFaces(css: string): string;
|
|
2
|
+
export interface ExtractCriticalOptions {
|
|
3
|
+
html: string;
|
|
4
|
+
css: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function extractCritical({ html, css }: ExtractCriticalOptions): Promise<string>;
|
|
7
|
+
export default extractCritical;
|
|
8
|
+
//# sourceMappingURL=criticalCss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criticalCss.d.ts","sourceRoot":"","sources":["../../src/core/criticalCss.ts"],"names":[],"mappings":"AA2BA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AASD,wBAAsB,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0B5F;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import Beasties from "beasties";
|
|
2
|
+
import { mkdtempSync, writeFileSync, rmSync } from "node:fs";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
const BeastiesClass = Beasties;
|
|
6
|
+
const FONT_FACE_RE = /@font-face\s*\{[^}]*\}/g;
|
|
7
|
+
const STYLE_RE = /<style[^>]*>([\s\S]*?)<\/style>/i;
|
|
8
|
+
const SHEET_LINK_RE = /<link\b[^>]*\bhref="[^"]*\.css"[^>]*>/i;
|
|
9
|
+
// Pull the @font-face blocks out of a stylesheet verbatim. They must live in the
|
|
10
|
+
// inlined critical CSS so the families are declared before the deferred sheet
|
|
11
|
+
// loads โ Beasties drops them from the critical subset (inlineFonts is off so it
|
|
12
|
+
// never base64s a whole variable font into the head).
|
|
13
|
+
export function extractFontFaces(css) {
|
|
14
|
+
return (css.match(FONT_FACE_RE) ?? []).join("");
|
|
15
|
+
}
|
|
16
|
+
// Run Beasties over the real rendered HTML against the full stylesheet and
|
|
17
|
+
// return the critical CSS it would inline. The PHP side does the actual inlining
|
|
18
|
+
// and sheet-deferring, so we only need the text; @font-face is prepended because
|
|
19
|
+
// Beasties leaves it out of the critical subset.
|
|
20
|
+
//
|
|
21
|
+
// Beasties resolves <link> hrefs from disk, so the sheet is written to a temp
|
|
22
|
+
// dir and the page's stylesheet link is repointed at it.
|
|
23
|
+
export async function extractCritical({ html, css }) {
|
|
24
|
+
const dir = mkdtempSync(join(tmpdir(), "mo-critical-"));
|
|
25
|
+
try {
|
|
26
|
+
const sheet = "sheet.css";
|
|
27
|
+
writeFileSync(join(dir, sheet), css);
|
|
28
|
+
// Strip any already-inlined critical <style> (a re-run sees the prior
|
|
29
|
+
// output in the page) and repoint the sheet link so Beasties extracts
|
|
30
|
+
// afresh from the full stylesheet only.
|
|
31
|
+
const wired = html
|
|
32
|
+
.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, "")
|
|
33
|
+
.replace(SHEET_LINK_RE, `<link rel="stylesheet" href="${sheet}">`);
|
|
34
|
+
const beasties = new BeastiesClass({
|
|
35
|
+
path: dir,
|
|
36
|
+
pruneSource: false,
|
|
37
|
+
mergeStylesheets: false,
|
|
38
|
+
inlineFonts: false,
|
|
39
|
+
preloadFonts: false,
|
|
40
|
+
logLevel: "silent",
|
|
41
|
+
});
|
|
42
|
+
const processed = await beasties.process(wired);
|
|
43
|
+
const match = processed.match(STYLE_RE);
|
|
44
|
+
const critical = match ? match[1].trim() : "";
|
|
45
|
+
return [extractFontFaces(css), critical].filter(Boolean).join("\n");
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
rmSync(dir, { recursive: true, force: true });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export default extractCritical;
|
|
52
|
+
//# sourceMappingURL=criticalCss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"criticalCss.js","sourceRoot":"","sources":["../../src/core/criticalCss.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAcjC,MAAM,aAAa,GAAG,QAAmC,CAAC;AAE1D,MAAM,YAAY,GAAG,yBAAyB,CAAC;AAC/C,MAAM,QAAQ,GAAG,kCAAkC,CAAC;AACpD,MAAM,aAAa,GAAG,wCAAwC,CAAC;AAE/D,iFAAiF;AACjF,8EAA8E;AAC9E,iFAAiF;AACjF,sDAAsD;AACtD,MAAM,UAAU,gBAAgB,CAAC,GAAW;IACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpD,CAAC;AAOD,2EAA2E;AAC3E,iFAAiF;AACjF,iFAAiF;AACjF,iDAAiD;AACjD,EAAE;AACF,8EAA8E;AAC9E,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAA0B;IACvE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC;QAC1B,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,sEAAsE;QACtE,sEAAsE;QACtE,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI;aACb,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;aAChD,OAAO,CAAC,aAAa,EAAE,gCAAgC,KAAK,IAAI,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC;YAC/B,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;YAAS,CAAC;QACP,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;AACL,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeResolverSync.d.ts","sourceRoot":"","sources":["../../src/core/themeResolverSync.ts"],"names":[],"mappings":"AA0CA,wBAAsB,cAAc,CAAC,SAAS,KAAA,
|
|
1
|
+
{"version":3,"file":"themeResolverSync.d.ts","sourceRoot":"","sources":["../../src/core/themeResolverSync.ts"],"names":[],"mappings":"AA0CA,wBAAsB,cAAc,CAAC,SAAS,KAAA,gBAmB7C;;;;AAGD,wBAEE"}
|
|
@@ -51,6 +51,7 @@ export async function getThemeConfig(themeName) {
|
|
|
51
51
|
themeConfig.includeCssSourceFromParentThemes ??= true;
|
|
52
52
|
themeConfig.ignoredCssFromModules ??= [];
|
|
53
53
|
themeConfig.exposeNpmPackages ??= [];
|
|
54
|
+
themeConfig.vue ??= { runtimeOnly: false };
|
|
54
55
|
if (themeDefinition.parent) {
|
|
55
56
|
const parentConfig = await getThemeConfig(themeDefinition.parent);
|
|
56
57
|
themeConfig = deepmerge(parentConfig || {}, themeConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeResolverSync.js","sourceRoot":"","sources":["../../src/core/themeResolverSync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"themeResolverSync.js","sourceRoot":"","sources":["../../src/core/themeResolverSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nCore.d.ts","sourceRoot":"","sources":["../../src/runtime/i18nCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,SAAS;IACf,sBAAsB,CAAC,EAAE,UAAU,CAAC;CACvC;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGhD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,sBAAsB,CAAC,EAAE,UAAU,CAAC;KACvC;CACJ;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,EAAO,GAAG,MAAM,CAQtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACzC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,OAAO,EAAO,GACrB,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,KAAK,GAAE,SAAS,GAAG,SAA8D,GAClF;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAMlD;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,SAAS,GAAE,OAAO,KAAK,GAAG,SAA4D,GACvF,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"i18nCore.d.ts","sourceRoot":"","sources":["../../src/runtime/i18nCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,SAAS;IACf,sBAAsB,CAAC,EAAE,UAAU,CAAC;CACvC;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGhD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,sBAAsB,CAAC,EAAE,UAAU,CAAC;KACvC;CACJ;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,EAAO,GAAG,MAAM,CAQtE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACzC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,OAAO,EAAO,GACrB,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,KAAK,GAAE,SAAS,GAAG,SAA8D,GAClF;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAMlD;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,SAAS,GAAE,OAAO,KAAK,GAAG,SAA4D,GACvF,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAgBD;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI;eACF,MAAM,WAAW,OAAO,EAAE,GAAG,MAAM;CAIjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nCore.js","sourceRoot":"","sources":["../../src/runtime/i18nCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoBH,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAkB,EAAE;IAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,UAAyC,EACzC,MAAc,EACd,OAAkB,EAAE;IAEpB,MAAM,IAAI,GAAG,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9F,OAAO,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC1B,QAA+B,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;IAEjF,MAAM,MAAM,GAAG,KAAK,IAAI,KAAK,CAAC,sBAAsB,CAAC;IACrD,OAAO;QACH,MAAM,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO;QAC5C,aAAa,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI;KAC1D,CAAC;AACN,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAA+B,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC1B,GAA8B,EAC9B,YAAsC,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;IAEtF,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,OAAO,GAAwB,SAAS,CAAC,GAAG,CAAC;aAC9C,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aAChD,IAAI,
|
|
1
|
+
{"version":3,"file":"i18nCore.js","sourceRoot":"","sources":["../../src/runtime/i18nCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vueAlias.d.ts","sourceRoot":"","sources":["../../src/vite/vueAlias.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAMD,wBAAgB,eAAe,CAAC,EAC5B,WAAmB,EACnB,UAAkB,GACrB,GAAE,eAAoB,GAAG,MAAM,CAI/B;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// runtime-only drops Vue's template compiler (~61 KiB), which the island
|
|
2
|
+
// bootstrap never uses โ every component is a precompiled SFC. Themes relying
|
|
3
|
+
// on the in-DOM template escape hatch must keep the full build, so this stays
|
|
4
|
+
// opt-in per theme.
|
|
5
|
+
export function resolveVueAlias({ runtimeOnly = false, production = false, } = {}) {
|
|
6
|
+
const build = runtimeOnly ? "vue.runtime.esm-browser" : "vue.esm-browser";
|
|
7
|
+
const ext = production ? ".prod.js" : ".js";
|
|
8
|
+
return `vue/dist/${build}${ext}`;
|
|
9
|
+
}
|
|
10
|
+
export default resolveVueAlias;
|
|
11
|
+
//# sourceMappingURL=vueAlias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vueAlias.js","sourceRoot":"","sources":["../../src/vite/vueAlias.ts"],"names":[],"mappings":"AAKA,yEAAyE;AACzE,8EAA8E;AAC9E,8EAA8E;AAC9E,oBAAoB;AACpB,MAAM,UAAU,eAAe,CAAC,EAC5B,WAAW,GAAG,KAAK,EACnB,UAAU,GAAG,KAAK,MACD,EAAE;IACnB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC1E,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,OAAO,YAAY,KAAK,GAAG,GAAG,EAAE,CAAC;AACrC,CAAC;AAED,eAAe,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mage-obsidian",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.4.1",
|
|
4
|
+
"description": "The MageObsidian JS build engine for Magento 2 frontends: theme inheritance resolution, precompilation and JS interceptors for Vite builds.",
|
|
5
|
+
"homepage": "https://mage-obsidian.jeanmarcos.dev/",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/mage-obsidian/js-package-utils/issues"
|
|
8
|
+
},
|
|
5
9
|
"repository": {
|
|
6
10
|
"type": "git",
|
|
7
11
|
"url": "git+https://github.com/mage-obsidian/js-package-utils.git"
|
|
@@ -12,8 +16,16 @@
|
|
|
12
16
|
"dist"
|
|
13
17
|
],
|
|
14
18
|
"keywords": [
|
|
15
|
-
"
|
|
16
|
-
"
|
|
19
|
+
"magento",
|
|
20
|
+
"magento2",
|
|
21
|
+
"mageobsidian",
|
|
22
|
+
"vite",
|
|
23
|
+
"vue",
|
|
24
|
+
"tailwindcss",
|
|
25
|
+
"frontend",
|
|
26
|
+
"theme",
|
|
27
|
+
"build-tools",
|
|
28
|
+
"esm"
|
|
17
29
|
],
|
|
18
30
|
"author": "Jeanmarcos Juarez",
|
|
19
31
|
"license": "MIT",
|
|
@@ -84,6 +96,7 @@
|
|
|
84
96
|
}
|
|
85
97
|
},
|
|
86
98
|
"dependencies": {
|
|
99
|
+
"beasties": "^0.4.2",
|
|
87
100
|
"chalk": "^5.4.1",
|
|
88
101
|
"commander": "^13.1.0",
|
|
89
102
|
"deepmerge": "^4.3.1",
|