mage-obsidian 2.0.0 → 2.2.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.
- package/dist/cli/buildThemes.d.ts +3 -0
- package/dist/cli/buildThemes.d.ts.map +1 -0
- package/{src/cli/buildThemes.ts → dist/cli/buildThemes.js} +77 -121
- package/dist/cli/buildThemes.js.map +1 -0
- package/dist/config/default.d.ts +16 -0
- package/dist/config/default.d.ts.map +1 -0
- package/{src/config/default.ts → dist/config/default.js} +2 -11
- package/dist/config/default.js.map +1 -0
- package/dist/core/configResolver.d.ts +38 -0
- package/dist/core/configResolver.d.ts.map +1 -0
- package/{src/core/configResolver.ts → dist/core/configResolver.js} +21 -60
- package/dist/core/configResolver.js.map +1 -0
- package/dist/core/contractValidator.d.ts +16 -0
- package/dist/core/contractValidator.d.ts.map +1 -0
- package/{src/core/contractValidator.ts → dist/core/contractValidator.js} +3 -10
- package/dist/core/contractValidator.js.map +1 -0
- package/dist/core/cssResolver.d.ts +5 -0
- package/dist/core/cssResolver.d.ts.map +1 -0
- package/{src/core/cssResolver.ts → dist/core/cssResolver.js} +26 -53
- package/dist/core/cssResolver.js.map +1 -0
- package/dist/core/generateInterceptors.d.ts +10 -0
- package/dist/core/generateInterceptors.d.ts.map +1 -0
- package/{src/core/generateInterceptors.ts → dist/core/generateInterceptors.js} +55 -109
- package/dist/core/generateInterceptors.js.map +1 -0
- package/dist/core/generateJsconfig.d.ts +45 -0
- package/dist/core/generateJsconfig.d.ts.map +1 -0
- package/{src/core/generateJsconfig.ts → dist/core/generateJsconfig.js} +32 -55
- package/dist/core/generateJsconfig.js.map +1 -0
- package/dist/core/moduleResolver.d.ts +22 -0
- package/dist/core/moduleResolver.d.ts.map +1 -0
- package/{src/core/moduleResolver.ts → dist/core/moduleResolver.js} +28 -62
- package/dist/core/moduleResolver.js.map +1 -0
- package/dist/core/preCompileFiles.d.ts +6 -0
- package/dist/core/preCompileFiles.d.ts.map +1 -0
- package/{src/core/preCompileFiles.ts → dist/core/preCompileFiles.js} +22 -48
- package/dist/core/preCompileFiles.js.map +1 -0
- package/dist/core/preCompileMagentoFiles.d.ts +3 -0
- package/dist/core/preCompileMagentoFiles.d.ts.map +1 -0
- package/{src/core/preCompileMagentoFiles.ts → dist/core/preCompileMagentoFiles.js} +4 -10
- package/dist/core/preCompileMagentoFiles.js.map +1 -0
- package/dist/core/themeResolverSync.d.ts +6 -0
- package/dist/core/themeResolverSync.d.ts.map +1 -0
- package/{src/core/themeResolverSync.ts → dist/core/themeResolverSync.js} +25 -26
- package/dist/core/themeResolverSync.js.map +1 -0
- package/dist/runtime/i18nCore.d.ts +71 -0
- package/dist/runtime/i18nCore.d.ts.map +1 -0
- package/{src/runtime/i18nCore.ts → dist/runtime/i18nCore.js} +47 -49
- package/dist/runtime/i18nCore.js.map +1 -0
- package/dist/runtime/interceptorManager.d.ts +45 -0
- package/dist/runtime/interceptorManager.d.ts.map +1 -0
- package/{src/runtime/interceptorManager.ts → dist/runtime/interceptorManager.js} +14 -72
- package/dist/runtime/interceptorManager.js.map +1 -0
- package/dist/runtime/islands.d.ts +45 -0
- package/dist/runtime/islands.d.ts.map +1 -0
- package/{src/runtime/islands.ts → dist/runtime/islands.js} +5 -30
- package/dist/runtime/islands.js.map +1 -0
- package/dist/runtime/sectionStoreCore.d.ts +108 -0
- package/dist/runtime/sectionStoreCore.d.ts.map +1 -0
- package/{src/runtime/sectionStoreCore.ts → dist/runtime/sectionStoreCore.js} +23 -93
- package/dist/runtime/sectionStoreCore.js.map +1 -0
- package/dist/utils/findComponents.d.ts +17 -0
- package/dist/utils/findComponents.d.ts.map +1 -0
- package/dist/utils/findComponents.js +66 -0
- package/dist/utils/findComponents.js.map +1 -0
- package/dist/utils/runWithConcurrency.d.ts +10 -0
- package/dist/utils/runWithConcurrency.d.ts.map +1 -0
- package/{src/utils/runWithConcurrency.ts → dist/utils/runWithConcurrency.js} +3 -9
- package/dist/utils/runWithConcurrency.js.map +1 -0
- package/dist/vite/defaultNodeResolver.d.ts +9 -0
- package/dist/vite/defaultNodeResolver.d.ts.map +1 -0
- package/{src/vite/defaultNodeResolver.ts → dist/vite/defaultNodeResolver.js} +3 -1
- package/dist/vite/defaultNodeResolver.js.map +1 -0
- package/dist/vite/inheritAssetsModuleResolver.d.ts +8 -0
- package/dist/vite/inheritAssetsModuleResolver.d.ts.map +1 -0
- package/{src/vite/inheritAssetsModuleResolver.ts → dist/vite/inheritAssetsModuleResolver.js} +6 -20
- package/dist/vite/inheritAssetsModuleResolver.js.map +1 -0
- package/dist/vite/inheritModuleResolver.d.ts +8 -0
- package/dist/vite/inheritModuleResolver.d.ts.map +1 -0
- package/{src/vite/inheritModuleResolver.ts → dist/vite/inheritModuleResolver.js} +4 -9
- package/dist/vite/inheritModuleResolver.js.map +1 -0
- package/dist/vite/interceptorsPlugin.d.ts +10 -0
- package/dist/vite/interceptorsPlugin.d.ts.map +1 -0
- package/{src/vite/interceptorsPlugin.ts → dist/vite/interceptorsPlugin.js} +12 -29
- package/dist/vite/interceptorsPlugin.js.map +1 -0
- package/dist/vite/magentoHrmRewrite.d.ts +6 -0
- package/dist/vite/magentoHrmRewrite.d.ts.map +1 -0
- package/{src/vite/magentoHrmRewrite.ts → dist/vite/magentoHrmRewrite.js} +16 -15
- package/dist/vite/magentoHrmRewrite.js.map +1 -0
- package/dist/vite/sharedPlugins.d.ts +35 -0
- package/dist/vite/sharedPlugins.d.ts.map +1 -0
- package/{src/vite/sharedPlugins.ts → dist/vite/sharedPlugins.js} +7 -9
- package/dist/vite/sharedPlugins.js.map +1 -0
- package/dist/vite/themeSourceWatcher.d.ts +16 -0
- package/dist/vite/themeSourceWatcher.d.ts.map +1 -0
- package/{src/vite/themeSourceWatcher.ts → dist/vite/themeSourceWatcher.js} +19 -24
- package/dist/vite/themeSourceWatcher.js.map +1 -0
- package/dist/vite/unresolvedModuleGuard.d.ts +17 -0
- package/dist/vite/unresolvedModuleGuard.d.ts.map +1 -0
- package/{src/vite/unresolvedModuleGuard.ts → dist/vite/unresolvedModuleGuard.js} +27 -27
- package/dist/vite/unresolvedModuleGuard.js.map +1 -0
- package/package.json +60 -10
- package/.github/workflows/ci.yml +0 -38
- package/.github/workflows/publish.yml +0 -36
- package/.oxlintrc.json +0 -19
- package/.prettierignore +0 -7
- package/.prettierrc.json +0 -7
- package/eslint.config.js +0 -24
- package/pnpm-workspace.yaml +0 -4
- package/src/utils/findComponents.ts +0 -83
- package/tsconfig.json +0 -34
- package/vitest.config.js +0 -18
- /package/{src → dist}/config/eslint.js +0 -0
- /package/{src → dist}/templates/base_main_js_file.js +0 -0
|
@@ -6,30 +6,24 @@
|
|
|
6
6
|
* propagated, mirroring Promise.all semantics. `limit` defaults to the number of
|
|
7
7
|
* items.
|
|
8
8
|
*/
|
|
9
|
-
export default async function runWithConcurrency
|
|
10
|
-
items: T[],
|
|
11
|
-
worker: (item: T, index: number) => Promise<R>,
|
|
12
|
-
limit: number = items.length,
|
|
13
|
-
): Promise<R[]> {
|
|
9
|
+
export default async function runWithConcurrency(items, worker, limit = items.length) {
|
|
14
10
|
if (!Array.isArray(items)) {
|
|
15
11
|
throw new TypeError("runWithConcurrency: items must be an array.");
|
|
16
12
|
}
|
|
17
13
|
if (typeof worker !== "function") {
|
|
18
14
|
throw new TypeError("runWithConcurrency: worker must be a function.");
|
|
19
15
|
}
|
|
20
|
-
|
|
21
16
|
const effectiveLimit = Math.max(1, Math.min(limit, items.length || 1));
|
|
22
|
-
const results = Array.from({ length: items.length })
|
|
17
|
+
const results = Array.from({ length: items.length });
|
|
23
18
|
let nextIndex = 0;
|
|
24
|
-
|
|
25
19
|
async function runner() {
|
|
26
20
|
while (nextIndex < items.length) {
|
|
27
21
|
const current = nextIndex++;
|
|
28
22
|
results[current] = await worker(items[current], current);
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
|
-
|
|
32
25
|
const runners = Array.from({ length: Math.min(effectiveLimit, items.length) }, runner);
|
|
33
26
|
await Promise.all(runners);
|
|
34
27
|
return results;
|
|
35
28
|
}
|
|
29
|
+
//# sourceMappingURL=runWithConcurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runWithConcurrency.js","sourceRoot":"","sources":["../../src/utils/runWithConcurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,kBAAkB,CAC5C,KAAU,EACV,MAA8C,EAC9C,QAAgB,KAAK,CAAC,MAAM;IAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAQ,CAAC;IAC5D,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,UAAU,MAAM;QACjB,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvF,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultNodeResolver.d.ts","sourceRoot":"","sources":["../../src/vite/defaultNodeResolver.ts"],"names":[],"mappings":";;;;;;;AAAA,wBAgBE"}
|
|
@@ -8,10 +8,12 @@ export default {
|
|
|
8
8
|
if (resolvedPath) {
|
|
9
9
|
return resolvedPath.replace("file://", "");
|
|
10
10
|
}
|
|
11
|
-
}
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
12
13
|
// Not resolvable as a node package; let later resolvers handle it.
|
|
13
14
|
}
|
|
14
15
|
return null;
|
|
15
16
|
},
|
|
16
17
|
},
|
|
17
18
|
};
|
|
19
|
+
//# sourceMappingURL=defaultNodeResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultNodeResolver.js","sourceRoot":"","sources":["../../src/vite/defaultNodeResolver.ts"],"names":[],"mappings":"AAAA,eAAe;IACX,IAAI,EAAE,uBAAuB;IAC7B,SAAS,EAAE;QACP,KAAK,EAAE,MAAM;QACb,OAAO,CAAC,EAAE;YACN,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,YAAY,EAAE,CAAC;oBACf,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,mEAAmE;YACvE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inheritAssetsModuleResolver.d.ts","sourceRoot":"","sources":["../../src/vite/inheritAssetsModuleResolver.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,0BAA0B;;;;;;EA6EjD"}
|
package/{src/vite/inheritAssetsModuleResolver.ts → dist/vite/inheritAssetsModuleResolver.js}
RENAMED
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
import path from "path";
|
|
2
|
-
import configResolver from "../core/configResolver.
|
|
2
|
+
import configResolver from "../core/configResolver.js";
|
|
3
3
|
import fs from "fs";
|
|
4
|
-
|
|
5
4
|
export default function customAssetsResolverPlugin() {
|
|
6
5
|
const CURRENT_THEME = process.env.CURRENT_THEME;
|
|
7
6
|
const THEME_ASSETS_PATH = "web";
|
|
8
7
|
const MODULE_ASSETS_PATH = "view/frontend/web";
|
|
9
|
-
|
|
10
8
|
function tryResolveAssetPathByTheme(themeName, filePath) {
|
|
11
9
|
const themeDefinition = configResolver.getThemeDefinition(themeName);
|
|
12
10
|
if (!themeDefinition) {
|
|
13
11
|
return null;
|
|
14
12
|
}
|
|
15
|
-
|
|
16
13
|
const themeAssetPath = path.join(themeDefinition.src, filePath);
|
|
17
|
-
|
|
18
14
|
if (fs.existsSync(themeAssetPath)) {
|
|
19
15
|
return themeAssetPath;
|
|
20
16
|
}
|
|
21
|
-
|
|
22
17
|
if (themeDefinition.parent) {
|
|
23
18
|
return tryResolveAssetPathByTheme(themeDefinition.parent, filePath);
|
|
24
19
|
}
|
|
25
|
-
|
|
26
20
|
return null;
|
|
27
21
|
}
|
|
28
|
-
|
|
29
22
|
function tryResolveAssetPathByModule(moduleName, filePath) {
|
|
30
23
|
const moduleDefinition = configResolver.getModuleDefinition(moduleName);
|
|
31
24
|
const assetPath = path.join(moduleDefinition.src, MODULE_ASSETS_PATH, filePath);
|
|
@@ -34,30 +27,22 @@ export default function customAssetsResolverPlugin() {
|
|
|
34
27
|
}
|
|
35
28
|
return null;
|
|
36
29
|
}
|
|
37
|
-
|
|
38
30
|
const resolveAssetPath = (moduleName, filePath) => {
|
|
39
31
|
if (!filePath.startsWith("assets/")) {
|
|
40
32
|
return null;
|
|
41
33
|
}
|
|
42
34
|
let assetSrc;
|
|
43
35
|
if (moduleName === "Theme") {
|
|
44
|
-
assetSrc = tryResolveAssetPathByTheme(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
);
|
|
48
|
-
} else {
|
|
49
|
-
assetSrc = tryResolveAssetPathByTheme(
|
|
50
|
-
CURRENT_THEME,
|
|
51
|
-
path.join(moduleName, THEME_ASSETS_PATH, filePath),
|
|
52
|
-
);
|
|
36
|
+
assetSrc = tryResolveAssetPathByTheme(CURRENT_THEME, path.join(THEME_ASSETS_PATH, filePath));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
assetSrc = tryResolveAssetPathByTheme(CURRENT_THEME, path.join(moduleName, THEME_ASSETS_PATH, filePath));
|
|
53
40
|
}
|
|
54
41
|
if (!assetSrc) {
|
|
55
42
|
assetSrc = tryResolveAssetPathByModule(moduleName, filePath);
|
|
56
43
|
}
|
|
57
|
-
|
|
58
44
|
return assetSrc;
|
|
59
45
|
};
|
|
60
|
-
|
|
61
46
|
return {
|
|
62
47
|
name: "inherit-assets-resolver",
|
|
63
48
|
resolveId: {
|
|
@@ -80,3 +65,4 @@ export default function customAssetsResolverPlugin() {
|
|
|
80
65
|
},
|
|
81
66
|
};
|
|
82
67
|
}
|
|
68
|
+
//# sourceMappingURL=inheritAssetsModuleResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inheritAssetsModuleResolver.js","sourceRoot":"","sources":["../../src/vite/inheritAssetsModuleResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inheritModuleResolver.d.ts","sourceRoot":"","sources":["../../src/vite/inheritModuleResolver.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,oBAAoB;;;;;;EAyC3C"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import moduleResolver from "../core/moduleResolver.
|
|
1
|
+
import moduleResolver from "../core/moduleResolver.js";
|
|
2
2
|
import path from "path";
|
|
3
|
-
import configResolver from "../core/configResolver.
|
|
4
|
-
|
|
3
|
+
import configResolver from "../core/configResolver.js";
|
|
5
4
|
export default function customResolverPlugin() {
|
|
6
5
|
const allComponents = moduleResolver.getAllJsVueFilesWithInheritanceCached();
|
|
7
6
|
const validComponentExtensions = configResolver.getMagentoConfig().ALLOWED_EXTENSIONS;
|
|
8
|
-
|
|
9
|
-
const hasValidExtension = (filePath) =>
|
|
10
|
-
validComponentExtensions.some((ext) => filePath.endsWith(ext));
|
|
7
|
+
const hasValidExtension = (filePath) => validComponentExtensions.some((ext) => filePath.endsWith(ext));
|
|
11
8
|
const hasExtension = (filePath) => !!path.extname(filePath);
|
|
12
|
-
|
|
13
9
|
const resolveComponentPath = (moduleName, filePath) => {
|
|
14
10
|
if (!filePath.startsWith("components/") && !filePath.startsWith("js/")) {
|
|
15
11
|
filePath = "components/" + filePath;
|
|
@@ -17,7 +13,6 @@ export default function customResolverPlugin() {
|
|
|
17
13
|
const fileName = path.join(path.dirname(filePath), path.parse(filePath).name);
|
|
18
14
|
return allComponents[`${moduleName}/${fileName}`];
|
|
19
15
|
};
|
|
20
|
-
|
|
21
16
|
return {
|
|
22
17
|
name: "inherit-resolver",
|
|
23
18
|
resolveId: {
|
|
@@ -38,9 +33,9 @@ export default function customResolverPlugin() {
|
|
|
38
33
|
if (!componentSrc) {
|
|
39
34
|
return;
|
|
40
35
|
}
|
|
41
|
-
|
|
42
36
|
return componentSrc;
|
|
43
37
|
},
|
|
44
38
|
},
|
|
45
39
|
};
|
|
46
40
|
}
|
|
41
|
+
//# sourceMappingURL=inheritModuleResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inheritModuleResolver.js","sourceRoot":"","sources":["../../src/vite/inheritModuleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,oBAAoB;IACxC,MAAM,aAAa,GAAG,cAAc,CAAC,qCAAqC,EAAE,CAAC;IAC7E,MAAM,wBAAwB,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC,kBAAkB,CAAC;IAEtF,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,EAAE,CACnC,wBAAwB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;QAClD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,QAAQ,GAAG,aAAa,GAAG,QAAQ,CAAC;QACxC,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,aAAa,CAAC,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE;YACP,KAAK,EAAE,KAAK;YACZ,OAAO,CAAC,EAAE;gBACN,IAAI,CAAC,EAAE,EAAE,CAAC;oBACN,OAAO;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO;gBACX,CAAC;gBACD,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC;gBACvC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzD,OAAO;gBACX,CAAC;gBACD,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAChE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO;gBACX,CAAC;gBAED,OAAO,YAAY,CAAC;YACxB,CAAC;SACJ;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default function interceptorsPlugin(options?: {
|
|
2
|
+
themeName?: string;
|
|
3
|
+
}): {
|
|
4
|
+
name: string;
|
|
5
|
+
enforce: string;
|
|
6
|
+
buildStart(): Promise<void>;
|
|
7
|
+
resolveId(source: any, importer: any): Promise<string>;
|
|
8
|
+
load(id: any): any;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=interceptorsPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptorsPlugin.d.ts","sourceRoot":"","sources":["../../src/vite/interceptorsPlugin.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;EAyE9E"}
|
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
import generateInterceptorsService from "../core/generateInterceptors.
|
|
2
|
-
|
|
3
|
-
export default function interceptorsPlugin(options: { themeName?: string } = {}) {
|
|
1
|
+
import generateInterceptorsService from "../core/generateInterceptors.js";
|
|
2
|
+
export default function interceptorsPlugin(options = {}) {
|
|
4
3
|
const { themeName } = options;
|
|
5
4
|
const interceptorsMap = new Map(); // path -> interceptorData
|
|
6
|
-
|
|
7
5
|
return {
|
|
8
6
|
name: "mage-obsidian:interceptors",
|
|
9
7
|
enforce: "pre",
|
|
10
|
-
|
|
11
8
|
async buildStart() {
|
|
12
9
|
if (!themeName) {
|
|
13
|
-
console.warn(
|
|
14
|
-
"[mage-obsidian:interceptors] themeName option is missing. Interceptors will not be generated.",
|
|
15
|
-
);
|
|
10
|
+
console.warn("[mage-obsidian:interceptors] themeName option is missing. Interceptors will not be generated.");
|
|
16
11
|
return;
|
|
17
12
|
}
|
|
18
|
-
|
|
19
13
|
try {
|
|
20
|
-
const interceptors =
|
|
21
|
-
await generateInterceptorsService.generateInterceptors(themeName);
|
|
22
|
-
|
|
14
|
+
const interceptors = await generateInterceptorsService.generateInterceptors(themeName);
|
|
23
15
|
// Create a map for fast lookup by file path
|
|
24
16
|
for (const key in interceptors) {
|
|
25
17
|
const data = interceptors[key];
|
|
@@ -27,45 +19,35 @@ export default function interceptorsPlugin(options: { themeName?: string } = {})
|
|
|
27
19
|
interceptorsMap.set(data.targetPath, data);
|
|
28
20
|
}
|
|
29
21
|
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
error,
|
|
34
|
-
);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error("[mage-obsidian:interceptors] Failed to generate interceptors:", error);
|
|
35
25
|
}
|
|
36
26
|
},
|
|
37
|
-
|
|
38
27
|
async resolveId(source, importer) {
|
|
39
28
|
// Skip if we haven't loaded interceptors or if it's a virtual module
|
|
40
|
-
if (interceptorsMap.size === 0 || source.startsWith("\0"))
|
|
41
|
-
|
|
29
|
+
if (interceptorsMap.size === 0 || source.startsWith("\0"))
|
|
30
|
+
return null;
|
|
42
31
|
// Try to resolve the import to a full path
|
|
43
32
|
const resolution = await this.resolve(source, importer, { skipSelf: true });
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
33
|
+
if (!resolution || !resolution.id)
|
|
34
|
+
return null;
|
|
47
35
|
// Clean up the ID (remove query params)
|
|
48
36
|
const resolvedId = resolution.id.split("?")[0];
|
|
49
|
-
|
|
50
37
|
if (interceptorsMap.has(resolvedId)) {
|
|
51
38
|
const virtualId = `\0interceptor:${resolvedId}`;
|
|
52
|
-
|
|
53
39
|
// Check if we are inside the interceptor trying to import the original
|
|
54
40
|
if (importer === virtualId) {
|
|
55
41
|
return null; // Allow original import
|
|
56
42
|
}
|
|
57
|
-
|
|
58
43
|
return virtualId;
|
|
59
44
|
}
|
|
60
|
-
|
|
61
45
|
return null;
|
|
62
46
|
},
|
|
63
|
-
|
|
64
47
|
load(id) {
|
|
65
48
|
if (id.startsWith("\0interceptor:")) {
|
|
66
49
|
const originalPath = id.slice("\0interceptor:".length);
|
|
67
50
|
const data = interceptorsMap.get(originalPath);
|
|
68
|
-
|
|
69
51
|
if (data) {
|
|
70
52
|
return data.source;
|
|
71
53
|
}
|
|
@@ -74,3 +56,4 @@ export default function interceptorsPlugin(options: { themeName?: string } = {})
|
|
|
74
56
|
},
|
|
75
57
|
};
|
|
76
58
|
}
|
|
59
|
+
//# sourceMappingURL=interceptorsPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptorsPlugin.js","sourceRoot":"","sources":["../../src/vite/interceptorsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,MAAM,iCAAiC,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,UAAkC,EAAE;IAC3E,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,0BAA0B;IAE7D,OAAO;QACH,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,KAAK;QAEd,KAAK,CAAC,UAAU;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CACR,+FAA+F,CAClG,CAAC;gBACF,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,YAAY,GACd,MAAM,2BAA2B,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBAEtE,4CAA4C;gBAC5C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC/C,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACT,+DAA+D,EAC/D,KAAK,CACR,CAAC;YACN,CAAC;QACL,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ;YAC5B,qEAAqE;YACrE,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEvE,2CAA2C;YAC3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5E,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAE/C,wCAAwC;YACxC,MAAM,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/C,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,iBAAiB,UAAU,EAAE,CAAC;gBAEhD,uEAAuE;gBACvE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,IAAI,CAAC,CAAC,wBAAwB;gBACzC,CAAC;gBAED,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,EAAE;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAClC,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAE/C,IAAI,IAAI,EAAE,CAAC;oBACP,OAAO,IAAI,CAAC,MAAM,CAAC;gBACvB,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magentoHrmRewrite.d.ts","sourceRoot":"","sources":["../../src/vite/magentoHrmRewrite.ts"],"names":[],"mappings":";;;;AAEA,wBAyCE"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import moduleResolver from "../core/moduleResolver.
|
|
2
|
-
|
|
1
|
+
import moduleResolver from "../core/moduleResolver.js";
|
|
3
2
|
export default () => {
|
|
4
3
|
const components = moduleResolver.getAllJsVueFilesWithInheritanceCached();
|
|
5
4
|
return {
|
|
@@ -7,38 +6,40 @@ export default () => {
|
|
|
7
6
|
configureServer(server) {
|
|
8
7
|
server.middlewares.use((req, res, next) => {
|
|
9
8
|
const url = req.url;
|
|
10
|
-
|
|
11
9
|
const matchedKey = Object.keys(components).find((key) => url.includes(key));
|
|
12
|
-
|
|
13
10
|
if (matchedKey) {
|
|
14
11
|
const filePath = components[matchedKey];
|
|
15
12
|
let suffix;
|
|
16
13
|
if (matchedKey === "lib/vue") {
|
|
17
14
|
suffix = "/";
|
|
18
|
-
}
|
|
15
|
+
}
|
|
16
|
+
else if (matchedKey.startsWith("lib/")) {
|
|
19
17
|
suffix = "/@fs";
|
|
20
18
|
const fileExtension = filePath.split(".").pop();
|
|
21
19
|
let mimeType = "application/node";
|
|
22
|
-
if (
|
|
23
|
-
fileExtension === "cjs" ||
|
|
20
|
+
if (fileExtension === "cjs" ||
|
|
24
21
|
fileExtension === "mjs" ||
|
|
25
|
-
fileExtension === "js"
|
|
26
|
-
)
|
|
22
|
+
fileExtension === "js")
|
|
27
23
|
mimeType = "application/javascript";
|
|
28
|
-
if (fileExtension === "css")
|
|
29
|
-
|
|
30
|
-
if (fileExtension === "
|
|
31
|
-
|
|
24
|
+
if (fileExtension === "css")
|
|
25
|
+
mimeType = "text/css";
|
|
26
|
+
if (fileExtension === "json")
|
|
27
|
+
mimeType = "application/json";
|
|
28
|
+
if (fileExtension === "html")
|
|
29
|
+
mimeType = "text/html";
|
|
32
30
|
res.setHeader("Content-Type", mimeType);
|
|
33
|
-
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
34
33
|
suffix = "/@fs";
|
|
35
34
|
}
|
|
36
35
|
req.url = `${suffix}${filePath}`;
|
|
37
36
|
next();
|
|
38
|
-
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
39
|
next();
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
},
|
|
43
43
|
};
|
|
44
44
|
};
|
|
45
|
+
//# sourceMappingURL=magentoHrmRewrite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magentoHrmRewrite.js","sourceRoot":"","sources":["../../src/vite/magentoHrmRewrite.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,eAAe,GAAG,EAAE;IAChB,MAAM,UAAU,GAAG,cAAc,CAAC,qCAAqC,EAAE,CAAC;IAC1E,OAAO;QACH,IAAI,EAAE,kCAAkC;QACxC,eAAe,CAAC,MAAM;YAClB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACtC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;gBAEpB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE5E,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;oBACxC,IAAI,MAAM,CAAC;oBACX,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,GAAG,GAAG,CAAC;oBACjB,CAAC;yBAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvC,MAAM,GAAG,MAAM,CAAC;wBAChB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;wBAChD,IAAI,QAAQ,GAAG,kBAAkB,CAAC;wBAClC,IACI,aAAa,KAAK,KAAK;4BACvB,aAAa,KAAK,KAAK;4BACvB,aAAa,KAAK,IAAI;4BAEtB,QAAQ,GAAG,wBAAwB,CAAC;wBACxC,IAAI,aAAa,KAAK,KAAK;4BAAE,QAAQ,GAAG,UAAU,CAAC;wBACnD,IAAI,aAAa,KAAK,MAAM;4BAAE,QAAQ,GAAG,kBAAkB,CAAC;wBAC5D,IAAI,aAAa,KAAK,MAAM;4BAAE,QAAQ,GAAG,WAAW,CAAC;wBAErD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACJ,MAAM,GAAG,MAAM,CAAC;oBACpB,CAAC;oBACD,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;oBACjC,IAAI,EAAE,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACJ,IAAI,EAAE,CAAC;gBACX,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The framework's module-resolution plugin chain: `Vendor_Module::` component
|
|
3
|
+
* and asset resolution plus the node-package fallback. Resolution order is
|
|
4
|
+
* governed by each plugin's resolveId `order` ('pre'/'post'), not by array
|
|
5
|
+
* position, so this group can sit anywhere in a consumer's plugin list.
|
|
6
|
+
*
|
|
7
|
+
* Shared so the dev/build config, component tests, auto-import and the
|
|
8
|
+
* playground all resolve imports through the exact same chain instead of each
|
|
9
|
+
* reimplementing it and drifting.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getResolverPlugins(): {
|
|
12
|
+
name: string;
|
|
13
|
+
resolveId: {
|
|
14
|
+
order: string;
|
|
15
|
+
handler(id: string, importer?: string): void;
|
|
16
|
+
};
|
|
17
|
+
}[];
|
|
18
|
+
/**
|
|
19
|
+
* Ensure a theme's precompiled entries exist on disk before a build/test/story
|
|
20
|
+
* run. Idempotent per (theme, contract hash). Any consumer that resolves
|
|
21
|
+
* `Vendor_Module::` imports MUST call this first: without it the resolver map
|
|
22
|
+
* is empty and those imports resolve to undefined with no error.
|
|
23
|
+
*/
|
|
24
|
+
export declare function ensurePrecompiled(themeName: any): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Build Vite's `server.fs.allow` list from the contract. Modules and themes can
|
|
27
|
+
* live outside the Magento root — e.g. symlinked from a monorepo during dev —
|
|
28
|
+
* in which case their real `src` roots are outside the default allow-list and
|
|
29
|
+
* Vite answers 403 for any file under them. A single 403 on a bootstrap module
|
|
30
|
+
* (such as the i18n runtime) aborts the whole ESM graph, so the page renders
|
|
31
|
+
* unstyled with no components. Deriving the list from each module/theme `src`
|
|
32
|
+
* makes the dev server serve sources wherever they physically live.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getFsAllowList(rootDir: any): any[];
|
|
35
|
+
//# sourceMappingURL=sharedPlugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedPlugins.d.ts","sourceRoot":"","sources":["../../src/vite/sharedPlugins.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB;;;;;;IAOjC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,KAAA,iBAE1C;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,KAAA,SAQrC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import inheritModuleResolver from "./inheritModuleResolver.
|
|
2
|
-
import inheritAssetsModuleResolver from "./inheritAssetsModuleResolver.
|
|
3
|
-
import defaultNodeResolve from "./defaultNodeResolver.
|
|
4
|
-
import unresolvedModuleGuard from "./unresolvedModuleGuard.
|
|
5
|
-
import preCompileMagentoFiles from "../core/preCompileMagentoFiles.
|
|
6
|
-
import configResolver from "../core/configResolver.
|
|
7
|
-
|
|
1
|
+
import inheritModuleResolver from "./inheritModuleResolver.js";
|
|
2
|
+
import inheritAssetsModuleResolver from "./inheritAssetsModuleResolver.js";
|
|
3
|
+
import defaultNodeResolve from "./defaultNodeResolver.js";
|
|
4
|
+
import unresolvedModuleGuard from "./unresolvedModuleGuard.js";
|
|
5
|
+
import preCompileMagentoFiles from "../core/preCompileMagentoFiles.js";
|
|
6
|
+
import configResolver from "../core/configResolver.js";
|
|
8
7
|
/**
|
|
9
8
|
* The framework's module-resolution plugin chain: `Vendor_Module::` component
|
|
10
9
|
* and asset resolution plus the node-package fallback. Resolution order is
|
|
@@ -23,7 +22,6 @@ export function getResolverPlugins() {
|
|
|
23
22
|
unresolvedModuleGuard(),
|
|
24
23
|
];
|
|
25
24
|
}
|
|
26
|
-
|
|
27
25
|
/**
|
|
28
26
|
* Ensure a theme's precompiled entries exist on disk before a build/test/story
|
|
29
27
|
* run. Idempotent per (theme, contract hash). Any consumer that resolves
|
|
@@ -33,7 +31,6 @@ export function getResolverPlugins() {
|
|
|
33
31
|
export function ensurePrecompiled(themeName) {
|
|
34
32
|
return preCompileMagentoFiles(themeName);
|
|
35
33
|
}
|
|
36
|
-
|
|
37
34
|
/**
|
|
38
35
|
* Build Vite's `server.fs.allow` list from the contract. Modules and themes can
|
|
39
36
|
* live outside the Magento root — e.g. symlinked from a monorepo during dev —
|
|
@@ -52,3 +49,4 @@ export function getFsAllowList(rootDir) {
|
|
|
52
49
|
.filter(Boolean);
|
|
53
50
|
return [...new Set([rootDir, ...srcRoots])];
|
|
54
51
|
}
|
|
52
|
+
//# sourceMappingURL=sharedPlugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedPlugins.js","sourceRoot":"","sources":["../../src/vite/sharedPlugins.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAC3E,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB;IAC9B,OAAO;QACH,qBAAqB,EAAE;QACvB,2BAA2B,EAAE;QAC7B,kBAAkB;QAClB,qBAAqB,EAAE;KAC1B,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAS;IACvC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAAO;IAClC,MAAM,QAAQ,GAAG;QACb,GAAG,cAAc,CAAC,qBAAqB,EAAE;QACzC,GAAG,cAAc,CAAC,oBAAoB,EAAE;KAC3C;SACI,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC;SACxC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev-only plugin that keeps `Vendor_Module::` resolution live. Precompile runs
|
|
3
|
+
* once at server start and is cached by contract hash; adding or removing a
|
|
4
|
+
* component/js source changes neither, so without this the new file is invisible
|
|
5
|
+
* to both the runtime resolver and the editor jsconfig until a restart. On a
|
|
6
|
+
* structural change we drop the theme cache, rewrite the persisted inheritance
|
|
7
|
+
* map (runtime) and regenerate the theme jsconfig (editor). Writes are
|
|
8
|
+
* idempotent, so the burst of events when the watch dirs are first scanned
|
|
9
|
+
* collapses to a single no-op.
|
|
10
|
+
*/
|
|
11
|
+
export default function themeSourceWatcher(themeName: any): {
|
|
12
|
+
name: string;
|
|
13
|
+
apply: string;
|
|
14
|
+
configureServer(server: any): void;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=themeSourceWatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeSourceWatcher.d.ts","sourceRoot":"","sources":["../../src/vite/themeSourceWatcher.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,SAAS,KAAA;;;;EAsDnD"}
|
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import configResolver from "../core/configResolver.
|
|
3
|
-
import moduleResolver from "../core/moduleResolver.
|
|
4
|
-
import { precompileJs, precompileJsconfig, precompileTsconfig } from "../core/preCompileFiles.
|
|
5
|
-
import { MODULE_WEB_PATH } from "../config/default.
|
|
6
|
-
|
|
2
|
+
import configResolver from "../core/configResolver.js";
|
|
3
|
+
import moduleResolver from "../core/moduleResolver.js";
|
|
4
|
+
import { precompileJs, precompileJsconfig, precompileTsconfig } from "../core/preCompileFiles.js";
|
|
5
|
+
import { MODULE_WEB_PATH } from "../config/default.js";
|
|
7
6
|
const SOURCE_EXT = /\.(vue|ts|js)$/;
|
|
8
7
|
// Build output and engine scratch live under the watched trees but are not
|
|
9
8
|
// authored sources — reacting to them would loop (we write them ourselves).
|
|
10
9
|
const IGNORED = /[/\\](generated|\.precompiled|node_modules)[/\\]/;
|
|
11
10
|
const DEBOUNCE_MS = 150;
|
|
12
|
-
|
|
13
11
|
// The source roots whose structure feeds the inheritance map: every opted-in
|
|
14
12
|
// module's web dir plus the theme and its parent chain. Adding/removing a
|
|
15
13
|
// `.vue`/`.ts`/`.js` under these changes what `Vendor_Module::` can resolve.
|
|
16
14
|
function collectWatchDirs(themeName) {
|
|
17
15
|
const dirs = new Set();
|
|
18
16
|
for (const [, definition] of configResolver.getModulesConfigArray()) {
|
|
19
|
-
if (definition?.src)
|
|
17
|
+
if (definition?.src)
|
|
18
|
+
dirs.add(path.resolve(definition.src, MODULE_WEB_PATH));
|
|
20
19
|
}
|
|
21
20
|
const themes = configResolver.getMagentoConfig().themes;
|
|
22
21
|
const seen = new Set();
|
|
23
22
|
let name = themeName;
|
|
24
23
|
while (name && themes[name] && !seen.has(name)) {
|
|
25
24
|
seen.add(name);
|
|
26
|
-
if (themes[name].src)
|
|
25
|
+
if (themes[name].src)
|
|
26
|
+
dirs.add(themes[name].src);
|
|
27
27
|
name = themes[name].parent;
|
|
28
28
|
}
|
|
29
29
|
return [...dirs];
|
|
30
30
|
}
|
|
31
|
-
|
|
32
31
|
/**
|
|
33
32
|
* Dev-only plugin that keeps `Vendor_Module::` resolution live. Precompile runs
|
|
34
33
|
* once at server start and is cached by contract hash; adding or removing a
|
|
@@ -47,11 +46,9 @@ export default function themeSourceWatcher(themeName) {
|
|
|
47
46
|
for (const dir of collectWatchDirs(themeName)) {
|
|
48
47
|
server.watcher.add(dir);
|
|
49
48
|
}
|
|
50
|
-
|
|
51
49
|
let timer = null;
|
|
52
50
|
let running = false;
|
|
53
51
|
let queued = false;
|
|
54
|
-
|
|
55
52
|
const regenerate = async () => {
|
|
56
53
|
if (running) {
|
|
57
54
|
queued = true;
|
|
@@ -63,14 +60,12 @@ export default function themeSourceWatcher(themeName) {
|
|
|
63
60
|
await precompileJs(themeName);
|
|
64
61
|
await precompileJsconfig(themeName);
|
|
65
62
|
await precompileTsconfig(themeName);
|
|
66
|
-
server.config.logger.info(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
);
|
|
73
|
-
} finally {
|
|
63
|
+
server.config.logger.info(`[mage-obsidian] sources changed — refreshed ${themeName} import resolution`);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
server.config.logger.error(`[mage-obsidian] failed to refresh import resolution: ${error?.message ?? error}`);
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
74
69
|
running = false;
|
|
75
70
|
if (queued) {
|
|
76
71
|
queued = false;
|
|
@@ -78,19 +73,19 @@ export default function themeSourceWatcher(themeName) {
|
|
|
78
73
|
}
|
|
79
74
|
}
|
|
80
75
|
};
|
|
81
|
-
|
|
82
76
|
const schedule = () => {
|
|
83
|
-
if (timer)
|
|
77
|
+
if (timer)
|
|
78
|
+
clearTimeout(timer);
|
|
84
79
|
timer = setTimeout(regenerate, DEBOUNCE_MS);
|
|
85
80
|
};
|
|
86
|
-
|
|
87
81
|
const onChange = (file) => {
|
|
88
|
-
if (!SOURCE_EXT.test(file) || IGNORED.test(file))
|
|
82
|
+
if (!SOURCE_EXT.test(file) || IGNORED.test(file))
|
|
83
|
+
return;
|
|
89
84
|
schedule();
|
|
90
85
|
};
|
|
91
|
-
|
|
92
86
|
server.watcher.on("add", onChange);
|
|
93
87
|
server.watcher.on("unlink", onChange);
|
|
94
88
|
},
|
|
95
89
|
};
|
|
96
90
|
}
|
|
91
|
+
//# sourceMappingURL=themeSourceWatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeSourceWatcher.js","sourceRoot":"","sources":["../../src/vite/themeSourceWatcher.ts"],"names":[],"mappings":"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"}
|