|
| 1 | +{ |
| 2 | + "page": { |
| 3 | + "bundleLicenseLibraries": [ |
| 4 | + { |
| 5 | + "defaults": { |
| 6 | + "category": "前端库", |
| 7 | + "confidence": "高", |
| 8 | + "matchType": "regex" |
| 9 | + }, |
| 10 | + "rules": [ |
| 11 | + { |
| 12 | + "name": "React", |
| 13 | + "url": "https://react.dev", |
| 14 | + "patterns": ["@license\\s+React\\b|react(?:\\.production|\\.development)?(?:\\.min)?\\.js|React\\s+v?\\d+\\.\\d+"] |
| 15 | + }, |
| 16 | + { |
| 17 | + "name": "React DOM", |
| 18 | + "url": "https://react.dev", |
| 19 | + "patterns": ["react-dom(?:\\.production|\\.development)?(?:\\.min)?\\.js|@license\\s+React[\\s\\S]{0,120}react-dom"] |
| 20 | + }, |
| 21 | + { |
| 22 | + "name": "Vue", |
| 23 | + "url": "https://vuejs.org", |
| 24 | + "patterns": [ |
| 25 | + "Vue\\.js\\s+v?\\d+\\.\\d+|@vue/(?:runtime|shared|reactivity)|vue(?:\\.runtime)?(?:\\.global)?(?:\\.prod)?(?:\\.min)?\\.js" |
| 26 | + ] |
| 27 | + }, |
| 28 | + { |
| 29 | + "name": "Angular", |
| 30 | + "url": "https://angular.dev", |
| 31 | + "patterns": ["@angular/(?:core|common|router)|Angular\\s+v?\\d+\\.\\d+"] |
| 32 | + }, |
| 33 | + { |
| 34 | + "name": "Svelte", |
| 35 | + "url": "https://svelte.dev", |
| 36 | + "patterns": ["\\bSvelte\\b[\\s\\S]{0,80}(?:MIT|license|copyright)|svelte(?:/internal|\\.js)"] |
| 37 | + }, |
| 38 | + { |
| 39 | + "name": "Preact", |
| 40 | + "url": "https://preactjs.com", |
| 41 | + "patterns": ["\\bPreact\\b[\\s\\S]{0,80}(?:MIT|license|copyright)|preact(?:\\.module)?\\.js"] |
| 42 | + }, |
| 43 | + { |
| 44 | + "name": "SolidJS", |
| 45 | + "url": "https://www.solidjs.com", |
| 46 | + "patterns": ["solid-js|\\bSolidJS\\b"] |
| 47 | + }, |
| 48 | + { |
| 49 | + "name": "Lit", |
| 50 | + "url": "https://lit.dev", |
| 51 | + "patterns": ["@lit/(?:reactive-element|html)|\\bLit\\b[\\s\\S]{0,80}(?:license|copyright)"] |
| 52 | + }, |
| 53 | + { |
| 54 | + "name": "Alpine.js", |
| 55 | + "url": "https://alpinejs.dev", |
| 56 | + "patterns": ["Alpine\\.js|alpinejs"] |
| 57 | + }, |
| 58 | + { |
| 59 | + "name": "jQuery", |
| 60 | + "url": "https://jquery.com", |
| 61 | + "patterns": ["jQuery\\s+v?\\d+\\.\\d+|jquery(?:\\.min)?\\.js|jquery\\.org/license"] |
| 62 | + }, |
| 63 | + { |
| 64 | + "name": "Lodash", |
| 65 | + "url": "https://lodash.com", |
| 66 | + "patterns": ["\\bLodash\\b|lodash(?:\\.min)?\\.js|lodash\\.com"] |
| 67 | + }, |
| 68 | + { |
| 69 | + "name": "Underscore.js", |
| 70 | + "url": "https://underscorejs.org", |
| 71 | + "patterns": ["Underscore\\.js|underscore(?:\\.min)?\\.js|underscorejs\\.org"] |
| 72 | + }, |
| 73 | + { |
| 74 | + "name": "RxJS", |
| 75 | + "url": "https://rxjs.dev", |
| 76 | + "patterns": ["\\bRxJS\\b|rxjs(?:\\.umd)?(?:\\.min)?\\.js|Reactive Extensions for JavaScript"] |
| 77 | + }, |
| 78 | + { |
| 79 | + "name": "Axios", |
| 80 | + "url": "https://axios-http.com", |
| 81 | + "patterns": ["\\bAxios\\b\\s+v?\\d+\\.\\d+|axios(?:\\.min)?\\.js|axios is freely distributable"] |
| 82 | + }, |
| 83 | + { |
| 84 | + "name": "date-fns", |
| 85 | + "url": "https://date-fns.org", |
| 86 | + "patterns": ["date-fns|DateFns"] |
| 87 | + }, |
| 88 | + { |
| 89 | + "name": "Day.js", |
| 90 | + "url": "https://day.js.org", |
| 91 | + "patterns": ["Day\\.js|dayjs(?:\\.min)?\\.js|iamkun/dayjs"] |
| 92 | + }, |
| 93 | + { |
| 94 | + "name": "Moment.js", |
| 95 | + "url": "https://momentjs.com", |
| 96 | + "patterns": ["Moment\\.js|moment(?:\\.min)?\\.js|momentjs\\.com"] |
| 97 | + }, |
| 98 | + { |
| 99 | + "name": "Luxon", |
| 100 | + "url": "https://moment.github.io/luxon", |
| 101 | + "patterns": ["\\bLuxon\\b|moment\\.github\\.io/luxon"] |
| 102 | + }, |
| 103 | + { |
| 104 | + "name": "D3.js", |
| 105 | + "url": "https://d3js.org", |
| 106 | + "patterns": [ |
| 107 | + "\\bd3-(?:array|axis|brush|chord|color|dispatch|drag|ease|fetch|force|format|geo|hierarchy|interpolate|path|scale|selection|shape|time|timer|transition|zoom)\\b|\\bD3\\.js\\b" |
| 108 | + ] |
| 109 | + }, |
| 110 | + { |
| 111 | + "name": "ECharts", |
| 112 | + "url": "https://echarts.apache.org", |
| 113 | + "patterns": ["Apache ECharts|\\bECharts\\b|echarts(?:\\.min)?\\.js"] |
| 114 | + }, |
| 115 | + { |
| 116 | + "name": "Chart.js", |
| 117 | + "url": "https://www.chartjs.org", |
| 118 | + "patterns": ["Chart\\.js|chartjs\\.org|chart(?:\\.umd)?(?:\\.min)?\\.js"] |
| 119 | + }, |
| 120 | + { |
| 121 | + "name": "Three.js", |
| 122 | + "url": "https://threejs.org", |
| 123 | + "patterns": ["three\\.js|threejs\\.org|three(?:\\.module)?(?:\\.min)?\\.js"] |
| 124 | + }, |
| 125 | + { |
| 126 | + "name": "Recharts", |
| 127 | + "url": "https://recharts.org", |
| 128 | + "patterns": ["\\bRecharts\\b|recharts(?:\\.min)?\\.js"] |
| 129 | + }, |
| 130 | + { |
| 131 | + "name": "Mapbox GL JS", |
| 132 | + "url": "https://docs.mapbox.com/mapbox-gl-js", |
| 133 | + "patterns": ["Mapbox GL JS|mapbox-gl(?:\\.js)?"] |
| 134 | + }, |
| 135 | + { |
| 136 | + "name": "Leaflet", |
| 137 | + "url": "https://leafletjs.com", |
| 138 | + "patterns": ["Leaflet\\s+v?\\d+\\.\\d+|leaflet(?:\\.min)?\\.js|leafletjs\\.com"] |
| 139 | + }, |
| 140 | + { |
| 141 | + "name": "OpenLayers", |
| 142 | + "url": "https://openlayers.org", |
| 143 | + "patterns": ["OpenLayers|openlayers\\.org|ol(?:\\.js)?\\s+v?\\d+"] |
| 144 | + }, |
| 145 | + { |
| 146 | + "name": "Bootstrap", |
| 147 | + "url": "https://getbootstrap.com", |
| 148 | + "patterns": ["Bootstrap\\s+v?\\d+\\.\\d+|getbootstrap\\.com|bootstrap(?:\\.bundle)?(?:\\.min)?\\.js"] |
| 149 | + }, |
| 150 | + { |
| 151 | + "name": "Popper", |
| 152 | + "url": "https://popper.js.org", |
| 153 | + "patterns": ["@popperjs/core|Popper\\s+v?\\d+\\.\\d+|popper\\.js"] |
| 154 | + }, |
| 155 | + { |
| 156 | + "name": "Floating UI", |
| 157 | + "url": "https://floating-ui.com", |
| 158 | + "patterns": ["@floating-ui/(?:core|dom|react)|Floating UI"] |
| 159 | + }, |
| 160 | + { |
| 161 | + "name": "Framer Motion", |
| 162 | + "url": "https://motion.dev", |
| 163 | + "patterns": ["framer-motion|Framer Motion|motion-dom|motion-utils"] |
| 164 | + }, |
| 165 | + { |
| 166 | + "name": "GSAP", |
| 167 | + "url": "https://gsap.com", |
| 168 | + "patterns": ["GreenSock|GSAP|gsap(?:\\.min)?\\.js"] |
| 169 | + }, |
| 170 | + { |
| 171 | + "name": "Swiper", |
| 172 | + "url": "https://swiperjs.com", |
| 173 | + "patterns": ["Swiper\\s+v?\\d+\\.\\d+|swiper(?:\\.bundle)?(?:\\.min)?\\.js"] |
| 174 | + }, |
| 175 | + { |
| 176 | + "name": "Redux", |
| 177 | + "url": "https://redux.js.org", |
| 178 | + "patterns": ["\\bRedux\\b|redux(?:\\.min)?\\.js"] |
| 179 | + }, |
| 180 | + { |
| 181 | + "name": "Zustand", |
| 182 | + "url": "https://zustand-demo.pmnd.rs", |
| 183 | + "patterns": ["\\bZustand\\b|pmndrs/zustand"] |
| 184 | + }, |
| 185 | + { |
| 186 | + "name": "TanStack Query", |
| 187 | + "url": "https://tanstack.com/query", |
| 188 | + "patterns": ["@tanstack/(?:react-query|query-core)|TanStack Query|React Query"] |
| 189 | + }, |
| 190 | + { |
| 191 | + "name": "React Router", |
| 192 | + "url": "https://reactrouter.com", |
| 193 | + "patterns": ["react-router|React Router"] |
| 194 | + }, |
| 195 | + { |
| 196 | + "name": "Radix UI", |
| 197 | + "url": "https://www.radix-ui.com", |
| 198 | + "patterns": ["@radix-ui/|Radix UI"] |
| 199 | + }, |
| 200 | + { |
| 201 | + "name": "Lucide", |
| 202 | + "url": "https://lucide.dev", |
| 203 | + "patterns": ["lucide(?:-react|-vue|-svelte)?|Lucide Icons"] |
| 204 | + }, |
| 205 | + { |
| 206 | + "name": "Heroicons", |
| 207 | + "url": "https://heroicons.com", |
| 208 | + "patterns": ["@heroicons/|Heroicons"] |
| 209 | + }, |
| 210 | + { |
| 211 | + "name": "Font Awesome", |
| 212 | + "url": "https://fontawesome.com", |
| 213 | + "patterns": ["Font Awesome|@fortawesome/"] |
| 214 | + }, |
| 215 | + { |
| 216 | + "name": "Monaco Editor", |
| 217 | + "url": "https://microsoft.github.io/monaco-editor", |
| 218 | + "patterns": ["Monaco Editor|monaco-editor"] |
| 219 | + }, |
| 220 | + { |
| 221 | + "name": "CodeMirror", |
| 222 | + "url": "https://codemirror.net", |
| 223 | + "patterns": ["CodeMirror|@codemirror/"] |
| 224 | + }, |
| 225 | + { |
| 226 | + "name": "Quill", |
| 227 | + "url": "https://quilljs.com", |
| 228 | + "patterns": ["\\bQuill\\b|quilljs\\.com"] |
| 229 | + }, |
| 230 | + { |
| 231 | + "name": "ProseMirror", |
| 232 | + "url": "https://prosemirror.net", |
| 233 | + "patterns": ["ProseMirror|prosemirror-"] |
| 234 | + }, |
| 235 | + { |
| 236 | + "name": "Prism", |
| 237 | + "url": "https://prismjs.com", |
| 238 | + "patterns": ["PrismJS|prismjs|prism(?:\\.min)?\\.js"] |
| 239 | + }, |
| 240 | + { |
| 241 | + "name": "Highlight.js", |
| 242 | + "url": "https://highlightjs.org", |
| 243 | + "patterns": ["Highlight\\.js|highlightjs|hljs(?:\\.min)?\\.js"] |
| 244 | + } |
| 245 | + ] |
| 246 | + } |
| 247 | + ] |
| 248 | + } |
| 249 | +} |
0 commit comments