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

@@ -122,8 +122,45 @@
"status": "nonstandard",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@document"
},
"@font-palette-values": {
"syntax": "@font-palette-values <dashed-ident> { <declaration-list> }",
"groups": [
"CSS Fonts"
],
"descriptors": {
"base-palette": {
"syntax": "light | dark | <integer [0,∞]>",
"media": "all",
"initial": "n/a (required)",
"percentages": "no",
"computed": "asSpecified",
"order": "uniqueOrder",
"status": "standard"
},
"font-family": {
"syntax": "<family-name>#",
"media": "all",
"initial": "n/a (required)",
"percentages": "no",
"computed": "asSpecified",
"order": "orderOfAppearance",
"status": "standard"
},
"override-colors": {
"syntax": "[ <integer [0,∞]> <absolute-color-base> ]#",
"media": "all",
"initial": "n/a (required)",
"percentages": "no",
"computed": "asSpecified",
"order": "orderOfAppearance",
"status": "standard"
}
},
"status": "standard",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@font-palette-values"
},
"@font-face": {
"syntax": "@font-face {\n [ font-family: <family-name>; ] ||\n [ src: <src>; ] ||\n [ unicode-range: <unicode-range>; ] ||\n [ font-variant: <font-variant>; ] ||\n [ font-feature-settings: <font-feature-settings>; ] ||\n [ font-variation-settings: <font-variation-settings>; ] ||\n [ font-stretch: <font-stretch>; ] ||\n [ font-weight: <font-weight>; ] ||\n [ font-style: <font-style>; ]\n}",
"syntax": "@font-face {\n [ font-family: <family-name>; ] ||\n [ src: <src>; ] ||\n [ unicode-range: <unicode-range>; ] ||\n [ font-variant: <font-variant>; ] ||\n [ font-feature-settings: <font-feature-settings>; ] ||\n [ font-variation-settings: <font-variation-settings>; ] ||\n [ font-stretch: <font-stretch>; ] ||\n [ font-weight: <font-weight>; ] ||\n [ font-style: <font-style>; ] ||\n [ size-adjust: <size-adjust>; ] ||\n [ ascent-override: <ascent-override>; ] ||\n [ descent-override: <descent-override>; ] ||\n [ line-gap-override: <line-gap-override>; ]\n}",
"interfaces": [
"CSSFontFaceRule"
],
@@ -131,6 +168,24 @@
"CSS Fonts"
],
"descriptors": {
"ascent-override": {
"syntax": "normal | <percentage>",
"media": "all",
"initial": "normal",
"percentages": "asSpecified",
"computed": "asSpecified",
"order": "orderOfAppearance",
"status": "experimental"
},
"descent-override": {
"syntax": "normal | <percentage>",
"media": "all",
"initial": "normal",
"percentages": "asSpecified",
"computed": "asSpecified",
"order": "orderOfAppearance",
"status": "experimental"
},
"font-display": {
"syntax": "[ auto | block | swap | fallback | optional ]",
"media": "visual",
@@ -194,14 +249,23 @@
"order": "uniqueOrder",
"status": "standard"
},
"font-variant": {
"syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]",
"line-gap-override": {
"syntax": "normal | <percentage>",
"media": "all",
"initial": "normal",
"percentages": "no",
"percentages": "asSpecified",
"computed": "asSpecified",
"order": "orderOfAppearance",
"status": "standard"
"status": "experimental"
},
"size-adjust": {
"syntax": "<percentage>",
"media": "all",
"initial": "100%",
"percentages": "asSpecified",
"computed": "asSpecified",
"order": "orderOfAppearance",
"status": "experimental"
},
"src": {
"syntax": "[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#",
@@ -237,8 +301,9 @@
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"
},
"@import": {
"syntax": "@import [ <string> | <url> ] [ <media-query-list> ]?;",
"syntax": "@import [ <string> | <url> ]\n [ layer | layer(<layer-name>) ]?\n [ supports( [ <supports-condition> | <declaration> ] ) ]?\n <media-query-list>? ;",
"groups": [
"CSS Conditional Rules",
"Media Queries"
],
"status": "standard",
@@ -256,6 +321,18 @@
"status": "standard",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@keyframes"
},
"@layer": {
"syntax": "@layer [ <layer-name># | <layer-name>? {\n <stylesheet>\n} ]",
"interfaces": [
"CSSLayerBlockRule",
"CSSLayerStatementRule"
],
"groups": [
"CSS Cascading and Inheritance"
],
"status": "standard",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@layer"
},
"@media": {
"syntax": "@media <media-query-list> {\n <group-rule-body>\n}",
"interfaces": [
@@ -312,6 +389,18 @@
"order": "orderOfAppearance",
"status": "standard"
},
"page-orientation": {
"syntax": "upright | rotate-left | rotate-right ",
"media": [
"visual",
"paged"
],
"initial": "upright",
"percentages": "no",
"computed": "asSpecified",
"order": "orderOfAppearance",
"status": "standard"
},
"size": {
"syntax": "<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]",
"media": [
@@ -328,6 +417,17 @@
"status": "standard",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@page"
},
"@position-try": {
"syntax": "@position-try <dashed-ident> {\n <declaration-list>\n}",
"interfaces": [
"CSSPositionTryRule"
],
"groups": [
"CSS Positioning"
],
"status": "experimental",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@position-try"
},
"@property": {
"syntax": "@property <custom-property-name> {\n <declaration-list>\n}",
"interfaces": [
@@ -357,7 +457,7 @@
"status": "experimental"
},
"initial-value": {
"syntax": "<string>",
"syntax": "<declaration-value>?",
"media": "all",
"initial": "n/a (required)",
"percentages": "no",
@@ -369,6 +469,25 @@
"status": "experimental",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@property"
},
"@scope": {
"syntax": "@scope [(<scope-start>)]? [to (<scope-end>)]? {\n <rule-list>\n}",
"groups": [
"CSS Conditional Rules"
],
"status": "standard",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@scope"
},
"@starting-style": {
"syntax": "@starting-style {\n <declaration-list> | <group-rule-body>\n}",
"interfaces": [
"CSSStartingStyleRule"
],
"groups": [
"CSS Animations"
],
"status": "experimental",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@starting-style"
},
"@supports": {
"syntax": "@supports <supports-condition> {\n <group-rule-body>\n}",
"interfaces": [
@@ -381,180 +500,5 @@
],
"status": "standard",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@supports"
},
"@viewport": {
"syntax": "@viewport {\n <group-rule-body>\n}",
"interfaces": [
"CSSViewportRule"
],
"groups": [
"CSS Device Adaptation"
],
"descriptors": {
"height": {
"syntax": "<viewport-length>{1,2}",
"media": [
"visual",
"continuous"
],
"initial": [
"min-height",
"max-height"
],
"percentages": [
"min-height",
"max-height"
],
"computed": [
"min-height",
"max-height"
],
"order": "orderOfAppearance",
"status": "standard"
},
"max-height": {
"syntax": "<viewport-length>",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "referToHeightOfInitialViewport",
"computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
"order": "uniqueOrder",
"status": "standard"
},
"max-width": {
"syntax": "<viewport-length>",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "referToWidthOfInitialViewport",
"computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
"order": "uniqueOrder",
"status": "standard"
},
"max-zoom": {
"syntax": "auto | <number> | <percentage>",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "the zoom factor itself",
"computed": "autoNonNegativeOrPercentage",
"order": "uniqueOrder",
"status": "standard"
},
"min-height": {
"syntax": "<viewport-length>",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "referToHeightOfInitialViewport",
"computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
"order": "uniqueOrder",
"status": "standard"
},
"min-width": {
"syntax": "<viewport-length>",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "referToWidthOfInitialViewport",
"computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
"order": "uniqueOrder",
"status": "standard"
},
"min-zoom": {
"syntax": "auto | <number> | <percentage>",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "the zoom factor itself",
"computed": "autoNonNegativeOrPercentage",
"order": "uniqueOrder",
"status": "standard"
},
"orientation": {
"syntax": "auto | portrait | landscape",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "referToSizeOfBoundingBox",
"computed": "asSpecified",
"order": "uniqueOrder",
"status": "standard"
},
"user-zoom": {
"syntax": "zoom | fixed",
"media": [
"visual",
"continuous"
],
"initial": "zoom",
"percentages": "referToSizeOfBoundingBox",
"computed": "asSpecified",
"order": "uniqueOrder",
"status": "standard"
},
"viewport-fit": {
"syntax": "auto | contain | cover",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "no",
"computed": "asSpecified",
"order": "uniqueOrder",
"status": "standard"
},
"width": {
"syntax": "<viewport-length>{1,2}",
"media": [
"visual",
"continuous"
],
"initial": [
"min-width",
"max-width"
],
"percentages": [
"min-width",
"max-width"
],
"computed": [
"min-width",
"max-width"
],
"order": "orderOfAppearance",
"status": "standard"
},
"zoom": {
"syntax": "auto | <number> | <percentage>",
"media": [
"visual",
"continuous"
],
"initial": "auto",
"percentages": "the zoom factor itself",
"computed": "autoNonNegativeOrPercentage",
"order": "uniqueOrder",
"status": "standard"
}
},
"status": "standard",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@viewport"
}
}