@shapeshift-labs/frontier-lang-compiler 0.2.155 → 0.2.156
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/declarations/js-ts-project-merge-confidence.d.ts +5 -0
- package/dist/declarations/js-ts-safe-project-merge.d.ts +9 -9
- package/dist/js-ts-safe-project-merge-missing-evidence.js +11 -1
- package/dist/js-ts-safe-project-merge-summary.js +6 -6
- package/dist/js-ts-safe-project-merge.js +2 -2
- package/package.json +1 -1
|
@@ -34,6 +34,10 @@ export interface JsTsProjectSafeMergeMissingEvidence {
|
|
|
34
34
|
readonly semanticEquivalenceClaim: false;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
export type JsTsProjectSafeMergeAdmissionMatrixSurface = Record<string, unknown> & { readonly surface: string; readonly proofStatuses: Readonly<Record<string, string>>; readonly missingRouteIds?: readonly string[]; readonly nextMissingRouteId?: string };
|
|
38
|
+
|
|
39
|
+
export type JsTsProjectSafeMergeAdmissionMatrixAudit = Record<string, unknown> & { readonly kind: 'frontier.lang.jsTsProjectMergeAdmissionMatrixAudit'; readonly surfaces: readonly JsTsProjectSafeMergeAdmissionMatrixSurface[] };
|
|
40
|
+
|
|
37
41
|
export interface JsTsProjectSafeMergeConfidenceSummary {
|
|
38
42
|
readonly kind: 'frontier.lang.jsTsProjectMergeConfidence';
|
|
39
43
|
readonly version: 1;
|
|
@@ -59,6 +63,7 @@ export interface JsTsProjectSafeMergeConfidenceSummary {
|
|
|
59
63
|
readonly missingEvidence: readonly JsTsProjectSafeMergeMissingEvidence[];
|
|
60
64
|
readonly missingEvidenceMatrix: JsTsProjectSafeMergeMissingEvidenceTelemetry;
|
|
61
65
|
readonly routingCalibration: Record<string, unknown>;
|
|
66
|
+
readonly admissionMatrixAudit: JsTsProjectSafeMergeAdmissionMatrixAudit;
|
|
62
67
|
readonly dimensions: Readonly<Record<string, string>>;
|
|
63
68
|
readonly signals: Readonly<Record<string, number>>;
|
|
64
69
|
}
|
|
@@ -51,14 +51,14 @@ export interface JsTsProjectSafeMergeFileInput {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
export type JsTsProjectSafeMergeFileMap =
|
|
54
|
-
| Readonly<Record<string,
|
|
54
|
+
| Readonly<Record<string,string | { readonly sourceText?: string; readonly text?: string; readonly parserTriviaEvidence?: ParserTriviaEvidenceInput }>>
|
|
55
55
|
| ReadonlyMap<string, string | { readonly sourceText?: string; readonly text?: string; readonly parserTriviaEvidence?: ParserTriviaEvidenceInput }>
|
|
56
56
|
| readonly { readonly sourcePath?: string; readonly path?: string; readonly sourceText?: string; readonly text?: string; readonly parserTriviaEvidence?: ParserTriviaEvidenceInput }[];
|
|
57
57
|
|
|
58
58
|
export type JsTsProjectSafeMergeOutputProjectImports =
|
|
59
59
|
| readonly NativeSourceImportResult[]
|
|
60
60
|
| ReadonlyMap<string, NativeSourceImportResult>
|
|
61
|
-
| Readonly<Record<string,
|
|
61
|
+
| Readonly<Record<string,NativeSourceImportResult>>;
|
|
62
62
|
|
|
63
63
|
export type JsTsProjectGraphStageName = 'base' | 'worker' | 'head' | 'output' | string;
|
|
64
64
|
|
|
@@ -133,8 +133,8 @@ export interface JsTsProjectSafeMergeInput {
|
|
|
133
133
|
readonly headChangeSetId?: string;
|
|
134
134
|
readonly policy?: JsTsSafeMemberMergePolicy | readonly JsTsSafeMemberMergePolicyRegion[];
|
|
135
135
|
readonly mergePolicy?: JsTsSafeMemberMergePolicy | readonly JsTsSafeMemberMergePolicyRegion[];
|
|
136
|
-
readonly policyByPath?: Readonly<Record<string,
|
|
137
|
-
readonly mergePolicyByPath?: Readonly<Record<string,
|
|
136
|
+
readonly policyByPath?: Readonly<Record<string,JsTsSafeMemberMergePolicy | readonly JsTsSafeMemberMergePolicyRegion[]>>;
|
|
137
|
+
readonly mergePolicyByPath?: Readonly<Record<string,JsTsSafeMemberMergePolicy | readonly JsTsSafeMemberMergePolicyRegion[]>>;
|
|
138
138
|
readonly requireSourceLedgerSpans?: boolean;
|
|
139
139
|
readonly sourceLedgers?: Record<string, unknown>;
|
|
140
140
|
readonly sourceLedgersByPath?: Record<string, Record<string, unknown>>;
|
|
@@ -244,13 +244,13 @@ export interface JsTsProjectGraphDeltaSummary {
|
|
|
244
244
|
readonly reExportIdentityConflicts: number; readonly moduleDeclarationShapeConflicts: number; readonly exportAssignmentShapeConflicts: number;
|
|
245
245
|
readonly importAttributeConflicts: number;
|
|
246
246
|
readonly importTargetConflicts: number;
|
|
247
|
-
readonly stageSummaries: Readonly<Record<string,
|
|
247
|
+
readonly stageSummaries: Readonly<Record<string,JsTsProjectGraphDeltaStageSummary>>;
|
|
248
248
|
}
|
|
249
249
|
|
|
250
250
|
export interface JsTsProjectGraphDelta {
|
|
251
251
|
readonly kind: 'frontier.lang.jsTsProjectGraphDelta';
|
|
252
252
|
readonly version: 1;
|
|
253
|
-
readonly stages: Readonly<Record<string,
|
|
253
|
+
readonly stages: Readonly<Record<string,JsTsProjectGraphDeltaStage>>;
|
|
254
254
|
readonly summary: JsTsProjectGraphDeltaSummary;
|
|
255
255
|
}
|
|
256
256
|
|
|
@@ -279,7 +279,7 @@ export interface JsTsProjectSafeMergeResult {
|
|
|
279
279
|
readonly outputFiles: number;
|
|
280
280
|
readonly projectGraphConflicts: number;
|
|
281
281
|
readonly projectGraphDeltaEvidenceIncluded: number;
|
|
282
|
-
|
|
282
|
+
outputProjectGraphConflicts:number; projectGraphCssModuleUseSiteConflicts:number;
|
|
283
283
|
readonly projectGraphDeltaConflicts: number;
|
|
284
284
|
readonly projectGraphLimitConflicts: number;
|
|
285
285
|
readonly projectGraphPublicContractConflicts: number;
|
|
@@ -297,11 +297,11 @@ export interface JsTsProjectSafeMergeResult {
|
|
|
297
297
|
readonly outputDeclarationConflicts: number;
|
|
298
298
|
readonly outputDeclarationDiagnosticErrors: number;
|
|
299
299
|
readonly outputQualityGates: number; readonly outputQualityGateConflicts: number;
|
|
300
|
-
readonly proofEvidenceRecords: number; readonly proofEvidencePassed: number; readonly proofEvidenceFailed: number; readonly proofEvidenceSkipped: number; readonly proofEvidenceUnknown: number; readonly proofEvidenceMissing: number; readonly proofEvidenceMissingLevels: readonly JsTsProjectMergeProofLevel[]; readonly semanticEquivalenceLevel: 'semantic-equivalence-unknown' | string; readonly evidenceRecords: number; readonly passedEvidenceRecords: number; readonly failedEvidenceRecords: number; readonly unknownEvidenceRecords: number; readonly confidenceScore: number; readonly confidenceLevel: string; readonly confidenceDimensions: Readonly<Record<string,
|
|
300
|
+
readonly proofEvidenceRecords: number; readonly proofEvidencePassed: number; readonly proofEvidenceFailed: number; readonly proofEvidenceSkipped: number; readonly proofEvidenceUnknown: number; readonly proofEvidenceMissing: number; readonly proofEvidenceMissingLevels: readonly JsTsProjectMergeProofLevel[]; readonly semanticEquivalenceLevel: 'semantic-equivalence-unknown' | string; readonly evidenceRecords: number; readonly passedEvidenceRecords: number; readonly failedEvidenceRecords: number; readonly unknownEvidenceRecords: number; readonly confidenceScore: number; readonly confidenceLevel: string; readonly confidenceDimensions: Readonly<Record<string,string>>; readonly missingEvidenceMatrix: JsTsProjectSafeMergeMissingEvidenceTelemetry; readonly missingSignals: number; readonly nextMissingEvidenceCode?: string; readonly nextMissingEvidenceKind?: string; readonly nextMissingEvidenceScope?: string; readonly nextMissingProofLevel?: string; readonly nextMissingEvidenceAction?: string; readonly nextMissingEvidenceRouteId?: string; readonly nextMissingEvidenceRouteLane?: string; readonly nextMissingEvidenceRouteNext?: string;
|
|
301
301
|
readonly projectMoveRenameClassifications: number; readonly projectFileMoveRenameClassifications: number; readonly projectSymbolMoveClassifications: number; readonly projectExportedSymbolMoveClassifications: number; readonly projectImportedSymbolMoveClassifications: number; readonly projectSymbolMoveAdmissions: number; readonly projectExportedSymbolMoveAdmissions: number; readonly projectImportedSymbolMoveAdmissions: number; readonly projectCrossFileSymbolRenameClassifications: number; readonly projectCrossFileSymbolRenameAdmissions: number;
|
|
302
302
|
readonly projectSplitMergeClassifications: number; readonly projectModuleSplitClassifications: number; readonly projectModuleMergeClassifications: number; readonly projectClassSplitClassifications: number; readonly projectClassMergeClassifications: number; readonly projectSplitMergeAdmissions: number; readonly projectModuleSplitAdmissions: number; readonly projectModuleMergeAdmissions: number; readonly projectClassSplitAdmissions: number; readonly projectClassMergeAdmissions: number;
|
|
303
303
|
readonly semanticArtifactFiles: number;
|
|
304
|
-
readonly operations: Readonly<Record<string,
|
|
304
|
+
readonly operations: Readonly<Record<string,number>>;
|
|
305
305
|
};
|
|
306
306
|
readonly metadata?: Record<string, unknown> & {
|
|
307
307
|
readonly projectMoveRenameClassifications?: {
|
|
@@ -10,6 +10,7 @@ const ProjectMergeMissingSignals = Object.freeze({
|
|
|
10
10
|
semanticEditReplayProof: 'semantic-edit-replay-proof-not-produced',
|
|
11
11
|
semanticEditReplayOutputMismatch: 'semantic-edit-replay-proof-output-mismatch',
|
|
12
12
|
unsupportedJsTsSurface: 'unsupported-js-ts-surface-proof-not-available',
|
|
13
|
+
cssModuleUseSiteGraph: 'css-module-use-site-graph-proof-blocked',
|
|
13
14
|
semanticEquivalenceProof: 'semantic-equivalence-proof-not-available'
|
|
14
15
|
});
|
|
15
16
|
|
|
@@ -25,6 +26,7 @@ const ProjectMergeMissingEvidenceRoutes = Object.freeze({
|
|
|
25
26
|
[ProjectMergeMissingSignals.semanticEditReplayProof]: route('produce-semantic-edit-replay-proof', 'source-files', 'run-semantic-edit-replay-diagnostics'),
|
|
26
27
|
[ProjectMergeMissingSignals.semanticEditReplayOutputMismatch]: route('reject-semantic-edit-replay-output-mismatch', 'source-files', 'inspect-semantic-edit-replay-output-binding'),
|
|
27
28
|
[ProjectMergeMissingSignals.unsupportedJsTsSurface]: route('prove-unsupported-js-ts-surface', 'semantic-proof', 'supply-unsupported-surface-evidence'),
|
|
29
|
+
[ProjectMergeMissingSignals.cssModuleUseSiteGraph]: route('prove-css-module-use-site-graph', 'layout-style-graph', 'supply-css-module-transform-and-use-site-proof'),
|
|
28
30
|
[ProjectMergeMissingSignals.semanticEquivalenceProof]: route('external-semantic-equivalence-proof', 'semantic-proof', 'attach-external-equivalence-proof')
|
|
29
31
|
});
|
|
30
32
|
|
|
@@ -37,6 +39,7 @@ const ProjectMergeAdmissionMatrixRows = Object.freeze([
|
|
|
37
39
|
matrixRow('control-flow-effect-graph', 'partial', ['source-span-roundtrip', 'focused-test-passed'], [ProjectMergeMissingSignals.sourceSpanRoundtrip, ProjectMergeMissingSignals.semanticArtifacts, ProjectMergeMissingSignals.qualityGates, ProjectMergeMissingSignals.focusedTestGate]),
|
|
38
40
|
matrixRow('generic-semantic-edit-admission', 'partial', ['source-span-roundtrip', 'semantic-edit-replay-clean'], [ProjectMergeMissingSignals.sourceSpanRoundtrip, ProjectMergeMissingSignals.semanticArtifacts, ProjectMergeMissingSignals.semanticEditReplayProof, ProjectMergeMissingSignals.semanticEditReplayOutputMismatch]),
|
|
39
41
|
matrixRow('unsupported-js-ts-surface-coverage', 'partial', ['unsupported-js-ts-surface-review'], [ProjectMergeMissingSignals.unsupportedJsTsSurface]),
|
|
42
|
+
matrixRow('css-modules-use-site-graph', 'partial', ['css-module-use-site-graph', 'css-module-transform-proof', 'project-graph-evidence'], [ProjectMergeMissingSignals.cssModuleUseSiteGraph]),
|
|
40
43
|
matrixRow('semantic-equivalence-proof', 'bounded-evidence', ['semantic-equivalence-external', 'semantic-equivalence-unknown'], [ProjectMergeMissingSignals.semanticEquivalenceProof]),
|
|
41
44
|
matrixRow('cross-file-symbol-rename', 'partial', ['diagnostics-clean', 'declaration-output-stable', 'project-graph-delta'], [ProjectMergeMissingSignals.outputDiagnosticsGate, ProjectMergeMissingSignals.declarationGate, ProjectMergeMissingSignals.projectGraphEvidence, ProjectMergeMissingSignals.projectGraphDeltaEvidence]),
|
|
42
45
|
matrixRow('symbol-move-between-files', 'partial', ['diagnostics-clean', 'declaration-output-stable', 'project-graph-delta'], [ProjectMergeMissingSignals.outputDiagnosticsGate, ProjectMergeMissingSignals.declarationGate, ProjectMergeMissingSignals.projectGraphEvidence, ProjectMergeMissingSignals.projectGraphDeltaEvidence]),
|
|
@@ -127,6 +130,11 @@ function missingEvidenceItems(summary, context = {}) {
|
|
|
127
130
|
action: 'review',
|
|
128
131
|
summary: 'Executable semantic equivalence is still unknown; keep semanticEquivalenceClaim false and require human or external proof for equivalence claims.'
|
|
129
132
|
}));
|
|
133
|
+
if (summary.projectGraphCssModuleUseSiteConflicts) items.push(missingEvidenceItem({
|
|
134
|
+
code: ProjectMergeMissingSignals.cssModuleUseSiteGraph, scope: 'layout-style-graph', kind: 'css-module-use-site-proof', proofLevel: 'css-module-use-site-graph', action: 'review',
|
|
135
|
+
summary: `CSS Module use-site graph has ${summary.projectGraphCssModuleUseSiteConflicts} blocker(s); supply generated class maps, bundler transform identity, source-map proof, and narrow use-site evidence before admission.`,
|
|
136
|
+
suggestedInput: { includeOutputProjectSymbolGraph: true, cssModuleEvidence: true }
|
|
137
|
+
}));
|
|
130
138
|
return items;
|
|
131
139
|
}
|
|
132
140
|
|
|
@@ -240,7 +248,9 @@ function matrixProofStatus(level, summary, proofEvidence) {
|
|
|
240
248
|
const levelStatuses = proofEvidence?.summary?.levelStatuses ?? summary.proofEvidenceLevelStatuses ?? {};
|
|
241
249
|
if (levelStatuses[level]) return levelStatuses[level];
|
|
242
250
|
if (level === 'project-graph-delta') return summary.projectGraphDeltaEvidenceIncluded ? (summary.projectGraphDeltaConflicts ? 'failed' : 'passed') : 'missing';
|
|
243
|
-
if (level === 'project-graph-evidence') return summary.projectGraphConflicts ? 'failed' : summary.projectGraphDeltaEvidenceIncluded ? 'passed' : 'missing';
|
|
251
|
+
if (level === 'project-graph-evidence') return summary.projectGraphConflicts ? 'failed' : summary.projectGraphEvidenceIncluded || summary.projectGraphDeltaEvidenceIncluded ? 'passed' : 'missing';
|
|
252
|
+
if (level === 'css-module-use-site-graph') return summary.projectGraphCssModuleUseSiteConflicts ? 'failed' : summary.projectGraphCssModuleUseSiteGraphs ? 'passed' : summary.projectGraphEvidenceIncluded ? 'absent' : 'missing';
|
|
253
|
+
if (level === 'css-module-transform-proof') return summary.projectGraphCssModuleUseSiteConflicts ? 'failed' : summary.projectGraphCssModuleImportBindings ? 'passed' : summary.projectGraphEvidenceIncluded ? 'absent' : 'missing';
|
|
244
254
|
if (level === 'semantic-artifacts') return summary.semanticArtifactFiles ? 'present' : 'missing';
|
|
245
255
|
return 'absent';
|
|
246
256
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { compactMissingEvidenceTelemetry, confidenceRecommendedAction, createProjectMergeAdmissionMatrixAudit, missingEvidenceItems, missingEvidenceSignals, prioritizedMissingEvidence } from './js-ts-safe-project-merge-missing-evidence.js';
|
|
2
2
|
import { failedEvidenceMissingItems, fileAdmissionEvidenceRecords } from './js-ts-safe-project-merge-evidence-routing.js'; import { compactProjectMergeRoutingCalibration } from './js-ts-safe-project-merge-routing-calibration.js';
|
|
3
3
|
|
|
4
|
-
function projectSummary(files, graphConflicts = [], hasProjectGraphDelta = false, outputDiagnosticsGate = undefined, outputDeclarationGate = undefined, outputQualityGate = undefined, moveRenameSummary = undefined, proofEvidence = undefined, symbolRenameSummary = undefined, splitMergeSummary = undefined) {
|
|
4
|
+
function projectSummary(files, graphConflicts = [], hasProjectGraphDelta = false, outputDiagnosticsGate = undefined, outputDeclarationGate = undefined, outputQualityGate = undefined, moveRenameSummary = undefined, proofEvidence = undefined, symbolRenameSummary = undefined, splitMergeSummary = undefined, projectSymbolGraph = undefined) {
|
|
5
5
|
const byOperation = {};
|
|
6
6
|
for (const file of files) byOperation[file.operation] = (byOperation[file.operation] ?? 0) + 1;
|
|
7
7
|
const limitConflicts = graphConflicts.filter((conflict) => conflict.gateId === 'project-graph-limit');
|
|
8
8
|
const deltaConflicts = graphConflicts.filter((conflict) => conflict.gateId === 'project-graph-delta' || (hasProjectGraphDelta && conflict.gateId === 'project-graph-limit'));
|
|
9
|
-
const outputConflicts = graphConflicts.filter((conflict) => conflict.gateId === 'project-symbol-graph' || (!hasProjectGraphDelta && conflict.gateId === 'project-graph-limit'));
|
|
9
|
+
const outputConflicts = graphConflicts.filter((conflict) => conflict.gateId === 'project-symbol-graph' || (!hasProjectGraphDelta && conflict.gateId === 'project-graph-limit')), cssModuleConflicts = graphConflicts.filter((conflict) => conflict.gateId === 'project-css-module-use-site-graph');
|
|
10
10
|
const proofLevelStatuses = proofEvidence?.summary?.levelStatuses ?? {};
|
|
11
11
|
return {
|
|
12
12
|
files: files.length,
|
|
@@ -14,10 +14,10 @@ function projectSummary(files, graphConflicts = [], hasProjectGraphDelta = false
|
|
|
14
14
|
blockedFiles: files.filter((file) => file.status === 'blocked').length,
|
|
15
15
|
outputFiles: files.filter((file) => typeof file.outputSourceText === 'string').length,
|
|
16
16
|
projectGraphConflicts: graphConflicts.length,
|
|
17
|
-
projectGraphDeltaEvidenceIncluded: hasProjectGraphDelta ? 1 : 0,
|
|
18
|
-
outputProjectGraphConflicts: outputConflicts.length,
|
|
19
|
-
projectGraphDeltaConflicts: deltaConflicts.length,
|
|
20
|
-
projectGraphLimitConflicts: limitConflicts.length,
|
|
17
|
+
projectGraphDeltaEvidenceIncluded: hasProjectGraphDelta ? 1 : 0, projectGraphEvidenceIncluded: projectSymbolGraph || hasProjectGraphDelta ? 1 : 0,
|
|
18
|
+
outputProjectGraphConflicts: outputConflicts.length, projectGraphCssModuleUseSiteConflicts: cssModuleConflicts.length,
|
|
19
|
+
projectGraphDeltaConflicts: deltaConflicts.length, projectGraphCssModuleUseSiteBlockers: projectSymbolGraph?.cssModuleUseSiteBlockers?.length ?? cssModuleConflicts.length,
|
|
20
|
+
projectGraphLimitConflicts: limitConflicts.length, projectGraphCssModuleUseSiteGraphs: projectSymbolGraph?.cssModuleUseSiteGraphs?.length ?? 0, projectGraphCssModuleUseSites: projectSymbolGraph?.cssModuleUseSites?.length ?? 0, projectGraphCssModuleImportBindings: projectSymbolGraph?.cssModuleImportBindings?.length ?? 0,
|
|
21
21
|
projectGraphPublicContractConflicts: deltaConflicts.filter((conflict) => conflict.code === 'project-public-contract-delta-conflict').length,
|
|
22
22
|
projectGraphSourceSpanConflicts: deltaConflicts.filter((conflict) => conflict.code === 'project-source-span-delta-conflict').length,
|
|
23
23
|
projectGraphCompilerTypeConflicts: deltaConflicts.filter((conflict) => conflict.code === 'project-public-compiler-type-delta-conflict').length,
|
|
@@ -104,7 +104,7 @@ function safeMergeJsTsProject(input = {}) {
|
|
|
104
104
|
...fileResults.flatMap((file) => file.conflictKeys),
|
|
105
105
|
...outputConflicts.map((conflict) => conflict.details?.conflictKey)
|
|
106
106
|
]);
|
|
107
|
-
const baseSummary = projectSummary(fileResults, graphConflicts, Boolean(projectGraphDelta), outputDiagnosticsGate, outputDeclarationGate, outputQualityGate, moveRenameSummary, proofEvidence, symbolRenameSummary, splitMergeSummary);
|
|
107
|
+
const baseSummary = projectSummary(fileResults, graphConflicts, Boolean(projectGraphDelta), outputDiagnosticsGate, outputDeclarationGate, outputQualityGate, moveRenameSummary, proofEvidence, symbolRenameSummary, splitMergeSummary, graphArtifacts?.projectSymbolGraph);
|
|
108
108
|
const evidenceContext = {
|
|
109
109
|
fileResults,
|
|
110
110
|
outputDiagnosticsGate,
|
|
@@ -162,7 +162,7 @@ function safeMergeJsTsProject(input = {}) {
|
|
|
162
162
|
outputProjectSymbolGraph: Boolean(graphArtifacts?.projectSymbolGraph),
|
|
163
163
|
projectGraphDelta: Boolean(projectGraphDeltaWithConflicts),
|
|
164
164
|
projectGraphConflicts: graphConflicts.length || undefined,
|
|
165
|
-
outputProjectGraphConflicts: outputGraphConflicts.length || undefined,
|
|
165
|
+
outputProjectGraphConflicts: outputGraphConflicts.length || undefined, projectGraphCssModuleUseSiteConflicts: graphConflicts.filter((conflict) => conflict.gateId === 'project-css-module-use-site-graph').length || undefined,
|
|
166
166
|
projectGraphDeltaConflicts: deltaGraphConflicts.length || undefined,
|
|
167
167
|
projectGraphSourceSpanConflicts: deltaGraphConflicts.filter((conflict) => conflict.code === 'project-source-span-delta-conflict').length || undefined,
|
|
168
168
|
projectGraphCompilerTypeConflicts: deltaGraphConflicts.filter((conflict) => conflict.code === 'project-public-compiler-type-delta-conflict').length || undefined,
|
package/package.json
CHANGED