Merge branch 'main' into reusable-workflow
This commit is contained in:
		
						commit
						7a77a6aab6
					
				
							
								
								
									
										6
									
								
								.eslintignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.eslintignore
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | # Ignore list | ||||||
|  | /* | ||||||
|  | 
 | ||||||
|  | # Do not ignore these folders: | ||||||
|  | !__tests__/ | ||||||
|  | !src/ | ||||||
							
								
								
									
										49
									
								
								.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | |||||||
|  | module.exports = { | ||||||
|  |   extends: [ | ||||||
|  |     'eslint:recommended', | ||||||
|  |     'plugin:@typescript-eslint/recommended', | ||||||
|  |     'plugin:eslint-plugin-jest/recommended', | ||||||
|  |     'eslint-config-prettier' | ||||||
|  |   ], | ||||||
|  |   parser: '@typescript-eslint/parser', | ||||||
|  |   plugins: ['@typescript-eslint', 'eslint-plugin-jest'], | ||||||
|  |   rules: { | ||||||
|  |     '@typescript-eslint/no-require-imports': 'error', | ||||||
|  |     '@typescript-eslint/no-non-null-assertion': 'off', | ||||||
|  |     '@typescript-eslint/no-explicit-any': 'off', | ||||||
|  |     '@typescript-eslint/no-empty-function': 'off', | ||||||
|  |     '@typescript-eslint/ban-ts-comment': [ | ||||||
|  |       'error', | ||||||
|  |       { | ||||||
|  |         'ts-ignore': 'allow-with-description' | ||||||
|  |       } | ||||||
|  |     ], | ||||||
|  |     'no-console': 'error', | ||||||
|  |     'yoda': 'error', | ||||||
|  |     'prefer-const': [ | ||||||
|  |       'error', | ||||||
|  |       { | ||||||
|  |         destructuring: 'all' | ||||||
|  |       } | ||||||
|  |     ], | ||||||
|  |     'no-control-regex': 'off', | ||||||
|  |     'no-constant-condition': ['error', {checkLoops: false}] | ||||||
|  |   }, | ||||||
|  |   overrides: [ | ||||||
|  |     { | ||||||
|  |       files: ['**/*{test,spec}.ts'], | ||||||
|  |       rules: { | ||||||
|  |         '@typescript-eslint/no-unused-vars': 'off', | ||||||
|  |         'jest/no-standalone-expect': 'off', | ||||||
|  |         'jest/no-conditional-expect': 'off', | ||||||
|  |         'no-console': 'off', | ||||||
|  | 
 | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   ], | ||||||
|  |   env: { | ||||||
|  |     node: true, | ||||||
|  |     es6: true, | ||||||
|  |     'jest/globals': true | ||||||
|  |   } | ||||||
|  | }; | ||||||
							
								
								
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							| @ -1,2 +1,2 @@ | |||||||
| * text=auto | * text=auto eol=lf | ||||||
| .licenses/** -diff linguist-generated=true | .licenses/** -diff linguist-generated=true | ||||||
							
								
								
									
										7
									
								
								.prettierignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								.prettierignore
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | # Ignore list | ||||||
|  | /* | ||||||
|  | 
 | ||||||
|  | # Do not ignore these folders: | ||||||
|  | !__tests__/ | ||||||
|  | !.github/ | ||||||
|  | !src/ | ||||||
							
								
								
									
										10
									
								
								.prettierrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.prettierrc.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | module.exports = { | ||||||
|  |   printWidth: 80, | ||||||
|  |   tabWidth: 2, | ||||||
|  |   useTabs: false, | ||||||
|  |   semi: true, | ||||||
|  |   singleQuote: true, | ||||||
|  |   trailingComma: 'none', | ||||||
|  |   bracketSpacing: false, | ||||||
|  |   arrowParens: 'avoid' | ||||||
|  | }; | ||||||
| @ -1,11 +0,0 @@ | |||||||
| { |  | ||||||
|     "printWidth": 80, |  | ||||||
|     "tabWidth": 2, |  | ||||||
|     "useTabs": false, |  | ||||||
|     "semi": true, |  | ||||||
|     "singleQuote": true, |  | ||||||
|     "trailingComma": "none", |  | ||||||
|     "bracketSpacing": false, |  | ||||||
|     "arrowParens": "avoid", |  | ||||||
|     "parser": "typescript" |  | ||||||
|   } |  | ||||||
| @ -8,14 +8,14 @@ import {PackageManagerInfo} from '../src/package-managers'; | |||||||
| 
 | 
 | ||||||
| describe('restoreCache', () => { | describe('restoreCache', () => { | ||||||
|   //Arrange
 |   //Arrange
 | ||||||
|   let hashFilesSpy = jest.spyOn(glob, 'hashFiles'); |   const hashFilesSpy = jest.spyOn(glob, 'hashFiles'); | ||||||
|   let getCacheDirectoryPathSpy = jest.spyOn( |   const getCacheDirectoryPathSpy = jest.spyOn( | ||||||
|     cacheUtils, |     cacheUtils, | ||||||
|     'getCacheDirectoryPath' |     'getCacheDirectoryPath' | ||||||
|   ); |   ); | ||||||
|   let restoreCacheSpy = jest.spyOn(cache, 'restoreCache'); |   const restoreCacheSpy = jest.spyOn(cache, 'restoreCache'); | ||||||
|   let infoSpy = jest.spyOn(core, 'info'); |   const infoSpy = jest.spyOn(core, 'info'); | ||||||
|   let setOutputSpy = jest.spyOn(core, 'setOutput'); |   const setOutputSpy = jest.spyOn(core, 'setOutput'); | ||||||
| 
 | 
 | ||||||
|   const versionSpec = '1.13.1'; |   const versionSpec = '1.13.1'; | ||||||
|   const packageManager = 'default'; |   const packageManager = 'default'; | ||||||
| @ -40,13 +40,13 @@ describe('restoreCache', () => { | |||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     //Act + Assert
 |     //Act + Assert
 | ||||||
|     expect(async () => { |     await expect(async () => { | ||||||
|       await cacheRestore.restoreCache( |       await cacheRestore.restoreCache( | ||||||
|         versionSpec, |         versionSpec, | ||||||
|         packageManager, |         packageManager, | ||||||
|         cacheDependencyPath |         cacheDependencyPath | ||||||
|       ); |       ); | ||||||
|     }).rejects.toThrowError( |     }).rejects.toThrow( | ||||||
|       'Some specified paths were not resolved, unable to cache dependencies.' |       'Some specified paths were not resolved, unable to cache dependencies.' | ||||||
|     ); |     ); | ||||||
|   }); |   }); | ||||||
| @ -71,7 +71,7 @@ describe('restoreCache', () => { | |||||||
|       packageManager, |       packageManager, | ||||||
|       cacheDependencyPath |       cacheDependencyPath | ||||||
|     ); |     ); | ||||||
|     expect(infoSpy).toBeCalledWith(`Cache is not found`); |     expect(infoSpy).toHaveBeenCalledWith(`Cache is not found`); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('should set output if cache hit is occured', async () => { |   it('should set output if cache hit is occured', async () => { | ||||||
| @ -94,6 +94,6 @@ describe('restoreCache', () => { | |||||||
|       packageManager, |       packageManager, | ||||||
|       cacheDependencyPath |       cacheDependencyPath | ||||||
|     ); |     ); | ||||||
|     expect(setOutputSpy).toBeCalledWith('cache-hit', true); |     expect(setOutputSpy).toHaveBeenCalledWith('cache-hit', true); | ||||||
|   }); |   }); | ||||||
| }); | }); | ||||||
|  | |||||||
| @ -6,7 +6,7 @@ import {PackageManagerInfo} from '../src/package-managers'; | |||||||
| 
 | 
 | ||||||
| describe('getCommandOutput', () => { | describe('getCommandOutput', () => { | ||||||
|   //Arrange
 |   //Arrange
 | ||||||
|   let getExecOutputSpy = jest.spyOn(exec, 'getExecOutput'); |   const getExecOutputSpy = jest.spyOn(exec, 'getExecOutput'); | ||||||
| 
 | 
 | ||||||
|   it('should return trimmed stdout in case of successful exit code', async () => { |   it('should return trimmed stdout in case of successful exit code', async () => { | ||||||
|     //Arrange
 |     //Arrange
 | ||||||
| @ -36,7 +36,7 @@ describe('getCommandOutput', () => { | |||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     //Act + Assert
 |     //Act + Assert
 | ||||||
|     expect(async () => { |     await expect(async () => { | ||||||
|       await cacheUtils.getCommandOutput('command'); |       await cacheUtils.getCommandOutput('command'); | ||||||
|     }).rejects.toThrow(); |     }).rejects.toThrow(); | ||||||
|   }); |   }); | ||||||
| @ -62,7 +62,7 @@ describe('getPackageManagerInfo', () => { | |||||||
|     const packageManagerName = 'invalidName'; |     const packageManagerName = 'invalidName'; | ||||||
| 
 | 
 | ||||||
|     //Act + Assert
 |     //Act + Assert
 | ||||||
|     expect(async () => { |     await expect(async () => { | ||||||
|       await cacheUtils.getPackageManagerInfo(packageManagerName); |       await cacheUtils.getPackageManagerInfo(packageManagerName); | ||||||
|     }).rejects.toThrow(); |     }).rejects.toThrow(); | ||||||
|   }); |   }); | ||||||
| @ -70,7 +70,7 @@ describe('getPackageManagerInfo', () => { | |||||||
| 
 | 
 | ||||||
| describe('getCacheDirectoryPath', () => { | describe('getCacheDirectoryPath', () => { | ||||||
|   //Arrange
 |   //Arrange
 | ||||||
|   let getExecOutputSpy = jest.spyOn(exec, 'getExecOutput'); |   const getExecOutputSpy = jest.spyOn(exec, 'getExecOutput'); | ||||||
| 
 | 
 | ||||||
|   const validPackageManager: PackageManagerInfo = { |   const validPackageManager: PackageManagerInfo = { | ||||||
|     dependencyFilePattern: 'go.sum', |     dependencyFilePattern: 'go.sum', | ||||||
| @ -123,7 +123,7 @@ describe('getCacheDirectoryPath', () => { | |||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     //Act + Assert
 |     //Act + Assert
 | ||||||
|     expect(async () => { |     await expect(async () => { | ||||||
|       await cacheUtils.getCacheDirectoryPath(validPackageManager); |       await cacheUtils.getCacheDirectoryPath(validPackageManager); | ||||||
|     }).rejects.toThrow(); |     }).rejects.toThrow(); | ||||||
|   }); |   }); | ||||||
| @ -136,7 +136,7 @@ describe('getCacheDirectoryPath', () => { | |||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     //Act + Assert
 |     //Act + Assert
 | ||||||
|     expect(async () => { |     await expect(async () => { | ||||||
|       await cacheUtils.getCacheDirectoryPath(validPackageManager); |       await cacheUtils.getCacheDirectoryPath(validPackageManager); | ||||||
|     }).rejects.toThrow(); |     }).rejects.toThrow(); | ||||||
|   }); |   }); | ||||||
| @ -144,8 +144,8 @@ describe('getCacheDirectoryPath', () => { | |||||||
| 
 | 
 | ||||||
| describe('isCacheFeatureAvailable', () => { | describe('isCacheFeatureAvailable', () => { | ||||||
|   //Arrange
 |   //Arrange
 | ||||||
|   let isFeatureAvailableSpy = jest.spyOn(cache, 'isFeatureAvailable'); |   const isFeatureAvailableSpy = jest.spyOn(cache, 'isFeatureAvailable'); | ||||||
|   let warningSpy = jest.spyOn(core, 'warning'); |   const warningSpy = jest.spyOn(core, 'warning'); | ||||||
| 
 | 
 | ||||||
|   it('should return true when cache feature is available', () => { |   it('should return true when cache feature is available', () => { | ||||||
|     //Arrange
 |     //Arrange
 | ||||||
| @ -153,10 +153,8 @@ describe('isCacheFeatureAvailable', () => { | |||||||
|       return true; |       return true; | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     let functionResult; |  | ||||||
| 
 |  | ||||||
|     //Act
 |     //Act
 | ||||||
|     functionResult = cacheUtils.isCacheFeatureAvailable(); |     const functionResult = cacheUtils.isCacheFeatureAvailable(); | ||||||
| 
 | 
 | ||||||
|     //Assert
 |     //Assert
 | ||||||
|     expect(functionResult).toBeTruthy(); |     expect(functionResult).toBeTruthy(); | ||||||
| @ -170,7 +168,7 @@ describe('isCacheFeatureAvailable', () => { | |||||||
| 
 | 
 | ||||||
|     process.env['GITHUB_SERVER_URL'] = 'https://github.com'; |     process.env['GITHUB_SERVER_URL'] = 'https://github.com'; | ||||||
| 
 | 
 | ||||||
|     let warningMessage = |     const warningMessage = | ||||||
|       'The runner was not able to contact the cache service. Caching will be skipped'; |       'The runner was not able to contact the cache service. Caching will be skipped'; | ||||||
| 
 | 
 | ||||||
|     //Act
 |     //Act
 | ||||||
| @ -188,10 +186,8 @@ describe('isCacheFeatureAvailable', () => { | |||||||
| 
 | 
 | ||||||
|     process.env['GITHUB_SERVER_URL'] = 'https://github.com'; |     process.env['GITHUB_SERVER_URL'] = 'https://github.com'; | ||||||
| 
 | 
 | ||||||
|     let functionResult; |  | ||||||
| 
 |  | ||||||
|     //Act
 |     //Act
 | ||||||
|     functionResult = cacheUtils.isCacheFeatureAvailable(); |     const functionResult = cacheUtils.isCacheFeatureAvailable(); | ||||||
| 
 | 
 | ||||||
|     //Assert
 |     //Assert
 | ||||||
|     expect(functionResult).toBeFalsy(); |     expect(functionResult).toBeFalsy(); | ||||||
| @ -205,7 +201,7 @@ describe('isCacheFeatureAvailable', () => { | |||||||
| 
 | 
 | ||||||
|     process.env['GITHUB_SERVER_URL'] = 'https://nongithub.com'; |     process.env['GITHUB_SERVER_URL'] = 'https://nongithub.com'; | ||||||
| 
 | 
 | ||||||
|     let warningMessage = |     const warningMessage = | ||||||
|       'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'; |       'Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.'; | ||||||
| 
 | 
 | ||||||
|     //Act + Assert
 |     //Act + Assert
 | ||||||
|  | |||||||
| @ -8,13 +8,13 @@ import path from 'path'; | |||||||
| import * as main from '../src/main'; | import * as main from '../src/main'; | ||||||
| import * as im from '../src/installer'; | import * as im from '../src/installer'; | ||||||
| 
 | 
 | ||||||
| let goJsonData = require('./data/golang-dl.json'); | import goJsonData from './data/golang-dl.json'; | ||||||
| let matchers = require('../matchers.json'); | import matchers from '../matchers.json'; | ||||||
| let goTestManifest = require('./data/versions-manifest.json'); | import goTestManifest from './data/versions-manifest.json'; | ||||||
| let matcherPattern = matchers.problemMatcher[0].pattern[0]; | const matcherPattern = matchers.problemMatcher[0].pattern[0]; | ||||||
| let matcherRegExp = new RegExp(matcherPattern.regexp); | const matcherRegExp = new RegExp(matcherPattern.regexp); | ||||||
| let win32Join = path.win32.join; | const win32Join = path.win32.join; | ||||||
| let posixJoin = path.posix.join; | const posixJoin = path.posix.join; | ||||||
| 
 | 
 | ||||||
| describe('setup-go', () => { | describe('setup-go', () => { | ||||||
|   let inputs = {} as any; |   let inputs = {} as any; | ||||||
| @ -133,7 +133,7 @@ describe('setup-go', () => { | |||||||
|     os.platform = 'darwin'; |     os.platform = 'darwin'; | ||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     let match = await im.getInfoFromManifest('1.9.7', true, 'mocktoken'); |     const match = await im.getInfoFromManifest('1.9.7', true, 'mocktoken'); | ||||||
|     expect(match).toBeDefined(); |     expect(match).toBeDefined(); | ||||||
|     expect(match!.resolvedVersion).toBe('1.9.7'); |     expect(match!.resolvedVersion).toBe('1.9.7'); | ||||||
|     expect(match!.type).toBe('manifest'); |     expect(match!.type).toBe('manifest'); | ||||||
| @ -146,7 +146,7 @@ describe('setup-go', () => { | |||||||
|     os.platform = 'linux'; |     os.platform = 'linux'; | ||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     let match = await im.getInfoFromManifest('1.9.7', true, 'mocktoken'); |     const match = await im.getInfoFromManifest('1.9.7', true, 'mocktoken'); | ||||||
|     expect(match).toBeDefined(); |     expect(match).toBeDefined(); | ||||||
|     expect(match!.resolvedVersion).toBe('1.9.7'); |     expect(match!.resolvedVersion).toBe('1.9.7'); | ||||||
|     expect(match!.type).toBe('manifest'); |     expect(match!.type).toBe('manifest'); | ||||||
| @ -159,7 +159,7 @@ describe('setup-go', () => { | |||||||
|     os.platform = 'win32'; |     os.platform = 'win32'; | ||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     let match = await im.getInfoFromManifest('1.9.7', true, 'mocktoken'); |     const match = await im.getInfoFromManifest('1.9.7', true, 'mocktoken'); | ||||||
|     expect(match).toBeDefined(); |     expect(match).toBeDefined(); | ||||||
|     expect(match!.resolvedVersion).toBe('1.9.7'); |     expect(match!.resolvedVersion).toBe('1.9.7'); | ||||||
|     expect(match!.type).toBe('manifest'); |     expect(match!.type).toBe('manifest'); | ||||||
| @ -173,11 +173,11 @@ describe('setup-go', () => { | |||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     // spec: 1.13.0 => 1.13
 |     // spec: 1.13.0 => 1.13
 | ||||||
|     let match: im.IGoVersion | undefined = await im.findMatch('1.13.0'); |     const match: im.IGoVersion | undefined = await im.findMatch('1.13.0'); | ||||||
|     expect(match).toBeDefined(); |     expect(match).toBeDefined(); | ||||||
|     let version: string = match ? match.version : ''; |     const version: string = match ? match.version : ''; | ||||||
|     expect(version).toBe('go1.13'); |     expect(version).toBe('go1.13'); | ||||||
|     let fileName = match ? match.files[0].filename : ''; |     const fileName = match ? match.files[0].filename : ''; | ||||||
|     expect(fileName).toBe('go1.13.darwin-amd64.tar.gz'); |     expect(fileName).toBe('go1.13.darwin-amd64.tar.gz'); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
| @ -186,11 +186,11 @@ describe('setup-go', () => { | |||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     // spec: 1.13 => 1.13.7 (latest)
 |     // spec: 1.13 => 1.13.7 (latest)
 | ||||||
|     let match: im.IGoVersion | undefined = await im.findMatch('1.13'); |     const match: im.IGoVersion | undefined = await im.findMatch('1.13'); | ||||||
|     expect(match).toBeDefined(); |     expect(match).toBeDefined(); | ||||||
|     let version: string = match ? match.version : ''; |     const version: string = match ? match.version : ''; | ||||||
|     expect(version).toBe('go1.13.7'); |     expect(version).toBe('go1.13.7'); | ||||||
|     let fileName = match ? match.files[0].filename : ''; |     const fileName = match ? match.files[0].filename : ''; | ||||||
|     expect(fileName).toBe('go1.13.7.linux-amd64.tar.gz'); |     expect(fileName).toBe('go1.13.7.linux-amd64.tar.gz'); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
| @ -199,11 +199,11 @@ describe('setup-go', () => { | |||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     // spec: ^1.13.6 => 1.13.7
 |     // spec: ^1.13.6 => 1.13.7
 | ||||||
|     let match: im.IGoVersion | undefined = await im.findMatch('^1.13.6'); |     const match: im.IGoVersion | undefined = await im.findMatch('^1.13.6'); | ||||||
|     expect(match).toBeDefined(); |     expect(match).toBeDefined(); | ||||||
|     let version: string = match ? match.version : ''; |     const version: string = match ? match.version : ''; | ||||||
|     expect(version).toBe('go1.13.7'); |     expect(version).toBe('go1.13.7'); | ||||||
|     let fileName = match ? match.files[0].filename : ''; |     const fileName = match ? match.files[0].filename : ''; | ||||||
|     expect(fileName).toBe('go1.13.7.linux-amd64.tar.gz'); |     expect(fileName).toBe('go1.13.7.linux-amd64.tar.gz'); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
| @ -212,11 +212,11 @@ describe('setup-go', () => { | |||||||
|     os.arch = 'x32'; |     os.arch = 'x32'; | ||||||
| 
 | 
 | ||||||
|     // spec: 1 => 1.13.7 (latest)
 |     // spec: 1 => 1.13.7 (latest)
 | ||||||
|     let match: im.IGoVersion | undefined = await im.findMatch('1'); |     const match: im.IGoVersion | undefined = await im.findMatch('1'); | ||||||
|     expect(match).toBeDefined(); |     expect(match).toBeDefined(); | ||||||
|     let version: string = match ? match.version : ''; |     const version: string = match ? match.version : ''; | ||||||
|     expect(version).toBe('go1.13.7'); |     expect(version).toBe('go1.13.7'); | ||||||
|     let fileName = match ? match.files[0].filename : ''; |     const fileName = match ? match.files[0].filename : ''; | ||||||
|     expect(fileName).toBe('go1.13.7.windows-386.zip'); |     expect(fileName).toBe('go1.13.7.windows-386.zip'); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
| @ -225,11 +225,11 @@ describe('setup-go', () => { | |||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     // spec: 1.14, stable=false => go1.14rc1
 |     // spec: 1.14, stable=false => go1.14rc1
 | ||||||
|     let match: im.IGoVersion | undefined = await im.findMatch('1.14.0-rc.1'); |     const match: im.IGoVersion | undefined = await im.findMatch('1.14.0-rc.1'); | ||||||
|     expect(match).toBeDefined(); |     expect(match).toBeDefined(); | ||||||
|     let version: string = match ? match.version : ''; |     const version: string = match ? match.version : ''; | ||||||
|     expect(version).toBe('go1.14rc1'); |     expect(version).toBe('go1.14rc1'); | ||||||
|     let fileName = match ? match.files[0].filename : ''; |     const fileName = match ? match.files[0].filename : ''; | ||||||
|     expect(fileName).toBe('go1.14rc1.linux-amd64.tar.gz'); |     expect(fileName).toBe('go1.14rc1.linux-amd64.tar.gz'); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
| @ -237,7 +237,7 @@ describe('setup-go', () => { | |||||||
|     inputs['go-version'] = '1.13.0'; |     inputs['go-version'] = '1.13.0'; | ||||||
|     inputs.stable = 'true'; |     inputs.stable = 'true'; | ||||||
| 
 | 
 | ||||||
|     let toolPath = path.normalize('/cache/go/1.13.0/x64'); |     const toolPath = path.normalize('/cache/go/1.13.0/x64'); | ||||||
|     findSpy.mockImplementation(() => toolPath); |     findSpy.mockImplementation(() => toolPath); | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
| @ -249,7 +249,7 @@ describe('setup-go', () => { | |||||||
| 
 | 
 | ||||||
|     inSpy.mockImplementation(name => inputs[name]); |     inSpy.mockImplementation(name => inputs[name]); | ||||||
| 
 | 
 | ||||||
|     let toolPath = path.normalize('/cache/go/1.13.0/x64'); |     const toolPath = path.normalize('/cache/go/1.13.0/x64'); | ||||||
|     findSpy.mockImplementation(() => toolPath); |     findSpy.mockImplementation(() => toolPath); | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
| @ -260,10 +260,10 @@ describe('setup-go', () => { | |||||||
|     inputs['go-version'] = '1.13.0'; |     inputs['go-version'] = '1.13.0'; | ||||||
|     inSpy.mockImplementation(name => inputs[name]); |     inSpy.mockImplementation(name => inputs[name]); | ||||||
| 
 | 
 | ||||||
|     let toolPath = path.normalize('/cache/go/1.13.0/x64'); |     const toolPath = path.normalize('/cache/go/1.13.0/x64'); | ||||||
|     findSpy.mockImplementation(() => toolPath); |     findSpy.mockImplementation(() => toolPath); | ||||||
| 
 | 
 | ||||||
|     let vars: {[key: string]: string} = {}; |     const vars: {[key: string]: string} = {}; | ||||||
|     exportVarSpy.mockImplementation((name: string, val: string) => { |     exportVarSpy.mockImplementation((name: string, val: string) => { | ||||||
|       vars[name] = val; |       vars[name] = val; | ||||||
|     }); |     }); | ||||||
| @ -276,10 +276,10 @@ describe('setup-go', () => { | |||||||
|     inputs['go-version'] = '1.8'; |     inputs['go-version'] = '1.8'; | ||||||
|     inSpy.mockImplementation(name => inputs[name]); |     inSpy.mockImplementation(name => inputs[name]); | ||||||
| 
 | 
 | ||||||
|     let toolPath = path.normalize('/cache/go/1.8.0/x64'); |     const toolPath = path.normalize('/cache/go/1.8.0/x64'); | ||||||
|     findSpy.mockImplementation(() => toolPath); |     findSpy.mockImplementation(() => toolPath); | ||||||
| 
 | 
 | ||||||
|     let vars: {[key: string]: string} = {}; |     const vars: {[key: string]: string} = {}; | ||||||
|     exportVarSpy.mockImplementation((name: string, val: string) => { |     exportVarSpy.mockImplementation((name: string, val: string) => { | ||||||
|       vars[name] = val; |       vars[name] = val; | ||||||
|     }); |     }); | ||||||
| @ -293,7 +293,7 @@ describe('setup-go', () => { | |||||||
|   it('finds a version of go already in the cache', async () => { |   it('finds a version of go already in the cache', async () => { | ||||||
|     inputs['go-version'] = '1.13.0'; |     inputs['go-version'] = '1.13.0'; | ||||||
| 
 | 
 | ||||||
|     let toolPath = path.normalize('/cache/go/1.13.0/x64'); |     const toolPath = path.normalize('/cache/go/1.13.0/x64'); | ||||||
|     findSpy.mockImplementation(() => toolPath); |     findSpy.mockImplementation(() => toolPath); | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
| @ -302,16 +302,16 @@ describe('setup-go', () => { | |||||||
| 
 | 
 | ||||||
|   it('finds a version in the cache and adds it to the path', async () => { |   it('finds a version in the cache and adds it to the path', async () => { | ||||||
|     inputs['go-version'] = '1.13.0'; |     inputs['go-version'] = '1.13.0'; | ||||||
|     let toolPath = path.normalize('/cache/go/1.13.0/x64'); |     const toolPath = path.normalize('/cache/go/1.13.0/x64'); | ||||||
|     findSpy.mockImplementation(() => toolPath); |     findSpy.mockImplementation(() => toolPath); | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
|     let expPath = path.join(toolPath, 'bin'); |     const expPath = path.join(toolPath, 'bin'); | ||||||
|     expect(cnSpy).toHaveBeenCalledWith(`::add-path::${expPath}${osm.EOL}`); |     expect(cnSpy).toHaveBeenCalledWith(`::add-path::${expPath}${osm.EOL}`); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('handles unhandled error and reports error', async () => { |   it('handles unhandled error and reports error', async () => { | ||||||
|     let errMsg = 'unhandled error message'; |     const errMsg = 'unhandled error message'; | ||||||
|     inputs['go-version'] = '1.13.0'; |     inputs['go-version'] = '1.13.0'; | ||||||
| 
 | 
 | ||||||
|     findSpy.mockImplementation(() => { |     findSpy.mockImplementation(() => { | ||||||
| @ -329,12 +329,12 @@ describe('setup-go', () => { | |||||||
| 
 | 
 | ||||||
|     findSpy.mockImplementation(() => ''); |     findSpy.mockImplementation(() => ''); | ||||||
|     dlSpy.mockImplementation(() => '/some/temp/path'); |     dlSpy.mockImplementation(() => '/some/temp/path'); | ||||||
|     let toolPath = path.normalize('/cache/go/1.13.0/x64'); |     const toolPath = path.normalize('/cache/go/1.13.0/x64'); | ||||||
|     extractTarSpy.mockImplementation(() => '/some/other/temp/path'); |     extractTarSpy.mockImplementation(() => '/some/other/temp/path'); | ||||||
|     cacheSpy.mockImplementation(() => toolPath); |     cacheSpy.mockImplementation(() => toolPath); | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
|     let expPath = path.join(toolPath, 'bin'); |     const expPath = path.join(toolPath, 'bin'); | ||||||
| 
 | 
 | ||||||
|     expect(dlSpy).toHaveBeenCalled(); |     expect(dlSpy).toHaveBeenCalled(); | ||||||
|     expect(extractTarSpy).toHaveBeenCalled(); |     expect(extractTarSpy).toHaveBeenCalled(); | ||||||
| @ -352,12 +352,12 @@ describe('setup-go', () => { | |||||||
|     dlSpy.mockImplementation(() => 'C:\\temp\\some\\path'); |     dlSpy.mockImplementation(() => 'C:\\temp\\some\\path'); | ||||||
|     extractZipSpy.mockImplementation(() => 'C:\\temp\\some\\other\\path'); |     extractZipSpy.mockImplementation(() => 'C:\\temp\\some\\other\\path'); | ||||||
| 
 | 
 | ||||||
|     let toolPath = path.normalize('C:\\cache\\go\\1.13.0\\x64'); |     const toolPath = path.normalize('C:\\cache\\go\\1.13.0\\x64'); | ||||||
|     cacheSpy.mockImplementation(() => toolPath); |     cacheSpy.mockImplementation(() => toolPath); | ||||||
| 
 | 
 | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
|     let expPath = path.win32.join(toolPath, 'bin'); |     const expPath = path.win32.join(toolPath, 'bin'); | ||||||
|     expect(dlSpy).toHaveBeenCalledWith( |     expect(dlSpy).toHaveBeenCalledWith( | ||||||
|       'https://storage.googleapis.com/golang/go1.13.1.windows-amd64.zip', |       'https://storage.googleapis.com/golang/go1.13.1.windows-amd64.zip', | ||||||
|       'C:\\temp\\go1.13.1.windows-amd64.zip', |       'C:\\temp\\go1.13.1.windows-amd64.zip', | ||||||
| @ -384,25 +384,25 @@ describe('setup-go', () => { | |||||||
|     os.platform = 'linux'; |     os.platform = 'linux'; | ||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     let versionSpec = '1.12.16'; |     const versionSpec = '1.12.16'; | ||||||
| 
 | 
 | ||||||
|     inputs['go-version'] = versionSpec; |     inputs['go-version'] = versionSpec; | ||||||
|     inputs['token'] = 'faketoken'; |     inputs['token'] = 'faketoken'; | ||||||
| 
 | 
 | ||||||
|     let expectedUrl = |     const expectedUrl = | ||||||
|       'https://github.com/actions/go-versions/releases/download/1.12.16-20200616.20/go-1.12.16-linux-x64.tar.gz'; |       'https://github.com/actions/go-versions/releases/download/1.12.16-20200616.20/go-1.12.16-linux-x64.tar.gz'; | ||||||
| 
 | 
 | ||||||
|     // ... but not in the local cache
 |     // ... but not in the local cache
 | ||||||
|     findSpy.mockImplementation(() => ''); |     findSpy.mockImplementation(() => ''); | ||||||
| 
 | 
 | ||||||
|     dlSpy.mockImplementation(async () => '/some/temp/path'); |     dlSpy.mockImplementation(async () => '/some/temp/path'); | ||||||
|     let toolPath = path.normalize('/cache/go/1.12.16/x64'); |     const toolPath = path.normalize('/cache/go/1.12.16/x64'); | ||||||
|     extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); |     extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); | ||||||
|     cacheSpy.mockImplementation(async () => toolPath); |     cacheSpy.mockImplementation(async () => toolPath); | ||||||
| 
 | 
 | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
|     let expPath = path.join(toolPath, 'bin'); |     const expPath = path.join(toolPath, 'bin'); | ||||||
| 
 | 
 | ||||||
|     expect(dlSpy).toHaveBeenCalled(); |     expect(dlSpy).toHaveBeenCalled(); | ||||||
|     expect(extractTarSpy).toHaveBeenCalled(); |     expect(extractTarSpy).toHaveBeenCalled(); | ||||||
| @ -421,25 +421,25 @@ describe('setup-go', () => { | |||||||
|     os.platform = 'linux'; |     os.platform = 'linux'; | ||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     let versionSpec = '1.12'; |     const versionSpec = '1.12'; | ||||||
| 
 | 
 | ||||||
|     inputs['go-version'] = versionSpec; |     inputs['go-version'] = versionSpec; | ||||||
|     inputs['token'] = 'faketoken'; |     inputs['token'] = 'faketoken'; | ||||||
| 
 | 
 | ||||||
|     let expectedUrl = |     const expectedUrl = | ||||||
|       'https://github.com/actions/go-versions/releases/download/1.12.17-20200616.21/go-1.12.17-linux-x64.tar.gz'; |       'https://github.com/actions/go-versions/releases/download/1.12.17-20200616.21/go-1.12.17-linux-x64.tar.gz'; | ||||||
| 
 | 
 | ||||||
|     // ... but not in the local cache
 |     // ... but not in the local cache
 | ||||||
|     findSpy.mockImplementation(() => ''); |     findSpy.mockImplementation(() => ''); | ||||||
| 
 | 
 | ||||||
|     dlSpy.mockImplementation(async () => '/some/temp/path'); |     dlSpy.mockImplementation(async () => '/some/temp/path'); | ||||||
|     let toolPath = path.normalize('/cache/go/1.12.17/x64'); |     const toolPath = path.normalize('/cache/go/1.12.17/x64'); | ||||||
|     extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); |     extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); | ||||||
|     cacheSpy.mockImplementation(async () => toolPath); |     cacheSpy.mockImplementation(async () => toolPath); | ||||||
| 
 | 
 | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
|     let expPath = path.join(toolPath, 'bin'); |     const expPath = path.join(toolPath, 'bin'); | ||||||
| 
 | 
 | ||||||
|     expect(dlSpy).toHaveBeenCalled(); |     expect(dlSpy).toHaveBeenCalled(); | ||||||
|     expect(extractTarSpy).toHaveBeenCalled(); |     expect(extractTarSpy).toHaveBeenCalled(); | ||||||
| @ -458,7 +458,7 @@ describe('setup-go', () => { | |||||||
|     os.platform = 'linux'; |     os.platform = 'linux'; | ||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|     let versionSpec = '1.12.14'; |     const versionSpec = '1.12.14'; | ||||||
| 
 | 
 | ||||||
|     inputs['go-version'] = versionSpec; |     inputs['go-version'] = versionSpec; | ||||||
|     inputs['token'] = 'faketoken'; |     inputs['token'] = 'faketoken'; | ||||||
| @ -467,13 +467,13 @@ describe('setup-go', () => { | |||||||
|     findSpy.mockImplementation(() => ''); |     findSpy.mockImplementation(() => ''); | ||||||
| 
 | 
 | ||||||
|     dlSpy.mockImplementation(async () => '/some/temp/path'); |     dlSpy.mockImplementation(async () => '/some/temp/path'); | ||||||
|     let toolPath = path.normalize('/cache/go/1.12.14/x64'); |     const toolPath = path.normalize('/cache/go/1.12.14/x64'); | ||||||
|     extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); |     extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); | ||||||
|     cacheSpy.mockImplementation(async () => toolPath); |     cacheSpy.mockImplementation(async () => toolPath); | ||||||
| 
 | 
 | ||||||
|     await main.run(); |     await main.run(); | ||||||
| 
 | 
 | ||||||
|     let expPath = path.join(toolPath, 'bin'); |     const expPath = path.join(toolPath, 'bin'); | ||||||
|     expect(logSpy).toHaveBeenCalledWith('Setup go version spec 1.12.14'); |     expect(logSpy).toHaveBeenCalledWith('Setup go version spec 1.12.14'); | ||||||
|     expect(findSpy).toHaveBeenCalled(); |     expect(findSpy).toHaveBeenCalled(); | ||||||
|     expect(logSpy).toHaveBeenCalledWith('Attempting to download 1.12.14...'); |     expect(logSpy).toHaveBeenCalledWith('Attempting to download 1.12.14...'); | ||||||
| @ -489,7 +489,7 @@ describe('setup-go', () => { | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('reports a failed download', async () => { |   it('reports a failed download', async () => { | ||||||
|     let errMsg = 'unhandled download message'; |     const errMsg = 'unhandled download message'; | ||||||
|     os.platform = 'linux'; |     os.platform = 'linux'; | ||||||
|     os.arch = 'x64'; |     os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
| @ -510,7 +510,7 @@ describe('setup-go', () => { | |||||||
|     whichSpy.mockImplementation(async () => { |     whichSpy.mockImplementation(async () => { | ||||||
|       return ''; |       return ''; | ||||||
|     }); |     }); | ||||||
|     let added = await main.addBinToPath(); |     const added = await main.addBinToPath(); | ||||||
|     expect(added).toBeFalsy(); |     expect(added).toBeFalsy(); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
| @ -528,8 +528,8 @@ describe('setup-go', () => { | |||||||
|       return false; |       return false; | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     let added = await main.addBinToPath(); |     const added = await main.addBinToPath(); | ||||||
|     expect(added).toBeTruthy; |     expect(added).toBeTruthy(); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   interface Annotation { |   interface Annotation { | ||||||
| @ -543,9 +543,9 @@ describe('setup-go', () => { | |||||||
|   // problem matcher regex pattern tests
 |   // problem matcher regex pattern tests
 | ||||||
| 
 | 
 | ||||||
|   function testMatch(line: string): Annotation { |   function testMatch(line: string): Annotation { | ||||||
|     let annotation = <Annotation>{}; |     const annotation = <Annotation>{}; | ||||||
| 
 | 
 | ||||||
|     let match = matcherRegExp.exec(line); |     const match = matcherRegExp.exec(line); | ||||||
|     if (match) { |     if (match) { | ||||||
|       annotation.line = parseInt(match[matcherPattern.line], 10); |       annotation.line = parseInt(match[matcherPattern.line], 10); | ||||||
|       annotation.column = parseInt(match[matcherPattern.column], 10); |       annotation.column = parseInt(match[matcherPattern.column], 10); | ||||||
| @ -557,8 +557,8 @@ describe('setup-go', () => { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   it('matches on relative unix path', async () => { |   it('matches on relative unix path', async () => { | ||||||
|     let line = './main.go:13:2: undefined: fmt.Printl'; |     const line = './main.go:13:2: undefined: fmt.Printl'; | ||||||
|     let annotation = testMatch(line); |     const annotation = testMatch(line); | ||||||
|     expect(annotation).toBeDefined(); |     expect(annotation).toBeDefined(); | ||||||
|     expect(annotation.line).toBe(13); |     expect(annotation.line).toBe(13); | ||||||
|     expect(annotation.column).toBe(2); |     expect(annotation.column).toBe(2); | ||||||
| @ -567,8 +567,8 @@ describe('setup-go', () => { | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('matches on unix path up the tree', async () => { |   it('matches on unix path up the tree', async () => { | ||||||
|     let line = '../main.go:13:2: undefined: fmt.Printl'; |     const line = '../main.go:13:2: undefined: fmt.Printl'; | ||||||
|     let annotation = testMatch(line); |     const annotation = testMatch(line); | ||||||
|     expect(annotation).toBeDefined(); |     expect(annotation).toBeDefined(); | ||||||
|     expect(annotation.line).toBe(13); |     expect(annotation.line).toBe(13); | ||||||
|     expect(annotation.column).toBe(2); |     expect(annotation.column).toBe(2); | ||||||
| @ -577,8 +577,8 @@ describe('setup-go', () => { | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('matches on unix path down the tree', async () => { |   it('matches on unix path down the tree', async () => { | ||||||
|     let line = 'foo/main.go:13:2: undefined: fmt.Printl'; |     const line = 'foo/main.go:13:2: undefined: fmt.Printl'; | ||||||
|     let annotation = testMatch(line); |     const annotation = testMatch(line); | ||||||
|     expect(annotation).toBeDefined(); |     expect(annotation).toBeDefined(); | ||||||
|     expect(annotation.line).toBe(13); |     expect(annotation.line).toBe(13); | ||||||
|     expect(annotation.column).toBe(2); |     expect(annotation.column).toBe(2); | ||||||
| @ -587,8 +587,8 @@ describe('setup-go', () => { | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('matches on rooted unix path', async () => { |   it('matches on rooted unix path', async () => { | ||||||
|     let line = '/assert.go:4:1: missing return at end of function'; |     const line = '/assert.go:4:1: missing return at end of function'; | ||||||
|     let annotation = testMatch(line); |     const annotation = testMatch(line); | ||||||
|     expect(annotation).toBeDefined(); |     expect(annotation).toBeDefined(); | ||||||
|     expect(annotation.line).toBe(4); |     expect(annotation.line).toBe(4); | ||||||
|     expect(annotation.column).toBe(1); |     expect(annotation.column).toBe(1); | ||||||
| @ -597,8 +597,8 @@ describe('setup-go', () => { | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('matches on unix path with spaces', async () => { |   it('matches on unix path with spaces', async () => { | ||||||
|     let line = '   ./assert.go:5:2: missing return at end of function   '; |     const line = '   ./assert.go:5:2: missing return at end of function   '; | ||||||
|     let annotation = testMatch(line); |     const annotation = testMatch(line); | ||||||
|     expect(annotation).toBeDefined(); |     expect(annotation).toBeDefined(); | ||||||
|     expect(annotation.line).toBe(5); |     expect(annotation.line).toBe(5); | ||||||
|     expect(annotation.column).toBe(2); |     expect(annotation.column).toBe(2); | ||||||
| @ -607,8 +607,8 @@ describe('setup-go', () => { | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('matches on unix path with tabs', async () => { |   it('matches on unix path with tabs', async () => { | ||||||
|     let line = '\t./assert.go:5:2: missing return at end of function   '; |     const line = '\t./assert.go:5:2: missing return at end of function   '; | ||||||
|     let annotation = testMatch(line); |     const annotation = testMatch(line); | ||||||
|     expect(annotation).toBeDefined(); |     expect(annotation).toBeDefined(); | ||||||
|     expect(annotation.line).toBe(5); |     expect(annotation.line).toBe(5); | ||||||
|     expect(annotation.column).toBe(2); |     expect(annotation.column).toBe(2); | ||||||
| @ -617,8 +617,8 @@ describe('setup-go', () => { | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('matches on relative windows path', async () => { |   it('matches on relative windows path', async () => { | ||||||
|     let line = '.\\main.go:13:2: undefined: fmt.Printl'; |     const line = '.\\main.go:13:2: undefined: fmt.Printl'; | ||||||
|     let annotation = testMatch(line); |     const annotation = testMatch(line); | ||||||
|     expect(annotation).toBeDefined(); |     expect(annotation).toBeDefined(); | ||||||
|     expect(annotation.line).toBe(13); |     expect(annotation.line).toBe(13); | ||||||
|     expect(annotation.column).toBe(2); |     expect(annotation.column).toBe(2); | ||||||
| @ -627,8 +627,8 @@ describe('setup-go', () => { | |||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   it('matches on windows path up the tree', async () => { |   it('matches on windows path up the tree', async () => { | ||||||
|     let line = '..\\main.go:13:2: undefined: fmt.Printl'; |     const line = '..\\main.go:13:2: undefined: fmt.Printl'; | ||||||
|     let annotation = testMatch(line); |     const annotation = testMatch(line); | ||||||
|     expect(annotation).toBeDefined(); |     expect(annotation).toBeDefined(); | ||||||
|     expect(annotation.line).toBe(13); |     expect(annotation.line).toBe(13); | ||||||
|     expect(annotation.column).toBe(2); |     expect(annotation.column).toBe(2); | ||||||
| @ -730,7 +730,7 @@ describe('setup-go', () => { | |||||||
|       os.platform = 'linux'; |       os.platform = 'linux'; | ||||||
|       os.arch = 'x64'; |       os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|       let versionSpec = '1.13'; |       const versionSpec = '1.13'; | ||||||
| 
 | 
 | ||||||
|       inputs['go-version'] = versionSpec; |       inputs['go-version'] = versionSpec; | ||||||
|       inputs['check-latest'] = true; |       inputs['check-latest'] = true; | ||||||
| @ -741,13 +741,13 @@ describe('setup-go', () => { | |||||||
|       findSpy.mockImplementation(() => ''); |       findSpy.mockImplementation(() => ''); | ||||||
| 
 | 
 | ||||||
|       dlSpy.mockImplementation(async () => '/some/temp/path'); |       dlSpy.mockImplementation(async () => '/some/temp/path'); | ||||||
|       let toolPath = path.normalize('/cache/go/1.13.7/x64'); |       const toolPath = path.normalize('/cache/go/1.13.7/x64'); | ||||||
|       extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); |       extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); | ||||||
|       cacheSpy.mockImplementation(async () => toolPath); |       cacheSpy.mockImplementation(async () => toolPath); | ||||||
| 
 | 
 | ||||||
|       await main.run(); |       await main.run(); | ||||||
| 
 | 
 | ||||||
|       let expPath = path.join(toolPath, 'bin'); |       const expPath = path.join(toolPath, 'bin'); | ||||||
| 
 | 
 | ||||||
|       expect(dlSpy).toHaveBeenCalled(); |       expect(dlSpy).toHaveBeenCalled(); | ||||||
|       expect(extractTarSpy).toHaveBeenCalled(); |       expect(extractTarSpy).toHaveBeenCalled(); | ||||||
| @ -767,7 +767,7 @@ describe('setup-go', () => { | |||||||
|       os.platform = 'linux'; |       os.platform = 'linux'; | ||||||
|       os.arch = 'x64'; |       os.arch = 'x64'; | ||||||
| 
 | 
 | ||||||
|       let versionSpec = '1.13'; |       const versionSpec = '1.13'; | ||||||
| 
 | 
 | ||||||
|       process.env['GITHUB_PATH'] = ''; |       process.env['GITHUB_PATH'] = ''; | ||||||
| 
 | 
 | ||||||
| @ -784,13 +784,13 @@ describe('setup-go', () => { | |||||||
|       getAllVersionsSpy.mockImplementationOnce(() => undefined); |       getAllVersionsSpy.mockImplementationOnce(() => undefined); | ||||||
| 
 | 
 | ||||||
|       dlSpy.mockImplementation(async () => '/some/temp/path'); |       dlSpy.mockImplementation(async () => '/some/temp/path'); | ||||||
|       let toolPath = path.normalize('/cache/go/1.13.7/x64'); |       const toolPath = path.normalize('/cache/go/1.13.7/x64'); | ||||||
|       extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); |       extractTarSpy.mockImplementation(async () => '/some/other/temp/path'); | ||||||
|       cacheSpy.mockImplementation(async () => toolPath); |       cacheSpy.mockImplementation(async () => toolPath); | ||||||
| 
 | 
 | ||||||
|       await main.run(); |       await main.run(); | ||||||
| 
 | 
 | ||||||
|       let expPath = path.join(toolPath, 'bin'); |       const expPath = path.join(toolPath, 'bin'); | ||||||
| 
 | 
 | ||||||
|       expect(logSpy).toHaveBeenCalledWith( |       expect(logSpy).toHaveBeenCalledWith( | ||||||
|         `Failed to resolve version ${versionSpec} from manifest` |         `Failed to resolve version ${versionSpec} from manifest` | ||||||
| @ -910,7 +910,7 @@ use . | |||||||
|         inputs['go-version'] = version; |         inputs['go-version'] = version; | ||||||
|         inputs['architecture'] = arch; |         inputs['architecture'] = arch; | ||||||
| 
 | 
 | ||||||
|         let expectedUrl = |         const expectedUrl = | ||||||
|           platform === 'win32' |           platform === 'win32' | ||||||
|             ? `https://github.com/actions/go-versions/releases/download/${version}/go-${version}-${platform}-${arch}.${fileExtension}` |             ? `https://github.com/actions/go-versions/releases/download/${version}/go-${version}-${platform}-${arch}.${fileExtension}` | ||||||
|             : `https://storage.googleapis.com/golang/go${version}.${osSpec}-${arch}.${fileExtension}`; |             : `https://storage.googleapis.com/golang/go${version}.${osSpec}-${arch}.${fileExtension}`; | ||||||
| @ -919,7 +919,7 @@ use . | |||||||
|         findSpy.mockImplementation(() => ''); |         findSpy.mockImplementation(() => ''); | ||||||
| 
 | 
 | ||||||
|         dlSpy.mockImplementation(async () => '/some/temp/path'); |         dlSpy.mockImplementation(async () => '/some/temp/path'); | ||||||
|         let toolPath = path.normalize(`/cache/go/${version}/${arch}`); |         const toolPath = path.normalize(`/cache/go/${version}/${arch}`); | ||||||
|         cacheSpy.mockImplementation(async () => toolPath); |         cacheSpy.mockImplementation(async () => toolPath); | ||||||
| 
 | 
 | ||||||
|         await main.run(); |         await main.run(); | ||||||
| @ -944,7 +944,7 @@ use . | |||||||
|         findSpy.mockImplementation(() => ''); |         findSpy.mockImplementation(() => ''); | ||||||
| 
 | 
 | ||||||
|         dlSpy.mockImplementation(async () => '/some/temp/path'); |         dlSpy.mockImplementation(async () => '/some/temp/path'); | ||||||
|         let toolPath = path.normalize(`/cache/go/${alias}/${arch}`); |         const toolPath = path.normalize(`/cache/go/${alias}/${arch}`); | ||||||
|         cacheSpy.mockImplementation(async () => toolPath); |         cacheSpy.mockImplementation(async () => toolPath); | ||||||
| 
 | 
 | ||||||
|         await main.run(); |         await main.run(); | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/cache-save/index.js
									
									
									
									
										vendored
									
									
								
							| @ -60457,7 +60457,7 @@ const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void | |||||||
| }); | }); | ||||||
| exports.getPackageManagerInfo = getPackageManagerInfo; | exports.getPackageManagerInfo = getPackageManagerInfo; | ||||||
| const getCacheDirectoryPath = (packageManagerInfo) => __awaiter(void 0, void 0, void 0, function* () { | const getCacheDirectoryPath = (packageManagerInfo) => __awaiter(void 0, void 0, void 0, function* () { | ||||||
|     const pathList = yield Promise.all(packageManagerInfo.cacheFolderCommandList.map(command => exports.getCommandOutput(command))); |     const pathList = yield Promise.all(packageManagerInfo.cacheFolderCommandList.map((command) => __awaiter(void 0, void 0, void 0, function* () { return exports.getCommandOutput(command); }))); | ||||||
|     const cachePaths = pathList.filter(item => item); |     const cachePaths = pathList.filter(item => item); | ||||||
|     if (!cachePaths.length) { |     if (!cachePaths.length) { | ||||||
|         throw new Error(`Could not get cache folder paths.`); |         throw new Error(`Could not get cache folder paths.`); | ||||||
|  | |||||||
							
								
								
									
										55
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										55
									
								
								dist/setup/index.js
									
									
									
									
										vendored
									
									
								
							| @ -63058,7 +63058,7 @@ const restoreCache = (versionSpec, packageManager, cacheDependencyPath) => __awa | |||||||
| }); | }); | ||||||
| exports.restoreCache = restoreCache; | exports.restoreCache = restoreCache; | ||||||
| const findDependencyFile = (packageManager) => { | const findDependencyFile = (packageManager) => { | ||||||
|     let dependencyFile = packageManager.dependencyFilePattern; |     const dependencyFile = packageManager.dependencyFilePattern; | ||||||
|     const workspace = process.env.GITHUB_WORKSPACE; |     const workspace = process.env.GITHUB_WORKSPACE; | ||||||
|     const rootContent = fs_1.default.readdirSync(workspace); |     const rootContent = fs_1.default.readdirSync(workspace); | ||||||
|     const goSumFileExists = rootContent.includes(dependencyFile); |     const goSumFileExists = rootContent.includes(dependencyFile); | ||||||
| @ -63130,7 +63130,7 @@ const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void | |||||||
| }); | }); | ||||||
| exports.getPackageManagerInfo = getPackageManagerInfo; | exports.getPackageManagerInfo = getPackageManagerInfo; | ||||||
| const getCacheDirectoryPath = (packageManagerInfo) => __awaiter(void 0, void 0, void 0, function* () { | const getCacheDirectoryPath = (packageManagerInfo) => __awaiter(void 0, void 0, void 0, function* () { | ||||||
|     const pathList = yield Promise.all(packageManagerInfo.cacheFolderCommandList.map(command => exports.getCommandOutput(command))); |     const pathList = yield Promise.all(packageManagerInfo.cacheFolderCommandList.map((command) => __awaiter(void 0, void 0, void 0, function* () { return exports.getCommandOutput(command); }))); | ||||||
|     const cachePaths = pathList.filter(item => item); |     const cachePaths = pathList.filter(item => item); | ||||||
|     if (!cachePaths.length) { |     if (!cachePaths.length) { | ||||||
|         throw new Error(`Could not get cache folder paths.`); |         throw new Error(`Could not get cache folder paths.`); | ||||||
| @ -63229,7 +63229,7 @@ const utils_1 = __nccwpck_require__(1314); | |||||||
| function getGo(versionSpec, checkLatest, auth, arch = os_1.default.arch()) { | function getGo(versionSpec, checkLatest, auth, arch = os_1.default.arch()) { | ||||||
|     return __awaiter(this, void 0, void 0, function* () { |     return __awaiter(this, void 0, void 0, function* () { | ||||||
|         let manifest; |         let manifest; | ||||||
|         let osPlat = os_1.default.platform(); |         const osPlat = os_1.default.platform(); | ||||||
|         if (versionSpec === utils_1.StableReleaseAlias.Stable || |         if (versionSpec === utils_1.StableReleaseAlias.Stable || | ||||||
|             versionSpec === utils_1.StableReleaseAlias.OldStable) { |             versionSpec === utils_1.StableReleaseAlias.OldStable) { | ||||||
|             manifest = yield getManifest(auth); |             manifest = yield getManifest(auth); | ||||||
| @ -63255,8 +63255,7 @@ function getGo(versionSpec, checkLatest, auth, arch = os_1.default.arch()) { | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         // check cache
 |         // check cache
 | ||||||
|         let toolPath; |         const toolPath = tc.find('go', versionSpec, arch); | ||||||
|         toolPath = tc.find('go', versionSpec, arch); |  | ||||||
|         // If not found in cache, download
 |         // If not found in cache, download
 | ||||||
|         if (toolPath) { |         if (toolPath) { | ||||||
|             core.info(`Found in cache @ ${toolPath}`); |             core.info(`Found in cache @ ${toolPath}`); | ||||||
| @ -63382,12 +63381,11 @@ function getInfoFromManifest(versionSpec, stable, auth, arch = os_1.default.arch | |||||||
| exports.getInfoFromManifest = getInfoFromManifest; | exports.getInfoFromManifest = getInfoFromManifest; | ||||||
| function getInfoFromDist(versionSpec, arch) { | function getInfoFromDist(versionSpec, arch) { | ||||||
|     return __awaiter(this, void 0, void 0, function* () { |     return __awaiter(this, void 0, void 0, function* () { | ||||||
|         let version; |         const version = yield findMatch(versionSpec, arch); | ||||||
|         version = yield findMatch(versionSpec, arch); |  | ||||||
|         if (!version) { |         if (!version) { | ||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|         let downloadUrl = `https://storage.googleapis.com/golang/${version.files[0].filename}`; |         const downloadUrl = `https://storage.googleapis.com/golang/${version.files[0].filename}`; | ||||||
|         return { |         return { | ||||||
|             type: 'dist', |             type: 'dist', | ||||||
|             downloadUrl: downloadUrl, |             downloadUrl: downloadUrl, | ||||||
| @ -63409,8 +63407,8 @@ function findMatch(versionSpec, arch = os_1.default.arch()) { | |||||||
|         } |         } | ||||||
|         let goFile; |         let goFile; | ||||||
|         for (let i = 0; i < candidates.length; i++) { |         for (let i = 0; i < candidates.length; i++) { | ||||||
|             let candidate = candidates[i]; |             const candidate = candidates[i]; | ||||||
|             let version = makeSemver(candidate.version); |             const version = makeSemver(candidate.version); | ||||||
|             core.debug(`check ${version} satisfies ${versionSpec}`); |             core.debug(`check ${version} satisfies ${versionSpec}`); | ||||||
|             if (semver.satisfies(version, versionSpec)) { |             if (semver.satisfies(version, versionSpec)) { | ||||||
|                 goFile = candidate.files.find(file => { |                 goFile = candidate.files.find(file => { | ||||||
| @ -63454,8 +63452,8 @@ function makeSemver(version) { | |||||||
|     var _a; |     var _a; | ||||||
|     version = version.replace('go', ''); |     version = version.replace('go', ''); | ||||||
|     version = version.replace('beta', '-beta.').replace('rc', '-rc.'); |     version = version.replace('beta', '-beta.').replace('rc', '-rc.'); | ||||||
|     let parts = version.split('-'); |     const parts = version.split('-'); | ||||||
|     let semVersion = (_a = semver.coerce(parts[0])) === null || _a === void 0 ? void 0 : _a.version; |     const semVersion = (_a = semver.coerce(parts[0])) === null || _a === void 0 ? void 0 : _a.version; | ||||||
|     if (!semVersion) { |     if (!semVersion) { | ||||||
|         throw new Error(`The version: ${version} can't be changed to SemVer notation`); |         throw new Error(`The version: ${version} can't be changed to SemVer notation`); | ||||||
|     } |     } | ||||||
| @ -63481,8 +63479,8 @@ function parseGoVersionFile(versionFilePath) { | |||||||
| exports.parseGoVersionFile = parseGoVersionFile; | exports.parseGoVersionFile = parseGoVersionFile; | ||||||
| function resolveStableVersionDist(versionSpec, arch) { | function resolveStableVersionDist(versionSpec, arch) { | ||||||
|     return __awaiter(this, void 0, void 0, function* () { |     return __awaiter(this, void 0, void 0, function* () { | ||||||
|         let archFilter = sys.getArch(arch); |         const archFilter = sys.getArch(arch); | ||||||
|         let platFilter = sys.getPlatform(); |         const platFilter = sys.getPlatform(); | ||||||
|         const dlUrl = 'https://golang.org/dl/?mode=json&include=all'; |         const dlUrl = 'https://golang.org/dl/?mode=json&include=all'; | ||||||
|         const candidates = yield module.exports.getVersionsDist(dlUrl); |         const candidates = yield module.exports.getVersionsDist(dlUrl); | ||||||
|         if (!candidates) { |         if (!candidates) { | ||||||
| @ -63585,8 +63583,8 @@ function run() { | |||||||
|                 arch = os_1.default.arch(); |                 arch = os_1.default.arch(); | ||||||
|             } |             } | ||||||
|             if (versionSpec) { |             if (versionSpec) { | ||||||
|                 let token = core.getInput('token'); |                 const token = core.getInput('token'); | ||||||
|                 let auth = !token ? undefined : `token ${token}`; |                 const auth = !token ? undefined : `token ${token}`; | ||||||
|                 const checkLatest = core.getBooleanInput('check-latest'); |                 const checkLatest = core.getBooleanInput('check-latest'); | ||||||
|                 const installDir = yield installer.getGo(versionSpec, checkLatest, auth, arch); |                 const installDir = yield installer.getGo(versionSpec, checkLatest, auth, arch); | ||||||
|                 const installDirVersion = path_1.default.basename(path_1.default.dirname(installDir)); |                 const installDirVersion = path_1.default.basename(path_1.default.dirname(installDir)); | ||||||
| @ -63598,12 +63596,12 @@ function run() { | |||||||
|                     core.info('Setting GOROOT for Go version < 1.9'); |                     core.info('Setting GOROOT for Go version < 1.9'); | ||||||
|                     core.exportVariable('GOROOT', installDir); |                     core.exportVariable('GOROOT', installDir); | ||||||
|                 } |                 } | ||||||
|                 let added = yield addBinToPath(); |                 const added = yield addBinToPath(); | ||||||
|                 core.debug(`add bin ${added}`); |                 core.debug(`add bin ${added}`); | ||||||
|                 core.info(`Successfully set up Go version ${versionSpec}`); |                 core.info(`Successfully set up Go version ${versionSpec}`); | ||||||
|             } |             } | ||||||
|             let goPath = yield io.which('go'); |             const goPath = yield io.which('go'); | ||||||
|             let goVersion = (child_process_1.default.execSync(`${goPath} version`) || '').toString(); |             const goVersion = (child_process_1.default.execSync(`${goPath} version`) || '').toString(); | ||||||
|             if (cache && cache_utils_1.isCacheFeatureAvailable()) { |             if (cache && cache_utils_1.isCacheFeatureAvailable()) { | ||||||
|                 const packageManager = 'default'; |                 const packageManager = 'default'; | ||||||
|                 const cacheDependencyPath = core.getInput('cache-dependency-path'); |                 const cacheDependencyPath = core.getInput('cache-dependency-path'); | ||||||
| @ -63616,7 +63614,7 @@ function run() { | |||||||
|             core.info(goVersion); |             core.info(goVersion); | ||||||
|             core.setOutput('go-version', parseGoVersion(goVersion)); |             core.setOutput('go-version', parseGoVersion(goVersion)); | ||||||
|             core.startGroup('go env'); |             core.startGroup('go env'); | ||||||
|             let goEnv = (child_process_1.default.execSync(`${goPath} env`) || '').toString(); |             const goEnv = (child_process_1.default.execSync(`${goPath} env`) || '').toString(); | ||||||
|             core.info(goEnv); |             core.info(goEnv); | ||||||
|             core.endGroup(); |             core.endGroup(); | ||||||
|         } |         } | ||||||
| @ -63629,22 +63627,22 @@ exports.run = run; | |||||||
| function addBinToPath() { | function addBinToPath() { | ||||||
|     return __awaiter(this, void 0, void 0, function* () { |     return __awaiter(this, void 0, void 0, function* () { | ||||||
|         let added = false; |         let added = false; | ||||||
|         let g = yield io.which('go'); |         const g = yield io.which('go'); | ||||||
|         core.debug(`which go :${g}:`); |         core.debug(`which go :${g}:`); | ||||||
|         if (!g) { |         if (!g) { | ||||||
|             core.debug('go not in the path'); |             core.debug('go not in the path'); | ||||||
|             return added; |             return added; | ||||||
|         } |         } | ||||||
|         let buf = child_process_1.default.execSync('go env GOPATH'); |         const buf = child_process_1.default.execSync('go env GOPATH'); | ||||||
|         if (buf.length > 1) { |         if (buf.length > 1) { | ||||||
|             let gp = buf.toString().trim(); |             const gp = buf.toString().trim(); | ||||||
|             core.debug(`go env GOPATH :${gp}:`); |             core.debug(`go env GOPATH :${gp}:`); | ||||||
|             if (!fs_1.default.existsSync(gp)) { |             if (!fs_1.default.existsSync(gp)) { | ||||||
|                 // some of the hosted images have go install but not profile dir
 |                 // some of the hosted images have go install but not profile dir
 | ||||||
|                 core.debug(`creating ${gp}`); |                 core.debug(`creating ${gp}`); | ||||||
|                 yield io.mkdirP(gp); |                 yield io.mkdirP(gp); | ||||||
|             } |             } | ||||||
|             let bp = path_1.default.join(gp, 'bin'); |             const bp = path_1.default.join(gp, 'bin'); | ||||||
|             if (!fs_1.default.existsSync(bp)) { |             if (!fs_1.default.existsSync(bp)) { | ||||||
|                 core.debug(`creating ${bp}`); |                 core.debug(`creating ${bp}`); | ||||||
|                 yield io.mkdirP(bp); |                 yield io.mkdirP(bp); | ||||||
| @ -63703,18 +63701,21 @@ exports.supportedPackageManagers = { | |||||||
| /***/ }), | /***/ }), | ||||||
| 
 | 
 | ||||||
| /***/ 4300: | /***/ 4300: | ||||||
| /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { | /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { | ||||||
| 
 | 
 | ||||||
| "use strict"; | "use strict"; | ||||||
| 
 | 
 | ||||||
|  | var __importDefault = (this && this.__importDefault) || function (mod) { | ||||||
|  |     return (mod && mod.__esModule) ? mod : { "default": mod }; | ||||||
|  | }; | ||||||
| Object.defineProperty(exports, "__esModule", ({ value: true })); | Object.defineProperty(exports, "__esModule", ({ value: true })); | ||||||
| exports.getArch = exports.getPlatform = void 0; | exports.getArch = exports.getPlatform = void 0; | ||||||
| const os = __nccwpck_require__(2037); | const os_1 = __importDefault(__nccwpck_require__(2037)); | ||||||
| function getPlatform() { | function getPlatform() { | ||||||
|     // darwin and linux match already
 |     // darwin and linux match already
 | ||||||
|     // freebsd not supported yet but future proofed.
 |     // freebsd not supported yet but future proofed.
 | ||||||
|     // 'aix', 'darwin', 'freebsd', 'linux', 'openbsd', 'sunos', and 'win32'
 |     // 'aix', 'darwin', 'freebsd', 'linux', 'openbsd', 'sunos', and 'win32'
 | ||||||
|     let plat = os.platform(); |     let plat = os_1.default.platform(); | ||||||
|     // wants 'darwin', 'freebsd', 'linux', 'windows'
 |     // wants 'darwin', 'freebsd', 'linux', 'windows'
 | ||||||
|     if (plat === 'win32') { |     if (plat === 'win32') { | ||||||
|         plat = 'windows'; |         plat = 'windows'; | ||||||
|  | |||||||
| @ -52,7 +52,7 @@ Pull requests are the easiest way to contribute changes to git repos at GitHub. | |||||||
| 
 | 
 | ||||||
| - Please check that no one else has already created a pull request with these changes | - Please check that no one else has already created a pull request with these changes | ||||||
| - Use a "feature branch" for your changes. That separates the changes in the pull request from your other changes and makes it easy to edit/amend commits in the pull request | - Use a "feature branch" for your changes. That separates the changes in the pull request from your other changes and makes it easy to edit/amend commits in the pull request | ||||||
| -  **Run `pre-checkin` script to format, build and test changes** | -  **Run `pre-checkin` script to format, lint, build and test changes** | ||||||
| - Make sure your changes are well formatted and that all tests are passing | - Make sure your changes are well formatted and that all tests are passing | ||||||
| - If your pull request is connected to an open issue, please, leave a link to this issue in the `Related issue:` section | - If your pull request is connected to an open issue, please, leave a link to this issue in the `Related issue:` section | ||||||
| - If you later need to add new commits to the pull request, you can simply commit the changes to the local branch and then push them. The pull request gets automatically updated | - If you later need to add new commits to the pull request, you can simply commit the changes to the local branch and then push them. The pull request gets automatically updated | ||||||
| @ -61,6 +61,7 @@ Pull requests are the easiest way to contribute changes to git repos at GitHub. | |||||||
| 
 | 
 | ||||||
| - To implement new features or fix bugs, you need to make changes to the `.ts` files, which are located in the `src` folder | - To implement new features or fix bugs, you need to make changes to the `.ts` files, which are located in the `src` folder | ||||||
| - To comply with the code style, **you need to run the `format` script** | - To comply with the code style, **you need to run the `format` script** | ||||||
|  | - To lint the code, **you need to run the `lint:fix` script** | ||||||
| - To transpile source code to `javascript` we use [NCC](https://github.com/vercel/ncc). **It is very important to run the `build` script after making changes**, otherwise your changes will not get into the final `javascript` build | - To transpile source code to `javascript` we use [NCC](https://github.com/vercel/ncc). **It is very important to run the `build` script after making changes**, otherwise your changes will not get into the final `javascript` build | ||||||
| - You can also start formatting, building code, and testing with a single `pre-checkin` command | - You can also start formatting, building code, and testing with a single `pre-checkin` command | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										2075
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2075
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -22,11 +22,16 @@ | |||||||
|         "@types/jest": "^27.0.2", |         "@types/jest": "^27.0.2", | ||||||
|         "@types/node": "^16.11.25", |         "@types/node": "^16.11.25", | ||||||
|         "@types/semver": "^6.0.0", |         "@types/semver": "^6.0.0", | ||||||
|  |         "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||||
|  |         "@typescript-eslint/parser": "^5.54.0", | ||||||
|         "@vercel/ncc": "^0.33.4", |         "@vercel/ncc": "^0.33.4", | ||||||
|  |         "eslint": "^8.35.0", | ||||||
|  |         "eslint-config-prettier": "^8.6.0", | ||||||
|  |         "eslint-plugin-jest": "^27.2.1", | ||||||
|         "jest": "^27.2.5", |         "jest": "^27.2.5", | ||||||
|         "jest-circus": "^27.2.5", |         "jest-circus": "^27.2.5", | ||||||
|         "nock": "^10.0.6", |         "nock": "^10.0.6", | ||||||
|         "prettier": "^1.17.1", |         "prettier": "^2.8.4", | ||||||
|         "ts-jest": "^27.0.5", |         "ts-jest": "^27.0.5", | ||||||
|         "typescript": "^4.3.3" |         "typescript": "^4.3.3" | ||||||
|       } |       } | ||||||
| @ -895,6 +900,116 @@ | |||||||
|       "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", |       "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@eslint/eslintrc": { | ||||||
|  |       "version": "2.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", | ||||||
|  |       "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ajv": "^6.12.4", | ||||||
|  |         "debug": "^4.3.2", | ||||||
|  |         "espree": "^9.4.0", | ||||||
|  |         "globals": "^13.19.0", | ||||||
|  |         "ignore": "^5.2.0", | ||||||
|  |         "import-fresh": "^3.2.1", | ||||||
|  |         "js-yaml": "^4.1.0", | ||||||
|  |         "minimatch": "^3.1.2", | ||||||
|  |         "strip-json-comments": "^3.1.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://opencollective.com/eslint" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@eslint/eslintrc/node_modules/argparse": { | ||||||
|  |       "version": "2.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", | ||||||
|  |       "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@eslint/eslintrc/node_modules/globals": { | ||||||
|  |       "version": "13.20.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", | ||||||
|  |       "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "type-fest": "^0.20.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@eslint/eslintrc/node_modules/js-yaml": { | ||||||
|  |       "version": "4.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", | ||||||
|  |       "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "argparse": "^2.0.1" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "js-yaml": "bin/js-yaml.js" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@eslint/eslintrc/node_modules/type-fest": { | ||||||
|  |       "version": "0.20.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@eslint/js": { | ||||||
|  |       "version": "8.35.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", | ||||||
|  |       "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@humanwhocodes/config-array": { | ||||||
|  |       "version": "0.11.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", | ||||||
|  |       "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@humanwhocodes/object-schema": "^1.2.1", | ||||||
|  |         "debug": "^4.1.1", | ||||||
|  |         "minimatch": "^3.0.5" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@humanwhocodes/module-importer": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=12.22" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "github", | ||||||
|  |         "url": "https://github.com/sponsors/nzakas" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@humanwhocodes/object-schema": { | ||||||
|  |       "version": "1.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", | ||||||
|  |       "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/@istanbuljs/load-nyc-config": { |     "node_modules/@istanbuljs/load-nyc-config": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", | ||||||
| @ -1185,6 +1300,41 @@ | |||||||
|         "@jridgewell/sourcemap-codec": "^1.4.10" |         "@jridgewell/sourcemap-codec": "^1.4.10" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@nodelib/fs.scandir": { | ||||||
|  |       "version": "2.1.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", | ||||||
|  |       "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@nodelib/fs.stat": "2.0.5", | ||||||
|  |         "run-parallel": "^1.1.9" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@nodelib/fs.stat": { | ||||||
|  |       "version": "2.0.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", | ||||||
|  |       "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@nodelib/fs.walk": { | ||||||
|  |       "version": "1.2.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", | ||||||
|  |       "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@nodelib/fs.scandir": "2.1.5", | ||||||
|  |         "fastq": "^1.6.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@opentelemetry/api": { |     "node_modules/@opentelemetry/api": { | ||||||
|       "version": "1.0.4", |       "version": "1.0.4", | ||||||
|       "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz", |       "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz", | ||||||
| @ -1304,6 +1454,12 @@ | |||||||
|         "pretty-format": "^27.0.0" |         "pretty-format": "^27.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@types/json-schema": { | ||||||
|  |       "version": "7.0.11", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", | ||||||
|  |       "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/@types/node": { |     "node_modules/@types/node": { | ||||||
|       "version": "16.11.26", |       "version": "16.11.26", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz", |       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz", | ||||||
| @ -1372,6 +1528,281 @@ | |||||||
|       "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", |       "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@typescript-eslint/eslint-plugin": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@typescript-eslint/scope-manager": "5.54.0", | ||||||
|  |         "@typescript-eslint/type-utils": "5.54.0", | ||||||
|  |         "@typescript-eslint/utils": "5.54.0", | ||||||
|  |         "debug": "^4.3.4", | ||||||
|  |         "grapheme-splitter": "^1.0.4", | ||||||
|  |         "ignore": "^5.2.0", | ||||||
|  |         "natural-compare-lite": "^1.4.0", | ||||||
|  |         "regexpp": "^3.2.0", | ||||||
|  |         "semver": "^7.3.7", | ||||||
|  |         "tsutils": "^3.21.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/typescript-eslint" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@typescript-eslint/parser": "^5.0.0", | ||||||
|  |         "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "typescript": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { | ||||||
|  |       "version": "6.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||||
|  |       "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "yallist": "^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { | ||||||
|  |       "version": "7.3.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||||
|  |       "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "lru-cache": "^6.0.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "semver": "bin/semver.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/parser": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@typescript-eslint/scope-manager": "5.54.0", | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "@typescript-eslint/typescript-estree": "5.54.0", | ||||||
|  |         "debug": "^4.3.4" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/typescript-eslint" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "typescript": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/scope-manager": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "@typescript-eslint/visitor-keys": "5.54.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/typescript-eslint" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/type-utils": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@typescript-eslint/typescript-estree": "5.54.0", | ||||||
|  |         "@typescript-eslint/utils": "5.54.0", | ||||||
|  |         "debug": "^4.3.4", | ||||||
|  |         "tsutils": "^3.21.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/typescript-eslint" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "eslint": "*" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "typescript": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/types": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/typescript-eslint" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/typescript-estree": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "@typescript-eslint/visitor-keys": "5.54.0", | ||||||
|  |         "debug": "^4.3.4", | ||||||
|  |         "globby": "^11.1.0", | ||||||
|  |         "is-glob": "^4.0.3", | ||||||
|  |         "semver": "^7.3.7", | ||||||
|  |         "tsutils": "^3.21.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/typescript-eslint" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "typescript": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { | ||||||
|  |       "version": "6.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||||
|  |       "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "yallist": "^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { | ||||||
|  |       "version": "7.3.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||||
|  |       "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "lru-cache": "^6.0.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "semver": "bin/semver.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/utils": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/json-schema": "^7.0.9", | ||||||
|  |         "@types/semver": "^7.3.12", | ||||||
|  |         "@typescript-eslint/scope-manager": "5.54.0", | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "@typescript-eslint/typescript-estree": "5.54.0", | ||||||
|  |         "eslint-scope": "^5.1.1", | ||||||
|  |         "eslint-utils": "^3.0.0", | ||||||
|  |         "semver": "^7.3.7" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/typescript-eslint" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/utils/node_modules/@types/semver": { | ||||||
|  |       "version": "7.3.13", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", | ||||||
|  |       "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { | ||||||
|  |       "version": "6.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||||
|  |       "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "yallist": "^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/utils/node_modules/semver": { | ||||||
|  |       "version": "7.3.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||||
|  |       "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "lru-cache": "^6.0.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "semver": "bin/semver.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@typescript-eslint/visitor-keys": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "eslint-visitor-keys": "^3.3.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/typescript-eslint" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@vercel/ncc": { |     "node_modules/@vercel/ncc": { | ||||||
|       "version": "0.33.4", |       "version": "0.33.4", | ||||||
|       "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.33.4.tgz", |       "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.33.4.tgz", | ||||||
| @ -1399,9 +1830,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/acorn": { |     "node_modules/acorn": { | ||||||
|       "version": "8.7.0", |       "version": "8.8.2", | ||||||
|       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", |       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", | ||||||
|       "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", |       "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "bin": { |       "bin": { | ||||||
|         "acorn": "bin/acorn" |         "acorn": "bin/acorn" | ||||||
| @ -1432,6 +1863,15 @@ | |||||||
|         "node": ">=0.4.0" |         "node": ">=0.4.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/acorn-jsx": { | ||||||
|  |       "version": "5.3.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", | ||||||
|  |       "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/acorn-walk": { |     "node_modules/acorn-walk": { | ||||||
|       "version": "7.2.0", |       "version": "7.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", |       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", | ||||||
| @ -1453,6 +1893,22 @@ | |||||||
|         "node": ">= 6.0.0" |         "node": ">= 6.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/ajv": { | ||||||
|  |       "version": "6.12.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", | ||||||
|  |       "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "fast-deep-equal": "^3.1.1", | ||||||
|  |         "fast-json-stable-stringify": "^2.0.0", | ||||||
|  |         "json-schema-traverse": "^0.4.1", | ||||||
|  |         "uri-js": "^4.2.2" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "github", | ||||||
|  |         "url": "https://github.com/sponsors/epoberezkin" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/ansi-escapes": { |     "node_modules/ansi-escapes": { | ||||||
|       "version": "4.3.2", |       "version": "4.3.2", | ||||||
|       "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", |       "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", | ||||||
| @ -1514,6 +1970,15 @@ | |||||||
|         "sprintf-js": "~1.0.2" |         "sprintf-js": "~1.0.2" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/array-union": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", | ||||||
|  |       "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/assertion-error": { |     "node_modules/assertion-error": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", | ||||||
| @ -2052,6 +2517,30 @@ | |||||||
|         "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" |         "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/dir-glob": { | ||||||
|  |       "version": "3.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", | ||||||
|  |       "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "path-type": "^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/doctrine": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", | ||||||
|  |       "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "esutils": "^2.0.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/domexception": { |     "node_modules/domexception": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", | ||||||
| @ -2146,6 +2635,356 @@ | |||||||
|         "source-map": "~0.6.1" |         "source-map": "~0.6.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/eslint": { | ||||||
|  |       "version": "8.35.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", | ||||||
|  |       "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@eslint/eslintrc": "^2.0.0", | ||||||
|  |         "@eslint/js": "8.35.0", | ||||||
|  |         "@humanwhocodes/config-array": "^0.11.8", | ||||||
|  |         "@humanwhocodes/module-importer": "^1.0.1", | ||||||
|  |         "@nodelib/fs.walk": "^1.2.8", | ||||||
|  |         "ajv": "^6.10.0", | ||||||
|  |         "chalk": "^4.0.0", | ||||||
|  |         "cross-spawn": "^7.0.2", | ||||||
|  |         "debug": "^4.3.2", | ||||||
|  |         "doctrine": "^3.0.0", | ||||||
|  |         "escape-string-regexp": "^4.0.0", | ||||||
|  |         "eslint-scope": "^7.1.1", | ||||||
|  |         "eslint-utils": "^3.0.0", | ||||||
|  |         "eslint-visitor-keys": "^3.3.0", | ||||||
|  |         "espree": "^9.4.0", | ||||||
|  |         "esquery": "^1.4.2", | ||||||
|  |         "esutils": "^2.0.2", | ||||||
|  |         "fast-deep-equal": "^3.1.3", | ||||||
|  |         "file-entry-cache": "^6.0.1", | ||||||
|  |         "find-up": "^5.0.0", | ||||||
|  |         "glob-parent": "^6.0.2", | ||||||
|  |         "globals": "^13.19.0", | ||||||
|  |         "grapheme-splitter": "^1.0.4", | ||||||
|  |         "ignore": "^5.2.0", | ||||||
|  |         "import-fresh": "^3.0.0", | ||||||
|  |         "imurmurhash": "^0.1.4", | ||||||
|  |         "is-glob": "^4.0.0", | ||||||
|  |         "is-path-inside": "^3.0.3", | ||||||
|  |         "js-sdsl": "^4.1.4", | ||||||
|  |         "js-yaml": "^4.1.0", | ||||||
|  |         "json-stable-stringify-without-jsonify": "^1.0.1", | ||||||
|  |         "levn": "^0.4.1", | ||||||
|  |         "lodash.merge": "^4.6.2", | ||||||
|  |         "minimatch": "^3.1.2", | ||||||
|  |         "natural-compare": "^1.4.0", | ||||||
|  |         "optionator": "^0.9.1", | ||||||
|  |         "regexpp": "^3.2.0", | ||||||
|  |         "strip-ansi": "^6.0.1", | ||||||
|  |         "strip-json-comments": "^3.1.0", | ||||||
|  |         "text-table": "^0.2.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "eslint": "bin/eslint.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://opencollective.com/eslint" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint-config-prettier": { | ||||||
|  |       "version": "8.6.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz", | ||||||
|  |       "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "bin": { | ||||||
|  |         "eslint-config-prettier": "bin/cli.js" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "eslint": ">=7.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint-plugin-jest": { | ||||||
|  |       "version": "27.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz", | ||||||
|  |       "integrity": "sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@typescript-eslint/utils": "^5.10.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^14.15.0 || ^16.10.0 || >=18.0.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@typescript-eslint/eslint-plugin": "^5.0.0", | ||||||
|  |         "eslint": "^7.0.0 || ^8.0.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "@typescript-eslint/eslint-plugin": { | ||||||
|  |           "optional": true | ||||||
|  |         }, | ||||||
|  |         "jest": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint-scope": { | ||||||
|  |       "version": "5.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", | ||||||
|  |       "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "esrecurse": "^4.3.0", | ||||||
|  |         "estraverse": "^4.1.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint-scope/node_modules/estraverse": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", | ||||||
|  |       "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=4.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint-utils": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", | ||||||
|  |       "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "eslint-visitor-keys": "^2.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/mysticatea" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "eslint": ">=5" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", | ||||||
|  |       "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint-visitor-keys": { | ||||||
|  |       "version": "3.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", | ||||||
|  |       "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/argparse": { | ||||||
|  |       "version": "2.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", | ||||||
|  |       "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/escape-string-regexp": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/eslint-scope": { | ||||||
|  |       "version": "7.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", | ||||||
|  |       "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "esrecurse": "^4.3.0", | ||||||
|  |         "estraverse": "^5.2.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/find-up": { | ||||||
|  |       "version": "5.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", | ||||||
|  |       "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "locate-path": "^6.0.0", | ||||||
|  |         "path-exists": "^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/globals": { | ||||||
|  |       "version": "13.20.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", | ||||||
|  |       "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "type-fest": "^0.20.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/js-yaml": { | ||||||
|  |       "version": "4.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", | ||||||
|  |       "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "argparse": "^2.0.1" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "js-yaml": "bin/js-yaml.js" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/levn": { | ||||||
|  |       "version": "0.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", | ||||||
|  |       "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "prelude-ls": "^1.2.1", | ||||||
|  |         "type-check": "~0.4.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 0.8.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/locate-path": { | ||||||
|  |       "version": "6.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", | ||||||
|  |       "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "p-locate": "^5.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/optionator": { | ||||||
|  |       "version": "0.9.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", | ||||||
|  |       "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "deep-is": "^0.1.3", | ||||||
|  |         "fast-levenshtein": "^2.0.6", | ||||||
|  |         "levn": "^0.4.1", | ||||||
|  |         "prelude-ls": "^1.2.1", | ||||||
|  |         "type-check": "^0.4.0", | ||||||
|  |         "word-wrap": "^1.2.3" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 0.8.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/p-limit": { | ||||||
|  |       "version": "3.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", | ||||||
|  |       "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "yocto-queue": "^0.1.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/p-locate": { | ||||||
|  |       "version": "5.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", | ||||||
|  |       "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "p-limit": "^3.0.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/prelude-ls": { | ||||||
|  |       "version": "1.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", | ||||||
|  |       "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 0.8.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/type-check": { | ||||||
|  |       "version": "0.4.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", | ||||||
|  |       "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "prelude-ls": "^1.2.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 0.8.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/eslint/node_modules/type-fest": { | ||||||
|  |       "version": "0.20.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/espree": { | ||||||
|  |       "version": "9.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", | ||||||
|  |       "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "acorn": "^8.8.0", | ||||||
|  |         "acorn-jsx": "^5.3.2", | ||||||
|  |         "eslint-visitor-keys": "^3.3.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^12.22.0 || ^14.17.0 || >=16.0.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://opencollective.com/eslint" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/esprima": { |     "node_modules/esprima": { | ||||||
|       "version": "4.0.1", |       "version": "4.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", |       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||||||
| @ -2159,6 +2998,30 @@ | |||||||
|         "node": ">=4" |         "node": ">=4" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/esquery": { | ||||||
|  |       "version": "1.4.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", | ||||||
|  |       "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "estraverse": "^5.1.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/esrecurse": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", | ||||||
|  |       "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "estraverse": "^5.2.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=4.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/estraverse": { |     "node_modules/estraverse": { | ||||||
|       "version": "5.3.0", |       "version": "5.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", |       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", | ||||||
| @ -2240,6 +3103,40 @@ | |||||||
|         "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" |         "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/fast-deep-equal": { | ||||||
|  |       "version": "3.1.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", | ||||||
|  |       "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/fast-glob": { | ||||||
|  |       "version": "3.2.12", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", | ||||||
|  |       "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@nodelib/fs.stat": "^2.0.2", | ||||||
|  |         "@nodelib/fs.walk": "^1.2.3", | ||||||
|  |         "glob-parent": "^5.1.2", | ||||||
|  |         "merge2": "^1.3.0", | ||||||
|  |         "micromatch": "^4.0.4" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8.6.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/fast-glob/node_modules/glob-parent": { | ||||||
|  |       "version": "5.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||||||
|  |       "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-glob": "^4.0.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/fast-json-stable-stringify": { |     "node_modules/fast-json-stable-stringify": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | ||||||
| @ -2252,6 +3149,15 @@ | |||||||
|       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", |       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/fastq": { | ||||||
|  |       "version": "1.15.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", | ||||||
|  |       "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "reusify": "^1.0.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/fb-watchman": { |     "node_modules/fb-watchman": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", | ||||||
| @ -2261,6 +3167,18 @@ | |||||||
|         "bser": "2.1.1" |         "bser": "2.1.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/file-entry-cache": { | ||||||
|  |       "version": "6.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", | ||||||
|  |       "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "flat-cache": "^3.0.4" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^10.12.0 || >=12.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/fill-range": { |     "node_modules/fill-range": { | ||||||
|       "version": "7.0.1", |       "version": "7.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", |       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", | ||||||
| @ -2286,6 +3204,25 @@ | |||||||
|         "node": ">=8" |         "node": ">=8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/flat-cache": { | ||||||
|  |       "version": "3.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", | ||||||
|  |       "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "flatted": "^3.1.0", | ||||||
|  |         "rimraf": "^3.0.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^10.12.0 || >=12.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/flatted": { | ||||||
|  |       "version": "3.2.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", | ||||||
|  |       "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/form-data": { |     "node_modules/form-data": { | ||||||
|       "version": "2.5.1", |       "version": "2.5.1", | ||||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", |       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", | ||||||
| @ -2407,6 +3344,18 @@ | |||||||
|         "url": "https://github.com/sponsors/isaacs" |         "url": "https://github.com/sponsors/isaacs" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/glob-parent": { | ||||||
|  |       "version": "6.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", | ||||||
|  |       "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-glob": "^4.0.3" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10.13.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/globals": { |     "node_modules/globals": { | ||||||
|       "version": "11.12.0", |       "version": "11.12.0", | ||||||
|       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", |       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", | ||||||
| @ -2416,12 +3365,38 @@ | |||||||
|         "node": ">=4" |         "node": ">=4" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/globby": { | ||||||
|  |       "version": "11.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", | ||||||
|  |       "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "array-union": "^2.1.0", | ||||||
|  |         "dir-glob": "^3.0.1", | ||||||
|  |         "fast-glob": "^3.2.9", | ||||||
|  |         "ignore": "^5.2.0", | ||||||
|  |         "merge2": "^1.4.1", | ||||||
|  |         "slash": "^3.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/graceful-fs": { |     "node_modules/graceful-fs": { | ||||||
|       "version": "4.2.10", |       "version": "4.2.10", | ||||||
|       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", |       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", | ||||||
|       "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", |       "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/grapheme-splitter": { | ||||||
|  |       "version": "1.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", | ||||||
|  |       "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/has": { |     "node_modules/has": { | ||||||
|       "version": "1.0.3", |       "version": "1.0.3", | ||||||
|       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", |       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||||||
| @ -2536,6 +3511,40 @@ | |||||||
|         "node": ">=0.10.0" |         "node": ">=0.10.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/ignore": { | ||||||
|  |       "version": "5.2.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", | ||||||
|  |       "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/import-fresh": { | ||||||
|  |       "version": "3.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", | ||||||
|  |       "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "parent-module": "^1.0.0", | ||||||
|  |         "resolve-from": "^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/import-fresh/node_modules/resolve-from": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/import-local": { |     "node_modules/import-local": { | ||||||
|       "version": "3.1.0", |       "version": "3.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", |       "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", | ||||||
| @ -2637,6 +3646,15 @@ | |||||||
|         "url": "https://github.com/sponsors/ljharb" |         "url": "https://github.com/sponsors/ljharb" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/is-extglob": { | ||||||
|  |       "version": "2.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", | ||||||
|  |       "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/is-fullwidth-code-point": { |     "node_modules/is-fullwidth-code-point": { | ||||||
|       "version": "3.0.0", |       "version": "3.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", |       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||||||
| @ -2655,6 +3673,18 @@ | |||||||
|         "node": ">=6" |         "node": ">=6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/is-glob": { | ||||||
|  |       "version": "4.0.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", | ||||||
|  |       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-extglob": "^2.1.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/is-number": { |     "node_modules/is-number": { | ||||||
|       "version": "7.0.0", |       "version": "7.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", |       "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", | ||||||
| @ -2664,6 +3694,15 @@ | |||||||
|         "node": ">=0.12.0" |         "node": ">=0.12.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/is-path-inside": { | ||||||
|  |       "version": "3.0.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", | ||||||
|  |       "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/is-potential-custom-element-name": { |     "node_modules/is-potential-custom-element-name": { | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", | ||||||
| @ -3404,6 +4443,16 @@ | |||||||
|         "url": "https://github.com/chalk/supports-color?sponsor=1" |         "url": "https://github.com/chalk/supports-color?sponsor=1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/js-sdsl": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", | ||||||
|  |       "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "funding": { | ||||||
|  |         "type": "opencollective", | ||||||
|  |         "url": "https://opencollective.com/js-sdsl" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/js-tokens": { |     "node_modules/js-tokens": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | ||||||
| @ -3515,6 +4564,18 @@ | |||||||
|       "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", |       "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/json-schema-traverse": { | ||||||
|  |       "version": "0.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||||||
|  |       "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "node_modules/json-stable-stringify-without-jsonify": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/json-stringify-safe": { |     "node_modules/json-stringify-safe": { | ||||||
|       "version": "5.0.1", |       "version": "5.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", |       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||||||
| @ -3594,6 +4655,12 @@ | |||||||
|       "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", |       "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/lodash.merge": { | ||||||
|  |       "version": "4.6.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", | ||||||
|  |       "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/loupe": { |     "node_modules/loupe": { | ||||||
|       "version": "2.3.4", |       "version": "2.3.4", | ||||||
|       "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", |       "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", | ||||||
| @ -3648,6 +4715,15 @@ | |||||||
|       "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", |       "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/merge2": { | ||||||
|  |       "version": "1.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", | ||||||
|  |       "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/micromatch": { |     "node_modules/micromatch": { | ||||||
|       "version": "4.0.5", |       "version": "4.0.5", | ||||||
|       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", |       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", | ||||||
| @ -3730,6 +4806,12 @@ | |||||||
|       "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", |       "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/natural-compare-lite": { | ||||||
|  |       "version": "1.4.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", | ||||||
|  |       "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/nock": { |     "node_modules/nock": { | ||||||
|       "version": "10.0.6", |       "version": "10.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", |       "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", | ||||||
| @ -3947,6 +5029,18 @@ | |||||||
|         "node": ">=6" |         "node": ">=6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/parent-module": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "callsites": "^3.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/parse-json": { |     "node_modules/parse-json": { | ||||||
|       "version": "5.2.0", |       "version": "5.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", |       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", | ||||||
| @ -4004,6 +5098,15 @@ | |||||||
|       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", |       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/path-type": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/pathval": { |     "node_modules/pathval": { | ||||||
|       "version": "1.1.1", |       "version": "1.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", |       "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", | ||||||
| @ -4062,15 +5165,18 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/prettier": { |     "node_modules/prettier": { | ||||||
|       "version": "1.19.1", |       "version": "2.8.4", | ||||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", |       "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", | ||||||
|       "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", |       "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "bin": { |       "bin": { | ||||||
|         "prettier": "bin-prettier.js" |         "prettier": "bin-prettier.js" | ||||||
|       }, |       }, | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=4" |         "node": ">=10.13.0" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/prettier/prettier?sponsor=1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/pretty-format": { |     "node_modules/pretty-format": { | ||||||
| @ -4157,6 +5263,26 @@ | |||||||
|         "url": "https://github.com/sponsors/ljharb" |         "url": "https://github.com/sponsors/ljharb" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/queue-microtask": { | ||||||
|  |       "version": "1.2.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", | ||||||
|  |       "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "funding": [ | ||||||
|  |         { | ||||||
|  |           "type": "github", | ||||||
|  |           "url": "https://github.com/sponsors/feross" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "type": "patreon", | ||||||
|  |           "url": "https://www.patreon.com/feross" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "type": "consulting", | ||||||
|  |           "url": "https://feross.org/support" | ||||||
|  |         } | ||||||
|  |       ] | ||||||
|  |     }, | ||||||
|     "node_modules/react-is": { |     "node_modules/react-is": { | ||||||
|       "version": "17.0.2", |       "version": "17.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", |       "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", | ||||||
| @ -4179,6 +5305,18 @@ | |||||||
|         "url": "https://github.com/sponsors/ljharb" |         "url": "https://github.com/sponsors/ljharb" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/regexpp": { | ||||||
|  |       "version": "3.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", | ||||||
|  |       "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=8" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/mysticatea" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/require-directory": { |     "node_modules/require-directory": { | ||||||
|       "version": "2.1.1", |       "version": "2.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", |       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | ||||||
| @ -4235,6 +5373,16 @@ | |||||||
|         "node": ">=10" |         "node": ">=10" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/reusify": { | ||||||
|  |       "version": "1.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", | ||||||
|  |       "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "iojs": ">=1.0.0", | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/rimraf": { |     "node_modules/rimraf": { | ||||||
|       "version": "3.0.2", |       "version": "3.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", |       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", | ||||||
| @ -4250,6 +5398,29 @@ | |||||||
|         "url": "https://github.com/sponsors/isaacs" |         "url": "https://github.com/sponsors/isaacs" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/run-parallel": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "funding": [ | ||||||
|  |         { | ||||||
|  |           "type": "github", | ||||||
|  |           "url": "https://github.com/sponsors/feross" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "type": "patreon", | ||||||
|  |           "url": "https://www.patreon.com/feross" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "type": "consulting", | ||||||
|  |           "url": "https://feross.org/support" | ||||||
|  |         } | ||||||
|  |       ], | ||||||
|  |       "dependencies": { | ||||||
|  |         "queue-microtask": "^1.2.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/safe-buffer": { |     "node_modules/safe-buffer": { | ||||||
|       "version": "5.1.2", |       "version": "5.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||||||
| @ -4522,6 +5693,12 @@ | |||||||
|         "node": ">=8" |         "node": ">=8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/text-table": { | ||||||
|  |       "version": "0.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", | ||||||
|  |       "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/throat": { |     "node_modules/throat": { | ||||||
|       "version": "6.0.1", |       "version": "6.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", |       "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", | ||||||
| @ -4643,6 +5820,21 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", |       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", | ||||||
|       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" |       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/tsutils": { | ||||||
|  |       "version": "3.21.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", | ||||||
|  |       "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "tslib": "^1.8.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 6" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "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" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/tunnel": { |     "node_modules/tunnel": { | ||||||
|       "version": "0.0.6", |       "version": "0.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", |       "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", | ||||||
| @ -4714,6 +5906,15 @@ | |||||||
|         "node": ">= 4.0.0" |         "node": ">= 4.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/uri-js": { | ||||||
|  |       "version": "4.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", | ||||||
|  |       "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "punycode": "^2.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/uuid": { |     "node_modules/uuid": { | ||||||
|       "version": "3.4.0", |       "version": "3.4.0", | ||||||
|       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", |       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||||||
| @ -4935,6 +6136,12 @@ | |||||||
|         "node": ">=10" |         "node": ">=10" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/yallist": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/yargs": { |     "node_modules/yargs": { | ||||||
|       "version": "16.2.0", |       "version": "16.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", |       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", | ||||||
| @ -4961,6 +6168,18 @@ | |||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=10" |         "node": ">=10" | ||||||
|       } |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/yocto-queue": { | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", | ||||||
|  |       "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
| @ -5675,6 +6894,84 @@ | |||||||
|       "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", |       "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "@eslint/eslintrc": { | ||||||
|  |       "version": "2.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", | ||||||
|  |       "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "ajv": "^6.12.4", | ||||||
|  |         "debug": "^4.3.2", | ||||||
|  |         "espree": "^9.4.0", | ||||||
|  |         "globals": "^13.19.0", | ||||||
|  |         "ignore": "^5.2.0", | ||||||
|  |         "import-fresh": "^3.2.1", | ||||||
|  |         "js-yaml": "^4.1.0", | ||||||
|  |         "minimatch": "^3.1.2", | ||||||
|  |         "strip-json-comments": "^3.1.1" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "argparse": { | ||||||
|  |           "version": "2.0.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", | ||||||
|  |           "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "globals": { | ||||||
|  |           "version": "13.20.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", | ||||||
|  |           "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "type-fest": "^0.20.2" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "js-yaml": { | ||||||
|  |           "version": "4.1.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", | ||||||
|  |           "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "argparse": "^2.0.1" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "type-fest": { | ||||||
|  |           "version": "0.20.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |           "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |           "dev": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@eslint/js": { | ||||||
|  |       "version": "8.35.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", | ||||||
|  |       "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@humanwhocodes/config-array": { | ||||||
|  |       "version": "0.11.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", | ||||||
|  |       "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@humanwhocodes/object-schema": "^1.2.1", | ||||||
|  |         "debug": "^4.1.1", | ||||||
|  |         "minimatch": "^3.0.5" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@humanwhocodes/module-importer": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@humanwhocodes/object-schema": { | ||||||
|  |       "version": "1.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", | ||||||
|  |       "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "@istanbuljs/load-nyc-config": { |     "@istanbuljs/load-nyc-config": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", | ||||||
| @ -5907,6 +7204,32 @@ | |||||||
|         "@jridgewell/sourcemap-codec": "^1.4.10" |         "@jridgewell/sourcemap-codec": "^1.4.10" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@nodelib/fs.scandir": { | ||||||
|  |       "version": "2.1.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", | ||||||
|  |       "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@nodelib/fs.stat": "2.0.5", | ||||||
|  |         "run-parallel": "^1.1.9" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@nodelib/fs.stat": { | ||||||
|  |       "version": "2.0.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", | ||||||
|  |       "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@nodelib/fs.walk": { | ||||||
|  |       "version": "1.2.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", | ||||||
|  |       "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@nodelib/fs.scandir": "2.1.5", | ||||||
|  |         "fastq": "^1.6.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@opentelemetry/api": { |     "@opentelemetry/api": { | ||||||
|       "version": "1.0.4", |       "version": "1.0.4", | ||||||
|       "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz", |       "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz", | ||||||
| @ -6020,6 +7343,12 @@ | |||||||
|         "pretty-format": "^27.0.0" |         "pretty-format": "^27.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@types/json-schema": { | ||||||
|  |       "version": "7.0.11", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", | ||||||
|  |       "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "@types/node": { |     "@types/node": { | ||||||
|       "version": "16.11.26", |       "version": "16.11.26", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz", |       "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz", | ||||||
| @ -6087,6 +7416,171 @@ | |||||||
|       "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", |       "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "@typescript-eslint/eslint-plugin": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@typescript-eslint/scope-manager": "5.54.0", | ||||||
|  |         "@typescript-eslint/type-utils": "5.54.0", | ||||||
|  |         "@typescript-eslint/utils": "5.54.0", | ||||||
|  |         "debug": "^4.3.4", | ||||||
|  |         "grapheme-splitter": "^1.0.4", | ||||||
|  |         "ignore": "^5.2.0", | ||||||
|  |         "natural-compare-lite": "^1.4.0", | ||||||
|  |         "regexpp": "^3.2.0", | ||||||
|  |         "semver": "^7.3.7", | ||||||
|  |         "tsutils": "^3.21.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "lru-cache": { | ||||||
|  |           "version": "6.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||||
|  |           "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "yallist": "^4.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "semver": { | ||||||
|  |           "version": "7.3.8", | ||||||
|  |           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||||
|  |           "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "lru-cache": "^6.0.0" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@typescript-eslint/parser": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@typescript-eslint/scope-manager": "5.54.0", | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "@typescript-eslint/typescript-estree": "5.54.0", | ||||||
|  |         "debug": "^4.3.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@typescript-eslint/scope-manager": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "@typescript-eslint/visitor-keys": "5.54.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@typescript-eslint/type-utils": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@typescript-eslint/typescript-estree": "5.54.0", | ||||||
|  |         "@typescript-eslint/utils": "5.54.0", | ||||||
|  |         "debug": "^4.3.4", | ||||||
|  |         "tsutils": "^3.21.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@typescript-eslint/types": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "@typescript-eslint/typescript-estree": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "@typescript-eslint/visitor-keys": "5.54.0", | ||||||
|  |         "debug": "^4.3.4", | ||||||
|  |         "globby": "^11.1.0", | ||||||
|  |         "is-glob": "^4.0.3", | ||||||
|  |         "semver": "^7.3.7", | ||||||
|  |         "tsutils": "^3.21.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "lru-cache": { | ||||||
|  |           "version": "6.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||||
|  |           "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "yallist": "^4.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "semver": { | ||||||
|  |           "version": "7.3.8", | ||||||
|  |           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||||
|  |           "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "lru-cache": "^6.0.0" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@typescript-eslint/utils": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/json-schema": "^7.0.9", | ||||||
|  |         "@types/semver": "^7.3.12", | ||||||
|  |         "@typescript-eslint/scope-manager": "5.54.0", | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "@typescript-eslint/typescript-estree": "5.54.0", | ||||||
|  |         "eslint-scope": "^5.1.1", | ||||||
|  |         "eslint-utils": "^3.0.0", | ||||||
|  |         "semver": "^7.3.7" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/semver": { | ||||||
|  |           "version": "7.3.13", | ||||||
|  |           "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", | ||||||
|  |           "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "lru-cache": { | ||||||
|  |           "version": "6.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||||||
|  |           "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "yallist": "^4.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "semver": { | ||||||
|  |           "version": "7.3.8", | ||||||
|  |           "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", | ||||||
|  |           "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "lru-cache": "^6.0.0" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@typescript-eslint/visitor-keys": { | ||||||
|  |       "version": "5.54.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", | ||||||
|  |       "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@typescript-eslint/types": "5.54.0", | ||||||
|  |         "eslint-visitor-keys": "^3.3.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@vercel/ncc": { |     "@vercel/ncc": { | ||||||
|       "version": "0.33.4", |       "version": "0.33.4", | ||||||
|       "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.33.4.tgz", |       "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.33.4.tgz", | ||||||
| @ -6108,9 +7602,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "acorn": { |     "acorn": { | ||||||
|       "version": "8.7.0", |       "version": "8.8.2", | ||||||
|       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", |       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", | ||||||
|       "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", |       "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "acorn-globals": { |     "acorn-globals": { | ||||||
| @ -6131,6 +7625,13 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "acorn-jsx": { | ||||||
|  |       "version": "5.3.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", | ||||||
|  |       "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": {} | ||||||
|  |     }, | ||||||
|     "acorn-walk": { |     "acorn-walk": { | ||||||
|       "version": "7.2.0", |       "version": "7.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", |       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", | ||||||
| @ -6146,6 +7647,18 @@ | |||||||
|         "debug": "4" |         "debug": "4" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "ajv": { | ||||||
|  |       "version": "6.12.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", | ||||||
|  |       "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "fast-deep-equal": "^3.1.1", | ||||||
|  |         "fast-json-stable-stringify": "^2.0.0", | ||||||
|  |         "json-schema-traverse": "^0.4.1", | ||||||
|  |         "uri-js": "^4.2.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "ansi-escapes": { |     "ansi-escapes": { | ||||||
|       "version": "4.3.2", |       "version": "4.3.2", | ||||||
|       "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", |       "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", | ||||||
| @ -6189,6 +7702,12 @@ | |||||||
|         "sprintf-js": "~1.0.2" |         "sprintf-js": "~1.0.2" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "array-union": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", | ||||||
|  |       "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "assertion-error": { |     "assertion-error": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", | ||||||
| @ -6601,6 +8120,24 @@ | |||||||
|       "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", |       "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "dir-glob": { | ||||||
|  |       "version": "3.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", | ||||||
|  |       "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "path-type": "^4.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "doctrine": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", | ||||||
|  |       "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "esutils": "^2.0.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "domexception": { |     "domexception": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", | ||||||
| @ -6670,12 +8207,270 @@ | |||||||
|         "source-map": "~0.6.1" |         "source-map": "~0.6.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "eslint": { | ||||||
|  |       "version": "8.35.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", | ||||||
|  |       "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@eslint/eslintrc": "^2.0.0", | ||||||
|  |         "@eslint/js": "8.35.0", | ||||||
|  |         "@humanwhocodes/config-array": "^0.11.8", | ||||||
|  |         "@humanwhocodes/module-importer": "^1.0.1", | ||||||
|  |         "@nodelib/fs.walk": "^1.2.8", | ||||||
|  |         "ajv": "^6.10.0", | ||||||
|  |         "chalk": "^4.0.0", | ||||||
|  |         "cross-spawn": "^7.0.2", | ||||||
|  |         "debug": "^4.3.2", | ||||||
|  |         "doctrine": "^3.0.0", | ||||||
|  |         "escape-string-regexp": "^4.0.0", | ||||||
|  |         "eslint-scope": "^7.1.1", | ||||||
|  |         "eslint-utils": "^3.0.0", | ||||||
|  |         "eslint-visitor-keys": "^3.3.0", | ||||||
|  |         "espree": "^9.4.0", | ||||||
|  |         "esquery": "^1.4.2", | ||||||
|  |         "esutils": "^2.0.2", | ||||||
|  |         "fast-deep-equal": "^3.1.3", | ||||||
|  |         "file-entry-cache": "^6.0.1", | ||||||
|  |         "find-up": "^5.0.0", | ||||||
|  |         "glob-parent": "^6.0.2", | ||||||
|  |         "globals": "^13.19.0", | ||||||
|  |         "grapheme-splitter": "^1.0.4", | ||||||
|  |         "ignore": "^5.2.0", | ||||||
|  |         "import-fresh": "^3.0.0", | ||||||
|  |         "imurmurhash": "^0.1.4", | ||||||
|  |         "is-glob": "^4.0.0", | ||||||
|  |         "is-path-inside": "^3.0.3", | ||||||
|  |         "js-sdsl": "^4.1.4", | ||||||
|  |         "js-yaml": "^4.1.0", | ||||||
|  |         "json-stable-stringify-without-jsonify": "^1.0.1", | ||||||
|  |         "levn": "^0.4.1", | ||||||
|  |         "lodash.merge": "^4.6.2", | ||||||
|  |         "minimatch": "^3.1.2", | ||||||
|  |         "natural-compare": "^1.4.0", | ||||||
|  |         "optionator": "^0.9.1", | ||||||
|  |         "regexpp": "^3.2.0", | ||||||
|  |         "strip-ansi": "^6.0.1", | ||||||
|  |         "strip-json-comments": "^3.1.0", | ||||||
|  |         "text-table": "^0.2.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "argparse": { | ||||||
|  |           "version": "2.0.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", | ||||||
|  |           "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "escape-string-regexp": { | ||||||
|  |           "version": "4.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", | ||||||
|  |           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "eslint-scope": { | ||||||
|  |           "version": "7.1.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", | ||||||
|  |           "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "esrecurse": "^4.3.0", | ||||||
|  |             "estraverse": "^5.2.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "find-up": { | ||||||
|  |           "version": "5.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", | ||||||
|  |           "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "locate-path": "^6.0.0", | ||||||
|  |             "path-exists": "^4.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "globals": { | ||||||
|  |           "version": "13.20.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", | ||||||
|  |           "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "type-fest": "^0.20.2" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "js-yaml": { | ||||||
|  |           "version": "4.1.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", | ||||||
|  |           "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "argparse": "^2.0.1" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "levn": { | ||||||
|  |           "version": "0.4.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", | ||||||
|  |           "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "prelude-ls": "^1.2.1", | ||||||
|  |             "type-check": "~0.4.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "locate-path": { | ||||||
|  |           "version": "6.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", | ||||||
|  |           "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "p-locate": "^5.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "optionator": { | ||||||
|  |           "version": "0.9.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", | ||||||
|  |           "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "deep-is": "^0.1.3", | ||||||
|  |             "fast-levenshtein": "^2.0.6", | ||||||
|  |             "levn": "^0.4.1", | ||||||
|  |             "prelude-ls": "^1.2.1", | ||||||
|  |             "type-check": "^0.4.0", | ||||||
|  |             "word-wrap": "^1.2.3" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "p-limit": { | ||||||
|  |           "version": "3.1.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", | ||||||
|  |           "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "yocto-queue": "^0.1.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "p-locate": { | ||||||
|  |           "version": "5.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", | ||||||
|  |           "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "p-limit": "^3.0.2" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "prelude-ls": { | ||||||
|  |           "version": "1.2.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", | ||||||
|  |           "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "type-check": { | ||||||
|  |           "version": "0.4.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", | ||||||
|  |           "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "prelude-ls": "^1.2.1" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "type-fest": { | ||||||
|  |           "version": "0.20.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |           "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |           "dev": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "eslint-config-prettier": { | ||||||
|  |       "version": "8.6.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz", | ||||||
|  |       "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": {} | ||||||
|  |     }, | ||||||
|  |     "eslint-plugin-jest": { | ||||||
|  |       "version": "27.2.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz", | ||||||
|  |       "integrity": "sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@typescript-eslint/utils": "^5.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "eslint-scope": { | ||||||
|  |       "version": "5.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", | ||||||
|  |       "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "esrecurse": "^4.3.0", | ||||||
|  |         "estraverse": "^4.1.1" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "estraverse": { | ||||||
|  |           "version": "4.3.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", | ||||||
|  |           "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", | ||||||
|  |           "dev": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "eslint-utils": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", | ||||||
|  |       "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "eslint-visitor-keys": "^2.0.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "eslint-visitor-keys": { | ||||||
|  |           "version": "2.1.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", | ||||||
|  |           "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", | ||||||
|  |           "dev": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "eslint-visitor-keys": { | ||||||
|  |       "version": "3.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", | ||||||
|  |       "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "espree": { | ||||||
|  |       "version": "9.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", | ||||||
|  |       "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "acorn": "^8.8.0", | ||||||
|  |         "acorn-jsx": "^5.3.2", | ||||||
|  |         "eslint-visitor-keys": "^3.3.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "esprima": { |     "esprima": { | ||||||
|       "version": "4.0.1", |       "version": "4.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", |       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||||||
|       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", |       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "esquery": { | ||||||
|  |       "version": "1.4.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", | ||||||
|  |       "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "estraverse": "^5.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "esrecurse": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", | ||||||
|  |       "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "estraverse": "^5.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "estraverse": { |     "estraverse": { | ||||||
|       "version": "5.3.0", |       "version": "5.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", |       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", | ||||||
| @ -6733,6 +8528,36 @@ | |||||||
|         "jest-message-util": "^27.5.1" |         "jest-message-util": "^27.5.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "fast-deep-equal": { | ||||||
|  |       "version": "3.1.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", | ||||||
|  |       "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "fast-glob": { | ||||||
|  |       "version": "3.2.12", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", | ||||||
|  |       "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@nodelib/fs.stat": "^2.0.2", | ||||||
|  |         "@nodelib/fs.walk": "^1.2.3", | ||||||
|  |         "glob-parent": "^5.1.2", | ||||||
|  |         "merge2": "^1.3.0", | ||||||
|  |         "micromatch": "^4.0.4" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "glob-parent": { | ||||||
|  |           "version": "5.1.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||||||
|  |           "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "is-glob": "^4.0.1" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "fast-json-stable-stringify": { |     "fast-json-stable-stringify": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | ||||||
| @ -6745,6 +8570,15 @@ | |||||||
|       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", |       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "fastq": { | ||||||
|  |       "version": "1.15.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", | ||||||
|  |       "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "reusify": "^1.0.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "fb-watchman": { |     "fb-watchman": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", | ||||||
| @ -6754,6 +8588,15 @@ | |||||||
|         "bser": "2.1.1" |         "bser": "2.1.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "file-entry-cache": { | ||||||
|  |       "version": "6.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", | ||||||
|  |       "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "flat-cache": "^3.0.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "fill-range": { |     "fill-range": { | ||||||
|       "version": "7.0.1", |       "version": "7.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", |       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", | ||||||
| @ -6773,6 +8616,22 @@ | |||||||
|         "path-exists": "^4.0.0" |         "path-exists": "^4.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "flat-cache": { | ||||||
|  |       "version": "3.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", | ||||||
|  |       "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "flatted": "^3.1.0", | ||||||
|  |         "rimraf": "^3.0.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "flatted": { | ||||||
|  |       "version": "3.2.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", | ||||||
|  |       "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "form-data": { |     "form-data": { | ||||||
|       "version": "2.5.1", |       "version": "2.5.1", | ||||||
|       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", |       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", | ||||||
| @ -6857,18 +8716,47 @@ | |||||||
|         "path-is-absolute": "^1.0.0" |         "path-is-absolute": "^1.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "glob-parent": { | ||||||
|  |       "version": "6.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", | ||||||
|  |       "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "is-glob": "^4.0.3" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "globals": { |     "globals": { | ||||||
|       "version": "11.12.0", |       "version": "11.12.0", | ||||||
|       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", |       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", | ||||||
|       "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", |       "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "globby": { | ||||||
|  |       "version": "11.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", | ||||||
|  |       "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "array-union": "^2.1.0", | ||||||
|  |         "dir-glob": "^3.0.1", | ||||||
|  |         "fast-glob": "^3.2.9", | ||||||
|  |         "ignore": "^5.2.0", | ||||||
|  |         "merge2": "^1.4.1", | ||||||
|  |         "slash": "^3.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "graceful-fs": { |     "graceful-fs": { | ||||||
|       "version": "4.2.10", |       "version": "4.2.10", | ||||||
|       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", |       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", | ||||||
|       "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", |       "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "grapheme-splitter": { | ||||||
|  |       "version": "1.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", | ||||||
|  |       "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "has": { |     "has": { | ||||||
|       "version": "1.0.3", |       "version": "1.0.3", | ||||||
|       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", |       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||||||
| @ -6950,6 +8838,30 @@ | |||||||
|         "safer-buffer": ">= 2.1.2 < 3" |         "safer-buffer": ">= 2.1.2 < 3" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "ignore": { | ||||||
|  |       "version": "5.2.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", | ||||||
|  |       "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "import-fresh": { | ||||||
|  |       "version": "3.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", | ||||||
|  |       "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "parent-module": "^1.0.0", | ||||||
|  |         "resolve-from": "^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "resolve-from": { | ||||||
|  |           "version": "4.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", | ||||||
|  |           "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", | ||||||
|  |           "dev": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "import-local": { |     "import-local": { | ||||||
|       "version": "3.1.0", |       "version": "3.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", |       "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", | ||||||
| @ -7021,6 +8933,12 @@ | |||||||
|         "has-tostringtag": "^1.0.0" |         "has-tostringtag": "^1.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "is-extglob": { | ||||||
|  |       "version": "2.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", | ||||||
|  |       "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "is-fullwidth-code-point": { |     "is-fullwidth-code-point": { | ||||||
|       "version": "3.0.0", |       "version": "3.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", |       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||||||
| @ -7033,12 +8951,27 @@ | |||||||
|       "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", |       "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "is-glob": { | ||||||
|  |       "version": "4.0.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", | ||||||
|  |       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "is-extglob": "^2.1.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "is-number": { |     "is-number": { | ||||||
|       "version": "7.0.0", |       "version": "7.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", |       "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", | ||||||
|       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", |       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "is-path-inside": { | ||||||
|  |       "version": "3.0.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", | ||||||
|  |       "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "is-potential-custom-element-name": { |     "is-potential-custom-element-name": { | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", | ||||||
| @ -7614,6 +9547,12 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "js-sdsl": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", | ||||||
|  |       "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "js-tokens": { |     "js-tokens": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | ||||||
| @ -7701,6 +9640,18 @@ | |||||||
|       "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", |       "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "json-schema-traverse": { | ||||||
|  |       "version": "0.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||||||
|  |       "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "json-stable-stringify-without-jsonify": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "json-stringify-safe": { |     "json-stringify-safe": { | ||||||
|       "version": "5.0.1", |       "version": "5.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", |       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||||||
| @ -7762,6 +9713,12 @@ | |||||||
|       "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", |       "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "lodash.merge": { | ||||||
|  |       "version": "4.6.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", | ||||||
|  |       "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "loupe": { |     "loupe": { | ||||||
|       "version": "2.3.4", |       "version": "2.3.4", | ||||||
|       "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", |       "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", | ||||||
| @ -7807,6 +9764,12 @@ | |||||||
|       "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", |       "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "merge2": { | ||||||
|  |       "version": "1.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", | ||||||
|  |       "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "micromatch": { |     "micromatch": { | ||||||
|       "version": "4.0.5", |       "version": "4.0.5", | ||||||
|       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", |       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", | ||||||
| @ -7871,6 +9834,12 @@ | |||||||
|       "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", |       "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "natural-compare-lite": { | ||||||
|  |       "version": "1.4.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", | ||||||
|  |       "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "nock": { |     "nock": { | ||||||
|       "version": "10.0.6", |       "version": "10.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", |       "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", | ||||||
| @ -8036,6 +10005,15 @@ | |||||||
|       "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", |       "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "parent-module": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "callsites": "^3.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "parse-json": { |     "parse-json": { | ||||||
|       "version": "5.2.0", |       "version": "5.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", |       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", | ||||||
| @ -8078,6 +10056,12 @@ | |||||||
|       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", |       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "path-type": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "pathval": { |     "pathval": { | ||||||
|       "version": "1.1.1", |       "version": "1.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", |       "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", | ||||||
| @ -8118,9 +10102,9 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "prettier": { |     "prettier": { | ||||||
|       "version": "1.19.1", |       "version": "2.8.4", | ||||||
|       "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", |       "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", | ||||||
|       "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", |       "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "pretty-format": { |     "pretty-format": { | ||||||
| @ -8182,6 +10166,12 @@ | |||||||
|         "side-channel": "^1.0.4" |         "side-channel": "^1.0.4" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "queue-microtask": { | ||||||
|  |       "version": "1.2.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", | ||||||
|  |       "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "react-is": { |     "react-is": { | ||||||
|       "version": "17.0.2", |       "version": "17.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", |       "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", | ||||||
| @ -8198,6 +10188,12 @@ | |||||||
|         "define-properties": "^1.1.3" |         "define-properties": "^1.1.3" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "regexpp": { | ||||||
|  |       "version": "3.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", | ||||||
|  |       "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "require-directory": { |     "require-directory": { | ||||||
|       "version": "2.1.1", |       "version": "2.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", |       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | ||||||
| @ -8236,6 +10232,12 @@ | |||||||
|       "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", |       "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "reusify": { | ||||||
|  |       "version": "1.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", | ||||||
|  |       "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "rimraf": { |     "rimraf": { | ||||||
|       "version": "3.0.2", |       "version": "3.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", |       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", | ||||||
| @ -8245,6 +10247,15 @@ | |||||||
|         "glob": "^7.1.3" |         "glob": "^7.1.3" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "run-parallel": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "queue-microtask": "^1.2.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "safe-buffer": { |     "safe-buffer": { | ||||||
|       "version": "5.1.2", |       "version": "5.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", |       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||||||
| @ -8451,6 +10462,12 @@ | |||||||
|         "minimatch": "^3.0.4" |         "minimatch": "^3.0.4" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "text-table": { | ||||||
|  |       "version": "0.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", | ||||||
|  |       "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "throat": { |     "throat": { | ||||||
|       "version": "6.0.1", |       "version": "6.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", |       "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", | ||||||
| @ -8529,6 +10546,15 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", |       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", | ||||||
|       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" |       "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" | ||||||
|     }, |     }, | ||||||
|  |     "tsutils": { | ||||||
|  |       "version": "3.21.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", | ||||||
|  |       "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "tslib": "^1.8.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "tunnel": { |     "tunnel": { | ||||||
|       "version": "0.0.6", |       "version": "0.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", |       "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", | ||||||
| @ -8575,6 +10601,15 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", |       "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", | ||||||
|       "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" |       "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" | ||||||
|     }, |     }, | ||||||
|  |     "uri-js": { | ||||||
|  |       "version": "4.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", | ||||||
|  |       "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "punycode": "^2.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "uuid": { |     "uuid": { | ||||||
|       "version": "3.4.0", |       "version": "3.4.0", | ||||||
|       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", |       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||||||
| @ -8741,6 +10776,12 @@ | |||||||
|       "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", |       "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "yallist": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "yargs": { |     "yargs": { | ||||||
|       "version": "16.2.0", |       "version": "16.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", |       "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", | ||||||
| @ -8761,6 +10802,12 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", |       "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", | ||||||
|       "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", |       "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", | ||||||
|       "dev": true |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "yocto-queue": { | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", | ||||||
|  |       "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", | ||||||
|  |       "dev": true | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										16
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								package.json
									
									
									
									
									
								
							| @ -6,11 +6,12 @@ | |||||||
|   "main": "lib/setup-go.js", |   "main": "lib/setup-go.js", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "build": "tsc && ncc build -o dist/setup src/setup-go.ts && ncc build -o dist/cache-save src/cache-save.ts", |     "build": "tsc && ncc build -o dist/setup src/setup-go.ts && ncc build -o dist/cache-save src/cache-save.ts", | ||||||
|     "format": "prettier --write **/*.ts", |     "format": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write **/*.{ts,yml,yaml}", | ||||||
|     "format-check": "prettier --check **/*.ts", |     "format-check": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --check **/*.{ts,yml,yaml}", | ||||||
|     "lint": "echo \"Fake command that does nothing. It is used in reusable workflows\"", |     "lint": "eslint --config ./.eslintrc.js **/*.ts", | ||||||
|  |     "lint:fix": "eslint --config ./.eslintrc.js **/*.ts --fix", | ||||||
|     "test": "jest --coverage", |     "test": "jest --coverage", | ||||||
|     "pre-checkin": "npm run format && npm run build && npm test" |     "pre-checkin": "npm run format && npm run lint:fix && npm run build && npm test" | ||||||
|   }, |   }, | ||||||
|   "repository": { |   "repository": { | ||||||
|     "type": "git", |     "type": "git", | ||||||
| @ -37,11 +38,16 @@ | |||||||
|     "@types/jest": "^27.0.2", |     "@types/jest": "^27.0.2", | ||||||
|     "@types/node": "^16.11.25", |     "@types/node": "^16.11.25", | ||||||
|     "@types/semver": "^6.0.0", |     "@types/semver": "^6.0.0", | ||||||
|  |     "@typescript-eslint/eslint-plugin": "^5.54.0", | ||||||
|  |     "@typescript-eslint/parser": "^5.54.0", | ||||||
|     "@vercel/ncc": "^0.33.4", |     "@vercel/ncc": "^0.33.4", | ||||||
|  |     "eslint": "^8.35.0", | ||||||
|  |     "eslint-config-prettier": "^8.6.0", | ||||||
|  |     "eslint-plugin-jest": "^27.2.1", | ||||||
|     "jest": "^27.2.5", |     "jest": "^27.2.5", | ||||||
|     "jest-circus": "^27.2.5", |     "jest-circus": "^27.2.5", | ||||||
|     "nock": "^10.0.6", |     "nock": "^10.0.6", | ||||||
|     "prettier": "^1.17.1", |     "prettier": "^2.8.4", | ||||||
|     "ts-jest": "^27.0.5", |     "ts-jest": "^27.0.5", | ||||||
|     "typescript": "^4.3.3" |     "typescript": "^4.3.3" | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -48,7 +48,7 @@ export const restoreCache = async ( | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const findDependencyFile = (packageManager: PackageManagerInfo) => { | const findDependencyFile = (packageManager: PackageManagerInfo) => { | ||||||
|   let dependencyFile = packageManager.dependencyFilePattern; |   const dependencyFile = packageManager.dependencyFilePattern; | ||||||
|   const workspace = process.env.GITHUB_WORKSPACE!; |   const workspace = process.env.GITHUB_WORKSPACE!; | ||||||
|   const rootContent = fs.readdirSync(workspace); |   const rootContent = fs.readdirSync(workspace); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -35,7 +35,7 @@ export const getCacheDirectoryPath = async ( | |||||||
|   packageManagerInfo: PackageManagerInfo |   packageManagerInfo: PackageManagerInfo | ||||||
| ) => { | ) => { | ||||||
|   const pathList = await Promise.all( |   const pathList = await Promise.all( | ||||||
|     packageManagerInfo.cacheFolderCommandList.map(command => |     packageManagerInfo.cacheFolderCommandList.map(async command => | ||||||
|       getCommandOutput(command) |       getCommandOutput(command) | ||||||
|     ) |     ) | ||||||
|   ); |   ); | ||||||
|  | |||||||
| @ -37,7 +37,7 @@ export async function getGo( | |||||||
|   arch = os.arch() |   arch = os.arch() | ||||||
| ) { | ) { | ||||||
|   let manifest: tc.IToolRelease[] | undefined; |   let manifest: tc.IToolRelease[] | undefined; | ||||||
|   let osPlat: string = os.platform(); |   const osPlat: string = os.platform(); | ||||||
| 
 | 
 | ||||||
|   if ( |   if ( | ||||||
|     versionSpec === StableReleaseAlias.Stable || |     versionSpec === StableReleaseAlias.Stable || | ||||||
| @ -83,8 +83,7 @@ export async function getGo( | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // check cache
 |   // check cache
 | ||||||
|   let toolPath: string; |   const toolPath = tc.find('go', versionSpec, arch); | ||||||
|   toolPath = tc.find('go', versionSpec, arch); |  | ||||||
|   // If not found in cache, download
 |   // If not found in cache, download
 | ||||||
|   if (toolPath) { |   if (toolPath) { | ||||||
|     core.info(`Found in cache @ ${toolPath}`); |     core.info(`Found in cache @ ${toolPath}`); | ||||||
| @ -246,13 +245,12 @@ async function getInfoFromDist( | |||||||
|   versionSpec: string, |   versionSpec: string, | ||||||
|   arch: string |   arch: string | ||||||
| ): Promise<IGoVersionInfo | null> { | ): Promise<IGoVersionInfo | null> { | ||||||
|   let version: IGoVersion | undefined; |   const version: IGoVersion | undefined = await findMatch(versionSpec, arch); | ||||||
|   version = await findMatch(versionSpec, arch); |  | ||||||
|   if (!version) { |   if (!version) { | ||||||
|     return null; |     return null; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   let downloadUrl: string = `https://storage.googleapis.com/golang/${version.files[0].filename}`; |   const downloadUrl = `https://storage.googleapis.com/golang/${version.files[0].filename}`; | ||||||
| 
 | 
 | ||||||
|   return <IGoVersionInfo>{ |   return <IGoVersionInfo>{ | ||||||
|     type: 'dist', |     type: 'dist', | ||||||
| @ -282,8 +280,8 @@ export async function findMatch( | |||||||
| 
 | 
 | ||||||
|   let goFile: IGoVersionFile | undefined; |   let goFile: IGoVersionFile | undefined; | ||||||
|   for (let i = 0; i < candidates.length; i++) { |   for (let i = 0; i < candidates.length; i++) { | ||||||
|     let candidate: IGoVersion = candidates[i]; |     const candidate: IGoVersion = candidates[i]; | ||||||
|     let version = makeSemver(candidate.version); |     const version = makeSemver(candidate.version); | ||||||
| 
 | 
 | ||||||
|     core.debug(`check ${version} satisfies ${versionSpec}`); |     core.debug(`check ${version} satisfies ${versionSpec}`); | ||||||
|     if (semver.satisfies(version, versionSpec)) { |     if (semver.satisfies(version, versionSpec)) { | ||||||
| @ -331,9 +329,9 @@ export async function getVersionsDist( | |||||||
| export function makeSemver(version: string): string { | export function makeSemver(version: string): string { | ||||||
|   version = version.replace('go', ''); |   version = version.replace('go', ''); | ||||||
|   version = version.replace('beta', '-beta.').replace('rc', '-rc.'); |   version = version.replace('beta', '-beta.').replace('rc', '-rc.'); | ||||||
|   let parts = version.split('-'); |   const parts = version.split('-'); | ||||||
| 
 | 
 | ||||||
|   let semVersion = semver.coerce(parts[0])?.version; |   const semVersion = semver.coerce(parts[0])?.version; | ||||||
|   if (!semVersion) { |   if (!semVersion) { | ||||||
|     throw new Error( |     throw new Error( | ||||||
|       `The version: ${version} can't be changed to SemVer notation` |       `The version: ${version} can't be changed to SemVer notation` | ||||||
| @ -369,9 +367,9 @@ export function parseGoVersionFile(versionFilePath: string): string { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| async function resolveStableVersionDist(versionSpec: string, arch: string) { | async function resolveStableVersionDist(versionSpec: string, arch: string) { | ||||||
|   let archFilter = sys.getArch(arch); |   const archFilter = sys.getArch(arch); | ||||||
|   let platFilter = sys.getPlatform(); |   const platFilter = sys.getPlatform(); | ||||||
|   const dlUrl: string = 'https://golang.org/dl/?mode=json&include=all'; |   const dlUrl = 'https://golang.org/dl/?mode=json&include=all'; | ||||||
|   const candidates: IGoVersion[] | null = await module.exports.getVersionsDist( |   const candidates: IGoVersion[] | null = await module.exports.getVersionsDist( | ||||||
|     dlUrl |     dlUrl | ||||||
|   ); |   ); | ||||||
|  | |||||||
							
								
								
									
										20
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								src/main.ts
									
									
									
									
									
								
							| @ -27,8 +27,8 @@ export async function run() { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (versionSpec) { |     if (versionSpec) { | ||||||
|       let token = core.getInput('token'); |       const token = core.getInput('token'); | ||||||
|       let auth = !token ? undefined : `token ${token}`; |       const auth = !token ? undefined : `token ${token}`; | ||||||
| 
 | 
 | ||||||
|       const checkLatest = core.getBooleanInput('check-latest'); |       const checkLatest = core.getBooleanInput('check-latest'); | ||||||
| 
 | 
 | ||||||
| @ -51,13 +51,13 @@ export async function run() { | |||||||
|         core.exportVariable('GOROOT', installDir); |         core.exportVariable('GOROOT', installDir); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       let added = await addBinToPath(); |       const added = await addBinToPath(); | ||||||
|       core.debug(`add bin ${added}`); |       core.debug(`add bin ${added}`); | ||||||
|       core.info(`Successfully set up Go version ${versionSpec}`); |       core.info(`Successfully set up Go version ${versionSpec}`); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     let goPath = await io.which('go'); |     const goPath = await io.which('go'); | ||||||
|     let goVersion = (cp.execSync(`${goPath} version`) || '').toString(); |     const goVersion = (cp.execSync(`${goPath} version`) || '').toString(); | ||||||
| 
 | 
 | ||||||
|     if (cache && isCacheFeatureAvailable()) { |     if (cache && isCacheFeatureAvailable()) { | ||||||
|       const packageManager = 'default'; |       const packageManager = 'default'; | ||||||
| @ -79,7 +79,7 @@ export async function run() { | |||||||
|     core.setOutput('go-version', parseGoVersion(goVersion)); |     core.setOutput('go-version', parseGoVersion(goVersion)); | ||||||
| 
 | 
 | ||||||
|     core.startGroup('go env'); |     core.startGroup('go env'); | ||||||
|     let goEnv = (cp.execSync(`${goPath} env`) || '').toString(); |     const goEnv = (cp.execSync(`${goPath} env`) || '').toString(); | ||||||
|     core.info(goEnv); |     core.info(goEnv); | ||||||
|     core.endGroup(); |     core.endGroup(); | ||||||
|   } catch (error) { |   } catch (error) { | ||||||
| @ -89,16 +89,16 @@ export async function run() { | |||||||
| 
 | 
 | ||||||
| export async function addBinToPath(): Promise<boolean> { | export async function addBinToPath(): Promise<boolean> { | ||||||
|   let added = false; |   let added = false; | ||||||
|   let g = await io.which('go'); |   const g = await io.which('go'); | ||||||
|   core.debug(`which go :${g}:`); |   core.debug(`which go :${g}:`); | ||||||
|   if (!g) { |   if (!g) { | ||||||
|     core.debug('go not in the path'); |     core.debug('go not in the path'); | ||||||
|     return added; |     return added; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   let buf = cp.execSync('go env GOPATH'); |   const buf = cp.execSync('go env GOPATH'); | ||||||
|   if (buf.length > 1) { |   if (buf.length > 1) { | ||||||
|     let gp = buf.toString().trim(); |     const gp = buf.toString().trim(); | ||||||
|     core.debug(`go env GOPATH :${gp}:`); |     core.debug(`go env GOPATH :${gp}:`); | ||||||
|     if (!fs.existsSync(gp)) { |     if (!fs.existsSync(gp)) { | ||||||
|       // some of the hosted images have go install but not profile dir
 |       // some of the hosted images have go install but not profile dir
 | ||||||
| @ -106,7 +106,7 @@ export async function addBinToPath(): Promise<boolean> { | |||||||
|       await io.mkdirP(gp); |       await io.mkdirP(gp); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     let bp = path.join(gp, 'bin'); |     const bp = path.join(gp, 'bin'); | ||||||
|     if (!fs.existsSync(bp)) { |     if (!fs.existsSync(bp)) { | ||||||
|       core.debug(`creating ${bp}`); |       core.debug(`creating ${bp}`); | ||||||
|       await io.mkdirP(bp); |       await io.mkdirP(bp); | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| const os = require('os'); | import os from 'os'; | ||||||
| 
 | 
 | ||||||
| export function getPlatform(): string { | export function getPlatform(): string { | ||||||
|   // darwin and linux match already
 |   // darwin and linux match already
 | ||||||
|  | |||||||
| @ -46,6 +46,7 @@ | |||||||
|     // "types": [],                           /* Type declaration files to be included in compilation. */ |     // "types": [],                           /* Type declaration files to be included in compilation. */ | ||||||
|     // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ |     // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ | ||||||
|     "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ |     "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ | ||||||
|  |     "resolveJsonModule": true,                /* Allows importing modules with a '.json' extension, which is a common practice in node projects. */ | ||||||
|     "sourceMap": true, |     "sourceMap": true, | ||||||
|     // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */ |     // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */ | ||||||
|     // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */ |     // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */ | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user