Skip to content

Commit 389c237

Browse files
committedSep 5, 2024
meeting 2024-08-28
1 parent 85466da commit 389c237

File tree

2 files changed

+79
-0
lines changed

2 files changed

+79
-0
lines changed
 

‎.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,4 @@ dist
128128
.yarn/build-state.yml
129129
.yarn/install-state.gz
130130
.pnp.*
131+
.DS_Store

‎meetings/2024-08-28.md

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Node.js TypeScript team Meeting 2024-08-28
2+
3+
## Links
4+
5+
* **Recording**: <https://zoom.us/rec/share/I0O7u3h6xFIay4lOBrIuvOXJNyDQloSdxk3IOmCjU-iaR_ExDTlcsQjAW_VMOpTf.BButid5V-V6h1-oq>
6+
* **GitHub Issue**: <https://github.com/nodejs/typescript/issues/5>
7+
8+
## Present
9+
10+
* Typescript team: @nodejs/typescript
11+
* Marco Ippolito: @marco-ippolito
12+
* Rob Palmer @robpalme
13+
* Lucas Santos @khaosdoctor
14+
* Andrew Branch @andrewbranch
15+
* Daniel Rosenwasser @DanielRosenwasser
16+
* Michael Dawson @mhdawson
17+
* ZiJian Liu @Lxxyx
18+
* Shadrach Ekpo @shadrach-se
19+
* Jake Bailey @jakebailey
20+
* Jake Yuesong Li @jakecastelli
21+
22+
## Agenda
23+
24+
## Announcements
25+
26+
* Extracted from **typescript-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting.
27+
28+
### nodejs/loaders
29+
30+
* Roadmap for experimental TypeScript support [#217](https://github.com/nodejs/loaders/issues/217)
31+
32+
* Node.js advancing in the roadmap, fixing bugs, (some work on sourcemaps).
33+
* Consensus is before unflagging we need to test with bigger codebase and have proper tooling.
34+
* TypeScript working on <https://github.com/microsoft/TypeScript/issues/59601>
35+
to support –strip-types with ‘.ts’ extensions (might be released on ts 5.7).
36+
* Andrew showcasing the work.
37+
* showed a way to use the Node.js experimental features with monorepos
38+
* Marco mentioned that monorepos were out of scope to start, but great to see that it worked better than expected.
39+
* Rob, people are naturally want to grow up to larger projects so important to explore this
40+
* There are two bits that we need for this to work, one that we’ve just seen, forking imports to `.js’ and`.ts`, will see that pattern a lot and still be bit more overhead that ideal
41+
* The other bit is that it implies that something is doing extension re-writing as part of the compilation.
42+
* Daniel, only need to work about that if you are publishing to npm, as Node.js will not run TS from npm modules
43+
* Andrew, the demo that was least visible, is that it does rely on the prototype of a flag in TS that does rewrites, tsconfig flag that rewrites relative imports. One PR into functionality that might make it into the next version of TS.
44+
* Andrew, agreeing on the boilerplate side of things, originally thought that maybe we should do something. Had thought that maybe Node.js should set a condition, but after experimenting I was much more hesitant about that, as I liked the level of control by setting them myself. Lower chance of affecting people using/consuming the library. Happy to brainstorm ideas/approaches but current thought that it is safer to avoid Node. defining the condition.
45+
* Daniel, if there was a way to make a condition truly private that would be useful, but I guess it would be nice to have.
46+
47+
* Import specifiers in `--experimental-strip-types` [#214](https://github.com/nodejs/loaders/issues/214)
48+
* This is kind of what we were just talking about
49+
* It implies that if you are allowing people to write ts files, then there must be a tool to rewrite to
50+
js to run.
51+
* Jake, no action needed, the current iterator works as expected?
52+
* Rob, without Marco here it's a bit harder to understand the intent.
53+
* Rob, intent do they like the concept of extension rewriting
54+
* rewriting is implied because you want to publish
55+
* Jake, if you don’t care about anybody running without the flag. But what happens if people
56+
publish code, it also adds another dimension of support
57+
* Andrew, what we’ve seen users really like to think in terms of their Typescript files, like to write .ts extensions, strategy also makes Node.js not have to change its module resolution algorithm. Re-writing support, that makes specifying the ts specifiers makes the approach more durable. There was a suggestion that Node.js accept js, but if we can get rewriting working then that is the best approach to pursue to start
58+
* Daniel, not much to add even with a workspace, you technically don’t need to rewrite, mostly a product of how you want to set things up. Room for these things to develop over time.
59+
* Don’t want people to have to worry about TS compatibility
60+
* Michael, asked question to clarify understanding of extension re-writing
61+
* Rob, runtime versus ahead of time rewrite, from past history, very important that imports can be statically analyzed. So even if runtime shim did it, would consider constraining it to those that could be done ahead of time.
62+
* Daniel, for example, if it could not be rewritten ahead of time?
63+
* Rob, existing tools offer options to constrain
64+
* Andrew, were not going to put restriction that some part needs to be statically analysable
65+
* Limited to relative paths as can be more confident as to what will happen, versus bare specifiers.
66+
* Rob, typescript needs to know to provide types
67+
* Daniel, in that case you need to provide a typecast that convinces us that you know what you are doing.
68+
* Jake made a good next step, look at existing bundlers. They are so widely used, the constraints they impose are well respected. e.g. esbuild can resolve the ts in a dynamic import <https://jakebailey.dev/esbuild-playground/#v3=PTAEAEDMEsBsFMB2BDAtvAXKaiAm8APAOgBcBnAKEIAcB7AJxNGTIE9EBjUSAV05Oi1EoAILVqACgCUoAN4VQoDkLJMCoALzMA7smhNoqOowkAiIsGS589UmVNSA3AtD14JHvWHEruCQEYAGlAAJikKAF8KChAIGAQUdCxfeFtyKgJjJl5+QWFfCWQsRB5UACNU4LLi0or6GXlFNw8vZlAAalAy5yigA>
69+
70+
## Q&A, Other
71+
72+
[Q] Do other runtimes support sourcemaps by default? And do the users think it's a performance issue?
73+
74+
## Upcoming Meetings
75+
76+
* **Node.js Project Calendar**: <https://nodejs.org/calendar>
77+
78+
Click `+GoogleCalendar` at the bottom right to add to your own Google calendar.

0 commit comments

Comments
 (0)