Skip to content

Commit 529e62b

Browse files
committed
补充框架与组件库匹配规则
新增一批本地资源匹配,覆盖传统前端框架、Hotwire 生态、移动 UI 与企业组件库。 继续限定专属发行文件、包目录和组件库资源名,避开过短文件名和正文关键词。 补充新增技术链接并递增版本至 1.3.14。
1 parent 1502c1b commit 529e62b

3 files changed

Lines changed: 167 additions & 1 deletion

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "stackprism",
33
"private": true,
4-
"version": "1.3.13",
4+
"version": "1.3.14",
55
"type": "module",
66
"description": "StackPrism 用于检测网页前端、后端、CDN、SaaS、广告营销、统计、登录、支付、网站程序和主题模板线索。",
77
"scripts": {

public/rules/page/frontend-local-libraries.json

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4117,6 +4117,169 @@
41174117
{
41184118
"name": "graphql-ws",
41194119
"patterns": ["(?:^|/)graphql-ws(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"]
4120+
},
4121+
{
4122+
"name": "Ember.js",
4123+
"patterns": [
4124+
"(?:^|/)ember(?:\\.debug|\\.prod|\\.production)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4125+
"(?:^|/)ember-source(?:@[^/\\s\"'<>]+)?/dist/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4126+
]
4127+
},
4128+
{
4129+
"name": "Backbone.js",
4130+
"patterns": [
4131+
"(?:^|/)backbone(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4132+
"(?:^|/)backbone(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4133+
]
4134+
},
4135+
{
4136+
"name": "Mithril",
4137+
"patterns": [
4138+
"(?:^|/)mithril(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4139+
"(?:^|/)mithril(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4140+
]
4141+
},
4142+
{
4143+
"name": "Polymer",
4144+
"patterns": [
4145+
"(?:^|/)polymer(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4146+
"(?:^|/)@polymer/polymer(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4147+
]
4148+
},
4149+
{
4150+
"name": "Stimulus",
4151+
"patterns": [
4152+
"(?:^|/)stimulus(?:\\.umd)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4153+
"(?:^|/)@hotwired/stimulus(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4154+
]
4155+
},
4156+
{
4157+
"name": "Hotwire Turbo",
4158+
"patterns": [
4159+
"(?:^|/)turbo(?:\\.es2017-umd|\\.umd)(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4160+
"(?:^|/)@hotwired/turbo(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4161+
]
4162+
},
4163+
{
4164+
"name": "Riot.js",
4165+
"patterns": [
4166+
"(?:^|/)riot(?:\\+compiler)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4167+
"(?:^|/)riot(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4168+
]
4169+
},
4170+
{
4171+
"name": "Aurelia",
4172+
"patterns": [
4173+
"(?:^|/)aurelia(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4174+
"(?:^|/)(?:aurelia-framework|@aurelia/(?:runtime|runtime-html|kernel|router))(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4175+
]
4176+
},
4177+
{
4178+
"name": "Stencil",
4179+
"patterns": [
4180+
"(?:^|/)stencil(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4181+
"(?:^|/)@stencil/core(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4182+
]
4183+
},
4184+
{
4185+
"name": "Marko",
4186+
"patterns": [
4187+
"(?:^|/)marko(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4188+
"(?:^|/)marko(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4189+
]
4190+
},
4191+
{
4192+
"name": "Dojo Toolkit",
4193+
"patterns": [
4194+
"(?:^|/)dojo(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4195+
"(?:^|/)dojo/(?:dojo|parser|dom|on)\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4196+
"(?:^|/)dijit/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4197+
]
4198+
},
4199+
{
4200+
"name": "CanJS",
4201+
"patterns": [
4202+
"(?:^|/)can\\.(?:all|jquery)(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4203+
"(?:^|/)canjs(?:@[^/\\s\"'<>]+)?/.+\\.m?js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4204+
]
4205+
},
4206+
{
4207+
"name": "Hyperapp",
4208+
"patterns": [
4209+
"(?:^|/)hyperapp(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4210+
"(?:^|/)hyperapp(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4211+
]
4212+
},
4213+
{
4214+
"name": "Ractive.js",
4215+
"patterns": [
4216+
"(?:^|/)ractive(?:\\.runtime)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4217+
"(?:^|/)ractive(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4218+
]
4219+
},
4220+
{
4221+
"name": "Mavo",
4222+
"patterns": [
4223+
"(?:^|/)mavo(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4224+
"(?:^|/)mavo(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4225+
]
4226+
},
4227+
{
4228+
"name": "Kendo UI",
4229+
"patterns": [
4230+
"(?:^|/)kendo\\.(?:all|web|ui\\.core|core|dataviz)(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4231+
"(?:^|/)kendo-ui-core(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4232+
"(?:^|/)@progress/kendo-[^/\\s\"'<>]+(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4233+
]
4234+
},
4235+
{
4236+
"name": "Wijmo",
4237+
"patterns": [
4238+
"(?:^|/)wijmo(?:\\.[a-z0-9_-]+)*(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4239+
"(?:^|/)@grapecity/wijmo(?:\\.[^/\\s\"'<>]+)?(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4240+
]
4241+
},
4242+
{
4243+
"name": "Webix",
4244+
"patterns": [
4245+
"(?:^|/)webix(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4246+
"(?:^|/)webix(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4247+
]
4248+
},
4249+
{
4250+
"name": "Framework7",
4251+
"patterns": [
4252+
"(?:^|/)framework7(?:\\.bundle)?(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4253+
"(?:^|/)framework7(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4254+
]
4255+
},
4256+
{
4257+
"name": "Onsen UI",
4258+
"patterns": [
4259+
"(?:^|/)(?:onsenui|onsen-css-components)(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4260+
"(?:^|/)onsenui(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4261+
]
4262+
},
4263+
{
4264+
"name": "Ionic",
4265+
"patterns": [
4266+
"(?:^|/)ionic(?:\\.bundle)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4267+
"(?:^|/)@ionic/(?:core|angular|react|vue)(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|cjs|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4268+
]
4269+
},
4270+
{
4271+
"name": "jQWidgets",
4272+
"patterns": [
4273+
"(?:^|/)jqx(?:core|data|buttons|grid|listbox|dropdownlist|menu|scrollbar|window|chart|tree|tabs)(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4274+
"(?:^|/)jqwidgets(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4275+
]
4276+
},
4277+
{
4278+
"name": "Vaadin",
4279+
"patterns": [
4280+
"(?:^|/)vaadin-(?:bundle|flow-frontend|web-components)(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
4281+
"(?:^|/)@vaadin/[^/\\s\"'<>]+(?:@[^/\\s\"'<>]+)?/.+\\.(?:m?js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
4282+
]
41204283
}
41214284
]
41224285
}

public/tech-links.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147
"CanJS": "https://canjs.com",
148148
"Inferno": "https://infernojs.org",
149149
"Hyperapp": "https://github.com/jorgebucaran/hyperapp",
150+
"Mavo": "https://mavo.io",
150151
"MooTools": "https://mootools.net",
151152
"Prototype.js": "http://prototypejs.org",
152153
"YUI": "https://yuilibrary.com",
@@ -189,6 +190,8 @@
189190
"Syncfusion Essential JS": "https://www.syncfusion.com/javascript-ui-controls",
190191
"Wijmo": "https://developer.mescius.com/wijmo",
191192
"Webix": "https://webix.com",
193+
"jQWidgets": "https://www.jqwidgets.com",
194+
"Vaadin": "https://vaadin.com",
192195
"UIkit": "https://getuikit.com",
193196
"Materialize CSS": "https://materializecss.com",
194197
"Pure.css": "https://purecss.io",

0 commit comments

Comments
 (0)