mirror of
https://git.mirrors.martin98.com/https://github.com/actions/toolkit
synced 2026-05-05 08:28:04 +08:00
Remove dependency on uuid package (#1824)
This commit is contained in:
@@ -4,9 +4,6 @@ import * as path from 'path'
|
||||
import * as core from '../src/core'
|
||||
import {HttpClient} from '@actions/http-client'
|
||||
import {toCommandProperties} from '../src/utils'
|
||||
import * as uuid from 'uuid'
|
||||
|
||||
jest.mock('uuid')
|
||||
|
||||
/* eslint-disable @typescript-eslint/unbound-method */
|
||||
|
||||
@@ -49,11 +46,18 @@ const testEnvVars = {
|
||||
const UUID = '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
|
||||
const DELIMITER = `ghadelimiter_${UUID}`
|
||||
|
||||
const TEMP_DIR = path.join(__dirname, '_temp')
|
||||
|
||||
describe('@actions/core', () => {
|
||||
beforeAll(() => {
|
||||
const filePath = path.join(__dirname, `test`)
|
||||
const filePath = TEMP_DIR
|
||||
if (!fs.existsSync(filePath)) {
|
||||
fs.mkdirSync(filePath)
|
||||
} else {
|
||||
// Clear out the temp directory
|
||||
for (const file of fs.readdirSync(filePath)) {
|
||||
fs.unlinkSync(path.join(filePath, file))
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -63,7 +67,7 @@ describe('@actions/core', () => {
|
||||
}
|
||||
process.stdout.write = jest.fn()
|
||||
|
||||
jest.spyOn(uuid, 'v4').mockImplementation(() => {
|
||||
jest.spyOn(crypto, 'randomUUID').mockImplementation(() => {
|
||||
return UUID
|
||||
})
|
||||
})
|
||||
@@ -141,7 +145,7 @@ describe('@actions/core', () => {
|
||||
`Unexpected input: value should not contain the delimiter "${DELIMITER}"`
|
||||
)
|
||||
|
||||
const filePath = path.join(__dirname, `test/${command}`)
|
||||
const filePath = path.join(TEMP_DIR, command)
|
||||
fs.unlinkSync(filePath)
|
||||
})
|
||||
|
||||
@@ -155,7 +159,7 @@ describe('@actions/core', () => {
|
||||
`Unexpected input: name should not contain the delimiter "${DELIMITER}"`
|
||||
)
|
||||
|
||||
const filePath = path.join(__dirname, `test/${command}`)
|
||||
const filePath = path.join(TEMP_DIR, command)
|
||||
fs.unlinkSync(filePath)
|
||||
})
|
||||
|
||||
@@ -347,7 +351,7 @@ describe('@actions/core', () => {
|
||||
`Unexpected input: value should not contain the delimiter "${DELIMITER}"`
|
||||
)
|
||||
|
||||
const filePath = path.join(__dirname, `test/${command}`)
|
||||
const filePath = path.join(TEMP_DIR, command)
|
||||
fs.unlinkSync(filePath)
|
||||
})
|
||||
|
||||
@@ -361,7 +365,7 @@ describe('@actions/core', () => {
|
||||
`Unexpected input: name should not contain the delimiter "${DELIMITER}"`
|
||||
)
|
||||
|
||||
const filePath = path.join(__dirname, `test/${command}`)
|
||||
const filePath = path.join(TEMP_DIR, command)
|
||||
fs.unlinkSync(filePath)
|
||||
})
|
||||
|
||||
@@ -585,7 +589,7 @@ describe('@actions/core', () => {
|
||||
`Unexpected input: value should not contain the delimiter "${DELIMITER}"`
|
||||
)
|
||||
|
||||
const filePath = path.join(__dirname, `test/${command}`)
|
||||
const filePath = path.join(TEMP_DIR, command)
|
||||
fs.unlinkSync(filePath)
|
||||
})
|
||||
|
||||
@@ -599,7 +603,7 @@ describe('@actions/core', () => {
|
||||
`Unexpected input: name should not contain the delimiter "${DELIMITER}"`
|
||||
)
|
||||
|
||||
const filePath = path.join(__dirname, `test/${command}`)
|
||||
const filePath = path.join(TEMP_DIR, command)
|
||||
fs.unlinkSync(filePath)
|
||||
})
|
||||
|
||||
@@ -641,7 +645,7 @@ function assertWriteCalls(calls: string[]): void {
|
||||
}
|
||||
|
||||
function createFileCommandFile(command: string): void {
|
||||
const filePath = path.join(__dirname, `test/${command}`)
|
||||
const filePath = path.join(__dirname, `_temp/${command}`)
|
||||
process.env[`GITHUB_${command}`] = filePath
|
||||
fs.appendFileSync(filePath, '', {
|
||||
encoding: 'utf8'
|
||||
@@ -649,7 +653,7 @@ function createFileCommandFile(command: string): void {
|
||||
}
|
||||
|
||||
function verifyFileCommand(command: string, expectedContents: string): void {
|
||||
const filePath = path.join(__dirname, `test/${command}`)
|
||||
const filePath = path.join(__dirname, `_temp/${command}`)
|
||||
const contents = fs.readFileSync(filePath, 'utf8')
|
||||
try {
|
||||
expect(contents).toEqual(expectedContents)
|
||||
|
||||
31
packages/core/package-lock.json
generated
31
packages/core/package-lock.json
generated
@@ -10,12 +10,10 @@
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/http-client": "^2.0.1",
|
||||
"uuid": "^8.3.2"
|
||||
"@actions/http-client": "^2.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.2",
|
||||
"@types/uuid": "^8.3.4"
|
||||
"@types/node": "^12.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/exec": {
|
||||
@@ -45,12 +43,6 @@
|
||||
"integrity": "sha512-5tabW/i+9mhrfEOUcLDu2xBPsHJ+X5Orqy9FKpale3SjDA17j5AEpYq5vfy3oAeAHGcvANRCO3NV3d2D6q3NiA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/uuid": {
|
||||
"version": "8.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
|
||||
"integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/tunnel": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
||||
@@ -58,14 +50,6 @@
|
||||
"engines": {
|
||||
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
||||
}
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -96,21 +80,10 @@
|
||||
"integrity": "sha512-5tabW/i+9mhrfEOUcLDu2xBPsHJ+X5Orqy9FKpale3SjDA17j5AEpYq5vfy3oAeAHGcvANRCO3NV3d2D6q3NiA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/uuid": {
|
||||
"version": "8.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
|
||||
"integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
|
||||
"dev": true
|
||||
},
|
||||
"tunnel": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
||||
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
|
||||
},
|
||||
"uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,11 +37,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/http-client": "^2.0.1",
|
||||
"uuid": "^8.3.2"
|
||||
"@actions/http-client": "^2.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^12.0.2",
|
||||
"@types/uuid": "^8.3.4"
|
||||
"@types/node": "^12.0.2"
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
import * as fs from 'fs'
|
||||
import * as os from 'os'
|
||||
import {v4 as uuidv4} from 'uuid'
|
||||
import {toCommandValue} from './utils'
|
||||
|
||||
export function issueFileCommand(command: string, message: any): void {
|
||||
@@ -25,7 +24,7 @@ export function issueFileCommand(command: string, message: any): void {
|
||||
}
|
||||
|
||||
export function prepareKeyValueMessage(key: string, value: any): string {
|
||||
const delimiter = `ghadelimiter_${uuidv4()}`
|
||||
const delimiter = `ghadelimiter_${crypto.randomUUID()}`
|
||||
const convertedValue = toCommandValue(value)
|
||||
|
||||
// These should realistically never happen, but just in case someone finds a
|
||||
|
||||
Reference in New Issue
Block a user