-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Initialize a Rush workspace for client SDKs #2047
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
Conversation
cc @Azure/azure-sdk-eng |
397392f
to
8c275db
Compare
44b2e5a
to
faa5885
Compare
Some notes:
|
Fixed.
This was always true. API Extractor v6 requires an old version. If we upgrade to v7 it will resolve this issue.
No, it's because we have many packages where the "test" script runs "build". We should clean this up in a followup PR.
😿 but for what it's worth you can edit the package.json manually and do
Good catch! Fixed.
Added to the README. What are your feelings on checking in the |
I have a vague worry that there are other things in vscode doing npm install for you, but talking with @ramya-rao-a this may be the only place. I like disabling it in settings.json. I also kinda like the hack you mention to allow updating of local settings! It lets me configure my extensions I love that nobody else has 😊 But, I'll leave that up to you, I'm ok dealing with untracked changes as well. |
14f99ea
to
c7a893d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few general questions:
- Should the Azure Pipelines YAML be updated to use the Rush commands for building, testing, etc?
- How does build and test performance compare between the current "npm-run-all" solution and Rush? What, if anything, does Rush improve with respect to developer experience, either inner loop (incremental compilation) or outer loop (full compilation)?
FWIW, my experience is full builds are much faster as it seems to skip things that are already built. |
I will run a few before/after perf tests. |
Yep, I am planning to do that in a followup PR. |
31c4e0b
to
8fdbcee
Compare
eb7d3b3
to
8aeffa1
Compare
The plugin can't resolve correctly when the dependency inside node_modules is a symlink rather than a regular directory. Update the configs to use the new 'mainFields' option and exclude 'main' from the list of fields to work around this.
@@ -0,0 +1,278 @@ | |||
/** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I accidentally posted this to another PR, not sure what happened, and I know this is already merged but I'm still curious about my question below.
Is there any hard rules about these files going into a folder called common? I ask mostly as for some of the other languages we have been putting similar engineering system type files under an "eng" directory.
This PR creates a new Rush workspace, currently only containing the client SDKs. It includes several dependency version updates to align them across projects - this way, Rush can ensure that dependency versions for all of our packages remain in sync going forward.
Rush is configured to use pnpm as the package manager which provides several additional benefits. However Rush is not 100% compatible with the current version of pnpm (v3) so we should hold off merging this until that compatibility is added, or roll back to v2 of pnpm in rush.json