├── .editorconfig ├── .gitignore ├── README.md ├── package.json ├── pnpm-lock.yaml ├── scripts └── format.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # 🎨 http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 中国前端开发者 2 | 3 | > 个人视野有限,请不吝 PR!缓慢施工 🚧 中。 4 | 5 | 为什么会有这个仓库?前几日转了 [Yingci](https://github.com/fz6m) 的文章[「国内 FE 圈常见用语方法论」](https://mp.weixin.qq.com/s/McVmzQcSM82gtT0UDnX5Nw) 到我的公众号,发现大家对这个还挺感兴趣,因为这篇是我的公众号留言最多的一篇。。与此同时,发现遗漏了不少同学,以及一些描述可能不准确,所以在 Github 上整理一份,可以大家一起协同维护更新,也方便更多同学了解前端社区。 6 | 7 | 什么样的同学可以加入到这个列表?暂定是「活跃、有一定社区影响力、关注后能带来收获的开发者」,不再活跃的开发者会定期挪到「不活跃」标题下。同时介绍部分可以贴上链接宣传下自己的作品、书或服务。如有不准确的描述或者不希望出现在这个列表上,也可 PR 删除。 8 | 9 | ## 活跃开发者 10 | 11 | > 排名不分先后,以 [首字母].sort() 排序。 12 | 13 | * **[antfu](https://github.com/antfu)** - 狂热的开源软件开发者,就职于 [NuxtLabs](https://nuxtlabs.com/),Vitest、Slidev、VueUse、UnoCSS 等库作者,Vue、Nuxt、Vite 核心成员。 14 | * **[ConardLi](https://github.com/ConardLi)** - 世奇,字节员工,公众号「code秘密花园」作者。 15 | * **[崔效瑞](https://github.com/cuixiaorui)** - web 前端 [up 主](https://space.bilibili.com/175301983),[mini-vue](https://github.com/cuixiaorui/mini-vue) 作者。 16 | * **[大圣](https://github.com/shengxinjing)** - 花果山大圣,前开课吧讲师,公众号「花果山前端」作者。 17 | * **[海怪](https://github.com/haixiangyan)** - 腾讯员工,公众号「写代码的海怪」作者,写有开源小书[《Jest 实践指南》](https://github.com/haixiangyan/jest-tutorial)。 18 | * **[Hax](https://github.com/hax)** - 贺师俊,TC39 特邀专家,前端行业 20 多年发展历程见证人和参与者,OpenAtom TOC 成员。 19 | * **[黄玄](https://github.com/Huxpro)** - 就职于 Meta,React Team 核心成员,现负责 React Forget 项目,曾参与 [Hermes JavaScript 引擎](https://hermesengine.dev/),[ReasonML](https://reasonml.github.io/)(现 [ReScript](https://rescript-lang.org/))等。 20 | * **[黄轶](https://github.com/ustbhuangyi)** - zoom 员工,慕课网[明星讲师](https://www.imooc.com/u/3017249),Vue.js 布道者,[《Vue.js 技术揭秘》](https://ustbhuangyi.github.io/vue-analysis/) 独立作者,《Vue.js 权威指南》主要作者。 21 | * **[黄子毅](https://github.com/ascoders)** - 阿里员工,[「前端精读周刊」](https://github.com/ascoders/weekly)作者。。 22 | * **[霍春阳](https://github.com/HcySunYang)** - Vue 团队成员,[《Vue.js 设计与实现》](https://book.douban.com/subject/35768338/)作者。 23 | * **[技术胖](https://github.com/shenghy)** - 活跃的前端讲师,任职于百姓网。 24 | * **[JounQin](https://github.com/JounQin)** - 狂热开源爱好者,[@Alauda](https://github.com/alauda) 灵雀云在职员工,[unified](https://github.com/unifiedjs) 生态核心维护者和开发者,[eslint](https://github.com/eslint/eslint) 生态开发者,[eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) 和 [stylelint](https://github.com/stylelint/stylelint) 维护者。 25 | * **[justjavac](https://github.com/justjavac)** - 。 26 | * **[卡晨](https://github.com/awmleer)** - 蚂蚁员工,[Antd Mobile](https://github.com/ant-design/ant-design-mobile) 作者。 27 | * **[卡颂](https://github.com/BetaSu)** - 。 28 | * **[狼叔](https://github.com/i5ting)** - 阿里员工,写有《狼书》系列,即将出版《狼书(卷3)》。 29 | * **[刘博文](https://github.com/berwin)** - 阿里员工,W3C 性能工作组成员,[《深入浅出 Vue.js》](https://book.douban.com/subject/32581281) 作者。 30 | * **[偏右](https://github.com/afc163)** - 蚂蚁员工,[Ant Design](https://ant.design/) 作者。 31 | * **[辟起](https://github.com/PeachScript)** - 蚂蚁员工,[dumi](https://d.umijs.org/) 作者。 32 | * **[朴灵](https://github.com/JacksonTian)** - 阿里员工,Node.js 布道者,[《深入浅出 Node.js》](https://book.douban.com/subject/25768396/) 作者。 33 | * **[秋风](https://github.com/hua1995116)** - 公众号「秋风的笔记」作者。 34 | * **[期贤](https://github.com/chenshuai2144)** - 蚂蚁员工,名望程序员,[Ant Design Pro](https://pro.ant.design/) 作者。 35 | * **[阮一峰](https://github.com/ruanyf)** - 。 36 | * **[若川](https://github.com/lxchuan12)** - 公众号「若川视野」作者,[源码共读](https://juejin.cn/post/7079706017579139102)领头人。写有[《学习源码整体架构系列》](https://juejin.cn/column/6960551178908205093) 20余篇。 37 | * **[三元](https://github.com/sanyuan0704)** - 字节员工,公众号「三元同学」作者。 38 | * **[Scott](https://github.com/zaoscott)** - 「[前端早早聊大会](https://www.zaozao.run/)」创始人,帮 1000 多位国内外前端工程师做过职业规划与辅导。 39 | * **[神光](https://github.com/QuarkGluonPlasma)** - 神说要有光,前高德、Coupang 员工,现全职自由职业,公众号「神光的编程秘籍」作者,写有[《Babel 插件通关秘籍》](https://juejin.cn/book/6946117847848321055)。 40 | * **[死月](https://github.com/XadillaX)** - 。 41 | * **[SSH](https://github.com/sl1673495)** - 单是昊,字节员工,公众号「前端从进阶到入门」作者。 42 | * **[速冻鱼](https://github.com/sudongyuer)** - 开源爱好者,公众号「前端速冻鱼」作者,写有开源小书[《ESLint通关小册》](https://github.com/sudongyuer/learn-eslint)。 43 | * **[theanarkh](https://github.com/theanarkh)** - 字节员工,公众号「编程杂技」作者,nodejs 爱好者,写有「[通过源码分析nodejs原理](https://github.com/theanarkh/understand-nodejs)」等 nodejs 相关内容。 44 | * **[天猪](https://github.com/atian25)** - 。 45 | * **[童欧巴](https://github.com/Geekhyt)** - 理想汽车员工,公众号「前端食堂」、「[前端食堂技术周刊](https://github.com/Geekhyt/weekly)」作者。 46 | * **[underfin](https://github.com/underfin)** - 字节员工,vite 核心作者。[vite](https://github.com/vitejs/vite) ,vue core 核心 member。 47 | * **[小虎](https://github.com/xiaohuoni)** - 聪小陈,[Alita](https://github.com/alitajs/alita) 作者,Umi 核心成员。 48 | * **[颜海镜](https://github.com/yanhaijing)** - 公众号「颜海镜」, 写有《React状态管理与同构实战》。 49 | * **[冴羽](https://github.com/mqyqingfeng)** - 。 50 | * **[YCK](https://github.com/KieSun)** - 。 51 | * **[有知](https://github.com/kuitos)** - 蚂蚁员工,[qiankun](https://github.com/umijs/qiankun) 作者。 52 | * **[玉伯](https://github.com/lifesinger)** - 蚂蚁员工,蚂蚁体验技术部负责人。 53 | * **[月影](https://github.com/akira-cn)** - 字节员工,前奇舞团负责人,「跟月影学可视化」等课程作者。 54 | * **[云谦](https://github.com/sorrycc)** - 阿里 & 蚂蚁 10 年 + 老前端,ZJU,[Umi](https://github.com/umijs/umi) & [Dva](https://github.com/dvajs/dva) & [babel-plugin-import](https://github.com/umijs/babel-plugin-import) 等开源库作者,蚂蚁中台框架 Owner,「MDH 前端周刊」作者,付费星球[「云谦 · 前端日更星球」](https://q.sorrycc.com/)作者。 55 | * **[张鑫旭](https://github.com/zhangxinxu)** - 阅文员工, 写有《CSS世界》、《CSS新世界》、《CSS选择器》,CSS领域大佬。 56 | * **[砖家](https://github.com/brickspert)** - 蚂蚁员工,花名「尽龙」,[ahooks](https://github.com/alibaba/hooks) 作者,公众号「前端技术砖家」作者。 57 | 58 | ## 不活跃开发者 59 | 60 | > 不再活跃的开发者会定期挪到这里。排名不分先后,以 [首字母].sort() 排序。 61 | 62 | 。 63 | 64 | ## 参考 65 | 66 | * https://github.com/fz6m/weixin-fe 67 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "format": "tsx scripts/format.ts" 5 | }, 6 | "devDependencies": { 7 | "@types/node": "^18.7.9", 8 | "pinyin": "3.0.0-alpha.5", 9 | "tsx": "^3.8.2", 10 | "typescript": "^4", 11 | "zx": "^7.0.8" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@types/node': ^18.7.9 5 | pinyin: 3.0.0-alpha.5 6 | tsx: ^3.8.2 7 | typescript: ^4 8 | zx: ^7.0.8 9 | 10 | devDependencies: 11 | '@types/node': 18.7.9 12 | pinyin: 3.0.0-alpha.5 13 | tsx: 3.8.2 14 | typescript: 4.7.4 15 | zx: 7.0.8 16 | 17 | packages: 18 | 19 | /@babel/code-frame/7.18.6: 20 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 21 | engines: {node: '>=6.9.0'} 22 | dependencies: 23 | '@babel/highlight': 7.18.6 24 | dev: true 25 | optional: true 26 | 27 | /@babel/helper-validator-identifier/7.18.6: 28 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} 29 | engines: {node: '>=6.9.0'} 30 | dev: true 31 | optional: true 32 | 33 | /@babel/highlight/7.18.6: 34 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 35 | engines: {node: '>=6.9.0'} 36 | dependencies: 37 | '@babel/helper-validator-identifier': 7.18.6 38 | chalk: 2.4.2 39 | js-tokens: 4.0.0 40 | dev: true 41 | optional: true 42 | 43 | /@babel/runtime/7.18.9: 44 | resolution: {integrity: sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==} 45 | engines: {node: '>=6.9.0'} 46 | dependencies: 47 | regenerator-runtime: 0.13.9 48 | dev: true 49 | optional: true 50 | 51 | /@esbuild-kit/cjs-loader/2.3.3: 52 | resolution: {integrity: sha512-Rt4O1mXlPEDVxvjsHLgbtHVdUXYK9C1/6ThpQnt7FaXIjUOsI6qhHYMgALhNnlIMZffag44lXd6Dqgx3xALbpQ==} 53 | dependencies: 54 | '@esbuild-kit/core-utils': 2.3.0 55 | get-tsconfig: 4.2.0 56 | dev: true 57 | 58 | /@esbuild-kit/core-utils/2.3.0: 59 | resolution: {integrity: sha512-JL73zt/LN/qqziHuod4/bM2xBNNofDZu1cbwT6KIn6B11lA4cgDXkoSHOfNCbZMZOnh0Aqf0vW/gNQC+Z18hKQ==} 60 | dependencies: 61 | esbuild: 0.15.5 62 | source-map-support: 0.5.21 63 | dev: true 64 | 65 | /@esbuild-kit/esm-loader/2.4.2: 66 | resolution: {integrity: sha512-N9dPKAj8WOx6djVnStgILWXip4fjDcBk9L7azO0/uQDpu8Ee0eaL78mkN4Acid9BzvNAKWwdYXFJZnsVahNEew==} 67 | dependencies: 68 | '@esbuild-kit/core-utils': 2.3.0 69 | get-tsconfig: 4.2.0 70 | dev: true 71 | 72 | /@esbuild/linux-loong64/0.15.5: 73 | resolution: {integrity: sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A==} 74 | engines: {node: '>=12'} 75 | cpu: [loong64] 76 | os: [linux] 77 | requiresBuild: true 78 | dev: true 79 | optional: true 80 | 81 | /@mapbox/node-pre-gyp/1.0.9: 82 | resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==} 83 | hasBin: true 84 | dependencies: 85 | detect-libc: 2.0.1 86 | https-proxy-agent: 5.0.1 87 | make-dir: 3.1.0 88 | node-fetch: 2.6.7 89 | nopt: 5.0.0 90 | npmlog: 5.0.1 91 | rimraf: 3.0.2 92 | semver: 7.3.7 93 | tar: 6.1.11 94 | transitivePeerDependencies: 95 | - encoding 96 | - supports-color 97 | dev: true 98 | optional: true 99 | 100 | /@node-rs/jieba-android-arm-eabi/1.6.1: 101 | resolution: {integrity: sha512-R1YQfsPr7sK3Tq1sM0//6lNAGJK9RnMT0ShITT+7EJYr5OufUBb38lf/mRhrLxR0NF1pycEsMjdCAwrWrHd8rA==} 102 | engines: {node: '>= 10'} 103 | cpu: [arm] 104 | os: [android] 105 | requiresBuild: true 106 | dev: true 107 | optional: true 108 | 109 | /@node-rs/jieba-android-arm64/1.6.1: 110 | resolution: {integrity: sha512-hBRbj2uLmRFYDw2lWppTAPoyjeXkBKUT84h4fHUQj7CMU94Gc1IWkE4ocCqhvUhbaUXlCpocS9mB0/fc2641bw==} 111 | engines: {node: '>= 10'} 112 | cpu: [arm64] 113 | os: [android] 114 | requiresBuild: true 115 | dev: true 116 | optional: true 117 | 118 | /@node-rs/jieba-darwin-arm64/1.6.1: 119 | resolution: {integrity: sha512-GeoDe7XVTF6z8JUtD98QvwudsMaHV5EBXs5uO43SobeIkShH3Nujq5gLMD5kWoJXTxDrTgJe4wT42EwUaBEH2Q==} 120 | engines: {node: '>= 10'} 121 | cpu: [arm64] 122 | os: [darwin] 123 | requiresBuild: true 124 | dev: true 125 | optional: true 126 | 127 | /@node-rs/jieba-darwin-x64/1.6.1: 128 | resolution: {integrity: sha512-ENHYIS8b8JdMaUXEm0f8Y3+sHXu2UdukG1D/XGUNx+q5cn07HbwIg6L0tlGhE8dw4AhqoWHsExVaZ241Igh4iA==} 129 | engines: {node: '>= 10'} 130 | cpu: [x64] 131 | os: [darwin] 132 | requiresBuild: true 133 | dev: true 134 | optional: true 135 | 136 | /@node-rs/jieba-freebsd-x64/1.6.1: 137 | resolution: {integrity: sha512-chwB/9edtxqS8Jm3j4RMaJjH9AlXmijUgKv02oMw36e77HKpko+tENUN25Vrn/9GKsKGqIPeXpmCjeXCN1HVQA==} 138 | engines: {node: '>= 10'} 139 | cpu: [x64] 140 | os: [freebsd] 141 | requiresBuild: true 142 | dev: true 143 | optional: true 144 | 145 | /@node-rs/jieba-linux-arm-gnueabihf/1.6.1: 146 | resolution: {integrity: sha512-tsb5fMGj4p8bHGfkf7bJ+HE2jxaixLTp3YnGg5D+kp8+HQRq8cp3ScG5cn8cq0phnJS/zfAp8rVfWInDagzKKQ==} 147 | engines: {node: '>= 10'} 148 | cpu: [arm] 149 | os: [linux] 150 | requiresBuild: true 151 | dev: true 152 | optional: true 153 | 154 | /@node-rs/jieba-linux-arm64-gnu/1.6.1: 155 | resolution: {integrity: sha512-bSInORkJFfeZNR+i4rFoSZGbwkQtQlnZ0XfT/noTK9JUBDYErqQZPFjoaYAU45NWTk7p6Zkg30SuV1NTdWLaPw==} 156 | engines: {node: '>= 10'} 157 | cpu: [arm64] 158 | os: [linux] 159 | requiresBuild: true 160 | dev: true 161 | optional: true 162 | 163 | /@node-rs/jieba-linux-arm64-musl/1.6.1: 164 | resolution: {integrity: sha512-qphL6xM7owfU8Hsh7GX73SDr/iApbnc+35mSLxbibAfCQnY89+WcBeWUUOSGM/Ov3VFaq4pyVlDFj0YjR01W2w==} 165 | engines: {node: '>= 10'} 166 | cpu: [arm64] 167 | os: [linux] 168 | requiresBuild: true 169 | dev: true 170 | optional: true 171 | 172 | /@node-rs/jieba-linux-x64-gnu/1.6.1: 173 | resolution: {integrity: sha512-f6hhlrbi2wel0xZG7m3Wvksimt9MSu1f3aYO2Kwavf4qjMRZqJzLz9HlCJAal6AXB9Qgg+685P+gftsWve47qw==} 174 | engines: {node: '>= 10'} 175 | cpu: [x64] 176 | os: [linux] 177 | requiresBuild: true 178 | dev: true 179 | optional: true 180 | 181 | /@node-rs/jieba-linux-x64-musl/1.6.1: 182 | resolution: {integrity: sha512-cTVcdR6zWqpnmdEUyWEII9zfE5lTeWN53TbiOPx8TCA+291/31Vqd7GA8YEPndUO8qgCx5uShSDFStBAEIhYNQ==} 183 | engines: {node: '>= 10'} 184 | cpu: [x64] 185 | os: [linux] 186 | requiresBuild: true 187 | dev: true 188 | optional: true 189 | 190 | /@node-rs/jieba-win32-arm64-msvc/1.6.1: 191 | resolution: {integrity: sha512-YuOTrjHazDraXcGXRHgPQ53nyJuH8QtTCngYKjAzxsdt8uN+txb1AY69OLMLBBZqLTOwY9dgcW70vGiLQMCTeg==} 192 | engines: {node: '>= 10'} 193 | cpu: [arm64] 194 | os: [win32] 195 | requiresBuild: true 196 | dev: true 197 | optional: true 198 | 199 | /@node-rs/jieba-win32-ia32-msvc/1.6.1: 200 | resolution: {integrity: sha512-4+E843ImGpVlZ+LlT9E/13NHmmUg3UHQx419D6fFMorJUUQuK4cZJfE1z4tCgcrbV8S5Wew5LIFywlJeJLu0LQ==} 201 | engines: {node: '>= 10'} 202 | cpu: [ia32] 203 | os: [win32] 204 | requiresBuild: true 205 | dev: true 206 | optional: true 207 | 208 | /@node-rs/jieba-win32-x64-msvc/1.6.1: 209 | resolution: {integrity: sha512-veXNwm2VlseOzl7vaC7A/nZ4okp5/6edN7/Atj6mXnUbze/m/my5Rv5zUcW3U1D9VElnQ3srCHCa5vXljJuk6g==} 210 | engines: {node: '>= 10'} 211 | cpu: [x64] 212 | os: [win32] 213 | requiresBuild: true 214 | dev: true 215 | optional: true 216 | 217 | /@node-rs/jieba/1.6.1: 218 | resolution: {integrity: sha512-pISKu8NIYKRvZp7mhYZYA8VCjJMqTsCe+mQcFFnAi3GNJsijGjef2peMFeDcvP72X8MsnNeYeg3rHkAybtefyQ==} 219 | engines: {node: '>= 10'} 220 | requiresBuild: true 221 | optionalDependencies: 222 | '@node-rs/jieba-android-arm-eabi': 1.6.1 223 | '@node-rs/jieba-android-arm64': 1.6.1 224 | '@node-rs/jieba-darwin-arm64': 1.6.1 225 | '@node-rs/jieba-darwin-x64': 1.6.1 226 | '@node-rs/jieba-freebsd-x64': 1.6.1 227 | '@node-rs/jieba-linux-arm-gnueabihf': 1.6.1 228 | '@node-rs/jieba-linux-arm64-gnu': 1.6.1 229 | '@node-rs/jieba-linux-arm64-musl': 1.6.1 230 | '@node-rs/jieba-linux-x64-gnu': 1.6.1 231 | '@node-rs/jieba-linux-x64-musl': 1.6.1 232 | '@node-rs/jieba-win32-arm64-msvc': 1.6.1 233 | '@node-rs/jieba-win32-ia32-msvc': 1.6.1 234 | '@node-rs/jieba-win32-x64-msvc': 1.6.1 235 | dev: true 236 | optional: true 237 | 238 | /@nodelib/fs.scandir/2.1.5: 239 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 240 | engines: {node: '>= 8'} 241 | dependencies: 242 | '@nodelib/fs.stat': 2.0.5 243 | run-parallel: 1.2.0 244 | dev: true 245 | 246 | /@nodelib/fs.stat/2.0.5: 247 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 248 | engines: {node: '>= 8'} 249 | dev: true 250 | 251 | /@nodelib/fs.walk/1.2.8: 252 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 253 | engines: {node: '>= 8'} 254 | dependencies: 255 | '@nodelib/fs.scandir': 2.1.5 256 | fastq: 1.13.0 257 | dev: true 258 | 259 | /@types/fs-extra/9.0.13: 260 | resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} 261 | dependencies: 262 | '@types/node': 18.7.9 263 | dev: true 264 | 265 | /@types/minimist/1.2.2: 266 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} 267 | dev: true 268 | 269 | /@types/node/18.7.9: 270 | resolution: {integrity: sha512-0N5Y1XAdcl865nDdjbO0m3T6FdmQ4ijE89/urOHLREyTXbpMWbSafx9y7XIsgWGtwUP2iYTinLyyW3FatAxBLQ==} 271 | dev: true 272 | 273 | /@types/parse-json/4.0.0: 274 | resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} 275 | dev: true 276 | optional: true 277 | 278 | /@types/ps-tree/1.1.2: 279 | resolution: {integrity: sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==} 280 | dev: true 281 | 282 | /@types/which/2.0.1: 283 | resolution: {integrity: sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==} 284 | dev: true 285 | 286 | /abbrev/1.1.1: 287 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} 288 | dev: true 289 | optional: true 290 | 291 | /agent-base/6.0.2: 292 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 293 | engines: {node: '>= 6.0.0'} 294 | dependencies: 295 | debug: 4.3.4 296 | transitivePeerDependencies: 297 | - supports-color 298 | dev: true 299 | optional: true 300 | 301 | /ansi-regex/5.0.1: 302 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 303 | engines: {node: '>=8'} 304 | dev: true 305 | optional: true 306 | 307 | /ansi-styles/3.2.1: 308 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 309 | engines: {node: '>=4'} 310 | dependencies: 311 | color-convert: 1.9.3 312 | dev: true 313 | optional: true 314 | 315 | /aproba/2.0.0: 316 | resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} 317 | dev: true 318 | optional: true 319 | 320 | /are-we-there-yet/2.0.0: 321 | resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} 322 | engines: {node: '>=10'} 323 | dependencies: 324 | delegates: 1.0.0 325 | readable-stream: 3.6.0 326 | dev: true 327 | optional: true 328 | 329 | /babel-plugin-macros/2.8.0: 330 | resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} 331 | dependencies: 332 | '@babel/runtime': 7.18.9 333 | cosmiconfig: 6.0.0 334 | resolve: 1.22.1 335 | dev: true 336 | optional: true 337 | 338 | /babel-plugin-preval/4.0.0: 339 | resolution: {integrity: sha512-fZI/4cYneinlj2k/FsXw0/lTWSC5KKoepUueS1g25Gb5vx3GrRyaVwxWCshYqx11GEU4mZnbbFhee8vpquFS2w==} 340 | engines: {node: '>=8', npm: '>=6'} 341 | dependencies: 342 | '@babel/runtime': 7.18.9 343 | babel-plugin-macros: 2.8.0 344 | require-from-string: 2.0.2 345 | dev: true 346 | optional: true 347 | 348 | /balanced-match/1.0.2: 349 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 350 | dev: true 351 | optional: true 352 | 353 | /brace-expansion/1.1.11: 354 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 355 | dependencies: 356 | balanced-match: 1.0.2 357 | concat-map: 0.0.1 358 | dev: true 359 | optional: true 360 | 361 | /braces/3.0.2: 362 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 363 | engines: {node: '>=8'} 364 | dependencies: 365 | fill-range: 7.0.1 366 | dev: true 367 | 368 | /buffer-from/1.1.2: 369 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 370 | dev: true 371 | 372 | /callsites/3.1.0: 373 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 374 | engines: {node: '>=6'} 375 | dev: true 376 | optional: true 377 | 378 | /chalk/2.4.2: 379 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 380 | engines: {node: '>=4'} 381 | dependencies: 382 | ansi-styles: 3.2.1 383 | escape-string-regexp: 1.0.5 384 | supports-color: 5.5.0 385 | dev: true 386 | optional: true 387 | 388 | /chalk/5.0.1: 389 | resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} 390 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 391 | dev: true 392 | 393 | /chownr/2.0.0: 394 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 395 | engines: {node: '>=10'} 396 | dev: true 397 | optional: true 398 | 399 | /color-convert/1.9.3: 400 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 401 | dependencies: 402 | color-name: 1.1.3 403 | dev: true 404 | optional: true 405 | 406 | /color-name/1.1.3: 407 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 408 | dev: true 409 | optional: true 410 | 411 | /color-support/1.1.3: 412 | resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} 413 | hasBin: true 414 | dev: true 415 | optional: true 416 | 417 | /commander/1.1.1: 418 | resolution: {integrity: sha512-71Rod2AhcH3JhkBikVpNd0pA+fWsmAaVoti6OR38T76chA7vE3pSerS0Jor4wDw+tOueD2zLVvFOw5H0Rcj7rA==} 419 | engines: {node: '>= 0.6.x'} 420 | dependencies: 421 | keypress: 0.1.0 422 | dev: true 423 | 424 | /concat-map/0.0.1: 425 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 426 | dev: true 427 | optional: true 428 | 429 | /console-control-strings/1.1.0: 430 | resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} 431 | dev: true 432 | optional: true 433 | 434 | /cosmiconfig/6.0.0: 435 | resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} 436 | engines: {node: '>=8'} 437 | dependencies: 438 | '@types/parse-json': 4.0.0 439 | import-fresh: 3.3.0 440 | parse-json: 5.2.0 441 | path-type: 4.0.0 442 | yaml: 1.10.2 443 | dev: true 444 | optional: true 445 | 446 | /data-uri-to-buffer/4.0.0: 447 | resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} 448 | engines: {node: '>= 12'} 449 | dev: true 450 | 451 | /debug/4.3.4: 452 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 453 | engines: {node: '>=6.0'} 454 | peerDependencies: 455 | supports-color: '*' 456 | peerDependenciesMeta: 457 | supports-color: 458 | optional: true 459 | dependencies: 460 | ms: 2.1.2 461 | dev: true 462 | optional: true 463 | 464 | /delegates/1.0.0: 465 | resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} 466 | dev: true 467 | optional: true 468 | 469 | /detect-libc/2.0.1: 470 | resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} 471 | engines: {node: '>=8'} 472 | dev: true 473 | optional: true 474 | 475 | /dir-glob/3.0.1: 476 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 477 | engines: {node: '>=8'} 478 | dependencies: 479 | path-type: 4.0.0 480 | dev: true 481 | 482 | /duplexer/0.1.2: 483 | resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 484 | dev: true 485 | 486 | /emoji-regex/8.0.0: 487 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 488 | dev: true 489 | optional: true 490 | 491 | /error-ex/1.3.2: 492 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 493 | dependencies: 494 | is-arrayish: 0.2.1 495 | dev: true 496 | optional: true 497 | 498 | /esbuild-android-64/0.15.5: 499 | resolution: {integrity: sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg==} 500 | engines: {node: '>=12'} 501 | cpu: [x64] 502 | os: [android] 503 | requiresBuild: true 504 | dev: true 505 | optional: true 506 | 507 | /esbuild-android-arm64/0.15.5: 508 | resolution: {integrity: sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg==} 509 | engines: {node: '>=12'} 510 | cpu: [arm64] 511 | os: [android] 512 | requiresBuild: true 513 | dev: true 514 | optional: true 515 | 516 | /esbuild-darwin-64/0.15.5: 517 | resolution: {integrity: sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ==} 518 | engines: {node: '>=12'} 519 | cpu: [x64] 520 | os: [darwin] 521 | requiresBuild: true 522 | dev: true 523 | optional: true 524 | 525 | /esbuild-darwin-arm64/0.15.5: 526 | resolution: {integrity: sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg==} 527 | engines: {node: '>=12'} 528 | cpu: [arm64] 529 | os: [darwin] 530 | requiresBuild: true 531 | dev: true 532 | optional: true 533 | 534 | /esbuild-freebsd-64/0.15.5: 535 | resolution: {integrity: sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA==} 536 | engines: {node: '>=12'} 537 | cpu: [x64] 538 | os: [freebsd] 539 | requiresBuild: true 540 | dev: true 541 | optional: true 542 | 543 | /esbuild-freebsd-arm64/0.15.5: 544 | resolution: {integrity: sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w==} 545 | engines: {node: '>=12'} 546 | cpu: [arm64] 547 | os: [freebsd] 548 | requiresBuild: true 549 | dev: true 550 | optional: true 551 | 552 | /esbuild-linux-32/0.15.5: 553 | resolution: {integrity: sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ==} 554 | engines: {node: '>=12'} 555 | cpu: [ia32] 556 | os: [linux] 557 | requiresBuild: true 558 | dev: true 559 | optional: true 560 | 561 | /esbuild-linux-64/0.15.5: 562 | resolution: {integrity: sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg==} 563 | engines: {node: '>=12'} 564 | cpu: [x64] 565 | os: [linux] 566 | requiresBuild: true 567 | dev: true 568 | optional: true 569 | 570 | /esbuild-linux-arm/0.15.5: 571 | resolution: {integrity: sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q==} 572 | engines: {node: '>=12'} 573 | cpu: [arm] 574 | os: [linux] 575 | requiresBuild: true 576 | dev: true 577 | optional: true 578 | 579 | /esbuild-linux-arm64/0.15.5: 580 | resolution: {integrity: sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA==} 581 | engines: {node: '>=12'} 582 | cpu: [arm64] 583 | os: [linux] 584 | requiresBuild: true 585 | dev: true 586 | optional: true 587 | 588 | /esbuild-linux-mips64le/0.15.5: 589 | resolution: {integrity: sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ==} 590 | engines: {node: '>=12'} 591 | cpu: [mips64el] 592 | os: [linux] 593 | requiresBuild: true 594 | dev: true 595 | optional: true 596 | 597 | /esbuild-linux-ppc64le/0.15.5: 598 | resolution: {integrity: sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw==} 599 | engines: {node: '>=12'} 600 | cpu: [ppc64] 601 | os: [linux] 602 | requiresBuild: true 603 | dev: true 604 | optional: true 605 | 606 | /esbuild-linux-riscv64/0.15.5: 607 | resolution: {integrity: sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA==} 608 | engines: {node: '>=12'} 609 | cpu: [riscv64] 610 | os: [linux] 611 | requiresBuild: true 612 | dev: true 613 | optional: true 614 | 615 | /esbuild-linux-s390x/0.15.5: 616 | resolution: {integrity: sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ==} 617 | engines: {node: '>=12'} 618 | cpu: [s390x] 619 | os: [linux] 620 | requiresBuild: true 621 | dev: true 622 | optional: true 623 | 624 | /esbuild-netbsd-64/0.15.5: 625 | resolution: {integrity: sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w==} 626 | engines: {node: '>=12'} 627 | cpu: [x64] 628 | os: [netbsd] 629 | requiresBuild: true 630 | dev: true 631 | optional: true 632 | 633 | /esbuild-openbsd-64/0.15.5: 634 | resolution: {integrity: sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA==} 635 | engines: {node: '>=12'} 636 | cpu: [x64] 637 | os: [openbsd] 638 | requiresBuild: true 639 | dev: true 640 | optional: true 641 | 642 | /esbuild-sunos-64/0.15.5: 643 | resolution: {integrity: sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA==} 644 | engines: {node: '>=12'} 645 | cpu: [x64] 646 | os: [sunos] 647 | requiresBuild: true 648 | dev: true 649 | optional: true 650 | 651 | /esbuild-windows-32/0.15.5: 652 | resolution: {integrity: sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg==} 653 | engines: {node: '>=12'} 654 | cpu: [ia32] 655 | os: [win32] 656 | requiresBuild: true 657 | dev: true 658 | optional: true 659 | 660 | /esbuild-windows-64/0.15.5: 661 | resolution: {integrity: sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw==} 662 | engines: {node: '>=12'} 663 | cpu: [x64] 664 | os: [win32] 665 | requiresBuild: true 666 | dev: true 667 | optional: true 668 | 669 | /esbuild-windows-arm64/0.15.5: 670 | resolution: {integrity: sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA==} 671 | engines: {node: '>=12'} 672 | cpu: [arm64] 673 | os: [win32] 674 | requiresBuild: true 675 | dev: true 676 | optional: true 677 | 678 | /esbuild/0.15.5: 679 | resolution: {integrity: sha512-VSf6S1QVqvxfIsSKb3UKr3VhUCis7wgDbtF4Vd9z84UJr05/Sp2fRKmzC+CSPG/dNAPPJZ0BTBLTT1Fhd6N9Gg==} 680 | engines: {node: '>=12'} 681 | hasBin: true 682 | requiresBuild: true 683 | optionalDependencies: 684 | '@esbuild/linux-loong64': 0.15.5 685 | esbuild-android-64: 0.15.5 686 | esbuild-android-arm64: 0.15.5 687 | esbuild-darwin-64: 0.15.5 688 | esbuild-darwin-arm64: 0.15.5 689 | esbuild-freebsd-64: 0.15.5 690 | esbuild-freebsd-arm64: 0.15.5 691 | esbuild-linux-32: 0.15.5 692 | esbuild-linux-64: 0.15.5 693 | esbuild-linux-arm: 0.15.5 694 | esbuild-linux-arm64: 0.15.5 695 | esbuild-linux-mips64le: 0.15.5 696 | esbuild-linux-ppc64le: 0.15.5 697 | esbuild-linux-riscv64: 0.15.5 698 | esbuild-linux-s390x: 0.15.5 699 | esbuild-netbsd-64: 0.15.5 700 | esbuild-openbsd-64: 0.15.5 701 | esbuild-sunos-64: 0.15.5 702 | esbuild-windows-32: 0.15.5 703 | esbuild-windows-64: 0.15.5 704 | esbuild-windows-arm64: 0.15.5 705 | dev: true 706 | 707 | /escape-string-regexp/1.0.5: 708 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 709 | engines: {node: '>=0.8.0'} 710 | dev: true 711 | optional: true 712 | 713 | /event-stream/3.3.4: 714 | resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} 715 | dependencies: 716 | duplexer: 0.1.2 717 | from: 0.1.7 718 | map-stream: 0.1.0 719 | pause-stream: 0.0.11 720 | split: 0.3.3 721 | stream-combiner: 0.0.4 722 | through: 2.3.8 723 | dev: true 724 | 725 | /fast-glob/3.2.11: 726 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 727 | engines: {node: '>=8.6.0'} 728 | dependencies: 729 | '@nodelib/fs.stat': 2.0.5 730 | '@nodelib/fs.walk': 1.2.8 731 | glob-parent: 5.1.2 732 | merge2: 1.4.1 733 | micromatch: 4.0.5 734 | dev: true 735 | 736 | /fastq/1.13.0: 737 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 738 | dependencies: 739 | reusify: 1.0.4 740 | dev: true 741 | 742 | /fetch-blob/3.2.0: 743 | resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 744 | engines: {node: ^12.20 || >= 14.13} 745 | dependencies: 746 | node-domexception: 1.0.0 747 | web-streams-polyfill: 3.2.1 748 | dev: true 749 | 750 | /fill-range/7.0.1: 751 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 752 | engines: {node: '>=8'} 753 | dependencies: 754 | to-regex-range: 5.0.1 755 | dev: true 756 | 757 | /formdata-polyfill/4.0.10: 758 | resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} 759 | engines: {node: '>=12.20.0'} 760 | dependencies: 761 | fetch-blob: 3.2.0 762 | dev: true 763 | 764 | /from/0.1.7: 765 | resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} 766 | dev: true 767 | 768 | /fs-extra/10.1.0: 769 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 770 | engines: {node: '>=12'} 771 | dependencies: 772 | graceful-fs: 4.2.10 773 | jsonfile: 6.1.0 774 | universalify: 2.0.0 775 | dev: true 776 | 777 | /fs-minipass/2.1.0: 778 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} 779 | engines: {node: '>= 8'} 780 | dependencies: 781 | minipass: 3.3.4 782 | dev: true 783 | optional: true 784 | 785 | /fs.realpath/1.0.0: 786 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 787 | dev: true 788 | optional: true 789 | 790 | /fsevents/2.3.2: 791 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 792 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 793 | os: [darwin] 794 | requiresBuild: true 795 | dev: true 796 | optional: true 797 | 798 | /function-bind/1.1.1: 799 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 800 | dev: true 801 | optional: true 802 | 803 | /gauge/3.0.2: 804 | resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} 805 | engines: {node: '>=10'} 806 | dependencies: 807 | aproba: 2.0.0 808 | color-support: 1.1.3 809 | console-control-strings: 1.1.0 810 | has-unicode: 2.0.1 811 | object-assign: 4.1.1 812 | signal-exit: 3.0.7 813 | string-width: 4.2.3 814 | strip-ansi: 6.0.1 815 | wide-align: 1.1.5 816 | dev: true 817 | optional: true 818 | 819 | /get-tsconfig/4.2.0: 820 | resolution: {integrity: sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==} 821 | dev: true 822 | 823 | /glob-parent/5.1.2: 824 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 825 | engines: {node: '>= 6'} 826 | dependencies: 827 | is-glob: 4.0.3 828 | dev: true 829 | 830 | /glob/7.2.3: 831 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 832 | dependencies: 833 | fs.realpath: 1.0.0 834 | inflight: 1.0.6 835 | inherits: 2.0.4 836 | minimatch: 3.1.2 837 | once: 1.4.0 838 | path-is-absolute: 1.0.1 839 | dev: true 840 | optional: true 841 | 842 | /globby/13.1.2: 843 | resolution: {integrity: sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==} 844 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 845 | dependencies: 846 | dir-glob: 3.0.1 847 | fast-glob: 3.2.11 848 | ignore: 5.2.0 849 | merge2: 1.4.1 850 | slash: 4.0.0 851 | dev: true 852 | 853 | /graceful-fs/4.2.10: 854 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 855 | dev: true 856 | 857 | /has-flag/3.0.0: 858 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 859 | engines: {node: '>=4'} 860 | dev: true 861 | optional: true 862 | 863 | /has-unicode/2.0.1: 864 | resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} 865 | dev: true 866 | optional: true 867 | 868 | /has/1.0.3: 869 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 870 | engines: {node: '>= 0.4.0'} 871 | dependencies: 872 | function-bind: 1.1.1 873 | dev: true 874 | optional: true 875 | 876 | /https-proxy-agent/5.0.1: 877 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 878 | engines: {node: '>= 6'} 879 | dependencies: 880 | agent-base: 6.0.2 881 | debug: 4.3.4 882 | transitivePeerDependencies: 883 | - supports-color 884 | dev: true 885 | optional: true 886 | 887 | /ignore/5.2.0: 888 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 889 | engines: {node: '>= 4'} 890 | dev: true 891 | 892 | /import-fresh/3.3.0: 893 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 894 | engines: {node: '>=6'} 895 | dependencies: 896 | parent-module: 1.0.1 897 | resolve-from: 4.0.0 898 | dev: true 899 | optional: true 900 | 901 | /inflight/1.0.6: 902 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 903 | dependencies: 904 | once: 1.4.0 905 | wrappy: 1.0.2 906 | dev: true 907 | optional: true 908 | 909 | /inherits/2.0.4: 910 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 911 | dev: true 912 | optional: true 913 | 914 | /is-arrayish/0.2.1: 915 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 916 | dev: true 917 | optional: true 918 | 919 | /is-core-module/2.10.0: 920 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} 921 | dependencies: 922 | has: 1.0.3 923 | dev: true 924 | optional: true 925 | 926 | /is-extglob/2.1.1: 927 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 928 | engines: {node: '>=0.10.0'} 929 | dev: true 930 | 931 | /is-fullwidth-code-point/3.0.0: 932 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 933 | engines: {node: '>=8'} 934 | dev: true 935 | optional: true 936 | 937 | /is-glob/4.0.3: 938 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 939 | engines: {node: '>=0.10.0'} 940 | dependencies: 941 | is-extglob: 2.1.1 942 | dev: true 943 | 944 | /is-number/7.0.0: 945 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 946 | engines: {node: '>=0.12.0'} 947 | dev: true 948 | 949 | /isexe/2.0.0: 950 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 951 | dev: true 952 | 953 | /js-tokens/4.0.0: 954 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 955 | dev: true 956 | optional: true 957 | 958 | /json-parse-even-better-errors/2.3.1: 959 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 960 | dev: true 961 | optional: true 962 | 963 | /jsonfile/6.1.0: 964 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 965 | dependencies: 966 | universalify: 2.0.0 967 | optionalDependencies: 968 | graceful-fs: 4.2.10 969 | dev: true 970 | 971 | /keypress/0.1.0: 972 | resolution: {integrity: sha512-x0yf9PL/nx9Nw9oLL8ZVErFAk85/lslwEP7Vz7s5SI1ODXZIgit3C5qyWjw4DxOuO/3Hb4866SQh28a1V1d+WA==} 973 | dev: true 974 | 975 | /lines-and-columns/1.2.4: 976 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 977 | dev: true 978 | optional: true 979 | 980 | /lru-cache/6.0.0: 981 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 982 | engines: {node: '>=10'} 983 | dependencies: 984 | yallist: 4.0.0 985 | dev: true 986 | optional: true 987 | 988 | /make-dir/3.1.0: 989 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 990 | engines: {node: '>=8'} 991 | dependencies: 992 | semver: 6.3.0 993 | dev: true 994 | optional: true 995 | 996 | /map-stream/0.1.0: 997 | resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} 998 | dev: true 999 | 1000 | /merge2/1.4.1: 1001 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1002 | engines: {node: '>= 8'} 1003 | dev: true 1004 | 1005 | /micromatch/4.0.5: 1006 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1007 | engines: {node: '>=8.6'} 1008 | dependencies: 1009 | braces: 3.0.2 1010 | picomatch: 2.3.1 1011 | dev: true 1012 | 1013 | /minimatch/3.1.2: 1014 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1015 | dependencies: 1016 | brace-expansion: 1.1.11 1017 | dev: true 1018 | optional: true 1019 | 1020 | /minimist/1.2.6: 1021 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 1022 | dev: true 1023 | 1024 | /minipass/3.3.4: 1025 | resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} 1026 | engines: {node: '>=8'} 1027 | dependencies: 1028 | yallist: 4.0.0 1029 | dev: true 1030 | optional: true 1031 | 1032 | /minizlib/2.1.2: 1033 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} 1034 | engines: {node: '>= 8'} 1035 | dependencies: 1036 | minipass: 3.3.4 1037 | yallist: 4.0.0 1038 | dev: true 1039 | optional: true 1040 | 1041 | /mkdirp/1.0.4: 1042 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 1043 | engines: {node: '>=10'} 1044 | hasBin: true 1045 | dev: true 1046 | optional: true 1047 | 1048 | /ms/2.1.2: 1049 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1050 | dev: true 1051 | optional: true 1052 | 1053 | /node-addon-api/3.2.1: 1054 | resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} 1055 | dev: true 1056 | optional: true 1057 | 1058 | /node-domexception/1.0.0: 1059 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 1060 | engines: {node: '>=10.5.0'} 1061 | dev: true 1062 | 1063 | /node-fetch/2.6.7: 1064 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 1065 | engines: {node: 4.x || >=6.0.0} 1066 | peerDependencies: 1067 | encoding: ^0.1.0 1068 | peerDependenciesMeta: 1069 | encoding: 1070 | optional: true 1071 | dependencies: 1072 | whatwg-url: 5.0.0 1073 | dev: true 1074 | optional: true 1075 | 1076 | /node-fetch/3.2.8: 1077 | resolution: {integrity: sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==} 1078 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1079 | dependencies: 1080 | data-uri-to-buffer: 4.0.0 1081 | fetch-blob: 3.2.0 1082 | formdata-polyfill: 4.0.10 1083 | dev: true 1084 | 1085 | /nodejieba/2.5.2: 1086 | resolution: {integrity: sha512-ByskJvaBrQ2eV+5M0OeD80S5NKoGaHc9zi3Z/PTKl/95eac2YF8RmWduq9AknLpkQLrLAIcqurrtC6BzjpKwwg==} 1087 | engines: {node: '>= 10.20.0'} 1088 | requiresBuild: true 1089 | dependencies: 1090 | '@mapbox/node-pre-gyp': 1.0.9 1091 | node-addon-api: 3.2.1 1092 | transitivePeerDependencies: 1093 | - encoding 1094 | - supports-color 1095 | dev: true 1096 | optional: true 1097 | 1098 | /nopt/5.0.0: 1099 | resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} 1100 | engines: {node: '>=6'} 1101 | hasBin: true 1102 | dependencies: 1103 | abbrev: 1.1.1 1104 | dev: true 1105 | optional: true 1106 | 1107 | /npmlog/5.0.1: 1108 | resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} 1109 | dependencies: 1110 | are-we-there-yet: 2.0.0 1111 | console-control-strings: 1.1.0 1112 | gauge: 3.0.2 1113 | set-blocking: 2.0.0 1114 | dev: true 1115 | optional: true 1116 | 1117 | /object-assign/4.1.1: 1118 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1119 | engines: {node: '>=0.10.0'} 1120 | dev: true 1121 | optional: true 1122 | 1123 | /once/1.4.0: 1124 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1125 | dependencies: 1126 | wrappy: 1.0.2 1127 | dev: true 1128 | optional: true 1129 | 1130 | /parent-module/1.0.1: 1131 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1132 | engines: {node: '>=6'} 1133 | dependencies: 1134 | callsites: 3.1.0 1135 | dev: true 1136 | optional: true 1137 | 1138 | /parse-json/5.2.0: 1139 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1140 | engines: {node: '>=8'} 1141 | dependencies: 1142 | '@babel/code-frame': 7.18.6 1143 | error-ex: 1.3.2 1144 | json-parse-even-better-errors: 2.3.1 1145 | lines-and-columns: 1.2.4 1146 | dev: true 1147 | optional: true 1148 | 1149 | /path-is-absolute/1.0.1: 1150 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1151 | engines: {node: '>=0.10.0'} 1152 | dev: true 1153 | optional: true 1154 | 1155 | /path-parse/1.0.7: 1156 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1157 | dev: true 1158 | optional: true 1159 | 1160 | /path-type/4.0.0: 1161 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1162 | engines: {node: '>=8'} 1163 | dev: true 1164 | 1165 | /pause-stream/0.0.11: 1166 | resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} 1167 | dependencies: 1168 | through: 2.3.8 1169 | dev: true 1170 | 1171 | /picomatch/2.3.1: 1172 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1173 | engines: {node: '>=8.6'} 1174 | dev: true 1175 | 1176 | /pinyin/3.0.0-alpha.5: 1177 | resolution: {integrity: sha512-Sc8+Ch8uxZsVO0zvzHxvy24fEIixSl7V4kZoX4ThSyQ1BI0H8jIAqf0kxT8WMCX2xEHr1CYslKGDgSE4yj71hg==} 1178 | hasBin: true 1179 | dependencies: 1180 | commander: 1.1.1 1181 | optionalDependencies: 1182 | '@node-rs/jieba': 1.6.1 1183 | nodejieba: 2.5.2 1184 | segmentit: 2.0.3 1185 | transitivePeerDependencies: 1186 | - encoding 1187 | - supports-color 1188 | dev: true 1189 | 1190 | /preval.macro/4.0.0: 1191 | resolution: {integrity: sha512-sJJnE71X+MPr64CVD2AurmUj4JEDqbudYbStav3L9Xjcqm4AR0ymMm6sugw1mUmfI/7gw4JWA4JXo/k6w34crw==} 1192 | dependencies: 1193 | babel-plugin-preval: 4.0.0 1194 | dev: true 1195 | optional: true 1196 | 1197 | /ps-tree/1.2.0: 1198 | resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} 1199 | engines: {node: '>= 0.10'} 1200 | hasBin: true 1201 | dependencies: 1202 | event-stream: 3.3.4 1203 | dev: true 1204 | 1205 | /queue-microtask/1.2.3: 1206 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1207 | dev: true 1208 | 1209 | /readable-stream/3.6.0: 1210 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 1211 | engines: {node: '>= 6'} 1212 | dependencies: 1213 | inherits: 2.0.4 1214 | string_decoder: 1.3.0 1215 | util-deprecate: 1.0.2 1216 | dev: true 1217 | optional: true 1218 | 1219 | /regenerator-runtime/0.13.9: 1220 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} 1221 | dev: true 1222 | optional: true 1223 | 1224 | /require-from-string/2.0.2: 1225 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 1226 | engines: {node: '>=0.10.0'} 1227 | dev: true 1228 | optional: true 1229 | 1230 | /resolve-from/4.0.0: 1231 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1232 | engines: {node: '>=4'} 1233 | dev: true 1234 | optional: true 1235 | 1236 | /resolve/1.22.1: 1237 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1238 | hasBin: true 1239 | dependencies: 1240 | is-core-module: 2.10.0 1241 | path-parse: 1.0.7 1242 | supports-preserve-symlinks-flag: 1.0.0 1243 | dev: true 1244 | optional: true 1245 | 1246 | /reusify/1.0.4: 1247 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1248 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1249 | dev: true 1250 | 1251 | /rimraf/3.0.2: 1252 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1253 | hasBin: true 1254 | dependencies: 1255 | glob: 7.2.3 1256 | dev: true 1257 | optional: true 1258 | 1259 | /run-parallel/1.2.0: 1260 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1261 | dependencies: 1262 | queue-microtask: 1.2.3 1263 | dev: true 1264 | 1265 | /safe-buffer/5.2.1: 1266 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1267 | dev: true 1268 | optional: true 1269 | 1270 | /segmentit/2.0.3: 1271 | resolution: {integrity: sha512-7mn2XL3OdTUQ+AhHz7SbgyxLTaQRzTWQNVwiK+UlTO8aePGbSwvKUzTwE4238+OUY9MoR6ksAg35zl8sfTunQQ==} 1272 | requiresBuild: true 1273 | dependencies: 1274 | preval.macro: 4.0.0 1275 | dev: true 1276 | optional: true 1277 | 1278 | /semver/6.3.0: 1279 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 1280 | hasBin: true 1281 | dev: true 1282 | optional: true 1283 | 1284 | /semver/7.3.7: 1285 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 1286 | engines: {node: '>=10'} 1287 | hasBin: true 1288 | dependencies: 1289 | lru-cache: 6.0.0 1290 | dev: true 1291 | optional: true 1292 | 1293 | /set-blocking/2.0.0: 1294 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 1295 | dev: true 1296 | optional: true 1297 | 1298 | /signal-exit/3.0.7: 1299 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1300 | dev: true 1301 | optional: true 1302 | 1303 | /slash/4.0.0: 1304 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 1305 | engines: {node: '>=12'} 1306 | dev: true 1307 | 1308 | /source-map-support/0.5.21: 1309 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1310 | dependencies: 1311 | buffer-from: 1.1.2 1312 | source-map: 0.6.1 1313 | dev: true 1314 | 1315 | /source-map/0.6.1: 1316 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1317 | engines: {node: '>=0.10.0'} 1318 | dev: true 1319 | 1320 | /split/0.3.3: 1321 | resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} 1322 | dependencies: 1323 | through: 2.3.8 1324 | dev: true 1325 | 1326 | /stream-combiner/0.0.4: 1327 | resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} 1328 | dependencies: 1329 | duplexer: 0.1.2 1330 | dev: true 1331 | 1332 | /string-width/4.2.3: 1333 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1334 | engines: {node: '>=8'} 1335 | dependencies: 1336 | emoji-regex: 8.0.0 1337 | is-fullwidth-code-point: 3.0.0 1338 | strip-ansi: 6.0.1 1339 | dev: true 1340 | optional: true 1341 | 1342 | /string_decoder/1.3.0: 1343 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1344 | dependencies: 1345 | safe-buffer: 5.2.1 1346 | dev: true 1347 | optional: true 1348 | 1349 | /strip-ansi/6.0.1: 1350 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1351 | engines: {node: '>=8'} 1352 | dependencies: 1353 | ansi-regex: 5.0.1 1354 | dev: true 1355 | optional: true 1356 | 1357 | /supports-color/5.5.0: 1358 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1359 | engines: {node: '>=4'} 1360 | dependencies: 1361 | has-flag: 3.0.0 1362 | dev: true 1363 | optional: true 1364 | 1365 | /supports-preserve-symlinks-flag/1.0.0: 1366 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1367 | engines: {node: '>= 0.4'} 1368 | dev: true 1369 | optional: true 1370 | 1371 | /tar/6.1.11: 1372 | resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} 1373 | engines: {node: '>= 10'} 1374 | dependencies: 1375 | chownr: 2.0.0 1376 | fs-minipass: 2.1.0 1377 | minipass: 3.3.4 1378 | minizlib: 2.1.2 1379 | mkdirp: 1.0.4 1380 | yallist: 4.0.0 1381 | dev: true 1382 | optional: true 1383 | 1384 | /through/2.3.8: 1385 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 1386 | dev: true 1387 | 1388 | /to-regex-range/5.0.1: 1389 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1390 | engines: {node: '>=8.0'} 1391 | dependencies: 1392 | is-number: 7.0.0 1393 | dev: true 1394 | 1395 | /tr46/0.0.3: 1396 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 1397 | dev: true 1398 | optional: true 1399 | 1400 | /tsx/3.8.2: 1401 | resolution: {integrity: sha512-Jf9izq3Youry5aEarspf6Gm+v/IE2A2xP7YVhtNH1VSCpM0jjACg7C3oD5rIoLBfXWGJSZj4KKC2bwE0TgLb2Q==} 1402 | hasBin: true 1403 | dependencies: 1404 | '@esbuild-kit/cjs-loader': 2.3.3 1405 | '@esbuild-kit/core-utils': 2.3.0 1406 | '@esbuild-kit/esm-loader': 2.4.2 1407 | optionalDependencies: 1408 | fsevents: 2.3.2 1409 | dev: true 1410 | 1411 | /typescript/4.7.4: 1412 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} 1413 | engines: {node: '>=4.2.0'} 1414 | hasBin: true 1415 | dev: true 1416 | 1417 | /universalify/2.0.0: 1418 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 1419 | engines: {node: '>= 10.0.0'} 1420 | dev: true 1421 | 1422 | /util-deprecate/1.0.2: 1423 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1424 | dev: true 1425 | optional: true 1426 | 1427 | /web-streams-polyfill/3.2.1: 1428 | resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} 1429 | engines: {node: '>= 8'} 1430 | dev: true 1431 | 1432 | /webidl-conversions/3.0.1: 1433 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 1434 | dev: true 1435 | optional: true 1436 | 1437 | /whatwg-url/5.0.0: 1438 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 1439 | dependencies: 1440 | tr46: 0.0.3 1441 | webidl-conversions: 3.0.1 1442 | dev: true 1443 | optional: true 1444 | 1445 | /which/2.0.2: 1446 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1447 | engines: {node: '>= 8'} 1448 | hasBin: true 1449 | dependencies: 1450 | isexe: 2.0.0 1451 | dev: true 1452 | 1453 | /wide-align/1.1.5: 1454 | resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} 1455 | dependencies: 1456 | string-width: 4.2.3 1457 | dev: true 1458 | optional: true 1459 | 1460 | /wrappy/1.0.2: 1461 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1462 | dev: true 1463 | optional: true 1464 | 1465 | /yallist/4.0.0: 1466 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1467 | dev: true 1468 | optional: true 1469 | 1470 | /yaml/1.10.2: 1471 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1472 | engines: {node: '>= 6'} 1473 | dev: true 1474 | optional: true 1475 | 1476 | /yaml/2.1.1: 1477 | resolution: {integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==} 1478 | engines: {node: '>= 14'} 1479 | dev: true 1480 | 1481 | /zx/7.0.8: 1482 | resolution: {integrity: sha512-sNjfDHzskqrSkWNj0TVhaowVK5AbpvuyuO1RBU4+LrFcgYI5u9CtyWWgUBRtRZl3bgGEF31zByszoBmwS47d1w==} 1483 | engines: {node: '>= 16.0.0'} 1484 | hasBin: true 1485 | dependencies: 1486 | '@types/fs-extra': 9.0.13 1487 | '@types/minimist': 1.2.2 1488 | '@types/node': 18.7.9 1489 | '@types/ps-tree': 1.1.2 1490 | '@types/which': 2.0.1 1491 | chalk: 5.0.1 1492 | fs-extra: 10.1.0 1493 | globby: 13.1.2 1494 | minimist: 1.2.6 1495 | node-fetch: 3.2.8 1496 | ps-tree: 1.2.0 1497 | which: 2.0.2 1498 | yaml: 2.1.1 1499 | dev: true 1500 | -------------------------------------------------------------------------------- /scripts/format.ts: -------------------------------------------------------------------------------- 1 | import 'zx/globals'; 2 | import pinyin from 'pinyin'; 3 | 4 | (async () => { 5 | const filePath = path.join(__dirname, '../README.md'); 6 | const content = fs.readFileSync(filePath, 'utf-8').split('\n'); 7 | let start = 0; 8 | let end = 0; 9 | content.forEach((line, index) => { 10 | if (line.startsWith('> 排名不分先后')) start = index + 2; 11 | if (line.startsWith('## 不活跃开发者')) end = index - 1; 12 | }); 13 | const list = content.slice(start, end); 14 | // compare by key 15 | list.sort((a, b) => { 16 | return getKey(a) > getKey(b) ? 1 : -1; 17 | }); 18 | // console.log(list.join('\n')); 19 | const newContent = [ 20 | ...content.slice(0, start), 21 | ...list, 22 | ...content.slice(end), 23 | ]; 24 | fs.writeFileSync(filePath, newContent.join('\n'), 'utf-8'); 25 | })(); 26 | 27 | 28 | function getKey(line: string) { 29 | const name = getName(line); 30 | let key; 31 | // why? 拼音库有问题 32 | if (name === '辟起') { 33 | key = 'piqi'; 34 | } else if (isChineseChars(name)) { 35 | key = pinyin(name, { 36 | style: pinyin.STYLE_NORMAL, 37 | }).join(''); 38 | } else { 39 | key = name; 40 | } 41 | key = key.toLowerCase(); 42 | return key; 43 | } 44 | 45 | function getName(line: string) { 46 | return line.match(/\[(.+?)]/)![1]; 47 | } 48 | 49 | function isChineseChars(str: string) { 50 | return /^[\u4e00-\u9fa5]+$/.test(str); 51 | } 52 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "declaration": true, 4 | "esModuleInterop": true, 5 | "module": "commonjs", 6 | "moduleResolution": "node", 7 | "noUnusedLocals": true, 8 | "noUnusedParameters": true, 9 | "strict": true, 10 | "skipLibCheck": true, 11 | "target": "es2022" 12 | }, 13 | "exclude": [ 14 | "**/node_modules" 15 | ] 16 | } 17 | --------------------------------------------------------------------------------