Fix code quality violations and exclude Manifest from checks

Document application modes (development/debug/production)
Add global file drop handler, order column normalization, SPA hash fix
Serve CDN assets via /_vendor/ URLs instead of merging into bundles
Add production minification with license preservation
Improve JSON formatting for debugging and production optimization
Add CDN asset caching with CSS URL inlining for production builds
Add three-mode system (development, debug, production)
Update Manifest CLAUDE.md to reflect helper class architecture
Refactor Manifest.php into helper classes for better organization
Pre-manifest-refactor checkpoint: Add app_mode documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2026-01-14 10:38:22 +00:00
parent bb9046af1b
commit d523f0f600
2355 changed files with 231384 additions and 32223 deletions

View File

@@ -18,8 +18,11 @@
"angleOrBasicShapeOrPath",
"basicShapeOtherwiseNo",
"byComputedValueType",
"byComputedValueTypeNormalAnimatesAsObliqueZeroDeg",
"color",
"discrete",
"discreteButVisibleForDurationWhenAnimatedHidden",
"discreteButVisibleForDurationWhenAnimatedNone",
"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection",
"filterList",
"fontStretch",
@@ -32,7 +35,7 @@
"number",
"position",
"rectangle",
"repeatableListOfSimpleListOfLpc",
"repeatableList",
"shadowList",
"simpleListOfLpc",
"simpleListOfLpcDifferenceLpc",
@@ -48,6 +51,8 @@
"lengthsAsPercentages",
"logicalHeightOfContainingBlock",
"logicalWidthOfContainingBlock",
"logicalHeightOrWidthOfContainingBlock",
"mapToRange0To1",
"maxZoomFactor",
"minZoomFactor",
"no",
@@ -69,10 +74,14 @@
"referToSizeOfFont",
"referToSizeOfMaskBorderImage",
"referToSizeOfMaskPaintingArea",
"referToSVGViewportHeight",
"referToSVGViewportSize",
"referToSVGViewportWidth",
"referToSVGViewportDiagonal",
"referToTotalPathLength",
"referToWidthAndHeightOfElement",
"referToWidthOfAffectedGlyph",
"referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight",
"referToWidthOfBackgroundPositioningAreaMinusBackgroundImageWidth",
"referToWidthOfContainingBlock",
"referToWidthOrHeightOfBorderImageArea",
"referToReferenceBoxWhenSpecifiedOtherwiseBorderBox",
@@ -80,9 +89,11 @@
"regardingHeightOfGeneratedBoxContainingBlockPercentagesNone",
"regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock",
"relativeToBackgroundPositioningArea",
"relativeToCorrespondingDimensionOfRelevantScrollport",
"relativeToMaskBorderImageArea",
"relativeToScrollContainerPaddingBoxAxis",
"relativeToTheScrollContainersScrollport",
"relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
"relativeToWidthAndHeight"
]
},
@@ -100,14 +111,17 @@
"absoluteLengthOrNone",
"absoluteLengthOrNormal",
"absoluteLengthOrPercentage",
"absoluteLengthOrPercentageNumbersConverted",
"absoluteLengthsSpecifiedColorAsSpecified",
"absoluteLengthZeroIfBorderStyleNoneOrHidden",
"absoluteLengthZeroOrLarger",
"absoluteURIOrNone",
"angleRoundedToNextQuarter",
"asAutoOrColor",
"asColorOrAbsoluteURL",
"asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified",
"asLength",
"asLonghands",
"asSpecified",
"asSpecifiedAppliesToEachProperty",
"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
@@ -117,6 +131,7 @@
"asSpecifiedURLsAbsolute",
"asSpecifiedWithExceptionOfResolution",
"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn",
"asSpecifiedWithLengthValuesComputed",
"asSpecifiedWithVarsSubstituted",
"autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent",
"autoOrRectangle",
@@ -125,18 +140,22 @@
"consistsOfTwoDimensionKeywords",
"consistsOfTwoKeywordsForOriginAndOffsets",
"forLengthAbsoluteValueOtherwisePercentage",
"invertForTranslucentColorRGBAOtherwiseRGB",
"autoForTranslucentColorRGBAOtherwiseRGB",
"keywordOrNumericalValueBolderLighterTransformedToRealValue",
"keywordPlusIntegerIfDigits",
"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin",
"listEachItemConsistingOfAbsoluteLengthPercentageOrKeyword",
"listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
"listEachItemConsistingOfPairsOfAutoOrLengthPercentage",
"listEachItemHasTwoKeywordsOnePerDimension",
"listEachItemIdentifierOrNoneAuto",
"listEachItemTwoKeywordsOriginOffsets",
"noneOrImageWithAbsoluteURI",
"noneOrOrderedListOfIdentifiers",
"normalizedAngle",
"normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified",
"oneToFourPercentagesOrAbsoluteLengthsPlusFill",
"optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal",
"optimumValueOfAbsoluteLengthOrNormal",
"percentageAsSpecifiedAbsoluteLengthOrNone",
"percentageAsSpecifiedOrAbsoluteLength",
@@ -149,6 +168,8 @@
"specifiedIntegerOrAbsoluteLength",
"specifiedValueClipped0To1",
"specifiedValueNumberClipped0To1",
"theComputedLengthAndVisualBox",
"theKeywordListStyleImageNoneOrComputedValue",
"translucentValuesRGBAOtherwiseRGB",
"twoAbsoluteLengthOrPercentages",
"twoAbsoluteLengths"
@@ -160,6 +181,7 @@
"allElements",
"allElementsAcceptingWidthOrHeight",
"allElementsAndPseudos",
"allElementsAndText",
"allElementsButNonReplacedAndTableColumns",
"allElementsButNonReplacedAndTableRows",
"allElementsCreatingNativeWindows",
@@ -176,8 +198,11 @@
"allElementsSVGContainerElements",
"allElementsSVGContainerGraphicsAndGraphicsReferencingElements",
"allElementsThatCanReferenceImages",
"allElementsThatGenerateAPrincipalBox",
"allElementsTreeAbidingPseudoElementsPageMarginBoxes",
"allElementsUAsNotRequiredWhenCollapse",
"anyElementEffectOnProgressAndMeter",
"asLonghands",
"beforeAndAfterPseudos",
"blockContainerElements",
"blockContainers",
@@ -185,12 +210,18 @@
"blockContainersExceptMultiColumnContainers",
"blockContainersExceptTableWrappers",
"blockContainersFlexContainersGridContainers",
"blockContainersFlexContainersGridContainersInlineBoxesTableRowsSVGTextContentElements",
"blockContainersMultiColumnContainersFlexContainersGridContainers",
"blockElementsInNormalFlow",
"blockLevelElements",
"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems",
"boxElements",
"childrenOfBoxElements",
"directChildrenOfElementsWithDisplayMozBoxMozInlineBox",
"elementsForWhichLayoutContainmentCanApply",
"elementsForWhichSizeContainmentCanApply",
"elementsThatAcceptInput",
"elementsWithDefaultPreferredSize",
"elementsWithDisplayBoxOrInlineBox",
"elementsWithDisplayMarker",
"elementsWithDisplayMozBoxMozInlineBox",
@@ -212,7 +243,21 @@
"images",
"inFlowBlockLevelElements",
"inFlowChildrenOfBoxElements",
"inlineBoxesAndBlockContainers",
"inlineLevelAndTableCellElements",
"limitedSVGElements",
"limitedSVGElementsCircle",
"limitedSVGElementsEllipse",
"limitedSVGElementsEllipseRect",
"limitedSVGElementsFilterPrimitives",
"limitedSVGElementsGeometry",
"limitedSVGElementsGraphics",
"limitedSVGElementsGraphicsAndUse",
"limitedSVGElementsPath",
"limitedSVGElementsShapes",
"limitedSVGElementsShapesAndTextContent",
"limitedSVGElementsShapeText",
"limitedSVGElementsTextContent",
"listItems",
"maskElements",
"multicolElements",
@@ -223,6 +268,7 @@
"nonReplacedElements",
"nonReplacedInlineElements",
"positionedElements",
"positionedElementsWithADefaultAnchorElement",
"replacedElements",
"rubyAnnotationsContainers",
"rubyBasesAnnotationsBaseAnnotationContainers",
@@ -230,9 +276,11 @@
"sameAsWidthAndHeight",
"scrollContainers",
"scrollingBoxes",
"sensitiveTextInputs",
"tableCaptionElements",
"tableCellElements",
"tableElements",
"textAndBlockContainers",
"textElements",
"textFields",
"transformableElements",
@@ -282,7 +330,6 @@
"additionalProperties": false,
"required": [
"syntax",
"media",
"inherited",
"animationType",
"percentages",