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

Epic: Dogfood Workspaces #362

Closed
17 tasks done
darcyclarke opened this issue May 28, 2021 · 3 comments
Closed
17 tasks done

Epic: Dogfood Workspaces #362

darcyclarke opened this issue May 28, 2021 · 3 comments
Assignees
Labels

Comments

@darcyclarke
Copy link
Contributor

darcyclarke commented May 28, 2021

Problem Statement

As a team building a developer tool that is meeting certain needs for monorepo projects, we aren't as aware of the concerns/issues as we don't use the tooling ourselves

Solution

Start dogfooding workspaces where it makes sense.

Features

  • Dependency: npm-packlist needs to apply project inclusion rules to bundled linked dependencies
  • Dependency: arborist reify & @npmcli/map-workspaces must support root filter/selector (ex. .)
  • introduce new --workspace=. root selector to --workspace config
  • make our docs generation a workspace (ie. /docs)
  • add libnpmdiff as a workspace
  • add libnpmfund as a workspace
  • add libnpmpack as a workspace
  • add libnpmaccess as a workspace
  • add libnpmexec as a workspace
  • add libnpmteam as a workspace
  • add libnpmsearch as a workspace
  • add libnpmpublish as a workspace
  • add libnpmorg as a workspace
  • add libnpmhook as a workspace
  • add libnpmversion as a workspace

Exit Criteria

  • feature-set fully implemented/functioning
  • release processes/documentation is updated
@darcyclarke darcyclarke added this to the OSS - Sprint 31 milestone May 28, 2021
ruyadorno added a commit to ruyadorno/cli that referenced this issue Jun 1, 2021
- Add `./docs` as a workspace
- Reinstate `./docs/package.json` to manage docs deps
- Ignore `docs/content` markdown source folder from published tarball
- Tweaked `make docs` to use `npm run` to run docs build step
- Tweaked "bundle and gitignore" script to ignore symlinks in nm folder
- Removed outdated `package.json` comment

Relates to: npm/statusboard#362
wraithgar pushed a commit to npm/cli that referenced this issue Jun 1, 2021
- Add `./docs` as a workspace
- Reinstate `./docs/package.json` to manage docs deps
- Ignore `docs/content` markdown source folder from published tarball
- Tweaked `make docs` to use `npm run` to run docs build step
- Tweaked "bundle and gitignore" script to ignore symlinks in nm folder
- Removed outdated `package.json` comment

Relates to: npm/statusboard#362

PR-URL: #3342
Credit: @ruyadorno
Close: #3342
Reviewed-by: @wraithgar
ruyadorno added a commit to ruyadorno/cli that referenced this issue Jun 8, 2021
- Setup ./packages/* as workspaces
- Moved source from: https://github.com/npm/libnpmdiff to
./packages/libnpmdiff
- Added CI target for workspaces

Relates to: npm/statusboard#362
ruyadorno added a commit to ruyadorno/cli that referenced this issue Jun 11, 2021
- Setup ./packages/* as workspaces
- Moved source from: https://github.com/npm/libnpmdiff to
./packages/libnpmdiff
- Added CI target for workspaces

Relates to: npm/statusboard#362
wraithgar pushed a commit to ruyadorno/cli that referenced this issue Jun 11, 2021
- Setup ./packages/* as workspaces
- Moved source from: https://github.com/npm/libnpmdiff to
./packages/libnpmdiff
- Added CI target for workspaces

Relates to: npm/statusboard#362

PR-URL: npm#3386
Credit: @ruyadorno
Close: npm#3386
Reviewed-by: @wraithgar
@wraithgar
Copy link
Member

Notes from slack in re packlist:

Ah. That's not quite accurate.
11:37
The semantics of the contract are: if you have a linked dependency, and it's a bundled dependency, we include its files in the tarball as if the link was resolved.
11:38
basically, we just follow the symlink, and treat it otherwise like a normal bundled dep
11:38
so, whatever's there, you obviously said you wanted it there, so we include it
11:39
the change (which I think is reasonable for any bundled+linked dep, not just workspaces) is that we should apply the ignore/include rules along that route when we follow a linked dep, rather than including everything without question like we would for a normal bundled dep

@darcyclarke darcyclarke modified the milestones: OSS - Sprint 34, OSS - Sprint 35 Aug 9, 2021
isaacs added a commit to npm/npm-packlist that referenced this issue Aug 23, 2021
BREAKING CHANGE: this changes the API surface, which will break
class extensions.

BREAKING CHANGE: in accordance with user expectations, the ignored files
of bundled linked dependencies are no longer included in the package
files list.

Related-to: npm/statusboard#362
Credit: @isaacs, @wraithgar
@darcyclarke darcyclarke modified the milestones: OSS - Sprint 35, OSS - Sprint 36 Aug 23, 2021
@settings settings bot removed the Epic label Aug 31, 2021
@darcyclarke darcyclarke assigned fritzy and unassigned wraithgar Sep 13, 2021
@darcyclarke darcyclarke removed this from the OSS - Sprint 36 milestone Oct 18, 2021
@darcyclarke
Copy link
Contributor Author

Update

  • waiting on @fritzy to get back from STO to complete this

@darcyclarke darcyclarke changed the title Dogfood Workspaces Epic: Dogfood Workspaces Nov 2, 2021
@darcyclarke
Copy link
Contributor Author

darcyclarke commented Jan 10, 2022

Update

  • waiting on next release to close out the importing of lib* packages

Actions

  • fix npm/template-oss to work for all nested workspace projects
  • need to transfer any oustanding issues & prs to npm/cli
  • archive all old repos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants