7 ms·
Just migrated one of our projects from webpack+babel+tsc to just webpack with esbuild-loader, the difference is astounding. Just need to remove webpack itself n
by adamparsons 4y ago
Just migrated one of our projects from webpack+babel+tsc to just webpack with esbuild-loader, the difference is astounding. Just need to remove webpack itself now so we can use their transforms.
- lelandfe 4y agoDoesn't esbuild skip Typescript type checking? https://esbuild.github.io/content-types/#typescript https://esbuild.github.io/content-types/#typescript You'll still need to keep tsc around for that, though perhaps you're doing that with another step in Webpack...?
- moron4hire 4y agoDuring hour to hour development, I just let Visual Studio tell me about the errors as they come up. On the rare occasions I don't already have the editor open before deploying, I have a shell script to kick off the right tsc invocation. Otherwise, bundling plus uploading to the server is just another shell script. Yes, a full type check from scratch is slow, but it doesn't come up that often.
- simlevesque 4y agoTo anyone who wants to do this: Let's say you have a tsconfig.json. Create a tsconfig-test.json like this: { "compilerOptions": { "noEmit": true, "skipLibCheck": true }, "extends": "./tsconfig.json", "include": ["./\*/*.ts", "./\*/*.d.ts"] } Add a script to your package.json (I use "test-types") ... "scripts": { "test-types": "tsc --project ./tsconfig-test.json", ... Then you can "yarn test-types" quickly. I use husky[1] to run that command as a git pre-commit hook. My team cannot commit Typescript errors. Additionally I have a strict tsconfig and a strict eslint config (with these plugins:sonarjs, @typescript-eslint, simple-import-sort) which prevents "any" types and bad typescript hygiene. Results in faster code reviews. [1] https://www.npmjs.com/package/husky https://www.npmjs.com/package/husky
- deleted 4y ago[deleted]
- rtpg 4y agoYou don’t need webpack to run tsc. You can treat typescript as a linter and run it seperately (it also has a fast watch mode)
- lelandfe 4y agoParent comment said they went from "webpack+babel+tsc" to "webpack with esbuild-loader" The lack of tsc in the new process made me wonder if it just got added to Webpack
- samhuk 4y agoIt does, but esbuild helps with hot-reloading speed. You just have your tsc compile as a pre-commit git hook and CI pipeline step.