@shapeshift-labs/frontier-lang-compiler 0.2.159 → 0.2.160
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.
|
@@ -5,6 +5,7 @@ export interface JsTsProjectSafeMergeSummary {
|
|
|
5
5
|
readonly files: number; readonly mergedFiles: number; readonly blockedFiles: number; readonly outputFiles: number;
|
|
6
6
|
readonly htmlFiles:number; readonly cssFiles:number; readonly htmlCssFiles:number; readonly htmlMergedFiles:number; readonly cssMergedFiles:number; readonly htmlCssMergedFiles:number; readonly htmlBlockedFiles:number; readonly cssBlockedFiles:number; readonly htmlCssBlockedFiles:number; readonly htmlCssBrowserRuntimeProofs:number;
|
|
7
7
|
readonly htmlParserEvidenceFiles:number; readonly cssParserEvidenceFiles:number; readonly htmlCssParserEvidenceFiles:number; readonly htmlParserEvidenceFailedFiles:number; readonly cssParserEvidenceFailedFiles:number; readonly htmlCssParserEvidenceFailedFiles:number;
|
|
8
|
+
readonly htmlIdentityEvidenceFiles:number; readonly cssSelectorTargetEvidenceFiles:number; readonly htmlCssStructuralTargetEvidenceFiles:number; readonly htmlIdentityEvidenceFailedFiles:number; readonly cssSelectorTargetConflictFiles:number; readonly htmlCssStructuralTargetEvidenceFailedFiles:number;
|
|
8
9
|
readonly projectGraphConflicts: number; readonly projectGraphDeltaEvidenceIncluded: number; readonly outputProjectGraphConflicts:number; readonly projectGraphCssModuleUseSiteConflicts:number; readonly projectGraphDeltaConflicts: number; readonly projectGraphLimitConflicts: number; readonly projectGraphPublicContractConflicts: number; readonly projectGraphSourceSpanConflicts: number;
|
|
9
10
|
readonly projectGraphCompilerTypeConflicts: number; readonly projectGraphRuntimeRegionConflicts: number; readonly projectGraphScopeUseDefConflicts: number; readonly projectGraphJsxPropConflicts: number; readonly projectGraphJsxRenderRiskConflicts: number; readonly projectGraphReExportIdentityConflicts: number; readonly projectGraphModuleDeclarationShapeConflicts: number; readonly projectGraphExportAssignmentShapeConflicts: number;
|
|
10
11
|
readonly projectGraphImportAttributeConflicts: number; readonly projectGraphImportTargetConflicts: number; readonly outputDiagnostics: number; readonly outputDiagnosticConflicts: number; readonly outputDiagnosticErrors: number; readonly outputDiagnosticWarnings: number; readonly outputDeclarations: number; readonly outputDeclarationBytes: number; readonly outputDeclarationConflicts: number; readonly outputDeclarationDiagnosticErrors: number; readonly outputQualityGates: number; readonly outputQualityGateConflicts: number;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
const HtmlCssProjectMergeMissingSignals = Object.freeze({
|
|
2
2
|
htmlParserEvidence: 'html-parser-source-evidence-missing',
|
|
3
3
|
cssParserEvidence: 'css-parser-source-evidence-missing',
|
|
4
|
+
htmlIdentityEvidence: 'html-identity-evidence-missing',
|
|
5
|
+
cssSelectorTargetEvidence: 'css-selector-target-evidence-missing',
|
|
4
6
|
htmlStructuralMerge: 'html-structural-merge-proof-blocked',
|
|
5
7
|
cssCascadeMerge: 'css-cascade-merge-proof-blocked',
|
|
6
8
|
htmlCssBrowserRuntimeProof: 'html-css-browser-runtime-proof-not-available'
|
|
@@ -10,6 +12,8 @@ function htmlCssProjectMergeMissingEvidenceRoutes(route, signals) {
|
|
|
10
12
|
return {
|
|
11
13
|
[signals.htmlParserEvidence]: route('prove-html-parser-source-evidence', 'layout-markup-parser', 'supply-parse5-source-span-and-trivia-evidence'),
|
|
12
14
|
[signals.cssParserEvidence]: route('prove-css-parser-source-evidence', 'layout-style-parser', 'supply-postcss-source-span-and-trivia-evidence'),
|
|
15
|
+
[signals.htmlIdentityEvidence]: route('prove-html-identity-evidence', 'layout-markup-identity', 'supply-stable-element-identity-and-structural-addressability-evidence'),
|
|
16
|
+
[signals.cssSelectorTargetEvidence]: route('prove-css-selector-target-evidence', 'layout-style-targets', 'supply-selector-target-graph-and-rebase-evidence'),
|
|
13
17
|
[signals.htmlStructuralMerge]: route('admit-html-structural-merge', 'layout-markup-graph', 'supply-html-parser-reference-and-boundary-evidence'),
|
|
14
18
|
[signals.cssCascadeMerge]: route('admit-css-cascade-merge', 'layout-style-graph', 'supply-css-parser-cascade-and-scope-evidence'),
|
|
15
19
|
[signals.htmlCssBrowserRuntimeProof]: route('prove-html-css-browser-runtime', 'browser-proof', 'attach-browser-runtime-proof-bundle')
|
|
@@ -20,6 +24,8 @@ function htmlCssProjectMergeAdmissionMatrixRows(matrixRow, signals) {
|
|
|
20
24
|
return [
|
|
21
25
|
matrixRow('html-parser-source-evidence', 'bounded-evidence', ['html-parser-source-evidence'], [signals.htmlParserEvidence]),
|
|
22
26
|
matrixRow('css-parser-source-evidence', 'bounded-evidence', ['css-parser-source-evidence'], [signals.cssParserEvidence]),
|
|
27
|
+
matrixRow('html-identity-evidence', 'bounded-evidence', ['html-identity-evidence'], [signals.htmlIdentityEvidence]),
|
|
28
|
+
matrixRow('css-selector-target-evidence', 'bounded-evidence', ['css-selector-target-evidence'], [signals.cssSelectorTargetEvidence]),
|
|
23
29
|
matrixRow('html-structural-merge-admission', 'partial', ['html-structural-merge'], [signals.htmlStructuralMerge]),
|
|
24
30
|
matrixRow('css-cascade-merge-admission', 'partial', ['css-cascade-merge'], [signals.cssCascadeMerge]),
|
|
25
31
|
matrixRow('html-css-browser-runtime-proof', 'bounded-evidence', ['browser-runtime-proof'], [signals.htmlCssBrowserRuntimeProof])
|
|
@@ -30,6 +36,8 @@ function htmlCssProjectMergeMissingEvidenceItems(summary, signals, missingEviden
|
|
|
30
36
|
const items = [];
|
|
31
37
|
if (summary.htmlFiles && summary.htmlParserEvidenceFiles !== summary.htmlFiles) items.push(missingEvidenceItem({ code: signals.htmlParserEvidence, scope: 'layout-markup-parser', kind: 'html-parser-source-evidence', proofLevel: 'html-parser-source-evidence', action: 'review', summary: `HTML project merge has parser/source evidence for ${summary.htmlParserEvidenceFiles}/${summary.htmlFiles} file(s); require parse5 source spans, zero parse errors, and attribute/trivia spans when those surfaces are present before parser evidence admission.` }));
|
|
32
38
|
if (summary.cssFiles && summary.cssParserEvidenceFiles !== summary.cssFiles) items.push(missingEvidenceItem({ code: signals.cssParserEvidence, scope: 'layout-style-parser', kind: 'css-parser-source-evidence', proofLevel: 'css-parser-source-evidence', action: 'review', summary: `CSS project merge has parser/source evidence for ${summary.cssParserEvidenceFiles}/${summary.cssFiles} file(s); require PostCSS rule/declaration spans, raw trivia hashes, and zero parse errors before parser evidence admission.` }));
|
|
39
|
+
if (summary.htmlFiles && summary.htmlIdentityEvidenceFiles !== summary.htmlFiles) items.push(missingEvidenceItem({ code: signals.htmlIdentityEvidence, scope: 'layout-markup-identity', kind: 'html-identity-evidence', proofLevel: 'html-identity-evidence', action: 'review', summary: `HTML project merge has structural identity evidence for ${summary.htmlIdentityEvidenceFiles}/${summary.htmlFiles} file(s); require parser-backed structural spans and stable explicit/path identity accounting before structural admission.` }));
|
|
40
|
+
if (summary.cssFiles && (summary.cssSelectorTargetEvidenceFiles !== summary.cssFiles || summary.cssSelectorTargetConflictFiles)) items.push(missingEvidenceItem({ code: signals.cssSelectorTargetEvidence, scope: 'layout-style-targets', kind: 'css-selector-target-evidence', proofLevel: 'css-selector-target-evidence', action: 'review', summary: `CSS project merge has selector-target evidence for ${summary.cssSelectorTargetEvidenceFiles}/${summary.cssFiles} file(s) with ${summary.cssSelectorTargetConflictFiles} selector target conflict(s); require selector target graph and proven rebase before target-moving merges.` }));
|
|
33
41
|
if (summary.htmlBlockedFiles) items.push(missingEvidenceItem({ code: signals.htmlStructuralMerge, scope: 'layout-markup-graph', kind: 'html-structural-merge-proof', proofLevel: 'html-structural-merge', action: 'review', summary: `HTML project merge has ${summary.htmlBlockedFiles} blocked file(s); supply parser/source-span evidence, stable element identity, and runtime-boundary proof before admission.` }));
|
|
34
42
|
if (summary.cssBlockedFiles) items.push(missingEvidenceItem({ code: signals.cssCascadeMerge, scope: 'layout-style-graph', kind: 'css-cascade-merge-proof', proofLevel: 'css-cascade-merge', action: 'review', summary: `CSS project merge has ${summary.cssBlockedFiles} blocked file(s); supply parser/cascade/scope evidence and keep browser claims false until runtime proof passes.` }));
|
|
35
43
|
if (summary.htmlCssMergedFiles && !summary.htmlCssBrowserRuntimeProofs) items.push(missingEvidenceItem({ code: signals.htmlCssBrowserRuntimeProof, scope: 'browser-proof', kind: 'browser-runtime-proof', proofLevel: 'browser-runtime-proof', action: 'review', summary: 'HTML/CSS structural source merge was available, but browser DOM/cascade/layout/runtime proof was not attached; keep browser equivalence claims false.', suggestedInput: { browserRuntimeProof: true } }));
|
|
@@ -39,6 +47,8 @@ function htmlCssProjectMergeMissingEvidenceItems(summary, signals, missingEviden
|
|
|
39
47
|
function htmlCssProjectMergeMatrixProofStatus(level, summary) {
|
|
40
48
|
if (level === 'html-parser-source-evidence') return summary.htmlFiles ? (summary.htmlParserEvidenceFailedFiles ? 'failed' : summary.htmlParserEvidenceFiles === summary.htmlFiles ? 'passed' : 'missing') : 'absent';
|
|
41
49
|
if (level === 'css-parser-source-evidence') return summary.cssFiles ? (summary.cssParserEvidenceFailedFiles ? 'failed' : summary.cssParserEvidenceFiles === summary.cssFiles ? 'passed' : 'missing') : 'absent';
|
|
50
|
+
if (level === 'html-identity-evidence') return summary.htmlFiles ? (summary.htmlIdentityEvidenceFailedFiles ? 'failed' : summary.htmlIdentityEvidenceFiles === summary.htmlFiles ? 'passed' : 'missing') : 'absent';
|
|
51
|
+
if (level === 'css-selector-target-evidence') return summary.cssFiles ? (summary.cssSelectorTargetConflictFiles ? 'failed' : summary.cssSelectorTargetEvidenceFiles === summary.cssFiles ? 'passed' : 'missing') : 'absent';
|
|
42
52
|
if (level === 'html-structural-merge') return summary.htmlFiles ? (summary.htmlBlockedFiles ? 'failed' : summary.htmlMergedFiles ? 'passed' : 'missing') : 'absent';
|
|
43
53
|
if (level === 'css-cascade-merge') return summary.cssFiles ? (summary.cssBlockedFiles ? 'failed' : summary.cssMergedFiles ? 'passed' : 'missing') : 'absent';
|
|
44
54
|
if (level === 'browser-runtime-proof') return summary.htmlCssFiles ? (summary.htmlCssBrowserRuntimeProofs ? 'passed' : 'missing') : 'absent';
|
|
@@ -6,6 +6,8 @@ function htmlCssProjectSummary(files) {
|
|
|
6
6
|
htmlBlockedFiles: htmlFiles.filter(isBlocked).length, cssBlockedFiles: cssFiles.filter(isBlocked).length, htmlCssBlockedFiles: htmlCssFiles.filter(isBlocked).length,
|
|
7
7
|
htmlParserEvidenceFiles: htmlFiles.filter(hasHtmlParserEvidence).length, cssParserEvidenceFiles: cssFiles.filter(hasCssParserEvidence).length, htmlCssParserEvidenceFiles: htmlCssFiles.filter((file) => hasHtmlParserEvidence(file) || hasCssParserEvidence(file)).length,
|
|
8
8
|
htmlParserEvidenceFailedFiles: htmlFiles.filter(hasParserEvidenceFailure).length, cssParserEvidenceFailedFiles: cssFiles.filter(hasParserEvidenceFailure).length, htmlCssParserEvidenceFailedFiles: htmlCssFiles.filter(hasParserEvidenceFailure).length,
|
|
9
|
+
htmlIdentityEvidenceFiles: htmlFiles.filter(hasHtmlIdentityEvidence).length, cssSelectorTargetEvidenceFiles: cssFiles.filter(hasCssSelectorTargetEvidence).length, htmlCssStructuralTargetEvidenceFiles: htmlCssFiles.filter((file) => hasHtmlIdentityEvidence(file) || hasCssSelectorTargetEvidence(file)).length,
|
|
10
|
+
htmlIdentityEvidenceFailedFiles: htmlFiles.filter(hasHtmlIdentityEvidenceFailure).length, cssSelectorTargetConflictFiles: cssFiles.filter(hasCssSelectorTargetConflict).length, htmlCssStructuralTargetEvidenceFailedFiles: htmlCssFiles.filter((file) => hasHtmlIdentityEvidenceFailure(file) || hasCssSelectorTargetConflict(file)).length,
|
|
9
11
|
htmlCssBrowserRuntimeProofs: htmlCssFiles.filter(hasBrowserRuntimeProof).length
|
|
10
12
|
};
|
|
11
13
|
}
|
|
@@ -24,6 +26,21 @@ function hasCssParserEvidence(file) {
|
|
|
24
26
|
return evidence?.parseErrors === 0 && evidence.sourceCodeLocationInfo === true && evidence.parserBackedSourceSpans === true && evidence.parserBackedDeclarationSpans === true && evidence.parserBackedTriviaHashes === true;
|
|
25
27
|
}
|
|
26
28
|
function hasParserEvidenceFailure(file) { return (file?.result?.parserEvidence?.parseErrors ?? 0) > 0; }
|
|
29
|
+
function hasHtmlIdentityEvidence(file) {
|
|
30
|
+
const evidence = file?.result?.identityEvidence;
|
|
31
|
+
return evidence?.parserBackedStructuralSpans === true && evidence.structuralAddressability === true;
|
|
32
|
+
}
|
|
33
|
+
function hasHtmlIdentityEvidenceFailure(file) {
|
|
34
|
+
const evidence = file?.result?.identityEvidence;
|
|
35
|
+
return Boolean(evidence) && (evidence.parserBackedStructuralSpans !== true || evidence.structuralAddressability !== true);
|
|
36
|
+
}
|
|
37
|
+
function hasCssSelectorTargetEvidence(file) {
|
|
38
|
+
const evidence = file?.result?.selectorTargetEvidence;
|
|
39
|
+
return evidence?.parserBackedRuleSpans === true;
|
|
40
|
+
}
|
|
41
|
+
function hasCssSelectorTargetConflict(file) {
|
|
42
|
+
return (file?.result?.conflicts ?? file?.conflicts ?? []).some((conflict) => conflict.code === 'css-selector-target-conflict');
|
|
43
|
+
}
|
|
27
44
|
function hasBrowserRuntimeProof(file) {
|
|
28
45
|
const admission = file?.result?.admission ?? file?.admission ?? {};
|
|
29
46
|
return admission.browserRuntimeEquivalenceClaim === true || admission.browserCascadeEquivalenceClaim === true || admission.browserRenderEquivalenceClaim === true;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapeshift-labs/frontier-lang-compiler",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.160",
|
|
4
4
|
"description": "Compiler facade for Frontier Lang source documents and language projection adapters.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@shapeshift-labs/frontier-lang-c": "0.2.9",
|
|
65
65
|
"@shapeshift-labs/frontier-lang-checker": "0.3.8",
|
|
66
|
-
"@shapeshift-labs/frontier-lang-css": "^0.1.
|
|
67
|
-
"@shapeshift-labs/frontier-lang-html": "^0.1.
|
|
66
|
+
"@shapeshift-labs/frontier-lang-css": "^0.1.8",
|
|
67
|
+
"@shapeshift-labs/frontier-lang-html": "^0.1.6",
|
|
68
68
|
"@shapeshift-labs/frontier-lang-javascript": "0.2.9",
|
|
69
69
|
"@shapeshift-labs/frontier-lang-kernel": "0.3.12",
|
|
70
70
|
"@shapeshift-labs/frontier-lang-parser": "0.3.8",
|