reggi/overrides
@reggi/path-to-regexp
dependabot/npm_and_yarn/main/copy-to-clipboard-4.0.2
dependabot/npm_and_yarn/main/eslint-10.4.0
dependabot/npm_and_yarn/main/npmcli/eslint-config-7.0.0
dependabot/npm_and_yarn/main/proc-log-7.0.0
dependabot/npm_and_yarn/npm_and_yarn-826852524d
dependabot/npm_and_yarn/npm_and_yarn-ab9a7f4bc2
deprecate-totp-2fa
dhei/classic-tokens
gat-bypass-2fa-docs
jpg619/fix-accessibility-content-flow
jpg619/version-bump-tar-2
kartykp/gat-bypass-2fa-docs
kartykp/upgrade-path-to-regex
main
maitxn/version-bump-tar
patch-1
reggi/cache-based-on-version
reggi/dev-engines
reggi/fix-transform-prettier
reggi/overrides
update-search-sensitivity
| 1 | # This file is automatically added by @npmcli/template-oss. Do not edit. |
| 2 | |
| 3 | name: 'Install Latest npm' |
| 4 | description: 'Install the latest version of npm compatible with the Node version' |
| 5 | inputs: |
| 6 | node: |
| 7 | description: 'Current Node version' |
| 8 | required: true |
| 9 | runs: |
| 10 | using: "composite" |
| 11 | steps: |
| 12 | # node 10/12/14 ship with npm@6, which is known to fail when updating itself in windows |
| 13 | - name: Update Windows npm |
| 14 | if: | |
| 15 | runner.os == 'Windows' && ( |
| 16 | startsWith(inputs.node, 'v10.') || |
| 17 | startsWith(inputs.node, 'v12.') || |
| 18 | startsWith(inputs.node, 'v14.') |
| 19 | ) |
| 20 | shell: cmd |
| 21 | run: | |
| 22 | curl -sO https://registry.npmjs.org/npm/-/npm-7.5.4.tgz |
| 23 | tar xf npm-7.5.4.tgz |
| 24 | cd package |
| 25 | node lib/npm.js install --no-fund --no-audit -g ..\npm-7.5.4.tgz |
| 26 | cd .. |
| 27 | rmdir /s /q package |
| 28 | - name: Install Latest npm |
| 29 | shell: bash |
| 30 | env: |
| 31 | NODE_VERSION: ${{ inputs.node }} |
| 32 | working-directory: ${{ runner.temp }} |
| 33 | run: | |
| 34 | MATCH="" |
| 35 | SPECS=("latest" "next-10" "next-9" "next-8" "next-7" "next-6") |
| 36 | |
| 37 | echo "node@$NODE_VERSION" |
| 38 | |
| 39 | for SPEC in ${SPECS[@]}; do |
| 40 | ENGINES=$(npm view npm@$SPEC --json | jq -r '.engines.node') |
| 41 | echo "Checking if node@$NODE_VERSION satisfies npm@$SPEC ($ENGINES)" |
| 42 | |
| 43 | if npx semver -r "$ENGINES" "$NODE_VERSION" > /dev/null; then |
| 44 | MATCH=$SPEC |
| 45 | echo "Found compatible version: npm@$MATCH" |
| 46 | break |
| 47 | fi |
| 48 | done |
| 49 | |
| 50 | if [ -z $MATCH ]; then |
| 51 | echo "Could not find a compatible version of npm for node@$NODE_VERSION" |
| 52 | exit 1 |
| 53 | fi |
| 54 | |
| 55 | npm i --prefer-online --no-fund --no-audit -g npm@$MATCH |
| 56 | - name: npm Version |
| 57 | shell: bash |
| 58 | run: npm -v |