find_missing_admin_chunks() only parsed index.js, but a lazily imported page chunk pulls in its own deps (shared-api, PageHeader, sortable-options…). A deploy that drops one of those still leaves the entry internally consistent, so the existing notice never fires and the failure only shows up when an admin opens that menu — every schemaPage keeps working, which makes the breakage look arbitrary. The same scan never looked at CSS at all: 18 stylesheets are reachable from the graph and none of them were checked, so a missing page stylesheet ships an unstyled screen with no warning. Walk the module graph transitively from index.js, queueing each discovered dependency, and match .js and .css specifiers. Deleting PageHeader now also reports every page that depends on it. This is a diagnostic hardening only — it makes an incomplete deploy loud instead of guessing at the cause of a broken page.
296 lines
13 KiB
JSON
296 lines
13 KiB
JSON
{
|
|
"generated_at": "2026-11-01T05:33:16+00:00",
|
|
"errors": [],
|
|
"warnings": [
|
|
"customPage tools-update section 'tools/update' not in PHP schema (ok if pure operational page)",
|
|
"customPage users-wechat-template section 'users/wechat-template' not in PHP schema (ok if pure operational page)",
|
|
"enum incomplete parse for 'alipay_pc_mode' (php subset of js): php=[facepay] js=[facepay,web]",
|
|
"enum incomplete parse for 'avatar_external' (php subset of js): php=[] js=[,gravatar,weavatar,cravatar,geekzu,loli,sep,v2ex]",
|
|
"enum incomplete parse for 'backup_frequency' (php subset of js): php=[daily] js=[daily,weekly,monthly]",
|
|
"enum incomplete parse for 'bind_reminder' (php subset of js): php=[email] js=[email,phone,email_phone,close]",
|
|
"enum incomplete parse for 'content_audit_on_failure' (php subset of js): php=[allow] js=[allow,block]",
|
|
"enum incomplete parse for 'content_audit_provider' (php subset of js): php=[baidu] js=[baidu,null]",
|
|
"enum incomplete parse for 'direction' (php subset of js): php=[horizontal] js=[horizontal,vertical]",
|
|
"enum incomplete parse for 'effect' (php subset of js): php=[slide] js=[slide,fade,cube,coverflow,flip]",
|
|
"enum incomplete parse for 'font_family' (php subset of js): php=[system] js=[system,noto-sans-sc,noto-serif-sc,custom]",
|
|
"enum incomplete parse for 'i18n_default_lang' (php subset of js): php=[zh-CN] js=[zh-CN,en,zh-TW,ja,ko,fr,de,es,ru]",
|
|
"enum incomplete parse for 'i18n_switcher_position' (php subset of js): php=[header] js=[header,footer,both,none]",
|
|
"enum incomplete parse for 'i18n_url_strategy' (php subset of js): php=[query] js=[query,path,subdomain]",
|
|
"enum incomplete parse for 'img_position' (php subset of js): php=[left] js=[left,right]",
|
|
"enum incomplete parse for 'invit_code_s' (php subset of js): php=[close] js=[close,open,must]",
|
|
"enum incomplete parse for 'invite_code_s' (php subset of js): php=[close] js=[close,open,must]",
|
|
"enum incomplete parse for 'ip_addr_sdk' (php subset of js): php=[polling] js=[polling,qq,amap,null]",
|
|
"enum incomplete parse for 'ip_geo_format' (php subset of js): php=[province_city] js=[province_city,province,country_province]",
|
|
"enum incomplete parse for 'lazy_animation' (php subset of js): php=[fade] js=[blur,fade,scale]",
|
|
"enum incomplete parse for 'list_meta_show' (php subset of js): php=[view] js=[view,like,comm]",
|
|
"enum incomplete parse for 'list_orderby' (php subset of js): php=[date] js=[date,modified,default]",
|
|
"enum incomplete parse for 'list_show_type' (php subset of js): php=[separate] js=[separate,no_margin]",
|
|
"enum incomplete parse for 'list_thumb_fit' (php subset of js): php=[] js=[,contain]",
|
|
"enum incomplete parse for 'list_type' (php subset of js): php=[text] js=[text,thumb,thumb_if_has,card]",
|
|
"enum incomplete parse for 'lists' (php subset of js): php=[modified] js=[modified,date,views,like,comment_count,favorite,rand]",
|
|
"enum incomplete parse for 'mandatory_bind' (php subset of js): php=[email] js=[email,phone,email_phone,close]",
|
|
"enum incomplete parse for 'message_paginate_type' (php subset of js): php=[ajax_lists] js=[ajax_lists,default]",
|
|
"enum incomplete parse for 'oauth_bind_type' (php subset of js): php=[auto] js=[auto,manual]",
|
|
"enum incomplete parse for 'oauth_proxy_mode' (php subset of js): php=[close] js=[close,server,client]",
|
|
"enum incomplete parse for 'paging_ajax_s' (php subset of js): php=[1] js=[1,0]",
|
|
"enum incomplete parse for 'pattern' (php subset of js): php=[allow] js=[allow,prohibit]",
|
|
"enum incomplete parse for 'pay_alipay_sdk_options' (php subset of js): php=[official_alipay] js=[official_alipay,epay,null]",
|
|
"enum incomplete parse for 'pay_box_position' (php subset of js): php=[box_top] js=[box_top,top,bottom,box_bottom]",
|
|
"enum incomplete parse for 'pay_modo_default' (php subset of js): php=[0] js=[0,points]",
|
|
"enum incomplete parse for 'pay_wechat_sdk_options' (php subset of js): php=[official_wechat] js=[official_wechat,epay,null]",
|
|
"enum incomplete parse for 'post_pay_box_position' (php subset of js): php=[content] js=[content,mask]",
|
|
"enum incomplete parse for 'post_time_source' (php subset of js): php=[date] js=[date,modified]",
|
|
"enum incomplete parse for 'referral_attribution_model' (php subset of js): php=[first_touch] js=[first_touch,last_touch]",
|
|
"enum incomplete parse for 'search_type_in' (php subset of js): php=[post] js=[post,user]",
|
|
"enum incomplete parse for 'sign_card_position' (php subset of js): php=[left] js=[left,center,right]",
|
|
"enum incomplete parse for 'sign_theme_mode' (php subset of js): php=[no] js=[no,white-theme,dark-theme]",
|
|
"enum incomplete parse for 'sms_ali_api_type' (php subset of js): php=[sms] js=[sms,verify]",
|
|
"enum incomplete parse for 'sms_sdk' (php subset of js): php=[null] js=[null,ali,tencent,smsbao]",
|
|
"enum incomplete parse for 'style' (php subset of js): php=[null] js=[null,style2]",
|
|
"enum incomplete parse for 'system_notice_btn1_color' (php subset of js): php=[primary] js=[primary,success,warning,danger,info,purple,dark]",
|
|
"enum incomplete parse for 'system_notice_btn2_color' (php subset of js): php=[primary] js=[primary,success,warning,danger,info,purple,dark]",
|
|
"enum incomplete parse for 'system_notice_btn3_color' (php subset of js): php=[primary] js=[primary,success,warning,danger,info,purple,dark]",
|
|
"enum incomplete parse for 'system_notice_btn4_color' (php subset of js): php=[primary] js=[primary,success,warning,danger,info,purple,dark]",
|
|
"enum incomplete parse for 'system_notice_policy' (php subset of js): php=[] js=[,signin,vip,free,auth]",
|
|
"enum incomplete parse for 'system_notice_size' (php subset of js): php=[] js=[,modal-mini,modal-sm,modal-lg]",
|
|
"enum incomplete parse for 'theme_mode' (php subset of js): php=[white-theme] js=[white-theme,dark-theme,time-auto]",
|
|
"enum incomplete parse for 'user_email_limit_type' (php subset of js): php=[not] js=[not,allow]",
|
|
"enum incomplete parse for 'user_sign_type' (php subset of js): php=[modal] js=[modal,page]",
|
|
"enum incomplete parse for 'user_signin_nopas_active' (php subset of js): php=[nopas] js=[nopas,pas,only_nopas]",
|
|
"enum incomplete parse for 'weixingzh_gzh_type' (php subset of js): php=[service] js=[service,subscribe]"
|
|
],
|
|
"info": [
|
|
"PHP schema domains: global, page_display, post_list, permissions, users, payment, extensions, tools, ExtensionsAudit, ExtensionsIP, ExtensionsPush, ExtensionsSecurity, ExtensionsSystem, ToolsBackup, ToolsHealth, ToolsImportExport, PostListList",
|
|
"Menu pages discovered: 61",
|
|
"admin build ok; chunks=33"
|
|
],
|
|
"domains": {
|
|
"global": {
|
|
"sections": [
|
|
"code-highlight",
|
|
"common",
|
|
"custom-code",
|
|
"email",
|
|
"i18n",
|
|
"layout",
|
|
"logo",
|
|
"search",
|
|
"seo",
|
|
"share",
|
|
"system-notice"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/GlobalSchema.php"
|
|
]
|
|
},
|
|
"page_display": {
|
|
"sections": [
|
|
"category",
|
|
"footer",
|
|
"header-components",
|
|
"header-nav",
|
|
"homepage",
|
|
"other",
|
|
"tag",
|
|
"user-home"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaPageDisplay.php"
|
|
]
|
|
},
|
|
"post_list": {
|
|
"sections": [
|
|
"comment",
|
|
"feature",
|
|
"filter",
|
|
"list",
|
|
"page",
|
|
"pay",
|
|
"submit",
|
|
"thumb"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaPostList.php"
|
|
]
|
|
},
|
|
"permissions": {
|
|
"sections": [
|
|
"attachment",
|
|
"capabilities",
|
|
"login",
|
|
"moderation"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaPermissions.php"
|
|
]
|
|
},
|
|
"users": {
|
|
"sections": [
|
|
"auth",
|
|
"badge",
|
|
"credits",
|
|
"features",
|
|
"level",
|
|
"notifications",
|
|
"oauth",
|
|
"report",
|
|
"sms",
|
|
"ticket",
|
|
"verify"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaUsers.php",
|
|
"src/Admin/Schema/Users/SchemaUsersTicket.php"
|
|
]
|
|
},
|
|
"payment": {
|
|
"sections": [
|
|
"affiliate",
|
|
"gateway",
|
|
"knowledge",
|
|
"recharge",
|
|
"revenue",
|
|
"vip",
|
|
"withdrawal"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaPayment.php"
|
|
]
|
|
},
|
|
"extensions": {
|
|
"sections": [
|
|
"audit",
|
|
"ip",
|
|
"push",
|
|
"security",
|
|
"system"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaExtensions.php"
|
|
]
|
|
},
|
|
"tools": {
|
|
"sections": [
|
|
"backup",
|
|
"health",
|
|
"import-export"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaTools.php"
|
|
]
|
|
},
|
|
"ExtensionsAudit": {
|
|
"sections": [
|
|
"audit"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaExtensionsAudit.php"
|
|
]
|
|
},
|
|
"ExtensionsIP": {
|
|
"sections": [
|
|
"ip"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaExtensionsIP.php"
|
|
]
|
|
},
|
|
"ExtensionsPush": {
|
|
"sections": [
|
|
"push"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaExtensionsPush.php"
|
|
]
|
|
},
|
|
"ExtensionsSecurity": {
|
|
"sections": [
|
|
"security"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaExtensionsSecurity.php"
|
|
]
|
|
},
|
|
"ExtensionsSystem": {
|
|
"sections": [
|
|
"system"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaExtensionsSystem.php"
|
|
]
|
|
},
|
|
"ToolsBackup": {
|
|
"sections": [
|
|
"backup"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaToolsBackup.php"
|
|
]
|
|
},
|
|
"ToolsHealth": {
|
|
"sections": [
|
|
"health"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaToolsHealth.php"
|
|
]
|
|
},
|
|
"ToolsImportExport": {
|
|
"sections": [
|
|
"import-export"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/SchemaToolsImportExport.php"
|
|
]
|
|
},
|
|
"PostListList": {
|
|
"sections": [
|
|
"list"
|
|
],
|
|
"files": [
|
|
"src/Admin/Schema/PostList/SchemaPostListList.php"
|
|
]
|
|
}
|
|
},
|
|
"page_count": 61,
|
|
"build": {
|
|
"present": true,
|
|
"entry": true,
|
|
"missing_chunks": [],
|
|
"chunks": [
|
|
"SchemaPage.YNr16Fc9.js",
|
|
"vendor-vue.CibbKclz.js",
|
|
"FaIcon.DB-L86Cm.js",
|
|
"useCollapsibleItems.B7EjDmsr.js",
|
|
"vendor-draggable.CJPlJ2VA.js",
|
|
"FaIconPicker.BFlucdpY.js",
|
|
"shared-api.GLIRMK1p.js",
|
|
"vendor-misc.DkFG_sHo.js",
|
|
"AksColorPicker.YAbprujg.js",
|
|
"sortable-options.eXkhlrfL.js",
|
|
"level.E3ANSDAX.js",
|
|
"badge.ClviT45t.js",
|
|
"vendor-naive.Dfu2WQKq.js",
|
|
"DeferredPage.DbbPIOR7.js",
|
|
"NativeOpsRedirect.GFQhzjCJ.js",
|
|
"FloatingButtonsSettings.DYWR59AW.js",
|
|
"PageHeader.UHsfBDVL.js",
|
|
"FooterTabbarSettings.D8ujMgd9.js",
|
|
"PostPageSettings.D8BXJ07f.js",
|
|
"CommentSettings.1Il-GVqw.js",
|
|
"PermissionsCapabilities.DXXFzINq.js",
|
|
"CmsCredits.DESOnIkP.js",
|
|
"ThemeInfoPage.D5AogccB.js",
|
|
"ThemeAuthorizationPage.MnnPj70n.js",
|
|
"DocsPage.UUs_OZP9.js",
|
|
"UsersVerify.Dab-auoO.js",
|
|
"UsersLevel.B-jXEukF.js",
|
|
"UsersBadge.DVCEC3QE.js",
|
|
"UsersWechatTemplate.DHoNsqm_.js",
|
|
"UsersTicket.D5BTFq6U.js",
|
|
"ToolsImportExport.C-XhCKwl.js",
|
|
"ToolsHealth.DNZ1YaWo.js",
|
|
"ToolsUpdate.38p6GYou.js"
|
|
]
|
|
}
|
|
} |