From 43ad014419c07d087a6236420171338168cb553a Mon Sep 17 00:00:00 2001 From: jonz94 Date: Fri, 17 Mar 2023 02:35:18 +0800 Subject: [PATCH 1/2] fix(info): display correct os name on Windows 11 --- packages/@ionic/cli/package.json | 2 +- packages/@ionic/cli/src/lib/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@ionic/cli/package.json b/packages/@ionic/cli/package.json index 935a21687e..f44f4a700b 100644 --- a/packages/@ionic/cli/package.json +++ b/packages/@ionic/cli/package.json @@ -57,7 +57,7 @@ "leek": "0.0.24", "lodash": "^4.17.5", "open": "^7.0.4", - "os-name": "^4.0.0", + "os-name": "^5.1.0", "semver": "^7.1.1", "split2": "^3.0.0", "ssh-config": "^1.1.1", diff --git a/packages/@ionic/cli/src/lib/index.ts b/packages/@ionic/cli/src/lib/index.ts index 1effce3290..80193d6c83 100644 --- a/packages/@ionic/cli/src/lib/index.ts +++ b/packages/@ionic/cli/src/lib/index.ts @@ -49,7 +49,7 @@ export async function generateIonicEnvironment(ctx: IonicContext, pargv: string[ const proxyVars = PROXY_ENVIRONMENT_VARIABLES.map((e): [string, string | undefined] => [e, process.env[e]]).filter(([, v]) => !!v); const getInfo = async () => { - const osName = await import('os-name'); + const { default: osName } = await import('os-name'); const semver = await import('semver'); const { getUpdateConfig } = await import('./updates'); From 0ea2e7a940d3e88d4341c90d58abdc6c16972d83 Mon Sep 17 00:00:00 2001 From: jonz94 Date: Fri, 17 Mar 2023 05:04:14 +0800 Subject: [PATCH 2/2] fix: use `eval()` to avoid `tsc` convert `import()` to `require()` --- packages/@ionic/cli/src/lib/index.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/@ionic/cli/src/lib/index.ts b/packages/@ionic/cli/src/lib/index.ts index 80193d6c83..f9989dafdb 100644 --- a/packages/@ionic/cli/src/lib/index.ts +++ b/packages/@ionic/cli/src/lib/index.ts @@ -49,7 +49,10 @@ export async function generateIonicEnvironment(ctx: IonicContext, pargv: string[ const proxyVars = PROXY_ENVIRONMENT_VARIABLES.map((e): [string, string | undefined] => [e, process.env[e]]).filter(([, v]) => !!v); const getInfo = async () => { - const { default: osName } = await import('os-name'); + // use `eval()` to avoid `tsc` convert `import()` to `require()` + // because `os-name` package only support ESM since v5 release + // TODO: remove `eval()` once we upgrade to typescript 4.7+ and set `module: "node16"` in `tsconfig.base.json` + const { default: osName } = await eval("import('os-name')"); const semver = await import('semver'); const { getUpdateConfig } = await import('./updates');