diff -Nru node-npm-package-arg-9.1.2+~3.0.0/CHANGELOG.md node-npm-package-arg-10.0.0+~3.0.0/CHANGELOG.md --- node-npm-package-arg-9.1.2+~3.0.0/CHANGELOG.md 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/CHANGELOG.md 2022-10-18 14:14:20.000000000 +0000 @@ -1,16 +1,26 @@ # Changelog -## [9.1.2](https://github.com/npm/npm-package-arg/compare/v9.1.1...v9.1.2) (2022-09-28) +## [10.0.0](https://github.com/npm/npm-package-arg/compare/v9.1.0...v10.0.0) (2022-10-18) -### Bug Fixes +### ⚠️ BREAKING CHANGES + +* `x` and `x@` now return the same spec as `x@*` +* `npm-package-arg` is now compatible with the following semver range for node: `^14.17.0 || ^16.13.0 || >=18.0.0` -* [`50ed49c`](https://github.com/npm/npm-package-arg/commit/50ed49c9f376b8382e334da5fb40ef77a8d2a447) revert engines change (@lukekarrys) +### Features -## [9.1.1](https://github.com/npm/npm-package-arg/compare/v9.1.0...v9.1.1) (2022-09-28) +* [`749ccad`](https://github.com/npm/npm-package-arg/commit/749ccad1516e0e61db989669326165bfdb6b7227) [#104](https://github.com/npm/npm-package-arg/pull/104) postinstall for dependabot template-oss PR (@lukekarrys) ### Bug Fixes -* [`8383fdc`](https://github.com/npm/npm-package-arg/commit/8383fdc240280e8e3cb3dac8d9bb588752bd2656) [#109](https://github.com/npm/npm-package-arg/pull/109) resolve relative urls that start with file:// (@lukekarrys) +* [`d2b87c0`](https://github.com/npm/npm-package-arg/commit/d2b87c083f6f83d01d869281631a0d544190edcf) [#97](https://github.com/npm/npm-package-arg/pull/97) standardize `x` `x@` and `x@*` (#97) (@wraithgar) +* [`7b9cb25`](https://github.com/npm/npm-package-arg/commit/7b9cb25e2b2788ae7b0c9a9b33ca8701a030b8aa) [#108](https://github.com/npm/npm-package-arg/pull/108) resolve relative urls that start with file:// (@lukekarrys) + +### Dependencies + +* [`b3f0b93`](https://github.com/npm/npm-package-arg/commit/b3f0b93abae31e8e3a186c5f6ebedd3616b0764a) [#117](https://github.com/npm/npm-package-arg/pull/117) bump proc-log from 2.0.1 to 3.0.0 (#117) +* [`7162848`](https://github.com/npm/npm-package-arg/commit/71628486d9f96ef522e28cb32e15ff8d26cf3903) [#116](https://github.com/npm/npm-package-arg/pull/116) bump validate-npm-package-name from 4.0.0 to 5.0.0 (#116) +* [`3110d8f`](https://github.com/npm/npm-package-arg/commit/3110d8f954a76e237649bd478d0cb2fbc95f6afc) [#115](https://github.com/npm/npm-package-arg/pull/115) `hosted-git-info@6.0.0` (#115) ## [9.1.0](https://github.com/npm/npm-package-arg/compare/v9.0.2...v9.1.0) (2022-06-22) diff -Nru node-npm-package-arg-9.1.2+~3.0.0/debian/changelog node-npm-package-arg-10.0.0+~3.0.0/debian/changelog --- node-npm-package-arg-9.1.2+~3.0.0/debian/changelog 2022-10-17 01:58:47.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/debian/changelog 2022-11-18 10:00:55.000000000 +0000 @@ -1,3 +1,17 @@ +node-npm-package-arg (10.0.0+~3.0.0-2) unstable; urgency=medium + + * Team upload + * Back to unstable + + -- Yadd Fri, 18 Nov 2022 11:00:55 +0100 + +node-npm-package-arg (10.0.0+~3.0.0-1) experimental; urgency=medium + + * Team upload + * New upstream version 10.0.0+~3.0.0 + + -- Yadd Wed, 16 Nov 2022 15:09:44 +0100 + node-npm-package-arg (9.1.2+~3.0.0-1) unstable; urgency=medium * Team upload diff -Nru node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/audit.yml node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/audit.yml --- node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/audit.yml 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/audit.yml 2022-10-18 14:14:20.000000000 +0000 @@ -26,7 +26,7 @@ - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version diff -Nru node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/ci-release.yml node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/ci-release.yml --- node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/ci-release.yml 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/ci-release.yml 2022-10-18 14:14:20.000000000 +0000 @@ -21,6 +21,39 @@ run: shell: bash steps: + - name: Get Workflow Job + uses: actions/github-script@v6 + + id: check-output + env: + JOB_NAME: "Lint All" + MATRIX_NAME: "" + with: + script: | + const { owner, repo } = context.repo + + const { data } = await github.rest.actions.listJobsForWorkflowRun({ + owner, + repo, + run_id: context.runId, + per_page: 100 + }) + + const jobName = process.env.JOB_NAME + process.env.MATRIX_NAME + const job = data.jobs.find(j => j.name.endsWith(jobName)) + const jobUrl = job?.html_url + + const shaUrl = `${context.serverUrl}/${owner}/${repo}/commit/${{ inputs.check-sha }}` + + let summary = `This check is assosciated with ${shaUrl}\n\n` + + if (jobUrl) { + summary += `For run logs, click here: ${jobUrl}` + } else { + summary += `Run logs could not be found for a job with name: "${jobName}"` + } + + return { summary } - name: Create Check uses: LouisBrunner/checks-action@v1.3.1 id: check @@ -30,12 +63,7 @@ status: in_progress name: Lint All sha: ${{ inputs.check-sha }} - # XXX: this does not work when using the default GITHUB_TOKEN. - # Instead we post the main job url to the PR as a comment which - # will link to all the other checks. To work around this we would - # need to create a GitHub that would create on-demand tokens. - # https://github.com/LouisBrunner/checks-action/issues/18 - # details_url: + output: ${{ steps.check-output.outputs.result }} - name: Checkout uses: actions/checkout@v3 with: @@ -47,7 +75,7 @@ - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version @@ -83,17 +111,50 @@ os: windows-latest shell: cmd node-version: - - 12.13.0 - - 12.x - - 14.15.0 + - 14.17.0 - 14.x - - 16.0.0 + - 16.13.0 - 16.x + - 18.0.0 + - 18.x runs-on: ${{ matrix.platform.os }} defaults: run: shell: ${{ matrix.platform.shell }} steps: + - name: Get Workflow Job + uses: actions/github-script@v6 + + id: check-output + env: + JOB_NAME: "Test All" + MATRIX_NAME: " - ${{ matrix.platform.name }} - ${{ matrix.node-version }}" + with: + script: | + const { owner, repo } = context.repo + + const { data } = await github.rest.actions.listJobsForWorkflowRun({ + owner, + repo, + run_id: context.runId, + per_page: 100 + }) + + const jobName = process.env.JOB_NAME + process.env.MATRIX_NAME + const job = data.jobs.find(j => j.name.endsWith(jobName)) + const jobUrl = job?.html_url + + const shaUrl = `${context.serverUrl}/${owner}/${repo}/commit/${{ inputs.check-sha }}` + + let summary = `This check is assosciated with ${shaUrl}\n\n` + + if (jobUrl) { + summary += `For run logs, click here: ${jobUrl}` + } else { + summary += `Run logs could not be found for a job with name: "${jobName}"` + } + + return { summary } - name: Create Check uses: LouisBrunner/checks-action@v1.3.1 id: check @@ -103,12 +164,7 @@ status: in_progress name: Test All - ${{ matrix.platform.name }} - ${{ matrix.node-version }} sha: ${{ inputs.check-sha }} - # XXX: this does not work when using the default GITHUB_TOKEN. - # Instead we post the main job url to the PR as a comment which - # will link to all the other checks. To work around this we would - # need to create a GitHub that would create on-demand tokens. - # https://github.com/LouisBrunner/checks-action/issues/18 - # details_url: + output: ${{ steps.check-output.outputs.result }} - name: Checkout uses: actions/checkout@v3 with: @@ -144,7 +200,7 @@ - name: Add Problem Matcher run: echo "::add-matcher::.github/matchers/tap.json" - name: Test - run: npm test --ignore-scripts -ws -iwr --if-present + run: npm test --ignore-scripts - name: Conclude Check uses: LouisBrunner/checks-action@v1.3.1 if: always() diff -Nru node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/ci.yml node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/ci.yml --- node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/ci.yml 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/ci.yml 2022-10-18 14:14:20.000000000 +0000 @@ -14,6 +14,56 @@ - cron: "0 9 * * 1" jobs: + engines: + name: Engines - ${{ matrix.platform.name }} - ${{ matrix.node-version }} + if: github.repository_owner == 'npm' + strategy: + fail-fast: false + matrix: + platform: + - name: Linux + os: ubuntu-latest + shell: bash + node-version: + - 14.17.0 + - 16.13.0 + - 18.0.0 + runs-on: ${{ matrix.platform.os }} + defaults: + run: + shell: ${{ matrix.platform.shell }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Git User + run: | + git config --global user.email "npm-cli+bot@github.com" + git config --global user.name "npm CLI robot" + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - name: Update Windows npm + # node 12 and 14 ship with npm@6, which is known to fail when updating itself in windows + if: matrix.platform.os == 'windows-latest' && (startsWith(matrix.node-version, '12.') || startsWith(matrix.node-version, '14.')) + run: | + curl -sO https://registry.npmjs.org/npm/-/npm-7.5.4.tgz + tar xf npm-7.5.4.tgz + cd package + node lib/npm.js install --no-fund --no-audit -g ..\npm-7.5.4.tgz + cd .. + rmdir /s /q package + - name: Install npm@7 + if: startsWith(matrix.node-version, '10.') + run: npm i --prefer-online --no-fund --no-audit -g npm@7 + - name: Install npm@latest + if: ${{ !startsWith(matrix.node-version, '10.') }} + run: npm i --prefer-online --no-fund --no-audit -g npm@latest + - name: npm Version + run: npm -v + - name: Install Dependencies + run: npm i --ignore-scripts --no-audit --no-fund --engines-strict + lint: name: Lint if: github.repository_owner == 'npm' @@ -31,7 +81,7 @@ - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version @@ -60,12 +110,12 @@ os: windows-latest shell: cmd node-version: - - 12.13.0 - - 12.x - - 14.15.0 + - 14.17.0 - 14.x - - 16.0.0 + - 16.13.0 - 16.x + - 18.0.0 + - 18.x runs-on: ${{ matrix.platform.os }} defaults: run: @@ -104,4 +154,4 @@ - name: Add Problem Matcher run: echo "::add-matcher::.github/matchers/tap.json" - name: Test - run: npm test --ignore-scripts -iwr + run: npm test --ignore-scripts diff -Nru node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/post-dependabot.yml node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/post-dependabot.yml --- node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/post-dependabot.yml 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/post-dependabot.yml 2022-10-18 14:14:20.000000000 +0000 @@ -19,7 +19,7 @@ - name: Checkout uses: actions/checkout@v3 with: - ref: ${{ github.event.pull_request.head_ref }} + ref: ${{ github.event.pull_request.head.ref }} - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" @@ -27,7 +27,7 @@ - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version @@ -46,10 +46,13 @@ if: contains(steps.metadata.outputs.dependency-names, '@npmcli/template-oss') id: flags run: | - if [[ "${{ steps.metadata.outputs.directory }}" == "/" ]]; then + dependabot_dir="${{ steps.metadata.outputs.directory }}" + if [[ "$dependabot_dir" == "/" ]]; then echo "::set-output name=workspace::-iwr" else - echo "::set-output name=workspace::-w ${{ steps.metadata.outputs.directory }}" + # strip leading slash from directory so it works as a + # a path to the workspace flag + echo "::set-output name=workspace::-w ${dependabot_dir#/}" fi - name: Apply Changes @@ -60,6 +63,15 @@ if [[ `git status --porcelain` ]]; then echo "::set-output name=changes::true" fi + # This only sets the conventional commit prefix. This workflow can't reliably determine + # what the breaking change is though. If a BREAKING CHANGE message is required then + # this PR check will fail and the commit will be amended with stafftools + if [[ "${{ steps.metadata.outputs.update-type }}" == "version-update:semver-major" ]]; then + prefix='feat!' + else + prefix='chore!' + fi + echo "::set-output name=message::$prefix: postinstall for dependabot template-oss PR" # This step will fail if template-oss has made any workflow updates. It is impossible # for a workflow to update other workflows. In the case it does fail, we continue @@ -71,21 +83,39 @@ env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - git commit -am "chore: postinstall for dependabot template-oss PR" + git commit -am "${{ steps.apply.outputs.message }}" git push + # If the previous step failed, then reset the commit and remove any workflow changes + # and attempt to commit and push again. This is helpful because we will have a commit + # with the correct prefix that we can then --amend with @npmcli/stafftools later. - name: Push All Changes Except Workflows - if: steps.push.outcome == 'failure' + if: steps.apply.outputs.changes && steps.push.outcome == 'failure' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git reset HEAD~ git checkout HEAD -- .github/workflows/ git clean -fd .github/workflows/ - git commit -am "chore: postinstall for dependabot template-oss PR" + git commit -am "${{ steps.apply.outputs.message }}" git push + # Check if all the necessary template-oss changes were applied. Since we continued + # on errors in one of the previous steps, this check will fail if our follow up + # only applied a portion of the changes and we need to followup manually. + # + # Note that this used to run `lint` and `postlint` but that will fail this action + # if we've also shipped any linting changes separate from template-oss. We do + # linting in another action, so we want to fail this one only if there are + # template-oss changes that could not be applied. - name: Check Changes if: steps.apply.outputs.changes run: | npm exec --offline ${{ steps.flags.outputs.workspace }} -- template-oss-check + + - name: Fail on Breaking Change + if: steps.apply.outputs.changes && startsWith(steps.apply.outputs.message, 'feat!') + run: | + echo "This PR has a breaking change. Run 'npx -p @npmcli/stafftools gh template-oss-fix'" + echo "for more information on how to fix this with a BREAKING CHANGE footer." + exit 1 diff -Nru node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/pull-request.yml node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/pull-request.yml --- node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/pull-request.yml 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/pull-request.yml 2022-10-18 14:14:20.000000000 +0000 @@ -30,7 +30,7 @@ - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version diff -Nru node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/release.yml node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/release.yml --- node-npm-package-arg-9.1.2+~3.0.0/.github/workflows/release.yml 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/.github/workflows/release.yml 2022-10-18 14:14:20.000000000 +0000 @@ -3,11 +3,11 @@ name: Release on: + workflow_dispatch: push: branches: - main - latest - - v9 permissions: contents: write @@ -40,7 +40,7 @@ - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version @@ -52,17 +52,19 @@ env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - npx --offline template-oss-release-please ${{ github.ref_name }} + npx --offline template-oss-release-please ${{ github.ref_name }} ${{ github.event_name }} - name: Post Pull Request Comment if: steps.release.outputs.pr-number uses: actions/github-script@v6 id: pr-comment env: PR_NUMBER: ${{ steps.release.outputs.pr-number }} + REF_NAME: ${{ github.ref_name }} with: script: | + const { REF_NAME, PR_NUMBER } = process.env const repo = { owner: context.repo.owner, repo: context.repo.repo } - const issue = { ...repo, issue_number: process.env.PR_NUMBER } + const issue = { ...repo, issue_number: PR_NUMBER } const { data: workflow } = await github.rest.actions.getWorkflowRun({ ...repo, run_id: context.runId }) @@ -71,7 +73,11 @@ const comments = await github.paginate(github.rest.issues.listComments, issue) let commentId = comments?.find(c => c.user.login === 'github-actions[bot]' && c.body.startsWith(body))?.id - body += `- Release workflow run: ${workflow.html_url}` + body += `Release workflow run: ${workflow.html_url}\n\n#### Force CI to Rerun for This Release\n\n` + body += `This PR will be updated and CI will run for every non-\`chore:\` commit that is pushed to \`main\`. ` + body += `To force CI to rerun, run this command:\n\n` + body += `\`\`\`\ngh workflow run release.yml -r ${REF_NAME}\n\`\`\`` + if (commentId) { await github.rest.issues.updateComment({ ...repo, comment_id: commentId, body }) } else { @@ -80,6 +86,39 @@ } return commentId + - name: Get Workflow Job + uses: actions/github-script@v6 + if: steps.release.outputs.pr-number + id: check-output + env: + JOB_NAME: "Release" + MATRIX_NAME: "" + with: + script: | + const { owner, repo } = context.repo + + const { data } = await github.rest.actions.listJobsForWorkflowRun({ + owner, + repo, + run_id: context.runId, + per_page: 100 + }) + + const jobName = process.env.JOB_NAME + process.env.MATRIX_NAME + const job = data.jobs.find(j => j.name.endsWith(jobName)) + const jobUrl = job?.html_url + + const shaUrl = `${context.serverUrl}/${owner}/${repo}/commit/${{ steps.release.outputs.pr-sha }}` + + let summary = `This check is assosciated with ${shaUrl}\n\n` + + if (jobUrl) { + summary += `For run logs, click here: ${jobUrl}` + } else { + summary += `Run logs could not be found for a job with name: "${jobName}"` + } + + return { summary } - name: Create Check uses: LouisBrunner/checks-action@v1.3.1 id: check @@ -89,12 +128,7 @@ status: in_progress name: Release sha: ${{ steps.release.outputs.pr-sha }} - # XXX: this does not work when using the default GITHUB_TOKEN. - # Instead we post the main job url to the PR as a comment which - # will link to all the other checks. To work around this we would - # need to create a GitHub that would create on-demand tokens. - # https://github.com/LouisBrunner/checks-action/issues/18 - # details_url: + output: ${{ steps.check-output.outputs.result }} update: needs: release @@ -120,7 +154,7 @@ - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version @@ -133,7 +167,8 @@ RELEASE_COMMENT_ID: ${{ needs.release.outputs.comment-id }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - npm run rp-pull-request --ignore-scripts -ws -iwr --if-present + npm exec --offline -- template-oss-release-manager + npm run rp-pull-request --ignore-scripts --if-present - name: Commit id: commit env: @@ -142,6 +177,39 @@ git commit --all --amend --no-edit || true git push --force-with-lease echo "::set-output name=sha::$(git rev-parse HEAD)" + - name: Get Workflow Job + uses: actions/github-script@v6 + + id: check-output + env: + JOB_NAME: "Update - Release" + MATRIX_NAME: "" + with: + script: | + const { owner, repo } = context.repo + + const { data } = await github.rest.actions.listJobsForWorkflowRun({ + owner, + repo, + run_id: context.runId, + per_page: 100 + }) + + const jobName = process.env.JOB_NAME + process.env.MATRIX_NAME + const job = data.jobs.find(j => j.name.endsWith(jobName)) + const jobUrl = job?.html_url + + const shaUrl = `${context.serverUrl}/${owner}/${repo}/commit/${{ steps.commit.outputs.sha }}` + + let summary = `This check is assosciated with ${shaUrl}\n\n` + + if (jobUrl) { + summary += `For run logs, click here: ${jobUrl}` + } else { + summary += `Run logs could not be found for a job with name: "${jobName}"` + } + + return { summary } - name: Create Check uses: LouisBrunner/checks-action@v1.3.1 id: check @@ -151,12 +219,7 @@ status: in_progress name: Release sha: ${{ steps.commit.outputs.sha }} - # XXX: this does not work when using the default GITHUB_TOKEN. - # Instead we post the main job url to the PR as a comment which - # will link to all the other checks. To work around this we would - # need to create a GitHub that would create on-demand tokens. - # https://github.com/LouisBrunner/checks-action/issues/18 - # details_url: + output: ${{ steps.check-output.outputs.result }} - name: Conclude Check uses: LouisBrunner/checks-action@v1.3.1 if: always() @@ -221,7 +284,7 @@ - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version diff -Nru node-npm-package-arg-9.1.2+~3.0.0/lib/npa.js node-npm-package-arg-10.0.0+~3.0.0/lib/npa.js --- node-npm-package-arg-9.1.2+~3.0.0/lib/npa.js 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/lib/npa.js 2022-10-18 14:14:20.000000000 +0000 @@ -39,11 +39,12 @@ spec = arg } else if (nameEndsAt > 0) { name = namePart - spec = arg.slice(nameEndsAt + 1) + spec = arg.slice(nameEndsAt + 1) || '*' } else { const valid = validatePackageName(arg) if (valid.validForOldPackages) { name = arg + spec = '*' } else { spec = arg } @@ -113,7 +114,7 @@ this.name = undefined this.escapedName = undefined this.scope = undefined - this.rawSpec = opts.rawSpec == null ? '' : opts.rawSpec + this.rawSpec = opts.rawSpec || '' this.saveSpec = opts.saveSpec this.fetchSpec = opts.fetchSpec if (opts.name) { @@ -383,7 +384,7 @@ function fromRegistry (res) { res.registry = true - const spec = res.rawSpec === '' ? 'latest' : res.rawSpec.trim() + const spec = res.rawSpec.trim() // no save spec for registry components as we save based on the fetched // version, not on the argument so this can't compute that. res.saveSpec = null diff -Nru node-npm-package-arg-9.1.2+~3.0.0/package.json node-npm-package-arg-10.0.0+~3.0.0/package.json --- node-npm-package-arg-9.1.2+~3.0.0/package.json 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/package.json 2022-10-18 14:14:20.000000000 +0000 @@ -1,6 +1,6 @@ { "name": "npm-package-arg", - "version": "9.1.2", + "version": "10.0.0", "description": "Parse the things that can be arguments to `npm install`", "main": "./lib/npa.js", "directories": { @@ -11,14 +11,14 @@ "lib/" ], "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^5.0.0" }, "devDependencies": { - "@npmcli/eslint-config": "^3.0.1", - "@npmcli/template-oss": "4.3.2", + "@npmcli/eslint-config": "^4.0.0", + "@npmcli/template-oss": "4.6.1", "tap": "^16.0.1" }, "scripts": { @@ -43,7 +43,7 @@ }, "homepage": "https://github.com/npm/npm-package-arg", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, "tap": { "branches": 97, @@ -54,17 +54,6 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.3.2", - "releaseBranches": [ - "v9" - ], - "ciVersions": [ - "12.13.0", - "12.x", - "14.15.0", - "14.x", - "16.0.0", - "16.x" - ] + "version": "4.6.1" } } diff -Nru node-npm-package-arg-9.1.2+~3.0.0/.release-please-manifest.json node-npm-package-arg-10.0.0+~3.0.0/.release-please-manifest.json --- node-npm-package-arg-9.1.2+~3.0.0/.release-please-manifest.json 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/.release-please-manifest.json 2022-10-18 14:14:20.000000000 +0000 @@ -1,3 +1,3 @@ { - ".": "9.1.2" + ".": "10.0.0" } diff -Nru node-npm-package-arg-9.1.2+~3.0.0/test/basic.js node-npm-package-arg-10.0.0+~3.0.0/test/basic.js --- node-npm-package-arg-9.1.2+~3.0.0/test/basic.js 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/test/basic.js 2022-10-18 14:14:20.000000000 +0000 @@ -44,10 +44,10 @@ name: '@foo/bar', escapedName: '@foo%2fbar', scope: '@foo', - rawSpec: '', + rawSpec: '*', saveSpec: null, - fetchSpec: 'latest', - type: 'tag', + fetchSpec: '*', + type: 'range', }, '@foo/bar@': { @@ -55,10 +55,10 @@ name: '@foo/bar', escapedName: '@foo%2fbar', scope: '@foo', - rawSpec: '', + rawSpec: '*', saveSpec: null, - fetchSpec: 'latest', - type: 'tag', + fetchSpec: '*', + type: 'range', }, '@foo/bar@baz': { @@ -113,11 +113,11 @@ registry: true, name: 'bar', escapedName: 'bar', - type: 'tag', + type: 'range', raw: 'bar', - rawSpec: '', + rawSpec: '*', saveSpec: null, - fetchSpec: 'latest', + fetchSpec: '*', }, }, @@ -366,10 +366,10 @@ name: 'git', type: 'alias', subSpec: { - type: 'tag', + type: 'range', registry: true, name: 'not-git', - fetchSpec: 'latest', + fetchSpec: '*', }, raw: 'git@npm:not-git', }, @@ -587,9 +587,9 @@ foo: { name: 'foo', escapedName: 'foo', - type: 'tag', + type: 'range', saveSpec: null, - fetchSpec: 'latest', + fetchSpec: '*', raw: 'foo', }, diff -Nru node-npm-package-arg-9.1.2+~3.0.0/test/realize-package-specifier.js node-npm-package-arg-10.0.0+~3.0.0/test/realize-package-specifier.js --- node-npm-package-arg-9.1.2+~3.0.0/test/realize-package-specifier.js 2022-09-28 23:17:21.000000000 +0000 +++ node-npm-package-arg-10.0.0+~3.0.0/test/realize-package-specifier.js 2022-10-18 14:14:20.000000000 +0000 @@ -8,7 +8,7 @@ result = npa('a.tar.gz', '/test/a/b') t.equal(result.type, 'file', 'local tarball') result = npa('d', '/test/a/b') - t.equal(result.type, 'tag', 'remote package') + t.equal(result.type, 'range', 'remote package') result = npa('file:./a.tar.gz', '/test/a/b') t.equal(result.type, 'file', 'local tarball') result = npa('file:./b', '/test/a/b')