fix: use dayjs to format time

This commit is contained in:
Amin Yahyaabadi 2022-04-18 03:48:12 -07:00
parent 98c3fd0382
commit 6c260e10fa
5 changed files with 23 additions and 19 deletions

2
dist/setup_cpp.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -37,12 +37,12 @@
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/io": "^1.1.2", "@actions/io": "^1.1.2",
"@actions/tool-cache": "^1.7.2", "@actions/tool-cache": "^1.7.2",
"dayjs": "^1.11.1",
"execa": "^5.1.1", "execa": "^5.1.1",
"mri": "^1.2.0", "mri": "^1.2.0",
"msvc-dev-cmd": "github:aminya/msvc-dev-cmd#9f672c1", "msvc-dev-cmd": "github:aminya/msvc-dev-cmd#9f672c1",
"semver": "7.3.7", "semver": "7.3.7",
"setup-python": "github:actions/setup-python#7f80679172b057fc5e90d70d197929d454754a5a", "setup-python": "github:actions/setup-python#7f80679172b057fc5e90d70d197929d454754a5a",
"time-delta": "^1.0.0",
"untildify": "^4.0.0", "untildify": "^4.0.0",
"which": "^2.0.2" "which": "^2.0.2"
}, },

View File

@ -22,6 +22,7 @@ specifiers:
cross-env: 7.0.3 cross-env: 7.0.3
cross-spawn: ^7.0.3 cross-spawn: ^7.0.3
cspell: ^5.19.7 cspell: ^5.19.7
dayjs: ^1.11.1
eslint: ^8.13.0 eslint: ^8.13.0
eslint-config-atomic: ^1.17.1 eslint-config-atomic: ^1.17.1
execa: ^5.1.1 execa: ^5.1.1
@ -48,6 +49,7 @@ dependencies:
'@actions/exec': 1.1.1 '@actions/exec': 1.1.1
'@actions/io': 1.1.2 '@actions/io': 1.1.2
'@actions/tool-cache': 1.7.2 '@actions/tool-cache': 1.7.2
dayjs: 1.11.1
execa: 5.1.1 execa: 5.1.1
mri: 1.2.0 mri: 1.2.0
msvc-dev-cmd: github.com/aminya/msvc-dev-cmd/9f672c1 msvc-dev-cmd: github.com/aminya/msvc-dev-cmd/9f672c1
@ -3253,6 +3255,10 @@ packages:
resolution: {integrity: sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=} resolution: {integrity: sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=}
dev: true dev: true
/dayjs/1.11.1:
resolution: {integrity: sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==}
dev: false
/debug/2.6.9: /debug/2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
dependencies: dependencies:

View File

@ -18,10 +18,9 @@ import { setupPython } from "./python/python"
import mri from "mri" import mri from "mri"
import { untildify_user as untildify } from "./utils/path/untildify" import { untildify_user as untildify } from "./utils/path/untildify"
import { isGitHubCI } from "./utils/env/isci" import { isGitHubCI } from "./utils/env/isci"
import * as timeDelta from "time-delta" import dayjs from "dayjs"
// eslint-disable-next-line @typescript-eslint/ban-ts-comment // eslint-disable-next-line import/no-unassigned-import
// @ts-ignore import "dayjs/locale/en"
import enLocale from "time-delta/locales/en"
import semverValid from "semver/functions/valid" import semverValid from "semver/functions/valid"
import { getVersion } from "./default_versions" import { getVersion } from "./default_versions"
@ -128,10 +127,9 @@ export async function main(args: string[]): Promise<number> {
const successMessages: string[] = [] const successMessages: string[] = []
const errorMessages: string[] = [] const errorMessages: string[] = []
const timeFormatter = timeDelta.create() dayjs.locale("en")
timeDelta.addLocale(enLocale as timeDelta.LocaleData) let time1: number
let time1: Date let time2: number
let time2: Date
// installing the specified tools // installing the specified tools
@ -143,7 +141,7 @@ export async function main(args: string[]): Promise<number> {
// skip if undefined // skip if undefined
if (version !== undefined) { if (version !== undefined) {
// running the setup function for this tool // running the setup function for this tool
time1 = new Date(Date.now()) time1 = Date.now()
startGroup(`Installing ${tool} ${version}`) startGroup(`Installing ${tool} ${version}`)
try { try {
let installationInfo: InstallationInfo | undefined | void let installationInfo: InstallationInfo | undefined | void
@ -165,14 +163,14 @@ export async function main(args: string[]): Promise<number> {
errorMessages.push(`${tool} failed to install`) errorMessages.push(`${tool} failed to install`)
} }
endGroup() endGroup()
time2 = new Date(Date.now()) time2 = Date.now()
info(`took ${timeFormatter.format(time1, time2) as string}`) info(`took ${dayjs(new Date(time2 - time1)).format()}`)
} }
} }
// installing the specified compiler // installing the specified compiler
const maybeCompiler = opts.compiler const maybeCompiler = opts.compiler
time1 = new Date(Date.now()) time1 = Date.now()
try { try {
if (maybeCompiler !== undefined) { if (maybeCompiler !== undefined) {
const { compiler, version } = getCompilerInfo(maybeCompiler) const { compiler, version } = getCompilerInfo(maybeCompiler)
@ -219,15 +217,15 @@ export async function main(args: string[]): Promise<number> {
} }
} }
endGroup() endGroup()
time2 = new Date(Date.now()) time2 = Date.now()
info(`took ${timeFormatter.format(time1, time2) as string}`) info(`took ${dayjs(new Date(time2 - time1)).format()}`)
} }
} catch (e) { } catch (e) {
error(e as string | Error) error(e as string | Error)
errorMessages.push(`Failed to install the ${maybeCompiler}`) errorMessages.push(`Failed to install the ${maybeCompiler}`)
endGroup() endGroup()
time2 = new Date(Date.now()) time2 = Date.now()
info(`took ${timeFormatter.format(time1, time2) as string}`) info(`took ${dayjs(new Date(time2 - time1)).format()}`)
} }
if (successMessages.length === 0 && errorMessages.length === 0) { if (successMessages.length === 0 && errorMessages.length === 0) {