Skip to content

Commit e64b1d8

Browse files
committed
补充组件与动画库匹配规则
新增一批本地资源匹配,覆盖动画、轮播、图形、日期、表格、图标和实用组件库。 继续使用明确包名、作用域包或专属发行文件,避免短路径和泛文件名误判。 版本递增至 1.3.9。
1 parent 5080135 commit e64b1d8

3 files changed

Lines changed: 219 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.8",
4+
"version": "1.3.9",
55
"type": "module",
66
"description": "StackPrism 用于检测网页前端、后端、CDN、SaaS、广告营销、统计、登录、支付、网站程序和主题模板线索。",
77
"scripts": {

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

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3366,6 +3366,196 @@
33663366
"(?:^|/)particles\\.js/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
33673367
]
33683368
},
3369+
{
3370+
"name": "progressbar.js",
3371+
"patterns": [
3372+
"(?:^|/)progressbar(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3373+
"(?:^|/)progressbar\\.js/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3374+
]
3375+
},
3376+
{
3377+
"name": "pinyin",
3378+
"patterns": [
3379+
"(?:^|/)pinyin(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3380+
"(?:^|/)pinyin(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3381+
]
3382+
},
3383+
{
3384+
"name": "EaselJS",
3385+
"patterns": [
3386+
"(?:^|/)easeljs(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3387+
"(?:^|/)@createjs/easeljs(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3388+
]
3389+
},
3390+
{
3391+
"name": "jsPlumb",
3392+
"patterns": [
3393+
"(?:^|/)jsplumb(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3394+
"(?:^|/)@jsplumb/[^/\\s\"'<>]+(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3395+
]
3396+
},
3397+
{
3398+
"name": "MetricsGraphics.js",
3399+
"patterns": [
3400+
"(?:^|/)metricsgraphics(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3401+
"(?:^|/)metrics-graphics(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3402+
]
3403+
},
3404+
{
3405+
"name": "Infinite Scroll",
3406+
"patterns": [
3407+
"(?:^|/)infinite-scroll(?:\\.pkgd)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3408+
"(?:^|/)jquery\\.infinitescroll(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3409+
]
3410+
},
3411+
{
3412+
"name": "model-viewer",
3413+
"patterns": [
3414+
"(?:^|/)model-viewer(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3415+
"(?:^|/)@google/model-viewer(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3416+
]
3417+
},
3418+
{
3419+
"name": "Radium",
3420+
"patterns": ["(?:^|/)radium(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"]
3421+
},
3422+
{
3423+
"name": "jquery.transit",
3424+
"patterns": ["(?:^|/)jquery\\.transit(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"]
3425+
},
3426+
{
3427+
"name": "Clappr",
3428+
"patterns": [
3429+
"(?:^|/)clappr(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3430+
"(?:^|/)clappr(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3431+
]
3432+
},
3433+
{
3434+
"name": "js-sequence-diagrams",
3435+
"patterns": [
3436+
"(?:^|/)sequence-diagram(?:-min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3437+
"(?:^|/)js-sequence-diagrams/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3438+
]
3439+
},
3440+
{
3441+
"name": "dynamics.js",
3442+
"patterns": [
3443+
"(?:^|/)dynamics(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3444+
"(?:^|/)dynamics\\.js/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3445+
]
3446+
},
3447+
{
3448+
"name": "Embla Carousel",
3449+
"patterns": [
3450+
"(?:^|/)embla-carousel(?:\\.umd)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3451+
"(?:^|/)embla-carousel(?:-[^/\\s\"'<>]+)?(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3452+
]
3453+
},
3454+
{
3455+
"name": "Vue I18n",
3456+
"patterns": [
3457+
"(?:^|/)vue-i18n(?:\\.global)?(?:\\.prod)?(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3458+
"(?:^|/)vue-i18n(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3459+
]
3460+
},
3461+
{
3462+
"name": "Tempus Dominus",
3463+
"patterns": [
3464+
"(?:^|/)tempus-dominus(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3465+
"(?:^|/)@eonasdan/tempus-dominus(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3466+
]
3467+
},
3468+
{
3469+
"name": "Magic CSS",
3470+
"patterns": [
3471+
"(?:^|/)magic(?:\\.min)?\\.css(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3472+
"(?:^|/)magic\\.css/.+\\.css(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3473+
]
3474+
},
3475+
{
3476+
"name": "AlaSQL",
3477+
"patterns": [
3478+
"(?:^|/)alasql(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3479+
"(?:^|/)alasql(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3480+
]
3481+
},
3482+
{
3483+
"name": "Backbone.Marionette",
3484+
"patterns": [
3485+
"(?:^|/)backbone\\.marionette(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3486+
"(?:^|/)backbone\\.marionette(?:@[^/\\s\"'<>]+)?/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3487+
]
3488+
},
3489+
{
3490+
"name": "gmaps.js",
3491+
"patterns": [
3492+
"(?:^|/)gmaps(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3493+
"(?:^|/)gmaps\\.js/.+\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3494+
]
3495+
},
3496+
{
3497+
"name": "es5-shim",
3498+
"patterns": [
3499+
"(?:^|/)es5-shim(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3500+
"(?:^|/)es5-sham(?:\\.min)?\\.js(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3501+
]
3502+
},
3503+
{
3504+
"name": "NVD3",
3505+
"patterns": [
3506+
"(?:^|/)nv\\.d3(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3507+
"(?:^|/)nvd3/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3508+
]
3509+
},
3510+
{
3511+
"name": "Pikaday",
3512+
"patterns": [
3513+
"(?:^|/)pikaday(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3514+
"(?:^|/)pikaday/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3515+
]
3516+
},
3517+
{
3518+
"name": "Tabulator",
3519+
"patterns": [
3520+
"(?:^|/)tabulator(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3521+
"(?:^|/)tabulator-tables(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3522+
]
3523+
},
3524+
{
3525+
"name": "Odometer.js",
3526+
"patterns": [
3527+
"(?:^|/)odometer(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3528+
"(?:^|/)odometer/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3529+
]
3530+
},
3531+
{
3532+
"name": "Clusterize.js",
3533+
"patterns": [
3534+
"(?:^|/)clusterize(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3535+
"(?:^|/)clusterize\\.js/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3536+
]
3537+
},
3538+
{
3539+
"name": "Remix Icon",
3540+
"patterns": [
3541+
"(?:^|/)remixicon(?:\\.min)?\\.css(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3542+
"(?:^|/)remixicon(?:@[^/\\s\"'<>]+)?/.+\\.(?:css|svg|woff2?)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3543+
]
3544+
},
3545+
{
3546+
"name": "Awesomplete",
3547+
"patterns": [
3548+
"(?:^|/)awesomplete(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3549+
"(?:^|/)awesomplete/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3550+
]
3551+
},
3552+
{
3553+
"name": "USWDS",
3554+
"patterns": [
3555+
"(?:^|/)uswds(?:\\.min)?\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)",
3556+
"(?:^|/)@uswds/uswds(?:@[^/\\s\"'<>]+)?/.+\\.(?:js|css)(?:[?#][^\\s\"'<>]*)?(?:[\"'<>\\s]|$)"
3557+
]
3558+
},
33693559
{
33703560
"name": "Zooming",
33713561
"patterns": ["(?:^|/)zooming(?:\\.min)?\\.js(?:[?#].*)?$"]

public/tech-links.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@
210210
"Ratchet": "https://github.com/twbs/ratchet",
211211
"Photon": "http://photonkit.com",
212212
"Flexbox Grid": "http://flexboxgrid.com",
213+
"USWDS": "https://designsystem.digital.gov",
214+
"Magic CSS": "https://www.minimamente.com/project/magic",
213215
"WeUI": "https://github.com/Tencent/weui",
214216
"Naive UI": "https://www.naiveui.com",
215217
"NutUI": "https://nutui.jd.com",
@@ -237,13 +239,15 @@
237239
"Vue ScrollTo": "https://github.com/rigor789/vue-scrollto",
238240
"Vue Resource": "https://github.com/pagekit/vue-resource",
239241
"vue-echarts": "https://github.com/ecomfe/vue-echarts",
242+
"Vue I18n": "https://vue-i18n.intlify.dev",
240243
"Draft.js": "https://draftjs.org",
241244
"Apollo Client": "https://www.apollographql.com/docs/react",
242245
"Relay": "https://relay.dev",
243246
"React Relay": "https://relay.dev",
244247
"urql": "https://formidable.com/open-source/urql",
245248
"React Redux": "https://react-redux.js.org",
246249
"Recompose": "https://github.com/acdlite/recompose",
250+
"Radium": "https://formidable.com/open-source/radium",
247251
"React JSONSchema Form": "https://rjsf-team.github.io/react-jsonschema-form",
248252
"React Diagrams": "https://github.com/projectstorm/react-diagrams",
249253
"Handsontable": "https://handsontable.com",
@@ -263,6 +267,10 @@
263267
"Two.js": "https://two.js.org",
264268
"GPU.js": "https://gpu.rocks",
265269
"Trianglify": "https://github.com/qrohlf/trianglify",
270+
"MetricsGraphics.js": "https://metricsgraphicsjs.org",
271+
"js-sequence-diagrams": "https://bramp.github.io/js-sequence-diagrams",
272+
"dynamics.js": "http://dynamicsjs.com",
273+
"NVD3": "https://nvd3.org",
266274
"Three.js": "https://threejs.org",
267275
"AR.js": "https://github.com/AR-js-org/AR.js",
268276
"particles.js": "https://vincentgarreau.com/particles.js",
@@ -276,6 +284,10 @@
276284
"Framer Motion": "https://motion.dev",
277285
"tween.js": "https://github.com/tweenjs/tween.js",
278286
"simple-mind-map": "https://github.com/wanglin2/mind-map",
287+
"EaselJS": "https://createjs.com/easeljs",
288+
"progressbar.js": "https://kimmobrunfeldt.github.io/progressbar.js",
289+
"jsPlumb": "https://jsplumbtoolkit.com",
290+
"Embla Carousel": "https://www.embla-carousel.com",
279291
"Swiper": "https://swiperjs.com",
280292
"Slick Carousel": "https://kenwheeler.github.io/slick",
281293
"Splide": "https://splidejs.com",
@@ -288,13 +300,17 @@
288300
"jQuery LazyLoad": "https://github.com/tuupola/jquery_lazyload",
289301
"ScrollReveal": "https://scrollrevealjs.org",
290302
"SpinKit": "https://tobiasahlin.com/spinkit",
303+
"Infinite Scroll": "https://infinite-scroll.com",
304+
"Odometer.js": "https://github.hubspot.com/odometer",
305+
"Clusterize.js": "https://clusterize.js.org",
291306
"Zooming": "https://github.com/kingdido999/zooming",
292307
"Video.js": "https://videojs.com",
293308
"Plyr": "https://plyr.io",
294309
"Hls.js": "https://github.com/video-dev/hls.js",
295310
"Shaka Player": "https://shaka-player-demo.appspot.com/docs/api",
296311
"JW Player": "https://www.jwplayer.com",
297312
"mediaelement.js": "https://www.mediaelementjs.com",
313+
"Clappr": "https://clappr.io",
298314
"Monaco Editor": "https://microsoft.github.io/monaco-editor",
299315
"CodeMirror": "https://codemirror.net",
300316
"Ace Editor": "https://ace.c9.io",
@@ -355,6 +371,18 @@
355371
"One Page Scroll": "https://github.com/peachananr/onepage-scroll",
356372
"Cycle.js": "https://cycle.js.org",
357373
"Start Bootstrap SB Admin 2": "https://startbootstrap.com/theme/sb-admin-2",
374+
"model-viewer": "https://modelviewer.dev",
375+
"pinyin": "https://pinyin.js.org",
376+
"jquery.transit": "https://ricostacruz.com/jquery.transit",
377+
"Tempus Dominus": "https://getdatepicker.com",
378+
"AlaSQL": "https://alasql.org",
379+
"Backbone.Marionette": "https://marionettejs.com",
380+
"gmaps.js": "https://hpneo.dev/gmaps",
381+
"es5-shim": "https://github.com/es-shims/es5-shim",
382+
"Pikaday": "https://pikaday.com",
383+
"Tabulator": "https://tabulator.info",
384+
"Remix Icon": "https://remixicon.com",
385+
"Awesomplete": "https://leaverou.github.io/awesomplete",
358386
"Jasmine": "https://jasmine.github.io",
359387
"Mocha": "https://mochajs.org",
360388
"Chai": "https://www.chaijs.com",

0 commit comments

Comments
 (0)