Comments (2)
Hey @panshul007 – good question! Thanks for opening the issue.
tsconfig.module.json
is actually an entirely separate build. If you look at the build script, we actually compile your project twice. I should probably add this to the readme. (thanks!)
Here's a draft explanation, please let me know if it's clear enough:
Multiple builds (main
and module
)
The src
of typescript-starter is compiled into two separate builds, the main
and module
build. The main
build is configured to use the CommonJS module system, while the module
build uses the new ES6 module system.
Because Node.js does not yet support the ES6 module system, Node.js projects which depend on typescript-starter will follow the main
field in package.json
. Tools which support the new system (like Rollup) will follow the module
field, giving them the ability to tree shake typescript-starter.
Note: by default, the main
build is the only one exercised by the tests. While both builds are nearly identical, there are real differences in how the two module systems work. For most libraries, this won't be an issue, but for libraries with functionality that varies based on the module system used (generally a bad idea), additional testing is required.
from typescript-starter.
Thanks, the explains a lot.
from typescript-starter.
Related Issues (20)
- How can I set up express server typescript-starter HOT 1
- An in-range update of codecov is breaking the build 🚨 HOT 4
- Project Status HOT 6
- node_modules/ava/index.d.ts:5:10 - error TS2339: Property 'observable' does not exist on type 'SymbolConstructor'. HOT 4
- Can't generate docs with circular type HOT 1
- AppVeyor breaks on Node.js v14 HOT 1
- Add support for a GitHub Actions test matrix
- Cannot find namespace 'WebAssembly' HOT 2
- error TS2307: Cannot find module './lib/hash' or its corresponding type declarations. HOT 1
- Cannot find types for node error when running `npm run watch:build` HOT 2
- error TS2688: Cannot find type definition file for 'node'. HOT 4
- How do I generate a nodejs application with this starter? HOT 2
- Why there is a dependency of @bitauth/libauth? HOT 2
- Unexpected end of JSON input Error HOT 1
- Peer dependency mismatch causes project creation to be broken
- The javascript module link redirects to "Laptoptalks..."
- Option to work with ESM (ES Module) only libraries like node-fetch
- `pnpm` support as package manager HOT 4
- @bitauth/libauth dependency in generated project
- New project has errors in node_modules HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typescript-starter.