mirror of
				https://github.com/docker/login-action.git
				synced 2025-10-30 22:00:53 +00:00 
			
		
		
		
	switch to actions-toolkit implementation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								3da7dc6e2b
							
						
					
				
			
			
				commit
				
					
						af023e8f62
					
				
			
		
					 10 changed files with 272 additions and 88 deletions
				
			
		|  | @ -2,7 +2,7 @@ | |||
|   "env": { | ||||
|     "node": true, | ||||
|     "es2021": true, | ||||
|     "jest/globals": true | ||||
|     "jest": true | ||||
|   }, | ||||
|   "extends": [ | ||||
|     "eslint:recommended", | ||||
|  |  | |||
							
								
								
									
										5
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,11 +1,6 @@ | |||
| /.dev | ||||
| node_modules/ | ||||
| lib | ||||
| 
 | ||||
| # Jetbrains | ||||
| /.idea | ||||
| /*.iml | ||||
| 
 | ||||
| # Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore | ||||
| # Logs | ||||
| logs | ||||
|  |  | |||
|  | @ -1,19 +1,14 @@ | |||
| import {expect, jest, test} from '@jest/globals'; | ||||
| import osm = require('os'); | ||||
| 
 | ||||
| import {run} from '../src/main'; | ||||
| import {main} from '../src/main'; | ||||
| import * as docker from '../src/docker'; | ||||
| import * as stateHelper from '../src/state-helper'; | ||||
| 
 | ||||
| import * as core from '@actions/core'; | ||||
| 
 | ||||
| test('errors without username and password', async () => { | ||||
|   jest.spyOn(osm, 'platform').mockImplementation(() => 'linux'); | ||||
|   process.env['INPUT_LOGOUT'] = 'true'; // default value
 | ||||
|   const coreSpy = jest.spyOn(core, 'setFailed'); | ||||
| 
 | ||||
|   await run(); | ||||
|   expect(coreSpy).toHaveBeenCalledWith('Username and password required'); | ||||
|   await expect(main()).rejects.toThrowError(new Error('Username and password required')); | ||||
| }); | ||||
| 
 | ||||
| test('successful with username and password', async () => { | ||||
|  | @ -34,7 +29,7 @@ test('successful with username and password', async () => { | |||
|   const logout = false; | ||||
|   process.env['INPUT_LOGOUT'] = String(logout); | ||||
| 
 | ||||
|   await run(); | ||||
|   await main(); | ||||
| 
 | ||||
|   expect(setRegistrySpy).toHaveBeenCalledWith(''); | ||||
|   expect(setLogoutSpy).toHaveBeenCalledWith(logout); | ||||
|  | @ -63,7 +58,7 @@ test('calls docker login', async () => { | |||
|   const logout = true; | ||||
|   process.env['INPUT_LOGOUT'] = String(logout); | ||||
| 
 | ||||
|   await run(); | ||||
|   await main(); | ||||
| 
 | ||||
|   expect(setRegistrySpy).toHaveBeenCalledWith(registry); | ||||
|   expect(setLogoutSpy).toHaveBeenCalledWith(logout); | ||||
|  |  | |||
|  | @ -1,10 +1,29 @@ | |||
| import fs from 'fs'; | ||||
| import os from 'os'; | ||||
| import path from 'path'; | ||||
| 
 | ||||
| const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-login-action-')).split(path.sep).join(path.posix.sep); | ||||
| 
 | ||||
| process.env = Object.assign({}, process.env, { | ||||
|   TEMP: tmpDir, | ||||
|   GITHUB_REPOSITORY: 'docker/login-action', | ||||
|   RUNNER_TEMP: path.join(tmpDir, 'runner-temp').split(path.sep).join(path.posix.sep), | ||||
|   RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache').split(path.sep).join(path.posix.sep) | ||||
| }) as { | ||||
|   [key: string]: string; | ||||
| }; | ||||
| 
 | ||||
| module.exports = { | ||||
|   clearMocks: true, | ||||
|   moduleFileExtensions: ['js', 'ts'], | ||||
|   setupFiles: ["dotenv/config"], | ||||
|   testMatch: ['**/*.test.ts'], | ||||
|   transform: { | ||||
|     '^.+\\.ts$': 'ts-jest' | ||||
|   }, | ||||
|   moduleNameMapper: { | ||||
|     '^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs' | ||||
|   }, | ||||
|   collectCoverageFrom: ['src/**/{!(main.ts),}.ts'], | ||||
|   coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__tests__/'], | ||||
|   verbose: true | ||||
| } | ||||
| }; | ||||
|  |  | |||
|  | @ -28,10 +28,9 @@ | |||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "@actions/core": "^1.10.0", | ||||
|     "@actions/exec": "^1.1.1", | ||||
|     "@actions/io": "^1.1.2", | ||||
|     "@aws-sdk/client-ecr": "^3.231.0", | ||||
|     "@aws-sdk/client-ecr-public": "^3.231.0", | ||||
|     "@docker/actions-toolkit": "^0.1.0-beta.14", | ||||
|     "http-proxy-agent": "^5.0.0", | ||||
|     "https-proxy-agent": "^5.0.1" | ||||
|   }, | ||||
|  | @ -40,7 +39,6 @@ | |||
|     "@typescript-eslint/eslint-plugin": "^5.14.0", | ||||
|     "@typescript-eslint/parser": "^5.14.0", | ||||
|     "@vercel/ncc": "^0.33.3", | ||||
|     "dotenv": "^16.0.0", | ||||
|     "eslint": "^8.11.0", | ||||
|     "eslint-config-prettier": "^8.5.0", | ||||
|     "eslint-plugin-jest": "^26.1.1", | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| import * as aws from './aws'; | ||||
| import * as core from '@actions/core'; | ||||
| import * as exec from '@actions/exec'; | ||||
| import {Exec} from '@docker/actions-toolkit/lib/exec'; | ||||
| 
 | ||||
| export async function login(registry: string, username: string, password: string, ecr: string): Promise<void> { | ||||
|   if (/true/i.test(ecr) || (ecr == 'auto' && aws.isECR(registry))) { | ||||
|  | @ -11,15 +11,13 @@ export async function login(registry: string, username: string, password: string | |||
| } | ||||
| 
 | ||||
| export async function logout(registry: string): Promise<void> { | ||||
|   await exec | ||||
|     .getExecOutput('docker', ['logout', registry], { | ||||
|       ignoreReturnCode: true | ||||
|     }) | ||||
|     .then(res => { | ||||
|       if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|         core.warning(res.stderr.trim()); | ||||
|       } | ||||
|     }); | ||||
|   await Exec.getExecOutput('docker', ['logout', registry], { | ||||
|     ignoreReturnCode: true | ||||
|   }).then(res => { | ||||
|     if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|       core.warning(res.stderr.trim()); | ||||
|     } | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| export async function loginStandard(registry: string, username: string, password: string): Promise<void> { | ||||
|  | @ -36,18 +34,16 @@ export async function loginStandard(registry: string, username: string, password | |||
|   } else { | ||||
|     core.info(`Logging into Docker Hub...`); | ||||
|   } | ||||
|   await exec | ||||
|     .getExecOutput('docker', loginArgs, { | ||||
|       ignoreReturnCode: true, | ||||
|       silent: true, | ||||
|       input: Buffer.from(password) | ||||
|     }) | ||||
|     .then(res => { | ||||
|       if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|         throw new Error(res.stderr.trim()); | ||||
|       } | ||||
|       core.info(`Login Succeeded!`); | ||||
|     }); | ||||
|   await Exec.getExecOutput('docker', loginArgs, { | ||||
|     ignoreReturnCode: true, | ||||
|     silent: true, | ||||
|     input: Buffer.from(password) | ||||
|   }).then(res => { | ||||
|     if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|       throw new Error(res.stderr.trim()); | ||||
|     } | ||||
|     core.info(`Login Succeeded!`); | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| export async function loginECR(registry: string, username: string, password: string): Promise<void> { | ||||
|  | @ -55,17 +51,15 @@ export async function loginECR(registry: string, username: string, password: str | |||
|   const regDatas = await aws.getRegistriesData(registry, username, password); | ||||
|   for (const regData of regDatas) { | ||||
|     core.info(`Logging into ${regData.registry}...`); | ||||
|     await exec | ||||
|       .getExecOutput('docker', ['login', '--password-stdin', '--username', regData.username, regData.registry], { | ||||
|         ignoreReturnCode: true, | ||||
|         silent: true, | ||||
|         input: Buffer.from(regData.password) | ||||
|       }) | ||||
|       .then(res => { | ||||
|         if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|           throw new Error(res.stderr.trim()); | ||||
|         } | ||||
|         core.info('Login Succeeded!'); | ||||
|       }); | ||||
|     await Exec.getExecOutput('docker', ['login', '--password-stdin', '--username', regData.username, regData.registry], { | ||||
|       ignoreReturnCode: true, | ||||
|       silent: true, | ||||
|       input: Buffer.from(regData.password) | ||||
|     }).then(res => { | ||||
|       if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|         throw new Error(res.stderr.trim()); | ||||
|       } | ||||
|       core.info('Login Succeeded!'); | ||||
|     }); | ||||
|   } | ||||
| } | ||||
|  |  | |||
							
								
								
									
										25
									
								
								src/main.ts
									
										
									
									
									
								
							
							
						
						
									
										25
									
								
								src/main.ts
									
										
									
									
									
								
							|  | @ -1,28 +1,21 @@ | |||
| import * as core from '@actions/core'; | ||||
| import * as actionsToolkit from '@docker/actions-toolkit'; | ||||
| 
 | ||||
| import * as context from './context'; | ||||
| import * as docker from './docker'; | ||||
| import * as stateHelper from './state-helper'; | ||||
| 
 | ||||
| export async function run(): Promise<void> { | ||||
|   try { | ||||
|     const input: context.Inputs = context.getInputs(); | ||||
|     stateHelper.setRegistry(input.registry); | ||||
|     stateHelper.setLogout(input.logout); | ||||
|     await docker.login(input.registry, input.username, input.password, input.ecr); | ||||
|   } catch (error) { | ||||
|     core.setFailed(error.message); | ||||
|   } | ||||
| export async function main(): Promise<void> { | ||||
|   const input: context.Inputs = context.getInputs(); | ||||
|   stateHelper.setRegistry(input.registry); | ||||
|   stateHelper.setLogout(input.logout); | ||||
|   await docker.login(input.registry, input.username, input.password, input.ecr); | ||||
| } | ||||
| 
 | ||||
| async function logout(): Promise<void> { | ||||
| async function post(): Promise<void> { | ||||
|   if (!stateHelper.logout) { | ||||
|     return; | ||||
|   } | ||||
|   await docker.logout(stateHelper.registry); | ||||
| } | ||||
| 
 | ||||
| if (!stateHelper.IsPost) { | ||||
|   run(); | ||||
| } else { | ||||
|   logout(); | ||||
| } | ||||
| actionsToolkit.run(main, post); | ||||
|  |  | |||
|  | @ -1,6 +1,5 @@ | |||
| import * as core from '@actions/core'; | ||||
| 
 | ||||
| export const IsPost = !!process.env['STATE_isPost']; | ||||
| export const registry = process.env['STATE_registry'] || ''; | ||||
| export const logout = /true/i.test(process.env['STATE_logout'] || ''); | ||||
| 
 | ||||
|  | @ -11,7 +10,3 @@ export function setRegistry(registry: string) { | |||
| export function setLogout(logout: boolean) { | ||||
|   core.saveState('logout', logout); | ||||
| } | ||||
| 
 | ||||
| if (!IsPost) { | ||||
|   core.saveState('isPost', 'true'); | ||||
| } | ||||
|  |  | |||
|  | @ -1,19 +1,21 @@ | |||
| { | ||||
|   "compilerOptions": { | ||||
|     "esModuleInterop": true, | ||||
|     "target": "es6", | ||||
|     "module": "commonjs", | ||||
|     "strict": true, | ||||
|     "newLine": "lf", | ||||
|     "outDir": "./lib", | ||||
|     "rootDir": "./src", | ||||
|     "esModuleInterop": true, | ||||
|     "forceConsistentCasingInFileNames": true, | ||||
|     "strict": true, | ||||
|     "noImplicitAny": false, | ||||
|     "resolveJsonModule": true, | ||||
|     "useUnknownInCatchVariables": false, | ||||
|   }, | ||||
|   "exclude": [ | ||||
|     "./__tests__/**/*", | ||||
|     "./lib/**/*", | ||||
|     "node_modules", | ||||
|     "**/*.test.ts", | ||||
|     "jest.config.ts" | ||||
|   ] | ||||
| } | ||||
|  |  | |||
							
								
								
									
										213
									
								
								yarn.lock
									
										
									
									
									
								
							
							
						
						
									
										213
									
								
								yarn.lock
									
										
									
									
									
								
							|  | @ -2,7 +2,7 @@ | |||
| # yarn lockfile v1 | ||||
| 
 | ||||
| 
 | ||||
| "@actions/core@^1.10.0": | ||||
| "@actions/core@^1.10.0", "@actions/core@^1.2.6": | ||||
|   version "1.10.0" | ||||
|   resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.0.tgz#44551c3c71163949a2f06e94d9ca2157a0cfac4f" | ||||
|   integrity sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug== | ||||
|  | @ -10,13 +10,23 @@ | |||
|     "@actions/http-client" "^2.0.1" | ||||
|     uuid "^8.3.2" | ||||
| 
 | ||||
| "@actions/exec@^1.1.1": | ||||
| "@actions/exec@^1.0.0", "@actions/exec@^1.1.1": | ||||
|   version "1.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.1.tgz#2e43f28c54022537172819a7cf886c844221a611" | ||||
|   integrity sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w== | ||||
|   dependencies: | ||||
|     "@actions/io" "^1.0.1" | ||||
| 
 | ||||
| "@actions/github@^5.1.1": | ||||
|   version "5.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/@actions/github/-/github-5.1.1.tgz#40b9b9e1323a5efcf4ff7dadd33d8ea51651bbcb" | ||||
|   integrity sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g== | ||||
|   dependencies: | ||||
|     "@actions/http-client" "^2.0.1" | ||||
|     "@octokit/core" "^3.6.0" | ||||
|     "@octokit/plugin-paginate-rest" "^2.17.0" | ||||
|     "@octokit/plugin-rest-endpoint-methods" "^5.13.0" | ||||
| 
 | ||||
| "@actions/http-client@^2.0.1": | ||||
|   version "2.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c" | ||||
|  | @ -24,11 +34,23 @@ | |||
|   dependencies: | ||||
|     tunnel "^0.0.6" | ||||
| 
 | ||||
| "@actions/io@^1.0.1", "@actions/io@^1.1.2": | ||||
| "@actions/io@^1.0.1", "@actions/io@^1.1.1", "@actions/io@^1.1.2": | ||||
|   version "1.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.2.tgz#766ac09674a289ce0f1550ffe0a6eac9261a8ea9" | ||||
|   integrity sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw== | ||||
| 
 | ||||
| "@actions/tool-cache@^2.0.1": | ||||
|   version "2.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/@actions/tool-cache/-/tool-cache-2.0.1.tgz#8a649b9c07838d9d750c9864814e66a7660ab720" | ||||
|   integrity sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA== | ||||
|   dependencies: | ||||
|     "@actions/core" "^1.2.6" | ||||
|     "@actions/exec" "^1.0.0" | ||||
|     "@actions/http-client" "^2.0.1" | ||||
|     "@actions/io" "^1.1.1" | ||||
|     semver "^6.1.0" | ||||
|     uuid "^3.3.2" | ||||
| 
 | ||||
| "@ampproject/remapping@^2.1.0": | ||||
|   version "2.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" | ||||
|  | @ -1301,6 +1323,22 @@ | |||
|   dependencies: | ||||
|     "@cspotcode/source-map-consumer" "0.8.0" | ||||
| 
 | ||||
| "@docker/actions-toolkit@^0.1.0-beta.14": | ||||
|   version "0.1.0-beta.14" | ||||
|   resolved "https://registry.yarnpkg.com/@docker/actions-toolkit/-/actions-toolkit-0.1.0-beta.14.tgz#82fa8a6b9802a7f770fde3ddcef1cf591739a80b" | ||||
|   integrity sha512-N+aqiO0E2ygoaBORN8fx4K7j/CzJ2nCSgOewtDm0gdzrch8qZmTU14e3oNAbZlP8Q34Lk45KKefm5wDfLipRqg== | ||||
|   dependencies: | ||||
|     "@actions/core" "^1.10.0" | ||||
|     "@actions/exec" "^1.1.1" | ||||
|     "@actions/github" "^5.1.1" | ||||
|     "@actions/http-client" "^2.0.1" | ||||
|     "@actions/io" "^1.1.2" | ||||
|     "@actions/tool-cache" "^2.0.1" | ||||
|     csv-parse "^5.3.5" | ||||
|     jwt-decode "^3.1.2" | ||||
|     semver "^7.3.8" | ||||
|     tmp "^0.2.1" | ||||
| 
 | ||||
| "@eslint/eslintrc@^1.2.1": | ||||
|   version "1.2.1" | ||||
|   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" | ||||
|  | @ -1554,6 +1592,92 @@ | |||
|     "@nodelib/fs.scandir" "2.1.5" | ||||
|     fastq "^1.6.0" | ||||
| 
 | ||||
| "@octokit/auth-token@^2.4.4": | ||||
|   version "2.5.0" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" | ||||
|   integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== | ||||
|   dependencies: | ||||
|     "@octokit/types" "^6.0.3" | ||||
| 
 | ||||
| "@octokit/core@^3.6.0": | ||||
|   version "3.6.0" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" | ||||
|   integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== | ||||
|   dependencies: | ||||
|     "@octokit/auth-token" "^2.4.4" | ||||
|     "@octokit/graphql" "^4.5.8" | ||||
|     "@octokit/request" "^5.6.3" | ||||
|     "@octokit/request-error" "^2.0.5" | ||||
|     "@octokit/types" "^6.0.3" | ||||
|     before-after-hook "^2.2.0" | ||||
|     universal-user-agent "^6.0.0" | ||||
| 
 | ||||
| "@octokit/endpoint@^6.0.1": | ||||
|   version "6.0.12" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" | ||||
|   integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== | ||||
|   dependencies: | ||||
|     "@octokit/types" "^6.0.3" | ||||
|     is-plain-object "^5.0.0" | ||||
|     universal-user-agent "^6.0.0" | ||||
| 
 | ||||
| "@octokit/graphql@^4.5.8": | ||||
|   version "4.8.0" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" | ||||
|   integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== | ||||
|   dependencies: | ||||
|     "@octokit/request" "^5.6.0" | ||||
|     "@octokit/types" "^6.0.3" | ||||
|     universal-user-agent "^6.0.0" | ||||
| 
 | ||||
| "@octokit/openapi-types@^12.11.0": | ||||
|   version "12.11.0" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0" | ||||
|   integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== | ||||
| 
 | ||||
| "@octokit/plugin-paginate-rest@^2.17.0": | ||||
|   version "2.21.3" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz#7f12532797775640dbb8224da577da7dc210c87e" | ||||
|   integrity sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw== | ||||
|   dependencies: | ||||
|     "@octokit/types" "^6.40.0" | ||||
| 
 | ||||
| "@octokit/plugin-rest-endpoint-methods@^5.13.0": | ||||
|   version "5.16.2" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz#7ee8bf586df97dd6868cf68f641354e908c25342" | ||||
|   integrity sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw== | ||||
|   dependencies: | ||||
|     "@octokit/types" "^6.39.0" | ||||
|     deprecation "^2.3.1" | ||||
| 
 | ||||
| "@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": | ||||
|   version "2.1.0" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" | ||||
|   integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== | ||||
|   dependencies: | ||||
|     "@octokit/types" "^6.0.3" | ||||
|     deprecation "^2.0.0" | ||||
|     once "^1.4.0" | ||||
| 
 | ||||
| "@octokit/request@^5.6.0", "@octokit/request@^5.6.3": | ||||
|   version "5.6.3" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" | ||||
|   integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== | ||||
|   dependencies: | ||||
|     "@octokit/endpoint" "^6.0.1" | ||||
|     "@octokit/request-error" "^2.1.0" | ||||
|     "@octokit/types" "^6.16.1" | ||||
|     is-plain-object "^5.0.0" | ||||
|     node-fetch "^2.6.7" | ||||
|     universal-user-agent "^6.0.0" | ||||
| 
 | ||||
| "@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.39.0", "@octokit/types@^6.40.0": | ||||
|   version "6.41.0" | ||||
|   resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" | ||||
|   integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== | ||||
|   dependencies: | ||||
|     "@octokit/openapi-types" "^12.11.0" | ||||
| 
 | ||||
| "@sinonjs/commons@^1.7.0": | ||||
|   version "1.8.3" | ||||
|   resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" | ||||
|  | @ -1982,6 +2106,11 @@ balanced-match@^1.0.0: | |||
|   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" | ||||
|   integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== | ||||
| 
 | ||||
| before-after-hook@^2.2.0: | ||||
|   version "2.2.3" | ||||
|   resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" | ||||
|   integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== | ||||
| 
 | ||||
| bowser@^2.11.0: | ||||
|   version "2.11.0" | ||||
|   resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" | ||||
|  | @ -2203,6 +2332,11 @@ cssstyle@^2.3.0: | |||
|   dependencies: | ||||
|     cssom "~0.3.6" | ||||
| 
 | ||||
| csv-parse@^5.3.5: | ||||
|   version "5.3.5" | ||||
|   resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.3.5.tgz#9924bbba9f7056122f06b7af18edc1a7f022ce99" | ||||
|   integrity sha512-8O5KTIRtwmtD3+EVfW6BCgbwZqJbhTYsQZry12F1TP5RUp0sD9tp1UnCWic3n0mLOhzeocYaCZNYxOGSg3dmmQ== | ||||
| 
 | ||||
| data-urls@^2.0.0: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" | ||||
|  | @ -2249,6 +2383,11 @@ delayed-stream@~1.0.0: | |||
|   resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" | ||||
|   integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= | ||||
| 
 | ||||
| deprecation@^2.0.0, deprecation@^2.3.1: | ||||
|   version "2.3.1" | ||||
|   resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" | ||||
|   integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== | ||||
| 
 | ||||
| detect-newline@^3.0.0: | ||||
|   version "3.1.0" | ||||
|   resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" | ||||
|  | @ -2285,11 +2424,6 @@ domexception@^2.0.1: | |||
|   dependencies: | ||||
|     webidl-conversions "^5.0.0" | ||||
| 
 | ||||
| dotenv@^16.0.0: | ||||
|   version "16.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.0.tgz#c619001253be89ebb638d027b609c75c26e47411" | ||||
|   integrity sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q== | ||||
| 
 | ||||
| electron-to-chromium@^1.3.723: | ||||
|   version "1.3.768" | ||||
|   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.768.tgz#bbe47394f0073c947168589b7d19388518a7a9a9" | ||||
|  | @ -2856,6 +2990,11 @@ is-number@^7.0.0: | |||
|   resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" | ||||
|   integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== | ||||
| 
 | ||||
| is-plain-object@^5.0.0: | ||||
|   version "5.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" | ||||
|   integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== | ||||
| 
 | ||||
| is-potential-custom-element-name@^1.0.1: | ||||
|   version "1.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" | ||||
|  | @ -3406,6 +3545,11 @@ json5@2.x, json5@^2.1.2: | |||
|   resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" | ||||
|   integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== | ||||
| 
 | ||||
| jwt-decode@^3.1.2: | ||||
|   version "3.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59" | ||||
|   integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== | ||||
| 
 | ||||
| kleur@^3.0.3: | ||||
|   version "3.0.3" | ||||
|   resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" | ||||
|  | @ -3537,6 +3681,13 @@ natural-compare@^1.4.0: | |||
|   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" | ||||
|   integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= | ||||
| 
 | ||||
| node-fetch@^2.6.7: | ||||
|   version "2.6.9" | ||||
|   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" | ||||
|   integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== | ||||
|   dependencies: | ||||
|     whatwg-url "^5.0.0" | ||||
| 
 | ||||
| node-int64@^0.4.0: | ||||
|   version "0.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" | ||||
|  | @ -3569,7 +3720,7 @@ nwsapi@^2.2.0: | |||
|   resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" | ||||
|   integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== | ||||
| 
 | ||||
| once@^1.3.0: | ||||
| once@^1.3.0, once@^1.4.0: | ||||
|   version "1.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" | ||||
|   integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= | ||||
|  | @ -3838,11 +3989,18 @@ semver@7.x, semver@^7.3.2, semver@^7.3.5: | |||
|   dependencies: | ||||
|     lru-cache "^6.0.0" | ||||
| 
 | ||||
| semver@^6.0.0, semver@^6.3.0: | ||||
| semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: | ||||
|   version "6.3.0" | ||||
|   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" | ||||
|   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== | ||||
| 
 | ||||
| semver@^7.3.8: | ||||
|   version "7.3.8" | ||||
|   resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" | ||||
|   integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== | ||||
|   dependencies: | ||||
|     lru-cache "^6.0.0" | ||||
| 
 | ||||
| shebang-command@^2.0.0: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" | ||||
|  | @ -4027,6 +4185,13 @@ throat@^6.0.1: | |||
|   resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" | ||||
|   integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== | ||||
| 
 | ||||
| tmp@^0.2.1: | ||||
|   version "0.2.1" | ||||
|   resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" | ||||
|   integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== | ||||
|   dependencies: | ||||
|     rimraf "^3.0.0" | ||||
| 
 | ||||
| tmpl@1.0.x: | ||||
|   version "1.0.5" | ||||
|   resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" | ||||
|  | @ -4060,6 +4225,11 @@ tr46@^2.1.0: | |||
|   dependencies: | ||||
|     punycode "^2.1.1" | ||||
| 
 | ||||
| tr46@~0.0.3: | ||||
|   version "0.0.3" | ||||
|   resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" | ||||
|   integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== | ||||
| 
 | ||||
| ts-jest@^27.1.2: | ||||
|   version "27.1.3" | ||||
|   resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.3.tgz#1f723e7e74027c4da92c0ffbd73287e8af2b2957" | ||||
|  | @ -4156,6 +4326,11 @@ typescript@^4.4.4: | |||
|   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" | ||||
|   integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== | ||||
| 
 | ||||
| universal-user-agent@^6.0.0: | ||||
|   version "6.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" | ||||
|   integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== | ||||
| 
 | ||||
| universalify@^0.1.2: | ||||
|   version "0.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" | ||||
|  | @ -4168,6 +4343,11 @@ uri-js@^4.2.2: | |||
|   dependencies: | ||||
|     punycode "^2.1.0" | ||||
| 
 | ||||
| uuid@^3.3.2: | ||||
|   version "3.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" | ||||
|   integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== | ||||
| 
 | ||||
| uuid@^8.3.2: | ||||
|   version "8.3.2" | ||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" | ||||
|  | @ -4213,6 +4393,11 @@ walker@^1.0.7: | |||
|   dependencies: | ||||
|     makeerror "1.0.x" | ||||
| 
 | ||||
| webidl-conversions@^3.0.0: | ||||
|   version "3.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" | ||||
|   integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== | ||||
| 
 | ||||
| webidl-conversions@^5.0.0: | ||||
|   version "5.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" | ||||
|  | @ -4235,6 +4420,14 @@ whatwg-mimetype@^2.3.0: | |||
|   resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" | ||||
|   integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== | ||||
| 
 | ||||
| whatwg-url@^5.0.0: | ||||
|   version "5.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" | ||||
|   integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== | ||||
|   dependencies: | ||||
|     tr46 "~0.0.3" | ||||
|     webidl-conversions "^3.0.0" | ||||
| 
 | ||||
| whatwg-url@^8.0.0, whatwg-url@^8.5.0: | ||||
|   version "8.7.0" | ||||
|   resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue