First, to prove that everything works without paths, we have index1.ts
which imports like this:
import { Greeter } from "./src/lib/greeter/index.js";
When we run the code:
NODE_OPTIONS="--loader ts-node/esm" node index1.ts
you'll see an output like this:
this is something Hello There
Then, we have index2.ts
, which imports like this:
import { Greeter } from "$lib/greeter/index.js";
When we run this code:
NODE_OPTIONS="--loader ts-node/esm" node index2.ts
it gives:
/home/marko/dev/ts-node-tsconfig-path-debug/node_modules/ts-node/dist-raw/node-esm-resolve-implementation.js:774
throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base));
^
CustomError: Cannot find package '$lib' imported from /home/marko/dev/ts-node-tsconfig-path-debug/index2.ts
at packageResolve (/home/marko/dev/ts-node-tsconfig-path-debug/node_modules/ts-node/dist-raw/node-esm-resolve-implementation.js:774:9)
at moduleResolve (/home/marko/dev/ts-node-tsconfig-path-debug/node_modules/ts-node/dist-raw/node-esm-resolve-implementation.js:815:18)
at Object.defaultResolve (/home/marko/dev/ts-node-tsconfig-path-debug/node_modules/ts-node/dist-raw/node-esm-resolve-implementation.js:929:11)
at /home/marko/dev/ts-node-tsconfig-path-debug/node_modules/ts-node/src/esm.ts:228:33
at entrypointFallback (/home/marko/dev/ts-node-tsconfig-path-debug/node_modules/ts-node/src/esm.ts:179:34)
at resolve (/home/marko/dev/ts-node-tsconfig-path-debug/node_modules/ts-node/src/esm.ts:227:12)
at Loader.resolve (node:internal/modules/esm/loader:89:40)
at Loader.getModuleJob (node:internal/modules/esm/loader:242:28)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:73:40)
at link (node:internal/modules/esm/module_job:72:36)```