├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .gitignore ├── .npmrc ├── CONVENTIONS.md ├── LICENSE ├── README.md ├── copy.bat ├── esbuild.config.mjs ├── main.ts ├── manifest.json ├── package-lock.json ├── package.json ├── rollup.config.mjs ├── styles.css ├── tsconfig.json ├── version-bump.mjs └── versions.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | insert_final_newline = true 8 | indent_style = tab 9 | indent_size = 4 10 | tab_width = 4 11 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | npm node_modules 2 | build -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "env": { "node": true }, 5 | "plugins": [ 6 | "@typescript-eslint" 7 | ], 8 | "extends": [ 9 | "eslint:recommended", 10 | "plugin:@typescript-eslint/eslint-recommended", 11 | "plugin:@typescript-eslint/recommended" 12 | ], 13 | "parserOptions": { 14 | "sourceType": "module" 15 | }, 16 | "rules": { 17 | "no-unused-vars": "off", 18 | "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }], 19 | "@typescript-eslint/ban-ts-comment": "off", 20 | "no-prototype-builtins": "off", 21 | "@typescript-eslint/no-empty-function": "off" 22 | } 23 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # vscode 2 | .vscode 3 | 4 | # Intellij 5 | *.iml 6 | .idea 7 | 8 | # npm 9 | node_modules 10 | 11 | # Don't include the compiled main.js file in the repo. 12 | # They should be uploaded to GitHub releases instead. 13 | main.js 14 | 15 | # Exclude sourcemaps 16 | *.map 17 | 18 | # obsidian 19 | data.json 20 | 21 | # Exclude macOS Finder (System Explorer) View States 22 | .DS_Store 23 | 24 | .obsidian 25 | .aider* 26 | .env 27 | .repomix* 28 | repomix* 29 | test-vault/ 30 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | tag-version-prefix="" -------------------------------------------------------------------------------- /CONVENTIONS.md: -------------------------------------------------------------------------------- 1 | # Cycle In Sidebar Plugin - Project Convention Guide 2 | 3 | ## Project Overview 4 | The Cycle In Sidebar Plugin is an Obsidian plugin that enables users to navigate through sidebar tabs using keyboard shortcuts. It's built using TypeScript and follows Obsidian's plugin architecture. 5 | 6 | ## Core Functionality 7 | - Provides commands to cycle through tabs in both left and right sidebars 8 | - Supports both forward and reverse cycling 9 | - Maintains tab state and visibility within sidebars 10 | - Integrates with Obsidian's workspace API 11 | 12 | ## Project Structure 13 | 14 | ### Key Files 15 | 1. `main.ts`: Core plugin implementation 16 | 2. `manifest.json`: Plugin metadata and configuration 17 | 3. `package.json`: Project dependencies and scripts 18 | 4. `styles.css`: Custom styling (currently empty) 19 | 20 | ## Code Conventions 21 | 22 | ### Plugin Architecture 23 | 1. **Class Structure** 24 | - Main plugin class extends `Plugin` from Obsidian 25 | - Named `CycleInSidebarPlugin` 26 | - Follows Obsidian's plugin lifecycle (onload/onunload) 27 | 28 | 2. **Methods Naming** 29 | - Utility methods use camelCase 30 | - Sidebar-specific methods include direction in name (e.g., `cycleLeftSideBar`, `cycleRightSideBar`) 31 | - Helper methods describe their purpose (e.g., `getLeavesOfSidebar`, `isSidebarOpen`) 32 | 33 | 3. **Command Registration** 34 | ```typescript 35 | this.addCommand({ 36 | id: 'command-id', 37 | name: 'Human Readable Name', 38 | callback: () => { /* action */ } 39 | }); 40 | ``` 41 | 42 | ### TypeScript Conventions 43 | 44 | 1. **Type Safety** 45 | - Strict null checks enabled 46 | - No implicit any types 47 | - Module resolution set to "node" 48 | - Targets ES6 49 | 50 | 2. **Import Structure** 51 | ```typescript 52 | import { Plugin, WorkspaceLeaf, WorkspaceSidedock } from 'obsidian'; 53 | ``` 54 | 55 | 3. **Method Signatures** 56 | - Clear parameter types 57 | - Return types specified where non-obvious 58 | - Async methods properly marked 59 | 60 | ### Build System 61 | 62 | 1. **ESBuild Configuration** 63 | - Bundles TypeScript code 64 | - Excludes Obsidian core modules 65 | - Development watch mode support 66 | - Production builds strip source maps 67 | 68 | 2. **NPM Scripts** 69 | ```json 70 | "dev": "node esbuild.config.mjs", 71 | "build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production", 72 | "version": "node version-bump.mjs && git add manifest.json versions.json" 73 | ``` 74 | 75 | ## Implementation Patterns 76 | 77 | ### Sidebar Navigation 78 | 1. **Leaf Management** 79 | - Retrieves all leaves in a sidebar 80 | - Filters out empty views 81 | - Maintains cycling order 82 | 83 | 2. **State Tracking** 84 | ```typescript 85 | // Pattern for checking sidebar state 86 | isSidebarOpen(split: WorkspaceSidedock) { 87 | return this.getLeavesOfSidebar(split) 88 | .some(l => l.view.containerEl.clientHeight > 0); 89 | } 90 | ``` 91 | 92 | 3. **Cycling Logic** 93 | - Determines current active tab 94 | - Calculates next tab index 95 | - Handles wrap-around at list boundaries 96 | - Supports bidirectional navigation 97 | 98 | ### Command Registration Pattern 99 | ```typescript 100 | { 101 | id: 'cycle-direction-sidebar[-reverse]', 102 | name: 'Cycle tabs of direction sidebar [in reverse]', 103 | callback: () => { this.cycleDirectionSideBar(offset) } 104 | } 105 | ``` 106 | 107 | ## Version Management 108 | 109 | 1. **Version Control** 110 | - Uses semantic versioning 111 | - Maintains minimum app version compatibility 112 | - Updates tracked in versions.json 113 | 114 | 2. **Version Bump Process** 115 | - Automated through version-bump.mjs 116 | - Updates both manifest.json and versions.json 117 | - Maintains version synchronization 118 | 119 | ## Best Practices for Extensions 120 | 121 | 1. **Plugin Integration** 122 | - Register commands in onload() 123 | - Clean up resources in onunload() 124 | - Use Obsidian's API for workspace manipulation 125 | 126 | 2. **Error Handling** 127 | - Graceful handling of missing leaves 128 | - Safe iteration through workspace elements 129 | - Boundary checking in cycling operations 130 | 131 | 3. **Performance Considerations** 132 | - Efficient leaf filtering 133 | - Minimal DOM operations 134 | - Clean state management 135 | 136 | ## Development Guidelines 137 | 138 | 1. **Setup** 139 | - Install dependencies with npm 140 | - Use provided build scripts 141 | - Test in development mode 142 | 143 | 2. **Testing** 144 | - Verify cycling in both directions 145 | - Check empty sidebar handling 146 | - Validate keyboard shortcut functionality 147 | 148 | 3. **Deployment** 149 | - Build for production 150 | - Update version numbers 151 | - Verify manifest settings 152 | 153 | ## Future Development Considerations 154 | 155 | 1. **Potential Enhancements** 156 | - Tab group support 157 | - Custom cycling order 158 | - State persistence 159 | - Animation options 160 | 161 | 2. **Compatibility** 162 | - Maintain Obsidian version compatibility 163 | - Monitor API changes 164 | - Update TypeScript definitions as needed 165 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Liam Cain 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 | # Obsidian Cycle In Sidebar Plugin 2 | 3 | This plugin allows you to use a hotkey to navigate through tabs in the left or right sidebars. 4 | 5 | ## Features 6 | 7 | - Cycle through tabs in the left and right sidebars 8 | - Cycle in both forward and reverse directions 9 | 10 | ## Setup 11 | 12 | 1. Open Settings 13 | 2. Go to Hotkeys 14 | 3. Assign your preferred keyboard shortcuts to these commands: 15 | 16 | ### Default Recommended Shortcuts: 17 | 18 | - Alt + 2: Cycle left sidebar tabs 19 | - Alt + 4: Cycle right sidebar tabs 20 | - Alt + 1: Toggle left sidebar 21 | - Alt + 3: Toggle right sidebar 22 | 23 | ### Alternative Shortcuts (Vim-style) 24 | 25 | If you prefer Vim-like shortcuts, try: 26 | - Ctrl + [: Cycle left sidebar tabs 27 | - Ctrl + ]: Cycle right sidebar tabs 28 | - Ctrl + Shift + [: Cycle left sidebar tabs in reverse 29 | - Ctrl + Shift + ]: Cycle right sidebar tabs in reverse 30 | 31 | -------------------------------------------------------------------------------- /copy.bat: -------------------------------------------------------------------------------- 1 | copy main.js C:\temp\Obsidian\TempObsidian\.obsidian\plugins\cycle\ 2 | copy manifest.json C:\temp\Obsidian\TempObsidian\.obsidian\plugins\cycle\ 3 | copy styles.css C:\temp\Obsidian\TempObsidian\.obsidian\plugins\cycle\ 4 | -------------------------------------------------------------------------------- /esbuild.config.mjs: -------------------------------------------------------------------------------- 1 | import esbuild from "esbuild"; 2 | import process from "process"; 3 | import builtins from 'builtin-modules' 4 | import {copyFileSync} from "fs"; 5 | 6 | const banner = 7 | `/* 8 | THIS IS A GENERATED/BUNDLED FILE BY ESBUILD 9 | if you want to view the source, please visit the github repository of this plugin 10 | */ 11 | `; 12 | 13 | const prod = (process.argv[2] === 'production'); 14 | const devPlugins = '../obsidian-develop-vault/.obsidian/plugins/cycle-in-sidebar' 15 | esbuild.build({ 16 | banner: { 17 | js: banner, 18 | }, 19 | entryPoints: ['main.ts'], 20 | bundle: true, 21 | external: [ 22 | 'obsidian', 23 | 'electron', 24 | '@codemirror/autocomplete', 25 | '@codemirror/collab', 26 | '@codemirror/commands', 27 | '@codemirror/language', 28 | '@codemirror/lint', 29 | '@codemirror/search', 30 | '@codemirror/state', 31 | '@codemirror/view', 32 | '@lezer/common', 33 | '@lezer/highlight', 34 | '@lezer/lr', 35 | ...builtins], 36 | format: 'cjs', 37 | watch: { 38 | onRebuild(error, result) { 39 | const files = ['main.js', 'manifest.json', 'styles.css']; 40 | files.forEach(file => { 41 | console.log('writes to', devPlugins + '/' + file) 42 | copyFileSync(file, devPlugins + '/' + file); 43 | }) 44 | } 45 | }, 46 | target: 'es2018', 47 | logLevel: "info", 48 | sourcemap: prod ? false : 'inline', 49 | treeShaking: true, 50 | outfile: 'main.js', 51 | }).then(() => { 52 | }).catch(() => process.exit(1)); 53 | -------------------------------------------------------------------------------- /main.ts: -------------------------------------------------------------------------------- 1 | import {Plugin, WorkspaceLeaf, WorkspaceSidedock} from 'obsidian'; 2 | 3 | export default class CycleInSidebarPlugin extends Plugin { 4 | getLeavesOfSidebar(split: WorkspaceSidedock) { 5 | const oneSideSplitRoot = split.getRoot() 6 | const leaves : WorkspaceLeaf[] = [] 7 | this.app.workspace.iterateAllLeaves(l => { leaves.push(l) }) 8 | const leavesInOneSide = leaves 9 | .filter(l => l.getRoot() === oneSideSplitRoot) 10 | .filter(l => l.view.getViewType() !== 'empty'); 11 | if (leavesInOneSide.length == 0) return leaves; 12 | 13 | // filter only first container (if top/ bottom views) 14 | const parent = leavesInOneSide[0].parent 15 | return leavesInOneSide.filter(l => l.parent == parent); 16 | } 17 | 18 | isSidebarOpen (split: WorkspaceSidedock) { 19 | return this.getLeavesOfSidebar(split).some(l => l.view.containerEl.clientHeight > 0) 20 | } 21 | cycleInSideBar (split: WorkspaceSidedock, offset: number) { 22 | const leaves = this.getLeavesOfSidebar(split) 23 | var currentIndex = 0; 24 | for (currentIndex = 0; currentIndex < leaves.length; currentIndex++) { 25 | if (leaves[currentIndex].view.containerEl.clientHeight > 0) break; 26 | } 27 | if (currentIndex == leaves.length) return; 28 | const nextIndex = ((currentIndex + offset) < 0 ? (leaves.length - 1) : (currentIndex + offset)) % leaves.length; 29 | this.app.workspace.revealLeaf(leaves[nextIndex]); 30 | } 31 | 32 | async cycleRightSideBar (offset: number) { 33 | this.cycleInSideBar(this.app.workspace.rightSplit, offset); 34 | 35 | } 36 | async cycleLeftSideBar (offset: number) { 37 | this.cycleInSideBar(this.app.workspace.leftSplit, offset); 38 | } 39 | 40 | 41 | async onload() { 42 | this.addCommand({ 43 | id: 'cycle-right-sidebar', 44 | name: 'Cycle tabs of right sidebar', 45 | callback: () => { this.cycleRightSideBar(1) } 46 | }); 47 | this.addCommand({ 48 | id: 'cycle-right-sidebar-reverse', 49 | name: 'Cycle tabs of right sidebar in reverse', 50 | callback: () => { this.cycleRightSideBar(-1) } 51 | }); 52 | 53 | this.addCommand({ 54 | id: 'cycle-left-sidebar', 55 | name: 'Cycle tabs of left sidebar', 56 | callback: () => { this.cycleLeftSideBar(1) } 57 | }); 58 | this.addCommand({ 59 | id: 'cycle-left-sidebar-reverse', 60 | name: 'Cycle tabs of left sidebar in reverse', 61 | callback: () => { this.cycleLeftSideBar(-1) } 62 | }); 63 | } 64 | 65 | onunload() { 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "cycle-in-sidebar", 3 | "name": "Cycle In Sidebar", 4 | "version": "1.0.3", 5 | "minAppVersion": "0.15.0", 6 | "description": "This a plugin provides hotkeys to cycle through tabs in the left or right sidebars.", 7 | "author": "Houcheng", 8 | "authorUrl": "https://www.flickr.com/photos/houcheng_tw/", 9 | "isDesktopOnly": false 10 | } 11 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cycle-in-sidebar", 3 | "version": "1.0.2", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "cycle-in-sidebar", 9 | "version": "1.0.2", 10 | "license": "MIT", 11 | "devDependencies": { 12 | "@rollup/plugin-typescript": "^11.1.0", 13 | "@types/node": "^16.11.6", 14 | "@typescript-eslint/eslint-plugin": "5.29.0", 15 | "@typescript-eslint/parser": "5.29.0", 16 | "builtin-modules": "3.3.0", 17 | "obsidian": "latest", 18 | "rollup": "^2.79.2", 19 | "rollup-plugin-copy": "^3.5.0", 20 | "rollup-plugin-terser": "^7.0.2", 21 | "tslib": "2.4.0", 22 | "typescript": "4.7.4" 23 | } 24 | }, 25 | "node_modules/@babel/code-frame": { 26 | "version": "7.26.2", 27 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", 28 | "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", 29 | "dev": true, 30 | "license": "MIT", 31 | "dependencies": { 32 | "@babel/helper-validator-identifier": "^7.25.9", 33 | "js-tokens": "^4.0.0", 34 | "picocolors": "^1.0.0" 35 | }, 36 | "engines": { 37 | "node": ">=6.9.0" 38 | } 39 | }, 40 | "node_modules/@babel/helper-validator-identifier": { 41 | "version": "7.25.9", 42 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", 43 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", 44 | "dev": true, 45 | "license": "MIT", 46 | "engines": { 47 | "node": ">=6.9.0" 48 | } 49 | }, 50 | "node_modules/@codemirror/state": { 51 | "version": "6.4.1", 52 | "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", 53 | "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==", 54 | "dev": true, 55 | "license": "MIT", 56 | "peer": true 57 | }, 58 | "node_modules/@codemirror/view": { 59 | "version": "6.35.0", 60 | "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.35.0.tgz", 61 | "integrity": "sha512-I0tYy63q5XkaWsJ8QRv5h6ves7kvtrBWjBcnf/bzohFJQc5c14a1AQRdE8QpPF9eMp5Mq2FMm59TCj1gDfE7kw==", 62 | "dev": true, 63 | "license": "MIT", 64 | "peer": true, 65 | "dependencies": { 66 | "@codemirror/state": "^6.4.0", 67 | "style-mod": "^4.1.0", 68 | "w3c-keyname": "^2.2.4" 69 | } 70 | }, 71 | "node_modules/@eslint-community/eslint-utils": { 72 | "version": "4.4.1", 73 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", 74 | "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", 75 | "dev": true, 76 | "license": "MIT", 77 | "peer": true, 78 | "dependencies": { 79 | "eslint-visitor-keys": "^3.4.3" 80 | }, 81 | "engines": { 82 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 83 | }, 84 | "funding": { 85 | "url": "https://opencollective.com/eslint" 86 | }, 87 | "peerDependencies": { 88 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 89 | } 90 | }, 91 | "node_modules/@eslint-community/regexpp": { 92 | "version": "4.12.1", 93 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 94 | "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 95 | "dev": true, 96 | "license": "MIT", 97 | "peer": true, 98 | "engines": { 99 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 100 | } 101 | }, 102 | "node_modules/@eslint/eslintrc": { 103 | "version": "2.1.4", 104 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", 105 | "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", 106 | "dev": true, 107 | "license": "MIT", 108 | "peer": true, 109 | "dependencies": { 110 | "ajv": "^6.12.4", 111 | "debug": "^4.3.2", 112 | "espree": "^9.6.0", 113 | "globals": "^13.19.0", 114 | "ignore": "^5.2.0", 115 | "import-fresh": "^3.2.1", 116 | "js-yaml": "^4.1.0", 117 | "minimatch": "^3.1.2", 118 | "strip-json-comments": "^3.1.1" 119 | }, 120 | "engines": { 121 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 122 | }, 123 | "funding": { 124 | "url": "https://opencollective.com/eslint" 125 | } 126 | }, 127 | "node_modules/@eslint/js": { 128 | "version": "8.57.1", 129 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", 130 | "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", 131 | "dev": true, 132 | "license": "MIT", 133 | "peer": true, 134 | "engines": { 135 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 136 | } 137 | }, 138 | "node_modules/@humanwhocodes/config-array": { 139 | "version": "0.13.0", 140 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", 141 | "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", 142 | "deprecated": "Use @eslint/config-array instead", 143 | "dev": true, 144 | "license": "Apache-2.0", 145 | "peer": true, 146 | "dependencies": { 147 | "@humanwhocodes/object-schema": "^2.0.3", 148 | "debug": "^4.3.1", 149 | "minimatch": "^3.0.5" 150 | }, 151 | "engines": { 152 | "node": ">=10.10.0" 153 | } 154 | }, 155 | "node_modules/@humanwhocodes/module-importer": { 156 | "version": "1.0.1", 157 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 158 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 159 | "dev": true, 160 | "license": "Apache-2.0", 161 | "peer": true, 162 | "engines": { 163 | "node": ">=12.22" 164 | }, 165 | "funding": { 166 | "type": "github", 167 | "url": "https://github.com/sponsors/nzakas" 168 | } 169 | }, 170 | "node_modules/@humanwhocodes/object-schema": { 171 | "version": "2.0.3", 172 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", 173 | "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", 174 | "deprecated": "Use @eslint/object-schema instead", 175 | "dev": true, 176 | "license": "BSD-3-Clause", 177 | "peer": true 178 | }, 179 | "node_modules/@jridgewell/gen-mapping": { 180 | "version": "0.3.5", 181 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 182 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 183 | "dev": true, 184 | "license": "MIT", 185 | "dependencies": { 186 | "@jridgewell/set-array": "^1.2.1", 187 | "@jridgewell/sourcemap-codec": "^1.4.10", 188 | "@jridgewell/trace-mapping": "^0.3.24" 189 | }, 190 | "engines": { 191 | "node": ">=6.0.0" 192 | } 193 | }, 194 | "node_modules/@jridgewell/resolve-uri": { 195 | "version": "3.1.2", 196 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 197 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 198 | "dev": true, 199 | "license": "MIT", 200 | "engines": { 201 | "node": ">=6.0.0" 202 | } 203 | }, 204 | "node_modules/@jridgewell/set-array": { 205 | "version": "1.2.1", 206 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 207 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 208 | "dev": true, 209 | "license": "MIT", 210 | "engines": { 211 | "node": ">=6.0.0" 212 | } 213 | }, 214 | "node_modules/@jridgewell/source-map": { 215 | "version": "0.3.6", 216 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", 217 | "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", 218 | "dev": true, 219 | "license": "MIT", 220 | "dependencies": { 221 | "@jridgewell/gen-mapping": "^0.3.5", 222 | "@jridgewell/trace-mapping": "^0.3.25" 223 | } 224 | }, 225 | "node_modules/@jridgewell/sourcemap-codec": { 226 | "version": "1.5.0", 227 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 228 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 229 | "dev": true, 230 | "license": "MIT" 231 | }, 232 | "node_modules/@jridgewell/trace-mapping": { 233 | "version": "0.3.25", 234 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 235 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 236 | "dev": true, 237 | "license": "MIT", 238 | "dependencies": { 239 | "@jridgewell/resolve-uri": "^3.1.0", 240 | "@jridgewell/sourcemap-codec": "^1.4.14" 241 | } 242 | }, 243 | "node_modules/@nodelib/fs.scandir": { 244 | "version": "2.1.5", 245 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 246 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 247 | "dev": true, 248 | "license": "MIT", 249 | "dependencies": { 250 | "@nodelib/fs.stat": "2.0.5", 251 | "run-parallel": "^1.1.9" 252 | }, 253 | "engines": { 254 | "node": ">= 8" 255 | } 256 | }, 257 | "node_modules/@nodelib/fs.stat": { 258 | "version": "2.0.5", 259 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 260 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 261 | "dev": true, 262 | "license": "MIT", 263 | "engines": { 264 | "node": ">= 8" 265 | } 266 | }, 267 | "node_modules/@nodelib/fs.walk": { 268 | "version": "1.2.8", 269 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 270 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 271 | "dev": true, 272 | "license": "MIT", 273 | "dependencies": { 274 | "@nodelib/fs.scandir": "2.1.5", 275 | "fastq": "^1.6.0" 276 | }, 277 | "engines": { 278 | "node": ">= 8" 279 | } 280 | }, 281 | "node_modules/@rollup/plugin-typescript": { 282 | "version": "11.1.6", 283 | "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.6.tgz", 284 | "integrity": "sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==", 285 | "dev": true, 286 | "license": "MIT", 287 | "dependencies": { 288 | "@rollup/pluginutils": "^5.1.0", 289 | "resolve": "^1.22.1" 290 | }, 291 | "engines": { 292 | "node": ">=14.0.0" 293 | }, 294 | "peerDependencies": { 295 | "rollup": "^2.14.0||^3.0.0||^4.0.0", 296 | "tslib": "*", 297 | "typescript": ">=3.7.0" 298 | }, 299 | "peerDependenciesMeta": { 300 | "rollup": { 301 | "optional": true 302 | }, 303 | "tslib": { 304 | "optional": true 305 | } 306 | } 307 | }, 308 | "node_modules/@rollup/pluginutils": { 309 | "version": "5.1.3", 310 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", 311 | "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", 312 | "dev": true, 313 | "license": "MIT", 314 | "dependencies": { 315 | "@types/estree": "^1.0.0", 316 | "estree-walker": "^2.0.2", 317 | "picomatch": "^4.0.2" 318 | }, 319 | "engines": { 320 | "node": ">=14.0.0" 321 | }, 322 | "peerDependencies": { 323 | "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" 324 | }, 325 | "peerDependenciesMeta": { 326 | "rollup": { 327 | "optional": true 328 | } 329 | } 330 | }, 331 | "node_modules/@types/codemirror": { 332 | "version": "5.60.8", 333 | "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz", 334 | "integrity": "sha512-VjFgDF/eB+Aklcy15TtOTLQeMjTo07k7KAjql8OK5Dirr7a6sJY4T1uVBDuTVG9VEmn1uUsohOpYnVfgC6/jyw==", 335 | "dev": true, 336 | "license": "MIT", 337 | "dependencies": { 338 | "@types/tern": "*" 339 | } 340 | }, 341 | "node_modules/@types/estree": { 342 | "version": "1.0.6", 343 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 344 | "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", 345 | "dev": true, 346 | "license": "MIT" 347 | }, 348 | "node_modules/@types/fs-extra": { 349 | "version": "8.1.5", 350 | "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", 351 | "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", 352 | "dev": true, 353 | "license": "MIT", 354 | "dependencies": { 355 | "@types/node": "*" 356 | } 357 | }, 358 | "node_modules/@types/glob": { 359 | "version": "7.2.0", 360 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", 361 | "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", 362 | "dev": true, 363 | "license": "MIT", 364 | "dependencies": { 365 | "@types/minimatch": "*", 366 | "@types/node": "*" 367 | } 368 | }, 369 | "node_modules/@types/json-schema": { 370 | "version": "7.0.15", 371 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 372 | "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 373 | "dev": true, 374 | "license": "MIT" 375 | }, 376 | "node_modules/@types/minimatch": { 377 | "version": "5.1.2", 378 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", 379 | "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", 380 | "dev": true, 381 | "license": "MIT" 382 | }, 383 | "node_modules/@types/node": { 384 | "version": "16.18.121", 385 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.121.tgz", 386 | "integrity": "sha512-Gk/pOy8H0cvX8qNrwzElYIECpcUn87w4EAEFXFvPJ8qsP9QR/YqukUORSy0zmyDyvdo149idPpy4W6iC5aSbQA==", 387 | "dev": true, 388 | "license": "MIT" 389 | }, 390 | "node_modules/@types/tern": { 391 | "version": "0.23.9", 392 | "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz", 393 | "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==", 394 | "dev": true, 395 | "license": "MIT", 396 | "dependencies": { 397 | "@types/estree": "*" 398 | } 399 | }, 400 | "node_modules/@typescript-eslint/eslint-plugin": { 401 | "version": "5.29.0", 402 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz", 403 | "integrity": "sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==", 404 | "dev": true, 405 | "license": "MIT", 406 | "dependencies": { 407 | "@typescript-eslint/scope-manager": "5.29.0", 408 | "@typescript-eslint/type-utils": "5.29.0", 409 | "@typescript-eslint/utils": "5.29.0", 410 | "debug": "^4.3.4", 411 | "functional-red-black-tree": "^1.0.1", 412 | "ignore": "^5.2.0", 413 | "regexpp": "^3.2.0", 414 | "semver": "^7.3.7", 415 | "tsutils": "^3.21.0" 416 | }, 417 | "engines": { 418 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 419 | }, 420 | "funding": { 421 | "type": "opencollective", 422 | "url": "https://opencollective.com/typescript-eslint" 423 | }, 424 | "peerDependencies": { 425 | "@typescript-eslint/parser": "^5.0.0", 426 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 427 | }, 428 | "peerDependenciesMeta": { 429 | "typescript": { 430 | "optional": true 431 | } 432 | } 433 | }, 434 | "node_modules/@typescript-eslint/parser": { 435 | "version": "5.29.0", 436 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.29.0.tgz", 437 | "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==", 438 | "dev": true, 439 | "license": "BSD-2-Clause", 440 | "dependencies": { 441 | "@typescript-eslint/scope-manager": "5.29.0", 442 | "@typescript-eslint/types": "5.29.0", 443 | "@typescript-eslint/typescript-estree": "5.29.0", 444 | "debug": "^4.3.4" 445 | }, 446 | "engines": { 447 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 448 | }, 449 | "funding": { 450 | "type": "opencollective", 451 | "url": "https://opencollective.com/typescript-eslint" 452 | }, 453 | "peerDependencies": { 454 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 455 | }, 456 | "peerDependenciesMeta": { 457 | "typescript": { 458 | "optional": true 459 | } 460 | } 461 | }, 462 | "node_modules/@typescript-eslint/scope-manager": { 463 | "version": "5.29.0", 464 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz", 465 | "integrity": "sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==", 466 | "dev": true, 467 | "license": "MIT", 468 | "dependencies": { 469 | "@typescript-eslint/types": "5.29.0", 470 | "@typescript-eslint/visitor-keys": "5.29.0" 471 | }, 472 | "engines": { 473 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 474 | }, 475 | "funding": { 476 | "type": "opencollective", 477 | "url": "https://opencollective.com/typescript-eslint" 478 | } 479 | }, 480 | "node_modules/@typescript-eslint/type-utils": { 481 | "version": "5.29.0", 482 | "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz", 483 | "integrity": "sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==", 484 | "dev": true, 485 | "license": "MIT", 486 | "dependencies": { 487 | "@typescript-eslint/utils": "5.29.0", 488 | "debug": "^4.3.4", 489 | "tsutils": "^3.21.0" 490 | }, 491 | "engines": { 492 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 493 | }, 494 | "funding": { 495 | "type": "opencollective", 496 | "url": "https://opencollective.com/typescript-eslint" 497 | }, 498 | "peerDependencies": { 499 | "eslint": "*" 500 | }, 501 | "peerDependenciesMeta": { 502 | "typescript": { 503 | "optional": true 504 | } 505 | } 506 | }, 507 | "node_modules/@typescript-eslint/types": { 508 | "version": "5.29.0", 509 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.29.0.tgz", 510 | "integrity": "sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==", 511 | "dev": true, 512 | "license": "MIT", 513 | "engines": { 514 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 515 | }, 516 | "funding": { 517 | "type": "opencollective", 518 | "url": "https://opencollective.com/typescript-eslint" 519 | } 520 | }, 521 | "node_modules/@typescript-eslint/typescript-estree": { 522 | "version": "5.29.0", 523 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz", 524 | "integrity": "sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==", 525 | "dev": true, 526 | "license": "BSD-2-Clause", 527 | "dependencies": { 528 | "@typescript-eslint/types": "5.29.0", 529 | "@typescript-eslint/visitor-keys": "5.29.0", 530 | "debug": "^4.3.4", 531 | "globby": "^11.1.0", 532 | "is-glob": "^4.0.3", 533 | "semver": "^7.3.7", 534 | "tsutils": "^3.21.0" 535 | }, 536 | "engines": { 537 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 538 | }, 539 | "funding": { 540 | "type": "opencollective", 541 | "url": "https://opencollective.com/typescript-eslint" 542 | }, 543 | "peerDependenciesMeta": { 544 | "typescript": { 545 | "optional": true 546 | } 547 | } 548 | }, 549 | "node_modules/@typescript-eslint/utils": { 550 | "version": "5.29.0", 551 | "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.29.0.tgz", 552 | "integrity": "sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==", 553 | "dev": true, 554 | "license": "MIT", 555 | "dependencies": { 556 | "@types/json-schema": "^7.0.9", 557 | "@typescript-eslint/scope-manager": "5.29.0", 558 | "@typescript-eslint/types": "5.29.0", 559 | "@typescript-eslint/typescript-estree": "5.29.0", 560 | "eslint-scope": "^5.1.1", 561 | "eslint-utils": "^3.0.0" 562 | }, 563 | "engines": { 564 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 565 | }, 566 | "funding": { 567 | "type": "opencollective", 568 | "url": "https://opencollective.com/typescript-eslint" 569 | }, 570 | "peerDependencies": { 571 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 572 | } 573 | }, 574 | "node_modules/@typescript-eslint/visitor-keys": { 575 | "version": "5.29.0", 576 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz", 577 | "integrity": "sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==", 578 | "dev": true, 579 | "license": "MIT", 580 | "dependencies": { 581 | "@typescript-eslint/types": "5.29.0", 582 | "eslint-visitor-keys": "^3.3.0" 583 | }, 584 | "engines": { 585 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 586 | }, 587 | "funding": { 588 | "type": "opencollective", 589 | "url": "https://opencollective.com/typescript-eslint" 590 | } 591 | }, 592 | "node_modules/@ungap/structured-clone": { 593 | "version": "1.2.0", 594 | "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", 595 | "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", 596 | "dev": true, 597 | "license": "ISC", 598 | "peer": true 599 | }, 600 | "node_modules/acorn": { 601 | "version": "8.14.0", 602 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 603 | "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 604 | "dev": true, 605 | "license": "MIT", 606 | "bin": { 607 | "acorn": "bin/acorn" 608 | }, 609 | "engines": { 610 | "node": ">=0.4.0" 611 | } 612 | }, 613 | "node_modules/acorn-jsx": { 614 | "version": "5.3.2", 615 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 616 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 617 | "dev": true, 618 | "license": "MIT", 619 | "peer": true, 620 | "peerDependencies": { 621 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 622 | } 623 | }, 624 | "node_modules/ajv": { 625 | "version": "6.12.6", 626 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 627 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 628 | "dev": true, 629 | "license": "MIT", 630 | "peer": true, 631 | "dependencies": { 632 | "fast-deep-equal": "^3.1.1", 633 | "fast-json-stable-stringify": "^2.0.0", 634 | "json-schema-traverse": "^0.4.1", 635 | "uri-js": "^4.2.2" 636 | }, 637 | "funding": { 638 | "type": "github", 639 | "url": "https://github.com/sponsors/epoberezkin" 640 | } 641 | }, 642 | "node_modules/ansi-regex": { 643 | "version": "5.0.1", 644 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 645 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 646 | "dev": true, 647 | "license": "MIT", 648 | "peer": true, 649 | "engines": { 650 | "node": ">=8" 651 | } 652 | }, 653 | "node_modules/ansi-styles": { 654 | "version": "4.3.0", 655 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 656 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 657 | "dev": true, 658 | "license": "MIT", 659 | "peer": true, 660 | "dependencies": { 661 | "color-convert": "^2.0.1" 662 | }, 663 | "engines": { 664 | "node": ">=8" 665 | }, 666 | "funding": { 667 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 668 | } 669 | }, 670 | "node_modules/argparse": { 671 | "version": "2.0.1", 672 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 673 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 674 | "dev": true, 675 | "license": "Python-2.0", 676 | "peer": true 677 | }, 678 | "node_modules/array-union": { 679 | "version": "2.1.0", 680 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 681 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 682 | "dev": true, 683 | "license": "MIT", 684 | "engines": { 685 | "node": ">=8" 686 | } 687 | }, 688 | "node_modules/balanced-match": { 689 | "version": "1.0.2", 690 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 691 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 692 | "dev": true, 693 | "license": "MIT" 694 | }, 695 | "node_modules/brace-expansion": { 696 | "version": "1.1.11", 697 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 698 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 699 | "dev": true, 700 | "license": "MIT", 701 | "dependencies": { 702 | "balanced-match": "^1.0.0", 703 | "concat-map": "0.0.1" 704 | } 705 | }, 706 | "node_modules/braces": { 707 | "version": "3.0.3", 708 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 709 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 710 | "dev": true, 711 | "license": "MIT", 712 | "dependencies": { 713 | "fill-range": "^7.1.1" 714 | }, 715 | "engines": { 716 | "node": ">=8" 717 | } 718 | }, 719 | "node_modules/buffer-from": { 720 | "version": "1.1.2", 721 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 722 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 723 | "dev": true, 724 | "license": "MIT" 725 | }, 726 | "node_modules/builtin-modules": { 727 | "version": "3.3.0", 728 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", 729 | "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", 730 | "dev": true, 731 | "license": "MIT", 732 | "engines": { 733 | "node": ">=6" 734 | }, 735 | "funding": { 736 | "url": "https://github.com/sponsors/sindresorhus" 737 | } 738 | }, 739 | "node_modules/callsites": { 740 | "version": "3.1.0", 741 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 742 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 743 | "dev": true, 744 | "license": "MIT", 745 | "peer": true, 746 | "engines": { 747 | "node": ">=6" 748 | } 749 | }, 750 | "node_modules/chalk": { 751 | "version": "4.1.2", 752 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 753 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 754 | "dev": true, 755 | "license": "MIT", 756 | "peer": true, 757 | "dependencies": { 758 | "ansi-styles": "^4.1.0", 759 | "supports-color": "^7.1.0" 760 | }, 761 | "engines": { 762 | "node": ">=10" 763 | }, 764 | "funding": { 765 | "url": "https://github.com/chalk/chalk?sponsor=1" 766 | } 767 | }, 768 | "node_modules/color-convert": { 769 | "version": "2.0.1", 770 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 771 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 772 | "dev": true, 773 | "license": "MIT", 774 | "peer": true, 775 | "dependencies": { 776 | "color-name": "~1.1.4" 777 | }, 778 | "engines": { 779 | "node": ">=7.0.0" 780 | } 781 | }, 782 | "node_modules/color-name": { 783 | "version": "1.1.4", 784 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 785 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 786 | "dev": true, 787 | "license": "MIT", 788 | "peer": true 789 | }, 790 | "node_modules/colorette": { 791 | "version": "1.4.0", 792 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", 793 | "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", 794 | "dev": true, 795 | "license": "MIT" 796 | }, 797 | "node_modules/commander": { 798 | "version": "2.20.3", 799 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 800 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 801 | "dev": true, 802 | "license": "MIT" 803 | }, 804 | "node_modules/concat-map": { 805 | "version": "0.0.1", 806 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 807 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 808 | "dev": true, 809 | "license": "MIT" 810 | }, 811 | "node_modules/cross-spawn": { 812 | "version": "7.0.6", 813 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 814 | "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 815 | "dev": true, 816 | "license": "MIT", 817 | "peer": true, 818 | "dependencies": { 819 | "path-key": "^3.1.0", 820 | "shebang-command": "^2.0.0", 821 | "which": "^2.0.1" 822 | }, 823 | "engines": { 824 | "node": ">= 8" 825 | } 826 | }, 827 | "node_modules/debug": { 828 | "version": "4.3.7", 829 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", 830 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", 831 | "dev": true, 832 | "license": "MIT", 833 | "dependencies": { 834 | "ms": "^2.1.3" 835 | }, 836 | "engines": { 837 | "node": ">=6.0" 838 | }, 839 | "peerDependenciesMeta": { 840 | "supports-color": { 841 | "optional": true 842 | } 843 | } 844 | }, 845 | "node_modules/deep-is": { 846 | "version": "0.1.4", 847 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 848 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 849 | "dev": true, 850 | "license": "MIT", 851 | "peer": true 852 | }, 853 | "node_modules/dir-glob": { 854 | "version": "3.0.1", 855 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 856 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 857 | "dev": true, 858 | "license": "MIT", 859 | "dependencies": { 860 | "path-type": "^4.0.0" 861 | }, 862 | "engines": { 863 | "node": ">=8" 864 | } 865 | }, 866 | "node_modules/doctrine": { 867 | "version": "3.0.0", 868 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 869 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 870 | "dev": true, 871 | "license": "Apache-2.0", 872 | "peer": true, 873 | "dependencies": { 874 | "esutils": "^2.0.2" 875 | }, 876 | "engines": { 877 | "node": ">=6.0.0" 878 | } 879 | }, 880 | "node_modules/escape-string-regexp": { 881 | "version": "4.0.0", 882 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 883 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 884 | "dev": true, 885 | "license": "MIT", 886 | "peer": true, 887 | "engines": { 888 | "node": ">=10" 889 | }, 890 | "funding": { 891 | "url": "https://github.com/sponsors/sindresorhus" 892 | } 893 | }, 894 | "node_modules/eslint": { 895 | "version": "8.57.1", 896 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", 897 | "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", 898 | "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", 899 | "dev": true, 900 | "license": "MIT", 901 | "peer": true, 902 | "dependencies": { 903 | "@eslint-community/eslint-utils": "^4.2.0", 904 | "@eslint-community/regexpp": "^4.6.1", 905 | "@eslint/eslintrc": "^2.1.4", 906 | "@eslint/js": "8.57.1", 907 | "@humanwhocodes/config-array": "^0.13.0", 908 | "@humanwhocodes/module-importer": "^1.0.1", 909 | "@nodelib/fs.walk": "^1.2.8", 910 | "@ungap/structured-clone": "^1.2.0", 911 | "ajv": "^6.12.4", 912 | "chalk": "^4.0.0", 913 | "cross-spawn": "^7.0.2", 914 | "debug": "^4.3.2", 915 | "doctrine": "^3.0.0", 916 | "escape-string-regexp": "^4.0.0", 917 | "eslint-scope": "^7.2.2", 918 | "eslint-visitor-keys": "^3.4.3", 919 | "espree": "^9.6.1", 920 | "esquery": "^1.4.2", 921 | "esutils": "^2.0.2", 922 | "fast-deep-equal": "^3.1.3", 923 | "file-entry-cache": "^6.0.1", 924 | "find-up": "^5.0.0", 925 | "glob-parent": "^6.0.2", 926 | "globals": "^13.19.0", 927 | "graphemer": "^1.4.0", 928 | "ignore": "^5.2.0", 929 | "imurmurhash": "^0.1.4", 930 | "is-glob": "^4.0.0", 931 | "is-path-inside": "^3.0.3", 932 | "js-yaml": "^4.1.0", 933 | "json-stable-stringify-without-jsonify": "^1.0.1", 934 | "levn": "^0.4.1", 935 | "lodash.merge": "^4.6.2", 936 | "minimatch": "^3.1.2", 937 | "natural-compare": "^1.4.0", 938 | "optionator": "^0.9.3", 939 | "strip-ansi": "^6.0.1", 940 | "text-table": "^0.2.0" 941 | }, 942 | "bin": { 943 | "eslint": "bin/eslint.js" 944 | }, 945 | "engines": { 946 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 947 | }, 948 | "funding": { 949 | "url": "https://opencollective.com/eslint" 950 | } 951 | }, 952 | "node_modules/eslint-scope": { 953 | "version": "5.1.1", 954 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 955 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 956 | "dev": true, 957 | "license": "BSD-2-Clause", 958 | "dependencies": { 959 | "esrecurse": "^4.3.0", 960 | "estraverse": "^4.1.1" 961 | }, 962 | "engines": { 963 | "node": ">=8.0.0" 964 | } 965 | }, 966 | "node_modules/eslint-utils": { 967 | "version": "3.0.0", 968 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 969 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 970 | "dev": true, 971 | "license": "MIT", 972 | "dependencies": { 973 | "eslint-visitor-keys": "^2.0.0" 974 | }, 975 | "engines": { 976 | "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" 977 | }, 978 | "funding": { 979 | "url": "https://github.com/sponsors/mysticatea" 980 | }, 981 | "peerDependencies": { 982 | "eslint": ">=5" 983 | } 984 | }, 985 | "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { 986 | "version": "2.1.0", 987 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 988 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 989 | "dev": true, 990 | "license": "Apache-2.0", 991 | "engines": { 992 | "node": ">=10" 993 | } 994 | }, 995 | "node_modules/eslint-visitor-keys": { 996 | "version": "3.4.3", 997 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 998 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 999 | "dev": true, 1000 | "license": "Apache-2.0", 1001 | "engines": { 1002 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1003 | }, 1004 | "funding": { 1005 | "url": "https://opencollective.com/eslint" 1006 | } 1007 | }, 1008 | "node_modules/eslint/node_modules/eslint-scope": { 1009 | "version": "7.2.2", 1010 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", 1011 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", 1012 | "dev": true, 1013 | "license": "BSD-2-Clause", 1014 | "peer": true, 1015 | "dependencies": { 1016 | "esrecurse": "^4.3.0", 1017 | "estraverse": "^5.2.0" 1018 | }, 1019 | "engines": { 1020 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1021 | }, 1022 | "funding": { 1023 | "url": "https://opencollective.com/eslint" 1024 | } 1025 | }, 1026 | "node_modules/eslint/node_modules/estraverse": { 1027 | "version": "5.3.0", 1028 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1029 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1030 | "dev": true, 1031 | "license": "BSD-2-Clause", 1032 | "peer": true, 1033 | "engines": { 1034 | "node": ">=4.0" 1035 | } 1036 | }, 1037 | "node_modules/espree": { 1038 | "version": "9.6.1", 1039 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 1040 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 1041 | "dev": true, 1042 | "license": "BSD-2-Clause", 1043 | "peer": true, 1044 | "dependencies": { 1045 | "acorn": "^8.9.0", 1046 | "acorn-jsx": "^5.3.2", 1047 | "eslint-visitor-keys": "^3.4.1" 1048 | }, 1049 | "engines": { 1050 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1051 | }, 1052 | "funding": { 1053 | "url": "https://opencollective.com/eslint" 1054 | } 1055 | }, 1056 | "node_modules/esquery": { 1057 | "version": "1.6.0", 1058 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 1059 | "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 1060 | "dev": true, 1061 | "license": "BSD-3-Clause", 1062 | "peer": true, 1063 | "dependencies": { 1064 | "estraverse": "^5.1.0" 1065 | }, 1066 | "engines": { 1067 | "node": ">=0.10" 1068 | } 1069 | }, 1070 | "node_modules/esquery/node_modules/estraverse": { 1071 | "version": "5.3.0", 1072 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1073 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1074 | "dev": true, 1075 | "license": "BSD-2-Clause", 1076 | "peer": true, 1077 | "engines": { 1078 | "node": ">=4.0" 1079 | } 1080 | }, 1081 | "node_modules/esrecurse": { 1082 | "version": "4.3.0", 1083 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1084 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1085 | "dev": true, 1086 | "license": "BSD-2-Clause", 1087 | "dependencies": { 1088 | "estraverse": "^5.2.0" 1089 | }, 1090 | "engines": { 1091 | "node": ">=4.0" 1092 | } 1093 | }, 1094 | "node_modules/esrecurse/node_modules/estraverse": { 1095 | "version": "5.3.0", 1096 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1097 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1098 | "dev": true, 1099 | "license": "BSD-2-Clause", 1100 | "engines": { 1101 | "node": ">=4.0" 1102 | } 1103 | }, 1104 | "node_modules/estraverse": { 1105 | "version": "4.3.0", 1106 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 1107 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 1108 | "dev": true, 1109 | "license": "BSD-2-Clause", 1110 | "engines": { 1111 | "node": ">=4.0" 1112 | } 1113 | }, 1114 | "node_modules/estree-walker": { 1115 | "version": "2.0.2", 1116 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 1117 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 1118 | "dev": true, 1119 | "license": "MIT" 1120 | }, 1121 | "node_modules/esutils": { 1122 | "version": "2.0.3", 1123 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1124 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1125 | "dev": true, 1126 | "license": "BSD-2-Clause", 1127 | "peer": true, 1128 | "engines": { 1129 | "node": ">=0.10.0" 1130 | } 1131 | }, 1132 | "node_modules/fast-deep-equal": { 1133 | "version": "3.1.3", 1134 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1135 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1136 | "dev": true, 1137 | "license": "MIT", 1138 | "peer": true 1139 | }, 1140 | "node_modules/fast-glob": { 1141 | "version": "3.3.2", 1142 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 1143 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 1144 | "dev": true, 1145 | "license": "MIT", 1146 | "dependencies": { 1147 | "@nodelib/fs.stat": "^2.0.2", 1148 | "@nodelib/fs.walk": "^1.2.3", 1149 | "glob-parent": "^5.1.2", 1150 | "merge2": "^1.3.0", 1151 | "micromatch": "^4.0.4" 1152 | }, 1153 | "engines": { 1154 | "node": ">=8.6.0" 1155 | } 1156 | }, 1157 | "node_modules/fast-glob/node_modules/glob-parent": { 1158 | "version": "5.1.2", 1159 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1160 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1161 | "dev": true, 1162 | "license": "ISC", 1163 | "dependencies": { 1164 | "is-glob": "^4.0.1" 1165 | }, 1166 | "engines": { 1167 | "node": ">= 6" 1168 | } 1169 | }, 1170 | "node_modules/fast-json-stable-stringify": { 1171 | "version": "2.1.0", 1172 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1173 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1174 | "dev": true, 1175 | "license": "MIT", 1176 | "peer": true 1177 | }, 1178 | "node_modules/fast-levenshtein": { 1179 | "version": "2.0.6", 1180 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1181 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 1182 | "dev": true, 1183 | "license": "MIT", 1184 | "peer": true 1185 | }, 1186 | "node_modules/fastq": { 1187 | "version": "1.17.1", 1188 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 1189 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 1190 | "dev": true, 1191 | "license": "ISC", 1192 | "dependencies": { 1193 | "reusify": "^1.0.4" 1194 | } 1195 | }, 1196 | "node_modules/file-entry-cache": { 1197 | "version": "6.0.1", 1198 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 1199 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 1200 | "dev": true, 1201 | "license": "MIT", 1202 | "peer": true, 1203 | "dependencies": { 1204 | "flat-cache": "^3.0.4" 1205 | }, 1206 | "engines": { 1207 | "node": "^10.12.0 || >=12.0.0" 1208 | } 1209 | }, 1210 | "node_modules/fill-range": { 1211 | "version": "7.1.1", 1212 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 1213 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 1214 | "dev": true, 1215 | "license": "MIT", 1216 | "dependencies": { 1217 | "to-regex-range": "^5.0.1" 1218 | }, 1219 | "engines": { 1220 | "node": ">=8" 1221 | } 1222 | }, 1223 | "node_modules/find-up": { 1224 | "version": "5.0.0", 1225 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 1226 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 1227 | "dev": true, 1228 | "license": "MIT", 1229 | "peer": true, 1230 | "dependencies": { 1231 | "locate-path": "^6.0.0", 1232 | "path-exists": "^4.0.0" 1233 | }, 1234 | "engines": { 1235 | "node": ">=10" 1236 | }, 1237 | "funding": { 1238 | "url": "https://github.com/sponsors/sindresorhus" 1239 | } 1240 | }, 1241 | "node_modules/flat-cache": { 1242 | "version": "3.2.0", 1243 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", 1244 | "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", 1245 | "dev": true, 1246 | "license": "MIT", 1247 | "peer": true, 1248 | "dependencies": { 1249 | "flatted": "^3.2.9", 1250 | "keyv": "^4.5.3", 1251 | "rimraf": "^3.0.2" 1252 | }, 1253 | "engines": { 1254 | "node": "^10.12.0 || >=12.0.0" 1255 | } 1256 | }, 1257 | "node_modules/flatted": { 1258 | "version": "3.3.2", 1259 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", 1260 | "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", 1261 | "dev": true, 1262 | "license": "ISC", 1263 | "peer": true 1264 | }, 1265 | "node_modules/fs-extra": { 1266 | "version": "8.1.0", 1267 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 1268 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 1269 | "dev": true, 1270 | "license": "MIT", 1271 | "dependencies": { 1272 | "graceful-fs": "^4.2.0", 1273 | "jsonfile": "^4.0.0", 1274 | "universalify": "^0.1.0" 1275 | }, 1276 | "engines": { 1277 | "node": ">=6 <7 || >=8" 1278 | } 1279 | }, 1280 | "node_modules/fs.realpath": { 1281 | "version": "1.0.0", 1282 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1283 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1284 | "dev": true, 1285 | "license": "ISC" 1286 | }, 1287 | "node_modules/fsevents": { 1288 | "version": "2.3.3", 1289 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1290 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1291 | "dev": true, 1292 | "hasInstallScript": true, 1293 | "license": "MIT", 1294 | "optional": true, 1295 | "os": [ 1296 | "darwin" 1297 | ], 1298 | "engines": { 1299 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1300 | } 1301 | }, 1302 | "node_modules/function-bind": { 1303 | "version": "1.1.2", 1304 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 1305 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 1306 | "dev": true, 1307 | "license": "MIT", 1308 | "funding": { 1309 | "url": "https://github.com/sponsors/ljharb" 1310 | } 1311 | }, 1312 | "node_modules/functional-red-black-tree": { 1313 | "version": "1.0.1", 1314 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1315 | "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", 1316 | "dev": true, 1317 | "license": "MIT" 1318 | }, 1319 | "node_modules/glob": { 1320 | "version": "7.2.3", 1321 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1322 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1323 | "deprecated": "Glob versions prior to v9 are no longer supported", 1324 | "dev": true, 1325 | "license": "ISC", 1326 | "dependencies": { 1327 | "fs.realpath": "^1.0.0", 1328 | "inflight": "^1.0.4", 1329 | "inherits": "2", 1330 | "minimatch": "^3.1.1", 1331 | "once": "^1.3.0", 1332 | "path-is-absolute": "^1.0.0" 1333 | }, 1334 | "engines": { 1335 | "node": "*" 1336 | }, 1337 | "funding": { 1338 | "url": "https://github.com/sponsors/isaacs" 1339 | } 1340 | }, 1341 | "node_modules/glob-parent": { 1342 | "version": "6.0.2", 1343 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1344 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1345 | "dev": true, 1346 | "license": "ISC", 1347 | "peer": true, 1348 | "dependencies": { 1349 | "is-glob": "^4.0.3" 1350 | }, 1351 | "engines": { 1352 | "node": ">=10.13.0" 1353 | } 1354 | }, 1355 | "node_modules/globals": { 1356 | "version": "13.24.0", 1357 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", 1358 | "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", 1359 | "dev": true, 1360 | "license": "MIT", 1361 | "peer": true, 1362 | "dependencies": { 1363 | "type-fest": "^0.20.2" 1364 | }, 1365 | "engines": { 1366 | "node": ">=8" 1367 | }, 1368 | "funding": { 1369 | "url": "https://github.com/sponsors/sindresorhus" 1370 | } 1371 | }, 1372 | "node_modules/globby": { 1373 | "version": "11.1.0", 1374 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 1375 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 1376 | "dev": true, 1377 | "license": "MIT", 1378 | "dependencies": { 1379 | "array-union": "^2.1.0", 1380 | "dir-glob": "^3.0.1", 1381 | "fast-glob": "^3.2.9", 1382 | "ignore": "^5.2.0", 1383 | "merge2": "^1.4.1", 1384 | "slash": "^3.0.0" 1385 | }, 1386 | "engines": { 1387 | "node": ">=10" 1388 | }, 1389 | "funding": { 1390 | "url": "https://github.com/sponsors/sindresorhus" 1391 | } 1392 | }, 1393 | "node_modules/graceful-fs": { 1394 | "version": "4.2.11", 1395 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1396 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 1397 | "dev": true, 1398 | "license": "ISC" 1399 | }, 1400 | "node_modules/graphemer": { 1401 | "version": "1.4.0", 1402 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 1403 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 1404 | "dev": true, 1405 | "license": "MIT", 1406 | "peer": true 1407 | }, 1408 | "node_modules/has-flag": { 1409 | "version": "4.0.0", 1410 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1411 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1412 | "dev": true, 1413 | "license": "MIT", 1414 | "engines": { 1415 | "node": ">=8" 1416 | } 1417 | }, 1418 | "node_modules/hasown": { 1419 | "version": "2.0.2", 1420 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1421 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1422 | "dev": true, 1423 | "license": "MIT", 1424 | "dependencies": { 1425 | "function-bind": "^1.1.2" 1426 | }, 1427 | "engines": { 1428 | "node": ">= 0.4" 1429 | } 1430 | }, 1431 | "node_modules/ignore": { 1432 | "version": "5.3.2", 1433 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 1434 | "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 1435 | "dev": true, 1436 | "license": "MIT", 1437 | "engines": { 1438 | "node": ">= 4" 1439 | } 1440 | }, 1441 | "node_modules/import-fresh": { 1442 | "version": "3.3.0", 1443 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1444 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1445 | "dev": true, 1446 | "license": "MIT", 1447 | "peer": true, 1448 | "dependencies": { 1449 | "parent-module": "^1.0.0", 1450 | "resolve-from": "^4.0.0" 1451 | }, 1452 | "engines": { 1453 | "node": ">=6" 1454 | }, 1455 | "funding": { 1456 | "url": "https://github.com/sponsors/sindresorhus" 1457 | } 1458 | }, 1459 | "node_modules/imurmurhash": { 1460 | "version": "0.1.4", 1461 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1462 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1463 | "dev": true, 1464 | "license": "MIT", 1465 | "peer": true, 1466 | "engines": { 1467 | "node": ">=0.8.19" 1468 | } 1469 | }, 1470 | "node_modules/inflight": { 1471 | "version": "1.0.6", 1472 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1473 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1474 | "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", 1475 | "dev": true, 1476 | "license": "ISC", 1477 | "dependencies": { 1478 | "once": "^1.3.0", 1479 | "wrappy": "1" 1480 | } 1481 | }, 1482 | "node_modules/inherits": { 1483 | "version": "2.0.4", 1484 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1485 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1486 | "dev": true, 1487 | "license": "ISC" 1488 | }, 1489 | "node_modules/is-core-module": { 1490 | "version": "2.15.1", 1491 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", 1492 | "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", 1493 | "dev": true, 1494 | "license": "MIT", 1495 | "dependencies": { 1496 | "hasown": "^2.0.2" 1497 | }, 1498 | "engines": { 1499 | "node": ">= 0.4" 1500 | }, 1501 | "funding": { 1502 | "url": "https://github.com/sponsors/ljharb" 1503 | } 1504 | }, 1505 | "node_modules/is-extglob": { 1506 | "version": "2.1.1", 1507 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1508 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1509 | "dev": true, 1510 | "license": "MIT", 1511 | "engines": { 1512 | "node": ">=0.10.0" 1513 | } 1514 | }, 1515 | "node_modules/is-glob": { 1516 | "version": "4.0.3", 1517 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1518 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1519 | "dev": true, 1520 | "license": "MIT", 1521 | "dependencies": { 1522 | "is-extglob": "^2.1.1" 1523 | }, 1524 | "engines": { 1525 | "node": ">=0.10.0" 1526 | } 1527 | }, 1528 | "node_modules/is-number": { 1529 | "version": "7.0.0", 1530 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1531 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1532 | "dev": true, 1533 | "license": "MIT", 1534 | "engines": { 1535 | "node": ">=0.12.0" 1536 | } 1537 | }, 1538 | "node_modules/is-path-inside": { 1539 | "version": "3.0.3", 1540 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 1541 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 1542 | "dev": true, 1543 | "license": "MIT", 1544 | "peer": true, 1545 | "engines": { 1546 | "node": ">=8" 1547 | } 1548 | }, 1549 | "node_modules/is-plain-object": { 1550 | "version": "3.0.1", 1551 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", 1552 | "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", 1553 | "dev": true, 1554 | "license": "MIT", 1555 | "engines": { 1556 | "node": ">=0.10.0" 1557 | } 1558 | }, 1559 | "node_modules/isexe": { 1560 | "version": "2.0.0", 1561 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1562 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1563 | "dev": true, 1564 | "license": "ISC", 1565 | "peer": true 1566 | }, 1567 | "node_modules/jest-worker": { 1568 | "version": "26.6.2", 1569 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", 1570 | "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", 1571 | "dev": true, 1572 | "license": "MIT", 1573 | "dependencies": { 1574 | "@types/node": "*", 1575 | "merge-stream": "^2.0.0", 1576 | "supports-color": "^7.0.0" 1577 | }, 1578 | "engines": { 1579 | "node": ">= 10.13.0" 1580 | } 1581 | }, 1582 | "node_modules/js-tokens": { 1583 | "version": "4.0.0", 1584 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1585 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1586 | "dev": true, 1587 | "license": "MIT" 1588 | }, 1589 | "node_modules/js-yaml": { 1590 | "version": "4.1.0", 1591 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1592 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1593 | "dev": true, 1594 | "license": "MIT", 1595 | "peer": true, 1596 | "dependencies": { 1597 | "argparse": "^2.0.1" 1598 | }, 1599 | "bin": { 1600 | "js-yaml": "bin/js-yaml.js" 1601 | } 1602 | }, 1603 | "node_modules/json-buffer": { 1604 | "version": "3.0.1", 1605 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 1606 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 1607 | "dev": true, 1608 | "license": "MIT", 1609 | "peer": true 1610 | }, 1611 | "node_modules/json-schema-traverse": { 1612 | "version": "0.4.1", 1613 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1614 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1615 | "dev": true, 1616 | "license": "MIT", 1617 | "peer": true 1618 | }, 1619 | "node_modules/json-stable-stringify-without-jsonify": { 1620 | "version": "1.0.1", 1621 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1622 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 1623 | "dev": true, 1624 | "license": "MIT", 1625 | "peer": true 1626 | }, 1627 | "node_modules/jsonfile": { 1628 | "version": "4.0.0", 1629 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1630 | "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", 1631 | "dev": true, 1632 | "license": "MIT", 1633 | "optionalDependencies": { 1634 | "graceful-fs": "^4.1.6" 1635 | } 1636 | }, 1637 | "node_modules/keyv": { 1638 | "version": "4.5.4", 1639 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 1640 | "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 1641 | "dev": true, 1642 | "license": "MIT", 1643 | "peer": true, 1644 | "dependencies": { 1645 | "json-buffer": "3.0.1" 1646 | } 1647 | }, 1648 | "node_modules/levn": { 1649 | "version": "0.4.1", 1650 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1651 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1652 | "dev": true, 1653 | "license": "MIT", 1654 | "peer": true, 1655 | "dependencies": { 1656 | "prelude-ls": "^1.2.1", 1657 | "type-check": "~0.4.0" 1658 | }, 1659 | "engines": { 1660 | "node": ">= 0.8.0" 1661 | } 1662 | }, 1663 | "node_modules/locate-path": { 1664 | "version": "6.0.0", 1665 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 1666 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 1667 | "dev": true, 1668 | "license": "MIT", 1669 | "peer": true, 1670 | "dependencies": { 1671 | "p-locate": "^5.0.0" 1672 | }, 1673 | "engines": { 1674 | "node": ">=10" 1675 | }, 1676 | "funding": { 1677 | "url": "https://github.com/sponsors/sindresorhus" 1678 | } 1679 | }, 1680 | "node_modules/lodash.merge": { 1681 | "version": "4.6.2", 1682 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1683 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1684 | "dev": true, 1685 | "license": "MIT", 1686 | "peer": true 1687 | }, 1688 | "node_modules/merge-stream": { 1689 | "version": "2.0.0", 1690 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1691 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1692 | "dev": true, 1693 | "license": "MIT" 1694 | }, 1695 | "node_modules/merge2": { 1696 | "version": "1.4.1", 1697 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1698 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1699 | "dev": true, 1700 | "license": "MIT", 1701 | "engines": { 1702 | "node": ">= 8" 1703 | } 1704 | }, 1705 | "node_modules/micromatch": { 1706 | "version": "4.0.8", 1707 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 1708 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 1709 | "dev": true, 1710 | "license": "MIT", 1711 | "dependencies": { 1712 | "braces": "^3.0.3", 1713 | "picomatch": "^2.3.1" 1714 | }, 1715 | "engines": { 1716 | "node": ">=8.6" 1717 | } 1718 | }, 1719 | "node_modules/micromatch/node_modules/picomatch": { 1720 | "version": "2.3.1", 1721 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1722 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1723 | "dev": true, 1724 | "license": "MIT", 1725 | "engines": { 1726 | "node": ">=8.6" 1727 | }, 1728 | "funding": { 1729 | "url": "https://github.com/sponsors/jonschlinkert" 1730 | } 1731 | }, 1732 | "node_modules/minimatch": { 1733 | "version": "3.1.2", 1734 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1735 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1736 | "dev": true, 1737 | "license": "ISC", 1738 | "dependencies": { 1739 | "brace-expansion": "^1.1.7" 1740 | }, 1741 | "engines": { 1742 | "node": "*" 1743 | } 1744 | }, 1745 | "node_modules/moment": { 1746 | "version": "2.29.4", 1747 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", 1748 | "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", 1749 | "dev": true, 1750 | "license": "MIT", 1751 | "engines": { 1752 | "node": "*" 1753 | } 1754 | }, 1755 | "node_modules/ms": { 1756 | "version": "2.1.3", 1757 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1758 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1759 | "dev": true, 1760 | "license": "MIT" 1761 | }, 1762 | "node_modules/natural-compare": { 1763 | "version": "1.4.0", 1764 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1765 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 1766 | "dev": true, 1767 | "license": "MIT", 1768 | "peer": true 1769 | }, 1770 | "node_modules/obsidian": { 1771 | "version": "1.7.2", 1772 | "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.7.2.tgz", 1773 | "integrity": "sha512-k9hN9brdknJC+afKr5FQzDRuEFGDKbDjfCazJwpgibwCAoZNYHYV8p/s3mM8I6AsnKrPKNXf8xGuMZ4enWelZQ==", 1774 | "dev": true, 1775 | "license": "MIT", 1776 | "dependencies": { 1777 | "@types/codemirror": "5.60.8", 1778 | "moment": "2.29.4" 1779 | }, 1780 | "peerDependencies": { 1781 | "@codemirror/state": "^6.0.0", 1782 | "@codemirror/view": "^6.0.0" 1783 | } 1784 | }, 1785 | "node_modules/once": { 1786 | "version": "1.4.0", 1787 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1788 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1789 | "dev": true, 1790 | "license": "ISC", 1791 | "dependencies": { 1792 | "wrappy": "1" 1793 | } 1794 | }, 1795 | "node_modules/optionator": { 1796 | "version": "0.9.4", 1797 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 1798 | "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 1799 | "dev": true, 1800 | "license": "MIT", 1801 | "peer": true, 1802 | "dependencies": { 1803 | "deep-is": "^0.1.3", 1804 | "fast-levenshtein": "^2.0.6", 1805 | "levn": "^0.4.1", 1806 | "prelude-ls": "^1.2.1", 1807 | "type-check": "^0.4.0", 1808 | "word-wrap": "^1.2.5" 1809 | }, 1810 | "engines": { 1811 | "node": ">= 0.8.0" 1812 | } 1813 | }, 1814 | "node_modules/p-limit": { 1815 | "version": "3.1.0", 1816 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 1817 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 1818 | "dev": true, 1819 | "license": "MIT", 1820 | "peer": true, 1821 | "dependencies": { 1822 | "yocto-queue": "^0.1.0" 1823 | }, 1824 | "engines": { 1825 | "node": ">=10" 1826 | }, 1827 | "funding": { 1828 | "url": "https://github.com/sponsors/sindresorhus" 1829 | } 1830 | }, 1831 | "node_modules/p-locate": { 1832 | "version": "5.0.0", 1833 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 1834 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 1835 | "dev": true, 1836 | "license": "MIT", 1837 | "peer": true, 1838 | "dependencies": { 1839 | "p-limit": "^3.0.2" 1840 | }, 1841 | "engines": { 1842 | "node": ">=10" 1843 | }, 1844 | "funding": { 1845 | "url": "https://github.com/sponsors/sindresorhus" 1846 | } 1847 | }, 1848 | "node_modules/parent-module": { 1849 | "version": "1.0.1", 1850 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1851 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1852 | "dev": true, 1853 | "license": "MIT", 1854 | "peer": true, 1855 | "dependencies": { 1856 | "callsites": "^3.0.0" 1857 | }, 1858 | "engines": { 1859 | "node": ">=6" 1860 | } 1861 | }, 1862 | "node_modules/path-exists": { 1863 | "version": "4.0.0", 1864 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1865 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1866 | "dev": true, 1867 | "license": "MIT", 1868 | "peer": true, 1869 | "engines": { 1870 | "node": ">=8" 1871 | } 1872 | }, 1873 | "node_modules/path-is-absolute": { 1874 | "version": "1.0.1", 1875 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1876 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1877 | "dev": true, 1878 | "license": "MIT", 1879 | "engines": { 1880 | "node": ">=0.10.0" 1881 | } 1882 | }, 1883 | "node_modules/path-key": { 1884 | "version": "3.1.1", 1885 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1886 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1887 | "dev": true, 1888 | "license": "MIT", 1889 | "peer": true, 1890 | "engines": { 1891 | "node": ">=8" 1892 | } 1893 | }, 1894 | "node_modules/path-parse": { 1895 | "version": "1.0.7", 1896 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1897 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1898 | "dev": true, 1899 | "license": "MIT" 1900 | }, 1901 | "node_modules/path-type": { 1902 | "version": "4.0.0", 1903 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1904 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1905 | "dev": true, 1906 | "license": "MIT", 1907 | "engines": { 1908 | "node": ">=8" 1909 | } 1910 | }, 1911 | "node_modules/picocolors": { 1912 | "version": "1.1.1", 1913 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 1914 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 1915 | "dev": true, 1916 | "license": "ISC" 1917 | }, 1918 | "node_modules/picomatch": { 1919 | "version": "4.0.2", 1920 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 1921 | "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 1922 | "dev": true, 1923 | "license": "MIT", 1924 | "engines": { 1925 | "node": ">=12" 1926 | }, 1927 | "funding": { 1928 | "url": "https://github.com/sponsors/jonschlinkert" 1929 | } 1930 | }, 1931 | "node_modules/prelude-ls": { 1932 | "version": "1.2.1", 1933 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1934 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1935 | "dev": true, 1936 | "license": "MIT", 1937 | "peer": true, 1938 | "engines": { 1939 | "node": ">= 0.8.0" 1940 | } 1941 | }, 1942 | "node_modules/punycode": { 1943 | "version": "2.3.1", 1944 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 1945 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 1946 | "dev": true, 1947 | "license": "MIT", 1948 | "peer": true, 1949 | "engines": { 1950 | "node": ">=6" 1951 | } 1952 | }, 1953 | "node_modules/queue-microtask": { 1954 | "version": "1.2.3", 1955 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1956 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1957 | "dev": true, 1958 | "funding": [ 1959 | { 1960 | "type": "github", 1961 | "url": "https://github.com/sponsors/feross" 1962 | }, 1963 | { 1964 | "type": "patreon", 1965 | "url": "https://www.patreon.com/feross" 1966 | }, 1967 | { 1968 | "type": "consulting", 1969 | "url": "https://feross.org/support" 1970 | } 1971 | ], 1972 | "license": "MIT" 1973 | }, 1974 | "node_modules/randombytes": { 1975 | "version": "2.1.0", 1976 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 1977 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 1978 | "dev": true, 1979 | "license": "MIT", 1980 | "dependencies": { 1981 | "safe-buffer": "^5.1.0" 1982 | } 1983 | }, 1984 | "node_modules/regexpp": { 1985 | "version": "3.2.0", 1986 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 1987 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 1988 | "dev": true, 1989 | "license": "MIT", 1990 | "engines": { 1991 | "node": ">=8" 1992 | }, 1993 | "funding": { 1994 | "url": "https://github.com/sponsors/mysticatea" 1995 | } 1996 | }, 1997 | "node_modules/resolve": { 1998 | "version": "1.22.8", 1999 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 2000 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 2001 | "dev": true, 2002 | "license": "MIT", 2003 | "dependencies": { 2004 | "is-core-module": "^2.13.0", 2005 | "path-parse": "^1.0.7", 2006 | "supports-preserve-symlinks-flag": "^1.0.0" 2007 | }, 2008 | "bin": { 2009 | "resolve": "bin/resolve" 2010 | }, 2011 | "funding": { 2012 | "url": "https://github.com/sponsors/ljharb" 2013 | } 2014 | }, 2015 | "node_modules/resolve-from": { 2016 | "version": "4.0.0", 2017 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2018 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2019 | "dev": true, 2020 | "license": "MIT", 2021 | "peer": true, 2022 | "engines": { 2023 | "node": ">=4" 2024 | } 2025 | }, 2026 | "node_modules/reusify": { 2027 | "version": "1.0.4", 2028 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2029 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2030 | "dev": true, 2031 | "license": "MIT", 2032 | "engines": { 2033 | "iojs": ">=1.0.0", 2034 | "node": ">=0.10.0" 2035 | } 2036 | }, 2037 | "node_modules/rimraf": { 2038 | "version": "3.0.2", 2039 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 2040 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 2041 | "deprecated": "Rimraf versions prior to v4 are no longer supported", 2042 | "dev": true, 2043 | "license": "ISC", 2044 | "peer": true, 2045 | "dependencies": { 2046 | "glob": "^7.1.3" 2047 | }, 2048 | "bin": { 2049 | "rimraf": "bin.js" 2050 | }, 2051 | "funding": { 2052 | "url": "https://github.com/sponsors/isaacs" 2053 | } 2054 | }, 2055 | "node_modules/rollup": { 2056 | "version": "2.79.2", 2057 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", 2058 | "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", 2059 | "dev": true, 2060 | "license": "MIT", 2061 | "bin": { 2062 | "rollup": "dist/bin/rollup" 2063 | }, 2064 | "engines": { 2065 | "node": ">=10.0.0" 2066 | }, 2067 | "optionalDependencies": { 2068 | "fsevents": "~2.3.2" 2069 | } 2070 | }, 2071 | "node_modules/rollup-plugin-copy": { 2072 | "version": "3.5.0", 2073 | "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz", 2074 | "integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==", 2075 | "dev": true, 2076 | "license": "MIT", 2077 | "dependencies": { 2078 | "@types/fs-extra": "^8.0.1", 2079 | "colorette": "^1.1.0", 2080 | "fs-extra": "^8.1.0", 2081 | "globby": "10.0.1", 2082 | "is-plain-object": "^3.0.0" 2083 | }, 2084 | "engines": { 2085 | "node": ">=8.3" 2086 | } 2087 | }, 2088 | "node_modules/rollup-plugin-copy/node_modules/globby": { 2089 | "version": "10.0.1", 2090 | "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", 2091 | "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", 2092 | "dev": true, 2093 | "license": "MIT", 2094 | "dependencies": { 2095 | "@types/glob": "^7.1.1", 2096 | "array-union": "^2.1.0", 2097 | "dir-glob": "^3.0.1", 2098 | "fast-glob": "^3.0.3", 2099 | "glob": "^7.1.3", 2100 | "ignore": "^5.1.1", 2101 | "merge2": "^1.2.3", 2102 | "slash": "^3.0.0" 2103 | }, 2104 | "engines": { 2105 | "node": ">=8" 2106 | } 2107 | }, 2108 | "node_modules/rollup-plugin-terser": { 2109 | "version": "7.0.2", 2110 | "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", 2111 | "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", 2112 | "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", 2113 | "dev": true, 2114 | "license": "MIT", 2115 | "dependencies": { 2116 | "@babel/code-frame": "^7.10.4", 2117 | "jest-worker": "^26.2.1", 2118 | "serialize-javascript": "^4.0.0", 2119 | "terser": "^5.0.0" 2120 | }, 2121 | "peerDependencies": { 2122 | "rollup": "^2.0.0" 2123 | } 2124 | }, 2125 | "node_modules/run-parallel": { 2126 | "version": "1.2.0", 2127 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2128 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2129 | "dev": true, 2130 | "funding": [ 2131 | { 2132 | "type": "github", 2133 | "url": "https://github.com/sponsors/feross" 2134 | }, 2135 | { 2136 | "type": "patreon", 2137 | "url": "https://www.patreon.com/feross" 2138 | }, 2139 | { 2140 | "type": "consulting", 2141 | "url": "https://feross.org/support" 2142 | } 2143 | ], 2144 | "license": "MIT", 2145 | "dependencies": { 2146 | "queue-microtask": "^1.2.2" 2147 | } 2148 | }, 2149 | "node_modules/safe-buffer": { 2150 | "version": "5.2.1", 2151 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2152 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2153 | "dev": true, 2154 | "funding": [ 2155 | { 2156 | "type": "github", 2157 | "url": "https://github.com/sponsors/feross" 2158 | }, 2159 | { 2160 | "type": "patreon", 2161 | "url": "https://www.patreon.com/feross" 2162 | }, 2163 | { 2164 | "type": "consulting", 2165 | "url": "https://feross.org/support" 2166 | } 2167 | ], 2168 | "license": "MIT" 2169 | }, 2170 | "node_modules/semver": { 2171 | "version": "7.6.3", 2172 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 2173 | "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 2174 | "dev": true, 2175 | "license": "ISC", 2176 | "bin": { 2177 | "semver": "bin/semver.js" 2178 | }, 2179 | "engines": { 2180 | "node": ">=10" 2181 | } 2182 | }, 2183 | "node_modules/serialize-javascript": { 2184 | "version": "4.0.0", 2185 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", 2186 | "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", 2187 | "dev": true, 2188 | "license": "BSD-3-Clause", 2189 | "dependencies": { 2190 | "randombytes": "^2.1.0" 2191 | } 2192 | }, 2193 | "node_modules/shebang-command": { 2194 | "version": "2.0.0", 2195 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2196 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2197 | "dev": true, 2198 | "license": "MIT", 2199 | "peer": true, 2200 | "dependencies": { 2201 | "shebang-regex": "^3.0.0" 2202 | }, 2203 | "engines": { 2204 | "node": ">=8" 2205 | } 2206 | }, 2207 | "node_modules/shebang-regex": { 2208 | "version": "3.0.0", 2209 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2210 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2211 | "dev": true, 2212 | "license": "MIT", 2213 | "peer": true, 2214 | "engines": { 2215 | "node": ">=8" 2216 | } 2217 | }, 2218 | "node_modules/slash": { 2219 | "version": "3.0.0", 2220 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 2221 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 2222 | "dev": true, 2223 | "license": "MIT", 2224 | "engines": { 2225 | "node": ">=8" 2226 | } 2227 | }, 2228 | "node_modules/source-map": { 2229 | "version": "0.6.1", 2230 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2231 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2232 | "dev": true, 2233 | "license": "BSD-3-Clause", 2234 | "engines": { 2235 | "node": ">=0.10.0" 2236 | } 2237 | }, 2238 | "node_modules/source-map-support": { 2239 | "version": "0.5.21", 2240 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 2241 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 2242 | "dev": true, 2243 | "license": "MIT", 2244 | "dependencies": { 2245 | "buffer-from": "^1.0.0", 2246 | "source-map": "^0.6.0" 2247 | } 2248 | }, 2249 | "node_modules/strip-ansi": { 2250 | "version": "6.0.1", 2251 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2252 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2253 | "dev": true, 2254 | "license": "MIT", 2255 | "peer": true, 2256 | "dependencies": { 2257 | "ansi-regex": "^5.0.1" 2258 | }, 2259 | "engines": { 2260 | "node": ">=8" 2261 | } 2262 | }, 2263 | "node_modules/strip-json-comments": { 2264 | "version": "3.1.1", 2265 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 2266 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 2267 | "dev": true, 2268 | "license": "MIT", 2269 | "peer": true, 2270 | "engines": { 2271 | "node": ">=8" 2272 | }, 2273 | "funding": { 2274 | "url": "https://github.com/sponsors/sindresorhus" 2275 | } 2276 | }, 2277 | "node_modules/style-mod": { 2278 | "version": "4.1.2", 2279 | "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", 2280 | "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", 2281 | "dev": true, 2282 | "license": "MIT", 2283 | "peer": true 2284 | }, 2285 | "node_modules/supports-color": { 2286 | "version": "7.2.0", 2287 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2288 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2289 | "dev": true, 2290 | "license": "MIT", 2291 | "dependencies": { 2292 | "has-flag": "^4.0.0" 2293 | }, 2294 | "engines": { 2295 | "node": ">=8" 2296 | } 2297 | }, 2298 | "node_modules/supports-preserve-symlinks-flag": { 2299 | "version": "1.0.0", 2300 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2301 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2302 | "dev": true, 2303 | "license": "MIT", 2304 | "engines": { 2305 | "node": ">= 0.4" 2306 | }, 2307 | "funding": { 2308 | "url": "https://github.com/sponsors/ljharb" 2309 | } 2310 | }, 2311 | "node_modules/terser": { 2312 | "version": "5.36.0", 2313 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", 2314 | "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", 2315 | "dev": true, 2316 | "license": "BSD-2-Clause", 2317 | "dependencies": { 2318 | "@jridgewell/source-map": "^0.3.3", 2319 | "acorn": "^8.8.2", 2320 | "commander": "^2.20.0", 2321 | "source-map-support": "~0.5.20" 2322 | }, 2323 | "bin": { 2324 | "terser": "bin/terser" 2325 | }, 2326 | "engines": { 2327 | "node": ">=10" 2328 | } 2329 | }, 2330 | "node_modules/text-table": { 2331 | "version": "0.2.0", 2332 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 2333 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 2334 | "dev": true, 2335 | "license": "MIT", 2336 | "peer": true 2337 | }, 2338 | "node_modules/to-regex-range": { 2339 | "version": "5.0.1", 2340 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2341 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2342 | "dev": true, 2343 | "license": "MIT", 2344 | "dependencies": { 2345 | "is-number": "^7.0.0" 2346 | }, 2347 | "engines": { 2348 | "node": ">=8.0" 2349 | } 2350 | }, 2351 | "node_modules/tslib": { 2352 | "version": "2.4.0", 2353 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", 2354 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", 2355 | "dev": true, 2356 | "license": "0BSD" 2357 | }, 2358 | "node_modules/tsutils": { 2359 | "version": "3.21.0", 2360 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", 2361 | "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", 2362 | "dev": true, 2363 | "license": "MIT", 2364 | "dependencies": { 2365 | "tslib": "^1.8.1" 2366 | }, 2367 | "engines": { 2368 | "node": ">= 6" 2369 | }, 2370 | "peerDependencies": { 2371 | "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" 2372 | } 2373 | }, 2374 | "node_modules/tsutils/node_modules/tslib": { 2375 | "version": "1.14.1", 2376 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2377 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 2378 | "dev": true, 2379 | "license": "0BSD" 2380 | }, 2381 | "node_modules/type-check": { 2382 | "version": "0.4.0", 2383 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2384 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2385 | "dev": true, 2386 | "license": "MIT", 2387 | "peer": true, 2388 | "dependencies": { 2389 | "prelude-ls": "^1.2.1" 2390 | }, 2391 | "engines": { 2392 | "node": ">= 0.8.0" 2393 | } 2394 | }, 2395 | "node_modules/type-fest": { 2396 | "version": "0.20.2", 2397 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 2398 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 2399 | "dev": true, 2400 | "license": "(MIT OR CC0-1.0)", 2401 | "peer": true, 2402 | "engines": { 2403 | "node": ">=10" 2404 | }, 2405 | "funding": { 2406 | "url": "https://github.com/sponsors/sindresorhus" 2407 | } 2408 | }, 2409 | "node_modules/typescript": { 2410 | "version": "4.7.4", 2411 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", 2412 | "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", 2413 | "dev": true, 2414 | "license": "Apache-2.0", 2415 | "bin": { 2416 | "tsc": "bin/tsc", 2417 | "tsserver": "bin/tsserver" 2418 | }, 2419 | "engines": { 2420 | "node": ">=4.2.0" 2421 | } 2422 | }, 2423 | "node_modules/universalify": { 2424 | "version": "0.1.2", 2425 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2426 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 2427 | "dev": true, 2428 | "license": "MIT", 2429 | "engines": { 2430 | "node": ">= 4.0.0" 2431 | } 2432 | }, 2433 | "node_modules/uri-js": { 2434 | "version": "4.4.1", 2435 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2436 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2437 | "dev": true, 2438 | "license": "BSD-2-Clause", 2439 | "peer": true, 2440 | "dependencies": { 2441 | "punycode": "^2.1.0" 2442 | } 2443 | }, 2444 | "node_modules/w3c-keyname": { 2445 | "version": "2.2.8", 2446 | "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", 2447 | "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", 2448 | "dev": true, 2449 | "license": "MIT", 2450 | "peer": true 2451 | }, 2452 | "node_modules/which": { 2453 | "version": "2.0.2", 2454 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2455 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2456 | "dev": true, 2457 | "license": "ISC", 2458 | "peer": true, 2459 | "dependencies": { 2460 | "isexe": "^2.0.0" 2461 | }, 2462 | "bin": { 2463 | "node-which": "bin/node-which" 2464 | }, 2465 | "engines": { 2466 | "node": ">= 8" 2467 | } 2468 | }, 2469 | "node_modules/word-wrap": { 2470 | "version": "1.2.5", 2471 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 2472 | "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 2473 | "dev": true, 2474 | "license": "MIT", 2475 | "peer": true, 2476 | "engines": { 2477 | "node": ">=0.10.0" 2478 | } 2479 | }, 2480 | "node_modules/wrappy": { 2481 | "version": "1.0.2", 2482 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2483 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2484 | "dev": true, 2485 | "license": "ISC" 2486 | }, 2487 | "node_modules/yocto-queue": { 2488 | "version": "0.1.0", 2489 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 2490 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 2491 | "dev": true, 2492 | "license": "MIT", 2493 | "peer": true, 2494 | "engines": { 2495 | "node": ">=10" 2496 | }, 2497 | "funding": { 2498 | "url": "https://github.com/sponsors/sindresorhus" 2499 | } 2500 | } 2501 | } 2502 | } 2503 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cycle-in-sidebar", 3 | "version": "1.0.3", 4 | "description": "This is a Obsidian plugin for adding a cycle sidebar command", 5 | "main": "main.js", 6 | "scripts": { 7 | "dev": "rollup -c --watch", 8 | "build": "tsc -noEmit -skipLibCheck && rollup -c", 9 | "version": "node version-bump.mjs && git add manifest.json versions.json" 10 | }, 11 | "keywords": [], 12 | "author": "", 13 | "license": "MIT", 14 | "devDependencies": { 15 | "@rollup/plugin-typescript": "^11.1.0", 16 | "rollup-plugin-copy": "^3.5.0", 17 | "rollup-plugin-terser": "^7.0.2", 18 | "@types/node": "^16.11.6", 19 | "@typescript-eslint/eslint-plugin": "5.29.0", 20 | "@typescript-eslint/parser": "5.29.0", 21 | "builtin-modules": "3.3.0", 22 | "obsidian": "latest", 23 | "tslib": "2.4.0", 24 | "typescript": "4.7.4", 25 | "rollup": "^2.79.2" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /rollup.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'rollup'; 2 | import typescript from '@rollup/plugin-typescript'; 3 | import copy from 'rollup-plugin-copy'; 4 | 5 | export default defineConfig({ 6 | input: 'main.ts', 7 | output: { 8 | file: 'main.js', 9 | format: 'cjs', 10 | sourcemap: process.env.NODE_ENV === 'production' ? false : 'inline', 11 | banner: `/* 12 | THIS IS A GENERATED/BUNDLED FILE BY ROLLUP 13 | if you want to view the source, please visit the github repository of this plugin 14 | */ 15 | `, 16 | }, 17 | external: [ 18 | 'obsidian', 19 | 'electron', 20 | '@codemirror/autocomplete', 21 | '@codemirror/collab', 22 | '@codemirror/commands', 23 | '@codemirror/language', 24 | '@codemirror/lint', 25 | '@codemirror/search', 26 | '@codemirror/state', 27 | '@codemirror/view', 28 | '@lezer/common', 29 | '@lezer/highlight', 30 | '@lezer/lr', 31 | ...Object.keys(process.binding('natives')) 32 | ], 33 | plugins: [ 34 | typescript({ 35 | target: 'es2018', 36 | skipLibCheck: true, 37 | noEmitOnError: true, 38 | }), 39 | copy({ 40 | targets: [ 41 | { src: 'main.js', dest: 'test-vault/.obsidian/plugins/obsidian-cycle-in-sidebar-plugin/' }, 42 | { src: 'manifest.json', dest: 'test-vault/.obsidian/plugins/obsidian-cycle-in-sidebar-plugin/' }, 43 | { src: 'styles.css', dest: 'test-vault/.obsidian/plugins/obsidian-cycle-in-sidebar-plugin/' }, 44 | ], 45 | hook: 'writeBundle', 46 | }), 47 | ], 48 | }); 49 | -------------------------------------------------------------------------------- /styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This CSS file will be included with your plugin, and 4 | available in the app when your plugin is enabled. 5 | 6 | If your plugin does not need CSS, delete this file. 7 | 8 | */ 9 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "inlineSourceMap": true, 5 | "inlineSources": true, 6 | "module": "ESNext", 7 | "target": "ES6", 8 | "allowJs": true, 9 | "noImplicitAny": true, 10 | "moduleResolution": "node", 11 | "importHelpers": true, 12 | "isolatedModules": true, 13 | "strictNullChecks": true, 14 | "lib": [ 15 | "DOM", 16 | "ES5", 17 | "ES6", 18 | "ES7" 19 | ] 20 | }, 21 | "include": [ 22 | "**/*.ts" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /version-bump.mjs: -------------------------------------------------------------------------------- 1 | import { readFileSync, writeFileSync } from "fs"; 2 | 3 | const targetVersion = process.env.npm_package_version; 4 | 5 | // read minAppVersion from manifest.json and bump version to target version 6 | let manifest = JSON.parse(readFileSync("manifest.json", "utf8")); 7 | const { minAppVersion } = manifest; 8 | manifest.version = targetVersion; 9 | writeFileSync("manifest.json", JSON.stringify(manifest, null, "\t")); 10 | 11 | // update versions.json with target version and minAppVersion from manifest.json 12 | let versions = JSON.parse(readFileSync("versions.json", "utf8")); 13 | versions[targetVersion] = minAppVersion; 14 | writeFileSync("versions.json", JSON.stringify(versions, null, "\t")); 15 | -------------------------------------------------------------------------------- /versions.json: -------------------------------------------------------------------------------- 1 | { 2 | "1.0.0": "0.15.0" 3 | } 4 | --------------------------------------------------------------------------------