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

Switch to composite typescript build #1179

Open
4 of 8 tasks
tortmayr opened this issue Nov 28, 2023 · 0 comments
Open
4 of 8 tasks

Switch to composite typescript build #1179

tortmayr opened this issue Nov 28, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request epic
Projects

Comments

@tortmayr
Copy link
Contributor

tortmayr commented Nov 28, 2023

We should consider updating your build setup in all ts repositories to use a composite typescript build that can be executed from the root
instead of the current lerna-> run build command in all packages approach.
Sprotty and Theia are also using composite typescript builds and this has a couple of advantages:

  • All packages are consistently build with the same typescript version
  • The build is a lot faster because only parts that have been changed are rebuild
  • Typescript`s incremental build feature only works well with composite builds (currently we are just throwing a way the cached build info with every new build request)
  • Watching uses a lot less resources. Instead of starting a watch process for each package individually we just have to start one in the root (and optionally for webpack bundles)

While we are at it we can also improve the linting setup. Currently we are streaming the lint command to all packages. This is not necessary because our eslint config is already available in the root so we could just execute one single lint command from the root.,

Repos:

@tortmayr tortmayr added the enhancement New feature or request label Nov 28, 2023
@tortmayr tortmayr added this to New in GLSP kanban via automation Nov 28, 2023
@planger planger moved this from New to To do in GLSP kanban Nov 30, 2023
@planger planger assigned planger and tortmayr and unassigned planger Nov 30, 2023
tortmayr added a commit to eclipse-glsp/glsp-playwright that referenced this issue Mar 3, 2024
# GLSP-1179
- Update tsconfig, eslint config and package.json to fully utilize composite typescript/eslint builds
-- Compile typescript code from root instead of streaming to each package
-- Remove lint and clean from prepare steps. Linting is the most expensive step and is already
    covered via vscode/ci. Manual execution is enough. Skipping the clean step per default
    ensures that we can fully utilize incremental ts builds
-- Adapt linting commands to be executed with a single command from root instead of streaming 
    to all packages
Part of eclipse-glsp/glsp#1179


# GLSP 1154
- Update project configuration to also create projects for testing against firefox/edge
  if the MULTI_BROWSER env variable is set to true
- Update to playwright 1.42.1. This is necessary to allow passing regexes/wildcards for the --project argument
- Also report with `estruyf/github-actions-reporter` when running in CI

Part  of  eclipse-glsp/glsp#1154
tortmayr added a commit to eclipse-glsp/glsp-playwright that referenced this issue Mar 3, 2024
# GLSP-1179
- Update tsconfig, eslint config and package.json to fully utilize composite typescript/eslint builds
-- Compile typescript code from root instead of streaming to each package
-- Remove lint and clean from prepare steps. Linting is the most expensive step and is already
    covered via vscode/ci. Manual execution is enough. Skipping the clean step per default
    ensures that we can fully utilize incremental ts builds
-- Adapt linting commands to be executed with a single command from root instead of streaming 
    to all packages
Part of eclipse-glsp/glsp#1179


# GLSP 1154
- Update project configuration to also create projects for testing against firefox/edge
  if the MULTI_BROWSER env variable is set to true
- Update to playwright 1.42.1. This is necessary to allow passing regexes/wildcards for the --project argument
- Also report with `estruyf/github-actions-reporter` when running in CI

Part  of  eclipse-glsp/glsp#1154
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Mar 17, 2024
- Use composite ts build instead of streaming the build command to each package
- Execute linting from root instead of streaming lint command to each package
- Execute watch from root instead of streaming watch command to each package
Part of eclipse-glsp/glsp#1179
tortmayr added a commit to eclipse-glsp/glsp-client that referenced this issue Mar 21, 2024
- Use composite ts build instead of streaming the build command to each package
- Execute linting from root instead of streaming lint command to each package
- Execute watch from root instead of streaming watch command to each package
Part of eclipse-glsp/glsp#1179
@tortmayr tortmayr added the epic label Mar 26, 2024
@tortmayr tortmayr pinned this issue Mar 26, 2024
tortmayr added a commit to eclipse-glsp/glsp-theia-integration that referenced this issue Mar 26, 2024
tortmayr added a commit to eclipse-glsp/glsp-vscode-integration that referenced this issue Mar 27, 2024
tortmayr added a commit to eclipse-glsp/glsp-theia-integration that referenced this issue Apr 12, 2024
tortmayr added a commit to eclipse-glsp/glsp-vscode-integration that referenced this issue Apr 15, 2024
tortmayr added a commit to eclipse-glsp/glsp-server-node that referenced this issue Apr 15, 2024
+ update to lates dev package & new update script
Part of eclipse-glsp/glsp#1179
tortmayr added a commit to eclipse-glsp/glsp-server-node that referenced this issue Apr 15, 2024
+ update to lates dev package & new update script
Part of eclipse-glsp/glsp#1179
tortmayr added a commit to eclipse-glsp/glsp-server-node that referenced this issue Apr 16, 2024
+ update to lates dev package & new update script
Part of eclipse-glsp/glsp#1179
tortmayr added a commit to eclipse-glsp/glsp-server-node that referenced this issue Apr 17, 2024
+ update to lates dev package & new update script
Part of eclipse-glsp/glsp#1179
@tortmayr tortmayr unpinned this issue Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request epic
Projects
No open projects
GLSP kanban
  
To do
Development

No branches or pull requests

2 participants