Skip to content

Use single traceviewer lib subtree#21

Draft
marcdumais-work wants to merge 9 commits into
masterfrom
use-single-traceviewer-lib-subtree
Draft

Use single traceviewer lib subtree#21
marcdumais-work wants to merge 9 commits into
masterfrom
use-single-traceviewer-lib-subtree

Conversation

@marcdumais-work

@marcdumais-work marcdumais-work commented Jul 15, 2025

Copy link
Copy Markdown
Owner

What it does

Rough instructions how this was done:

theia-trace-extension

1) rename packages to traceviewer-libs
note: had to do this after splitting the libs as subtree - else the git history was not picked-up correctly, resulting in a subtree with a single commit. 
rename packages folder to traceviewer-libs
    
This will make for a nicer, more descriptive name for the
splitted-out git subtree that will contain the two libraries
    


2) split-out tracewviewer-libs:
git subtree split --prefix=packages --branch traceviewer-libs
git checkout traceviewer-libs
git remote add traceviewer-libs git@github.com:marcdumais-work/traceviewer-libs.git
git push traceviewer-libs traceviewer-libs:master

3) add traceviewer-libs as subtree in vscode-trace-extension:
git subtree add --prefix=traceviewer-libs traceviewer-libs master --squash

How to test

Follow-ups

Review checklist

  • As an author, I have thoroughly tested my changes and carefully followed the instructions in this template

git-subtree-dir: local-libs/traceviewer-libs
git-subtree-split: 685150918767bb2705a5b9e8aab5e183ee2dd445
Small adaptations to root package.json, various tsconfig.json.

Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
It would be preferable to manage the version of traceviewer base
and react libraries elsewhere. Lerna is stepping the various
packages versions, when we do releases, using the package.json
scripts entries, e.g. "yarn version:patch".

The trick used is to have lerna only step the version of public
packages (vscode-trace-extension only) and leave the others alone,
including the traceviewer-* libraries. For this to work, it was
necessary to mark the libraries as private - this change will have
to be undone wherever they might get published to npm.

Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
For smoother sharing of the traceviewer-* libraries

Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
With a correct tsconfig.json setup, it's possible to watch
all the typescript workspaces' code using a single "tsc -b -w",
executed at the repo root. It's also necessary to cover webpack
where it is used.

https://webpack.js.org/configuration/watch

Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
@marcdumais-work
marcdumais-work force-pushed the master branch 2 times, most recently from 0b99c88 to 44763c0 Compare July 18, 2025 19:41
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

Successfully merging this pull request may close these issues.

1 participant