The markdown-magic and changelog-generator-wrapper packages are both
private packages that we use in various places within the repo. We have
been using `file:` links to these packages in the root workspace, but
that causes `pnpm i` to always trigger resolution, which not only wastes
time, but produces unnecessary lockfile changes in some cases.
I left the markdown-magic package where it is to minimize the change,
since it has a build pipeline and we continue to use `file:`
dependencies in other places like docs.
changelog-generator-wrapper, on the other hand, was moved to
packages/tools. We can do the same for markdown-magic once its build
pipeline is disabled/removed.
Including these packages in the root workspace caused the following
changes:
- Some dependency versions were changed to match those used in the
client release group.
- The version of the packages was updated to match the client release
group version. These packages are not published so the version should be
irrelevant.
Our workspace definitions are including projects that shouldn't be
included, especially when using temporary package.json files to control
the compilation of ESM/CJS in dual-emit packages.
This change updates the definitions to be narrower. For the client
workspace in particular, the results are more verbose because we have
packages at arbitrary depths in the tree. We should address this over
time by reorganizing the repo. For the server-related release groups the
change is much smaller because they're small and follow conventions.
Makes the following changes to our shared prettier config:
1. Formats YAML files with 2 spaces always and forces spaces since tabs
are frowned upon in YAML.
2. ~~Formats markdown paragraphs to a single line, since GitHub is
inconsistent in how it treats soft line breaks. More markdown formatting
will need to be done with a different tool like markdownlint because
prettier's markdown formatting isn't great.~~
3. Treats some additional files as JSON5.
## Description
Part of removing references to our no longer existing
lerna-package-lock.json files.
Also includes some other removals from the .prettierignore files that
are not needed.
Most significant are the pnpm workspace files which were autoformatted
as part of this change.
This PR changes the client release group to use pnpm instead of npm.
lerna now uses the pnpm workspace config and uses pnpm to execute
scripts.
## Things that should still work
Note: `fluid-build` === `npm run build:fast`
- fluid-build should continue to build the repo incrementally.
- `fluid-build --install` should use pnpm for the release groups that
use it and npm elsewhere.
- You can still use npm to run scripts, e.g. `npm run build`, or you can
switch to pnpm e.g. `pnpm build`.
Co-authored-by: Rishhi Balakrishnan <107130183+RishhiB@users.noreply.github.com>