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

MINI-EPIC: next steps for v7 integration 2020-03-03 #971

Closed
14 tasks done
isaacs opened this issue Mar 3, 2020 · 7 comments
Closed
14 tasks done

MINI-EPIC: next steps for v7 integration 2020-03-03 #971

isaacs opened this issue Mar 3, 2020 · 7 comments
Assignees
Labels
Epic a larger scope of work that will be tracked in a Project Board Release 7.x work is associated with a specific npm 7 release semver:major backwards-incompatible breaking changes

Comments

@isaacs
Copy link
Contributor

isaacs commented Mar 3, 2020

  • (feat/publish #1000) npm publish, npm unpublish, and libnpmpublish (@claudiahdz)
  • use @npmcli/arborist in:
    • ([v7] update npm ci command #1025) npm ci
    • npm update
    • npm shrinkwrap
    • npm audit (somewhat extensive, as this currently uses the v6 Installer class, and so may need Arborist changes to support)
  • (feat/publish #1000) leverage pacote more fully in npm pack
  • ([v7] Complete npm install command #995) improve install/ci output (may need to revisit the design, since a giant single-color archy representation of the logical tree is not super helpful, even as a silly output log -- if we're going to dump an archy into the log, it should probably be the physical tree, at least). Note that this affects both install and ci.
  • ensure deduping of dependencies in node_modules
  • Document/RFC (add more to this list as we remember/find/decide them)
    • update is always depth=Infinity
    • --authtype=sso deprecated
    • acceptDependencies
    • --include-staged
@isaacs isaacs added Release 7.x work is associated with a specific npm 7 release semver:major backwards-incompatible breaking changes labels Mar 3, 2020
@mikemimik mikemimik added this to the OSS - Sprint 5 milestone Mar 4, 2020
@darcyclarke darcyclarke added the Epic a larger scope of work that will be tracked in a Project Board label Mar 4, 2020
This was referenced Mar 9, 2020
@isaacs
Copy link
Contributor Author

isaacs commented Apr 18, 2020

Updated list:

Beta Release Blockers

  • npm commands that are a call to Arborist.reify() in some fashion:
    • install
    • ci
    • update
    • link
    • install-test
    • install-ci-test
    • uninstall (easy)
    • prune
    • dedupe (probably needs some work on Arborist.buildIdealTree to actually
      do the deduping bit without completely regenerating it, but should be
      straightforward)
    • audit fix (in progress isaacs)
  • Land npm publish PR
    • NB: this and libcipm are the last remaining items holding
      npm-registry-fetch@4 in place.
  • Finish Arborist.audit(), and audit integration with
    Arborist.reify()
    • replace npm-audit-report (in progress)
  • outdated (in progress - claudiahdz)
  • All reify commands above need consistent output at the end of their
    run, including funding, quick audit, and summary results (in progress
    isaacs, pending finishing Arborist.audit)
  • shrinkwrap command
  • npm install --package-lock-only
  • remove lib/fetch-package-metadata.js once nothing is using it
  • remove lib/install/*.js once nothing is using it
  • npm commands to port to Arborist.loadActual
    • ls
    • fund
  • fully remove all uid/gid setting stuff
  • update mkdirp to 1.x everywhere
  • fully remove these configs which are no longer relevant:
    • user
    • group
    • uid
    • gid
    • umask
    • dev (or convert to alias for --include=dev)
    • onload-script (and actually remove its usage)
    • scripts-prepend-node-path
    • unsafe-perm
  • Add support to Arborist for --format-package-lock flag
  • do not treat test special in scripts (ie, just go ahead and run and
    fail if no scripts.test present, instead of creating a default fail
    message)
  • remove/change these deps (and code using them):
    • uid-number
    • npm-lifecycle
    • gentle-fs
    • figgy-pudding
    • ? detect-indent
    • ? detect-newline
    • fs-vacuum
    • read-package-json -> read-package-json-fast
    • json-parse-better-errors -> json-parse-even-better-errors
    • tar-stream -> tar
    • umask
    • mississippi
    • unpipe
    • lazy-property
    • review all others for usage, and remove if no longer needed

7.0.0 release blockers (but not 7.0.0-beta blockers)

  • update tar to no longer rely on process.umask()
    • also remove process.umask() everywhere else, but tar is the only hard
      one
  • add file-specific unit tests for all files in lib, and enforce 100%
    code coverage with a coverage-map
  • Update all dependencies
  • review all documentation and correct
  • review all failing tests and correct or remove

Can be 7.1 or later release

  • workspaces integration in CLI
    • Note: work on Arborist support in progress. integration in the CLI
      itself will be more straightforward, but some subtle UX work.
  • overrides
  • staged publishes
    • installation (partly done, not compliant with RFC yet)
    • server support
    • publishing

@isaacs isaacs self-assigned this Apr 18, 2020
@isaacs
Copy link
Contributor Author

isaacs commented Apr 18, 2020

@ljharb
Copy link
Contributor

ljharb commented Jun 1, 2020

those aren't on github tho

@isaacs
Copy link
Contributor Author

isaacs commented Jun 1, 2020

@ljharb You can view the zenhub url by logging in with GitHub. It's just an organizing view of tickets across multiple repos, with some scrummy sprint type decorations applied.

@ljharb
Copy link
Contributor

ljharb commented Jun 2, 2020

Not without granting it full write permissions on all my public and private repos :-/

@isaacs
Copy link
Contributor Author

isaacs commented Jun 3, 2020

Could always create an alt account. Idk. 🤷‍♂️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic a larger scope of work that will be tracked in a Project Board Release 7.x work is associated with a specific npm 7 release semver:major backwards-incompatible breaking changes
Projects
None yet
Development

No branches or pull requests

4 participants