@nowline/core 0.2.0 → 0.2.3
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/language/include-resolver.d.ts.map +1 -1
- package/dist/language/include-resolver.js +14 -8
- package/dist/language/include-resolver.js.map +1 -1
- package/dist/util/node-read-file.d.ts +2 -0
- package/dist/util/node-read-file.d.ts.map +1 -0
- package/dist/util/node-read-file.js +11 -0
- package/dist/util/node-read-file.js.map +1 -0
- package/dist/util/posix-path.d.ts +4 -0
- package/dist/util/posix-path.d.ts.map +1 -0
- package/dist/util/posix-path.js +99 -0
- package/dist/util/posix-path.js.map +1 -0
- package/package.json +2 -1
- package/src/language/include-resolver.ts +15 -8
- package/src/util/node-read-file.ts +11 -0
- package/src/util/posix-path.ts +94 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include-resolver.d.ts","sourceRoot":"","sources":["../../src/language/include-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"include-resolver.d.ts","sourceRoot":"","sources":["../../src/language/include-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EAEnB,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAkB7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AA0BzD,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACtC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAK1C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACpC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACtC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACpC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACzC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,eAAe,EAAE,cAAc,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAK3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAiCD,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,wBAAsB,eAAe,CACjC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,sBAAsB,GAChC,OAAO,CAAC,aAAa,CAAC,CAyBxB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { promises as fs } from 'node:fs';
|
|
2
|
-
import * as path from 'node:path';
|
|
3
1
|
import { URI } from 'langium';
|
|
4
2
|
import { isAnchorDeclaration, isCalendarBlock, isDefaultDeclaration, isFootnoteDeclaration, isLabelDeclaration, isMilestoneDeclaration, isPersonDeclaration, isScaleBlock, isSizeDeclaration, isStatusDeclaration, isStyleDeclaration, isSwimlaneDeclaration, isSymbolDeclaration, isTeamDeclaration, } from '../generated/ast.js';
|
|
3
|
+
import { basename, dirname, resolve as resolvePath } from '../util/posix-path.js';
|
|
5
4
|
const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
6
5
|
function readStartProp(decl) {
|
|
7
6
|
const prop = decl?.properties.find((p) => p.key === 'start');
|
|
@@ -44,7 +43,14 @@ function emptyContent() {
|
|
|
44
43
|
};
|
|
45
44
|
}
|
|
46
45
|
export async function resolveIncludes(file, filePath, options) {
|
|
47
|
-
|
|
46
|
+
// Default `readFile` lives behind a dynamic import so a browser
|
|
47
|
+
// bundle that always injects its own callback never pulls `node:fs`
|
|
48
|
+
// into the static dependency graph.
|
|
49
|
+
const readFile = options.readFile ??
|
|
50
|
+
(async (p) => {
|
|
51
|
+
const { nodeReadFile } = await import('../util/node-read-file.js');
|
|
52
|
+
return nodeReadFile(p);
|
|
53
|
+
});
|
|
48
54
|
const ctx = {
|
|
49
55
|
services: options.services,
|
|
50
56
|
diagnostics: [],
|
|
@@ -52,7 +58,7 @@ export async function resolveIncludes(file, filePath, options) {
|
|
|
52
58
|
processed: new Map(),
|
|
53
59
|
readFile,
|
|
54
60
|
};
|
|
55
|
-
const absPath =
|
|
61
|
+
const absPath = resolvePath('', filePath);
|
|
56
62
|
const { config, content } = await resolveFile(file, absPath, ctx);
|
|
57
63
|
return {
|
|
58
64
|
config,
|
|
@@ -85,11 +91,11 @@ async function resolveFile(file, absPath, ctx) {
|
|
|
85
91
|
const seenIncludes = new Set();
|
|
86
92
|
for (const inc of file.includes) {
|
|
87
93
|
const childRelPath = inc.path;
|
|
88
|
-
const childAbsPath =
|
|
94
|
+
const childAbsPath = resolvePath(dirname(absPath), childRelPath);
|
|
89
95
|
if (seenIncludes.has(childAbsPath)) {
|
|
90
96
|
ctx.diagnostics.push({
|
|
91
97
|
severity: 'error',
|
|
92
|
-
message: `Duplicate include "${childRelPath}" in ${
|
|
98
|
+
message: `Duplicate include "${childRelPath}" in ${basename(absPath)}.`,
|
|
93
99
|
sourcePath: absPath,
|
|
94
100
|
line: inc.$cstNode?.range.start.line,
|
|
95
101
|
});
|
|
@@ -165,7 +171,7 @@ function applyConfigMode(target, child, mode, childPath, diagnostics) {
|
|
|
165
171
|
return;
|
|
166
172
|
const warn = (name, category) => diagnostics.push({
|
|
167
173
|
severity: 'warning',
|
|
168
|
-
message: `${category} "${name}" from ${
|
|
174
|
+
message: `${category} "${name}" from ${basename(childPath)} is shadowed by the parent's definition.`,
|
|
169
175
|
sourcePath: childPath,
|
|
170
176
|
});
|
|
171
177
|
mergeMap(target.styles, child.styles, (name) => warn(name, 'Style'));
|
|
@@ -193,7 +199,7 @@ function applyRoadmapMode(target, child, childConfig, mode, childPath, childRelP
|
|
|
193
199
|
}
|
|
194
200
|
const warn = (name, category) => diagnostics.push({
|
|
195
201
|
severity: 'warning',
|
|
196
|
-
message: `${category} "${name}" from ${
|
|
202
|
+
message: `${category} "${name}" from ${basename(childPath)} is shadowed by the parent's definition.`,
|
|
197
203
|
sourcePath: childPath,
|
|
198
204
|
});
|
|
199
205
|
mergeMap(target.persons, child.persons, (name) => warn(name, 'Person'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"include-resolver.js","sourceRoot":"","sources":["../../src/language/include-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"include-resolver.js","sourceRoot":"","sources":["../../src/language/include-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-read-file.d.ts","sourceRoot":"","sources":["../../src/util/node-read-file.ts"],"names":[],"mappings":"AAOA,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Node-only fallback `readFile` extracted into its own module so the
|
|
2
|
+
// `node:fs` import sits behind a dynamic-`import()` boundary. When
|
|
3
|
+
// `@nowline/core` is consumed in the browser (e.g. through `@nowline/embed`),
|
|
4
|
+
// callers always inject a custom `readFile` and the bundler can drop this
|
|
5
|
+
// module entirely via tree-shaking. The dynamic import keeps the static
|
|
6
|
+
// dependency graph clean even in unbundled Node consumers.
|
|
7
|
+
export async function nodeReadFile(absPath) {
|
|
8
|
+
const fs = await import('node:fs');
|
|
9
|
+
return fs.promises.readFile(absPath, 'utf-8');
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=node-read-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-read-file.js","sourceRoot":"","sources":["../../src/util/node-read-file.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,mEAAmE;AACnE,8EAA8E;AAC9E,0EAA0E;AAC1E,wEAAwE;AACxE,2DAA2D;AAE3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe;IAC9C,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posix-path.d.ts","sourceRoot":"","sources":["../../src/util/posix-path.ts"],"names":[],"mappings":"AAwCA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOzC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1C;AAMD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMxD"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// Browser-safe path helpers used by the include resolver. The set is
|
|
2
|
+
// deliberately narrow: dirname, basename, and resolve(parentDir, relative)
|
|
3
|
+
// — exactly the operations the resolver performs. Keeping these in the
|
|
4
|
+
// `@nowline/core` source tree (instead of pulling in `pathe` or
|
|
5
|
+
// `path-browserify`) avoids adding an embed-bundle dependency for
|
|
6
|
+
// behaviour that is ~30 lines of code, and keeps Windows / POSIX
|
|
7
|
+
// branching auditable in one file.
|
|
8
|
+
//
|
|
9
|
+
// Inputs may use either `/` or `\\` separators; we preserve whichever
|
|
10
|
+
// separator dominates the parent directory in the resolved output so
|
|
11
|
+
// diagnostics on Windows still print with backslashes.
|
|
12
|
+
const SEP_RE = /[\\/]/;
|
|
13
|
+
function lastSepIdx(p) {
|
|
14
|
+
for (let i = p.length - 1; i >= 0; i--) {
|
|
15
|
+
const ch = p.charCodeAt(i);
|
|
16
|
+
if (ch === 47 /* / */ || ch === 92 /* \ */)
|
|
17
|
+
return i;
|
|
18
|
+
}
|
|
19
|
+
return -1;
|
|
20
|
+
}
|
|
21
|
+
function dominantSep(...paths) {
|
|
22
|
+
// Pick the separator the input is already using. Falls back to POSIX
|
|
23
|
+
// when no input has separators (a bare filename).
|
|
24
|
+
for (const p of paths) {
|
|
25
|
+
if (!p)
|
|
26
|
+
continue;
|
|
27
|
+
if (p.includes('\\') && !p.includes('/'))
|
|
28
|
+
return '\\';
|
|
29
|
+
if (p.includes('/'))
|
|
30
|
+
return '/';
|
|
31
|
+
}
|
|
32
|
+
return '/';
|
|
33
|
+
}
|
|
34
|
+
function isAbsolute(p) {
|
|
35
|
+
if (!p)
|
|
36
|
+
return false;
|
|
37
|
+
if (p[0] === '/' || p[0] === '\\')
|
|
38
|
+
return true;
|
|
39
|
+
// Windows drive-letter form: `C:\\…` or `C:/…`.
|
|
40
|
+
return p.length >= 3 && /^[A-Za-z]:[\\/]/.test(p);
|
|
41
|
+
}
|
|
42
|
+
export function dirname(p) {
|
|
43
|
+
const idx = lastSepIdx(p);
|
|
44
|
+
if (idx < 0)
|
|
45
|
+
return '.';
|
|
46
|
+
if (idx === 0)
|
|
47
|
+
return p[0];
|
|
48
|
+
// Preserve drive root: `C:\\foo` → `C:\\`, not `C:`.
|
|
49
|
+
if (idx === 2 && /^[A-Za-z]:[\\/]/.test(p))
|
|
50
|
+
return p.slice(0, 3);
|
|
51
|
+
return p.slice(0, idx);
|
|
52
|
+
}
|
|
53
|
+
export function basename(p) {
|
|
54
|
+
const idx = lastSepIdx(p);
|
|
55
|
+
return idx < 0 ? p : p.slice(idx + 1);
|
|
56
|
+
}
|
|
57
|
+
// Resolve `rel` against `dir`. If `rel` is already absolute, return it
|
|
58
|
+
// normalized. Both arguments may freely mix separators; the result uses
|
|
59
|
+
// the dominant separator of whichever input carries one so platform
|
|
60
|
+
// diagnostics stay native.
|
|
61
|
+
export function resolve(dir, rel) {
|
|
62
|
+
if (isAbsolute(rel)) {
|
|
63
|
+
return normalize(rel, dominantSep(rel));
|
|
64
|
+
}
|
|
65
|
+
const sep = dominantSep(dir, rel);
|
|
66
|
+
return normalize(`${dir}${sep}${rel}`, sep);
|
|
67
|
+
}
|
|
68
|
+
function normalize(p, sep) {
|
|
69
|
+
// Detect drive prefix or POSIX root so we can preserve them while
|
|
70
|
+
// walking the path body.
|
|
71
|
+
let prefix = '';
|
|
72
|
+
let body = p;
|
|
73
|
+
const driveMatch = /^([A-Za-z]:)([\\/])?/.exec(body);
|
|
74
|
+
if (driveMatch) {
|
|
75
|
+
prefix = driveMatch[1] + (driveMatch[2] ? sep : '');
|
|
76
|
+
body = body.slice(driveMatch[0].length);
|
|
77
|
+
}
|
|
78
|
+
else if (body[0] === '/' || body[0] === '\\') {
|
|
79
|
+
prefix = sep;
|
|
80
|
+
body = body.replace(/^[\\/]+/, '');
|
|
81
|
+
}
|
|
82
|
+
const segments = [];
|
|
83
|
+
for (const seg of body.split(SEP_RE)) {
|
|
84
|
+
if (seg === '' || seg === '.')
|
|
85
|
+
continue;
|
|
86
|
+
if (seg === '..') {
|
|
87
|
+
if (segments.length > 0 && segments[segments.length - 1] !== '..') {
|
|
88
|
+
segments.pop();
|
|
89
|
+
}
|
|
90
|
+
else if (!prefix) {
|
|
91
|
+
segments.push('..');
|
|
92
|
+
}
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
segments.push(seg);
|
|
96
|
+
}
|
|
97
|
+
return prefix + segments.join(sep);
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=posix-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posix-path.js","sourceRoot":"","sources":["../../src/util/posix-path.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nowline/core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Nowline DSL parser, AST, and validation",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"sideEffects": false,
|
|
7
8
|
"main": "./dist/index.js",
|
|
8
9
|
"types": "./dist/index.d.ts",
|
|
9
10
|
"exports": {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { promises as fs } from 'node:fs';
|
|
2
|
-
import * as path from 'node:path';
|
|
3
1
|
import { URI } from 'langium';
|
|
4
2
|
import type {
|
|
5
3
|
AnchorDeclaration,
|
|
@@ -38,6 +36,7 @@ import {
|
|
|
38
36
|
isSymbolDeclaration,
|
|
39
37
|
isTeamDeclaration,
|
|
40
38
|
} from '../generated/ast.js';
|
|
39
|
+
import { basename, dirname, resolve as resolvePath } from '../util/posix-path.js';
|
|
41
40
|
import type { NowlineServices } from './nowline-module.js';
|
|
42
41
|
|
|
43
42
|
export type IncludeMode = 'merge' | 'ignore' | 'isolate';
|
|
@@ -157,7 +156,15 @@ export async function resolveIncludes(
|
|
|
157
156
|
filePath: string,
|
|
158
157
|
options: ResolveIncludesOptions,
|
|
159
158
|
): Promise<ResolveResult> {
|
|
160
|
-
|
|
159
|
+
// Default `readFile` lives behind a dynamic import so a browser
|
|
160
|
+
// bundle that always injects its own callback never pulls `node:fs`
|
|
161
|
+
// into the static dependency graph.
|
|
162
|
+
const readFile =
|
|
163
|
+
options.readFile ??
|
|
164
|
+
(async (p: string) => {
|
|
165
|
+
const { nodeReadFile } = await import('../util/node-read-file.js');
|
|
166
|
+
return nodeReadFile(p);
|
|
167
|
+
});
|
|
161
168
|
const ctx: ResolveContext = {
|
|
162
169
|
services: options.services,
|
|
163
170
|
diagnostics: [],
|
|
@@ -165,7 +172,7 @@ export async function resolveIncludes(
|
|
|
165
172
|
processed: new Map(),
|
|
166
173
|
readFile,
|
|
167
174
|
};
|
|
168
|
-
const absPath =
|
|
175
|
+
const absPath = resolvePath('', filePath);
|
|
169
176
|
const { config, content } = await resolveFile(file, absPath, ctx);
|
|
170
177
|
return {
|
|
171
178
|
config,
|
|
@@ -207,12 +214,12 @@ async function resolveFile(
|
|
|
207
214
|
const seenIncludes = new Set<string>();
|
|
208
215
|
for (const inc of file.includes) {
|
|
209
216
|
const childRelPath = inc.path;
|
|
210
|
-
const childAbsPath =
|
|
217
|
+
const childAbsPath = resolvePath(dirname(absPath), childRelPath);
|
|
211
218
|
|
|
212
219
|
if (seenIncludes.has(childAbsPath)) {
|
|
213
220
|
ctx.diagnostics.push({
|
|
214
221
|
severity: 'error',
|
|
215
|
-
message: `Duplicate include "${childRelPath}" in ${
|
|
222
|
+
message: `Duplicate include "${childRelPath}" in ${basename(absPath)}.`,
|
|
216
223
|
sourcePath: absPath,
|
|
217
224
|
line: inc.$cstNode?.range.start.line,
|
|
218
225
|
});
|
|
@@ -322,7 +329,7 @@ function applyConfigMode(
|
|
|
322
329
|
const warn = (name: string, category: string) =>
|
|
323
330
|
diagnostics.push({
|
|
324
331
|
severity: 'warning',
|
|
325
|
-
message: `${category} "${name}" from ${
|
|
332
|
+
message: `${category} "${name}" from ${basename(childPath)} is shadowed by the parent's definition.`,
|
|
326
333
|
sourcePath: childPath,
|
|
327
334
|
});
|
|
328
335
|
|
|
@@ -362,7 +369,7 @@ function applyRoadmapMode(
|
|
|
362
369
|
const warn = (name: string, category: string) =>
|
|
363
370
|
diagnostics.push({
|
|
364
371
|
severity: 'warning',
|
|
365
|
-
message: `${category} "${name}" from ${
|
|
372
|
+
message: `${category} "${name}" from ${basename(childPath)} is shadowed by the parent's definition.`,
|
|
366
373
|
sourcePath: childPath,
|
|
367
374
|
});
|
|
368
375
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Node-only fallback `readFile` extracted into its own module so the
|
|
2
|
+
// `node:fs` import sits behind a dynamic-`import()` boundary. When
|
|
3
|
+
// `@nowline/core` is consumed in the browser (e.g. through `@nowline/embed`),
|
|
4
|
+
// callers always inject a custom `readFile` and the bundler can drop this
|
|
5
|
+
// module entirely via tree-shaking. The dynamic import keeps the static
|
|
6
|
+
// dependency graph clean even in unbundled Node consumers.
|
|
7
|
+
|
|
8
|
+
export async function nodeReadFile(absPath: string): Promise<string> {
|
|
9
|
+
const fs = await import('node:fs');
|
|
10
|
+
return fs.promises.readFile(absPath, 'utf-8');
|
|
11
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Browser-safe path helpers used by the include resolver. The set is
|
|
2
|
+
// deliberately narrow: dirname, basename, and resolve(parentDir, relative)
|
|
3
|
+
// — exactly the operations the resolver performs. Keeping these in the
|
|
4
|
+
// `@nowline/core` source tree (instead of pulling in `pathe` or
|
|
5
|
+
// `path-browserify`) avoids adding an embed-bundle dependency for
|
|
6
|
+
// behaviour that is ~30 lines of code, and keeps Windows / POSIX
|
|
7
|
+
// branching auditable in one file.
|
|
8
|
+
//
|
|
9
|
+
// Inputs may use either `/` or `\\` separators; we preserve whichever
|
|
10
|
+
// separator dominates the parent directory in the resolved output so
|
|
11
|
+
// diagnostics on Windows still print with backslashes.
|
|
12
|
+
|
|
13
|
+
const SEP_RE = /[\\/]/;
|
|
14
|
+
|
|
15
|
+
function lastSepIdx(p: string): number {
|
|
16
|
+
for (let i = p.length - 1; i >= 0; i--) {
|
|
17
|
+
const ch = p.charCodeAt(i);
|
|
18
|
+
if (ch === 47 /* / */ || ch === 92 /* \ */) return i;
|
|
19
|
+
}
|
|
20
|
+
return -1;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function dominantSep(...paths: string[]): '/' | '\\' {
|
|
24
|
+
// Pick the separator the input is already using. Falls back to POSIX
|
|
25
|
+
// when no input has separators (a bare filename).
|
|
26
|
+
for (const p of paths) {
|
|
27
|
+
if (!p) continue;
|
|
28
|
+
if (p.includes('\\') && !p.includes('/')) return '\\';
|
|
29
|
+
if (p.includes('/')) return '/';
|
|
30
|
+
}
|
|
31
|
+
return '/';
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function isAbsolute(p: string): boolean {
|
|
35
|
+
if (!p) return false;
|
|
36
|
+
if (p[0] === '/' || p[0] === '\\') return true;
|
|
37
|
+
// Windows drive-letter form: `C:\\…` or `C:/…`.
|
|
38
|
+
return p.length >= 3 && /^[A-Za-z]:[\\/]/.test(p);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function dirname(p: string): string {
|
|
42
|
+
const idx = lastSepIdx(p);
|
|
43
|
+
if (idx < 0) return '.';
|
|
44
|
+
if (idx === 0) return p[0];
|
|
45
|
+
// Preserve drive root: `C:\\foo` → `C:\\`, not `C:`.
|
|
46
|
+
if (idx === 2 && /^[A-Za-z]:[\\/]/.test(p)) return p.slice(0, 3);
|
|
47
|
+
return p.slice(0, idx);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function basename(p: string): string {
|
|
51
|
+
const idx = lastSepIdx(p);
|
|
52
|
+
return idx < 0 ? p : p.slice(idx + 1);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Resolve `rel` against `dir`. If `rel` is already absolute, return it
|
|
56
|
+
// normalized. Both arguments may freely mix separators; the result uses
|
|
57
|
+
// the dominant separator of whichever input carries one so platform
|
|
58
|
+
// diagnostics stay native.
|
|
59
|
+
export function resolve(dir: string, rel: string): string {
|
|
60
|
+
if (isAbsolute(rel)) {
|
|
61
|
+
return normalize(rel, dominantSep(rel));
|
|
62
|
+
}
|
|
63
|
+
const sep = dominantSep(dir, rel);
|
|
64
|
+
return normalize(`${dir}${sep}${rel}`, sep);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function normalize(p: string, sep: '/' | '\\'): string {
|
|
68
|
+
// Detect drive prefix or POSIX root so we can preserve them while
|
|
69
|
+
// walking the path body.
|
|
70
|
+
let prefix = '';
|
|
71
|
+
let body = p;
|
|
72
|
+
const driveMatch = /^([A-Za-z]:)([\\/])?/.exec(body);
|
|
73
|
+
if (driveMatch) {
|
|
74
|
+
prefix = driveMatch[1] + (driveMatch[2] ? sep : '');
|
|
75
|
+
body = body.slice(driveMatch[0].length);
|
|
76
|
+
} else if (body[0] === '/' || body[0] === '\\') {
|
|
77
|
+
prefix = sep;
|
|
78
|
+
body = body.replace(/^[\\/]+/, '');
|
|
79
|
+
}
|
|
80
|
+
const segments: string[] = [];
|
|
81
|
+
for (const seg of body.split(SEP_RE)) {
|
|
82
|
+
if (seg === '' || seg === '.') continue;
|
|
83
|
+
if (seg === '..') {
|
|
84
|
+
if (segments.length > 0 && segments[segments.length - 1] !== '..') {
|
|
85
|
+
segments.pop();
|
|
86
|
+
} else if (!prefix) {
|
|
87
|
+
segments.push('..');
|
|
88
|
+
}
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
segments.push(seg);
|
|
92
|
+
}
|
|
93
|
+
return prefix + segments.join(sep);
|
|
94
|
+
}
|