├── .editorconfig ├── .eslintrc ├── .github └── workflows │ └── publish.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── icon.png ├── index.html ├── package.json ├── pnpm-lock.yaml ├── screencast.gif ├── src └── main.ts ├── tsconfig.json └── vite.config.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [*.md] 11 | max_line_length = off 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "es6": true, 4 | "browser": true 5 | }, 6 | "globals": { 7 | "Atomics": "readonly", 8 | "SharedArrayBuffer": "readonly" 9 | }, 10 | "parser": "@typescript-eslint/parser", 11 | "parserOptions": { 12 | "ecmaVersion": 2015, 13 | "sourceType": "module" 14 | }, 15 | "plugins": [ 16 | "@typescript-eslint" 17 | ], 18 | "rules": { 19 | "quotes": [ 20 | "warn", 21 | "single", 22 | { 23 | "allowTemplateLiterals": true 24 | } 25 | ], 26 | "arrow-parens": [ 27 | "warn", 28 | "as-needed" 29 | ], 30 | "comma-spacing": [ 31 | "warn", 32 | { 33 | "after": true 34 | } 35 | ], 36 | "linebreak-style": [ 37 | "error", 38 | "unix" 39 | ], 40 | "object-curly-spacing": [ 41 | "error", 42 | "always" 43 | ], 44 | "@typescript-eslint/semi": [ 45 | "warn" 46 | ] 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Build plugin 2 | 3 | on: 4 | push: 5 | # Sequence of patterns matched against refs/tags 6 | tags: 7 | - "*" # Push events to matching any tag format, i.e. 1.0, 20.15.10 8 | 9 | env: 10 | PLUGIN_NAME: logseq-plugin-task-management-shortcuts 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - uses: actions/checkout@v2 18 | - name: Use Node.js 19 | uses: actions/setup-node@v1 20 | with: 21 | node-version: "16.x" # You might need to adjust this value to your own version 22 | - name: Build 23 | id: build 24 | run: | 25 | npm install -g pnpm 26 | pnpm install 27 | pnpm build 28 | mv dist ${{ env.PLUGIN_NAME }} 29 | zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }} 30 | tar -cvzf ${{ env.PLUGIN_NAME }}.tar.gz -C ${{ env.PLUGIN_NAME }} . 31 | ls 32 | echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)" 33 | 34 | - name: Create Release 35 | uses: ncipollo/release-action@v1 36 | id: create_release 37 | env: 38 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 39 | VERSION: ${{ github.ref }} 40 | with: 41 | allowUpdates: true 42 | draft: false 43 | prerelease: false 44 | 45 | - name: Upload zip file 46 | id: upload_zip 47 | uses: actions/upload-release-asset@v1 48 | env: 49 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 50 | with: 51 | upload_url: ${{ steps.create_release.outputs.upload_url }} 52 | asset_path: ./${{ env.PLUGIN_NAME }}.zip 53 | asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip 54 | asset_content_type: application/zip 55 | 56 | - name: Upload tar.gz file 57 | id: upload_metadata 58 | uses: actions/upload-release-asset@v1 59 | env: 60 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 61 | with: 62 | upload_url: ${{ steps.create_release.outputs.upload_url }} 63 | asset_path: ./${{ env.PLUGIN_NAME }}.tar.gz 64 | asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.tar.gz 65 | asset_content_type: application/json 66 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | 4 | .vscode/ 5 | .DS_Store 6 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # CHANGELOG 2 | 3 | ## v0.0.3 4 | 5 | - infra: upgrade deps. 6 | - feat: add CANCELLED task tag #2 7 | ## v0.0.2 8 | 9 | - feat: support multiple blocks selection shortcuts. 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # logseq-plugin-task-management-shortcuts 2 | 3 | [![Github All Releases](https://img.shields.io/github/downloads/vipzhicheng/logseq-plugin-task-management-shortcuts/total.svg)](https://github.com/vipzhicheng/logseq-plugin-task-management-shortcuts/releases) 4 | 5 | Add shortcuts for Logseq task management, mainly borrowed from [Heading Level Shortcuts](https://github.com/vipzhicheng/logseq-plugin-heading-level-shortcuts) 6 | 7 | ![Screencast](./screencast.gif) 8 | 9 | ## Installation 10 | 11 | ### Preparation 12 | 13 | * Click the 3 dots in the righthand corner and go to `Settings`. 14 | * Got to advanced and enable Developer mode. 15 | * Restart the app. 16 | * Click 3 dots and go to `Plugins`. 17 | 18 | ### Install plugins from Marketplace (recommended) 19 | 20 | * Click `Marketplace` button and then click `Plugins`. 21 | * Find the plugin and click `Install`. 22 | 23 | ### Install plugins manually 24 | 25 | * Download released version assets from Github. 26 | * Unzip it. 27 | * Click `Load unpacked plugin`, and select destination directory to the unziped folder. 28 | 29 | ## Default shortcuts 30 | 31 | * `ctrl+1`: Change to `TODO` task. 32 | * `ctrl+2`: Change to `DOING` task. 33 | * `ctrl+3`: Change to `DONE` task. 34 | * `ctrl+4`: Change to `LATER` task. 35 | * `ctrl+5`: Change to `NOW` task. 36 | * `ctrl+6`: Change to `WAITING` task. 37 | * `ctrl+7`: Change to `CANCELLED` task. 38 | * `ctrl+0`: Change to non-task. 39 | 40 | ## Customization 41 | 42 | You may want to change to binding order, remap actions or shortcuts. You can do this by manually editing plugin config file which is JSON format, and you can find it on Plugin page, locate it on the gear dropdown menu. 43 | 44 | The default config seems like below. 45 | 46 | ```json 47 | { 48 | "disabled": false, 49 | "keyBindings": { 50 | "0": "ctrl+0", 51 | "1": "ctrl+1", 52 | "2": "ctrl+2", 53 | "3": "ctrl+3", 54 | "4": "ctrl+4", 55 | "5": "ctrl+5", 56 | "6": "ctrl+6" 57 | "7": "ctrl+7" 58 | }, 59 | "tasks": [ 60 | "TODO", 61 | "DOING", 62 | "DONE", 63 | "LATER", 64 | "NOW", 65 | "WAITING", 66 | "CANCELLED" 67 | ], 68 | "settingsVersion": "v1" 69 | } 70 | ``` 71 | 72 | You can adjust the tasks order, add new statuses which supported by Logseq, change key bindings there, and don't forget to save your changes. Note: the key `0` always means remove task tag. so 1~6 in `keyBindings` map to `tasks` array orderly. 73 | 74 | Here is an example, not suggestion. 75 | 76 | ```json 77 | { 78 | "disabled": false, 79 | "keyBindings": { 80 | "0": "a a", 81 | "1": "a s", 82 | "2": "a d", 83 | "3": "a f", 84 | "4": "a w", 85 | "5": "a e", 86 | "6": "a r" 87 | }, 88 | "tasks": [ 89 | "LATER", 90 | "NOW", 91 | "WAITING" 92 | "TODO", 93 | "DOING", 94 | "DONE", 95 | ], 96 | "settingsVersion": "v1" 97 | } 98 | ``` 99 | 100 | ## Licence 101 | MIT 102 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vipzhicheng/logseq-plugin-task-management-shortcuts/b3f9afb44ab3ade456779b74af54d9d42b632350/icon.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Task Management Shortcuts 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "logseq-plugin-task-management-shortcuts", 3 | "version": "0.0.3", 4 | "license": "MIT", 5 | "main": "index.html", 6 | "logseq": { 7 | "icon": "./icon.png", 8 | "id": "logseq-plugin-task-management-shortcuts", 9 | "title": "Task Management Shortcuts" 10 | }, 11 | "scripts": { 12 | "dev": "vite", 13 | "build": "vite build && cp README.md LICENSE icon.png package.json dist/" 14 | }, 15 | "devDependencies": { 16 | "@types/node": "^18.8.5", 17 | "@typescript-eslint/eslint-plugin": "^5.40.0", 18 | "@typescript-eslint/parser": "^5.40.0", 19 | "eslint": "^8.25.0", 20 | "typescript": "^4.8.4", 21 | "vite": "^3.1.8" 22 | }, 23 | "dependencies": { 24 | "@logseq/libs": "0.0.9" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@logseq/libs': 0.0.9 5 | '@types/node': ^18.8.5 6 | '@typescript-eslint/eslint-plugin': ^5.40.0 7 | '@typescript-eslint/parser': ^5.40.0 8 | eslint: ^8.25.0 9 | typescript: ^4.8.4 10 | vite: ^3.1.8 11 | 12 | dependencies: 13 | '@logseq/libs': 0.0.9 14 | 15 | devDependencies: 16 | '@types/node': 18.8.5 17 | '@typescript-eslint/eslint-plugin': 5.40.0_25sstg4uu2sk4pm7xcyzuov7xq 18 | '@typescript-eslint/parser': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q 19 | eslint: 8.25.0 20 | typescript: 4.8.4 21 | vite: 3.1.8 22 | 23 | packages: 24 | 25 | /@esbuild/android-arm/0.15.10: 26 | resolution: {integrity: sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==} 27 | engines: {node: '>=12'} 28 | cpu: [arm] 29 | os: [android] 30 | requiresBuild: true 31 | dev: true 32 | optional: true 33 | 34 | /@esbuild/linux-loong64/0.15.10: 35 | resolution: {integrity: sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==} 36 | engines: {node: '>=12'} 37 | cpu: [loong64] 38 | os: [linux] 39 | requiresBuild: true 40 | dev: true 41 | optional: true 42 | 43 | /@eslint/eslintrc/1.3.3: 44 | resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} 45 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 46 | dependencies: 47 | ajv: 6.12.6 48 | debug: 4.3.3 49 | espree: 9.4.0 50 | globals: 13.17.0 51 | ignore: 5.2.0 52 | import-fresh: 3.3.0 53 | js-yaml: 4.1.0 54 | minimatch: 3.1.2 55 | strip-json-comments: 3.1.1 56 | transitivePeerDependencies: 57 | - supports-color 58 | dev: true 59 | 60 | /@humanwhocodes/config-array/0.10.7: 61 | resolution: {integrity: sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==} 62 | engines: {node: '>=10.10.0'} 63 | dependencies: 64 | '@humanwhocodes/object-schema': 1.2.1 65 | debug: 4.3.3 66 | minimatch: 3.1.2 67 | transitivePeerDependencies: 68 | - supports-color 69 | dev: true 70 | 71 | /@humanwhocodes/module-importer/1.0.1: 72 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 73 | engines: {node: '>=12.22'} 74 | dev: true 75 | 76 | /@humanwhocodes/object-schema/1.2.1: 77 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 78 | dev: true 79 | 80 | /@logseq/libs/0.0.9: 81 | resolution: {integrity: sha512-cNqjZxJ2+JB/C+BjtQhUMQV2/223cqpx3+WnFS9RFDUUAhNq0jvT8pukqeYyDaPu7vV1lJRWtn76/8f/ThYuYg==} 82 | dependencies: 83 | csstype: 3.1.0 84 | debug: 4.3.4 85 | dompurify: 2.3.8 86 | eventemitter3: 4.0.7 87 | fast-deep-equal: 3.1.3 88 | lodash-es: 4.17.21 89 | path: 0.12.7 90 | snake-case: 3.0.4 91 | transitivePeerDependencies: 92 | - supports-color 93 | dev: false 94 | 95 | /@nodelib/fs.scandir/2.1.5: 96 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 97 | engines: {node: '>= 8'} 98 | dependencies: 99 | '@nodelib/fs.stat': 2.0.5 100 | run-parallel: 1.2.0 101 | dev: true 102 | 103 | /@nodelib/fs.stat/2.0.5: 104 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 105 | engines: {node: '>= 8'} 106 | dev: true 107 | 108 | /@nodelib/fs.walk/1.2.8: 109 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 110 | engines: {node: '>= 8'} 111 | dependencies: 112 | '@nodelib/fs.scandir': 2.1.5 113 | fastq: 1.13.0 114 | dev: true 115 | 116 | /@types/json-schema/7.0.9: 117 | resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} 118 | dev: true 119 | 120 | /@types/node/18.8.5: 121 | resolution: {integrity: sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==} 122 | dev: true 123 | 124 | /@typescript-eslint/eslint-plugin/5.40.0_25sstg4uu2sk4pm7xcyzuov7xq: 125 | resolution: {integrity: sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q==} 126 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 127 | peerDependencies: 128 | '@typescript-eslint/parser': ^5.0.0 129 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 130 | typescript: '*' 131 | peerDependenciesMeta: 132 | typescript: 133 | optional: true 134 | dependencies: 135 | '@typescript-eslint/parser': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q 136 | '@typescript-eslint/scope-manager': 5.40.0 137 | '@typescript-eslint/type-utils': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q 138 | '@typescript-eslint/utils': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q 139 | debug: 4.3.4 140 | eslint: 8.25.0 141 | ignore: 5.2.0 142 | regexpp: 3.2.0 143 | semver: 7.3.8 144 | tsutils: 3.21.0_typescript@4.8.4 145 | typescript: 4.8.4 146 | transitivePeerDependencies: 147 | - supports-color 148 | dev: true 149 | 150 | /@typescript-eslint/parser/5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q: 151 | resolution: {integrity: sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw==} 152 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 153 | peerDependencies: 154 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 155 | typescript: '*' 156 | peerDependenciesMeta: 157 | typescript: 158 | optional: true 159 | dependencies: 160 | '@typescript-eslint/scope-manager': 5.40.0 161 | '@typescript-eslint/types': 5.40.0 162 | '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.8.4 163 | debug: 4.3.4 164 | eslint: 8.25.0 165 | typescript: 4.8.4 166 | transitivePeerDependencies: 167 | - supports-color 168 | dev: true 169 | 170 | /@typescript-eslint/scope-manager/5.40.0: 171 | resolution: {integrity: sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw==} 172 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 173 | dependencies: 174 | '@typescript-eslint/types': 5.40.0 175 | '@typescript-eslint/visitor-keys': 5.40.0 176 | dev: true 177 | 178 | /@typescript-eslint/type-utils/5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q: 179 | resolution: {integrity: sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw==} 180 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 181 | peerDependencies: 182 | eslint: '*' 183 | typescript: '*' 184 | peerDependenciesMeta: 185 | typescript: 186 | optional: true 187 | dependencies: 188 | '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.8.4 189 | '@typescript-eslint/utils': 5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q 190 | debug: 4.3.4 191 | eslint: 8.25.0 192 | tsutils: 3.21.0_typescript@4.8.4 193 | typescript: 4.8.4 194 | transitivePeerDependencies: 195 | - supports-color 196 | dev: true 197 | 198 | /@typescript-eslint/types/5.40.0: 199 | resolution: {integrity: sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw==} 200 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 201 | dev: true 202 | 203 | /@typescript-eslint/typescript-estree/5.40.0_typescript@4.8.4: 204 | resolution: {integrity: sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg==} 205 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 206 | peerDependencies: 207 | typescript: '*' 208 | peerDependenciesMeta: 209 | typescript: 210 | optional: true 211 | dependencies: 212 | '@typescript-eslint/types': 5.40.0 213 | '@typescript-eslint/visitor-keys': 5.40.0 214 | debug: 4.3.4 215 | globby: 11.1.0 216 | is-glob: 4.0.3 217 | semver: 7.3.8 218 | tsutils: 3.21.0_typescript@4.8.4 219 | typescript: 4.8.4 220 | transitivePeerDependencies: 221 | - supports-color 222 | dev: true 223 | 224 | /@typescript-eslint/utils/5.40.0_z4bbprzjrhnsfa24uvmcbu7f5q: 225 | resolution: {integrity: sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA==} 226 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 227 | peerDependencies: 228 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 229 | dependencies: 230 | '@types/json-schema': 7.0.9 231 | '@typescript-eslint/scope-manager': 5.40.0 232 | '@typescript-eslint/types': 5.40.0 233 | '@typescript-eslint/typescript-estree': 5.40.0_typescript@4.8.4 234 | eslint: 8.25.0 235 | eslint-scope: 5.1.1 236 | eslint-utils: 3.0.0_eslint@8.25.0 237 | semver: 7.3.8 238 | transitivePeerDependencies: 239 | - supports-color 240 | - typescript 241 | dev: true 242 | 243 | /@typescript-eslint/visitor-keys/5.40.0: 244 | resolution: {integrity: sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ==} 245 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 246 | dependencies: 247 | '@typescript-eslint/types': 5.40.0 248 | eslint-visitor-keys: 3.3.0 249 | dev: true 250 | 251 | /acorn-jsx/5.3.2_acorn@8.8.0: 252 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 253 | peerDependencies: 254 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 255 | dependencies: 256 | acorn: 8.8.0 257 | dev: true 258 | 259 | /acorn/8.8.0: 260 | resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} 261 | engines: {node: '>=0.4.0'} 262 | hasBin: true 263 | dev: true 264 | 265 | /ajv/6.12.6: 266 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 267 | dependencies: 268 | fast-deep-equal: 3.1.3 269 | fast-json-stable-stringify: 2.1.0 270 | json-schema-traverse: 0.4.1 271 | uri-js: 4.4.1 272 | dev: true 273 | 274 | /ansi-regex/5.0.1: 275 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 276 | engines: {node: '>=8'} 277 | dev: true 278 | 279 | /ansi-styles/4.3.0: 280 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 281 | engines: {node: '>=8'} 282 | dependencies: 283 | color-convert: 2.0.1 284 | dev: true 285 | 286 | /argparse/2.0.1: 287 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 288 | dev: true 289 | 290 | /array-union/2.1.0: 291 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 292 | engines: {node: '>=8'} 293 | dev: true 294 | 295 | /balanced-match/1.0.2: 296 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 297 | dev: true 298 | 299 | /brace-expansion/1.1.11: 300 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 301 | dependencies: 302 | balanced-match: 1.0.2 303 | concat-map: 0.0.1 304 | dev: true 305 | 306 | /braces/3.0.2: 307 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 308 | engines: {node: '>=8'} 309 | dependencies: 310 | fill-range: 7.0.1 311 | dev: true 312 | 313 | /callsites/3.1.0: 314 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 315 | engines: {node: '>=6'} 316 | dev: true 317 | 318 | /chalk/4.1.2: 319 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 320 | engines: {node: '>=10'} 321 | dependencies: 322 | ansi-styles: 4.3.0 323 | supports-color: 7.2.0 324 | dev: true 325 | 326 | /color-convert/2.0.1: 327 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 328 | engines: {node: '>=7.0.0'} 329 | dependencies: 330 | color-name: 1.1.4 331 | dev: true 332 | 333 | /color-name/1.1.4: 334 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 335 | dev: true 336 | 337 | /concat-map/0.0.1: 338 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 339 | dev: true 340 | 341 | /cross-spawn/7.0.3: 342 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 343 | engines: {node: '>= 8'} 344 | dependencies: 345 | path-key: 3.1.1 346 | shebang-command: 2.0.0 347 | which: 2.0.2 348 | dev: true 349 | 350 | /csstype/3.1.0: 351 | resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==} 352 | dev: false 353 | 354 | /debug/4.3.3: 355 | resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} 356 | engines: {node: '>=6.0'} 357 | peerDependencies: 358 | supports-color: '*' 359 | peerDependenciesMeta: 360 | supports-color: 361 | optional: true 362 | dependencies: 363 | ms: 2.1.2 364 | dev: true 365 | 366 | /debug/4.3.4: 367 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 368 | engines: {node: '>=6.0'} 369 | peerDependencies: 370 | supports-color: '*' 371 | peerDependenciesMeta: 372 | supports-color: 373 | optional: true 374 | dependencies: 375 | ms: 2.1.2 376 | 377 | /deep-is/0.1.4: 378 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 379 | dev: true 380 | 381 | /dir-glob/3.0.1: 382 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 383 | engines: {node: '>=8'} 384 | dependencies: 385 | path-type: 4.0.0 386 | dev: true 387 | 388 | /doctrine/3.0.0: 389 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 390 | engines: {node: '>=6.0.0'} 391 | dependencies: 392 | esutils: 2.0.3 393 | dev: true 394 | 395 | /dompurify/2.3.8: 396 | resolution: {integrity: sha512-eVhaWoVibIzqdGYjwsBWodIQIaXFSB+cKDf4cfxLMsK0xiud6SE+/WCVx/Xw/UwQsa4cS3T2eITcdtmTg2UKcw==} 397 | dev: false 398 | 399 | /dot-case/3.0.4: 400 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} 401 | dependencies: 402 | no-case: 3.0.4 403 | tslib: 2.3.1 404 | dev: false 405 | 406 | /esbuild-android-64/0.15.10: 407 | resolution: {integrity: sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==} 408 | engines: {node: '>=12'} 409 | cpu: [x64] 410 | os: [android] 411 | requiresBuild: true 412 | dev: true 413 | optional: true 414 | 415 | /esbuild-android-arm64/0.15.10: 416 | resolution: {integrity: sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==} 417 | engines: {node: '>=12'} 418 | cpu: [arm64] 419 | os: [android] 420 | requiresBuild: true 421 | dev: true 422 | optional: true 423 | 424 | /esbuild-darwin-64/0.15.10: 425 | resolution: {integrity: sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==} 426 | engines: {node: '>=12'} 427 | cpu: [x64] 428 | os: [darwin] 429 | requiresBuild: true 430 | dev: true 431 | optional: true 432 | 433 | /esbuild-darwin-arm64/0.15.10: 434 | resolution: {integrity: sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==} 435 | engines: {node: '>=12'} 436 | cpu: [arm64] 437 | os: [darwin] 438 | requiresBuild: true 439 | dev: true 440 | optional: true 441 | 442 | /esbuild-freebsd-64/0.15.10: 443 | resolution: {integrity: sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==} 444 | engines: {node: '>=12'} 445 | cpu: [x64] 446 | os: [freebsd] 447 | requiresBuild: true 448 | dev: true 449 | optional: true 450 | 451 | /esbuild-freebsd-arm64/0.15.10: 452 | resolution: {integrity: sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==} 453 | engines: {node: '>=12'} 454 | cpu: [arm64] 455 | os: [freebsd] 456 | requiresBuild: true 457 | dev: true 458 | optional: true 459 | 460 | /esbuild-linux-32/0.15.10: 461 | resolution: {integrity: sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==} 462 | engines: {node: '>=12'} 463 | cpu: [ia32] 464 | os: [linux] 465 | requiresBuild: true 466 | dev: true 467 | optional: true 468 | 469 | /esbuild-linux-64/0.15.10: 470 | resolution: {integrity: sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==} 471 | engines: {node: '>=12'} 472 | cpu: [x64] 473 | os: [linux] 474 | requiresBuild: true 475 | dev: true 476 | optional: true 477 | 478 | /esbuild-linux-arm/0.15.10: 479 | resolution: {integrity: sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==} 480 | engines: {node: '>=12'} 481 | cpu: [arm] 482 | os: [linux] 483 | requiresBuild: true 484 | dev: true 485 | optional: true 486 | 487 | /esbuild-linux-arm64/0.15.10: 488 | resolution: {integrity: sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==} 489 | engines: {node: '>=12'} 490 | cpu: [arm64] 491 | os: [linux] 492 | requiresBuild: true 493 | dev: true 494 | optional: true 495 | 496 | /esbuild-linux-mips64le/0.15.10: 497 | resolution: {integrity: sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==} 498 | engines: {node: '>=12'} 499 | cpu: [mips64el] 500 | os: [linux] 501 | requiresBuild: true 502 | dev: true 503 | optional: true 504 | 505 | /esbuild-linux-ppc64le/0.15.10: 506 | resolution: {integrity: sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==} 507 | engines: {node: '>=12'} 508 | cpu: [ppc64] 509 | os: [linux] 510 | requiresBuild: true 511 | dev: true 512 | optional: true 513 | 514 | /esbuild-linux-riscv64/0.15.10: 515 | resolution: {integrity: sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==} 516 | engines: {node: '>=12'} 517 | cpu: [riscv64] 518 | os: [linux] 519 | requiresBuild: true 520 | dev: true 521 | optional: true 522 | 523 | /esbuild-linux-s390x/0.15.10: 524 | resolution: {integrity: sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==} 525 | engines: {node: '>=12'} 526 | cpu: [s390x] 527 | os: [linux] 528 | requiresBuild: true 529 | dev: true 530 | optional: true 531 | 532 | /esbuild-netbsd-64/0.15.10: 533 | resolution: {integrity: sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==} 534 | engines: {node: '>=12'} 535 | cpu: [x64] 536 | os: [netbsd] 537 | requiresBuild: true 538 | dev: true 539 | optional: true 540 | 541 | /esbuild-openbsd-64/0.15.10: 542 | resolution: {integrity: sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==} 543 | engines: {node: '>=12'} 544 | cpu: [x64] 545 | os: [openbsd] 546 | requiresBuild: true 547 | dev: true 548 | optional: true 549 | 550 | /esbuild-sunos-64/0.15.10: 551 | resolution: {integrity: sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==} 552 | engines: {node: '>=12'} 553 | cpu: [x64] 554 | os: [sunos] 555 | requiresBuild: true 556 | dev: true 557 | optional: true 558 | 559 | /esbuild-windows-32/0.15.10: 560 | resolution: {integrity: sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==} 561 | engines: {node: '>=12'} 562 | cpu: [ia32] 563 | os: [win32] 564 | requiresBuild: true 565 | dev: true 566 | optional: true 567 | 568 | /esbuild-windows-64/0.15.10: 569 | resolution: {integrity: sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==} 570 | engines: {node: '>=12'} 571 | cpu: [x64] 572 | os: [win32] 573 | requiresBuild: true 574 | dev: true 575 | optional: true 576 | 577 | /esbuild-windows-arm64/0.15.10: 578 | resolution: {integrity: sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==} 579 | engines: {node: '>=12'} 580 | cpu: [arm64] 581 | os: [win32] 582 | requiresBuild: true 583 | dev: true 584 | optional: true 585 | 586 | /esbuild/0.15.10: 587 | resolution: {integrity: sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==} 588 | engines: {node: '>=12'} 589 | hasBin: true 590 | requiresBuild: true 591 | optionalDependencies: 592 | '@esbuild/android-arm': 0.15.10 593 | '@esbuild/linux-loong64': 0.15.10 594 | esbuild-android-64: 0.15.10 595 | esbuild-android-arm64: 0.15.10 596 | esbuild-darwin-64: 0.15.10 597 | esbuild-darwin-arm64: 0.15.10 598 | esbuild-freebsd-64: 0.15.10 599 | esbuild-freebsd-arm64: 0.15.10 600 | esbuild-linux-32: 0.15.10 601 | esbuild-linux-64: 0.15.10 602 | esbuild-linux-arm: 0.15.10 603 | esbuild-linux-arm64: 0.15.10 604 | esbuild-linux-mips64le: 0.15.10 605 | esbuild-linux-ppc64le: 0.15.10 606 | esbuild-linux-riscv64: 0.15.10 607 | esbuild-linux-s390x: 0.15.10 608 | esbuild-netbsd-64: 0.15.10 609 | esbuild-openbsd-64: 0.15.10 610 | esbuild-sunos-64: 0.15.10 611 | esbuild-windows-32: 0.15.10 612 | esbuild-windows-64: 0.15.10 613 | esbuild-windows-arm64: 0.15.10 614 | dev: true 615 | 616 | /escape-string-regexp/4.0.0: 617 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 618 | engines: {node: '>=10'} 619 | dev: true 620 | 621 | /eslint-scope/5.1.1: 622 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 623 | engines: {node: '>=8.0.0'} 624 | dependencies: 625 | esrecurse: 4.3.0 626 | estraverse: 4.3.0 627 | dev: true 628 | 629 | /eslint-scope/7.1.1: 630 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 631 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 632 | dependencies: 633 | esrecurse: 4.3.0 634 | estraverse: 5.3.0 635 | dev: true 636 | 637 | /eslint-utils/3.0.0_eslint@8.25.0: 638 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 639 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 640 | peerDependencies: 641 | eslint: '>=5' 642 | dependencies: 643 | eslint: 8.25.0 644 | eslint-visitor-keys: 2.1.0 645 | dev: true 646 | 647 | /eslint-visitor-keys/2.1.0: 648 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 649 | engines: {node: '>=10'} 650 | dev: true 651 | 652 | /eslint-visitor-keys/3.3.0: 653 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 654 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 655 | dev: true 656 | 657 | /eslint/8.25.0: 658 | resolution: {integrity: sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==} 659 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 660 | hasBin: true 661 | dependencies: 662 | '@eslint/eslintrc': 1.3.3 663 | '@humanwhocodes/config-array': 0.10.7 664 | '@humanwhocodes/module-importer': 1.0.1 665 | ajv: 6.12.6 666 | chalk: 4.1.2 667 | cross-spawn: 7.0.3 668 | debug: 4.3.3 669 | doctrine: 3.0.0 670 | escape-string-regexp: 4.0.0 671 | eslint-scope: 7.1.1 672 | eslint-utils: 3.0.0_eslint@8.25.0 673 | eslint-visitor-keys: 3.3.0 674 | espree: 9.4.0 675 | esquery: 1.4.0 676 | esutils: 2.0.3 677 | fast-deep-equal: 3.1.3 678 | file-entry-cache: 6.0.1 679 | find-up: 5.0.0 680 | glob-parent: 6.0.2 681 | globals: 13.17.0 682 | globby: 11.1.0 683 | grapheme-splitter: 1.0.4 684 | ignore: 5.2.0 685 | import-fresh: 3.3.0 686 | imurmurhash: 0.1.4 687 | is-glob: 4.0.3 688 | js-sdsl: 4.1.5 689 | js-yaml: 4.1.0 690 | json-stable-stringify-without-jsonify: 1.0.1 691 | levn: 0.4.1 692 | lodash.merge: 4.6.2 693 | minimatch: 3.1.2 694 | natural-compare: 1.4.0 695 | optionator: 0.9.1 696 | regexpp: 3.2.0 697 | strip-ansi: 6.0.1 698 | strip-json-comments: 3.1.1 699 | text-table: 0.2.0 700 | transitivePeerDependencies: 701 | - supports-color 702 | dev: true 703 | 704 | /espree/9.4.0: 705 | resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==} 706 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 707 | dependencies: 708 | acorn: 8.8.0 709 | acorn-jsx: 5.3.2_acorn@8.8.0 710 | eslint-visitor-keys: 3.3.0 711 | dev: true 712 | 713 | /esquery/1.4.0: 714 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 715 | engines: {node: '>=0.10'} 716 | dependencies: 717 | estraverse: 5.3.0 718 | dev: true 719 | 720 | /esrecurse/4.3.0: 721 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 722 | engines: {node: '>=4.0'} 723 | dependencies: 724 | estraverse: 5.3.0 725 | dev: true 726 | 727 | /estraverse/4.3.0: 728 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 729 | engines: {node: '>=4.0'} 730 | dev: true 731 | 732 | /estraverse/5.3.0: 733 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 734 | engines: {node: '>=4.0'} 735 | dev: true 736 | 737 | /esutils/2.0.3: 738 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 739 | engines: {node: '>=0.10.0'} 740 | dev: true 741 | 742 | /eventemitter3/4.0.7: 743 | resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} 744 | dev: false 745 | 746 | /fast-deep-equal/3.1.3: 747 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 748 | 749 | /fast-glob/3.2.11: 750 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 751 | engines: {node: '>=8.6.0'} 752 | dependencies: 753 | '@nodelib/fs.stat': 2.0.5 754 | '@nodelib/fs.walk': 1.2.8 755 | glob-parent: 5.1.2 756 | merge2: 1.4.1 757 | micromatch: 4.0.4 758 | dev: true 759 | 760 | /fast-json-stable-stringify/2.1.0: 761 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 762 | dev: true 763 | 764 | /fast-levenshtein/2.0.6: 765 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 766 | dev: true 767 | 768 | /fastq/1.13.0: 769 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 770 | dependencies: 771 | reusify: 1.0.4 772 | dev: true 773 | 774 | /file-entry-cache/6.0.1: 775 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 776 | engines: {node: ^10.12.0 || >=12.0.0} 777 | dependencies: 778 | flat-cache: 3.0.4 779 | dev: true 780 | 781 | /fill-range/7.0.1: 782 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 783 | engines: {node: '>=8'} 784 | dependencies: 785 | to-regex-range: 5.0.1 786 | dev: true 787 | 788 | /find-up/5.0.0: 789 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 790 | engines: {node: '>=10'} 791 | dependencies: 792 | locate-path: 6.0.0 793 | path-exists: 4.0.0 794 | dev: true 795 | 796 | /flat-cache/3.0.4: 797 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 798 | engines: {node: ^10.12.0 || >=12.0.0} 799 | dependencies: 800 | flatted: 3.2.5 801 | rimraf: 3.0.2 802 | dev: true 803 | 804 | /flatted/3.2.5: 805 | resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} 806 | dev: true 807 | 808 | /fs.realpath/1.0.0: 809 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 810 | dev: true 811 | 812 | /fsevents/2.3.2: 813 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 814 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 815 | os: [darwin] 816 | requiresBuild: true 817 | dev: true 818 | optional: true 819 | 820 | /function-bind/1.1.1: 821 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 822 | dev: true 823 | 824 | /glob-parent/5.1.2: 825 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 826 | engines: {node: '>= 6'} 827 | dependencies: 828 | is-glob: 4.0.3 829 | dev: true 830 | 831 | /glob-parent/6.0.2: 832 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 833 | engines: {node: '>=10.13.0'} 834 | dependencies: 835 | is-glob: 4.0.3 836 | dev: true 837 | 838 | /glob/7.2.0: 839 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} 840 | dependencies: 841 | fs.realpath: 1.0.0 842 | inflight: 1.0.6 843 | inherits: 2.0.4 844 | minimatch: 3.1.2 845 | once: 1.4.0 846 | path-is-absolute: 1.0.1 847 | dev: true 848 | 849 | /globals/13.17.0: 850 | resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==} 851 | engines: {node: '>=8'} 852 | dependencies: 853 | type-fest: 0.20.2 854 | dev: true 855 | 856 | /globby/11.1.0: 857 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 858 | engines: {node: '>=10'} 859 | dependencies: 860 | array-union: 2.1.0 861 | dir-glob: 3.0.1 862 | fast-glob: 3.2.11 863 | ignore: 5.2.0 864 | merge2: 1.4.1 865 | slash: 3.0.0 866 | dev: true 867 | 868 | /grapheme-splitter/1.0.4: 869 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 870 | dev: true 871 | 872 | /has-flag/4.0.0: 873 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 874 | engines: {node: '>=8'} 875 | dev: true 876 | 877 | /has/1.0.3: 878 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 879 | engines: {node: '>= 0.4.0'} 880 | dependencies: 881 | function-bind: 1.1.1 882 | dev: true 883 | 884 | /ignore/5.2.0: 885 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 886 | engines: {node: '>= 4'} 887 | dev: true 888 | 889 | /import-fresh/3.3.0: 890 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 891 | engines: {node: '>=6'} 892 | dependencies: 893 | parent-module: 1.0.1 894 | resolve-from: 4.0.0 895 | dev: true 896 | 897 | /imurmurhash/0.1.4: 898 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 899 | engines: {node: '>=0.8.19'} 900 | dev: true 901 | 902 | /inflight/1.0.6: 903 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 904 | dependencies: 905 | once: 1.4.0 906 | wrappy: 1.0.2 907 | dev: true 908 | 909 | /inherits/2.0.3: 910 | resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} 911 | dev: false 912 | 913 | /inherits/2.0.4: 914 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 915 | dev: true 916 | 917 | /is-core-module/2.10.0: 918 | resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==} 919 | dependencies: 920 | has: 1.0.3 921 | dev: true 922 | 923 | /is-extglob/2.1.1: 924 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 925 | engines: {node: '>=0.10.0'} 926 | dev: true 927 | 928 | /is-glob/4.0.3: 929 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 930 | engines: {node: '>=0.10.0'} 931 | dependencies: 932 | is-extglob: 2.1.1 933 | dev: true 934 | 935 | /is-number/7.0.0: 936 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 937 | engines: {node: '>=0.12.0'} 938 | dev: true 939 | 940 | /isexe/2.0.0: 941 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 942 | dev: true 943 | 944 | /js-sdsl/4.1.5: 945 | resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==} 946 | dev: true 947 | 948 | /js-yaml/4.1.0: 949 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 950 | hasBin: true 951 | dependencies: 952 | argparse: 2.0.1 953 | dev: true 954 | 955 | /json-schema-traverse/0.4.1: 956 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 957 | dev: true 958 | 959 | /json-stable-stringify-without-jsonify/1.0.1: 960 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 961 | dev: true 962 | 963 | /levn/0.4.1: 964 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 965 | engines: {node: '>= 0.8.0'} 966 | dependencies: 967 | prelude-ls: 1.2.1 968 | type-check: 0.4.0 969 | dev: true 970 | 971 | /locate-path/6.0.0: 972 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 973 | engines: {node: '>=10'} 974 | dependencies: 975 | p-locate: 5.0.0 976 | dev: true 977 | 978 | /lodash-es/4.17.21: 979 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 980 | dev: false 981 | 982 | /lodash.merge/4.6.2: 983 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 984 | dev: true 985 | 986 | /lower-case/2.0.2: 987 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 988 | dependencies: 989 | tslib: 2.3.1 990 | dev: false 991 | 992 | /lru-cache/6.0.0: 993 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 994 | engines: {node: '>=10'} 995 | dependencies: 996 | yallist: 4.0.0 997 | dev: true 998 | 999 | /merge2/1.4.1: 1000 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1001 | engines: {node: '>= 8'} 1002 | dev: true 1003 | 1004 | /micromatch/4.0.4: 1005 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} 1006 | engines: {node: '>=8.6'} 1007 | dependencies: 1008 | braces: 3.0.2 1009 | picomatch: 2.3.1 1010 | dev: true 1011 | 1012 | /minimatch/3.1.2: 1013 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1014 | dependencies: 1015 | brace-expansion: 1.1.11 1016 | dev: true 1017 | 1018 | /ms/2.1.2: 1019 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1020 | 1021 | /nanoid/3.3.4: 1022 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 1023 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1024 | hasBin: true 1025 | dev: true 1026 | 1027 | /natural-compare/1.4.0: 1028 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1029 | dev: true 1030 | 1031 | /no-case/3.0.4: 1032 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 1033 | dependencies: 1034 | lower-case: 2.0.2 1035 | tslib: 2.3.1 1036 | dev: false 1037 | 1038 | /once/1.4.0: 1039 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1040 | dependencies: 1041 | wrappy: 1.0.2 1042 | dev: true 1043 | 1044 | /optionator/0.9.1: 1045 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 1046 | engines: {node: '>= 0.8.0'} 1047 | dependencies: 1048 | deep-is: 0.1.4 1049 | fast-levenshtein: 2.0.6 1050 | levn: 0.4.1 1051 | prelude-ls: 1.2.1 1052 | type-check: 0.4.0 1053 | word-wrap: 1.2.3 1054 | dev: true 1055 | 1056 | /p-limit/3.1.0: 1057 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1058 | engines: {node: '>=10'} 1059 | dependencies: 1060 | yocto-queue: 0.1.0 1061 | dev: true 1062 | 1063 | /p-locate/5.0.0: 1064 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1065 | engines: {node: '>=10'} 1066 | dependencies: 1067 | p-limit: 3.1.0 1068 | dev: true 1069 | 1070 | /parent-module/1.0.1: 1071 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1072 | engines: {node: '>=6'} 1073 | dependencies: 1074 | callsites: 3.1.0 1075 | dev: true 1076 | 1077 | /path-exists/4.0.0: 1078 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1079 | engines: {node: '>=8'} 1080 | dev: true 1081 | 1082 | /path-is-absolute/1.0.1: 1083 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1084 | engines: {node: '>=0.10.0'} 1085 | dev: true 1086 | 1087 | /path-key/3.1.1: 1088 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1089 | engines: {node: '>=8'} 1090 | dev: true 1091 | 1092 | /path-parse/1.0.7: 1093 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1094 | dev: true 1095 | 1096 | /path-type/4.0.0: 1097 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1098 | engines: {node: '>=8'} 1099 | dev: true 1100 | 1101 | /path/0.12.7: 1102 | resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} 1103 | dependencies: 1104 | process: 0.11.10 1105 | util: 0.10.4 1106 | dev: false 1107 | 1108 | /picocolors/1.0.0: 1109 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1110 | dev: true 1111 | 1112 | /picomatch/2.3.1: 1113 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1114 | engines: {node: '>=8.6'} 1115 | dev: true 1116 | 1117 | /postcss/8.4.18: 1118 | resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==} 1119 | engines: {node: ^10 || ^12 || >=14} 1120 | dependencies: 1121 | nanoid: 3.3.4 1122 | picocolors: 1.0.0 1123 | source-map-js: 1.0.2 1124 | dev: true 1125 | 1126 | /prelude-ls/1.2.1: 1127 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1128 | engines: {node: '>= 0.8.0'} 1129 | dev: true 1130 | 1131 | /process/0.11.10: 1132 | resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 1133 | engines: {node: '>= 0.6.0'} 1134 | dev: false 1135 | 1136 | /punycode/2.1.1: 1137 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 1138 | engines: {node: '>=6'} 1139 | dev: true 1140 | 1141 | /queue-microtask/1.2.3: 1142 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1143 | dev: true 1144 | 1145 | /regexpp/3.2.0: 1146 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 1147 | engines: {node: '>=8'} 1148 | dev: true 1149 | 1150 | /resolve-from/4.0.0: 1151 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1152 | engines: {node: '>=4'} 1153 | dev: true 1154 | 1155 | /resolve/1.22.1: 1156 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1157 | hasBin: true 1158 | dependencies: 1159 | is-core-module: 2.10.0 1160 | path-parse: 1.0.7 1161 | supports-preserve-symlinks-flag: 1.0.0 1162 | dev: true 1163 | 1164 | /reusify/1.0.4: 1165 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1166 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1167 | dev: true 1168 | 1169 | /rimraf/3.0.2: 1170 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1171 | hasBin: true 1172 | dependencies: 1173 | glob: 7.2.0 1174 | dev: true 1175 | 1176 | /rollup/2.78.1: 1177 | resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} 1178 | engines: {node: '>=10.0.0'} 1179 | hasBin: true 1180 | optionalDependencies: 1181 | fsevents: 2.3.2 1182 | dev: true 1183 | 1184 | /run-parallel/1.2.0: 1185 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1186 | dependencies: 1187 | queue-microtask: 1.2.3 1188 | dev: true 1189 | 1190 | /semver/7.3.8: 1191 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 1192 | engines: {node: '>=10'} 1193 | hasBin: true 1194 | dependencies: 1195 | lru-cache: 6.0.0 1196 | dev: true 1197 | 1198 | /shebang-command/2.0.0: 1199 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1200 | engines: {node: '>=8'} 1201 | dependencies: 1202 | shebang-regex: 3.0.0 1203 | dev: true 1204 | 1205 | /shebang-regex/3.0.0: 1206 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1207 | engines: {node: '>=8'} 1208 | dev: true 1209 | 1210 | /slash/3.0.0: 1211 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1212 | engines: {node: '>=8'} 1213 | dev: true 1214 | 1215 | /snake-case/3.0.4: 1216 | resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} 1217 | dependencies: 1218 | dot-case: 3.0.4 1219 | tslib: 2.3.1 1220 | dev: false 1221 | 1222 | /source-map-js/1.0.2: 1223 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1224 | engines: {node: '>=0.10.0'} 1225 | dev: true 1226 | 1227 | /strip-ansi/6.0.1: 1228 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1229 | engines: {node: '>=8'} 1230 | dependencies: 1231 | ansi-regex: 5.0.1 1232 | dev: true 1233 | 1234 | /strip-json-comments/3.1.1: 1235 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1236 | engines: {node: '>=8'} 1237 | dev: true 1238 | 1239 | /supports-color/7.2.0: 1240 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1241 | engines: {node: '>=8'} 1242 | dependencies: 1243 | has-flag: 4.0.0 1244 | dev: true 1245 | 1246 | /supports-preserve-symlinks-flag/1.0.0: 1247 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1248 | engines: {node: '>= 0.4'} 1249 | dev: true 1250 | 1251 | /text-table/0.2.0: 1252 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1253 | dev: true 1254 | 1255 | /to-regex-range/5.0.1: 1256 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1257 | engines: {node: '>=8.0'} 1258 | dependencies: 1259 | is-number: 7.0.0 1260 | dev: true 1261 | 1262 | /tslib/1.14.1: 1263 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 1264 | dev: true 1265 | 1266 | /tslib/2.3.1: 1267 | resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} 1268 | dev: false 1269 | 1270 | /tsutils/3.21.0_typescript@4.8.4: 1271 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 1272 | engines: {node: '>= 6'} 1273 | peerDependencies: 1274 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 1275 | dependencies: 1276 | tslib: 1.14.1 1277 | typescript: 4.8.4 1278 | dev: true 1279 | 1280 | /type-check/0.4.0: 1281 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1282 | engines: {node: '>= 0.8.0'} 1283 | dependencies: 1284 | prelude-ls: 1.2.1 1285 | dev: true 1286 | 1287 | /type-fest/0.20.2: 1288 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 1289 | engines: {node: '>=10'} 1290 | dev: true 1291 | 1292 | /typescript/4.8.4: 1293 | resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} 1294 | engines: {node: '>=4.2.0'} 1295 | hasBin: true 1296 | dev: true 1297 | 1298 | /uri-js/4.4.1: 1299 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1300 | dependencies: 1301 | punycode: 2.1.1 1302 | dev: true 1303 | 1304 | /util/0.10.4: 1305 | resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} 1306 | dependencies: 1307 | inherits: 2.0.3 1308 | dev: false 1309 | 1310 | /vite/3.1.8: 1311 | resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==} 1312 | engines: {node: ^14.18.0 || >=16.0.0} 1313 | hasBin: true 1314 | peerDependencies: 1315 | less: '*' 1316 | sass: '*' 1317 | stylus: '*' 1318 | terser: ^5.4.0 1319 | peerDependenciesMeta: 1320 | less: 1321 | optional: true 1322 | sass: 1323 | optional: true 1324 | stylus: 1325 | optional: true 1326 | terser: 1327 | optional: true 1328 | dependencies: 1329 | esbuild: 0.15.10 1330 | postcss: 8.4.18 1331 | resolve: 1.22.1 1332 | rollup: 2.78.1 1333 | optionalDependencies: 1334 | fsevents: 2.3.2 1335 | dev: true 1336 | 1337 | /which/2.0.2: 1338 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1339 | engines: {node: '>= 8'} 1340 | hasBin: true 1341 | dependencies: 1342 | isexe: 2.0.0 1343 | dev: true 1344 | 1345 | /word-wrap/1.2.3: 1346 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 1347 | engines: {node: '>=0.10.0'} 1348 | dev: true 1349 | 1350 | /wrappy/1.0.2: 1351 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1352 | dev: true 1353 | 1354 | /yallist/4.0.0: 1355 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1356 | dev: true 1357 | 1358 | /yocto-queue/0.1.0: 1359 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1360 | engines: {node: '>=10'} 1361 | dev: true 1362 | -------------------------------------------------------------------------------- /screencast.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vipzhicheng/logseq-plugin-task-management-shortcuts/b3f9afb44ab3ade456779b74af54d9d42b632350/screencast.gif -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import '@logseq/libs'; 2 | 3 | const settingsVersion = 'v2'; 4 | export const defaultSettings = { 5 | keyBindings: { 6 | 1: 'ctrl+1', 7 | 2: 'ctrl+2', 8 | 3: 'ctrl+3', 9 | 4: 'ctrl+4', 10 | 5: 'ctrl+5', 11 | 6: 'ctrl+6', 12 | 7: 'ctrl+7', 13 | 0: 'ctrl+0', 14 | }, 15 | tasks: ['TODO', 'DOING', 'DONE', 'LATER', 'NOW', 'WAITING', 'CANCELLED'], 16 | settingsVersion, 17 | disabled: false, 18 | }; 19 | 20 | export type DefaultSettingsType = typeof defaultSettings; 21 | 22 | const initSettings = () => { 23 | let settings = logseq.settings; 24 | 25 | const shouldUpdateSettings = 26 | !settings || settings.settingsVersion != defaultSettings.settingsVersion; 27 | 28 | if (shouldUpdateSettings) { 29 | settings = defaultSettings; 30 | logseq.updateSettings(settings); 31 | } 32 | }; 33 | 34 | const getSettings = ( 35 | key: string | undefined, 36 | defaultValue: any = undefined 37 | ) => { 38 | let settings = logseq.settings; 39 | const merged = Object.assign(defaultSettings, settings); 40 | return key ? (merged[key] ? merged[key] : defaultValue) : merged; 41 | }; 42 | 43 | async function main() { 44 | // settings 45 | initSettings(); 46 | 47 | const keyBindings = getSettings('keyBindings', {}); 48 | const tasks = getSettings('tasks', []); 49 | 50 | async function setTask(taskBindedId: number) { 51 | if (tasks.length < taskBindedId) { 52 | return; 53 | } 54 | 55 | const selected = await logseq.Editor.getSelectedBlocks(); 56 | if (selected && selected?.length > 1) { 57 | for (let block of selected) { 58 | if (block?.uuid) { 59 | const regx = new RegExp(`^${tasks.join('|')}`, 'gm'); 60 | let content = regx.test(block.content) 61 | ? block.content.replace(regx, '').trimStart() 62 | : block.content; 63 | if (taskBindedId > 0) { 64 | await logseq.Editor.updateBlock( 65 | block.uuid, 66 | tasks[taskBindedId - 1] + ' ' + content 67 | ); 68 | } else { 69 | await logseq.Editor.updateBlock(block.uuid, content); 70 | } 71 | } 72 | } 73 | } else { 74 | const block = await logseq.Editor.getCurrentBlock(); 75 | if (block?.uuid) { 76 | const regx = new RegExp(`^${tasks.join('|')}`, 'gm'); 77 | let content = regx.test(block.content) 78 | ? block.content.replace(regx, '').trimStart() 79 | : block.content; 80 | if (taskBindedId > 0) { 81 | await logseq.Editor.updateBlock( 82 | block.uuid, 83 | tasks[taskBindedId - 1] + ' ' + content 84 | ); 85 | } else { 86 | await logseq.Editor.updateBlock(block.uuid, content); 87 | } 88 | } 89 | } 90 | } 91 | 92 | for (let taskBindedId of [...new Array(tasks.length + 1).keys()]) { 93 | logseq.App.registerCommandPalette( 94 | { 95 | key: `task-management-shortcuts-task-${taskBindedId}`, 96 | label: `Set block to task ${taskBindedId}`, 97 | keybinding: { 98 | mode: 'global', 99 | binding: keyBindings[taskBindedId] || 'ctrl+' + taskBindedId, 100 | }, 101 | }, 102 | async () => { 103 | await setTask(taskBindedId); 104 | } 105 | ); 106 | } 107 | } 108 | 109 | logseq.ready(main).catch(console.error); 110 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Basic Options */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | "target": "ESNext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, 8 | "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, 9 | "lib": [ 10 | "ESNext", 11 | "DOM" 12 | ] /* Specify library files to be included in the compilation. */, 13 | // "allowJs": true, /* Allow javascript files to be compiled. */ 14 | // "checkJs": true, /* Report errors in .js files. */ 15 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 16 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 17 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 18 | "sourceMap": true /* Generates corresponding '.map' file. */, 19 | // "outFile": "./", /* Concatenate and emit output to single file. */ 20 | // "outDir": "./", /* Redirect output structure to the directory. */ 21 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 22 | // "composite": true, /* Enable project compilation */ 23 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 24 | // "removeComments": true, /* Do not emit comments to output. */ 25 | // "noEmit": true, /* Do not emit outputs. */ 26 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 27 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 28 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 29 | 30 | /* Strict Type-Checking Options */ 31 | "strict": true /* Enable all strict type-checking options. */, 32 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 33 | // "strictNullChecks": true, /* Enable strict null checks. */ 34 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 35 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 36 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 37 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 38 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 39 | 40 | /* Additional Checks */ 41 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 42 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 43 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 44 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 45 | 46 | /* Module Resolution Options */ 47 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 48 | "baseUrl": "./" /* Base directory to resolve non-absolute module names. */, 49 | "paths": { 50 | "@/*": ["src/*"] 51 | } /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */, 52 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 53 | // "typeRoots": [], /* List of folders to include type definitions from. */ 54 | // "types": [], /* Type declaration files to be included in compilation. */ 55 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 56 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, 57 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 58 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 59 | 60 | /* Source Map Options */ 61 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 62 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 63 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 64 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 65 | 66 | /* Experimental Options */ 67 | "experimentalDecorators": true /* Enables experimental support for ES7 decorators. */, 68 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 69 | 70 | /* Advanced Options */ 71 | "skipLibCheck": true /* Skip type checking of declaration files. */, 72 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import path from 'path'; 3 | 4 | export default defineConfig({ 5 | base: './', 6 | build: { 7 | sourcemap: false, 8 | target: 'esnext', 9 | minify: 'esbuild', 10 | chunkSizeWarningLimit: 1024, 11 | rollupOptions: { 12 | output: { 13 | manualChunks: { 14 | logseq: ['@logseq/libs'], 15 | }, 16 | }, 17 | }, 18 | }, 19 | resolve: { 20 | alias: { 21 | '@': path.resolve(__dirname, './src'), 22 | }, 23 | }, 24 | }); 25 | --------------------------------------------------------------------------------