-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tooling updates #420
Tooling updates #420
Conversation
lauckhart
commented
Oct 19, 2023
- Use --isolatedModules as using a non-tsc transpiler is a little unsafe without it
- Use --skipLibCheck as type checking libraries is largely redundant
- Invoke typescript compiler via API to avoid warmup cost
- Fix type checking for tests which was inadvertently disabled by tsconfig restructure
- Stop using tsconfig entirely for command line builds except for type references
- Only emit types for libraries, just validate for applications
- New "graph" build command to display workspace dependency graph
- New "--workspaces" build option removes NPM and TSC overhead from workspace build
- On rebuild skip packages with no changes to source files or dependencies
- More robust bootstrapping for build & run
- Improved modularity of tooling code, mostly to support workspace builds
- Fix various relative path resolution issues when using --prefix
- Infrastructure is in place for parallel build but didn't bother as it'd require UI work
With --isolatedModules TS chokes on these. Esbuild ignores the "const" part so the constness is irrelevant anyway.
d6f2d25
to
f50fac7
Compare
@vilic if you like ... be invited for review too ... you also seem to know a bit on Typescript and such :-) |
599e5fc
to
48384a2
Compare
- Use --isolatedModules as using a non-tsc transpiler is a little unsafe without it - Use --skipLibCheck as type checking libraries is largely redundant - Invoke typescript compiler via API to avoid warmup cost - Fix type checking for tests which was inadvertently disabled by tsconfig restructure - Stop using tsconfig entirely for command line builds except for type references - Only emit types for libraries, just validate for applications - New "graph" build command to display workspace dependency graph - New "--workspaces" build option removes NPM and TSC overhead from workspace build - On rebuild skip packages with no changes to source files or dependencies - More robust bootstrapping for build & run - Improved modularity of tooling code, mostly to support workspace builds - Fix various relative path resolution issues when using --prefix - Infrastructure is in place for parallel build but didn't bother as it'd require UI work
77077de
to
652b408
Compare
652b408
to
9e6e84d
Compare
Thanks for the invitation. I looked through the changed files, but honestly this PR is both overwhelming and hard core to me. As the workflow doesn't seem familiar, and I never used many APIs appears in this PR. But to the part I understand, it looks good to me. Actually I considered to replace all Some other suggestions/questions related:
|
I can tell for 3.) |
PS: Thank you very much for your time to check it. I totally agree to your first paragraph ;-)) "Black magic" :-) |
Thanks @vilic You're right, .prettierignore seems like a better way to go. I'll make the change next time I have to touch the whitelist if nobody does it first. Also good point on .d.ts files, maybe a custom eslint rule is in order. I don't really watch either, between large refactors and code gen I seem to have the world blown up a lot. I've used nodemon a couple of times but mostly just have esbuild and/or npm build pipelined before run/debug. I considered adding a watch script to the root package.json using nodemon and our "build" but figured if we're going to maintain your tsconfig structure then tsc build/watch might be preferrable. |
@lauckhart You may also consider that for eslint as well. BTW single quote (related pattern lists in package.json scripts) is not compatible on Windows (cmd) either. |
Ah right, that raises the priority on moving to dotfiles. I opened #425 to track. |