From 65ed90f4a62d0316a165b8143409278ef989675c Mon Sep 17 00:00:00 2001 From: Romain Lenzotti Date: Thu, 23 Jan 2025 18:10:36 +0100 Subject: [PATCH] fix(cli): fix alias module resolution on Windows OS --- packages/cli/package.json | 1 - packages/cli/src/bin/tsed.ts | 13 +++++++------ packages/cli/src/loaders/alias.hook.ts | 11 +++++++++-- yarn.lock | 8 -------- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 92062591f..d15689c2e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -75,7 +75,6 @@ "@tsed/schema": ">=8.0.0", "chalk": "^5.3.0", "change-case": "^5.4.4", - "esm-module-alias": "^2.2.1", "globby": "^14.0.2", "read-pkg-up": "^11.0.0", "semver": "^7.6.3", diff --git a/packages/cli/src/bin/tsed.ts b/packages/cli/src/bin/tsed.ts index a47be169d..5907c9b83 100644 --- a/packages/cli/src/bin/tsed.ts +++ b/packages/cli/src/bin/tsed.ts @@ -1,17 +1,18 @@ #!/usr/bin/env node import {register} from "node:module"; +import {join} from "node:path"; import {fileURLToPath, pathToFileURL} from "node:url"; const EXT = process.env.CLI_MODE === "ts" ? "ts" : "js"; -register(pathToFileURL(`${import.meta.dirname}/../loaders/alias.hook.${EXT}`), { +register(pathToFileURL(join(import.meta.dirname, `../loaders/alias.hook.${EXT}`)), { parentURL: import.meta.dirname, data: { - "@tsed/core": fileURLToPath(import.meta.resolve("@tsed/core")), - "@tsed/di": fileURLToPath(import.meta.resolve("@tsed/di")), - "@tsed/schema": fileURLToPath(import.meta.resolve("@tsed/schema")), - "@tsed/cli-core": fileURLToPath(import.meta.resolve("@tsed/cli-core")), - "@tsed/cli": fileURLToPath(import.meta.resolve("@tsed/cli")) + "@tsed/core": import.meta.resolve("@tsed/core"), + "@tsed/di": import.meta.resolve("@tsed/di"), + "@tsed/schema": import.meta.resolve("@tsed/schema"), + "@tsed/cli-core": import.meta.resolve("@tsed/cli-core"), + "@tsed/cli": import.meta.resolve("@tsed/cli") }, transferList: [] }); diff --git a/packages/cli/src/loaders/alias.hook.ts b/packages/cli/src/loaders/alias.hook.ts index 5e5bb8038..cb0125edf 100644 --- a/packages/cli/src/loaders/alias.hook.ts +++ b/packages/cli/src/loaders/alias.hook.ts @@ -1,9 +1,16 @@ -import generateAliasesResolver from "esm-module-alias"; +function generateAliasesResolver(aliases: Record, options?: any) { + return (specifier: any, parentModuleURL: any, defaultResolve: any) => { + if (aliases[specifier]) { + return defaultResolve(aliases[specifier], parentModuleURL); + } + + return defaultResolve(specifier, parentModuleURL); + }; +} let resolver: any = null; export async function initialize(aliases: Record) { - // Receives data from `register`. resolver = generateAliasesResolver(aliases); } diff --git a/yarn.lock b/yarn.lock index f385a1f59..ee51f6430 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2676,7 +2676,6 @@ __metadata: chalk: "npm:^5.3.0" change-case: "npm:^5.4.4" cross-env: "npm:7.0.3" - esm-module-alias: "npm:^2.2.1" globby: "npm:^14.0.2" read-pkg-up: "npm:^11.0.0" semver: "npm:^7.6.3" @@ -6703,13 +6702,6 @@ __metadata: languageName: node linkType: hard -"esm-module-alias@npm:^2.2.1": - version: 2.2.1 - resolution: "esm-module-alias@npm:2.2.1" - checksum: 10/2dda8bdde12b7b6fdfe7dd0efc4abe15c09af26f62cf5540d3df464dfe1be6a9a627105d5b6ea940f0be4d87c78c15db192fff821be7869b16cc9a1e678b8b31 - languageName: node - linkType: hard - "espree@npm:^10.0.1, espree@npm:^10.1.0": version: 10.1.0 resolution: "espree@npm:10.1.0"