mirror of
				https://github.com/docker/login-action.git
				synced 2025-10-31 10:10:09 +08:00 
			
		
		
		
	Merge pull request #409 from crazy-max/switch-toolkit
switch to actions-toolkit implementation
This commit is contained in:
		
						commit
						ec9cdf07d5
					
				| @ -2,7 +2,7 @@ | |||||||
|   "env": { |   "env": { | ||||||
|     "node": true, |     "node": true, | ||||||
|     "es2021": true, |     "es2021": true, | ||||||
|     "jest/globals": true |     "jest": true | ||||||
|   }, |   }, | ||||||
|   "extends": [ |   "extends": [ | ||||||
|     "eslint:recommended", |     "eslint:recommended", | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,11 +1,6 @@ | |||||||
| /.dev |  | ||||||
| node_modules/ | node_modules/ | ||||||
| lib | lib | ||||||
| 
 | 
 | ||||||
| # Jetbrains |  | ||||||
| /.idea |  | ||||||
| /*.iml |  | ||||||
| 
 |  | ||||||
| # Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore | # Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore | ||||||
| # Logs | # Logs | ||||||
| logs | logs | ||||||
|  | |||||||
| @ -1,19 +1,14 @@ | |||||||
| import {expect, jest, test} from '@jest/globals'; | import {expect, jest, test} from '@jest/globals'; | ||||||
| import osm = require('os'); | import osm = require('os'); | ||||||
| 
 | 
 | ||||||
| import {run} from '../src/main'; | import {main} from '../src/main'; | ||||||
| import * as docker from '../src/docker'; | import * as docker from '../src/docker'; | ||||||
| import * as stateHelper from '../src/state-helper'; | import * as stateHelper from '../src/state-helper'; | ||||||
| 
 | 
 | ||||||
| import * as core from '@actions/core'; |  | ||||||
| 
 |  | ||||||
| test('errors without username and password', async () => { | test('errors without username and password', async () => { | ||||||
|   jest.spyOn(osm, 'platform').mockImplementation(() => 'linux'); |   jest.spyOn(osm, 'platform').mockImplementation(() => 'linux'); | ||||||
|   process.env['INPUT_LOGOUT'] = 'true'; // default value
 |   process.env['INPUT_LOGOUT'] = 'true'; // default value
 | ||||||
|   const coreSpy = jest.spyOn(core, 'setFailed'); |   await expect(main()).rejects.toThrowError(new Error('Username and password required')); | ||||||
| 
 |  | ||||||
|   await run(); |  | ||||||
|   expect(coreSpy).toHaveBeenCalledWith('Username and password required'); |  | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| test('successful with username and password', async () => { | test('successful with username and password', async () => { | ||||||
| @ -34,7 +29,7 @@ test('successful with username and password', async () => { | |||||||
|   const logout = false; |   const logout = false; | ||||||
|   process.env['INPUT_LOGOUT'] = String(logout); |   process.env['INPUT_LOGOUT'] = String(logout); | ||||||
| 
 | 
 | ||||||
|   await run(); |   await main(); | ||||||
| 
 | 
 | ||||||
|   expect(setRegistrySpy).toHaveBeenCalledWith(''); |   expect(setRegistrySpy).toHaveBeenCalledWith(''); | ||||||
|   expect(setLogoutSpy).toHaveBeenCalledWith(logout); |   expect(setLogoutSpy).toHaveBeenCalledWith(logout); | ||||||
| @ -63,7 +58,7 @@ test('calls docker login', async () => { | |||||||
|   const logout = true; |   const logout = true; | ||||||
|   process.env['INPUT_LOGOUT'] = String(logout); |   process.env['INPUT_LOGOUT'] = String(logout); | ||||||
| 
 | 
 | ||||||
|   await run(); |   await main(); | ||||||
| 
 | 
 | ||||||
|   expect(setRegistrySpy).toHaveBeenCalledWith(registry); |   expect(setRegistrySpy).toHaveBeenCalledWith(registry); | ||||||
|   expect(setLogoutSpy).toHaveBeenCalledWith(logout); |   expect(setLogoutSpy).toHaveBeenCalledWith(logout); | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										195
									
								
								dist/licenses.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										195
									
								
								dist/licenses.txt
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -10686,6 +10686,201 @@ Apache License | |||||||
|    See the License for the specific language governing permissions and |    See the License for the specific language governing permissions and | ||||||
|    limitations under the License. |    limitations under the License. | ||||||
| 
 | 
 | ||||||
|  | @docker/actions-toolkit | ||||||
|  | Apache-2.0 | ||||||
|  | 
 | ||||||
|  |                                  Apache License | ||||||
|  |                            Version 2.0, January 2004 | ||||||
|  |                         https://www.apache.org/licenses/ | ||||||
|  | 
 | ||||||
|  |    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||||||
|  | 
 | ||||||
|  |    1. Definitions. | ||||||
|  | 
 | ||||||
|  |       "License" shall mean the terms and conditions for use, reproduction, | ||||||
|  |       and distribution as defined by Sections 1 through 9 of this document. | ||||||
|  | 
 | ||||||
|  |       "Licensor" shall mean the copyright owner or entity authorized by | ||||||
|  |       the copyright owner that is granting the License. | ||||||
|  | 
 | ||||||
|  |       "Legal Entity" shall mean the union of the acting entity and all | ||||||
|  |       other entities that control, are controlled by, or are under common | ||||||
|  |       control with that entity. For the purposes of this definition, | ||||||
|  |       "control" means (i) the power, direct or indirect, to cause the | ||||||
|  |       direction or management of such entity, whether by contract or | ||||||
|  |       otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||||||
|  |       outstanding shares, or (iii) beneficial ownership of such entity. | ||||||
|  | 
 | ||||||
|  |       "You" (or "Your") shall mean an individual or Legal Entity | ||||||
|  |       exercising permissions granted by this License. | ||||||
|  | 
 | ||||||
|  |       "Source" form shall mean the preferred form for making modifications, | ||||||
|  |       including but not limited to software source code, documentation | ||||||
|  |       source, and configuration files. | ||||||
|  | 
 | ||||||
|  |       "Object" form shall mean any form resulting from mechanical | ||||||
|  |       transformation or translation of a Source form, including but | ||||||
|  |       not limited to compiled object code, generated documentation, | ||||||
|  |       and conversions to other media types. | ||||||
|  | 
 | ||||||
|  |       "Work" shall mean the work of authorship, whether in Source or | ||||||
|  |       Object form, made available under the License, as indicated by a | ||||||
|  |       copyright notice that is included in or attached to the work | ||||||
|  |       (an example is provided in the Appendix below). | ||||||
|  | 
 | ||||||
|  |       "Derivative Works" shall mean any work, whether in Source or Object | ||||||
|  |       form, that is based on (or derived from) the Work and for which the | ||||||
|  |       editorial revisions, annotations, elaborations, or other modifications | ||||||
|  |       represent, as a whole, an original work of authorship. For the purposes | ||||||
|  |       of this License, Derivative Works shall not include works that remain | ||||||
|  |       separable from, or merely link (or bind by name) to the interfaces of, | ||||||
|  |       the Work and Derivative Works thereof. | ||||||
|  | 
 | ||||||
|  |       "Contribution" shall mean any work of authorship, including | ||||||
|  |       the original version of the Work and any modifications or additions | ||||||
|  |       to that Work or Derivative Works thereof, that is intentionally | ||||||
|  |       submitted to Licensor for inclusion in the Work by the copyright owner | ||||||
|  |       or by an individual or Legal Entity authorized to submit on behalf of | ||||||
|  |       the copyright owner. For the purposes of this definition, "submitted" | ||||||
|  |       means any form of electronic, verbal, or written communication sent | ||||||
|  |       to the Licensor or its representatives, including but not limited to | ||||||
|  |       communication on electronic mailing lists, source code control systems, | ||||||
|  |       and issue tracking systems that are managed by, or on behalf of, the | ||||||
|  |       Licensor for the purpose of discussing and improving the Work, but | ||||||
|  |       excluding communication that is conspicuously marked or otherwise | ||||||
|  |       designated in writing by the copyright owner as "Not a Contribution." | ||||||
|  | 
 | ||||||
|  |       "Contributor" shall mean Licensor and any individual or Legal Entity | ||||||
|  |       on behalf of whom a Contribution has been received by Licensor and | ||||||
|  |       subsequently incorporated within the Work. | ||||||
|  | 
 | ||||||
|  |    2. Grant of Copyright License. Subject to the terms and conditions of | ||||||
|  |       this License, each Contributor hereby grants to You a perpetual, | ||||||
|  |       worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||||
|  |       copyright license to reproduce, prepare Derivative Works of, | ||||||
|  |       publicly display, publicly perform, sublicense, and distribute the | ||||||
|  |       Work and such Derivative Works in Source or Object form. | ||||||
|  | 
 | ||||||
|  |    3. Grant of Patent License. Subject to the terms and conditions of | ||||||
|  |       this License, each Contributor hereby grants to You a perpetual, | ||||||
|  |       worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||||||
|  |       (except as stated in this section) patent license to make, have made, | ||||||
|  |       use, offer to sell, sell, import, and otherwise transfer the Work, | ||||||
|  |       where such license applies only to those patent claims licensable | ||||||
|  |       by such Contributor that are necessarily infringed by their | ||||||
|  |       Contribution(s) alone or by combination of their Contribution(s) | ||||||
|  |       with the Work to which such Contribution(s) was submitted. If You | ||||||
|  |       institute patent litigation against any entity (including a | ||||||
|  |       cross-claim or counterclaim in a lawsuit) alleging that the Work | ||||||
|  |       or a Contribution incorporated within the Work constitutes direct | ||||||
|  |       or contributory patent infringement, then any patent licenses | ||||||
|  |       granted to You under this License for that Work shall terminate | ||||||
|  |       as of the date such litigation is filed. | ||||||
|  | 
 | ||||||
|  |    4. Redistribution. You may reproduce and distribute copies of the | ||||||
|  |       Work or Derivative Works thereof in any medium, with or without | ||||||
|  |       modifications, and in Source or Object form, provided that You | ||||||
|  |       meet the following conditions: | ||||||
|  | 
 | ||||||
|  |       (a) You must give any other recipients of the Work or | ||||||
|  |           Derivative Works a copy of this License; and | ||||||
|  | 
 | ||||||
|  |       (b) You must cause any modified files to carry prominent notices | ||||||
|  |           stating that You changed the files; and | ||||||
|  | 
 | ||||||
|  |       (c) You must retain, in the Source form of any Derivative Works | ||||||
|  |           that You distribute, all copyright, patent, trademark, and | ||||||
|  |           attribution notices from the Source form of the Work, | ||||||
|  |           excluding those notices that do not pertain to any part of | ||||||
|  |           the Derivative Works; and | ||||||
|  | 
 | ||||||
|  |       (d) If the Work includes a "NOTICE" text file as part of its | ||||||
|  |           distribution, then any Derivative Works that You distribute must | ||||||
|  |           include a readable copy of the attribution notices contained | ||||||
|  |           within such NOTICE file, excluding those notices that do not | ||||||
|  |           pertain to any part of the Derivative Works, in at least one | ||||||
|  |           of the following places: within a NOTICE text file distributed | ||||||
|  |           as part of the Derivative Works; within the Source form or | ||||||
|  |           documentation, if provided along with the Derivative Works; or, | ||||||
|  |           within a display generated by the Derivative Works, if and | ||||||
|  |           wherever such third-party notices normally appear. The contents | ||||||
|  |           of the NOTICE file are for informational purposes only and | ||||||
|  |           do not modify the License. You may add Your own attribution | ||||||
|  |           notices within Derivative Works that You distribute, alongside | ||||||
|  |           or as an addendum to the NOTICE text from the Work, provided | ||||||
|  |           that such additional attribution notices cannot be construed | ||||||
|  |           as modifying the License. | ||||||
|  | 
 | ||||||
|  |       You may add Your own copyright statement to Your modifications and | ||||||
|  |       may provide additional or different license terms and conditions | ||||||
|  |       for use, reproduction, or distribution of Your modifications, or | ||||||
|  |       for any such Derivative Works as a whole, provided Your use, | ||||||
|  |       reproduction, and distribution of the Work otherwise complies with | ||||||
|  |       the conditions stated in this License. | ||||||
|  | 
 | ||||||
|  |    5. Submission of Contributions. Unless You explicitly state otherwise, | ||||||
|  |       any Contribution intentionally submitted for inclusion in the Work | ||||||
|  |       by You to the Licensor shall be under the terms and conditions of | ||||||
|  |       this License, without any additional terms or conditions. | ||||||
|  |       Notwithstanding the above, nothing herein shall supersede or modify | ||||||
|  |       the terms of any separate license agreement you may have executed | ||||||
|  |       with Licensor regarding such Contributions. | ||||||
|  | 
 | ||||||
|  |    6. Trademarks. This License does not grant permission to use the trade | ||||||
|  |       names, trademarks, service marks, or product names of the Licensor, | ||||||
|  |       except as required for reasonable and customary use in describing the | ||||||
|  |       origin of the Work and reproducing the content of the NOTICE file. | ||||||
|  | 
 | ||||||
|  |    7. Disclaimer of Warranty. Unless required by applicable law or | ||||||
|  |       agreed to in writing, Licensor provides the Work (and each | ||||||
|  |       Contributor provides its Contributions) on an "AS IS" BASIS, | ||||||
|  |       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||||||
|  |       implied, including, without limitation, any warranties or conditions | ||||||
|  |       of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||||||
|  |       PARTICULAR PURPOSE. You are solely responsible for determining the | ||||||
|  |       appropriateness of using or redistributing the Work and assume any | ||||||
|  |       risks associated with Your exercise of permissions under this License. | ||||||
|  | 
 | ||||||
|  |    8. Limitation of Liability. In no event and under no legal theory, | ||||||
|  |       whether in tort (including negligence), contract, or otherwise, | ||||||
|  |       unless required by applicable law (such as deliberate and grossly | ||||||
|  |       negligent acts) or agreed to in writing, shall any Contributor be | ||||||
|  |       liable to You for damages, including any direct, indirect, special, | ||||||
|  |       incidental, or consequential damages of any character arising as a | ||||||
|  |       result of this License or out of the use or inability to use the | ||||||
|  |       Work (including but not limited to damages for loss of goodwill, | ||||||
|  |       work stoppage, computer failure or malfunction, or any and all | ||||||
|  |       other commercial damages or losses), even if such Contributor | ||||||
|  |       has been advised of the possibility of such damages. | ||||||
|  | 
 | ||||||
|  |    9. Accepting Warranty or Additional Liability. While redistributing | ||||||
|  |       the Work or Derivative Works thereof, You may choose to offer, | ||||||
|  |       and charge a fee for, acceptance of support, warranty, indemnity, | ||||||
|  |       or other liability obligations and/or rights consistent with this | ||||||
|  |       License. However, in accepting such obligations, You may act only | ||||||
|  |       on Your own behalf and on Your sole responsibility, not on behalf | ||||||
|  |       of any other Contributor, and only if You agree to indemnify, | ||||||
|  |       defend, and hold each Contributor harmless for any liability | ||||||
|  |       incurred by, or claims asserted against, such Contributor by reason | ||||||
|  |       of your accepting any such warranty or additional liability. | ||||||
|  | 
 | ||||||
|  |    END OF TERMS AND CONDITIONS | ||||||
|  | 
 | ||||||
|  |    Copyright 2013-2018 Docker, Inc. | ||||||
|  | 
 | ||||||
|  |    Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |    you may not use this file except in compliance with the License. | ||||||
|  |    You may obtain a copy of the License at | ||||||
|  | 
 | ||||||
|  |        https://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | 
 | ||||||
|  |    Unless required by applicable law or agreed to in writing, software | ||||||
|  |    distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |    See the License for the specific language governing permissions and | ||||||
|  |    limitations under the License. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @tootallnate/once | @tootallnate/once | ||||||
| MIT | MIT | ||||||
| MIT License | MIT License | ||||||
|  | |||||||
| @ -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 = { | module.exports = { | ||||||
|   clearMocks: true, |   clearMocks: true, | ||||||
|   moduleFileExtensions: ['js', 'ts'], |   moduleFileExtensions: ['js', 'ts'], | ||||||
|   setupFiles: ["dotenv/config"], |  | ||||||
|   testMatch: ['**/*.test.ts'], |   testMatch: ['**/*.test.ts'], | ||||||
|   transform: { |   transform: { | ||||||
|     '^.+\\.ts$': 'ts-jest' |     '^.+\\.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 |   verbose: true | ||||||
| } | }; | ||||||
|  | |||||||
| @ -28,10 +28,9 @@ | |||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@actions/core": "^1.10.0", |     "@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": "^3.231.0", | ||||||
|     "@aws-sdk/client-ecr-public": "^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", |     "http-proxy-agent": "^5.0.0", | ||||||
|     "https-proxy-agent": "^5.0.1" |     "https-proxy-agent": "^5.0.1" | ||||||
|   }, |   }, | ||||||
| @ -40,7 +39,6 @@ | |||||||
|     "@typescript-eslint/eslint-plugin": "^5.14.0", |     "@typescript-eslint/eslint-plugin": "^5.14.0", | ||||||
|     "@typescript-eslint/parser": "^5.14.0", |     "@typescript-eslint/parser": "^5.14.0", | ||||||
|     "@vercel/ncc": "^0.33.3", |     "@vercel/ncc": "^0.33.3", | ||||||
|     "dotenv": "^16.0.0", |  | ||||||
|     "eslint": "^8.11.0", |     "eslint": "^8.11.0", | ||||||
|     "eslint-config-prettier": "^8.5.0", |     "eslint-config-prettier": "^8.5.0", | ||||||
|     "eslint-plugin-jest": "^26.1.1", |     "eslint-plugin-jest": "^26.1.1", | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| import * as aws from './aws'; | import * as aws from './aws'; | ||||||
| import * as core from '@actions/core'; | 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> { | export async function login(registry: string, username: string, password: string, ecr: string): Promise<void> { | ||||||
|   if (/true/i.test(ecr) || (ecr == 'auto' && aws.isECR(registry))) { |   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> { | export async function logout(registry: string): Promise<void> { | ||||||
|   await exec |   await Exec.getExecOutput('docker', ['logout', registry], { | ||||||
|     .getExecOutput('docker', ['logout', registry], { |     ignoreReturnCode: true | ||||||
|       ignoreReturnCode: true |   }).then(res => { | ||||||
|     }) |     if (res.stderr.length > 0 && res.exitCode != 0) { | ||||||
|     .then(res => { |       core.warning(res.stderr.trim()); | ||||||
|       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> { | 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 { |   } else { | ||||||
|     core.info(`Logging into Docker Hub...`); |     core.info(`Logging into Docker Hub...`); | ||||||
|   } |   } | ||||||
|   await exec |   await Exec.getExecOutput('docker', loginArgs, { | ||||||
|     .getExecOutput('docker', loginArgs, { |     ignoreReturnCode: true, | ||||||
|       ignoreReturnCode: true, |     silent: true, | ||||||
|       silent: true, |     input: Buffer.from(password) | ||||||
|       input: Buffer.from(password) |   }).then(res => { | ||||||
|     }) |     if (res.stderr.length > 0 && res.exitCode != 0) { | ||||||
|     .then(res => { |       throw new Error(res.stderr.trim()); | ||||||
|       if (res.stderr.length > 0 && res.exitCode != 0) { |     } | ||||||
|         throw new Error(res.stderr.trim()); |     core.info(`Login Succeeded!`); | ||||||
|       } |   }); | ||||||
|       core.info(`Login Succeeded!`); |  | ||||||
|     }); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export async function loginECR(registry: string, username: string, password: string): Promise<void> { | 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); |   const regDatas = await aws.getRegistriesData(registry, username, password); | ||||||
|   for (const regData of regDatas) { |   for (const regData of regDatas) { | ||||||
|     core.info(`Logging into ${regData.registry}...`); |     core.info(`Logging into ${regData.registry}...`); | ||||||
|     await exec |     await Exec.getExecOutput('docker', ['login', '--password-stdin', '--username', regData.username, regData.registry], { | ||||||
|       .getExecOutput('docker', ['login', '--password-stdin', '--username', regData.username, regData.registry], { |       ignoreReturnCode: true, | ||||||
|         ignoreReturnCode: true, |       silent: true, | ||||||
|         silent: true, |       input: Buffer.from(regData.password) | ||||||
|         input: Buffer.from(regData.password) |     }).then(res => { | ||||||
|       }) |       if (res.stderr.length > 0 && res.exitCode != 0) { | ||||||
|       .then(res => { |         throw new Error(res.stderr.trim()); | ||||||
|         if (res.stderr.length > 0 && res.exitCode != 0) { |       } | ||||||
|           throw new Error(res.stderr.trim()); |       core.info('Login Succeeded!'); | ||||||
|         } |     }); | ||||||
|         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 context from './context'; | ||||||
| import * as docker from './docker'; | import * as docker from './docker'; | ||||||
| import * as stateHelper from './state-helper'; | import * as stateHelper from './state-helper'; | ||||||
| 
 | 
 | ||||||
| export async function run(): Promise<void> { | export async function main(): Promise<void> { | ||||||
|   try { |   const input: context.Inputs = context.getInputs(); | ||||||
|     const input: context.Inputs = context.getInputs(); |   stateHelper.setRegistry(input.registry); | ||||||
|     stateHelper.setRegistry(input.registry); |   stateHelper.setLogout(input.logout); | ||||||
|     stateHelper.setLogout(input.logout); |   await docker.login(input.registry, input.username, input.password, input.ecr); | ||||||
|     await docker.login(input.registry, input.username, input.password, input.ecr); |  | ||||||
|   } catch (error) { |  | ||||||
|     core.setFailed(error.message); |  | ||||||
|   } |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| async function logout(): Promise<void> { | async function post(): Promise<void> { | ||||||
|   if (!stateHelper.logout) { |   if (!stateHelper.logout) { | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
|   await docker.logout(stateHelper.registry); |   await docker.logout(stateHelper.registry); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| if (!stateHelper.IsPost) { | actionsToolkit.run(main, post); | ||||||
|   run(); |  | ||||||
| } else { |  | ||||||
|   logout(); |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -1,6 +1,5 @@ | |||||||
| import * as core from '@actions/core'; | import * as core from '@actions/core'; | ||||||
| 
 | 
 | ||||||
| export const IsPost = !!process.env['STATE_isPost']; |  | ||||||
| export const registry = process.env['STATE_registry'] || ''; | export const registry = process.env['STATE_registry'] || ''; | ||||||
| export const logout = /true/i.test(process.env['STATE_logout'] || ''); | export const logout = /true/i.test(process.env['STATE_logout'] || ''); | ||||||
| 
 | 
 | ||||||
| @ -11,7 +10,3 @@ export function setRegistry(registry: string) { | |||||||
| export function setLogout(logout: boolean) { | export function setLogout(logout: boolean) { | ||||||
|   core.saveState('logout', logout); |   core.saveState('logout', logout); | ||||||
| } | } | ||||||
| 
 |  | ||||||
| if (!IsPost) { |  | ||||||
|   core.saveState('isPost', 'true'); |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -1,19 +1,21 @@ | |||||||
| { | { | ||||||
|   "compilerOptions": { |   "compilerOptions": { | ||||||
|  |     "esModuleInterop": true, | ||||||
|     "target": "es6", |     "target": "es6", | ||||||
|     "module": "commonjs", |     "module": "commonjs", | ||||||
|  |     "strict": true, | ||||||
|     "newLine": "lf", |     "newLine": "lf", | ||||||
|     "outDir": "./lib", |     "outDir": "./lib", | ||||||
|     "rootDir": "./src", |     "rootDir": "./src", | ||||||
|     "esModuleInterop": true, |  | ||||||
|     "forceConsistentCasingInFileNames": true, |     "forceConsistentCasingInFileNames": true, | ||||||
|     "strict": true, |  | ||||||
|     "noImplicitAny": false, |     "noImplicitAny": false, | ||||||
|  |     "resolveJsonModule": true, | ||||||
|     "useUnknownInCatchVariables": false, |     "useUnknownInCatchVariables": false, | ||||||
|   }, |   }, | ||||||
|   "exclude": [ |   "exclude": [ | ||||||
|  |     "./__tests__/**/*", | ||||||
|  |     "./lib/**/*", | ||||||
|     "node_modules", |     "node_modules", | ||||||
|     "**/*.test.ts", |  | ||||||
|     "jest.config.ts" |     "jest.config.ts" | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										213
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										213
									
								
								yarn.lock
									
									
									
									
									
								
							| @ -2,7 +2,7 @@ | |||||||
| # yarn lockfile v1 | # yarn lockfile v1 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| "@actions/core@^1.10.0": | "@actions/core@^1.10.0", "@actions/core@^1.2.6": | ||||||
|   version "1.10.0" |   version "1.10.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.0.tgz#44551c3c71163949a2f06e94d9ca2157a0cfac4f" |   resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.10.0.tgz#44551c3c71163949a2f06e94d9ca2157a0cfac4f" | ||||||
|   integrity sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug== |   integrity sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug== | ||||||
| @ -10,13 +10,23 @@ | |||||||
|     "@actions/http-client" "^2.0.1" |     "@actions/http-client" "^2.0.1" | ||||||
|     uuid "^8.3.2" |     uuid "^8.3.2" | ||||||
| 
 | 
 | ||||||
| "@actions/exec@^1.1.1": | "@actions/exec@^1.0.0", "@actions/exec@^1.1.1": | ||||||
|   version "1.1.1" |   version "1.1.1" | ||||||
|   resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.1.tgz#2e43f28c54022537172819a7cf886c844221a611" |   resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.1.tgz#2e43f28c54022537172819a7cf886c844221a611" | ||||||
|   integrity sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w== |   integrity sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w== | ||||||
|   dependencies: |   dependencies: | ||||||
|     "@actions/io" "^1.0.1" |     "@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": | "@actions/http-client@^2.0.1": | ||||||
|   version "2.0.1" |   version "2.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c" |   resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c" | ||||||
| @ -24,11 +34,23 @@ | |||||||
|   dependencies: |   dependencies: | ||||||
|     tunnel "^0.0.6" |     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" |   version "1.1.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.2.tgz#766ac09674a289ce0f1550ffe0a6eac9261a8ea9" |   resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.2.tgz#766ac09674a289ce0f1550ffe0a6eac9261a8ea9" | ||||||
|   integrity sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw== |   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": | "@ampproject/remapping@^2.1.0": | ||||||
|   version "2.1.2" |   version "2.1.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" |   resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" | ||||||
| @ -1301,6 +1323,22 @@ | |||||||
|   dependencies: |   dependencies: | ||||||
|     "@cspotcode/source-map-consumer" "0.8.0" |     "@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": | "@eslint/eslintrc@^1.2.1": | ||||||
|   version "1.2.1" |   version "1.2.1" | ||||||
|   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" |   resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6" | ||||||
| @ -1554,6 +1592,92 @@ | |||||||
|     "@nodelib/fs.scandir" "2.1.5" |     "@nodelib/fs.scandir" "2.1.5" | ||||||
|     fastq "^1.6.0" |     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": | "@sinonjs/commons@^1.7.0": | ||||||
|   version "1.8.3" |   version "1.8.3" | ||||||
|   resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" |   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" |   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" | ||||||
|   integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== |   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: | bowser@^2.11.0: | ||||||
|   version "2.11.0" |   version "2.11.0" | ||||||
|   resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" |   resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" | ||||||
| @ -2203,6 +2332,11 @@ cssstyle@^2.3.0: | |||||||
|   dependencies: |   dependencies: | ||||||
|     cssom "~0.3.6" |     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: | data-urls@^2.0.0: | ||||||
|   version "2.0.0" |   version "2.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" |   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" |   resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" | ||||||
|   integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= |   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: | detect-newline@^3.0.0: | ||||||
|   version "3.1.0" |   version "3.1.0" | ||||||
|   resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" |   resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" | ||||||
| @ -2285,11 +2424,6 @@ domexception@^2.0.1: | |||||||
|   dependencies: |   dependencies: | ||||||
|     webidl-conversions "^5.0.0" |     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: | electron-to-chromium@^1.3.723: | ||||||
|   version "1.3.768" |   version "1.3.768" | ||||||
|   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.768.tgz#bbe47394f0073c947168589b7d19388518a7a9a9" |   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" |   resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" | ||||||
|   integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== |   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: | is-potential-custom-element-name@^1.0.1: | ||||||
|   version "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" |   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" |   resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" | ||||||
|   integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== |   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: | kleur@^3.0.3: | ||||||
|   version "3.0.3" |   version "3.0.3" | ||||||
|   resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" |   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" |   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" | ||||||
|   integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= |   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: | node-int64@^0.4.0: | ||||||
|   version "0.4.0" |   version "0.4.0" | ||||||
|   resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" |   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" |   resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" | ||||||
|   integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== |   integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== | ||||||
| 
 | 
 | ||||||
| once@^1.3.0: | once@^1.3.0, once@^1.4.0: | ||||||
|   version "1.4.0" |   version "1.4.0" | ||||||
|   resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" |   resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" | ||||||
|   integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= |   integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= | ||||||
| @ -3838,11 +3989,18 @@ semver@7.x, semver@^7.3.2, semver@^7.3.5: | |||||||
|   dependencies: |   dependencies: | ||||||
|     lru-cache "^6.0.0" |     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" |   version "6.3.0" | ||||||
|   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" |   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" | ||||||
|   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== |   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: | shebang-command@^2.0.0: | ||||||
|   version "2.0.0" |   version "2.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" |   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" |   resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" | ||||||
|   integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== |   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: | tmpl@1.0.x: | ||||||
|   version "1.0.5" |   version "1.0.5" | ||||||
|   resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" |   resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" | ||||||
| @ -4060,6 +4225,11 @@ tr46@^2.1.0: | |||||||
|   dependencies: |   dependencies: | ||||||
|     punycode "^2.1.1" |     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: | ts-jest@^27.1.2: | ||||||
|   version "27.1.3" |   version "27.1.3" | ||||||
|   resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.3.tgz#1f723e7e74027c4da92c0ffbd73287e8af2b2957" |   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" |   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" | ||||||
|   integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== |   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: | universalify@^0.1.2: | ||||||
|   version "0.1.2" |   version "0.1.2" | ||||||
|   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" |   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" | ||||||
| @ -4168,6 +4343,11 @@ uri-js@^4.2.2: | |||||||
|   dependencies: |   dependencies: | ||||||
|     punycode "^2.1.0" |     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: | uuid@^8.3.2: | ||||||
|   version "8.3.2" |   version "8.3.2" | ||||||
|   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" |   resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" | ||||||
| @ -4213,6 +4393,11 @@ walker@^1.0.7: | |||||||
|   dependencies: |   dependencies: | ||||||
|     makeerror "1.0.x" |     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: | webidl-conversions@^5.0.0: | ||||||
|   version "5.0.0" |   version "5.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" |   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" |   resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" | ||||||
|   integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== |   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: | whatwg-url@^8.0.0, whatwg-url@^8.5.0: | ||||||
|   version "8.7.0" |   version "8.7.0" | ||||||
|   resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" |   resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 CrazyMax
						CrazyMax