@shapeshift-labs/frontier-lang-compiler 0.2.178 → 0.2.180
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.
|
@@ -10,7 +10,7 @@ export interface JsTsProjectSafeMergeSummary {
|
|
|
10
10
|
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;
|
|
11
11
|
readonly htmlParserEvidenceFiles:number; readonly cssParserEvidenceFiles:number; readonly htmlCssParserEvidenceFiles:number; readonly htmlParserEvidenceFailedFiles:number; readonly cssParserEvidenceFailedFiles:number; readonly htmlCssParserEvidenceFailedFiles:number;
|
|
12
12
|
readonly htmlIdentityEvidenceFiles:number; readonly cssSelectorTargetEvidenceFiles:number; readonly htmlCssStructuralTargetEvidenceFiles:number; readonly cssSelectorTargetGraphEvidenceFiles:number; readonly cssSelectorSpecificityEvidenceFiles:number; readonly cssSelectorTargetMoveFiles:number; readonly htmlExplicitIdentityEvidenceFiles:number; readonly htmlPathOnlyIdentityResidualFiles:number; readonly htmlDuplicateIdentityEvidenceFiles:number; readonly htmlDuplicateIdentityKeys:number; readonly htmlRuntimeBoundaryEvidenceFiles:number; readonly htmlFrameworkBoundaryEvidenceFiles:number; readonly htmlProofGapBlockedFiles:number; readonly htmlIdentityEvidenceFailedFiles:number; readonly cssSelectorTargetConflictFiles:number; readonly htmlCssStructuralTargetEvidenceFailedFiles:number; readonly cssSelectorTargetRebasedFiles:number;
|
|
13
|
-
readonly cssScopedCascadeFiles:number; readonly cssScopedCascadeEvidenceFiles:number; readonly cssScopedCascadeBlockedFiles:number; readonly cssDependencySurfaceFiles:number; readonly cssDependencyGraphEvidenceFiles:number; readonly cssDependencyGraphMissingProofFiles:number; readonly cssDependencyGraphBlockedFiles:number;
|
|
13
|
+
readonly cssScopedCascadeFiles:number; readonly cssScopedCascadeEvidenceFiles:number; readonly cssScopedCascadeBlockedFiles:number; readonly cssDuplicateCascadeKeyBlockedFiles:number; readonly cssShorthandExpansionEvidenceFiles:number; readonly cssDeterministicShorthandExpansionFiles:number; readonly cssShorthandExpansionBlockedFiles:number; readonly cssDependencySurfaceFiles:number; readonly cssDependencyGraphEvidenceFiles:number; readonly cssDependencyGraphMissingProofFiles:number; readonly cssDependencyGraphBlockedFiles:number;
|
|
14
14
|
readonly projectGraphConflicts: number; readonly projectGraphDeltaEvidenceIncluded: number; readonly projectGraphEvidenceIncluded: number; readonly outputProjectGraphConflicts:number; readonly projectGraphCssModuleUseSiteConflicts:number; readonly projectGraphDeltaConflicts: number; readonly projectGraphCssModuleUseSiteBlockers:number; readonly projectGraphLimitConflicts: number; readonly projectGraphCssModuleUseSiteGraphs:number; readonly projectGraphCssModuleUseSites:number; readonly projectGraphCssModuleImportBindings:number; readonly projectGraphPublicContractConflicts: number; readonly projectGraphSourceSpanConflicts: number;
|
|
15
15
|
readonly projectGraphCompilerTypeConflicts: number; readonly projectGraphRuntimeRegionConflicts: number; readonly projectGraphScopeUseDefConflicts: number; readonly projectGraphJsxPropConflicts: number; readonly projectGraphJsxRenderRiskConflicts: number; readonly projectGraphReExportIdentityConflicts: number; readonly projectGraphModuleDeclarationShapeConflicts: number; readonly projectGraphExportAssignmentShapeConflicts: number;
|
|
16
16
|
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;
|
|
@@ -42,7 +42,7 @@ function htmlCssProjectMergeMissingEvidenceItems(summary, signals, missingEviden
|
|
|
42
42
|
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) with ${summary.htmlDuplicateIdentityEvidenceFiles ?? 0} duplicate identity evidence file(s); require parser-backed structural spans, unique explicit identity keys, and stable explicit/path identity accounting before structural admission.` }));
|
|
43
43
|
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.` }));
|
|
44
44
|
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); for runtime-boundary changes attach htmlRuntimeBoundaryProofsByPath[sourcePath] with exact base/worker/head/output binding, and for duplicate identity keys make explicit HTML identities unique before admission.`, suggestedInput: { htmlRuntimeBoundaryProofsByPath: true, htmlUniqueExplicitIdentityKeys: true } }));
|
|
45
|
-
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), including ${summary.cssScopedCascadeBlockedFiles} scoped cascade proof block(s); supply parser/cascade/scope evidence, require scopedCascadeGraphHash for changed declarations under @media/@supports/@container/@layer/@scope or nested scopes, and keep browser claims false until runtime proof passes.` }));
|
|
45
|
+
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), including ${summary.cssDuplicateCascadeKeyBlockedFiles ?? 0} duplicate cascade-key blocker(s), ${summary.cssShorthandExpansionBlockedFiles ?? 0} shorthand expansion blocker(s), and ${summary.cssScopedCascadeBlockedFiles} scoped cascade proof block(s); supply parser/cascade/scope evidence, require deterministic shorthand expansion evidence for changed box shorthands, require ordered cascade occurrence evidence for duplicate same-property declarations, require scopedCascadeGraphHash for changed declarations under @media/@supports/@container/@layer/@scope or nested scopes, and keep browser claims false until runtime proof passes.` }));
|
|
46
46
|
if (summary.cssDependencySurfaceFiles && (summary.cssDependencyGraphEvidenceFiles !== summary.cssDependencySurfaceFiles || summary.cssDependencyGraphMissingProofFiles || summary.cssDependencyGraphBlockedFiles)) items.push(missingEvidenceItem({ code: signals.cssDependencyGraphEvidence, scope: 'layout-style-graph', kind: 'css-dependency-graph-evidence', proofLevel: 'css-dependency-graph', action: 'review', summary: `CSS project merge has dependency graph evidence for ${summary.cssDependencyGraphEvidenceFiles}/${summary.cssDependencySurfaceFiles} dependency-surface file(s), ${summary.cssDependencyGraphMissingProofFiles} missing dependency graph proof(s), and ${summary.cssDependencyGraphBlockedFiles} dependency blocker(s); require custom property, var() fallback, @keyframes/animation-name, @font-face, and url() asset graph evidence before cascade/browser equivalence claims.`, suggestedInput: { cssDependencyGraphEvidence: true } }));
|
|
47
47
|
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 } }));
|
|
48
48
|
return items;
|
|
@@ -13,6 +13,8 @@ function htmlCssProjectSummary(files) {
|
|
|
13
13
|
htmlIdentityEvidenceFailedFiles: htmlFiles.filter(hasHtmlIdentityEvidenceFailure).length, cssSelectorTargetConflictFiles: cssFiles.filter(hasCssSelectorTargetConflict).length, htmlCssStructuralTargetEvidenceFailedFiles: htmlCssFiles.filter((file) => hasHtmlIdentityEvidenceFailure(file) || hasCssSelectorTargetConflict(file)).length,
|
|
14
14
|
cssSelectorTargetRebasedFiles: cssFiles.filter(hasCssSelectorTargetRebase).length,
|
|
15
15
|
cssScopedCascadeFiles: cssFiles.filter(hasCssScopedCascadeScope).length, cssScopedCascadeEvidenceFiles: cssFiles.filter(hasCssScopedCascadeEvidence).length, cssScopedCascadeBlockedFiles: cssFiles.filter(hasCssScopedCascadeMissingProof).length,
|
|
16
|
+
cssDuplicateCascadeKeyBlockedFiles: cssFiles.filter(hasCssDuplicateCascadeKeyConflict).length,
|
|
17
|
+
cssShorthandExpansionEvidenceFiles: cssFiles.filter(hasCssShorthandExpansionEvidence).length, cssDeterministicShorthandExpansionFiles: cssFiles.filter(hasCssDeterministicShorthandExpansionEvidence).length, cssShorthandExpansionBlockedFiles: cssFiles.filter(hasCssShorthandExpansionBlockedConflict).length,
|
|
16
18
|
cssDependencySurfaceFiles: cssFiles.filter(hasCssDependencySurface).length, cssDependencyGraphEvidenceFiles: cssFiles.filter((file) => hasCssDependencySurface(file) && hasCssDependencyGraphEvidence(file)).length, cssDependencyGraphMissingProofFiles: cssFiles.filter(hasCssDependencyGraphMissingProof).length, cssDependencyGraphBlockedFiles: cssFiles.filter(hasCssDependencyGraphBlockedConflict).length,
|
|
17
19
|
htmlCssBrowserRuntimeProofs: htmlCssFiles.filter(hasBrowserRuntimeProof).length
|
|
18
20
|
};
|
|
@@ -81,6 +83,19 @@ function hasFrameworkBoundaryConflict(file) {
|
|
|
81
83
|
return (file?.result?.conflicts ?? file?.conflicts ?? []).some((conflict) => HtmlFrameworkBoundaryReasonCodes.has(conflict?.details?.reasonCode));
|
|
82
84
|
}
|
|
83
85
|
function hasCssSelectorTargetRebase(file) { return (file?.result?.selectorTargetEvidence?.rebasedChangeCount ?? 0) > 0; }
|
|
86
|
+
function hasCssDuplicateCascadeKeyConflict(file) {
|
|
87
|
+
return cssFileConflicts(file).some((conflict) => conflict.code === 'css-duplicate-cascade-key-blocked' || conflict?.details?.reasonCode === 'css-duplicate-cascade-key-order-unproved');
|
|
88
|
+
}
|
|
89
|
+
function hasCssShorthandExpansionEvidence(file) {
|
|
90
|
+
return (file?.result?.shorthandExpansionEvidence?.changedShorthandCount ?? 0) > 0;
|
|
91
|
+
}
|
|
92
|
+
function hasCssDeterministicShorthandExpansionEvidence(file) {
|
|
93
|
+
const evidence = file?.result?.shorthandExpansionEvidence;
|
|
94
|
+
return (evidence?.changedShorthandCount ?? 0) > 0 && evidence.expandedChangedShorthandCount === evidence.changedShorthandCount && evidence.deterministicExpansionClaim === true;
|
|
95
|
+
}
|
|
96
|
+
function hasCssShorthandExpansionBlockedConflict(file) {
|
|
97
|
+
return cssFileConflicts(file).some((conflict) => conflict?.details?.reasonCode === 'css-shorthand-expansion-unproved' || conflict?.details?.proofGap?.code === 'css-shorthand-expansion-unproved');
|
|
98
|
+
}
|
|
84
99
|
function hasCssScopedCascadeScope(file) {
|
|
85
100
|
return cssScopedRuleCount(file) > 0 || hasCssScopedCascadeProofReason(file) || file?.result?.parserEvidence?.scopedCascadeGraphHashPresent === false;
|
|
86
101
|
}
|
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.180",
|
|
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,7 +63,7 @@
|
|
|
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.
|
|
66
|
+
"@shapeshift-labs/frontier-lang-css": "^0.1.17",
|
|
67
67
|
"@shapeshift-labs/frontier-lang-html": "^0.1.14",
|
|
68
68
|
"@shapeshift-labs/frontier-lang-javascript": "0.2.9",
|
|
69
69
|
"@shapeshift-labs/frontier-lang-kernel": "0.3.12",
|