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

npm cli breaking changes #488

Open
1 task
darcyclarke opened this issue Apr 28, 2022 · 10 comments
Open
1 task

npm cli breaking changes #488

darcyclarke opened this issue Apr 28, 2022 · 10 comments

Comments

@darcyclarke
Copy link
Contributor

darcyclarke commented Apr 28, 2022

This is the issue where we file our future breaking changes for the npm cli.

Breaking Changes:

  1. Remove legacy lifecycle scripts support (ie. pre/post scripts)
@wraithgar
Copy link
Member

wraithgar commented Sep 6, 2023

Copied from v10 initiative

v11 and beyond

These are still future looking breaking changes that we want to keep in consideration going forward

### Breaking Changes:
- [ ] stop reading process.env.NODE in config for nodeBin
- [ ] remove man pages
- [ ] Remove install scripts support
- [ ] Support for reading `stdin` across **all** commands (ie. https://github.com/npm/rfcs/blob/3d5b2130504139bdc8a3b599923aa07d2ff79c96/accepted/0000-dependency-selector-syntax.md#commands-could-read-from-stdin)
- [ ] Support Package Distributions by default
- [ ] Consider changing strict-ssl default based on environment variables https://github.com/npm/make-fetch-happen/pull/257
- [ ] https://github.com/npm/npm-packlist/pull/168
- [ ] Revert all of the hacks around "globstar" in packlist.  Just use node-glob's patterns.

Features (v10 or v11 or beyond):

- [ ] New `npm link` experience
- [ ] Add new "lifecycle events" API - differentiate between scripts & events - user/project & dependency defined usecases)
- [ ] First-class `import-maps` Support
- [ ] Warn/error on unecessary config items in publishConfig

@ljharb
Copy link

ljharb commented Sep 6, 2023

Let's figure out the "store the range i asked for" change for v11 too?

@wraithgar
Copy link
Member

I just lost an hour of my day to this "clever" helpful line. We should drop support for this.

https://github.com/npm/cli/blob/1114a12f2b4691d403d0863d4dca44f25580f57d/lib/cli-entry.js#L9-L12

  // if npm is called as "npmg" or "npm_g", then run in global mode.
  if (process.argv[1][process.argv[1].length - 1] === 'g') {
    process.argv.splice(1, 1, 'npm', '-g')
  }
$ node /Users/wraithgar/Development/npm/cli/branches/gar_semver-debug pkg set description='test'
npm ERR! code EPKGGLOBAL
npm ERR! There's no package.json file to manage on global mode

@wraithgar
Copy link
Member

wraithgar commented May 13, 2024

  • Revert all of the hacks around "globstar" in packlist. Just use node-glob's patterns.

This is just a bug factory at this point.

@lukekarrys
Copy link
Contributor

lukekarrys commented May 14, 2024

A few things I've found in the issue tracker lately that can't be fixed due to how they would likely break things:

@wraithgar

This comment has been minimized.

@wraithgar

This comment has been minimized.

@wraithgar

This comment has been minimized.

@karenjli

This comment has been minimized.

@wraithgar wraithgar changed the title Initiative: v11.0 npm cli breaking changes Sep 25, 2024
@wraithgar
Copy link
Member

Repurposed this issue as the bucket for all breaking changes. Actual v11 roadmap is at #898

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

No branches or pull requests

5 participants