├── .codebeatsettings
├── .editorconfig
├── .gitattributes
├── .github
├── FUNDING.yml
└── workflows
│ └── build.yml
├── .gitignore
├── .npmignore
├── .prettierignore
├── .prettierrc
├── .travis.yml
├── .whitesource
├── LICENSE
├── README.md
├── _.config.yml
├── _config.yml
├── demo
└── index.html
├── eslint.config.mjs
├── package.json
├── renovate.json
├── rollup.config.mjs
├── src
└── touchsweep.ts
├── tsconfig.json
└── yarn.lock
/.codebeatsettings:
--------------------------------------------------------------------------------
1 | {
2 | "TYPESCRIPT": {
3 | "ABC": [
4 | 20,
5 | 40,
6 | 80,
7 | 120
8 | ],
9 | "LOC": [
10 | 50,
11 | 80,
12 | 120,
13 | 160
14 | ],
15 | "TOTAL_LOC": [
16 | 400,
17 | 500,
18 | 640,
19 | 900
20 | ],
21 | "BLOCK_NESTING": [
22 | 6,
23 | 8,
24 | 10,
25 | 12
26 | ]
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | end_of_line = lf
7 | indent_style = tab
8 | indent_size = 4
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | [{*.json,*.yml}]
13 | indent_style = space
14 | indent_size = 2
15 |
16 | [*.md]
17 | trim_trailing_whitespace = false
18 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ## GITATTRIBUTES FOR WEB PROJECTS
2 | #
3 | # These settings are for any web project.
4 | #
5 | # Details per file setting:
6 | # text These files should be normalized (i.e. convert CRLF to LF).
7 | # binary These files are binary and should be left untouched.
8 | #
9 | # Note that binary is a macro for -text -diff.
10 | ######################################################################
11 |
12 | ## AUTO-DETECT
13 | ## Handle line endings automatically for files detected as
14 | ## text and leave all files detected as binary untouched.
15 | ## This will handle all files NOT defined below.
16 | * text=auto
17 |
18 | ## SOURCE CODE
19 | *.bat text eol=crlf
20 | *.coffee text
21 | *.css text
22 | *.htm text
23 | *.html text
24 | *.inc text
25 | *.ini text
26 | *.js text
27 | *.json text
28 | *.jsx text
29 | *.less text
30 | *.od text
31 | *.onlydata text
32 | *.php text
33 | *.pl text
34 | *.py text
35 | *.rb text
36 | *.sass text
37 | *.scm text
38 | *.scss text
39 | *.sh text eol=lf
40 | *.sql text
41 | *.styl text
42 | *.tag text
43 | *.ts text
44 | *.tsx text
45 | *.xml text
46 | *.xhtml text
47 |
48 | ## DOCKER
49 | *.dockerignore text
50 | Dockerfile text
51 |
52 | ## DOCUMENTATION
53 | *.markdown text
54 | *.md text
55 | *.mdwn text
56 | *.mdown text
57 | *.mkd text
58 | *.mkdn text
59 | *.mdtxt text
60 | *.mdtext text
61 | *.txt text
62 | AUTHORS text
63 | CHANGELOG text
64 | CHANGES text
65 | CONTRIBUTING text
66 | COPYING text
67 | copyright text
68 | *COPYRIGHT* text
69 | INSTALL text
70 | license text
71 | LICENSE text
72 | NEWS text
73 | readme text
74 | *README* text
75 | TODO text
76 |
77 | ## TEMPLATES
78 | *.dot text
79 | *.ejs text
80 | *.haml text
81 | *.handlebars text
82 | *.hbs text
83 | *.hbt text
84 | *.jade text
85 | *.latte text
86 | *.mustache text
87 | *.njk text
88 | *.phtml text
89 | *.tmpl text
90 | *.tpl text
91 | *.twig text
92 |
93 | ## LINTERS
94 | .csslintrc text
95 | .eslintrc text
96 | .htmlhintrc text
97 | .jscsrc text
98 | .jshintrc text
99 | .jshintignore text
100 | .stylelintrc text
101 |
102 | ## CONFIGS
103 | *.bowerrc text
104 | *.cnf text
105 | *.conf text
106 | *.config text
107 | .browserslistrc text
108 | .editorconfig text
109 | .gitattributes text
110 | .gitconfig text
111 | .htaccess text
112 | *.npmignore text
113 | *.yaml text
114 | *.yml text
115 | browserslist text
116 | Makefile text
117 | makefile text
118 |
119 | ## HEROKU
120 | Procfile text
121 | .slugignore text
122 |
123 | ## GRAPHICS
124 | *.ai binary
125 | *.bmp binary
126 | *.eps binary
127 | *.gif binary
128 | *.ico binary
129 | *.jng binary
130 | *.jp2 binary
131 | *.jpg binary
132 | *.jpeg binary
133 | *.jpx binary
134 | *.jxr binary
135 | *.pdf binary
136 | *.png binary
137 | *.psb binary
138 | *.psd binary
139 | *.svg text
140 | *.svgz binary
141 | *.tif binary
142 | *.tiff binary
143 | *.wbmp binary
144 | *.webp binary
145 |
146 | ## AUDIO
147 | *.kar binary
148 | *.m4a binary
149 | *.mid binary
150 | *.midi binary
151 | *.mp3 binary
152 | *.ogg binary
153 | *.ra binary
154 |
155 | ## VIDEO
156 | *.3gpp binary
157 | *.3gp binary
158 | *.as binary
159 | *.asf binary
160 | *.asx binary
161 | *.fla binary
162 | *.flv binary
163 | *.m4v binary
164 | *.mng binary
165 | *.mov binary
166 | *.mp4 binary
167 | *.mpeg binary
168 | *.mpg binary
169 | *.ogv binary
170 | *.swc binary
171 | *.swf binary
172 | *.webm binary
173 |
174 | ## ARCHIVES
175 | *.7z binary
176 | *.gz binary
177 | *.jar binary
178 | *.rar binary
179 | *.tar binary
180 | *.zip binary
181 |
182 | ## FONTS
183 | *.ttf binary
184 | *.eot binary
185 | *.otf binary
186 | *.woff binary
187 | *.woff2 binary
188 |
189 | ## EXECUTABLES
190 | *.exe binary
191 | *.pyc binary
192 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: [scriptex]
4 | patreon: atanas
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: scriptex
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: scriptex
10 | issuehunt: scriptex
11 | otechie: # Replace with a single Otechie username
12 | custom: ['paypal.me/scriptex', 'revolut.me/scriptex']
13 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Build
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | build:
7 | runs-on: ubuntu-latest
8 |
9 | strategy:
10 | matrix:
11 | node-version: [lts/*]
12 |
13 | steps:
14 | - uses: actions/checkout@v4
15 | - name: Use Node.js ${{ matrix.node-version }}
16 | uses: actions/setup-node@v4
17 | with:
18 | node-version: ${{ matrix.node-version }}
19 | - run: yarn
20 | - run: yarn lint
21 | - run: yarn build
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Dependency directory
9 | node_modules/
10 |
11 | # Misc
12 | .DS_Store
13 | .DS_Store?
14 | ._*
15 | .Spotlight-V100
16 | .Trashes
17 | ehthumbs.db
18 | Thumbs.db
19 |
20 | dist
21 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Dependency directory
9 | node_modules
10 |
11 | # Misc
12 | .DS_Store
13 | .DS_Store?
14 | ._*
15 | .Spotlight-V100
16 | .Trashes
17 | ehthumbs.db
18 | Thumbs.db
19 |
20 | # Config folders and files
21 | .github
22 | _config.yml
23 | _.config.yml
24 | .codebeatsettings
25 | .editorconfig
26 | .eslintrc
27 | .gitattributes
28 | .gitignore
29 | .nvmrc
30 | .prettierignore
31 | .prettierrc
32 | .stylelintignore
33 | .stylelintrc
34 | .travis.yml
35 | .whitesource
36 | renovate.json
37 | tsconfig.json
38 | tslint.json
39 | yarn.lock
40 |
41 | !dist
42 | demo
43 | rollup.config.mjs
44 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 120,
3 | "tabWidth": 4,
4 | "useTabs": true,
5 | "semi": true,
6 | "singleQuote": true,
7 | "jsxSingleQuote": false,
8 | "trailingComma": "none",
9 | "bracketSpacing": true,
10 | "jsxBracketSameLine": false,
11 | "arrowParens": "avoid",
12 | "proseWrap": "preserve"
13 | }
14 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | sudo: false
3 | node_js:
4 | - 'lts/*'
5 | install:
6 | - yarn
7 | script:
8 | - yarn lint
9 | - yarn build
10 |
--------------------------------------------------------------------------------
/.whitesource:
--------------------------------------------------------------------------------
1 | {
2 | "generalSettings": {
3 | "shouldScanRepo": true
4 | },
5 | "checkRunSettings": {
6 | "vulnerableCheckRunConclusionLevel": "success"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018-Present Atanas Atanasov
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 | [](https://travis-ci.com/scriptex/touchsweep)
2 | [](https://github.com/scriptex/touchsweep/actions?query=workflow%3ABuild)
3 | [](https://www.codacy.com/gh/scriptex/touchsweep/dashboard?utm_source=github.com&utm_medium=referral&utm_content=scriptex/touchsweep&utm_campaign=Badge_Grade)
4 | [](https://codebeat.co/projects/github-com-scriptex-touchsweep-master)
5 | [](https://www.codefactor.io/repository/github/scriptex/touchsweep)
6 | [](https://deepscan.io/dashboard#view=project&tid=3574&pid=5257&bid=40799)
7 | [](https://github.com/scriptex/touchsweep/)
8 |
9 | # TouchSweep
10 |
11 | > Super tiny vanilla JS module to detect swipe direction and trigger custom events accordingly.
12 |
13 | ## Visitor stats
14 |
15 | 
16 | 
17 | 
18 | 
19 |
20 | ## Code stats
21 |
22 | 
23 | 
24 | 
25 | 
26 | 
27 |
28 | ## Install
29 |
30 | ```sh
31 | npm i touchsweep
32 | ```
33 |
34 | or
35 |
36 | ```sh
37 | yarn add touchsweep
38 | ```
39 |
40 | ## Usage
41 |
42 | ```javascript
43 | import TouchSweep from 'touchsweep';
44 |
45 | const area = document.getElementById('swipe-area');
46 | const data = {
47 | value: 1
48 | };
49 | const touchThreshold = 20;
50 |
51 | const touchSweepInstance = new TouchSweep(area, data, touchThreshold);
52 |
53 | // Then listen for custom swipe events and do your magic:
54 |
55 | area.addEventListener('swipeleft', event => {
56 | // You have swiped left
57 | // Custom event data is located in `event.detail`
58 | // Details about coordinates are also available under `event.detail`
59 | });
60 |
61 | area.addEventListener('swiperight', event => {
62 | // You have swiped right
63 | // Custom event data is located in `event.detail`
64 | // Details about coordinates are also available under `event.detail`
65 | });
66 |
67 | area.addEventListener('swipedown', event => {
68 | // You have swiped down
69 | // Custom event data is located in `event.detail`
70 | // Details about coordinates are also available under `event.detail`
71 | });
72 |
73 | area.addEventListener('swipeup', event => {
74 | // You have swiped up
75 | // Custom event data is located in `event.detail`
76 | // Details about coordinates are also available under `event.detail`
77 | });
78 |
79 | area.addEventListener('swipemove', event => {
80 | // You are swiped continuously
81 | // Custom event data is located in `event.detail`
82 | // Details about coordinates are also available under `event.detail`
83 | });
84 |
85 | area.addEventListener('tap', event => {
86 | // You have tapped
87 | // Custom event data is located in `event.detail`
88 | // Details about coordinates are also available under `event.detail`
89 | });
90 | ```
91 |
92 | ## Options and default settings
93 |
94 | The module constructor accepts three (3) arguments:
95 |
96 | - `element`: A HTML Element. Default is `document.body`
97 | - `eventData`: A plain JS object. Default is `{}`
98 | - `threshold`: How many pixels to count until an event is fired. Default is 40
99 |
100 | ## API
101 |
102 | TouchSweep provides a minimal API for you to use.
103 |
104 | The `TouchSweep` instance exposes two public methods which allow you to add or to remove all event listeners responsible for the module functionality.
105 |
106 | This is useful in cases where you want to remove the `TouchSweep` container/area from the DOM and prevent possible memory leaks by removing all event listeners related to this DOM element.
107 |
108 | In order to remove all previously attached event listeners:
109 |
110 | ```javascript
111 | touchSweepInstance.unbind();
112 | ```
113 |
114 | In order to add all previously removed event listeners:
115 |
116 | ```javascript
117 | touchSweepInstance.bind();
118 | ```
119 |
120 | ## Supported Browsers
121 |
122 | Currently all evergreen browsers are supported.
123 |
124 | ## Demo
125 |
126 | There is a simple demo illustrating how the TouchSweep library works.
127 |
128 | Check the code [here](https://github.com/scriptex/touchsweep/blob/master/demo/index.html) and the live demo [here](https://touchsweep.atanas.info)
129 |
130 | ## Typescript
131 |
132 | `TouchSweep` is written in Typescript and provides full Typescript support out of the box.
133 |
134 | ## LICENSE
135 |
136 | MIT
137 |
138 | ---
139 |
140 |
141 | Connect with me:
142 |
143 |
144 |
145 |
146 |
195 |
196 | ---
197 |
198 |
230 |
--------------------------------------------------------------------------------
/_.config.yml:
--------------------------------------------------------------------------------
1 | plugins:
2 | - jekyll-relative-links
3 | relative_links:
4 | enabled: true
5 | collections: true
6 | include:
7 | - CONTRIBUTING.md
8 | - README.md
9 | - LICENSE.md
10 | - COPYING.md
11 | - CODE_OF_CONDUCT.md
12 | - CONTRIBUTING.md
13 | - ISSUE_TEMPLATE.md
14 | - PULL_REQUEST_TEMPLATE.md
15 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-slate
2 |
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | TouchSweep Demo
8 |
9 |
10 |
11 |
15 |
16 |
21 |
22 |
28 |
29 |
129 |
130 |
131 |
137 | See code on Github
138 |
139 |
140 |
141 |
142 |
143 |
Touchsweep
144 |
145 |
Detect your swipe events direction
146 |
147 |
Installation
148 |
149 |
150 |
151 |
152 | npm install touchsweep
153 |
154 | # or
155 |
156 | yarn add touchsweep
157 |
158 |
159 |
160 |
Usage
161 |
162 |
163 |
164 |
165 | import TouchSweep from 'touchsweep';
166 |
167 | const area = document.getElementById('area');
168 |
169 | const instance = new TouchSweep(
170 | area,
171 | {
172 | value: 1
173 | },
174 | 20
175 | );
176 |
177 | area.addEventListener('swipeleft', event => {
178 | // Swipe direction: left
179 | });
180 |
181 | area.addEventListener('swiperight', event => {
182 | // Swipe direction: right
183 | });
184 |
185 | area.addEventListener('swipeup', event => {
186 | // Swipe direction: up
187 | });
188 |
189 | area.addEventListener('swipedown', event => {
190 | // Swipe direction: down
191 | });
192 |
193 | area.addEventListener('swipemove', event => {
194 | // Swipe direction: none
195 | // Swipe event: swipemove
196 | });
197 |
198 | area.addEventListener('tap', event => {
199 | // Swipe direction: none
200 | });
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
Result
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
316 |
317 |
318 |
--------------------------------------------------------------------------------
/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import globals from 'globals';
2 |
3 | import prettier from 'eslint-config-prettier';
4 | import tsEsLint from '@typescript-eslint/eslint-plugin';
5 | import tsParser from '@typescript-eslint/parser';
6 |
7 | export default [
8 | {
9 | files: ['src/**/*.ts'],
10 | languageOptions: {
11 | globals: {
12 | ...globals.browser,
13 | ...globals.node
14 | },
15 | parser: tsParser,
16 | parserOptions: {
17 | project: 'tsconfig.json',
18 | sourceType: 'module'
19 | }
20 | },
21 | plugins: {
22 | prettier,
23 | tsEsLint
24 | },
25 | rules: {
26 | 'no-console': 'error'
27 | }
28 | }
29 | ];
30 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "touchsweep",
3 | "version": "2.2.0",
4 | "description": "Super tiny vanilla JS module to detect swipe direction",
5 | "keywords": [
6 | "Touch swipe",
7 | "Touch events",
8 | "Mouse events",
9 | "Touch event detection",
10 | "Mouse event detection"
11 | ],
12 | "homepage": "https://touchsweep.atanas.info",
13 | "bugs": {
14 | "url": "https://github.com/scriptex/touchsweep/issues",
15 | "email": "hi@atanas.info"
16 | },
17 | "license": "MIT",
18 | "author": "Atanas Atanasov (https://atanas.info)",
19 | "funding": "https://github.com/sponsors/scriptex",
20 | "main": "dist/touchsweep.js",
21 | "types": "dist/touchsweep.d.ts",
22 | "repository": {
23 | "type": "git",
24 | "url": "github:scriptex/touchsweep"
25 | },
26 | "scripts": {
27 | "lint": "eslint",
28 | "copy": "cp -r dist demo",
29 | "clean": "rm -rf dist && rm -rf demo/dist",
30 | "build": "yarn clean && rollup -c && yarn copy"
31 | },
32 | "dependencies": {},
33 | "devDependencies": {
34 | "@rollup/plugin-commonjs": "28.0.3",
35 | "@rollup/plugin-typescript": "12.1.2",
36 | "@typescript-eslint/eslint-plugin": "8.33.1",
37 | "@typescript-eslint/parser": "8.33.1",
38 | "eslint": "9.28.0",
39 | "eslint-config-prettier": "10.1.5",
40 | "rollup": "4.41.1",
41 | "tslib": "2.8.1",
42 | "typescript": "5.8.3"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "config:base",
4 | ":automergePatch",
5 | ":automergeMinor",
6 | ":automergeBranch",
7 | ":disableDependencyDashboard",
8 | "group:allNonMajor"
9 | ],
10 | "travis": {
11 | "enabled": true
12 | },
13 | "assignees": ["@scriptex"],
14 | "labels": ["dependencies"],
15 | "rebaseWhen": "conflicted",
16 | "vulnerabilityAlerts": {
17 | "labels": ["security"],
18 | "assignees": ["@scriptex"]
19 | },
20 | "major": {
21 | "automerge": false
22 | },
23 | "schedule": ["* * 5,19 * *"]
24 | }
25 |
--------------------------------------------------------------------------------
/rollup.config.mjs:
--------------------------------------------------------------------------------
1 | import commonjs from '@rollup/plugin-commonjs';
2 | import typescript from '@rollup/plugin-typescript';
3 |
4 | export default {
5 | input: 'src/touchsweep.ts',
6 | output: {
7 | dir: 'dist',
8 | name: 'Touchsweep',
9 | format: 'umd',
10 | exports: 'named',
11 | sourcemap: true
12 | },
13 | plugins: [typescript(), commonjs()]
14 | };
15 |
--------------------------------------------------------------------------------
/src/touchsweep.ts:
--------------------------------------------------------------------------------
1 | export const enum TouchSwipeEventType {
2 | up = 'swipeup',
3 | tap = 'tap',
4 | down = 'swipedown',
5 | move = 'swipemove',
6 | left = 'swipeleft',
7 | right = 'swiperight'
8 | }
9 |
10 | export type TouchSwipeCoordinateType = 'startX' | 'startY' | 'moveX' | 'moveY' | 'endX' | 'endY';
11 |
12 | export type TouchSwipeCoordinates = Record<'x' | 'y', number>;
13 |
14 | const defaultCoordinates = {
15 | endX: 0,
16 | endY: 0,
17 | moveX: 0,
18 | moveY: 0,
19 | startX: 0,
20 | startY: 0
21 | };
22 |
23 | export default class TouchSweep {
24 | public eventData: Record;
25 |
26 | private element: HTMLElement;
27 | private threshold: number;
28 |
29 | private coords: Record;
30 | private isMoving: boolean;
31 | private moveCoords: TouchSwipeCoordinates;
32 |
33 | constructor(element = document.body, data = {}, threshold = 40) {
34 | this.element = element;
35 | this.eventData = data;
36 | this.threshold = threshold;
37 |
38 | this.coords = defaultCoordinates;
39 | this.isMoving = false;
40 | this.moveCoords = { x: 0, y: 0 };
41 |
42 | this.onStart = this.onStart.bind(this);
43 | this.onMove = this.onMove.bind(this);
44 | this.onEnd = this.onEnd.bind(this);
45 |
46 | this.bind();
47 |
48 | return this; //NOSONAR
49 | }
50 |
51 | public bind(): void {
52 | const { element } = this;
53 |
54 | element.addEventListener('touchstart', this.onStart, { passive: true });
55 | element.addEventListener('touchmove', this.onMove, { passive: true });
56 | element.addEventListener('touchend', this.onEnd, { passive: true });
57 | element.addEventListener('mousedown', this.onStart, { passive: true });
58 | element.addEventListener('mousemove', this.onMove, { passive: true });
59 | element.addEventListener('mouseup', this.onEnd, { passive: true });
60 | }
61 |
62 | public unbind(): void {
63 | const { element } = this;
64 |
65 | // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener#matching_event_listeners_for_removal
66 | element.removeEventListener('touchstart', this.onStart, false);
67 | element.removeEventListener('touchmove', this.onMove, false);
68 | element.removeEventListener('touchend', this.onEnd, false);
69 | element.removeEventListener('mousedown', this.onStart, false);
70 | element.removeEventListener('mousemove', this.onMove, false);
71 | element.removeEventListener('mouseup', this.onEnd, false);
72 | }
73 |
74 | private getCoords(event: MouseEvent | TouchEvent): TouchSwipeCoordinates {
75 | const result = this.moveCoords;
76 | const isMouseEvent = 'pageX' in event;
77 |
78 | result.x = isMouseEvent ? event.pageX : event.changedTouches[0].screenX;
79 | result.y = isMouseEvent ? event.pageY : event.changedTouches[0].screenY;
80 |
81 | return result;
82 | }
83 |
84 | private resetCoords(): void {
85 | this.coords = defaultCoordinates;
86 | }
87 |
88 | // prettier-ignore
89 | private getEndEventName(): TouchSwipeEventType | '' { //NOSONAR
90 | const threshold = this.threshold;
91 | const { startX, startY, endX, endY } = this.coords;
92 | const distanceX = Math.abs(endX - startX);
93 | const distanceY = Math.abs(endY - startY);
94 | const isSwipeX = distanceX > distanceY;
95 |
96 | if (isSwipeX) {
97 | if (endX < startX && distanceX > threshold) {
98 | return TouchSwipeEventType.left;
99 | }
100 |
101 | if (endX > startX && distanceX > threshold) {
102 | return TouchSwipeEventType.right;
103 | }
104 | } else {
105 | if (endY < startY && distanceY > threshold) {
106 | return TouchSwipeEventType.up;
107 | }
108 |
109 | if (endY > startY && distanceY > threshold) {
110 | return TouchSwipeEventType.down;
111 | }
112 | }
113 |
114 | if (endY === startY && endX === startX) {
115 | return TouchSwipeEventType.tap;
116 | }
117 |
118 | return '';
119 | }
120 |
121 | private dispatchEvent(type: TouchSwipeEventType): void {
122 | const event = new CustomEvent(type, {
123 | detail: {
124 | ...this.eventData,
125 | coords: this.coords
126 | }
127 | });
128 |
129 | this.element.dispatchEvent(event);
130 | }
131 |
132 | private dispatchEnd(): void {
133 | const eventName = this.getEndEventName();
134 |
135 | if (!eventName) {
136 | return;
137 | }
138 |
139 | this.dispatchEvent(eventName);
140 | }
141 |
142 | private onStart(event: MouseEvent | TouchEvent): void {
143 | const { x, y } = this.getCoords(event);
144 |
145 | this.isMoving = true;
146 |
147 | this.coords.startX = x;
148 | this.coords.startY = y;
149 | }
150 |
151 | private onMove(event: MouseEvent | TouchEvent): void {
152 | if (!this.isMoving) {
153 | return;
154 | }
155 |
156 | const { x, y } = this.getCoords(event);
157 |
158 | this.coords.moveX = x;
159 | this.coords.moveY = y;
160 |
161 | this.dispatchEvent(TouchSwipeEventType.move);
162 | }
163 |
164 | private onEnd(event: MouseEvent | TouchEvent): void {
165 | const { x, y } = this.getCoords(event);
166 |
167 | this.isMoving = false;
168 |
169 | this.coords.endX = x;
170 | this.coords.endY = y;
171 |
172 | this.dispatchEnd();
173 | this.resetCoords();
174 | }
175 | }
176 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowJs": false,
4 | "allowSyntheticDefaultImports": true,
5 | "alwaysStrict": true,
6 | "baseUrl": "./",
7 | "checkJs": false,
8 | "declaration": true,
9 | "emitDecoratorMetadata": true,
10 | "experimentalDecorators": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "importHelpers": false,
13 | "isolatedModules": true,
14 | "jsx": "react",
15 | "lib": ["DOM", "ESNext"],
16 | "module": "ES2015",
17 | "moduleResolution": "Node",
18 | "noEmit": false,
19 | "noEmitHelpers": false,
20 | "noEmitOnError": true,
21 | "noFallthroughCasesInSwitch": true,
22 | "noImplicitAny": true,
23 | "noImplicitReturns": true,
24 | "noImplicitThis": true,
25 | "noStrictGenericChecks": false,
26 | "outDir": "./dist",
27 | "pretty": true,
28 | "removeComments": false,
29 | "sourceMap": true,
30 | "strict": true,
31 | "strictBindCallApply": true,
32 | "strictFunctionTypes": true,
33 | "strictPropertyInitialization": true,
34 | "strictNullChecks": true,
35 | "target": "ES5"
36 | },
37 | "include": ["src/*.ts"],
38 | "exclude": ["node_modules"]
39 | }
40 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@aashutoshrathi/word-wrap@^1.2.3":
6 | version "1.2.6"
7 | resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
8 | integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
9 |
10 | "@eslint-community/eslint-utils@^4.2.0":
11 | version "4.4.0"
12 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
13 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
14 | dependencies:
15 | eslint-visitor-keys "^3.3.0"
16 |
17 | "@eslint-community/eslint-utils@^4.7.0":
18 | version "4.7.0"
19 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a"
20 | integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==
21 | dependencies:
22 | eslint-visitor-keys "^3.4.3"
23 |
24 | "@eslint-community/regexpp@^4.10.0":
25 | version "4.10.0"
26 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
27 | integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
28 |
29 | "@eslint-community/regexpp@^4.12.1":
30 | version "4.12.1"
31 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0"
32 | integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
33 |
34 | "@eslint/config-array@^0.20.0":
35 | version "0.20.0"
36 | resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.20.0.tgz#7a1232e82376712d3340012a2f561a2764d1988f"
37 | integrity sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==
38 | dependencies:
39 | "@eslint/object-schema" "^2.1.6"
40 | debug "^4.3.1"
41 | minimatch "^3.1.2"
42 |
43 | "@eslint/config-helpers@^0.2.1":
44 | version "0.2.1"
45 | resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.1.tgz#26042c028d1beee5ce2235a7929b91c52651646d"
46 | integrity sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==
47 |
48 | "@eslint/core@^0.14.0":
49 | version "0.14.0"
50 | resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.14.0.tgz#326289380968eaf7e96f364e1e4cf8f3adf2d003"
51 | integrity sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==
52 | dependencies:
53 | "@types/json-schema" "^7.0.15"
54 |
55 | "@eslint/eslintrc@^3.3.1":
56 | version "3.3.1"
57 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964"
58 | integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==
59 | dependencies:
60 | ajv "^6.12.4"
61 | debug "^4.3.2"
62 | espree "^10.0.1"
63 | globals "^14.0.0"
64 | ignore "^5.2.0"
65 | import-fresh "^3.2.1"
66 | js-yaml "^4.1.0"
67 | minimatch "^3.1.2"
68 | strip-json-comments "^3.1.1"
69 |
70 | "@eslint/js@9.28.0":
71 | version "9.28.0"
72 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.28.0.tgz#7822ccc2f8cae7c3cd4f902377d520e9ae03f844"
73 | integrity sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==
74 |
75 | "@eslint/object-schema@^2.1.6":
76 | version "2.1.6"
77 | resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f"
78 | integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==
79 |
80 | "@eslint/plugin-kit@^0.3.1":
81 | version "0.3.1"
82 | resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz#b71b037b2d4d68396df04a8c35a49481e5593067"
83 | integrity sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==
84 | dependencies:
85 | "@eslint/core" "^0.14.0"
86 | levn "^0.4.1"
87 |
88 | "@humanfs/core@^0.19.1":
89 | version "0.19.1"
90 | resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77"
91 | integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==
92 |
93 | "@humanfs/node@^0.16.6":
94 | version "0.16.6"
95 | resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e"
96 | integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==
97 | dependencies:
98 | "@humanfs/core" "^0.19.1"
99 | "@humanwhocodes/retry" "^0.3.0"
100 |
101 | "@humanwhocodes/module-importer@^1.0.1":
102 | version "1.0.1"
103 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
104 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
105 |
106 | "@humanwhocodes/retry@^0.3.0":
107 | version "0.3.0"
108 | resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570"
109 | integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==
110 |
111 | "@humanwhocodes/retry@^0.4.2":
112 | version "0.4.2"
113 | resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.2.tgz#1860473de7dfa1546767448f333db80cb0ff2161"
114 | integrity sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==
115 |
116 | "@jridgewell/sourcemap-codec@^1.4.15":
117 | version "1.4.15"
118 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
119 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
120 |
121 | "@nodelib/fs.scandir@2.1.5":
122 | version "2.1.5"
123 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
124 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
125 | dependencies:
126 | "@nodelib/fs.stat" "2.0.5"
127 | run-parallel "^1.1.9"
128 |
129 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
130 | version "2.0.5"
131 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
132 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
133 |
134 | "@nodelib/fs.walk@^1.2.3":
135 | version "1.2.8"
136 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
137 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
138 | dependencies:
139 | "@nodelib/fs.scandir" "2.1.5"
140 | fastq "^1.6.0"
141 |
142 | "@rollup/plugin-commonjs@28.0.3":
143 | version "28.0.3"
144 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.3.tgz#44c2cc7c955c6113b96696b55e6bc2446bd67913"
145 | integrity sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==
146 | dependencies:
147 | "@rollup/pluginutils" "^5.0.1"
148 | commondir "^1.0.1"
149 | estree-walker "^2.0.2"
150 | fdir "^6.2.0"
151 | is-reference "1.2.1"
152 | magic-string "^0.30.3"
153 | picomatch "^4.0.2"
154 |
155 | "@rollup/plugin-typescript@12.1.2":
156 | version "12.1.2"
157 | resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-12.1.2.tgz#ebaeec2e7376faa889030ccd7cb485a649e63118"
158 | integrity sha512-cdtSp154H5sv637uMr1a8OTWB0L1SWDSm1rDGiyfcGcvQ6cuTs4MDk2BVEBGysUWago4OJN4EQZqOTl/QY3Jgg==
159 | dependencies:
160 | "@rollup/pluginutils" "^5.1.0"
161 | resolve "^1.22.1"
162 |
163 | "@rollup/pluginutils@^5.0.1", "@rollup/pluginutils@^5.1.0":
164 | version "5.1.0"
165 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0"
166 | integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==
167 | dependencies:
168 | "@types/estree" "^1.0.0"
169 | estree-walker "^2.0.2"
170 | picomatch "^2.3.1"
171 |
172 | "@rollup/rollup-android-arm-eabi@4.41.1":
173 | version "4.41.1"
174 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz#f39f09f60d4a562de727c960d7b202a2cf797424"
175 | integrity sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==
176 |
177 | "@rollup/rollup-android-arm64@4.41.1":
178 | version "4.41.1"
179 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz#d19af7e23760717f1d879d4ca3d2cd247742dff2"
180 | integrity sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==
181 |
182 | "@rollup/rollup-darwin-arm64@4.41.1":
183 | version "4.41.1"
184 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz#1c3a2fbf205d80641728e05f4a56c909e95218b7"
185 | integrity sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==
186 |
187 | "@rollup/rollup-darwin-x64@4.41.1":
188 | version "4.41.1"
189 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz#aa66d2ba1a25e609500e13bef06dc0e71cc0c0d4"
190 | integrity sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==
191 |
192 | "@rollup/rollup-freebsd-arm64@4.41.1":
193 | version "4.41.1"
194 | resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz#df10a7b6316a0ef1028c6ca71a081124c537e30d"
195 | integrity sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==
196 |
197 | "@rollup/rollup-freebsd-x64@4.41.1":
198 | version "4.41.1"
199 | resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz#a3fdce8a05e95b068cbcb46e4df5185e407d0c35"
200 | integrity sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==
201 |
202 | "@rollup/rollup-linux-arm-gnueabihf@4.41.1":
203 | version "4.41.1"
204 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz#49f766c55383bd0498014a9d76924348c2f3890c"
205 | integrity sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==
206 |
207 | "@rollup/rollup-linux-arm-musleabihf@4.41.1":
208 | version "4.41.1"
209 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz#1d4d7d32fc557e17d52e1857817381ea365e2959"
210 | integrity sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==
211 |
212 | "@rollup/rollup-linux-arm64-gnu@4.41.1":
213 | version "4.41.1"
214 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz#f4fc317268441e9589edad3be8f62b6c03009bc1"
215 | integrity sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==
216 |
217 | "@rollup/rollup-linux-arm64-musl@4.41.1":
218 | version "4.41.1"
219 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz#63a1f1b0671cb17822dabae827fef0e443aebeb7"
220 | integrity sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==
221 |
222 | "@rollup/rollup-linux-loongarch64-gnu@4.41.1":
223 | version "4.41.1"
224 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz#c659b01cc6c0730b547571fc3973e1e955369f98"
225 | integrity sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==
226 |
227 | "@rollup/rollup-linux-powerpc64le-gnu@4.41.1":
228 | version "4.41.1"
229 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz#612e746f9ad7e58480f964d65e0d6c3f4aae69a8"
230 | integrity sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==
231 |
232 | "@rollup/rollup-linux-riscv64-gnu@4.41.1":
233 | version "4.41.1"
234 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz#4610dbd1dcfbbae32fbc10c20ae7387acb31110c"
235 | integrity sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==
236 |
237 | "@rollup/rollup-linux-riscv64-musl@4.41.1":
238 | version "4.41.1"
239 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz#054911fab40dc83fafc21e470193c058108f19d8"
240 | integrity sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==
241 |
242 | "@rollup/rollup-linux-s390x-gnu@4.41.1":
243 | version "4.41.1"
244 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz#98896eca8012547c7f04bd07eaa6896825f9e1a5"
245 | integrity sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==
246 |
247 | "@rollup/rollup-linux-x64-gnu@4.41.1":
248 | version "4.41.1"
249 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz#01cf56844a1e636ee80dfb364e72c2b7142ad896"
250 | integrity sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==
251 |
252 | "@rollup/rollup-linux-x64-musl@4.41.1":
253 | version "4.41.1"
254 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz#e67c7531df6dff0b4c241101d4096617fbca87c3"
255 | integrity sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==
256 |
257 | "@rollup/rollup-win32-arm64-msvc@4.41.1":
258 | version "4.41.1"
259 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz#7eeada98444e580674de6989284e4baacd48ea65"
260 | integrity sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==
261 |
262 | "@rollup/rollup-win32-ia32-msvc@4.41.1":
263 | version "4.41.1"
264 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz#516c4b54f80587b4a390aaf4940b40870271d35d"
265 | integrity sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==
266 |
267 | "@rollup/rollup-win32-x64-msvc@4.41.1":
268 | version "4.41.1"
269 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz#848f99b0d9936d92221bb6070baeff4db6947a30"
270 | integrity sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==
271 |
272 | "@types/estree@*", "@types/estree@^1.0.0":
273 | version "1.0.5"
274 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
275 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
276 |
277 | "@types/estree@1.0.7":
278 | version "1.0.7"
279 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8"
280 | integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==
281 |
282 | "@types/estree@^1.0.6":
283 | version "1.0.6"
284 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50"
285 | integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
286 |
287 | "@types/json-schema@^7.0.15":
288 | version "7.0.15"
289 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
290 | integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
291 |
292 | "@typescript-eslint/eslint-plugin@8.33.1":
293 | version "8.33.1"
294 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz#532641b416ed2afd5be893cddb2a58e9cd1f7a3e"
295 | integrity sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==
296 | dependencies:
297 | "@eslint-community/regexpp" "^4.10.0"
298 | "@typescript-eslint/scope-manager" "8.33.1"
299 | "@typescript-eslint/type-utils" "8.33.1"
300 | "@typescript-eslint/utils" "8.33.1"
301 | "@typescript-eslint/visitor-keys" "8.33.1"
302 | graphemer "^1.4.0"
303 | ignore "^7.0.0"
304 | natural-compare "^1.4.0"
305 | ts-api-utils "^2.1.0"
306 |
307 | "@typescript-eslint/parser@8.33.1":
308 | version "8.33.1"
309 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.33.1.tgz#ef9a5ee6aa37a6b4f46cc36d08a14f828238afe2"
310 | integrity sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==
311 | dependencies:
312 | "@typescript-eslint/scope-manager" "8.33.1"
313 | "@typescript-eslint/types" "8.33.1"
314 | "@typescript-eslint/typescript-estree" "8.33.1"
315 | "@typescript-eslint/visitor-keys" "8.33.1"
316 | debug "^4.3.4"
317 |
318 | "@typescript-eslint/project-service@8.33.1":
319 | version "8.33.1"
320 | resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.33.1.tgz#c85e7d9a44d6a11fe64e73ac1ed47de55dc2bf9f"
321 | integrity sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==
322 | dependencies:
323 | "@typescript-eslint/tsconfig-utils" "^8.33.1"
324 | "@typescript-eslint/types" "^8.33.1"
325 | debug "^4.3.4"
326 |
327 | "@typescript-eslint/scope-manager@8.33.1":
328 | version "8.33.1"
329 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz#d1e0efb296da5097d054bc9972e69878a2afea73"
330 | integrity sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==
331 | dependencies:
332 | "@typescript-eslint/types" "8.33.1"
333 | "@typescript-eslint/visitor-keys" "8.33.1"
334 |
335 | "@typescript-eslint/tsconfig-utils@8.33.1", "@typescript-eslint/tsconfig-utils@^8.33.1":
336 | version "8.33.1"
337 | resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz#7836afcc097a4657a5ed56670851a450d8b70ab8"
338 | integrity sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==
339 |
340 | "@typescript-eslint/type-utils@8.33.1":
341 | version "8.33.1"
342 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz#d73ee1a29d8a0abe60d4abbff4f1d040f0de15fa"
343 | integrity sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==
344 | dependencies:
345 | "@typescript-eslint/typescript-estree" "8.33.1"
346 | "@typescript-eslint/utils" "8.33.1"
347 | debug "^4.3.4"
348 | ts-api-utils "^2.1.0"
349 |
350 | "@typescript-eslint/types@8.33.1", "@typescript-eslint/types@^8.33.1":
351 | version "8.33.1"
352 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.33.1.tgz#b693111bc2180f8098b68e9958cf63761657a55f"
353 | integrity sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==
354 |
355 | "@typescript-eslint/typescript-estree@8.33.1":
356 | version "8.33.1"
357 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz#d271beed470bc915b8764e22365d4925c2ea265d"
358 | integrity sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==
359 | dependencies:
360 | "@typescript-eslint/project-service" "8.33.1"
361 | "@typescript-eslint/tsconfig-utils" "8.33.1"
362 | "@typescript-eslint/types" "8.33.1"
363 | "@typescript-eslint/visitor-keys" "8.33.1"
364 | debug "^4.3.4"
365 | fast-glob "^3.3.2"
366 | is-glob "^4.0.3"
367 | minimatch "^9.0.4"
368 | semver "^7.6.0"
369 | ts-api-utils "^2.1.0"
370 |
371 | "@typescript-eslint/utils@8.33.1":
372 | version "8.33.1"
373 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.33.1.tgz#ea22f40d3553da090f928cf17907e963643d4b96"
374 | integrity sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==
375 | dependencies:
376 | "@eslint-community/eslint-utils" "^4.7.0"
377 | "@typescript-eslint/scope-manager" "8.33.1"
378 | "@typescript-eslint/types" "8.33.1"
379 | "@typescript-eslint/typescript-estree" "8.33.1"
380 |
381 | "@typescript-eslint/visitor-keys@8.33.1":
382 | version "8.33.1"
383 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz#6c6e002c24d13211df3df851767f24dfdb4f42bc"
384 | integrity sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==
385 | dependencies:
386 | "@typescript-eslint/types" "8.33.1"
387 | eslint-visitor-keys "^4.2.0"
388 |
389 | acorn-jsx@^5.3.2:
390 | version "5.3.2"
391 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
392 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
393 |
394 | acorn@^8.11.3:
395 | version "8.11.3"
396 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
397 | integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
398 |
399 | acorn@^8.14.0:
400 | version "8.14.0"
401 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
402 | integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
403 |
404 | ajv@^6.12.4:
405 | version "6.12.6"
406 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
407 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
408 | dependencies:
409 | fast-deep-equal "^3.1.1"
410 | fast-json-stable-stringify "^2.0.0"
411 | json-schema-traverse "^0.4.1"
412 | uri-js "^4.2.2"
413 |
414 | ansi-styles@^4.1.0:
415 | version "4.3.0"
416 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
417 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
418 | dependencies:
419 | color-convert "^2.0.1"
420 |
421 | argparse@^2.0.1:
422 | version "2.0.1"
423 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
424 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
425 |
426 | balanced-match@^1.0.0:
427 | version "1.0.2"
428 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
429 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
430 |
431 | brace-expansion@^1.1.7:
432 | version "1.1.11"
433 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
434 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
435 | dependencies:
436 | balanced-match "^1.0.0"
437 | concat-map "0.0.1"
438 |
439 | brace-expansion@^2.0.1:
440 | version "2.0.1"
441 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
442 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
443 | dependencies:
444 | balanced-match "^1.0.0"
445 |
446 | braces@^3.0.3:
447 | version "3.0.3"
448 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
449 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
450 | dependencies:
451 | fill-range "^7.1.1"
452 |
453 | callsites@^3.0.0:
454 | version "3.1.0"
455 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
456 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
457 |
458 | chalk@^4.0.0:
459 | version "4.1.2"
460 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
461 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
462 | dependencies:
463 | ansi-styles "^4.1.0"
464 | supports-color "^7.1.0"
465 |
466 | color-convert@^2.0.1:
467 | version "2.0.1"
468 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
469 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
470 | dependencies:
471 | color-name "~1.1.4"
472 |
473 | color-name@~1.1.4:
474 | version "1.1.4"
475 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
476 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
477 |
478 | commondir@^1.0.1:
479 | version "1.0.1"
480 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
481 | integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
482 |
483 | concat-map@0.0.1:
484 | version "0.0.1"
485 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
486 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
487 |
488 | cross-spawn@^7.0.6:
489 | version "7.0.6"
490 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
491 | integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
492 | dependencies:
493 | path-key "^3.1.0"
494 | shebang-command "^2.0.0"
495 | which "^2.0.1"
496 |
497 | debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
498 | version "4.3.4"
499 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
500 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
501 | dependencies:
502 | ms "2.1.2"
503 |
504 | deep-is@^0.1.3:
505 | version "0.1.4"
506 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
507 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
508 |
509 | escape-string-regexp@^4.0.0:
510 | version "4.0.0"
511 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
512 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
513 |
514 | eslint-config-prettier@10.1.5:
515 | version "10.1.5"
516 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz#00c18d7225043b6fbce6a665697377998d453782"
517 | integrity sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==
518 |
519 | eslint-scope@^8.3.0:
520 | version "8.3.0"
521 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.3.0.tgz#10cd3a918ffdd722f5f3f7b5b83db9b23c87340d"
522 | integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==
523 | dependencies:
524 | esrecurse "^4.3.0"
525 | estraverse "^5.2.0"
526 |
527 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3:
528 | version "3.4.3"
529 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
530 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
531 |
532 | eslint-visitor-keys@^4.0.0:
533 | version "4.0.0"
534 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb"
535 | integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==
536 |
537 | eslint-visitor-keys@^4.2.0:
538 | version "4.2.0"
539 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45"
540 | integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==
541 |
542 | eslint@9.28.0:
543 | version "9.28.0"
544 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.28.0.tgz#b0bcbe82a16945a40906924bea75e8b4980ced7d"
545 | integrity sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==
546 | dependencies:
547 | "@eslint-community/eslint-utils" "^4.2.0"
548 | "@eslint-community/regexpp" "^4.12.1"
549 | "@eslint/config-array" "^0.20.0"
550 | "@eslint/config-helpers" "^0.2.1"
551 | "@eslint/core" "^0.14.0"
552 | "@eslint/eslintrc" "^3.3.1"
553 | "@eslint/js" "9.28.0"
554 | "@eslint/plugin-kit" "^0.3.1"
555 | "@humanfs/node" "^0.16.6"
556 | "@humanwhocodes/module-importer" "^1.0.1"
557 | "@humanwhocodes/retry" "^0.4.2"
558 | "@types/estree" "^1.0.6"
559 | "@types/json-schema" "^7.0.15"
560 | ajv "^6.12.4"
561 | chalk "^4.0.0"
562 | cross-spawn "^7.0.6"
563 | debug "^4.3.2"
564 | escape-string-regexp "^4.0.0"
565 | eslint-scope "^8.3.0"
566 | eslint-visitor-keys "^4.2.0"
567 | espree "^10.3.0"
568 | esquery "^1.5.0"
569 | esutils "^2.0.2"
570 | fast-deep-equal "^3.1.3"
571 | file-entry-cache "^8.0.0"
572 | find-up "^5.0.0"
573 | glob-parent "^6.0.2"
574 | ignore "^5.2.0"
575 | imurmurhash "^0.1.4"
576 | is-glob "^4.0.0"
577 | json-stable-stringify-without-jsonify "^1.0.1"
578 | lodash.merge "^4.6.2"
579 | minimatch "^3.1.2"
580 | natural-compare "^1.4.0"
581 | optionator "^0.9.3"
582 |
583 | espree@^10.0.1:
584 | version "10.0.1"
585 | resolved "https://registry.yarnpkg.com/espree/-/espree-10.0.1.tgz#600e60404157412751ba4a6f3a2ee1a42433139f"
586 | integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==
587 | dependencies:
588 | acorn "^8.11.3"
589 | acorn-jsx "^5.3.2"
590 | eslint-visitor-keys "^4.0.0"
591 |
592 | espree@^10.3.0:
593 | version "10.3.0"
594 | resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a"
595 | integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==
596 | dependencies:
597 | acorn "^8.14.0"
598 | acorn-jsx "^5.3.2"
599 | eslint-visitor-keys "^4.2.0"
600 |
601 | esquery@^1.5.0:
602 | version "1.5.0"
603 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
604 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
605 | dependencies:
606 | estraverse "^5.1.0"
607 |
608 | esrecurse@^4.3.0:
609 | version "4.3.0"
610 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
611 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
612 | dependencies:
613 | estraverse "^5.2.0"
614 |
615 | estraverse@^5.1.0, estraverse@^5.2.0:
616 | version "5.3.0"
617 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
618 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
619 |
620 | estree-walker@^2.0.2:
621 | version "2.0.2"
622 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
623 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
624 |
625 | esutils@^2.0.2:
626 | version "2.0.3"
627 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
628 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
629 |
630 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
631 | version "3.1.3"
632 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
633 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
634 |
635 | fast-glob@^3.3.2:
636 | version "3.3.2"
637 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
638 | integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
639 | dependencies:
640 | "@nodelib/fs.stat" "^2.0.2"
641 | "@nodelib/fs.walk" "^1.2.3"
642 | glob-parent "^5.1.2"
643 | merge2 "^1.3.0"
644 | micromatch "^4.0.4"
645 |
646 | fast-json-stable-stringify@^2.0.0:
647 | version "2.1.0"
648 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
649 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
650 |
651 | fast-levenshtein@^2.0.6:
652 | version "2.0.6"
653 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
654 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
655 |
656 | fastq@^1.6.0:
657 | version "1.17.1"
658 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47"
659 | integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==
660 | dependencies:
661 | reusify "^1.0.4"
662 |
663 | fdir@^6.2.0:
664 | version "6.4.2"
665 | resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.2.tgz#ddaa7ce1831b161bc3657bb99cb36e1622702689"
666 | integrity sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==
667 |
668 | file-entry-cache@^8.0.0:
669 | version "8.0.0"
670 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
671 | integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
672 | dependencies:
673 | flat-cache "^4.0.0"
674 |
675 | fill-range@^7.1.1:
676 | version "7.1.1"
677 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
678 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
679 | dependencies:
680 | to-regex-range "^5.0.1"
681 |
682 | find-up@^5.0.0:
683 | version "5.0.0"
684 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
685 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
686 | dependencies:
687 | locate-path "^6.0.0"
688 | path-exists "^4.0.0"
689 |
690 | flat-cache@^4.0.0:
691 | version "4.0.1"
692 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
693 | integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
694 | dependencies:
695 | flatted "^3.2.9"
696 | keyv "^4.5.4"
697 |
698 | flatted@^3.2.9:
699 | version "3.3.1"
700 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a"
701 | integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==
702 |
703 | fsevents@~2.3.2:
704 | version "2.3.3"
705 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
706 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
707 |
708 | function-bind@^1.1.2:
709 | version "1.1.2"
710 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
711 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
712 |
713 | glob-parent@^5.1.2:
714 | version "5.1.2"
715 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
716 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
717 | dependencies:
718 | is-glob "^4.0.1"
719 |
720 | glob-parent@^6.0.2:
721 | version "6.0.2"
722 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
723 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
724 | dependencies:
725 | is-glob "^4.0.3"
726 |
727 | globals@^14.0.0:
728 | version "14.0.0"
729 | resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
730 | integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
731 |
732 | graphemer@^1.4.0:
733 | version "1.4.0"
734 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
735 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
736 |
737 | has-flag@^4.0.0:
738 | version "4.0.0"
739 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
740 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
741 |
742 | hasown@^2.0.0:
743 | version "2.0.2"
744 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
745 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
746 | dependencies:
747 | function-bind "^1.1.2"
748 |
749 | ignore@^5.2.0:
750 | version "5.3.1"
751 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef"
752 | integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
753 |
754 | ignore@^7.0.0:
755 | version "7.0.4"
756 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.4.tgz#a12c70d0f2607c5bf508fb65a40c75f037d7a078"
757 | integrity sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==
758 |
759 | import-fresh@^3.2.1:
760 | version "3.3.0"
761 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
762 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
763 | dependencies:
764 | parent-module "^1.0.0"
765 | resolve-from "^4.0.0"
766 |
767 | imurmurhash@^0.1.4:
768 | version "0.1.4"
769 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
770 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
771 |
772 | is-core-module@^2.13.0:
773 | version "2.13.1"
774 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
775 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
776 | dependencies:
777 | hasown "^2.0.0"
778 |
779 | is-extglob@^2.1.1:
780 | version "2.1.1"
781 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
782 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
783 |
784 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
785 | version "4.0.3"
786 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
787 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
788 | dependencies:
789 | is-extglob "^2.1.1"
790 |
791 | is-number@^7.0.0:
792 | version "7.0.0"
793 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
794 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
795 |
796 | is-reference@1.2.1:
797 | version "1.2.1"
798 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
799 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
800 | dependencies:
801 | "@types/estree" "*"
802 |
803 | isexe@^2.0.0:
804 | version "2.0.0"
805 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
806 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
807 |
808 | js-yaml@^4.1.0:
809 | version "4.1.0"
810 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
811 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
812 | dependencies:
813 | argparse "^2.0.1"
814 |
815 | json-buffer@3.0.1:
816 | version "3.0.1"
817 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
818 | integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
819 |
820 | json-schema-traverse@^0.4.1:
821 | version "0.4.1"
822 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
823 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
824 |
825 | json-stable-stringify-without-jsonify@^1.0.1:
826 | version "1.0.1"
827 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
828 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
829 |
830 | keyv@^4.5.4:
831 | version "4.5.4"
832 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
833 | integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
834 | dependencies:
835 | json-buffer "3.0.1"
836 |
837 | levn@^0.4.1:
838 | version "0.4.1"
839 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
840 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
841 | dependencies:
842 | prelude-ls "^1.2.1"
843 | type-check "~0.4.0"
844 |
845 | locate-path@^6.0.0:
846 | version "6.0.0"
847 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
848 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
849 | dependencies:
850 | p-locate "^5.0.0"
851 |
852 | lodash.merge@^4.6.2:
853 | version "4.6.2"
854 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
855 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
856 |
857 | lru-cache@^6.0.0:
858 | version "6.0.0"
859 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
860 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
861 | dependencies:
862 | yallist "^4.0.0"
863 |
864 | magic-string@^0.30.3:
865 | version "0.30.9"
866 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.9.tgz#8927ae21bfdd856310e07a1bc8dd5e73cb6c251d"
867 | integrity sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==
868 | dependencies:
869 | "@jridgewell/sourcemap-codec" "^1.4.15"
870 |
871 | merge2@^1.3.0:
872 | version "1.4.1"
873 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
874 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
875 |
876 | micromatch@^4.0.4:
877 | version "4.0.8"
878 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
879 | integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
880 | dependencies:
881 | braces "^3.0.3"
882 | picomatch "^2.3.1"
883 |
884 | minimatch@^3.1.2:
885 | version "3.1.2"
886 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
887 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
888 | dependencies:
889 | brace-expansion "^1.1.7"
890 |
891 | minimatch@^9.0.4:
892 | version "9.0.4"
893 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51"
894 | integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
895 | dependencies:
896 | brace-expansion "^2.0.1"
897 |
898 | ms@2.1.2:
899 | version "2.1.2"
900 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
901 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
902 |
903 | natural-compare@^1.4.0:
904 | version "1.4.0"
905 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
906 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
907 |
908 | optionator@^0.9.3:
909 | version "0.9.3"
910 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
911 | integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
912 | dependencies:
913 | "@aashutoshrathi/word-wrap" "^1.2.3"
914 | deep-is "^0.1.3"
915 | fast-levenshtein "^2.0.6"
916 | levn "^0.4.1"
917 | prelude-ls "^1.2.1"
918 | type-check "^0.4.0"
919 |
920 | p-limit@^3.0.2:
921 | version "3.1.0"
922 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
923 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
924 | dependencies:
925 | yocto-queue "^0.1.0"
926 |
927 | p-locate@^5.0.0:
928 | version "5.0.0"
929 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
930 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
931 | dependencies:
932 | p-limit "^3.0.2"
933 |
934 | parent-module@^1.0.0:
935 | version "1.0.1"
936 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
937 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
938 | dependencies:
939 | callsites "^3.0.0"
940 |
941 | path-exists@^4.0.0:
942 | version "4.0.0"
943 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
944 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
945 |
946 | path-key@^3.1.0:
947 | version "3.1.1"
948 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
949 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
950 |
951 | path-parse@^1.0.7:
952 | version "1.0.7"
953 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
954 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
955 |
956 | picomatch@^2.3.1:
957 | version "2.3.1"
958 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
959 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
960 |
961 | picomatch@^4.0.2:
962 | version "4.0.2"
963 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab"
964 | integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==
965 |
966 | prelude-ls@^1.2.1:
967 | version "1.2.1"
968 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
969 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
970 |
971 | punycode@^2.1.0:
972 | version "2.3.1"
973 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
974 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
975 |
976 | queue-microtask@^1.2.2:
977 | version "1.2.3"
978 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
979 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
980 |
981 | resolve-from@^4.0.0:
982 | version "4.0.0"
983 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
984 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
985 |
986 | resolve@^1.22.1:
987 | version "1.22.8"
988 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
989 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
990 | dependencies:
991 | is-core-module "^2.13.0"
992 | path-parse "^1.0.7"
993 | supports-preserve-symlinks-flag "^1.0.0"
994 |
995 | reusify@^1.0.4:
996 | version "1.0.4"
997 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
998 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
999 |
1000 | rollup@4.41.1:
1001 | version "4.41.1"
1002 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.41.1.tgz#46ddc1b33cf1b0baa99320d3b0b4973dc2253b6a"
1003 | integrity sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==
1004 | dependencies:
1005 | "@types/estree" "1.0.7"
1006 | optionalDependencies:
1007 | "@rollup/rollup-android-arm-eabi" "4.41.1"
1008 | "@rollup/rollup-android-arm64" "4.41.1"
1009 | "@rollup/rollup-darwin-arm64" "4.41.1"
1010 | "@rollup/rollup-darwin-x64" "4.41.1"
1011 | "@rollup/rollup-freebsd-arm64" "4.41.1"
1012 | "@rollup/rollup-freebsd-x64" "4.41.1"
1013 | "@rollup/rollup-linux-arm-gnueabihf" "4.41.1"
1014 | "@rollup/rollup-linux-arm-musleabihf" "4.41.1"
1015 | "@rollup/rollup-linux-arm64-gnu" "4.41.1"
1016 | "@rollup/rollup-linux-arm64-musl" "4.41.1"
1017 | "@rollup/rollup-linux-loongarch64-gnu" "4.41.1"
1018 | "@rollup/rollup-linux-powerpc64le-gnu" "4.41.1"
1019 | "@rollup/rollup-linux-riscv64-gnu" "4.41.1"
1020 | "@rollup/rollup-linux-riscv64-musl" "4.41.1"
1021 | "@rollup/rollup-linux-s390x-gnu" "4.41.1"
1022 | "@rollup/rollup-linux-x64-gnu" "4.41.1"
1023 | "@rollup/rollup-linux-x64-musl" "4.41.1"
1024 | "@rollup/rollup-win32-arm64-msvc" "4.41.1"
1025 | "@rollup/rollup-win32-ia32-msvc" "4.41.1"
1026 | "@rollup/rollup-win32-x64-msvc" "4.41.1"
1027 | fsevents "~2.3.2"
1028 |
1029 | run-parallel@^1.1.9:
1030 | version "1.2.0"
1031 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1032 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1033 | dependencies:
1034 | queue-microtask "^1.2.2"
1035 |
1036 | semver@^7.6.0:
1037 | version "7.6.0"
1038 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
1039 | integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
1040 | dependencies:
1041 | lru-cache "^6.0.0"
1042 |
1043 | shebang-command@^2.0.0:
1044 | version "2.0.0"
1045 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1046 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1047 | dependencies:
1048 | shebang-regex "^3.0.0"
1049 |
1050 | shebang-regex@^3.0.0:
1051 | version "3.0.0"
1052 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1053 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1054 |
1055 | strip-json-comments@^3.1.1:
1056 | version "3.1.1"
1057 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1058 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1059 |
1060 | supports-color@^7.1.0:
1061 | version "7.2.0"
1062 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1063 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1064 | dependencies:
1065 | has-flag "^4.0.0"
1066 |
1067 | supports-preserve-symlinks-flag@^1.0.0:
1068 | version "1.0.0"
1069 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1070 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1071 |
1072 | to-regex-range@^5.0.1:
1073 | version "5.0.1"
1074 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1075 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1076 | dependencies:
1077 | is-number "^7.0.0"
1078 |
1079 | ts-api-utils@^2.1.0:
1080 | version "2.1.0"
1081 | resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91"
1082 | integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==
1083 |
1084 | tslib@2.8.1:
1085 | version "2.8.1"
1086 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
1087 | integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
1088 |
1089 | type-check@^0.4.0, type-check@~0.4.0:
1090 | version "0.4.0"
1091 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
1092 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
1093 | dependencies:
1094 | prelude-ls "^1.2.1"
1095 |
1096 | typescript@5.8.3:
1097 | version "5.8.3"
1098 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e"
1099 | integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
1100 |
1101 | uri-js@^4.2.2:
1102 | version "4.4.1"
1103 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1104 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
1105 | dependencies:
1106 | punycode "^2.1.0"
1107 |
1108 | which@^2.0.1:
1109 | version "2.0.2"
1110 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
1111 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
1112 | dependencies:
1113 | isexe "^2.0.0"
1114 |
1115 | yallist@^4.0.0:
1116 | version "4.0.0"
1117 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
1118 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
1119 |
1120 | yocto-queue@^0.1.0:
1121 | version "0.1.0"
1122 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
1123 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
1124 |
--------------------------------------------------------------------------------