nodejs / nodejs/citgm

npm 12 - `npm run tap` (2 failures)

Open
#1,130 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
606
Forks
157
Avg merge
3d 23h
Merged PRs (30d)
3

Description

Situation

Running npm run tap (part of npm test) under npm 12 causes 2 tests from the suite to fail:

✖ npm-install: custom install command > Install Failed
  lib/package-manager/install.js:151:23
✖ citgm: omg-i-pass from git url > Failure getting project from npm npm warn Unknown env config "tmp". This will error in a future major version of npm. See `npm
  help npmrc` for supported config options. npm error code EALLOWGIT npm error Fetching packages of type "git" have been disabled npm error Refusing to fetch
  "git+https://github.com/MylesBorins/omg-i-pass.git" npm error
Asserts:  318 pass  2 fail  320 of 320 complete
Suites:    25 pass  2 fail    27 of 27 complete

(Under npm 11.17.0, all tests pass.)

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.19.0, initially with npm 11.17.0

git clone https://github.com/nodejs/citgm
cd citgm
npm install
npm run tap #
npm install -g npm@12.0.2
npm run tap #

Logs

 PASS  test/bin/test-citgm-all.js 20 OK 1m
 PASS  test/bin/test-citgm.js 8 OK 20s
 PASS  test/npm/test-npm-author-name.js 5 OK 880ms
 FAIL  test/npm/test-npm-install.js 1 failed of 10 3.009s
✖ npm-install: custom install command > Install Failed
  lib/package-manager/install.js:151:23
 PASS  test/npm/test-npm-test.js 12 OK 2.180s
 PASS  test/pnpm/test-pnpm-install.js 10 OK 2.410s
 PASS  test/pnpm/test-pnpm-test.js 12 OK 3.778s
 PASS  test/reporter/test-reporter-junit.js 9 OK 931ms
 PASS  test/reporter/test-reporter-logger.js 3 OK 879ms
 PASS  test/reporter/test-reporter-markdown.js 3 OK 875ms
 PASS  test/reporter/test-reporter-tap.js 7 OK 932ms
 PASS  test/reporter/test-reporter-util.js 20 OK 834ms
 PASS  test/reporter/test-reporter.js 8 OK 880ms
 PASS  test/test-check-tags.js 28 OK 956ms
 PASS  test/test-citgm-timeout.js 4 OK 1m
 FAIL  test/test-citgm.js 1 failed of 5 5.894s
✖ citgm: omg-i-pass from git url > Failure getting project from npm npm warn Unknown env config "tmp". This will error in a future major version of npm. See `npm
  help npmrc` for supported config options. npm error code EALLOWGIT npm error Fetching packages of type "git" have been disabled npm error Refusing to fetch
  "git+https://github.com/MylesBorins/omg-i-pass.git" npm error A complete log of this run can be found in:
  /home/mike/.npm/_logs/2026-08-19T12_09_53_713Z-debug-0.log
  test/test-citgm.js:52:9
 PASS  test/test-create-options.js 7 OK 880ms
 PASS  test/test-grab-module-data.js 11 OK 5.758s
 PASS  test/test-grab-project.js 10 OK 8.689s
 PASS  test/test-lookup.js 26 OK 887ms
 PASS  test/test-match-conditions.js 51 OK 865ms
 PASS  test/test-spawn.js 2 OK 808ms
 PASS  test/test-temp-directory.js 8 OK 908ms
 PASS  test/test-timeout.js 16 OK 1.341s
 PASS  test/test-unpack.js 4 OK 917ms
 PASS  test/yarn/test-yarn-install.js 9 OK 3.276s
 PASS  test/yarn/test-yarn-test.js 12 OK 2.968s

----------------------|---------|----------|---------|---------|---------------------------------------
File                  | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------|---------|----------|---------|---------|---------------------------------------
All files             |   94.98 |     92.4 |   98.75 |   94.98 |
 lib                  |   93.93 |    88.76 |     100 |   93.93 |
  citgm.js            |     100 |     91.3 |     100 |     100 | 97,133
  git-clone.js        |   89.47 |    85.71 |     100 |   89.47 | 28-31
  grab-module-data.js |   88.42 |       90 |     100 |   88.42 | 28,74-76,85-91
  grab-project.js     |   96.24 |    96.55 |     100 |   96.24 | 79-81,96-97
  lookup.js           |   91.07 |    86.36 |     100 |   91.07 | 67-77,116-117,185-186,188-189,191-192
  match-conditions.js |      91 |    85.36 |     100 |      91 | 12-14,24-29
  out.js              |   97.43 |       65 |     100 |   97.43 | 35-36
  spawn.js            |   23.07 |    66.66 |     100 |   23.07 | 5-24
  unpack.js           |   95.34 |    85.71 |     100 |   95.34 | 15-16
 lib/bin              |   95.67 |    93.93 |   88.88 |   95.67 |
  citgm-all.js        |   94.51 |    93.18 |   85.71 |   94.51 | 98-100,102-103,114-115,138-143
  citgm.js            |   98.18 |    95.45 |     100 |   98.18 | 61-62
 lib/package-manager  |   98.38 |    94.89 |     100 |   98.38 |
  install.js          |   96.91 |    89.65 |     100 |   96.91 | 22-23,120-122
  test.js             |   99.37 |    95.83 |     100 |   99.37 | 147
 lib/reporter         |   94.01 |    98.93 |     100 |   94.01 |
  logger.js           |   77.21 |    94.11 |     100 |   77.21 | 22-39
----------------------|---------|----------|---------|---------|---------------------------------------


  🌈 TEST COMPLETE 🌈


 FAIL  test/npm/test-npm-install.js 1 failed of 10 3.009s
✖ npm-install: custom install command > Install Failed
  lib/package-manager/install.js
  148
  149     proc.on('close', (code) => {
  150       if (code > 0) {
  151         return finish(Error('Install Failed'));
  ━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  152       }
  153       context.emit(
  154         'data',
  155         'info',
  tapCaught: returnedPromiseRejection
  ChildProcess.<anonymous> (lib/package-manager/install.js:151:23)

 FAIL  test/test-citgm.js 1 failed of 5 5.894s
✖ citgm: omg-i-pass from git url > Failure getting project from npm npm warn Unknown env config "tmp". This will error in a future major version of npm. See `npm
  help npmrc` for supported config options. npm error code EALLOWGIT npm error Fetching packages of type "git" have been disabled npm error Refusing to fetch
  "git+https://github.com/MylesBorins/omg-i-pass.git" npm error A complete log of this run can be found in:
  /home/mike/.npm/_logs/2026-08-19T12_09_53_713Z-debug-0.log
  test/test-citgm.js
  49       );
  50     })
  51     .on('fail', (err) => {
  52       t.error(err);
  ━━━━━━━━━━━┛
  53     })
  54     .on('end', () => {
  55       t.notOk(process.exitCode, 'it should not exit');
  56       t.end();
  Tester.<anonymous> (test/test-citgm.js:52:9)
  Tester.run (lib/citgm.js:107:16)

  cause: Error: Failure getting project from npm
  npm warn Unknown env config "tmp". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
  npm error code EALLOWGIT
  npm error Fetching packages of type "git" have been disabled
  npm error Refusing to fetch "git+https://github.com/MylesBorins/omg-i-pass.git"
  npm error A complete log of this run can be found in: /home/mike/.npm/_logs/2026-08-19T12_09_53_713Z-debug-0.log

  lib/grab-project.js
   85       if (bailed) return;
   86       clearTimeout(timeoutId);
   87       if (code > 0) {
   88         return reject(new Error(`Failure getting project from npm\n${stderr}`));
   ━━━━━━━━━━━━━━━━━━━━━━━━━┛
   89       }
   90       filename = filename.trim();
   91       if (context.module.type === 'directory') {
   92         filename = filename.trim().split('\n');
  ChildProcess.<anonymous> (lib/grab-project.js:88:23)

Asserts:  318 pass  2 fail  320 of 320 complete
Suites:    25 pass  2 fail    27 of 27 complete

# { total: 320, pass: 318, fail: 2 }
# time=213913.589ms

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running npm run tap with npm 12 and inspect the failing cases in test/npm/test-npm-install.js and test/test-citgm.js. Trace the reported failures through lib/package-manager/install.js and lib/grab-project.js, then verify that both tests pass under npm 12 while the full suite remains green.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.