Closed U-4-E-A closed 3 months ago
I had the same issue, this fixed it. going to use patch-package til the author has time to update.
For anyone interested:
patches/tsc-alias+1.8.8.patch
:
diff --git a/node_modules/tsc-alias/dist/utils/import-path-resolver.js b/node_modules/tsc-alias/dist/utils/import-path-resolver.js
index ebaf620..227d4c7 100644
--- a/node_modules/tsc-alias/dist/utils/import-path-resolver.js
+++ b/node_modules/tsc-alias/dist/utils/import-path-resolver.js
@@ -5,8 +5,9 @@ const normalizePath = require("normalize-path");
const fs_1 = require("fs");
const path_1 = require("path");
const anyQuote = `["']`;
+const excludeLocalImportSyntax = `[(?!\.)]`;
const pathStringContent = `[^"'\r\n]+`;
-const importString = `(?:${anyQuote}${pathStringContent}${anyQuote})`;
+const importString = `(?:${anyQuote}${excludeLocalImportSyntax}${pathStringContent}${anyQuote})`;
const funcStyle = `(?:\\b(?:import|require)\\s*\\(\\s*(\\/\\*.*\\*\\/\\s*)?${importString}\\s*\\))`;
const globalStyle = `(?:\\bimport\\s+${importString})`;
const fromStyle = `(?:\\bfrom\\s+${importString})`;
@U-4-E-A Your fix breaks all tests. Please send a PR. THANKS
I don't have a PR available, sorry. My own testing was simply done by running the CLI on my packages.
This should be closed now that we pushed a fix #218
References #197 and #199.
Currently, both the following are treated the same: -
Both will be suffixed: -
This is due to the regex in
utils/import-path-resolver.ts
not differentiating between import/require statements that have local import syntax and those that do not (and are therefore node modules imports): -This simply matches any string between 2 quotes. Please resolve this issue by amending the regex to that below. The
excludeLocalImportSyntax
regex excludes strings that start with.
. This could be expanded out to./
or../
for local imports but I see no need as any local import should start with.
(tested).