babel-plugin-module-resolver
babel-plugin-module-resolver copied to clipboard
SyntaxError: Unexpected token 'export'
Hello everyone,
I'm coding a typescript project that depends on private typescript dependencies. My first step was to find a way to have the power of typescript completion on vscode. I had two solutions for that:
- Write module.d.ts for each of my private dependencies and transpile them into javascript.
- Find a way for my project to use typescript node_modules
With babel-plugin-module-resolver, I've written done this .babelrc file:
{
"presets": ["@babel/preset-typescript", "@babel/preset-env"],
"plugins": [
"@babel/proposal-class-properties",
[
"module-resolver",
{
"root": ["./"],
"alias": {
"@": "./srcs",
"private-lib1": "./node_modules/private-lib1/srcs",
"private-lib2": "./node_modules/private-lib2/srcs"
}
}
]
]
}
And I appended this to my tsconfig.json file:
{
"baseUrl": "./srcs",
"paths": {
"@/*": ["./*"],
"private-lib1": ["../node_modules/private-lib1/srcs/index.ts"],
"private-lib2": ["../node_modules/private-lib2/srcs/index.ts"]
}
},
"include": ["srcs", "node_modules/private-lib1", "node_modules/private-lib2"]
When a run babel I get this error:
/home/xxx/Project/node_modules/private-lib1/srcs/index.ts:1
export * from './api';
^^^^^^
SyntaxError: Unexpected token 'export'
at wrapSafe (internal/modules/cjs/loader.js:1067:16)
at Module._compile (internal/modules/cjs/loader.js:1115:27)
at Module._compile (/home/xxx/Project/node_modules/pirates/lib/index.js:99:24)
at Module._extensions..js (internal/modules/cjs/loader.js:1171:10)
at Object.newLoader [as .ts] (/home/xxx/Project/node_modules/pirates/lib/index.js:104:7)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14)
at Module.require (internal/modules/cjs/loader.js:1040:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (/home/xxx/Project/srcs/router/auth.ts:3:1)
So babel find the file, my completion work like a charm but babel connot transpile my dependencies. Do you know why or even better got a solution ?
This is my package.json devDependencies:
"devDependencies": {
"@babel/cli": "^7.10.4",
"@babel/core": "^7.10.4",
"@babel/node": "^7.10.4",
"@babel/plugin-proposal-class-properties": "^7.10.4",
"@babel/plugin-transform-runtime": "^7.10.5",
"@babel/preset-env": "^7.10.4",
"@babel/preset-typescript": "^7.10.4",
"@babel/runtime-corejs3": "^7.10.5",
"babel-plugin-module-resolver": "^4.0.0",
"babel-watch": "^7.0.0",
"eslint": "^7.4.0",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-prettier": "^3.1.4"
}
Thank you so much !