From e0e5ecf670bf33d756abc55962778de1286f70e1 Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Thu, 3 Oct 2024 08:59:28 +0200 Subject: [PATCH] remove uuid package and switch to crypto Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- __tests__/context.test.ts | 4 +--- package.json | 4 +--- src/context.ts | 5 ++--- src/main.ts | 3 +-- yarn.lock | 18 ------------------ 5 files changed, 5 insertions(+), 29 deletions(-) diff --git a/__tests__/context.test.ts b/__tests__/context.test.ts index 8a2b367..74898bb 100644 --- a/__tests__/context.test.ts +++ b/__tests__/context.test.ts @@ -1,7 +1,6 @@ import {beforeEach, describe, expect, jest, test} from '@jest/globals'; import * as fs from 'fs'; import * as path from 'path'; -import * as uuid from 'uuid'; import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx'; import {Context} from '@docker/actions-toolkit/lib/context'; import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; @@ -26,8 +25,7 @@ jest.spyOn(Context, 'tmpName').mockImplementation((): string => { return tmpName; }); -jest.mock('uuid'); -jest.spyOn(uuid, 'v4').mockReturnValue('9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'); +jest.spyOn(crypto, 'randomUUID').mockReturnValue('9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'); jest.spyOn(Docker, 'context').mockImplementation((): Promise => { return Promise.resolve('default'); diff --git a/package.json b/package.json index d183cd3..a059eff 100644 --- a/package.json +++ b/package.json @@ -27,13 +27,11 @@ "dependencies": { "@actions/core": "^1.10.1", "@docker/actions-toolkit": "^0.35.0", - "js-yaml": "^4.1.0", - "uuid": "^10.0.0" + "js-yaml": "^4.1.0" }, "devDependencies": { "@types/js-yaml": "^4.0.9", "@types/node": "^20.12.12", - "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.9.0", "@typescript-eslint/parser": "^7.9.0", "@vercel/ncc": "^0.38.1", diff --git a/src/context.ts b/src/context.ts index 4fb8d47..263cfb2 100644 --- a/src/context.ts +++ b/src/context.ts @@ -1,4 +1,3 @@ -import * as uuid from 'uuid'; import * as core from '@actions/core'; import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; @@ -47,7 +46,7 @@ export async function getInputs(): Promise { } export async function getBuilderName(driver: string): Promise { - return driver == 'docker' ? await Docker.context() : `builder-${uuid.v4()}`; + return driver == 'docker' ? await Docker.context() : `builder-${crypto.randomUUID()}`; } export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise> { @@ -84,7 +83,7 @@ export async function getAppendArgs(inputs: Inputs, node: Node, toolkit: Toolkit if (node.name) { args.push('--node', node.name); } else if (inputs.driver == 'kubernetes' && (await toolkit.buildx.versionSatisfies('<0.11.0'))) { - args.push('--node', `node-${uuid.v4()}`); + args.push('--node', `node-${crypto.randomUUID()}`); } if (node['driver-opts'] && (await toolkit.buildx.versionSatisfies('>=0.3.0'))) { await Util.asyncForEach(node['driver-opts'], async (driverOpt: string) => { diff --git a/src/main.ts b/src/main.ts index e214991..ffc9a71 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,5 @@ import * as fs from 'fs'; import * as yaml from 'js-yaml'; -import * as uuid from 'uuid'; import * as core from '@actions/core'; import * as actionsToolkit from '@docker/actions-toolkit'; @@ -98,7 +97,7 @@ actionsToolkit.run( }); }); if (defaultContextWithTLS) { - const tmpDockerContext = `buildx-${uuid.v4()}`; + const tmpDockerContext = `buildx-${crypto.randomUUID()}`; await core.group(`Creating temp docker context (TLS data loaded in default one)`, async () => { await Docker.getExecOutput(['context', 'create', tmpDockerContext], { ignoreReturnCode: true diff --git a/yarn.lock b/yarn.lock index d60b1eb..0618021 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2124,13 +2124,6 @@ __metadata: languageName: node linkType: hard -"@types/uuid@npm:^10.0.0": - version: 10.0.0 - resolution: "@types/uuid@npm:10.0.0" - checksum: e3958f8b0fe551c86c14431f5940c3470127293280830684154b91dc7eb3514aeb79fe3216968833cf79d4d1c67f580f054b5be2cd562bebf4f728913e73e944 - languageName: node - linkType: hard - "@types/yargs-parser@npm:*": version: 20.2.0 resolution: "@types/yargs-parser@npm:20.2.0" @@ -3171,7 +3164,6 @@ __metadata: "@docker/actions-toolkit": ^0.35.0 "@types/js-yaml": ^4.0.9 "@types/node": ^20.12.12 - "@types/uuid": ^10.0.0 "@typescript-eslint/eslint-plugin": ^7.9.0 "@typescript-eslint/parser": ^7.9.0 "@vercel/ncc": ^0.38.1 @@ -3185,7 +3177,6 @@ __metadata: ts-jest: ^29.1.2 ts-node: ^10.9.2 typescript: ^5.4.5 - uuid: ^10.0.0 languageName: unknown linkType: soft @@ -6670,15 +6661,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^10.0.0": - version: 10.0.0 - resolution: "uuid@npm:10.0.0" - bin: - uuid: dist/bin/uuid - checksum: 4b81611ade2885d2313ddd8dc865d93d8dccc13ddf901745edca8f86d99bc46d7a330d678e7532e7ebf93ce616679fb19b2e3568873ac0c14c999032acb25869 - languageName: node - linkType: hard - "uuid@npm:^3.3.2, uuid@npm:^3.3.3": version: 3.4.0 resolution: "uuid@npm:3.4.0"