Node.js 18+ for ESM
Configure a TypeScript project with NodeNext module resolution and @/ path aliases.
1 { 2 "name": "my-lib", 3 "version": "1.0.0", 4 "type": "module", 5 "main": "./dist/index.js", 6 "exports": { 7 ".": { 8 "import": "./dist/index.js", 9 "types": "./dist/index.d.ts" 10 }, 11 "./utils": { 12 "import": "./dist/utils.js", 13 "types": "./dist/utils.d.ts" 14 } 15 }, 16 "scripts": { 17 "build": "tsc", 18 "dev": "node --loader ts-node/esm --require tsconfig-paths/register src/index.ts" 19 }, 20 "devDependencies": { 21 "typescript": "^5.0.0", 22 "ts-node": "^10.9.0", 23 "tsconfig-paths": "^4.2.0" 24 } 25 }
import from "./utils.js" resolves ts file; import from "@/lib" resolves to src/lib
Sign in to share your feedback and join the discussion.