@nowline/renderer 0.10.0 → 0.11.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/stage.d.ts +3 -1
- package/dist/stage.d.ts.map +1 -1
- package/dist/stage.js +5 -2
- package/dist/stage.js.map +1 -1
- package/package.json +3 -3
- package/src/stage.ts +8 -2
package/dist/stage.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type NowlineFile, type NowlineServices, type RawDiagnostic, type ResolveDiagnostic, type ResolveResult, type WavePlan } from '@nowline/core';
|
|
1
|
+
import { type IncludePolicy, type NowlineFile, type NowlineServices, type RawDiagnostic, type ResolveDiagnostic, type ResolveResult, type WavePlan } from '@nowline/core';
|
|
2
2
|
import { type LayoutOptions, type PositionedRoadmap, type RoadmapSchedule } from '@nowline/layout';
|
|
3
3
|
import { type LangiumDocument, type LangiumSharedCoreServices } from 'langium';
|
|
4
4
|
import { type LoadedLogo } from './logo.js';
|
|
@@ -27,6 +27,8 @@ export interface StageInputs {
|
|
|
27
27
|
* caller to report. Omitted: every include error counts.
|
|
28
28
|
*/
|
|
29
29
|
isToleratedIncludeError?: (diagnostic: ResolveDiagnostic) => boolean;
|
|
30
|
+
/** Where includes may be read from (`resolveIncludes`). Omitted: anywhere. */
|
|
31
|
+
includePolicy?: IncludePolicy;
|
|
30
32
|
}
|
|
31
33
|
export type StageResult = {
|
|
32
34
|
kind: 'invalid';
|
package/dist/stage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"AAOA,OAAO,EAGH,KAAK,aAAa,EAElB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,QAAQ,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAGvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,yBAAyB,EAAO,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,KAAK,UAAU,EAAY,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,qFAAqF;AACrF,MAAM,MAAM,WAAW,GAAG,IAAI,CAC1B,aAAa,EACb,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CACxD,CAAC;AAKF,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,EAAE;QAAE,MAAM,EAAE,yBAAyB,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAC1E,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,gFAAgF;IAChF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,EAAE,WAAW,CAAC;IACpB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,OAAO,CAAC;IACrE,8EAA8E;IAC9E,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,MAAM,WAAW,GACjB;IACI,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACvC,sEAAsE;IACtE,WAAW,EAAE,aAAa,EAAE,CAAC;CAChC,GACD;IACI,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACvC,iFAAiF;IACjF,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,uFAAuF;IACvF,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,wFAAwF;IACxF,QAAQ,EAAE,aAAa,CAAC;CAC3B,GACD;IACI,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACvC,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,mCAAmC;IACnC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kFAAkF;IAClF,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB;;;;OAIG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,iBAAiB,CAAC;IACzB,sFAAsF;IACtF,MAAM,EAAE,WAAW,CAAC;CACvB,CAAC;AAER,uEAAuE;AACvE,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAyBrE;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CA4D5E"}
|
package/dist/stage.js
CHANGED
|
@@ -42,12 +42,15 @@ export async function stageRoadmap(inputs) {
|
|
|
42
42
|
const resolved = await resolveIncludes(ast, inputs.sourcePath, {
|
|
43
43
|
services: inputs.services.Nowline,
|
|
44
44
|
readFile: inputs.readSource,
|
|
45
|
+
includePolicy: inputs.includePolicy,
|
|
45
46
|
});
|
|
46
47
|
// An uncoded include error is more fundamental than the wave-rule
|
|
47
48
|
// errors: the first one wins and hides the routed diagnostics.
|
|
48
49
|
const isTolerated = inputs.isToleratedIncludeError ?? (() => false);
|
|
49
|
-
const
|
|
50
|
-
const
|
|
50
|
+
const isCounted = (d) => d.severity !== 'error' || !isTolerated(d);
|
|
51
|
+
const errors = resolved.diagnostics.filter((d) => d.severity === 'error' && isCounted(d));
|
|
52
|
+
// A tolerated error is coded (NL.E0203) but stays the caller's to report.
|
|
53
|
+
const routed = resolved.diagnostics.filter((d) => isRoutedResolveDiagnostic(d) && isCounted(d));
|
|
51
54
|
const legacy = errors.find((d) => !isRoutedResolveDiagnostic(d));
|
|
52
55
|
if (legacy) {
|
|
53
56
|
return { kind: 'include-error', document, legacy, routed: [], resolved };
|
package/dist/stage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,uEAAuE;AACvE,2EAA2E;AAC3E,0CAA0C;AAC1C,4EAA4E;AAC5E,oBAAoB;AAEpB,OAAO,EACH,aAAa,EACb,0BAA0B,
|
|
1
|
+
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../src/stage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nowline/renderer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Nowline renderer — draws a laid-out roadmap as an SVG image.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"engines": {
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"src/"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@nowline/core": "0.
|
|
26
|
-
"@nowline/layout": "0.
|
|
25
|
+
"@nowline/core": "0.11.0",
|
|
26
|
+
"@nowline/layout": "0.11.0",
|
|
27
27
|
"langium": "~4.4.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
package/src/stage.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import {
|
|
9
9
|
buildWavePlan,
|
|
10
10
|
collectDocumentDiagnostics,
|
|
11
|
+
type IncludePolicy,
|
|
11
12
|
isRoutedResolveDiagnostic,
|
|
12
13
|
type NowlineFile,
|
|
13
14
|
type NowlineServices,
|
|
@@ -57,6 +58,8 @@ export interface StageInputs {
|
|
|
57
58
|
* caller to report. Omitted: every include error counts.
|
|
58
59
|
*/
|
|
59
60
|
isToleratedIncludeError?: (diagnostic: ResolveDiagnostic) => boolean;
|
|
61
|
+
/** Where includes may be read from (`resolveIncludes`). Omitted: anywhere. */
|
|
62
|
+
includePolicy?: IncludePolicy;
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
export type StageResult =
|
|
@@ -142,13 +145,16 @@ export async function stageRoadmap(inputs: StageInputs): Promise<StageResult> {
|
|
|
142
145
|
const resolved = await resolveIncludes(ast, inputs.sourcePath, {
|
|
143
146
|
services: inputs.services.Nowline,
|
|
144
147
|
readFile: inputs.readSource,
|
|
148
|
+
includePolicy: inputs.includePolicy,
|
|
145
149
|
});
|
|
146
150
|
|
|
147
151
|
// An uncoded include error is more fundamental than the wave-rule
|
|
148
152
|
// errors: the first one wins and hides the routed diagnostics.
|
|
149
153
|
const isTolerated = inputs.isToleratedIncludeError ?? (() => false);
|
|
150
|
-
const
|
|
151
|
-
const
|
|
154
|
+
const isCounted = (d: ResolveDiagnostic): boolean => d.severity !== 'error' || !isTolerated(d);
|
|
155
|
+
const errors = resolved.diagnostics.filter((d) => d.severity === 'error' && isCounted(d));
|
|
156
|
+
// A tolerated error is coded (NL.E0203) but stays the caller's to report.
|
|
157
|
+
const routed = resolved.diagnostics.filter((d) => isRoutedResolveDiagnostic(d) && isCounted(d));
|
|
152
158
|
const legacy = errors.find((d) => !isRoutedResolveDiagnostic(d));
|
|
153
159
|
if (legacy) {
|
|
154
160
|
return { kind: 'include-error', document, legacy, routed: [], resolved };
|