From 6467d7a4deeca539ca906db822ad1fa54e3d8f02 Mon Sep 17 00:00:00 2001 From: shuheikikuchi Date: Wed, 14 Jun 2023 19:51:19 +0900 Subject: [PATCH] refactor: Use slash package to convert Windows paths --- package.json | 3 ++- pnpm-lock.yaml | 8 ++++++++ src/utils/template.ts | 7 ++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a32bbc2..65d52c9 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,8 @@ "execa": "^7.1.1", "lowdb": "^6.0.1", "mkdirp": "^3.0.1", - "picocolors": "^1.0.0" + "picocolors": "^1.0.0", + "slash": "^5.1.0" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.59.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ca0b72..5c47865 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,6 +23,9 @@ dependencies: picocolors: specifier: ^1.0.0 version: 1.0.0 + slash: + specifier: ^5.1.0 + version: 5.1.0 devDependencies: '@typescript-eslint/eslint-plugin': @@ -2536,6 +2539,11 @@ packages: engines: {node: '>=8'} dev: true + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + dev: false + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} diff --git a/src/utils/template.ts b/src/utils/template.ts index cb87427..69843ab 100644 --- a/src/utils/template.ts +++ b/src/utils/template.ts @@ -1,13 +1,18 @@ +import slash from 'slash'; + type CreateWorkspaceFileProps = { path: string; }; export function createWorkspaceTemplate({ path }: CreateWorkspaceFileProps) { + // Windows backslash path (e.g. `C:\Users\xxx\yyy`) is not valid in vscode workspace json. + const slashedPath = slash(path); + return ` { "folders": [ { - "path": "${path}" + "path": "${slashedPath}" } ] }`.trim();