entkapp 5.7.0 → 5.7.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 +1 -1
- package/bin/cli.js +1 -1
- package/bin/cli.mjs +2 -2
- package/package.json +1 -1
- package/src/EngineContext.js +73 -3
- package/src/EngineContext.mjs +55 -2
- package/src/index.js +58 -11
- package/src/index.mjs +1146 -64
- package/src/resolution/EntryPointDetector.js +12 -3
- package/src/resolution/EntryPointDetector.mjs +7 -1
|
@@ -100,15 +100,24 @@ export class EntryPointDetector {
|
|
|
100
100
|
|
|
101
101
|
_addIfExist(entries, relativePath) {
|
|
102
102
|
// Clean path (remove ./ etc)
|
|
103
|
-
const cleanPath = relativePath.replace(/^(
|
|
103
|
+
const cleanPath = relativePath.replace(/^(\.\//|\/)/, '');
|
|
104
104
|
const absolutePath = path.resolve(this.targetDir, cleanPath);
|
|
105
|
-
|
|
105
|
+
|
|
106
|
+
// FIX (Bug 2): Normalize the resolved path the same way the project graph
|
|
107
|
+
// keys are normalized (forward slashes, uppercase Windows drive letter)
|
|
108
|
+
// so that Set lookups in EngineContext succeed on all platforms.
|
|
109
|
+
const normalizePath = (p) => {
|
|
110
|
+
let n = p.replace(/\\/g, '/');
|
|
111
|
+
if (/^[a-z]:\//.test(n)) n = n.charAt(0).toUpperCase() + n.slice(1);
|
|
112
|
+
return n.replace(/\/+/g, '/');
|
|
113
|
+
};
|
|
114
|
+
|
|
106
115
|
// Prüfe verschiedene Erweiterungen falls keine angegeben
|
|
107
116
|
const extensions = ['', '.js', '.ts', '.jsx', '.tsx', '.mjs', '.cjs'];
|
|
108
117
|
for (const ext of extensions) {
|
|
109
118
|
const p = absolutePath + ext;
|
|
110
119
|
if (fs.existsSync(p) && fs.statSync(p).isFile()) {
|
|
111
|
-
entries.add(p);
|
|
120
|
+
entries.add(normalizePath(p));
|
|
112
121
|
return;
|
|
113
122
|
}
|
|
114
123
|
}
|
|
@@ -102,13 +102,19 @@ export class EntryPointDetector {
|
|
|
102
102
|
// Clean path (remove ./ etc)
|
|
103
103
|
const cleanPath = relativePath.replace(/^(\.\/|\/)/, '');
|
|
104
104
|
const absolutePath = path.resolve(this.targetDir, cleanPath);
|
|
105
|
+
|
|
106
|
+
const normalizePath = (p) => {
|
|
107
|
+
let n = p.replace(/\\/g, '/');
|
|
108
|
+
if (/^[a-z]:\//.test(n)) n = n.charAt(0).toUpperCase() + n.slice(1);
|
|
109
|
+
return n.replace(/\/+/g, '/');
|
|
110
|
+
};
|
|
105
111
|
|
|
106
112
|
// Prüfe verschiedene Erweiterungen falls keine angegeben
|
|
107
113
|
const extensions = ['', '.mjs', '.ts', '.jsx', '.tsx', '.mjs', '.cjs'];
|
|
108
114
|
for (const ext of extensions) {
|
|
109
115
|
const p = absolutePath + ext;
|
|
110
116
|
if (fs.existsSync(p) && fs.statSync(p).isFile()) {
|
|
111
|
-
entries.add(p);
|
|
117
|
+
entries.add(normalizePath(p));
|
|
112
118
|
return;
|
|
113
119
|
}
|
|
114
120
|
}
|