I have a rather large project A using Node and Typescript. In project A I have a lot of different modules that I would like to reuse in another project B.
Therefore I have built the project A with this tsconfig.json:
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
"declaration": true,
"outDir": "./dist",
"sourceMap": true,
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"typeRoots": ["./node_modules/@types", "./modules/@types"]
},
"exclude": ["node_modules"]
}
So all the files are built into the /dist folder this way:
- dist
- moduleA.js
- moduleA.map
- moduleA.d.ts
- moduleB.js
- moduleB.map
- moduleB.d.ts
- ....
To use these moduleA and moduleB in another project, I add the following to the package.json in Project A:
"name": "projectA",
"version": "1.0.0",
"description": "...",
"main": "dist/moduleA.js",
"typings": "dist/moduleA.d.ts",
I use yarn workspaces to access Project A as a package in Project B. But problem is that I can only access moduleA, when using import {ModuleA} from 'projectA'
in my new project B? So how can I access more modules from ProjectA?
Would simply consolidating all exports in one
index.ts
do the trick for you?package.json (projectA):
index.ts (projectA):
Some module in projectB: