What package version does @next specify for npm?

next is a version or tag published in your reference npm registry

npm install installs a package.

A package is:

...
d) a <name>@<version> that is published on the registry (see npm-registry) with (c)
e) a <name>@<tag> (see npm-dist-tag) that points to (d)
...

You can view the version that each dist-tag points to by running the following commands:

npm view <package_name> dist-tags
npm dist-tags ls <package_name>

e.g. for the react npm package:

npm view react dist-tags

Output:

{
  latest: '17.0.2',
  next: '18.0.0-rc.0-next-3dc41d8a2-20211223',
  experimental: '0.0.0-experimental-3dc41d8a2-20211223',
  beta: '18.0.0-beta-24dd07bd2-20211208',
  rc: '18.0.0-rc.0'
}

Source


Next is tag. look at the below possible commands.

A tag can be used when installing packages as a reference to a version instead of using a specific version number:

npm install [<@scope>/]<name>
npm install [<@scope>/]<name>@<tag>
npm install [<@scope>/]<name>@<version>
npm install [<@scope>/]<name>@<version range>

How its added in package? See dist-tag

npm dist-tag add <pkg>@<version> [<tag>]
npm dist-tag rm <pkg> <tag>
npm dist-tag ls [<pkg>]

Check - https://docs.npmjs.com/cli/dist-tag