Skip to content
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

Typescript Tooling #1047

Closed
14 of 18 tasks
samreid opened this issue Jun 14, 2021 · 1 comment
Closed
14 of 18 tasks

Typescript Tooling #1047

samreid opened this issue Jun 14, 2021 · 1 comment

Comments

@samreid
Copy link
Member

samreid commented Jun 14, 2021

From the TypeScript investigation in phetsims/tasks#987, we developed some basic tooling for building TypeScript. For a full migration #1046, we will need:

Tooling Support

  • Run type checker as a precommit hook
  • Run type checker on CT. By default, output from tsc fails a build, so this will appear on CT.
  • How do you know when the code finished compiling, so you can run it in the browser? We don't want to launch stale code. How do we normally do that with compiled languages? Maybe trigger the browser to reload on changes? I set up a keystroke in WebStorm to build all (based on Set up modular tsconfig projects #1055) and it works well.
  • Make sure we aren't missing something that may cause problems for phet-io.
  • Get more repos working as "composite": true, right now we have to put many repos together since they cross-reference, see Improve modularity of common code repos #1052
  • Autogenerate project references from phetLibs
  • get tsc --build --watch working for all repos. Should we make a macro tsconfig that references all sims as projects? Done in Set up modular tsconfig projects #1055
  • Why does WebStorm create *.js files adjacent to *.ts files? A broken or missing tsconfig causes the default behavior of outputting js adjacent to ts.
  • Test existing tooling on Windows. Incremental build times seem comparable to mac, no problem with --watch
  • Add a grunt tsc-build step after pull on CT/phettest, for runnable repos. What if we pull sun or another common code repo--then run chipper build? Or should sun refer to chipper build file? Now that Set up modular tsconfig projects #1055 is complete, we could do tsc -b in all/. Tracked in CT needs a grunt tsc -b all step when pulling #1072 and phettest should run output-js #1073

Coverage

Extensions, Improvements and Next Steps

Many of these checkboxes should be addressed in side issues.

samreid added a commit that referenced this issue Jun 16, 2021
samreid added a commit to phetsims/perennial that referenced this issue Jun 16, 2021
samreid added a commit to phetsims/perennial that referenced this issue Jun 16, 2021
samreid added a commit to phetsims/perennial that referenced this issue Jun 16, 2021
samreid added a commit to phetsims/perennial that referenced this issue Jun 16, 2021
samreid added a commit that referenced this issue Jul 31, 2021
samreid added a commit that referenced this issue Aug 2, 2021
samreid added a commit that referenced this issue Aug 2, 2021
samreid added a commit that referenced this issue Aug 6, 2021
samreid added a commit to phetsims/gravity-and-orbits that referenced this issue Aug 6, 2021
samreid added a commit that referenced this issue Aug 25, 2021
@samreid
Copy link
Member Author

samreid commented Aug 25, 2021

All issues complete or moved to side issues, closing.

@samreid samreid closed this as completed Aug 25, 2021
samreid added a commit to phetsims/perennial that referenced this issue Sep 5, 2021
samreid added a commit to phetsims/perennial that referenced this issue Sep 7, 2021
samreid added a commit that referenced this issue Aug 1, 2022
samreid added a commit that referenced this issue Aug 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant