├── .editorconfig ├── .gitignore ├── .npmrc ├── README.md ├── TODO.md ├── api-extractor.json ├── package-lock.json ├── package.json ├── rollup.config.js ├── src ├── completions.ts ├── index.ts ├── promptable.ts └── utils.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # dependencies 2 | node_modules 3 | 4 | # production 5 | build 6 | dist 7 | docs 8 | 9 | # debug 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # local environment 15 | .env.local 16 | .env.development.local 17 | .env.test.local 18 | .env.production.local 19 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry = "https://registry.npmjs.com/" 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Promptable 2 | 3 | A simple, lightweight, and flexible library for building prompt engineering pipelines in Typescript/Javascript. 4 | 5 | ## Getting Started 6 | 7 | ``` 8 | npm install promptable 9 | ``` 10 | 11 | ## Usage 12 | 13 | ```ts 14 | import { PromptableApi, OpenAi } from "promptable"; 15 | 16 | const promptDeployment = PromptableApi.getActiveDeployment({ 17 | promptId: "", 18 | }); 19 | 20 | // Inject any variables you're using 21 | const prompt = PromptableApi.injectVariables({ 22 | promptDeployment, 23 | variables: { 24 | greetings: "Hi! whats up?", 25 | }, 26 | }); 27 | 28 | // completion support (streaming coming soon!) 29 | const completion = await OpenAi.runCompletion({ 30 | req, 31 | apiKey, 32 | }); 33 | ``` 34 | 35 | # TypeScript NPM Package 36 | 37 | Scaffold TypeScript npm packages using this template to bootstrap your next library. 38 | 39 | This project includes: 40 | 41 | - [TypeScript](https://www.typescriptlang.org/) 42 | - [Rollup](https://rollupjs.org/) 43 | - [Microsoft API Extractor](https://api-extractor.com/) 44 | - [TypeDoc](https://typedoc.org/) 45 | 46 | Versions of this template: 47 | 48 | - [Vite TypeScript library npm package](https://github.com/jasonsturges/vite-typescript-npm-package) 49 | - [Vite JavaScript library npm package](https://github.com/jasonsturges/vite-npm-package) 50 | - [Rollup JavaScript library npm package](https://github.com/jasonsturges/npm-package-boilerplate) 51 | - [Rollup TypeScript library npm package](https://github.com/jasonsturges/typescript-npm-package) 52 | 53 | ## Getting Started 54 | 55 | Begin via any of the following: 56 | 57 | - Press the "_Use this template_" button 58 | 59 | - Use [degit](https://github.com/Rich-Harris/degit) to execute: 60 | 61 | ``` 62 | degit github:jasonsturges/typescript-npm-package 63 | ``` 64 | 65 | - Use [GitHub CLI](https://cli.github.com/) to execute: 66 | 67 | ``` 68 | gh repo create --template="https://github.com/jasonsturges/typescript-npm-package" 69 | ``` 70 | 71 | - Simply `git clone`, delete the existing .git folder, and then: 72 | 73 | ``` 74 | git init 75 | git add -A 76 | git commit -m "Initial commit" 77 | ``` 78 | 79 | Remember to use `npm search ` to avoid naming conflicts in the NPM Registery for your new package name. 80 | 81 | ## Usage 82 | 83 | The following tasks are available for `npm run`: 84 | 85 | - `dev`: Run Rollup in watch mode to detect changes to files during development 86 | - `build`: Run Rollup to build a production release distributable 87 | - `build:types`: Run Microsoft API Extractor to rollup a types declaration (`d.ts`) file 88 | - `docs`: Run TypeDoc for TSDoc generated documentation in the "_docs/_" folder 89 | - `clean`: Remove all build artifacts 90 | 91 | ## Development 92 | 93 | While test driven development (TDD) would be a good approach to develop your library, also consider creating an app for prototyping and local testing of your library. 94 | 95 | To test within the library, consider using [Storybook](https://storybook.js.org/). This approach runs a `storybook` script to load local source files for development. 96 | 97 | Otherwise, follow these steps to test the package from another project: 98 | 99 | **From your library project**, issue the `npm link` (or `yarn link`) command: 100 | 101 | ``` 102 | npm link 103 | ``` 104 | 105 | Start Rollup in watch mode: 106 | 107 | ``` 108 | npm run dev 109 | ``` 110 | 111 | **Create a test app project**, by doing the following: 112 | 113 | To use your npm package library locally for development, create a new project in a separate folder: 114 | 115 | ``` 116 | mkdir test-app && cd test-app 117 | npm init 118 | ``` 119 | 120 | Take the defaults from `npm init`; then, add TypeScript: 121 | 122 | ``` 123 | npm install typescript --save-dev 124 | ``` 125 | 126 | In the package.json of your test app, add the following two things: 127 | 128 | - Set the `type` of your package to `module` 129 | - Add a `start` script to execute your app 130 | 131 | ```json 132 | "type": "module", 133 | "scripts": { 134 | "start": "tsc && node index.js", 135 | }, 136 | ``` 137 | 138 | Link to your library using the `npm link ` (or `yarn link `) command - be sure the `` matches your library's package.json name. For example: 139 | 140 | ``` 141 | npm link typescript-npm-package 142 | ``` 143 | 144 | Add a "_tsconfig.json_" file to your test app that includes a `baseUrl` and references the `paths` to your npm linked module. Again, be sure the `paths` name matches your library's package.json name. For example: 145 | 146 | ```json 147 | { 148 | "compilerOptions": { 149 | "target": "es6", 150 | "module": "esnext", 151 | "moduleResolution": "node", 152 | "strict": true, 153 | "esModuleInterop": true, 154 | "baseUrl": ".", 155 | "paths": { 156 | "typescript-npm-package": ["node_modules/typescript-npm-package/src"], 157 | "typescript-npm-package/*": ["node_modules/typescript-npm-package/src/*"] 158 | } 159 | } 160 | } 161 | ``` 162 | 163 | Now, run your app via `npm start`. 164 | 165 | As an example, if your library's "_index.ts_" file contained: 166 | 167 | ```ts 168 | export const sayHi = () => { 169 | console.log("Hi"); 170 | }; 171 | ``` 172 | 173 | ...your test app would implement an import using your package name, such as: 174 | 175 | ```ts 176 | import { sayHi } from "typescript-npm-package"; 177 | 178 | sayHi(); 179 | ``` 180 | 181 | ## Development Cleanup 182 | 183 | Once development completes, `unlink` both your library and test app projects. 184 | 185 | **From your test app project**, unlink the library using `npm unlink ` (or `yarn unlink `) command: 186 | 187 | ``` 188 | npm unlink typescript-npm-package 189 | ``` 190 | 191 | **From your library project**, issue the `npm unlink` (or `yarn unlink`) command: 192 | 193 | ``` 194 | npm unlink 195 | ``` 196 | 197 | ## Release Publishing 198 | 199 | Update your `package.json` to next version number, and remember to tag a release. 200 | 201 | Once ready to submit your package to the NPM Registry, execute the following tasks via `npm` (or `yarn`): 202 | 203 | - `npm run clean` — Assure a clean build 204 | - `npm run build` — Build the package 205 | - `npm run build:types` — Build API Extractor d.ts declaration 206 | 207 | Assure the proper npm login: 208 | 209 | ``` 210 | npm login 211 | ``` 212 | 213 | Submit your package to the registry: 214 | 215 | ``` 216 | npm publish --access public 217 | ``` 218 | -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- 1 | # TODO 2 | 3 | Priority 4 | 5 | 3. Expose basic api in this library (get prompt, run completions/streaming) 6 | 4. Create chain and runner interface 7 | 8 | Later 9 | 10 | 1. Setup API Key access to promptable 11 | 2. Send completions to Promptable.ai's api 12 | -------------------------------------------------------------------------------- /api-extractor.json: -------------------------------------------------------------------------------- 1 | { 2 | "projectFolder": ".", 3 | "mainEntryPointFilePath": "/build/index.d.ts", 4 | "bundledPackages": [], 5 | "compiler": { 6 | "tsconfigFilePath": "/tsconfig.json", 7 | "overrideTsconfig": { 8 | "compilerOptions": { 9 | "outDir": "build" 10 | } 11 | } 12 | }, 13 | "dtsRollup": { 14 | "enabled": true, 15 | "untrimmedFilePath": "/dist/index.d.ts" 16 | }, 17 | "apiReport": { 18 | "enabled": false 19 | }, 20 | "docModel": { 21 | "enabled": false 22 | }, 23 | "tsdocMetadata": { 24 | "enabled": false 25 | }, 26 | "messages": { 27 | "compilerMessageReporting": { 28 | "default": { 29 | "logLevel": "none" 30 | } 31 | }, 32 | "extractorMessageReporting": { 33 | "default": { 34 | "logLevel": "none" 35 | } 36 | }, 37 | "tsdocMessageReporting": { 38 | "default": { 39 | "logLevel": "none" 40 | } 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "promptable", 3 | "version": "0.0.1", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "promptable", 9 | "version": "0.0.1", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@microsoft/fetch-event-source": "^2.0.1", 13 | "axios": "^1.2.1" 14 | }, 15 | "devDependencies": { 16 | "@microsoft/api-extractor": "^7.19.4", 17 | "@rollup/plugin-commonjs": "^21.0.1", 18 | "@rollup/plugin-json": "^6.0.0", 19 | "@rollup/plugin-node-resolve": "^13.1.3", 20 | "@rollup/plugin-typescript": "^8.3.0", 21 | "eslint": "^8.8.0", 22 | "prettier": "^2.5.1", 23 | "rimraf": "^3.0.2", 24 | "rollup": "^2.66.1", 25 | "ts-node": "^10.4.0", 26 | "tslib": "^2.3.1", 27 | "typedoc": "^0.22.11", 28 | "typescript": "^4.5.5" 29 | } 30 | }, 31 | "node_modules/@cspotcode/source-map-consumer": { 32 | "version": "0.8.0", 33 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", 34 | "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", 35 | "dev": true, 36 | "engines": { 37 | "node": ">= 12" 38 | } 39 | }, 40 | "node_modules/@cspotcode/source-map-support": { 41 | "version": "0.7.0", 42 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", 43 | "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", 44 | "dev": true, 45 | "dependencies": { 46 | "@cspotcode/source-map-consumer": "0.8.0" 47 | }, 48 | "engines": { 49 | "node": ">=12" 50 | } 51 | }, 52 | "node_modules/@eslint/eslintrc": { 53 | "version": "1.0.5", 54 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", 55 | "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", 56 | "dev": true, 57 | "dependencies": { 58 | "ajv": "^6.12.4", 59 | "debug": "^4.3.2", 60 | "espree": "^9.2.0", 61 | "globals": "^13.9.0", 62 | "ignore": "^4.0.6", 63 | "import-fresh": "^3.2.1", 64 | "js-yaml": "^4.1.0", 65 | "minimatch": "^3.0.4", 66 | "strip-json-comments": "^3.1.1" 67 | }, 68 | "engines": { 69 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 70 | } 71 | }, 72 | "node_modules/@eslint/eslintrc/node_modules/ignore": { 73 | "version": "4.0.6", 74 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 75 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 76 | "dev": true, 77 | "engines": { 78 | "node": ">= 4" 79 | } 80 | }, 81 | "node_modules/@humanwhocodes/config-array": { 82 | "version": "0.9.3", 83 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz", 84 | "integrity": "sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==", 85 | "dev": true, 86 | "dependencies": { 87 | "@humanwhocodes/object-schema": "^1.2.1", 88 | "debug": "^4.1.1", 89 | "minimatch": "^3.0.4" 90 | }, 91 | "engines": { 92 | "node": ">=10.10.0" 93 | } 94 | }, 95 | "node_modules/@humanwhocodes/object-schema": { 96 | "version": "1.2.1", 97 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 98 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 99 | "dev": true 100 | }, 101 | "node_modules/@microsoft/api-extractor": { 102 | "version": "7.19.4", 103 | "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.19.4.tgz", 104 | "integrity": "sha512-iehC6YA3DGJvxTUaK7HUtQmP6hAQU07+Q/OR8TG4dVR6KpqCi9UPEVk8AgCvQkiK+6FbVEFQTx0qLuYk4EeuHg==", 105 | "dev": true, 106 | "dependencies": { 107 | "@microsoft/api-extractor-model": "7.15.3", 108 | "@microsoft/tsdoc": "0.13.2", 109 | "@microsoft/tsdoc-config": "~0.15.2", 110 | "@rushstack/node-core-library": "3.45.0", 111 | "@rushstack/rig-package": "0.3.7", 112 | "@rushstack/ts-command-line": "4.10.6", 113 | "colors": "~1.2.1", 114 | "lodash": "~4.17.15", 115 | "resolve": "~1.17.0", 116 | "semver": "~7.3.0", 117 | "source-map": "~0.6.1", 118 | "typescript": "~4.5.2" 119 | }, 120 | "bin": { 121 | "api-extractor": "bin/api-extractor" 122 | } 123 | }, 124 | "node_modules/@microsoft/api-extractor-model": { 125 | "version": "7.15.3", 126 | "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.15.3.tgz", 127 | "integrity": "sha512-NkSjolmSI7NGvbdz0Y7kjQfdpD+j9E5CwXTxEyjDqxd10MI7GXV8DnAsQ57GFJcgHKgTjf2aUnYfMJ9w3aMicw==", 128 | "dev": true, 129 | "dependencies": { 130 | "@microsoft/tsdoc": "0.13.2", 131 | "@microsoft/tsdoc-config": "~0.15.2", 132 | "@rushstack/node-core-library": "3.45.0" 133 | } 134 | }, 135 | "node_modules/@microsoft/api-extractor/node_modules/resolve": { 136 | "version": "1.17.0", 137 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 138 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 139 | "dev": true, 140 | "dependencies": { 141 | "path-parse": "^1.0.6" 142 | }, 143 | "funding": { 144 | "url": "https://github.com/sponsors/ljharb" 145 | } 146 | }, 147 | "node_modules/@microsoft/fetch-event-source": { 148 | "version": "2.0.1", 149 | "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz", 150 | "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==" 151 | }, 152 | "node_modules/@microsoft/tsdoc": { 153 | "version": "0.13.2", 154 | "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz", 155 | "integrity": "sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==", 156 | "dev": true 157 | }, 158 | "node_modules/@microsoft/tsdoc-config": { 159 | "version": "0.15.2", 160 | "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz", 161 | "integrity": "sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==", 162 | "dev": true, 163 | "dependencies": { 164 | "@microsoft/tsdoc": "0.13.2", 165 | "ajv": "~6.12.6", 166 | "jju": "~1.4.0", 167 | "resolve": "~1.19.0" 168 | } 169 | }, 170 | "node_modules/@microsoft/tsdoc-config/node_modules/resolve": { 171 | "version": "1.19.0", 172 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", 173 | "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", 174 | "dev": true, 175 | "dependencies": { 176 | "is-core-module": "^2.1.0", 177 | "path-parse": "^1.0.6" 178 | }, 179 | "funding": { 180 | "url": "https://github.com/sponsors/ljharb" 181 | } 182 | }, 183 | "node_modules/@rollup/plugin-commonjs": { 184 | "version": "21.0.1", 185 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", 186 | "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", 187 | "dev": true, 188 | "dependencies": { 189 | "@rollup/pluginutils": "^3.1.0", 190 | "commondir": "^1.0.1", 191 | "estree-walker": "^2.0.1", 192 | "glob": "^7.1.6", 193 | "is-reference": "^1.2.1", 194 | "magic-string": "^0.25.7", 195 | "resolve": "^1.17.0" 196 | }, 197 | "engines": { 198 | "node": ">= 8.0.0" 199 | }, 200 | "peerDependencies": { 201 | "rollup": "^2.38.3" 202 | } 203 | }, 204 | "node_modules/@rollup/plugin-json": { 205 | "version": "6.0.0", 206 | "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz", 207 | "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==", 208 | "dev": true, 209 | "dependencies": { 210 | "@rollup/pluginutils": "^5.0.1" 211 | }, 212 | "engines": { 213 | "node": ">=14.0.0" 214 | }, 215 | "peerDependencies": { 216 | "rollup": "^1.20.0||^2.0.0||^3.0.0" 217 | }, 218 | "peerDependenciesMeta": { 219 | "rollup": { 220 | "optional": true 221 | } 222 | } 223 | }, 224 | "node_modules/@rollup/plugin-json/node_modules/@rollup/pluginutils": { 225 | "version": "5.0.2", 226 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", 227 | "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", 228 | "dev": true, 229 | "dependencies": { 230 | "@types/estree": "^1.0.0", 231 | "estree-walker": "^2.0.2", 232 | "picomatch": "^2.3.1" 233 | }, 234 | "engines": { 235 | "node": ">=14.0.0" 236 | }, 237 | "peerDependencies": { 238 | "rollup": "^1.20.0||^2.0.0||^3.0.0" 239 | }, 240 | "peerDependenciesMeta": { 241 | "rollup": { 242 | "optional": true 243 | } 244 | } 245 | }, 246 | "node_modules/@rollup/plugin-json/node_modules/@types/estree": { 247 | "version": "1.0.0", 248 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", 249 | "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", 250 | "dev": true 251 | }, 252 | "node_modules/@rollup/plugin-node-resolve": { 253 | "version": "13.1.3", 254 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", 255 | "integrity": "sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==", 256 | "dev": true, 257 | "dependencies": { 258 | "@rollup/pluginutils": "^3.1.0", 259 | "@types/resolve": "1.17.1", 260 | "builtin-modules": "^3.1.0", 261 | "deepmerge": "^4.2.2", 262 | "is-module": "^1.0.0", 263 | "resolve": "^1.19.0" 264 | }, 265 | "engines": { 266 | "node": ">= 10.0.0" 267 | }, 268 | "peerDependencies": { 269 | "rollup": "^2.42.0" 270 | } 271 | }, 272 | "node_modules/@rollup/plugin-typescript": { 273 | "version": "8.3.0", 274 | "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.0.tgz", 275 | "integrity": "sha512-I5FpSvLbtAdwJ+naznv+B4sjXZUcIvLLceYpITAn7wAP8W0wqc5noLdGIp9HGVntNhRWXctwPYrSSFQxtl0FPA==", 276 | "dev": true, 277 | "dependencies": { 278 | "@rollup/pluginutils": "^3.1.0", 279 | "resolve": "^1.17.0" 280 | }, 281 | "engines": { 282 | "node": ">=8.0.0" 283 | }, 284 | "peerDependencies": { 285 | "rollup": "^2.14.0", 286 | "tslib": "*", 287 | "typescript": ">=3.7.0" 288 | } 289 | }, 290 | "node_modules/@rollup/pluginutils": { 291 | "version": "3.1.0", 292 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 293 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 294 | "dev": true, 295 | "dependencies": { 296 | "@types/estree": "0.0.39", 297 | "estree-walker": "^1.0.1", 298 | "picomatch": "^2.2.2" 299 | }, 300 | "engines": { 301 | "node": ">= 8.0.0" 302 | }, 303 | "peerDependencies": { 304 | "rollup": "^1.20.0||^2.0.0" 305 | } 306 | }, 307 | "node_modules/@rollup/pluginutils/node_modules/estree-walker": { 308 | "version": "1.0.1", 309 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 310 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 311 | "dev": true 312 | }, 313 | "node_modules/@rushstack/node-core-library": { 314 | "version": "3.45.0", 315 | "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.0.tgz", 316 | "integrity": "sha512-YMuIJl19vQT1+g/OU9mLY6T5ZBT9uDlmeXExDQACpGuxTJW+LHNbk/lRX+eCApQI2eLBlaL4U68r3kZlqwbdmw==", 317 | "dev": true, 318 | "dependencies": { 319 | "@types/node": "12.20.24", 320 | "colors": "~1.2.1", 321 | "fs-extra": "~7.0.1", 322 | "import-lazy": "~4.0.0", 323 | "jju": "~1.4.0", 324 | "resolve": "~1.17.0", 325 | "semver": "~7.3.0", 326 | "timsort": "~0.3.0", 327 | "z-schema": "~5.0.2" 328 | } 329 | }, 330 | "node_modules/@rushstack/node-core-library/node_modules/@types/node": { 331 | "version": "12.20.24", 332 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz", 333 | "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==", 334 | "dev": true 335 | }, 336 | "node_modules/@rushstack/node-core-library/node_modules/resolve": { 337 | "version": "1.17.0", 338 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 339 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 340 | "dev": true, 341 | "dependencies": { 342 | "path-parse": "^1.0.6" 343 | }, 344 | "funding": { 345 | "url": "https://github.com/sponsors/ljharb" 346 | } 347 | }, 348 | "node_modules/@rushstack/rig-package": { 349 | "version": "0.3.7", 350 | "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.7.tgz", 351 | "integrity": "sha512-pzMsTSeTC8IiZ6EJLr53gGMvhT4oLWH+hxD7907cHyWuIUlEXFtu/2pK25vUQT13nKp5DJCWxXyYoGRk/h6rtA==", 352 | "dev": true, 353 | "dependencies": { 354 | "resolve": "~1.17.0", 355 | "strip-json-comments": "~3.1.1" 356 | } 357 | }, 358 | "node_modules/@rushstack/rig-package/node_modules/resolve": { 359 | "version": "1.17.0", 360 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 361 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 362 | "dev": true, 363 | "dependencies": { 364 | "path-parse": "^1.0.6" 365 | }, 366 | "funding": { 367 | "url": "https://github.com/sponsors/ljharb" 368 | } 369 | }, 370 | "node_modules/@rushstack/ts-command-line": { 371 | "version": "4.10.6", 372 | "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.10.6.tgz", 373 | "integrity": "sha512-Y3GkUag39sTIlukDg9mUp8MCHrrlJ27POrBNRQGc/uF+VVgX8M7zMzHch5zP6O1QVquWgD7Engdpn2piPYaS/g==", 374 | "dev": true, 375 | "dependencies": { 376 | "@types/argparse": "1.0.38", 377 | "argparse": "~1.0.9", 378 | "colors": "~1.2.1", 379 | "string-argv": "~0.3.1" 380 | } 381 | }, 382 | "node_modules/@tsconfig/node10": { 383 | "version": "1.0.8", 384 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", 385 | "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", 386 | "dev": true 387 | }, 388 | "node_modules/@tsconfig/node12": { 389 | "version": "1.0.9", 390 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", 391 | "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", 392 | "dev": true 393 | }, 394 | "node_modules/@tsconfig/node14": { 395 | "version": "1.0.1", 396 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", 397 | "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", 398 | "dev": true 399 | }, 400 | "node_modules/@tsconfig/node16": { 401 | "version": "1.0.2", 402 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", 403 | "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", 404 | "dev": true 405 | }, 406 | "node_modules/@types/argparse": { 407 | "version": "1.0.38", 408 | "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", 409 | "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", 410 | "dev": true 411 | }, 412 | "node_modules/@types/estree": { 413 | "version": "0.0.39", 414 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 415 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 416 | "dev": true 417 | }, 418 | "node_modules/@types/node": { 419 | "version": "15.0.3", 420 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.3.tgz", 421 | "integrity": "sha512-/WbxFeBU+0F79z9RdEOXH4CsDga+ibi5M8uEYr91u3CkT/pdWcV8MCook+4wDPnZBexRdwWS+PiVZ2xJviAzcQ==", 422 | "dev": true 423 | }, 424 | "node_modules/@types/resolve": { 425 | "version": "1.17.1", 426 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", 427 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", 428 | "dev": true, 429 | "dependencies": { 430 | "@types/node": "*" 431 | } 432 | }, 433 | "node_modules/acorn": { 434 | "version": "8.7.0", 435 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", 436 | "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", 437 | "dev": true, 438 | "bin": { 439 | "acorn": "bin/acorn" 440 | }, 441 | "engines": { 442 | "node": ">=0.4.0" 443 | } 444 | }, 445 | "node_modules/acorn-jsx": { 446 | "version": "5.3.2", 447 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 448 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 449 | "dev": true, 450 | "peerDependencies": { 451 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 452 | } 453 | }, 454 | "node_modules/acorn-walk": { 455 | "version": "8.1.1", 456 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", 457 | "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", 458 | "dev": true, 459 | "engines": { 460 | "node": ">=0.4.0" 461 | } 462 | }, 463 | "node_modules/ajv": { 464 | "version": "6.12.6", 465 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 466 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 467 | "dev": true, 468 | "dependencies": { 469 | "fast-deep-equal": "^3.1.1", 470 | "fast-json-stable-stringify": "^2.0.0", 471 | "json-schema-traverse": "^0.4.1", 472 | "uri-js": "^4.2.2" 473 | }, 474 | "funding": { 475 | "type": "github", 476 | "url": "https://github.com/sponsors/epoberezkin" 477 | } 478 | }, 479 | "node_modules/ansi-regex": { 480 | "version": "5.0.1", 481 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 482 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 483 | "dev": true, 484 | "engines": { 485 | "node": ">=8" 486 | } 487 | }, 488 | "node_modules/ansi-styles": { 489 | "version": "4.3.0", 490 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 491 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 492 | "dev": true, 493 | "dependencies": { 494 | "color-convert": "^2.0.1" 495 | }, 496 | "engines": { 497 | "node": ">=8" 498 | }, 499 | "funding": { 500 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 501 | } 502 | }, 503 | "node_modules/arg": { 504 | "version": "4.1.3", 505 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 506 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 507 | "dev": true 508 | }, 509 | "node_modules/argparse": { 510 | "version": "1.0.10", 511 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 512 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 513 | "dev": true, 514 | "dependencies": { 515 | "sprintf-js": "~1.0.2" 516 | } 517 | }, 518 | "node_modules/asynckit": { 519 | "version": "0.4.0", 520 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 521 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 522 | }, 523 | "node_modules/axios": { 524 | "version": "1.2.1", 525 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", 526 | "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", 527 | "dependencies": { 528 | "follow-redirects": "^1.15.0", 529 | "form-data": "^4.0.0", 530 | "proxy-from-env": "^1.1.0" 531 | } 532 | }, 533 | "node_modules/balanced-match": { 534 | "version": "1.0.2", 535 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 536 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 537 | "dev": true 538 | }, 539 | "node_modules/brace-expansion": { 540 | "version": "1.1.11", 541 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 542 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 543 | "dev": true, 544 | "dependencies": { 545 | "balanced-match": "^1.0.0", 546 | "concat-map": "0.0.1" 547 | } 548 | }, 549 | "node_modules/builtin-modules": { 550 | "version": "3.2.0", 551 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", 552 | "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", 553 | "dev": true, 554 | "engines": { 555 | "node": ">=6" 556 | }, 557 | "funding": { 558 | "url": "https://github.com/sponsors/sindresorhus" 559 | } 560 | }, 561 | "node_modules/callsites": { 562 | "version": "3.1.0", 563 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 564 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 565 | "dev": true, 566 | "engines": { 567 | "node": ">=6" 568 | } 569 | }, 570 | "node_modules/chalk": { 571 | "version": "4.1.1", 572 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", 573 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", 574 | "dev": true, 575 | "dependencies": { 576 | "ansi-styles": "^4.1.0", 577 | "supports-color": "^7.1.0" 578 | }, 579 | "engines": { 580 | "node": ">=10" 581 | }, 582 | "funding": { 583 | "url": "https://github.com/chalk/chalk?sponsor=1" 584 | } 585 | }, 586 | "node_modules/color-convert": { 587 | "version": "2.0.1", 588 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 589 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 590 | "dev": true, 591 | "dependencies": { 592 | "color-name": "~1.1.4" 593 | }, 594 | "engines": { 595 | "node": ">=7.0.0" 596 | } 597 | }, 598 | "node_modules/color-name": { 599 | "version": "1.1.4", 600 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 601 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 602 | "dev": true 603 | }, 604 | "node_modules/colors": { 605 | "version": "1.2.5", 606 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", 607 | "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", 608 | "dev": true, 609 | "engines": { 610 | "node": ">=0.1.90" 611 | } 612 | }, 613 | "node_modules/combined-stream": { 614 | "version": "1.0.8", 615 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 616 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 617 | "dependencies": { 618 | "delayed-stream": "~1.0.0" 619 | }, 620 | "engines": { 621 | "node": ">= 0.8" 622 | } 623 | }, 624 | "node_modules/commander": { 625 | "version": "2.20.3", 626 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 627 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 628 | "dev": true, 629 | "optional": true 630 | }, 631 | "node_modules/commondir": { 632 | "version": "1.0.1", 633 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 634 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", 635 | "dev": true 636 | }, 637 | "node_modules/concat-map": { 638 | "version": "0.0.1", 639 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 640 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 641 | "dev": true 642 | }, 643 | "node_modules/create-require": { 644 | "version": "1.1.1", 645 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 646 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 647 | "dev": true 648 | }, 649 | "node_modules/cross-spawn": { 650 | "version": "7.0.3", 651 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 652 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 653 | "dev": true, 654 | "dependencies": { 655 | "path-key": "^3.1.0", 656 | "shebang-command": "^2.0.0", 657 | "which": "^2.0.1" 658 | }, 659 | "engines": { 660 | "node": ">= 8" 661 | } 662 | }, 663 | "node_modules/debug": { 664 | "version": "4.3.3", 665 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 666 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 667 | "dev": true, 668 | "dependencies": { 669 | "ms": "2.1.2" 670 | }, 671 | "engines": { 672 | "node": ">=6.0" 673 | }, 674 | "peerDependenciesMeta": { 675 | "supports-color": { 676 | "optional": true 677 | } 678 | } 679 | }, 680 | "node_modules/deep-is": { 681 | "version": "0.1.3", 682 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 683 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 684 | "dev": true 685 | }, 686 | "node_modules/deepmerge": { 687 | "version": "4.2.2", 688 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 689 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 690 | "dev": true, 691 | "engines": { 692 | "node": ">=0.10.0" 693 | } 694 | }, 695 | "node_modules/delayed-stream": { 696 | "version": "1.0.0", 697 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 698 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 699 | "engines": { 700 | "node": ">=0.4.0" 701 | } 702 | }, 703 | "node_modules/diff": { 704 | "version": "4.0.2", 705 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 706 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 707 | "dev": true, 708 | "engines": { 709 | "node": ">=0.3.1" 710 | } 711 | }, 712 | "node_modules/doctrine": { 713 | "version": "3.0.0", 714 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 715 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 716 | "dev": true, 717 | "dependencies": { 718 | "esutils": "^2.0.2" 719 | }, 720 | "engines": { 721 | "node": ">=6.0.0" 722 | } 723 | }, 724 | "node_modules/eslint": { 725 | "version": "8.8.0", 726 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz", 727 | "integrity": "sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==", 728 | "dev": true, 729 | "dependencies": { 730 | "@eslint/eslintrc": "^1.0.5", 731 | "@humanwhocodes/config-array": "^0.9.2", 732 | "ajv": "^6.10.0", 733 | "chalk": "^4.0.0", 734 | "cross-spawn": "^7.0.2", 735 | "debug": "^4.3.2", 736 | "doctrine": "^3.0.0", 737 | "escape-string-regexp": "^4.0.0", 738 | "eslint-scope": "^7.1.0", 739 | "eslint-utils": "^3.0.0", 740 | "eslint-visitor-keys": "^3.2.0", 741 | "espree": "^9.3.0", 742 | "esquery": "^1.4.0", 743 | "esutils": "^2.0.2", 744 | "fast-deep-equal": "^3.1.3", 745 | "file-entry-cache": "^6.0.1", 746 | "functional-red-black-tree": "^1.0.1", 747 | "glob-parent": "^6.0.1", 748 | "globals": "^13.6.0", 749 | "ignore": "^5.2.0", 750 | "import-fresh": "^3.0.0", 751 | "imurmurhash": "^0.1.4", 752 | "is-glob": "^4.0.0", 753 | "js-yaml": "^4.1.0", 754 | "json-stable-stringify-without-jsonify": "^1.0.1", 755 | "levn": "^0.4.1", 756 | "lodash.merge": "^4.6.2", 757 | "minimatch": "^3.0.4", 758 | "natural-compare": "^1.4.0", 759 | "optionator": "^0.9.1", 760 | "regexpp": "^3.2.0", 761 | "strip-ansi": "^6.0.1", 762 | "strip-json-comments": "^3.1.0", 763 | "text-table": "^0.2.0", 764 | "v8-compile-cache": "^2.0.3" 765 | }, 766 | "bin": { 767 | "eslint": "bin/eslint.js" 768 | }, 769 | "engines": { 770 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 771 | }, 772 | "funding": { 773 | "url": "https://opencollective.com/eslint" 774 | } 775 | }, 776 | "node_modules/eslint-scope": { 777 | "version": "7.1.0", 778 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", 779 | "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", 780 | "dev": true, 781 | "dependencies": { 782 | "esrecurse": "^4.3.0", 783 | "estraverse": "^5.2.0" 784 | }, 785 | "engines": { 786 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 787 | } 788 | }, 789 | "node_modules/eslint-utils": { 790 | "version": "3.0.0", 791 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 792 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 793 | "dev": true, 794 | "dependencies": { 795 | "eslint-visitor-keys": "^2.0.0" 796 | }, 797 | "engines": { 798 | "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" 799 | }, 800 | "funding": { 801 | "url": "https://github.com/sponsors/mysticatea" 802 | }, 803 | "peerDependencies": { 804 | "eslint": ">=5" 805 | } 806 | }, 807 | "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { 808 | "version": "2.1.0", 809 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 810 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 811 | "dev": true, 812 | "engines": { 813 | "node": ">=10" 814 | } 815 | }, 816 | "node_modules/eslint-visitor-keys": { 817 | "version": "3.2.0", 818 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", 819 | "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", 820 | "dev": true, 821 | "engines": { 822 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 823 | } 824 | }, 825 | "node_modules/eslint/node_modules/escape-string-regexp": { 826 | "version": "4.0.0", 827 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 828 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 829 | "dev": true, 830 | "engines": { 831 | "node": ">=10" 832 | }, 833 | "funding": { 834 | "url": "https://github.com/sponsors/sindresorhus" 835 | } 836 | }, 837 | "node_modules/espree": { 838 | "version": "9.3.0", 839 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", 840 | "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", 841 | "dev": true, 842 | "dependencies": { 843 | "acorn": "^8.7.0", 844 | "acorn-jsx": "^5.3.1", 845 | "eslint-visitor-keys": "^3.1.0" 846 | }, 847 | "engines": { 848 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 849 | } 850 | }, 851 | "node_modules/esquery": { 852 | "version": "1.4.0", 853 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 854 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 855 | "dev": true, 856 | "dependencies": { 857 | "estraverse": "^5.1.0" 858 | }, 859 | "engines": { 860 | "node": ">=0.10" 861 | } 862 | }, 863 | "node_modules/esrecurse": { 864 | "version": "4.3.0", 865 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 866 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 867 | "dev": true, 868 | "dependencies": { 869 | "estraverse": "^5.2.0" 870 | }, 871 | "engines": { 872 | "node": ">=4.0" 873 | } 874 | }, 875 | "node_modules/estraverse": { 876 | "version": "5.3.0", 877 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 878 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 879 | "dev": true, 880 | "engines": { 881 | "node": ">=4.0" 882 | } 883 | }, 884 | "node_modules/estree-walker": { 885 | "version": "2.0.2", 886 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 887 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 888 | "dev": true 889 | }, 890 | "node_modules/esutils": { 891 | "version": "2.0.3", 892 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 893 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 894 | "dev": true, 895 | "engines": { 896 | "node": ">=0.10.0" 897 | } 898 | }, 899 | "node_modules/fast-deep-equal": { 900 | "version": "3.1.3", 901 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 902 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 903 | "dev": true 904 | }, 905 | "node_modules/fast-json-stable-stringify": { 906 | "version": "2.1.0", 907 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 908 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 909 | "dev": true 910 | }, 911 | "node_modules/fast-levenshtein": { 912 | "version": "2.0.6", 913 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 914 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 915 | "dev": true 916 | }, 917 | "node_modules/file-entry-cache": { 918 | "version": "6.0.1", 919 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 920 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 921 | "dev": true, 922 | "dependencies": { 923 | "flat-cache": "^3.0.4" 924 | }, 925 | "engines": { 926 | "node": "^10.12.0 || >=12.0.0" 927 | } 928 | }, 929 | "node_modules/flat-cache": { 930 | "version": "3.0.4", 931 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 932 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 933 | "dev": true, 934 | "dependencies": { 935 | "flatted": "^3.1.0", 936 | "rimraf": "^3.0.2" 937 | }, 938 | "engines": { 939 | "node": "^10.12.0 || >=12.0.0" 940 | } 941 | }, 942 | "node_modules/flatted": { 943 | "version": "3.1.1", 944 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", 945 | "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", 946 | "dev": true 947 | }, 948 | "node_modules/follow-redirects": { 949 | "version": "1.15.2", 950 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", 951 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", 952 | "funding": [ 953 | { 954 | "type": "individual", 955 | "url": "https://github.com/sponsors/RubenVerborgh" 956 | } 957 | ], 958 | "engines": { 959 | "node": ">=4.0" 960 | }, 961 | "peerDependenciesMeta": { 962 | "debug": { 963 | "optional": true 964 | } 965 | } 966 | }, 967 | "node_modules/form-data": { 968 | "version": "4.0.0", 969 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 970 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 971 | "dependencies": { 972 | "asynckit": "^0.4.0", 973 | "combined-stream": "^1.0.8", 974 | "mime-types": "^2.1.12" 975 | }, 976 | "engines": { 977 | "node": ">= 6" 978 | } 979 | }, 980 | "node_modules/fs-extra": { 981 | "version": "7.0.1", 982 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 983 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 984 | "dev": true, 985 | "dependencies": { 986 | "graceful-fs": "^4.1.2", 987 | "jsonfile": "^4.0.0", 988 | "universalify": "^0.1.0" 989 | }, 990 | "engines": { 991 | "node": ">=6 <7 || >=8" 992 | } 993 | }, 994 | "node_modules/fs.realpath": { 995 | "version": "1.0.0", 996 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 997 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 998 | "dev": true 999 | }, 1000 | "node_modules/fsevents": { 1001 | "version": "2.3.2", 1002 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1003 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1004 | "dev": true, 1005 | "hasInstallScript": true, 1006 | "optional": true, 1007 | "os": [ 1008 | "darwin" 1009 | ], 1010 | "engines": { 1011 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1012 | } 1013 | }, 1014 | "node_modules/function-bind": { 1015 | "version": "1.1.1", 1016 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1017 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1018 | "dev": true 1019 | }, 1020 | "node_modules/functional-red-black-tree": { 1021 | "version": "1.0.1", 1022 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1023 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1024 | "dev": true 1025 | }, 1026 | "node_modules/glob": { 1027 | "version": "7.2.0", 1028 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1029 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1030 | "dev": true, 1031 | "dependencies": { 1032 | "fs.realpath": "^1.0.0", 1033 | "inflight": "^1.0.4", 1034 | "inherits": "2", 1035 | "minimatch": "^3.0.4", 1036 | "once": "^1.3.0", 1037 | "path-is-absolute": "^1.0.0" 1038 | }, 1039 | "engines": { 1040 | "node": "*" 1041 | }, 1042 | "funding": { 1043 | "url": "https://github.com/sponsors/isaacs" 1044 | } 1045 | }, 1046 | "node_modules/glob-parent": { 1047 | "version": "6.0.2", 1048 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1049 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1050 | "dev": true, 1051 | "dependencies": { 1052 | "is-glob": "^4.0.3" 1053 | }, 1054 | "engines": { 1055 | "node": ">=10.13.0" 1056 | } 1057 | }, 1058 | "node_modules/globals": { 1059 | "version": "13.12.0", 1060 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", 1061 | "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", 1062 | "dev": true, 1063 | "dependencies": { 1064 | "type-fest": "^0.20.2" 1065 | }, 1066 | "engines": { 1067 | "node": ">=8" 1068 | }, 1069 | "funding": { 1070 | "url": "https://github.com/sponsors/sindresorhus" 1071 | } 1072 | }, 1073 | "node_modules/graceful-fs": { 1074 | "version": "4.2.9", 1075 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", 1076 | "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", 1077 | "dev": true 1078 | }, 1079 | "node_modules/has": { 1080 | "version": "1.0.3", 1081 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1082 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1083 | "dev": true, 1084 | "dependencies": { 1085 | "function-bind": "^1.1.1" 1086 | }, 1087 | "engines": { 1088 | "node": ">= 0.4.0" 1089 | } 1090 | }, 1091 | "node_modules/has-flag": { 1092 | "version": "4.0.0", 1093 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1094 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1095 | "dev": true, 1096 | "engines": { 1097 | "node": ">=8" 1098 | } 1099 | }, 1100 | "node_modules/ignore": { 1101 | "version": "5.2.0", 1102 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 1103 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 1104 | "dev": true, 1105 | "engines": { 1106 | "node": ">= 4" 1107 | } 1108 | }, 1109 | "node_modules/import-fresh": { 1110 | "version": "3.3.0", 1111 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1112 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1113 | "dev": true, 1114 | "dependencies": { 1115 | "parent-module": "^1.0.0", 1116 | "resolve-from": "^4.0.0" 1117 | }, 1118 | "engines": { 1119 | "node": ">=6" 1120 | }, 1121 | "funding": { 1122 | "url": "https://github.com/sponsors/sindresorhus" 1123 | } 1124 | }, 1125 | "node_modules/import-lazy": { 1126 | "version": "4.0.0", 1127 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", 1128 | "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", 1129 | "dev": true, 1130 | "engines": { 1131 | "node": ">=8" 1132 | } 1133 | }, 1134 | "node_modules/imurmurhash": { 1135 | "version": "0.1.4", 1136 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1137 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1138 | "dev": true, 1139 | "engines": { 1140 | "node": ">=0.8.19" 1141 | } 1142 | }, 1143 | "node_modules/inflight": { 1144 | "version": "1.0.6", 1145 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1146 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1147 | "dev": true, 1148 | "dependencies": { 1149 | "once": "^1.3.0", 1150 | "wrappy": "1" 1151 | } 1152 | }, 1153 | "node_modules/inherits": { 1154 | "version": "2.0.4", 1155 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1156 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1157 | "dev": true 1158 | }, 1159 | "node_modules/is-core-module": { 1160 | "version": "2.4.0", 1161 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", 1162 | "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", 1163 | "dev": true, 1164 | "dependencies": { 1165 | "has": "^1.0.3" 1166 | }, 1167 | "funding": { 1168 | "url": "https://github.com/sponsors/ljharb" 1169 | } 1170 | }, 1171 | "node_modules/is-extglob": { 1172 | "version": "2.1.1", 1173 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1174 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1175 | "dev": true, 1176 | "engines": { 1177 | "node": ">=0.10.0" 1178 | } 1179 | }, 1180 | "node_modules/is-glob": { 1181 | "version": "4.0.3", 1182 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1183 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1184 | "dev": true, 1185 | "dependencies": { 1186 | "is-extglob": "^2.1.1" 1187 | }, 1188 | "engines": { 1189 | "node": ">=0.10.0" 1190 | } 1191 | }, 1192 | "node_modules/is-module": { 1193 | "version": "1.0.0", 1194 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 1195 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 1196 | "dev": true 1197 | }, 1198 | "node_modules/is-reference": { 1199 | "version": "1.2.1", 1200 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", 1201 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", 1202 | "dev": true, 1203 | "dependencies": { 1204 | "@types/estree": "*" 1205 | } 1206 | }, 1207 | "node_modules/isexe": { 1208 | "version": "2.0.0", 1209 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1210 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1211 | "dev": true 1212 | }, 1213 | "node_modules/jju": { 1214 | "version": "1.4.0", 1215 | "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", 1216 | "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", 1217 | "dev": true 1218 | }, 1219 | "node_modules/js-yaml": { 1220 | "version": "4.1.0", 1221 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1222 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1223 | "dev": true, 1224 | "dependencies": { 1225 | "argparse": "^2.0.1" 1226 | }, 1227 | "bin": { 1228 | "js-yaml": "bin/js-yaml.js" 1229 | } 1230 | }, 1231 | "node_modules/js-yaml/node_modules/argparse": { 1232 | "version": "2.0.1", 1233 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1234 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1235 | "dev": true 1236 | }, 1237 | "node_modules/json-schema-traverse": { 1238 | "version": "0.4.1", 1239 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1240 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1241 | "dev": true 1242 | }, 1243 | "node_modules/json-stable-stringify-without-jsonify": { 1244 | "version": "1.0.1", 1245 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1246 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1247 | "dev": true 1248 | }, 1249 | "node_modules/jsonc-parser": { 1250 | "version": "3.0.0", 1251 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", 1252 | "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", 1253 | "dev": true 1254 | }, 1255 | "node_modules/jsonfile": { 1256 | "version": "4.0.0", 1257 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1258 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 1259 | "dev": true, 1260 | "optionalDependencies": { 1261 | "graceful-fs": "^4.1.6" 1262 | } 1263 | }, 1264 | "node_modules/levn": { 1265 | "version": "0.4.1", 1266 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1267 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1268 | "dev": true, 1269 | "dependencies": { 1270 | "prelude-ls": "^1.2.1", 1271 | "type-check": "~0.4.0" 1272 | }, 1273 | "engines": { 1274 | "node": ">= 0.8.0" 1275 | } 1276 | }, 1277 | "node_modules/lodash": { 1278 | "version": "4.17.21", 1279 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1280 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1281 | "dev": true 1282 | }, 1283 | "node_modules/lodash.get": { 1284 | "version": "4.4.2", 1285 | "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", 1286 | "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", 1287 | "dev": true 1288 | }, 1289 | "node_modules/lodash.isequal": { 1290 | "version": "4.5.0", 1291 | "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", 1292 | "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", 1293 | "dev": true 1294 | }, 1295 | "node_modules/lodash.merge": { 1296 | "version": "4.6.2", 1297 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1298 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1299 | "dev": true 1300 | }, 1301 | "node_modules/lru-cache": { 1302 | "version": "6.0.0", 1303 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1304 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1305 | "dev": true, 1306 | "dependencies": { 1307 | "yallist": "^4.0.0" 1308 | }, 1309 | "engines": { 1310 | "node": ">=10" 1311 | } 1312 | }, 1313 | "node_modules/lunr": { 1314 | "version": "2.3.9", 1315 | "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", 1316 | "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", 1317 | "dev": true 1318 | }, 1319 | "node_modules/magic-string": { 1320 | "version": "0.25.7", 1321 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", 1322 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", 1323 | "dev": true, 1324 | "dependencies": { 1325 | "sourcemap-codec": "^1.4.4" 1326 | } 1327 | }, 1328 | "node_modules/make-error": { 1329 | "version": "1.3.6", 1330 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 1331 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 1332 | "dev": true 1333 | }, 1334 | "node_modules/marked": { 1335 | "version": "4.0.12", 1336 | "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", 1337 | "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", 1338 | "dev": true, 1339 | "bin": { 1340 | "marked": "bin/marked.js" 1341 | }, 1342 | "engines": { 1343 | "node": ">= 12" 1344 | } 1345 | }, 1346 | "node_modules/mime-db": { 1347 | "version": "1.52.0", 1348 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1349 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1350 | "engines": { 1351 | "node": ">= 0.6" 1352 | } 1353 | }, 1354 | "node_modules/mime-types": { 1355 | "version": "2.1.35", 1356 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1357 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1358 | "dependencies": { 1359 | "mime-db": "1.52.0" 1360 | }, 1361 | "engines": { 1362 | "node": ">= 0.6" 1363 | } 1364 | }, 1365 | "node_modules/minimatch": { 1366 | "version": "3.1.2", 1367 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1368 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1369 | "dev": true, 1370 | "dependencies": { 1371 | "brace-expansion": "^1.1.7" 1372 | }, 1373 | "engines": { 1374 | "node": "*" 1375 | } 1376 | }, 1377 | "node_modules/ms": { 1378 | "version": "2.1.2", 1379 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1380 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1381 | "dev": true 1382 | }, 1383 | "node_modules/natural-compare": { 1384 | "version": "1.4.0", 1385 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1386 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1387 | "dev": true 1388 | }, 1389 | "node_modules/once": { 1390 | "version": "1.4.0", 1391 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1392 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1393 | "dev": true, 1394 | "dependencies": { 1395 | "wrappy": "1" 1396 | } 1397 | }, 1398 | "node_modules/optionator": { 1399 | "version": "0.9.1", 1400 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1401 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1402 | "dev": true, 1403 | "dependencies": { 1404 | "deep-is": "^0.1.3", 1405 | "fast-levenshtein": "^2.0.6", 1406 | "levn": "^0.4.1", 1407 | "prelude-ls": "^1.2.1", 1408 | "type-check": "^0.4.0", 1409 | "word-wrap": "^1.2.3" 1410 | }, 1411 | "engines": { 1412 | "node": ">= 0.8.0" 1413 | } 1414 | }, 1415 | "node_modules/parent-module": { 1416 | "version": "1.0.1", 1417 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1418 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1419 | "dev": true, 1420 | "dependencies": { 1421 | "callsites": "^3.0.0" 1422 | }, 1423 | "engines": { 1424 | "node": ">=6" 1425 | } 1426 | }, 1427 | "node_modules/path-is-absolute": { 1428 | "version": "1.0.1", 1429 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1430 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1431 | "dev": true, 1432 | "engines": { 1433 | "node": ">=0.10.0" 1434 | } 1435 | }, 1436 | "node_modules/path-key": { 1437 | "version": "3.1.1", 1438 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1439 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1440 | "dev": true, 1441 | "engines": { 1442 | "node": ">=8" 1443 | } 1444 | }, 1445 | "node_modules/path-parse": { 1446 | "version": "1.0.7", 1447 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1448 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1449 | "dev": true 1450 | }, 1451 | "node_modules/picomatch": { 1452 | "version": "2.3.1", 1453 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1454 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1455 | "dev": true, 1456 | "engines": { 1457 | "node": ">=8.6" 1458 | }, 1459 | "funding": { 1460 | "url": "https://github.com/sponsors/jonschlinkert" 1461 | } 1462 | }, 1463 | "node_modules/prelude-ls": { 1464 | "version": "1.2.1", 1465 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1466 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1467 | "dev": true, 1468 | "engines": { 1469 | "node": ">= 0.8.0" 1470 | } 1471 | }, 1472 | "node_modules/prettier": { 1473 | "version": "2.5.1", 1474 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", 1475 | "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", 1476 | "dev": true, 1477 | "bin": { 1478 | "prettier": "bin-prettier.js" 1479 | }, 1480 | "engines": { 1481 | "node": ">=10.13.0" 1482 | } 1483 | }, 1484 | "node_modules/proxy-from-env": { 1485 | "version": "1.1.0", 1486 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 1487 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 1488 | }, 1489 | "node_modules/punycode": { 1490 | "version": "2.1.1", 1491 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1492 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1493 | "dev": true, 1494 | "engines": { 1495 | "node": ">=6" 1496 | } 1497 | }, 1498 | "node_modules/regexpp": { 1499 | "version": "3.2.0", 1500 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 1501 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 1502 | "dev": true, 1503 | "engines": { 1504 | "node": ">=8" 1505 | }, 1506 | "funding": { 1507 | "url": "https://github.com/sponsors/mysticatea" 1508 | } 1509 | }, 1510 | "node_modules/resolve": { 1511 | "version": "1.20.0", 1512 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", 1513 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", 1514 | "dev": true, 1515 | "dependencies": { 1516 | "is-core-module": "^2.2.0", 1517 | "path-parse": "^1.0.6" 1518 | }, 1519 | "funding": { 1520 | "url": "https://github.com/sponsors/ljharb" 1521 | } 1522 | }, 1523 | "node_modules/resolve-from": { 1524 | "version": "4.0.0", 1525 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1526 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1527 | "dev": true, 1528 | "engines": { 1529 | "node": ">=4" 1530 | } 1531 | }, 1532 | "node_modules/rimraf": { 1533 | "version": "3.0.2", 1534 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1535 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1536 | "dev": true, 1537 | "dependencies": { 1538 | "glob": "^7.1.3" 1539 | }, 1540 | "bin": { 1541 | "rimraf": "bin.js" 1542 | }, 1543 | "funding": { 1544 | "url": "https://github.com/sponsors/isaacs" 1545 | } 1546 | }, 1547 | "node_modules/rollup": { 1548 | "version": "2.66.1", 1549 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.66.1.tgz", 1550 | "integrity": "sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w==", 1551 | "dev": true, 1552 | "bin": { 1553 | "rollup": "dist/bin/rollup" 1554 | }, 1555 | "engines": { 1556 | "node": ">=10.0.0" 1557 | }, 1558 | "optionalDependencies": { 1559 | "fsevents": "~2.3.2" 1560 | } 1561 | }, 1562 | "node_modules/semver": { 1563 | "version": "7.3.5", 1564 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", 1565 | "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", 1566 | "dev": true, 1567 | "dependencies": { 1568 | "lru-cache": "^6.0.0" 1569 | }, 1570 | "bin": { 1571 | "semver": "bin/semver.js" 1572 | }, 1573 | "engines": { 1574 | "node": ">=10" 1575 | } 1576 | }, 1577 | "node_modules/shebang-command": { 1578 | "version": "2.0.0", 1579 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1580 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1581 | "dev": true, 1582 | "dependencies": { 1583 | "shebang-regex": "^3.0.0" 1584 | }, 1585 | "engines": { 1586 | "node": ">=8" 1587 | } 1588 | }, 1589 | "node_modules/shebang-regex": { 1590 | "version": "3.0.0", 1591 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1592 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1593 | "dev": true, 1594 | "engines": { 1595 | "node": ">=8" 1596 | } 1597 | }, 1598 | "node_modules/shiki": { 1599 | "version": "0.10.0", 1600 | "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.0.tgz", 1601 | "integrity": "sha512-iczxaIYeBFHTFrQPb9DVy2SKgYxC4Wo7Iucm7C17cCh2Ge/refnvHscUOxM85u57MfLoNOtjoEFUWt9gBexblA==", 1602 | "dev": true, 1603 | "dependencies": { 1604 | "jsonc-parser": "^3.0.0", 1605 | "vscode-oniguruma": "^1.6.1", 1606 | "vscode-textmate": "5.2.0" 1607 | } 1608 | }, 1609 | "node_modules/source-map": { 1610 | "version": "0.6.1", 1611 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1612 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1613 | "dev": true, 1614 | "engines": { 1615 | "node": ">=0.10.0" 1616 | } 1617 | }, 1618 | "node_modules/sourcemap-codec": { 1619 | "version": "1.4.8", 1620 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1621 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 1622 | "dev": true 1623 | }, 1624 | "node_modules/sprintf-js": { 1625 | "version": "1.0.3", 1626 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1627 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1628 | "dev": true 1629 | }, 1630 | "node_modules/string-argv": { 1631 | "version": "0.3.1", 1632 | "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", 1633 | "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", 1634 | "dev": true, 1635 | "engines": { 1636 | "node": ">=0.6.19" 1637 | } 1638 | }, 1639 | "node_modules/strip-ansi": { 1640 | "version": "6.0.1", 1641 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1642 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1643 | "dev": true, 1644 | "dependencies": { 1645 | "ansi-regex": "^5.0.1" 1646 | }, 1647 | "engines": { 1648 | "node": ">=8" 1649 | } 1650 | }, 1651 | "node_modules/strip-json-comments": { 1652 | "version": "3.1.1", 1653 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1654 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1655 | "dev": true, 1656 | "engines": { 1657 | "node": ">=8" 1658 | }, 1659 | "funding": { 1660 | "url": "https://github.com/sponsors/sindresorhus" 1661 | } 1662 | }, 1663 | "node_modules/supports-color": { 1664 | "version": "7.2.0", 1665 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1666 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1667 | "dev": true, 1668 | "dependencies": { 1669 | "has-flag": "^4.0.0" 1670 | }, 1671 | "engines": { 1672 | "node": ">=8" 1673 | } 1674 | }, 1675 | "node_modules/text-table": { 1676 | "version": "0.2.0", 1677 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1678 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1679 | "dev": true 1680 | }, 1681 | "node_modules/timsort": { 1682 | "version": "0.3.0", 1683 | "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", 1684 | "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", 1685 | "dev": true 1686 | }, 1687 | "node_modules/ts-node": { 1688 | "version": "10.4.0", 1689 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", 1690 | "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", 1691 | "dev": true, 1692 | "dependencies": { 1693 | "@cspotcode/source-map-support": "0.7.0", 1694 | "@tsconfig/node10": "^1.0.7", 1695 | "@tsconfig/node12": "^1.0.7", 1696 | "@tsconfig/node14": "^1.0.0", 1697 | "@tsconfig/node16": "^1.0.2", 1698 | "acorn": "^8.4.1", 1699 | "acorn-walk": "^8.1.1", 1700 | "arg": "^4.1.0", 1701 | "create-require": "^1.1.0", 1702 | "diff": "^4.0.1", 1703 | "make-error": "^1.1.1", 1704 | "yn": "3.1.1" 1705 | }, 1706 | "bin": { 1707 | "ts-node": "dist/bin.js", 1708 | "ts-node-cwd": "dist/bin-cwd.js", 1709 | "ts-node-script": "dist/bin-script.js", 1710 | "ts-node-transpile-only": "dist/bin-transpile.js", 1711 | "ts-script": "dist/bin-script-deprecated.js" 1712 | }, 1713 | "peerDependencies": { 1714 | "@swc/core": ">=1.2.50", 1715 | "@swc/wasm": ">=1.2.50", 1716 | "@types/node": "*", 1717 | "typescript": ">=2.7" 1718 | }, 1719 | "peerDependenciesMeta": { 1720 | "@swc/core": { 1721 | "optional": true 1722 | }, 1723 | "@swc/wasm": { 1724 | "optional": true 1725 | } 1726 | } 1727 | }, 1728 | "node_modules/tslib": { 1729 | "version": "2.3.1", 1730 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 1731 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", 1732 | "dev": true 1733 | }, 1734 | "node_modules/type-check": { 1735 | "version": "0.4.0", 1736 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 1737 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 1738 | "dev": true, 1739 | "dependencies": { 1740 | "prelude-ls": "^1.2.1" 1741 | }, 1742 | "engines": { 1743 | "node": ">= 0.8.0" 1744 | } 1745 | }, 1746 | "node_modules/type-fest": { 1747 | "version": "0.20.2", 1748 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 1749 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 1750 | "dev": true, 1751 | "engines": { 1752 | "node": ">=10" 1753 | }, 1754 | "funding": { 1755 | "url": "https://github.com/sponsors/sindresorhus" 1756 | } 1757 | }, 1758 | "node_modules/typedoc": { 1759 | "version": "0.22.11", 1760 | "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz", 1761 | "integrity": "sha512-pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==", 1762 | "dev": true, 1763 | "dependencies": { 1764 | "glob": "^7.2.0", 1765 | "lunr": "^2.3.9", 1766 | "marked": "^4.0.10", 1767 | "minimatch": "^3.0.4", 1768 | "shiki": "^0.10.0" 1769 | }, 1770 | "bin": { 1771 | "typedoc": "bin/typedoc" 1772 | }, 1773 | "engines": { 1774 | "node": ">= 12.10.0" 1775 | }, 1776 | "peerDependencies": { 1777 | "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x" 1778 | } 1779 | }, 1780 | "node_modules/typescript": { 1781 | "version": "4.5.5", 1782 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", 1783 | "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", 1784 | "dev": true, 1785 | "bin": { 1786 | "tsc": "bin/tsc", 1787 | "tsserver": "bin/tsserver" 1788 | }, 1789 | "engines": { 1790 | "node": ">=4.2.0" 1791 | } 1792 | }, 1793 | "node_modules/universalify": { 1794 | "version": "0.1.2", 1795 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 1796 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 1797 | "dev": true, 1798 | "engines": { 1799 | "node": ">= 4.0.0" 1800 | } 1801 | }, 1802 | "node_modules/uri-js": { 1803 | "version": "4.4.1", 1804 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1805 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1806 | "dev": true, 1807 | "dependencies": { 1808 | "punycode": "^2.1.0" 1809 | } 1810 | }, 1811 | "node_modules/v8-compile-cache": { 1812 | "version": "2.3.0", 1813 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 1814 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 1815 | "dev": true 1816 | }, 1817 | "node_modules/validator": { 1818 | "version": "13.7.0", 1819 | "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", 1820 | "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", 1821 | "dev": true, 1822 | "engines": { 1823 | "node": ">= 0.10" 1824 | } 1825 | }, 1826 | "node_modules/vscode-oniguruma": { 1827 | "version": "1.6.1", 1828 | "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz", 1829 | "integrity": "sha512-vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ==", 1830 | "dev": true 1831 | }, 1832 | "node_modules/vscode-textmate": { 1833 | "version": "5.2.0", 1834 | "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", 1835 | "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", 1836 | "dev": true 1837 | }, 1838 | "node_modules/which": { 1839 | "version": "2.0.2", 1840 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1841 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1842 | "dev": true, 1843 | "dependencies": { 1844 | "isexe": "^2.0.0" 1845 | }, 1846 | "bin": { 1847 | "node-which": "bin/node-which" 1848 | }, 1849 | "engines": { 1850 | "node": ">= 8" 1851 | } 1852 | }, 1853 | "node_modules/word-wrap": { 1854 | "version": "1.2.3", 1855 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1856 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1857 | "dev": true, 1858 | "engines": { 1859 | "node": ">=0.10.0" 1860 | } 1861 | }, 1862 | "node_modules/wrappy": { 1863 | "version": "1.0.2", 1864 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1865 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1866 | "dev": true 1867 | }, 1868 | "node_modules/yallist": { 1869 | "version": "4.0.0", 1870 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1871 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1872 | "dev": true 1873 | }, 1874 | "node_modules/yn": { 1875 | "version": "3.1.1", 1876 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 1877 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 1878 | "dev": true, 1879 | "engines": { 1880 | "node": ">=6" 1881 | } 1882 | }, 1883 | "node_modules/z-schema": { 1884 | "version": "5.0.2", 1885 | "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.2.tgz", 1886 | "integrity": "sha512-40TH47ukMHq5HrzkeVE40Ad7eIDKaRV2b+Qpi2prLc9X9eFJFzV7tMe5aH12e6avaSS/u5l653EQOv+J9PirPw==", 1887 | "dev": true, 1888 | "dependencies": { 1889 | "lodash.get": "^4.4.2", 1890 | "lodash.isequal": "^4.5.0", 1891 | "validator": "^13.7.0" 1892 | }, 1893 | "bin": { 1894 | "z-schema": "bin/z-schema" 1895 | }, 1896 | "engines": { 1897 | "node": ">=8.0.0" 1898 | }, 1899 | "optionalDependencies": { 1900 | "commander": "^2.7.1" 1901 | } 1902 | } 1903 | }, 1904 | "dependencies": { 1905 | "@cspotcode/source-map-consumer": { 1906 | "version": "0.8.0", 1907 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", 1908 | "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", 1909 | "dev": true 1910 | }, 1911 | "@cspotcode/source-map-support": { 1912 | "version": "0.7.0", 1913 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", 1914 | "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", 1915 | "dev": true, 1916 | "requires": { 1917 | "@cspotcode/source-map-consumer": "0.8.0" 1918 | } 1919 | }, 1920 | "@eslint/eslintrc": { 1921 | "version": "1.0.5", 1922 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", 1923 | "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", 1924 | "dev": true, 1925 | "requires": { 1926 | "ajv": "^6.12.4", 1927 | "debug": "^4.3.2", 1928 | "espree": "^9.2.0", 1929 | "globals": "^13.9.0", 1930 | "ignore": "^4.0.6", 1931 | "import-fresh": "^3.2.1", 1932 | "js-yaml": "^4.1.0", 1933 | "minimatch": "^3.0.4", 1934 | "strip-json-comments": "^3.1.1" 1935 | }, 1936 | "dependencies": { 1937 | "ignore": { 1938 | "version": "4.0.6", 1939 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 1940 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 1941 | "dev": true 1942 | } 1943 | } 1944 | }, 1945 | "@humanwhocodes/config-array": { 1946 | "version": "0.9.3", 1947 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz", 1948 | "integrity": "sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==", 1949 | "dev": true, 1950 | "requires": { 1951 | "@humanwhocodes/object-schema": "^1.2.1", 1952 | "debug": "^4.1.1", 1953 | "minimatch": "^3.0.4" 1954 | } 1955 | }, 1956 | "@humanwhocodes/object-schema": { 1957 | "version": "1.2.1", 1958 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 1959 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 1960 | "dev": true 1961 | }, 1962 | "@microsoft/api-extractor": { 1963 | "version": "7.19.4", 1964 | "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.19.4.tgz", 1965 | "integrity": "sha512-iehC6YA3DGJvxTUaK7HUtQmP6hAQU07+Q/OR8TG4dVR6KpqCi9UPEVk8AgCvQkiK+6FbVEFQTx0qLuYk4EeuHg==", 1966 | "dev": true, 1967 | "requires": { 1968 | "@microsoft/api-extractor-model": "7.15.3", 1969 | "@microsoft/tsdoc": "0.13.2", 1970 | "@microsoft/tsdoc-config": "~0.15.2", 1971 | "@rushstack/node-core-library": "3.45.0", 1972 | "@rushstack/rig-package": "0.3.7", 1973 | "@rushstack/ts-command-line": "4.10.6", 1974 | "colors": "~1.2.1", 1975 | "lodash": "~4.17.15", 1976 | "resolve": "~1.17.0", 1977 | "semver": "~7.3.0", 1978 | "source-map": "~0.6.1", 1979 | "typescript": "~4.5.2" 1980 | }, 1981 | "dependencies": { 1982 | "resolve": { 1983 | "version": "1.17.0", 1984 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 1985 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 1986 | "dev": true, 1987 | "requires": { 1988 | "path-parse": "^1.0.6" 1989 | } 1990 | } 1991 | } 1992 | }, 1993 | "@microsoft/api-extractor-model": { 1994 | "version": "7.15.3", 1995 | "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.15.3.tgz", 1996 | "integrity": "sha512-NkSjolmSI7NGvbdz0Y7kjQfdpD+j9E5CwXTxEyjDqxd10MI7GXV8DnAsQ57GFJcgHKgTjf2aUnYfMJ9w3aMicw==", 1997 | "dev": true, 1998 | "requires": { 1999 | "@microsoft/tsdoc": "0.13.2", 2000 | "@microsoft/tsdoc-config": "~0.15.2", 2001 | "@rushstack/node-core-library": "3.45.0" 2002 | } 2003 | }, 2004 | "@microsoft/fetch-event-source": { 2005 | "version": "2.0.1", 2006 | "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz", 2007 | "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==" 2008 | }, 2009 | "@microsoft/tsdoc": { 2010 | "version": "0.13.2", 2011 | "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz", 2012 | "integrity": "sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg==", 2013 | "dev": true 2014 | }, 2015 | "@microsoft/tsdoc-config": { 2016 | "version": "0.15.2", 2017 | "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz", 2018 | "integrity": "sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA==", 2019 | "dev": true, 2020 | "requires": { 2021 | "@microsoft/tsdoc": "0.13.2", 2022 | "ajv": "~6.12.6", 2023 | "jju": "~1.4.0", 2024 | "resolve": "~1.19.0" 2025 | }, 2026 | "dependencies": { 2027 | "resolve": { 2028 | "version": "1.19.0", 2029 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", 2030 | "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", 2031 | "dev": true, 2032 | "requires": { 2033 | "is-core-module": "^2.1.0", 2034 | "path-parse": "^1.0.6" 2035 | } 2036 | } 2037 | } 2038 | }, 2039 | "@rollup/plugin-commonjs": { 2040 | "version": "21.0.1", 2041 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz", 2042 | "integrity": "sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==", 2043 | "dev": true, 2044 | "requires": { 2045 | "@rollup/pluginutils": "^3.1.0", 2046 | "commondir": "^1.0.1", 2047 | "estree-walker": "^2.0.1", 2048 | "glob": "^7.1.6", 2049 | "is-reference": "^1.2.1", 2050 | "magic-string": "^0.25.7", 2051 | "resolve": "^1.17.0" 2052 | } 2053 | }, 2054 | "@rollup/plugin-json": { 2055 | "version": "6.0.0", 2056 | "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz", 2057 | "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==", 2058 | "dev": true, 2059 | "requires": { 2060 | "@rollup/pluginutils": "^5.0.1" 2061 | }, 2062 | "dependencies": { 2063 | "@rollup/pluginutils": { 2064 | "version": "5.0.2", 2065 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", 2066 | "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", 2067 | "dev": true, 2068 | "requires": { 2069 | "@types/estree": "^1.0.0", 2070 | "estree-walker": "^2.0.2", 2071 | "picomatch": "^2.3.1" 2072 | } 2073 | }, 2074 | "@types/estree": { 2075 | "version": "1.0.0", 2076 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", 2077 | "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", 2078 | "dev": true 2079 | } 2080 | } 2081 | }, 2082 | "@rollup/plugin-node-resolve": { 2083 | "version": "13.1.3", 2084 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", 2085 | "integrity": "sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==", 2086 | "dev": true, 2087 | "requires": { 2088 | "@rollup/pluginutils": "^3.1.0", 2089 | "@types/resolve": "1.17.1", 2090 | "builtin-modules": "^3.1.0", 2091 | "deepmerge": "^4.2.2", 2092 | "is-module": "^1.0.0", 2093 | "resolve": "^1.19.0" 2094 | } 2095 | }, 2096 | "@rollup/plugin-typescript": { 2097 | "version": "8.3.0", 2098 | "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.0.tgz", 2099 | "integrity": "sha512-I5FpSvLbtAdwJ+naznv+B4sjXZUcIvLLceYpITAn7wAP8W0wqc5noLdGIp9HGVntNhRWXctwPYrSSFQxtl0FPA==", 2100 | "dev": true, 2101 | "requires": { 2102 | "@rollup/pluginutils": "^3.1.0", 2103 | "resolve": "^1.17.0" 2104 | } 2105 | }, 2106 | "@rollup/pluginutils": { 2107 | "version": "3.1.0", 2108 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", 2109 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", 2110 | "dev": true, 2111 | "requires": { 2112 | "@types/estree": "0.0.39", 2113 | "estree-walker": "^1.0.1", 2114 | "picomatch": "^2.2.2" 2115 | }, 2116 | "dependencies": { 2117 | "estree-walker": { 2118 | "version": "1.0.1", 2119 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", 2120 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", 2121 | "dev": true 2122 | } 2123 | } 2124 | }, 2125 | "@rushstack/node-core-library": { 2126 | "version": "3.45.0", 2127 | "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.45.0.tgz", 2128 | "integrity": "sha512-YMuIJl19vQT1+g/OU9mLY6T5ZBT9uDlmeXExDQACpGuxTJW+LHNbk/lRX+eCApQI2eLBlaL4U68r3kZlqwbdmw==", 2129 | "dev": true, 2130 | "requires": { 2131 | "@types/node": "12.20.24", 2132 | "colors": "~1.2.1", 2133 | "fs-extra": "~7.0.1", 2134 | "import-lazy": "~4.0.0", 2135 | "jju": "~1.4.0", 2136 | "resolve": "~1.17.0", 2137 | "semver": "~7.3.0", 2138 | "timsort": "~0.3.0", 2139 | "z-schema": "~5.0.2" 2140 | }, 2141 | "dependencies": { 2142 | "@types/node": { 2143 | "version": "12.20.24", 2144 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz", 2145 | "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==", 2146 | "dev": true 2147 | }, 2148 | "resolve": { 2149 | "version": "1.17.0", 2150 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 2151 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 2152 | "dev": true, 2153 | "requires": { 2154 | "path-parse": "^1.0.6" 2155 | } 2156 | } 2157 | } 2158 | }, 2159 | "@rushstack/rig-package": { 2160 | "version": "0.3.7", 2161 | "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.3.7.tgz", 2162 | "integrity": "sha512-pzMsTSeTC8IiZ6EJLr53gGMvhT4oLWH+hxD7907cHyWuIUlEXFtu/2pK25vUQT13nKp5DJCWxXyYoGRk/h6rtA==", 2163 | "dev": true, 2164 | "requires": { 2165 | "resolve": "~1.17.0", 2166 | "strip-json-comments": "~3.1.1" 2167 | }, 2168 | "dependencies": { 2169 | "resolve": { 2170 | "version": "1.17.0", 2171 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 2172 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 2173 | "dev": true, 2174 | "requires": { 2175 | "path-parse": "^1.0.6" 2176 | } 2177 | } 2178 | } 2179 | }, 2180 | "@rushstack/ts-command-line": { 2181 | "version": "4.10.6", 2182 | "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.10.6.tgz", 2183 | "integrity": "sha512-Y3GkUag39sTIlukDg9mUp8MCHrrlJ27POrBNRQGc/uF+VVgX8M7zMzHch5zP6O1QVquWgD7Engdpn2piPYaS/g==", 2184 | "dev": true, 2185 | "requires": { 2186 | "@types/argparse": "1.0.38", 2187 | "argparse": "~1.0.9", 2188 | "colors": "~1.2.1", 2189 | "string-argv": "~0.3.1" 2190 | } 2191 | }, 2192 | "@tsconfig/node10": { 2193 | "version": "1.0.8", 2194 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", 2195 | "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", 2196 | "dev": true 2197 | }, 2198 | "@tsconfig/node12": { 2199 | "version": "1.0.9", 2200 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", 2201 | "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", 2202 | "dev": true 2203 | }, 2204 | "@tsconfig/node14": { 2205 | "version": "1.0.1", 2206 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", 2207 | "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", 2208 | "dev": true 2209 | }, 2210 | "@tsconfig/node16": { 2211 | "version": "1.0.2", 2212 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", 2213 | "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", 2214 | "dev": true 2215 | }, 2216 | "@types/argparse": { 2217 | "version": "1.0.38", 2218 | "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", 2219 | "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", 2220 | "dev": true 2221 | }, 2222 | "@types/estree": { 2223 | "version": "0.0.39", 2224 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 2225 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 2226 | "dev": true 2227 | }, 2228 | "@types/node": { 2229 | "version": "15.0.3", 2230 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.3.tgz", 2231 | "integrity": "sha512-/WbxFeBU+0F79z9RdEOXH4CsDga+ibi5M8uEYr91u3CkT/pdWcV8MCook+4wDPnZBexRdwWS+PiVZ2xJviAzcQ==", 2232 | "dev": true 2233 | }, 2234 | "@types/resolve": { 2235 | "version": "1.17.1", 2236 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", 2237 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", 2238 | "dev": true, 2239 | "requires": { 2240 | "@types/node": "*" 2241 | } 2242 | }, 2243 | "acorn": { 2244 | "version": "8.7.0", 2245 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", 2246 | "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", 2247 | "dev": true 2248 | }, 2249 | "acorn-jsx": { 2250 | "version": "5.3.2", 2251 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 2252 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 2253 | "dev": true, 2254 | "requires": {} 2255 | }, 2256 | "acorn-walk": { 2257 | "version": "8.1.1", 2258 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", 2259 | "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", 2260 | "dev": true 2261 | }, 2262 | "ajv": { 2263 | "version": "6.12.6", 2264 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 2265 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 2266 | "dev": true, 2267 | "requires": { 2268 | "fast-deep-equal": "^3.1.1", 2269 | "fast-json-stable-stringify": "^2.0.0", 2270 | "json-schema-traverse": "^0.4.1", 2271 | "uri-js": "^4.2.2" 2272 | } 2273 | }, 2274 | "ansi-regex": { 2275 | "version": "5.0.1", 2276 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2277 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2278 | "dev": true 2279 | }, 2280 | "ansi-styles": { 2281 | "version": "4.3.0", 2282 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2283 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2284 | "dev": true, 2285 | "requires": { 2286 | "color-convert": "^2.0.1" 2287 | } 2288 | }, 2289 | "arg": { 2290 | "version": "4.1.3", 2291 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 2292 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 2293 | "dev": true 2294 | }, 2295 | "argparse": { 2296 | "version": "1.0.10", 2297 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 2298 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 2299 | "dev": true, 2300 | "requires": { 2301 | "sprintf-js": "~1.0.2" 2302 | } 2303 | }, 2304 | "asynckit": { 2305 | "version": "0.4.0", 2306 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 2307 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 2308 | }, 2309 | "axios": { 2310 | "version": "1.2.1", 2311 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", 2312 | "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", 2313 | "requires": { 2314 | "follow-redirects": "^1.15.0", 2315 | "form-data": "^4.0.0", 2316 | "proxy-from-env": "^1.1.0" 2317 | } 2318 | }, 2319 | "balanced-match": { 2320 | "version": "1.0.2", 2321 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2322 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2323 | "dev": true 2324 | }, 2325 | "brace-expansion": { 2326 | "version": "1.1.11", 2327 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2328 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2329 | "dev": true, 2330 | "requires": { 2331 | "balanced-match": "^1.0.0", 2332 | "concat-map": "0.0.1" 2333 | } 2334 | }, 2335 | "builtin-modules": { 2336 | "version": "3.2.0", 2337 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", 2338 | "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", 2339 | "dev": true 2340 | }, 2341 | "callsites": { 2342 | "version": "3.1.0", 2343 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2344 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 2345 | "dev": true 2346 | }, 2347 | "chalk": { 2348 | "version": "4.1.1", 2349 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", 2350 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", 2351 | "dev": true, 2352 | "requires": { 2353 | "ansi-styles": "^4.1.0", 2354 | "supports-color": "^7.1.0" 2355 | } 2356 | }, 2357 | "color-convert": { 2358 | "version": "2.0.1", 2359 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2360 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2361 | "dev": true, 2362 | "requires": { 2363 | "color-name": "~1.1.4" 2364 | } 2365 | }, 2366 | "color-name": { 2367 | "version": "1.1.4", 2368 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2369 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2370 | "dev": true 2371 | }, 2372 | "colors": { 2373 | "version": "1.2.5", 2374 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", 2375 | "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", 2376 | "dev": true 2377 | }, 2378 | "combined-stream": { 2379 | "version": "1.0.8", 2380 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 2381 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 2382 | "requires": { 2383 | "delayed-stream": "~1.0.0" 2384 | } 2385 | }, 2386 | "commander": { 2387 | "version": "2.20.3", 2388 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 2389 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 2390 | "dev": true, 2391 | "optional": true 2392 | }, 2393 | "commondir": { 2394 | "version": "1.0.1", 2395 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 2396 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", 2397 | "dev": true 2398 | }, 2399 | "concat-map": { 2400 | "version": "0.0.1", 2401 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2402 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 2403 | "dev": true 2404 | }, 2405 | "create-require": { 2406 | "version": "1.1.1", 2407 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 2408 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 2409 | "dev": true 2410 | }, 2411 | "cross-spawn": { 2412 | "version": "7.0.3", 2413 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 2414 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 2415 | "dev": true, 2416 | "requires": { 2417 | "path-key": "^3.1.0", 2418 | "shebang-command": "^2.0.0", 2419 | "which": "^2.0.1" 2420 | } 2421 | }, 2422 | "debug": { 2423 | "version": "4.3.3", 2424 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", 2425 | "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", 2426 | "dev": true, 2427 | "requires": { 2428 | "ms": "2.1.2" 2429 | } 2430 | }, 2431 | "deep-is": { 2432 | "version": "0.1.3", 2433 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 2434 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 2435 | "dev": true 2436 | }, 2437 | "deepmerge": { 2438 | "version": "4.2.2", 2439 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 2440 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", 2441 | "dev": true 2442 | }, 2443 | "delayed-stream": { 2444 | "version": "1.0.0", 2445 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 2446 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" 2447 | }, 2448 | "diff": { 2449 | "version": "4.0.2", 2450 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 2451 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 2452 | "dev": true 2453 | }, 2454 | "doctrine": { 2455 | "version": "3.0.0", 2456 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 2457 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 2458 | "dev": true, 2459 | "requires": { 2460 | "esutils": "^2.0.2" 2461 | } 2462 | }, 2463 | "eslint": { 2464 | "version": "8.8.0", 2465 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz", 2466 | "integrity": "sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==", 2467 | "dev": true, 2468 | "requires": { 2469 | "@eslint/eslintrc": "^1.0.5", 2470 | "@humanwhocodes/config-array": "^0.9.2", 2471 | "ajv": "^6.10.0", 2472 | "chalk": "^4.0.0", 2473 | "cross-spawn": "^7.0.2", 2474 | "debug": "^4.3.2", 2475 | "doctrine": "^3.0.0", 2476 | "escape-string-regexp": "^4.0.0", 2477 | "eslint-scope": "^7.1.0", 2478 | "eslint-utils": "^3.0.0", 2479 | "eslint-visitor-keys": "^3.2.0", 2480 | "espree": "^9.3.0", 2481 | "esquery": "^1.4.0", 2482 | "esutils": "^2.0.2", 2483 | "fast-deep-equal": "^3.1.3", 2484 | "file-entry-cache": "^6.0.1", 2485 | "functional-red-black-tree": "^1.0.1", 2486 | "glob-parent": "^6.0.1", 2487 | "globals": "^13.6.0", 2488 | "ignore": "^5.2.0", 2489 | "import-fresh": "^3.0.0", 2490 | "imurmurhash": "^0.1.4", 2491 | "is-glob": "^4.0.0", 2492 | "js-yaml": "^4.1.0", 2493 | "json-stable-stringify-without-jsonify": "^1.0.1", 2494 | "levn": "^0.4.1", 2495 | "lodash.merge": "^4.6.2", 2496 | "minimatch": "^3.0.4", 2497 | "natural-compare": "^1.4.0", 2498 | "optionator": "^0.9.1", 2499 | "regexpp": "^3.2.0", 2500 | "strip-ansi": "^6.0.1", 2501 | "strip-json-comments": "^3.1.0", 2502 | "text-table": "^0.2.0", 2503 | "v8-compile-cache": "^2.0.3" 2504 | }, 2505 | "dependencies": { 2506 | "escape-string-regexp": { 2507 | "version": "4.0.0", 2508 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2509 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2510 | "dev": true 2511 | } 2512 | } 2513 | }, 2514 | "eslint-scope": { 2515 | "version": "7.1.0", 2516 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", 2517 | "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", 2518 | "dev": true, 2519 | "requires": { 2520 | "esrecurse": "^4.3.0", 2521 | "estraverse": "^5.2.0" 2522 | } 2523 | }, 2524 | "eslint-utils": { 2525 | "version": "3.0.0", 2526 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 2527 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 2528 | "dev": true, 2529 | "requires": { 2530 | "eslint-visitor-keys": "^2.0.0" 2531 | }, 2532 | "dependencies": { 2533 | "eslint-visitor-keys": { 2534 | "version": "2.1.0", 2535 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 2536 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 2537 | "dev": true 2538 | } 2539 | } 2540 | }, 2541 | "eslint-visitor-keys": { 2542 | "version": "3.2.0", 2543 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", 2544 | "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", 2545 | "dev": true 2546 | }, 2547 | "espree": { 2548 | "version": "9.3.0", 2549 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", 2550 | "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", 2551 | "dev": true, 2552 | "requires": { 2553 | "acorn": "^8.7.0", 2554 | "acorn-jsx": "^5.3.1", 2555 | "eslint-visitor-keys": "^3.1.0" 2556 | } 2557 | }, 2558 | "esquery": { 2559 | "version": "1.4.0", 2560 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 2561 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 2562 | "dev": true, 2563 | "requires": { 2564 | "estraverse": "^5.1.0" 2565 | } 2566 | }, 2567 | "esrecurse": { 2568 | "version": "4.3.0", 2569 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2570 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2571 | "dev": true, 2572 | "requires": { 2573 | "estraverse": "^5.2.0" 2574 | } 2575 | }, 2576 | "estraverse": { 2577 | "version": "5.3.0", 2578 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2579 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2580 | "dev": true 2581 | }, 2582 | "estree-walker": { 2583 | "version": "2.0.2", 2584 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 2585 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 2586 | "dev": true 2587 | }, 2588 | "esutils": { 2589 | "version": "2.0.3", 2590 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2591 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2592 | "dev": true 2593 | }, 2594 | "fast-deep-equal": { 2595 | "version": "3.1.3", 2596 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2597 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2598 | "dev": true 2599 | }, 2600 | "fast-json-stable-stringify": { 2601 | "version": "2.1.0", 2602 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2603 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2604 | "dev": true 2605 | }, 2606 | "fast-levenshtein": { 2607 | "version": "2.0.6", 2608 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2609 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 2610 | "dev": true 2611 | }, 2612 | "file-entry-cache": { 2613 | "version": "6.0.1", 2614 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 2615 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 2616 | "dev": true, 2617 | "requires": { 2618 | "flat-cache": "^3.0.4" 2619 | } 2620 | }, 2621 | "flat-cache": { 2622 | "version": "3.0.4", 2623 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 2624 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 2625 | "dev": true, 2626 | "requires": { 2627 | "flatted": "^3.1.0", 2628 | "rimraf": "^3.0.2" 2629 | } 2630 | }, 2631 | "flatted": { 2632 | "version": "3.1.1", 2633 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", 2634 | "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", 2635 | "dev": true 2636 | }, 2637 | "follow-redirects": { 2638 | "version": "1.15.2", 2639 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", 2640 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" 2641 | }, 2642 | "form-data": { 2643 | "version": "4.0.0", 2644 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 2645 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 2646 | "requires": { 2647 | "asynckit": "^0.4.0", 2648 | "combined-stream": "^1.0.8", 2649 | "mime-types": "^2.1.12" 2650 | } 2651 | }, 2652 | "fs-extra": { 2653 | "version": "7.0.1", 2654 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 2655 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 2656 | "dev": true, 2657 | "requires": { 2658 | "graceful-fs": "^4.1.2", 2659 | "jsonfile": "^4.0.0", 2660 | "universalify": "^0.1.0" 2661 | } 2662 | }, 2663 | "fs.realpath": { 2664 | "version": "1.0.0", 2665 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2666 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 2667 | "dev": true 2668 | }, 2669 | "fsevents": { 2670 | "version": "2.3.2", 2671 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2672 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2673 | "dev": true, 2674 | "optional": true 2675 | }, 2676 | "function-bind": { 2677 | "version": "1.1.1", 2678 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2679 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2680 | "dev": true 2681 | }, 2682 | "functional-red-black-tree": { 2683 | "version": "1.0.1", 2684 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 2685 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 2686 | "dev": true 2687 | }, 2688 | "glob": { 2689 | "version": "7.2.0", 2690 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 2691 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 2692 | "dev": true, 2693 | "requires": { 2694 | "fs.realpath": "^1.0.0", 2695 | "inflight": "^1.0.4", 2696 | "inherits": "2", 2697 | "minimatch": "^3.0.4", 2698 | "once": "^1.3.0", 2699 | "path-is-absolute": "^1.0.0" 2700 | } 2701 | }, 2702 | "glob-parent": { 2703 | "version": "6.0.2", 2704 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2705 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2706 | "dev": true, 2707 | "requires": { 2708 | "is-glob": "^4.0.3" 2709 | } 2710 | }, 2711 | "globals": { 2712 | "version": "13.12.0", 2713 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", 2714 | "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", 2715 | "dev": true, 2716 | "requires": { 2717 | "type-fest": "^0.20.2" 2718 | } 2719 | }, 2720 | "graceful-fs": { 2721 | "version": "4.2.9", 2722 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", 2723 | "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", 2724 | "dev": true 2725 | }, 2726 | "has": { 2727 | "version": "1.0.3", 2728 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2729 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2730 | "dev": true, 2731 | "requires": { 2732 | "function-bind": "^1.1.1" 2733 | } 2734 | }, 2735 | "has-flag": { 2736 | "version": "4.0.0", 2737 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2738 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2739 | "dev": true 2740 | }, 2741 | "ignore": { 2742 | "version": "5.2.0", 2743 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 2744 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 2745 | "dev": true 2746 | }, 2747 | "import-fresh": { 2748 | "version": "3.3.0", 2749 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 2750 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 2751 | "dev": true, 2752 | "requires": { 2753 | "parent-module": "^1.0.0", 2754 | "resolve-from": "^4.0.0" 2755 | } 2756 | }, 2757 | "import-lazy": { 2758 | "version": "4.0.0", 2759 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", 2760 | "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", 2761 | "dev": true 2762 | }, 2763 | "imurmurhash": { 2764 | "version": "0.1.4", 2765 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2766 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 2767 | "dev": true 2768 | }, 2769 | "inflight": { 2770 | "version": "1.0.6", 2771 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2772 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2773 | "dev": true, 2774 | "requires": { 2775 | "once": "^1.3.0", 2776 | "wrappy": "1" 2777 | } 2778 | }, 2779 | "inherits": { 2780 | "version": "2.0.4", 2781 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2782 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2783 | "dev": true 2784 | }, 2785 | "is-core-module": { 2786 | "version": "2.4.0", 2787 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", 2788 | "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", 2789 | "dev": true, 2790 | "requires": { 2791 | "has": "^1.0.3" 2792 | } 2793 | }, 2794 | "is-extglob": { 2795 | "version": "2.1.1", 2796 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2797 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 2798 | "dev": true 2799 | }, 2800 | "is-glob": { 2801 | "version": "4.0.3", 2802 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2803 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2804 | "dev": true, 2805 | "requires": { 2806 | "is-extglob": "^2.1.1" 2807 | } 2808 | }, 2809 | "is-module": { 2810 | "version": "1.0.0", 2811 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 2812 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 2813 | "dev": true 2814 | }, 2815 | "is-reference": { 2816 | "version": "1.2.1", 2817 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", 2818 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", 2819 | "dev": true, 2820 | "requires": { 2821 | "@types/estree": "*" 2822 | } 2823 | }, 2824 | "isexe": { 2825 | "version": "2.0.0", 2826 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2827 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 2828 | "dev": true 2829 | }, 2830 | "jju": { 2831 | "version": "1.4.0", 2832 | "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", 2833 | "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", 2834 | "dev": true 2835 | }, 2836 | "js-yaml": { 2837 | "version": "4.1.0", 2838 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2839 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2840 | "dev": true, 2841 | "requires": { 2842 | "argparse": "^2.0.1" 2843 | }, 2844 | "dependencies": { 2845 | "argparse": { 2846 | "version": "2.0.1", 2847 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 2848 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2849 | "dev": true 2850 | } 2851 | } 2852 | }, 2853 | "json-schema-traverse": { 2854 | "version": "0.4.1", 2855 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2856 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2857 | "dev": true 2858 | }, 2859 | "json-stable-stringify-without-jsonify": { 2860 | "version": "1.0.1", 2861 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2862 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 2863 | "dev": true 2864 | }, 2865 | "jsonc-parser": { 2866 | "version": "3.0.0", 2867 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", 2868 | "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", 2869 | "dev": true 2870 | }, 2871 | "jsonfile": { 2872 | "version": "4.0.0", 2873 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 2874 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 2875 | "dev": true, 2876 | "requires": { 2877 | "graceful-fs": "^4.1.6" 2878 | } 2879 | }, 2880 | "levn": { 2881 | "version": "0.4.1", 2882 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 2883 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 2884 | "dev": true, 2885 | "requires": { 2886 | "prelude-ls": "^1.2.1", 2887 | "type-check": "~0.4.0" 2888 | } 2889 | }, 2890 | "lodash": { 2891 | "version": "4.17.21", 2892 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 2893 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 2894 | "dev": true 2895 | }, 2896 | "lodash.get": { 2897 | "version": "4.4.2", 2898 | "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", 2899 | "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", 2900 | "dev": true 2901 | }, 2902 | "lodash.isequal": { 2903 | "version": "4.5.0", 2904 | "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", 2905 | "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", 2906 | "dev": true 2907 | }, 2908 | "lodash.merge": { 2909 | "version": "4.6.2", 2910 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2911 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2912 | "dev": true 2913 | }, 2914 | "lru-cache": { 2915 | "version": "6.0.0", 2916 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 2917 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 2918 | "dev": true, 2919 | "requires": { 2920 | "yallist": "^4.0.0" 2921 | } 2922 | }, 2923 | "lunr": { 2924 | "version": "2.3.9", 2925 | "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", 2926 | "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", 2927 | "dev": true 2928 | }, 2929 | "magic-string": { 2930 | "version": "0.25.7", 2931 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", 2932 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", 2933 | "dev": true, 2934 | "requires": { 2935 | "sourcemap-codec": "^1.4.4" 2936 | } 2937 | }, 2938 | "make-error": { 2939 | "version": "1.3.6", 2940 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 2941 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 2942 | "dev": true 2943 | }, 2944 | "marked": { 2945 | "version": "4.0.12", 2946 | "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", 2947 | "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", 2948 | "dev": true 2949 | }, 2950 | "mime-db": { 2951 | "version": "1.52.0", 2952 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2953 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 2954 | }, 2955 | "mime-types": { 2956 | "version": "2.1.35", 2957 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2958 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2959 | "requires": { 2960 | "mime-db": "1.52.0" 2961 | } 2962 | }, 2963 | "minimatch": { 2964 | "version": "3.1.2", 2965 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2966 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2967 | "dev": true, 2968 | "requires": { 2969 | "brace-expansion": "^1.1.7" 2970 | } 2971 | }, 2972 | "ms": { 2973 | "version": "2.1.2", 2974 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2975 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 2976 | "dev": true 2977 | }, 2978 | "natural-compare": { 2979 | "version": "1.4.0", 2980 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2981 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 2982 | "dev": true 2983 | }, 2984 | "once": { 2985 | "version": "1.4.0", 2986 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2987 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2988 | "dev": true, 2989 | "requires": { 2990 | "wrappy": "1" 2991 | } 2992 | }, 2993 | "optionator": { 2994 | "version": "0.9.1", 2995 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 2996 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 2997 | "dev": true, 2998 | "requires": { 2999 | "deep-is": "^0.1.3", 3000 | "fast-levenshtein": "^2.0.6", 3001 | "levn": "^0.4.1", 3002 | "prelude-ls": "^1.2.1", 3003 | "type-check": "^0.4.0", 3004 | "word-wrap": "^1.2.3" 3005 | } 3006 | }, 3007 | "parent-module": { 3008 | "version": "1.0.1", 3009 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 3010 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 3011 | "dev": true, 3012 | "requires": { 3013 | "callsites": "^3.0.0" 3014 | } 3015 | }, 3016 | "path-is-absolute": { 3017 | "version": "1.0.1", 3018 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3019 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3020 | "dev": true 3021 | }, 3022 | "path-key": { 3023 | "version": "3.1.1", 3024 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3025 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3026 | "dev": true 3027 | }, 3028 | "path-parse": { 3029 | "version": "1.0.7", 3030 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 3031 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 3032 | "dev": true 3033 | }, 3034 | "picomatch": { 3035 | "version": "2.3.1", 3036 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 3037 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 3038 | "dev": true 3039 | }, 3040 | "prelude-ls": { 3041 | "version": "1.2.1", 3042 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 3043 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 3044 | "dev": true 3045 | }, 3046 | "prettier": { 3047 | "version": "2.5.1", 3048 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", 3049 | "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", 3050 | "dev": true 3051 | }, 3052 | "proxy-from-env": { 3053 | "version": "1.1.0", 3054 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 3055 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 3056 | }, 3057 | "punycode": { 3058 | "version": "2.1.1", 3059 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3060 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3061 | "dev": true 3062 | }, 3063 | "regexpp": { 3064 | "version": "3.2.0", 3065 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 3066 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 3067 | "dev": true 3068 | }, 3069 | "resolve": { 3070 | "version": "1.20.0", 3071 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", 3072 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", 3073 | "dev": true, 3074 | "requires": { 3075 | "is-core-module": "^2.2.0", 3076 | "path-parse": "^1.0.6" 3077 | } 3078 | }, 3079 | "resolve-from": { 3080 | "version": "4.0.0", 3081 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3082 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 3083 | "dev": true 3084 | }, 3085 | "rimraf": { 3086 | "version": "3.0.2", 3087 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3088 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3089 | "dev": true, 3090 | "requires": { 3091 | "glob": "^7.1.3" 3092 | } 3093 | }, 3094 | "rollup": { 3095 | "version": "2.66.1", 3096 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.66.1.tgz", 3097 | "integrity": "sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w==", 3098 | "dev": true, 3099 | "requires": { 3100 | "fsevents": "~2.3.2" 3101 | } 3102 | }, 3103 | "semver": { 3104 | "version": "7.3.5", 3105 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", 3106 | "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", 3107 | "dev": true, 3108 | "requires": { 3109 | "lru-cache": "^6.0.0" 3110 | } 3111 | }, 3112 | "shebang-command": { 3113 | "version": "2.0.0", 3114 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3115 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3116 | "dev": true, 3117 | "requires": { 3118 | "shebang-regex": "^3.0.0" 3119 | } 3120 | }, 3121 | "shebang-regex": { 3122 | "version": "3.0.0", 3123 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3124 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3125 | "dev": true 3126 | }, 3127 | "shiki": { 3128 | "version": "0.10.0", 3129 | "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.0.tgz", 3130 | "integrity": "sha512-iczxaIYeBFHTFrQPb9DVy2SKgYxC4Wo7Iucm7C17cCh2Ge/refnvHscUOxM85u57MfLoNOtjoEFUWt9gBexblA==", 3131 | "dev": true, 3132 | "requires": { 3133 | "jsonc-parser": "^3.0.0", 3134 | "vscode-oniguruma": "^1.6.1", 3135 | "vscode-textmate": "5.2.0" 3136 | } 3137 | }, 3138 | "source-map": { 3139 | "version": "0.6.1", 3140 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3141 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3142 | "dev": true 3143 | }, 3144 | "sourcemap-codec": { 3145 | "version": "1.4.8", 3146 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 3147 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 3148 | "dev": true 3149 | }, 3150 | "sprintf-js": { 3151 | "version": "1.0.3", 3152 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3153 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3154 | "dev": true 3155 | }, 3156 | "string-argv": { 3157 | "version": "0.3.1", 3158 | "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", 3159 | "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", 3160 | "dev": true 3161 | }, 3162 | "strip-ansi": { 3163 | "version": "6.0.1", 3164 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3165 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3166 | "dev": true, 3167 | "requires": { 3168 | "ansi-regex": "^5.0.1" 3169 | } 3170 | }, 3171 | "strip-json-comments": { 3172 | "version": "3.1.1", 3173 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 3174 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 3175 | "dev": true 3176 | }, 3177 | "supports-color": { 3178 | "version": "7.2.0", 3179 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3180 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3181 | "dev": true, 3182 | "requires": { 3183 | "has-flag": "^4.0.0" 3184 | } 3185 | }, 3186 | "text-table": { 3187 | "version": "0.2.0", 3188 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3189 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3190 | "dev": true 3191 | }, 3192 | "timsort": { 3193 | "version": "0.3.0", 3194 | "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", 3195 | "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", 3196 | "dev": true 3197 | }, 3198 | "ts-node": { 3199 | "version": "10.4.0", 3200 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", 3201 | "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", 3202 | "dev": true, 3203 | "requires": { 3204 | "@cspotcode/source-map-support": "0.7.0", 3205 | "@tsconfig/node10": "^1.0.7", 3206 | "@tsconfig/node12": "^1.0.7", 3207 | "@tsconfig/node14": "^1.0.0", 3208 | "@tsconfig/node16": "^1.0.2", 3209 | "acorn": "^8.4.1", 3210 | "acorn-walk": "^8.1.1", 3211 | "arg": "^4.1.0", 3212 | "create-require": "^1.1.0", 3213 | "diff": "^4.0.1", 3214 | "make-error": "^1.1.1", 3215 | "yn": "3.1.1" 3216 | } 3217 | }, 3218 | "tslib": { 3219 | "version": "2.3.1", 3220 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 3221 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", 3222 | "dev": true 3223 | }, 3224 | "type-check": { 3225 | "version": "0.4.0", 3226 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 3227 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 3228 | "dev": true, 3229 | "requires": { 3230 | "prelude-ls": "^1.2.1" 3231 | } 3232 | }, 3233 | "type-fest": { 3234 | "version": "0.20.2", 3235 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 3236 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 3237 | "dev": true 3238 | }, 3239 | "typedoc": { 3240 | "version": "0.22.11", 3241 | "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz", 3242 | "integrity": "sha512-pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==", 3243 | "dev": true, 3244 | "requires": { 3245 | "glob": "^7.2.0", 3246 | "lunr": "^2.3.9", 3247 | "marked": "^4.0.10", 3248 | "minimatch": "^3.0.4", 3249 | "shiki": "^0.10.0" 3250 | } 3251 | }, 3252 | "typescript": { 3253 | "version": "4.5.5", 3254 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", 3255 | "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", 3256 | "dev": true 3257 | }, 3258 | "universalify": { 3259 | "version": "0.1.2", 3260 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 3261 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 3262 | "dev": true 3263 | }, 3264 | "uri-js": { 3265 | "version": "4.4.1", 3266 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3267 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3268 | "dev": true, 3269 | "requires": { 3270 | "punycode": "^2.1.0" 3271 | } 3272 | }, 3273 | "v8-compile-cache": { 3274 | "version": "2.3.0", 3275 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 3276 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 3277 | "dev": true 3278 | }, 3279 | "validator": { 3280 | "version": "13.7.0", 3281 | "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", 3282 | "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", 3283 | "dev": true 3284 | }, 3285 | "vscode-oniguruma": { 3286 | "version": "1.6.1", 3287 | "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz", 3288 | "integrity": "sha512-vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ==", 3289 | "dev": true 3290 | }, 3291 | "vscode-textmate": { 3292 | "version": "5.2.0", 3293 | "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", 3294 | "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", 3295 | "dev": true 3296 | }, 3297 | "which": { 3298 | "version": "2.0.2", 3299 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3300 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3301 | "dev": true, 3302 | "requires": { 3303 | "isexe": "^2.0.0" 3304 | } 3305 | }, 3306 | "word-wrap": { 3307 | "version": "1.2.3", 3308 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 3309 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 3310 | "dev": true 3311 | }, 3312 | "wrappy": { 3313 | "version": "1.0.2", 3314 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3315 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3316 | "dev": true 3317 | }, 3318 | "yallist": { 3319 | "version": "4.0.0", 3320 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3321 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3322 | "dev": true 3323 | }, 3324 | "yn": { 3325 | "version": "3.1.1", 3326 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 3327 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 3328 | "dev": true 3329 | }, 3330 | "z-schema": { 3331 | "version": "5.0.2", 3332 | "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.2.tgz", 3333 | "integrity": "sha512-40TH47ukMHq5HrzkeVE40Ad7eIDKaRV2b+Qpi2prLc9X9eFJFzV7tMe5aH12e6avaSS/u5l653EQOv+J9PirPw==", 3334 | "dev": true, 3335 | "requires": { 3336 | "commander": "^2.7.1", 3337 | "lodash.get": "^4.4.2", 3338 | "lodash.isequal": "^4.5.0", 3339 | "validator": "^13.7.0" 3340 | } 3341 | } 3342 | } 3343 | } 3344 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "promptable", 3 | "version": "0.0.5", 4 | "description": "Compose LLM Apps in Typescript", 5 | "author": "Promptable.ai", 6 | "homepage": "https://github.com/promptable/Promptable.js", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/promptable/Promptable.js" 10 | }, 11 | "license": "ISC", 12 | "keywords": [ 13 | "typescript", 14 | "npm", 15 | "package", 16 | "boilerplate", 17 | "LLMs", 18 | "langchain", 19 | "GPT", 20 | "ai", 21 | "library", 22 | "composability", 23 | "chaining" 24 | ], 25 | "main": "dist/cjs/Promptable.js", 26 | "module": "dist/esm/Promptable.js", 27 | "browser": "dist/browser/Promptable.js", 28 | "types": "dist/index.d.ts", 29 | "files": [ 30 | "dist" 31 | ], 32 | "scripts": { 33 | "dev": "rollup -c -w", 34 | "build": "rollup -c", 35 | "prebuild:types": "rimraf ./build", 36 | "build:types": "tsc -p ./tsconfig.json --outDir build --declaration true && api-extractor run", 37 | "predocs": "rimraf ./docs", 38 | "docs": "typedoc src --out docs", 39 | "clean": "rimraf ./build ./dist ./docs", 40 | "test": "echo \"Error: no test specified\" && exit 1" 41 | }, 42 | "devDependencies": { 43 | "@microsoft/api-extractor": "^7.19.4", 44 | "@rollup/plugin-commonjs": "^21.0.1", 45 | "@rollup/plugin-json": "^6.0.0", 46 | "@rollup/plugin-node-resolve": "^13.1.3", 47 | "@rollup/plugin-typescript": "^8.3.0", 48 | "eslint": "^8.8.0", 49 | "prettier": "^2.5.1", 50 | "rimraf": "^3.0.2", 51 | "rollup": "^2.66.1", 52 | "ts-node": "^10.4.0", 53 | "tslib": "^2.3.1", 54 | "typedoc": "^0.22.11", 55 | "typescript": "^4.5.5" 56 | }, 57 | "dependencies": { 58 | "@microsoft/fetch-event-source": "^2.0.1", 59 | "axios": "^1.2.1" 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import resolve from "@rollup/plugin-node-resolve"; 2 | import commonjs from "@rollup/plugin-commonjs"; 3 | import typescript from "@rollup/plugin-typescript"; 4 | import pkg from "./package.json"; 5 | import pluginjson from "@rollup/plugin-json"; 6 | 7 | export default [ 8 | // browser-friendly UMD build 9 | { 10 | input: "src/index.ts", 11 | output: { 12 | name: "typescriptNpmPackage", 13 | file: pkg.browser, 14 | format: "umd", 15 | sourcemap: true, 16 | }, 17 | plugins: [ 18 | resolve(), // 19 | commonjs(), 20 | typescript({ tsconfig: "./tsconfig.json" }), 21 | pluginjson(), 22 | ], 23 | }, 24 | 25 | // CommonJS (for Node) and ES module (for bundlers) build. 26 | { 27 | input: "src/index.ts", 28 | output: [ 29 | { file: pkg.main, format: "cjs", sourcemap: true }, 30 | { file: pkg.module, format: "es", sourcemap: true }, 31 | ], 32 | plugins: [typescript({ tsconfig: "./tsconfig.json" })], 33 | }, 34 | ]; 35 | -------------------------------------------------------------------------------- /src/completions.ts: -------------------------------------------------------------------------------- 1 | import { 2 | EventStreamContentType, 3 | fetchEventSource, 4 | } from "@microsoft/fetch-event-source"; 5 | import axios from "axios"; 6 | import { unescapeStopTokens } from "./utils"; 7 | 8 | export interface CompletionRequest { 9 | model: string; 10 | prompt: string; 11 | max_tokens: number; 12 | temperature: number; 13 | stop: string | string[] | null; 14 | } 15 | 16 | export interface StreamCompletionArgs { 17 | req: CompletionRequest; // openai req 18 | apiKey: string; 19 | onMessage: (payload: any) => void; 20 | onClose?: () => void; 21 | onError?: (err: any) => void; 22 | } 23 | 24 | export interface RunCompletionArgs { 25 | req: CompletionRequest; // openai req 26 | apiKey: string; 27 | } 28 | export const runCompletion = async ({ req, apiKey }: RunCompletionArgs) => { 29 | if (req.stop != null) { 30 | console.log("Stop tokens", req.stop); 31 | console.log("Unescaped stop tokens", unescapeStopTokens(req.stop)); 32 | req.stop = unescapeStopTokens(req.stop); 33 | } 34 | 35 | const prompt = req.prompt; 36 | 37 | const res = await axios.get("https://openai.com/v1/completions", { 38 | data: { 39 | prompt, 40 | config: { 41 | ...req, 42 | prompt: undefined, 43 | }, 44 | }, 45 | headers: { 46 | "Content-Type": "application/json", 47 | Authorization: `Bearer ${apiKey}`, 48 | }, 49 | }); 50 | 51 | return res.data; 52 | }; 53 | 54 | /** 55 | * Opens a stream to OpenAI's completion endpoint. 56 | * 57 | * @param args StreamCompletionArgs 58 | */ 59 | export const openCompletionStream = ({ 60 | onClose, 61 | onMessage, 62 | onError, 63 | req, 64 | apiKey, 65 | }: StreamCompletionArgs) => { 66 | const ctrl = new AbortController(); 67 | 68 | const closeStream = () => { 69 | ctrl.abort(); 70 | 71 | onClose?.(); 72 | }; 73 | 74 | if (req.stop != null) { 75 | console.log("Stop tokens", req.stop); 76 | console.log("Unescaped stop tokens", unescapeStopTokens(req.stop)); 77 | req.stop = unescapeStopTokens(req.stop); 78 | } 79 | 80 | fetchEventSource("https://api.openai.com/v1/completions", { 81 | async onopen(response) { 82 | console.log("onopen", response); 83 | if ( 84 | response.ok && 85 | response.headers.get("content-type") === EventStreamContentType 86 | ) { 87 | return; // everything's good 88 | } else if ( 89 | response.status >= 400 && 90 | response.status < 500 && 91 | response.status !== 429 92 | ) { 93 | // client-side errors are usually non-retriable: 94 | console.error("Failed to open stream to OpenAI API", response); 95 | } else { 96 | console.log("Failed to open stream to OpenAI API", response); 97 | } 98 | throw new Error( 99 | response.status === 401 100 | ? "Error please enter a valid API key." 101 | : "Unknown error, please try again." 102 | ); 103 | }, 104 | onmessage(msg) { 105 | if (msg.data === "[DONE]") { 106 | closeStream(); 107 | return; 108 | } 109 | // Assuming we receive JSON-encoded data payloads: 110 | const payload = JSON.parse(msg.data); 111 | const completion = payload.choices?.[0]; 112 | 113 | if (completion?.finish_reason === "stop") { 114 | closeStream(); 115 | return; 116 | } 117 | 118 | onMessage(payload); 119 | }, 120 | onclose() { 121 | console.log("onclose"); 122 | closeStream(); 123 | // if the server closes the connection unexpectedly, retry: 124 | // throw new RetriableError(); 125 | }, 126 | onerror(err) { 127 | console.log("onerror", err); 128 | console.log("OAI stream closed due to error", JSON.stringify(err)); 129 | closeStream(); 130 | onError?.(err.message); 131 | throw err; // rethrow to stop the operation 132 | }, 133 | headers: { 134 | "Content-Type": "application/json", 135 | Authorization: "Bearer " + apiKey, 136 | }, 137 | method: "POST", 138 | body: JSON.stringify({ 139 | ...req, 140 | stop: req.stop?.length ? req.stop : null, 141 | stream: true, 142 | }), 143 | openWhenHidden: true, 144 | signal: ctrl.signal, 145 | }).catch((e) => { 146 | console.error("Completions error: Error fetching event source", e); 147 | closeStream(); 148 | }); 149 | }; 150 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { 2 | getActiveDeployment, 3 | PromptDeployment, 4 | GetActiveDeploymentArgs, 5 | ModelConfig, 6 | } from "./promptable"; 7 | const PromptableApi = { getActiveDeployment }; 8 | 9 | import { 10 | // streaming not supported yet 11 | // StreamCompletionArgs, 12 | // openCompletionStream, 13 | runCompletion, 14 | CompletionRequest, 15 | RunCompletionArgs, 16 | } from "./completions"; 17 | const OpenAI = { 18 | // openCompletionStream, 19 | runCompletion, 20 | }; 21 | 22 | // openai types 23 | export type { CompletionRequest, RunCompletionArgs }; 24 | 25 | // promptable types 26 | export type { GetActiveDeploymentArgs, PromptDeployment, ModelConfig }; 27 | 28 | export { PromptableApi, OpenAI }; 29 | -------------------------------------------------------------------------------- /src/promptable.ts: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | 3 | export interface ModelConfig { 4 | provider: string; 5 | model: string; 6 | temperature: number; 7 | stop: string[] | null; 8 | max_tokens: number; 9 | } 10 | export interface PromptDeployment { 11 | id: string; 12 | name: string; 13 | isActive: boolean; 14 | text: string; 15 | config: ModelConfig; 16 | inputs: { name: string; value: string }[] | null; 17 | createdAt: Date; 18 | updatedAt: Date; 19 | promptId: string; 20 | } 21 | 22 | export interface GetActiveDeploymentArgs { 23 | promptId: string; 24 | } 25 | 26 | const getActiveDeployment = async ({ promptId }: GetActiveDeploymentArgs) => { 27 | const { data } = await axios.get( 28 | `https://promptable.ai/api/prompt/${encodeURIComponent( 29 | promptId 30 | )}/deployment/active` 31 | ); 32 | 33 | return data as PromptDeployment; 34 | }; 35 | 36 | const injectVariables = ( 37 | prompt: PromptDeployment, 38 | variablesMap: { [key: string]: string } 39 | ) => { 40 | return prompt.inputs?.reduce((acc, input) => { 41 | const variable = variablesMap[input.name]; 42 | if (typeof variable === "undefined") { 43 | return acc; 44 | } 45 | 46 | return acc.replaceAll(`{{${input.name}}}`, variable); 47 | }, prompt.text); 48 | }; 49 | 50 | export { getActiveDeployment, injectVariables }; 51 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | // replace any escaped stop tokens like "\\n" their unescaped versions 2 | export const unescapeStopTokens = (stop_tokens: any) => { 3 | if (Array.isArray(stop_tokens)) { 4 | console.log("found array of tokens"); 5 | return stop_tokens.map((token) => { 6 | return JSON.parse(`"${token}"`); 7 | }); 8 | } else { 9 | console.log("found single token", stop_tokens); 10 | return JSON.parse(`"${stop_tokens}"`); 11 | } 12 | }; 13 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": [ 4 | "dom", 5 | "dom.iterable", 6 | "esnext" 7 | ], 8 | "esModuleInterop": true, 9 | "module": "esnext", 10 | "moduleResolution": "node", 11 | "strict": true, 12 | "target": "es6" 13 | } 14 | } 15 | --------------------------------------------------------------------------------