lookup: remove q - #1123

Open
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q
Open

lookup: remove q#1123
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Situation

q is deprecated and unsupported. It cannot therefore fulfil the Hard Requirements:

The maintainers of the module remain responsive when there are problems

ItemStatus
npm packagehttps://www.npmjs.com/package/q
npm statusdeprecated
last published1.5.1 Oct 19, 2017
repo locationhttps://github.com/kriskowal/q
repo statusarchived on Jan 22, 2025
lookup maintainer(s)kriskowal

npm Author message:

You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)

Node.jsnpmmacosubuntuwindows
22.23.110.9.8passpasspass
24.19.011.17.0passpasspass
26.7.011.19.0failfailfail
26.7.012.0.2-fail-

Change

Remove q from lib/lookup.json

Checklist
  • npm test passes
  • contribution guidelines followed
    here

cc: @kriskowal

@codecov-commenter

codecov-commenter commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (eef880d) to head (d209fc5).

Additional details and impacted files
@@ Coverage Diff @@## main #1123 +/- ##
=======================================
Coverage 96.20% 96.20% =======================================
Files 29 29 Lines 2213 2213 =======================================
Hits 2129 2129 Misses 84 84 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review August 10, 2026 13:57
@MikeMcC399

This comment was marked as outdated.

@ljharb

Copy link
Copy Markdown
Member

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

q should be removed from citgm.

q is not compatible with Node.js 26. It cannot be built and fails testing. The repo is archived meaning that no new issues can be opened and no further development is planned.

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.7.0

git clone https://github.com/kriskowal/q
cd q
npm install

Logs

$ npm installnpm warn deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.jsnpm warn deprecated rimraf@2.2.8: Rimraf versions prior to v4 are no longer supportednpm warn deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated glob@3.1.21: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated electron@0.2.1: The original electron project has been moved. Visit github.com/logicalparadox/electron for more details.npm warn deprecated glob@3.2.1: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated glob@3.2.11: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm warn deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jadenpm warn deprecated jasmine-node@1.11.0: jasmine-node 1.x & 2.x are deprecated, with known vulnerability in jasmine-growl-reporter pre-2.0.0npm warn deprecated mocha@1.11.0: Mocha v1.x is no longer supported.npm warn deprecated sinon@1.7.3: 16.1.1npm warn deprecated buster-core@0.6.4: No longer maintained
> q@1.5.1 prepublish
> gruntLoading "uglify.js" tasks...ERROR>> Error: Cannot find module '_stream_transform'>> Require stack:>> - /home/mike/github/PACKAGES/q/node_modules/browserify-zlib/src/index.js>> - /home/mike/github/PACKAGES/q/node_modules/gzip-size/index.js>> - /home/mike/github/PACKAGES/q/node_modules/maxmin/index.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-contrib-uglify/tasks/uglify.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt/task.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-cli/bin/gruntWarning: Task "uglify" not found. Use --force to continue.Aborted due to warnings.npm error code 3npm error path /home/mike/github/PACKAGES/qnpm error command failednpm error command sh -c grunt

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@kriskowal would be welcome to respond here, however since the package is deprecated and the repo is archived, that is a clear message that there will be no response to issues, including to the incompatibility with Node.js 26.

sxa
sxa approved these changes Aug 26, 2026

@sxasxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me on the basis of the archived state. Tagging the former maintainer as a courtesy in case of any objections to the premise that it is unsupported is a reasonable course of action. I presume there is nothing that has superceded it?

On a related note, we should perhaps consider doing another cycle of #959 since the current process for @nodejs/releasers (who i'm tagging for awareness/input since there are a few of these removal PRs from Mike) is typically "compare with the last version and make sure it's no worse" which I'd suggest is not ideal although generally works.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

I presume there is nothing that has superceded it?

The deprecation notice says:

They can almost certainly migrate to the native JavaScript promise now.

so I believe there wouldn't be any specific replacement needed in citgm.

It would be JavaScript Promise MDN instead and this is used in Node.js code in multiple places, so it is already intrinsically tested.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MikeMcC399@codecov-commenter@ljharb@sxa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

lookup: remove q - #1123

Open
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q
Open

lookup: remove q#1123
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Situation

q is deprecated and unsupported. It cannot therefore fulfil the Hard Requirements:

The maintainers of the module remain responsive when there are problems

ItemStatus
npm packagehttps://www.npmjs.com/package/q
npm statusdeprecated
last published1.5.1 Oct 19, 2017
repo locationhttps://github.com/kriskowal/q
repo statusarchived on Jan 22, 2025
lookup maintainer(s)kriskowal

npm Author message:

You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)

Node.jsnpmmacosubuntuwindows
22.23.110.9.8passpasspass
24.19.011.17.0passpasspass
26.7.011.19.0failfailfail
26.7.012.0.2-fail-

Change

Remove q from lib/lookup.json

Checklist
  • npm test passes
  • contribution guidelines followed
    here

cc: @kriskowal

@codecov-commenter

codecov-commenter commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (eef880d) to head (d209fc5).

Additional details and impacted files
@@ Coverage Diff @@## main #1123 +/- ##
=======================================
Coverage 96.20% 96.20% =======================================
Files 29 29 Lines 2213 2213 =======================================
Hits 2129 2129 Misses 84 84 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review August 10, 2026 13:57
@MikeMcC399

This comment was marked as outdated.

@ljharb

Copy link
Copy Markdown
Member

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

q should be removed from citgm.

q is not compatible with Node.js 26. It cannot be built and fails testing. The repo is archived meaning that no new issues can be opened and no further development is planned.

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.7.0

git clone https://github.com/kriskowal/q
cd q
npm install

Logs

$ npm installnpm warn deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.jsnpm warn deprecated rimraf@2.2.8: Rimraf versions prior to v4 are no longer supportednpm warn deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated glob@3.1.21: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated electron@0.2.1: The original electron project has been moved. Visit github.com/logicalparadox/electron for more details.npm warn deprecated glob@3.2.1: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated glob@3.2.11: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm warn deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jadenpm warn deprecated jasmine-node@1.11.0: jasmine-node 1.x & 2.x are deprecated, with known vulnerability in jasmine-growl-reporter pre-2.0.0npm warn deprecated mocha@1.11.0: Mocha v1.x is no longer supported.npm warn deprecated sinon@1.7.3: 16.1.1npm warn deprecated buster-core@0.6.4: No longer maintained
> q@1.5.1 prepublish
> gruntLoading "uglify.js" tasks...ERROR>> Error: Cannot find module '_stream_transform'>> Require stack:>> - /home/mike/github/PACKAGES/q/node_modules/browserify-zlib/src/index.js>> - /home/mike/github/PACKAGES/q/node_modules/gzip-size/index.js>> - /home/mike/github/PACKAGES/q/node_modules/maxmin/index.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-contrib-uglify/tasks/uglify.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt/task.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-cli/bin/gruntWarning: Task "uglify" not found. Use --force to continue.Aborted due to warnings.npm error code 3npm error path /home/mike/github/PACKAGES/qnpm error command failednpm error command sh -c grunt

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@kriskowal would be welcome to respond here, however since the package is deprecated and the repo is archived, that is a clear message that there will be no response to issues, including to the incompatibility with Node.js 26.

sxa
sxa approved these changes Aug 26, 2026

@sxasxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me on the basis of the archived state. Tagging the former maintainer as a courtesy in case of any objections to the premise that it is unsupported is a reasonable course of action. I presume there is nothing that has superceded it?

On a related note, we should perhaps consider doing another cycle of #959 since the current process for @nodejs/releasers (who i'm tagging for awareness/input since there are a few of these removal PRs from Mike) is typically "compare with the last version and make sure it's no worse" which I'd suggest is not ideal although generally works.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

I presume there is nothing that has superceded it?

The deprecation notice says:

They can almost certainly migrate to the native JavaScript promise now.

so I believe there wouldn't be any specific replacement needed in citgm.

It would be JavaScript Promise MDN instead and this is used in Node.js code in multiple places, so it is already intrinsically tested.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MikeMcC399@codecov-commenter@ljharb@sxa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

lookup: remove q - #1123

Open
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q
Open

lookup: remove q#1123
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Situation

q is deprecated and unsupported. It cannot therefore fulfil the Hard Requirements:

The maintainers of the module remain responsive when there are problems

ItemStatus
npm packagehttps://www.npmjs.com/package/q
npm statusdeprecated
last published1.5.1 Oct 19, 2017
repo locationhttps://github.com/kriskowal/q
repo statusarchived on Jan 22, 2025
lookup maintainer(s)kriskowal

npm Author message:

You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)

Node.jsnpmmacosubuntuwindows
22.23.110.9.8passpasspass
24.19.011.17.0passpasspass
26.7.011.19.0failfailfail
26.7.012.0.2-fail-

Change

Remove q from lib/lookup.json

Checklist
  • npm test passes
  • contribution guidelines followed
    here

cc: @kriskowal

@codecov-commenter

codecov-commenter commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (eef880d) to head (d209fc5).

Additional details and impacted files
@@ Coverage Diff @@## main #1123 +/- ##
=======================================
Coverage 96.20% 96.20% =======================================
Files 29 29 Lines 2213 2213 =======================================
Hits 2129 2129 Misses 84 84 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review August 10, 2026 13:57
@MikeMcC399

This comment was marked as outdated.

@ljharb

Copy link
Copy Markdown
Member

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

q should be removed from citgm.

q is not compatible with Node.js 26. It cannot be built and fails testing. The repo is archived meaning that no new issues can be opened and no further development is planned.

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.7.0

git clone https://github.com/kriskowal/q
cd q
npm install

Logs

$ npm installnpm warn deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.jsnpm warn deprecated rimraf@2.2.8: Rimraf versions prior to v4 are no longer supportednpm warn deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated glob@3.1.21: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated electron@0.2.1: The original electron project has been moved. Visit github.com/logicalparadox/electron for more details.npm warn deprecated glob@3.2.1: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated glob@3.2.11: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm warn deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jadenpm warn deprecated jasmine-node@1.11.0: jasmine-node 1.x & 2.x are deprecated, with known vulnerability in jasmine-growl-reporter pre-2.0.0npm warn deprecated mocha@1.11.0: Mocha v1.x is no longer supported.npm warn deprecated sinon@1.7.3: 16.1.1npm warn deprecated buster-core@0.6.4: No longer maintained
> q@1.5.1 prepublish
> gruntLoading "uglify.js" tasks...ERROR>> Error: Cannot find module '_stream_transform'>> Require stack:>> - /home/mike/github/PACKAGES/q/node_modules/browserify-zlib/src/index.js>> - /home/mike/github/PACKAGES/q/node_modules/gzip-size/index.js>> - /home/mike/github/PACKAGES/q/node_modules/maxmin/index.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-contrib-uglify/tasks/uglify.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt/task.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-cli/bin/gruntWarning: Task "uglify" not found. Use --force to continue.Aborted due to warnings.npm error code 3npm error path /home/mike/github/PACKAGES/qnpm error command failednpm error command sh -c grunt

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@kriskowal would be welcome to respond here, however since the package is deprecated and the repo is archived, that is a clear message that there will be no response to issues, including to the incompatibility with Node.js 26.

sxa
sxa approved these changes Aug 26, 2026

@sxasxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me on the basis of the archived state. Tagging the former maintainer as a courtesy in case of any objections to the premise that it is unsupported is a reasonable course of action. I presume there is nothing that has superceded it?

On a related note, we should perhaps consider doing another cycle of #959 since the current process for @nodejs/releasers (who i'm tagging for awareness/input since there are a few of these removal PRs from Mike) is typically "compare with the last version and make sure it's no worse" which I'd suggest is not ideal although generally works.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

I presume there is nothing that has superceded it?

The deprecation notice says:

They can almost certainly migrate to the native JavaScript promise now.

so I believe there wouldn't be any specific replacement needed in citgm.

It would be JavaScript Promise MDN instead and this is used in Node.js code in multiple places, so it is already intrinsically tested.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MikeMcC399@codecov-commenter@ljharb@sxa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

lookup: remove q - #1123

Open
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q
Open

lookup: remove q#1123
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Situation

q is deprecated and unsupported. It cannot therefore fulfil the Hard Requirements:

The maintainers of the module remain responsive when there are problems

ItemStatus
npm packagehttps://www.npmjs.com/package/q
npm statusdeprecated
last published1.5.1 Oct 19, 2017
repo locationhttps://github.com/kriskowal/q
repo statusarchived on Jan 22, 2025
lookup maintainer(s)kriskowal

npm Author message:

You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)

Node.jsnpmmacosubuntuwindows
22.23.110.9.8passpasspass
24.19.011.17.0passpasspass
26.7.011.19.0failfailfail
26.7.012.0.2-fail-

Change

Remove q from lib/lookup.json

Checklist
  • npm test passes
  • contribution guidelines followed
    here

cc: @kriskowal

@codecov-commenter

codecov-commenter commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (eef880d) to head (d209fc5).

Additional details and impacted files
@@ Coverage Diff @@## main #1123 +/- ##
=======================================
Coverage 96.20% 96.20% =======================================
Files 29 29 Lines 2213 2213 =======================================
Hits 2129 2129 Misses 84 84 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review August 10, 2026 13:57
@MikeMcC399

This comment was marked as outdated.

@ljharb

Copy link
Copy Markdown
Member

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

q should be removed from citgm.

q is not compatible with Node.js 26. It cannot be built and fails testing. The repo is archived meaning that no new issues can be opened and no further development is planned.

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.7.0

git clone https://github.com/kriskowal/q
cd q
npm install

Logs

$ npm installnpm warn deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.jsnpm warn deprecated rimraf@2.2.8: Rimraf versions prior to v4 are no longer supportednpm warn deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated glob@3.1.21: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated electron@0.2.1: The original electron project has been moved. Visit github.com/logicalparadox/electron for more details.npm warn deprecated glob@3.2.1: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated glob@3.2.11: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm warn deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jadenpm warn deprecated jasmine-node@1.11.0: jasmine-node 1.x & 2.x are deprecated, with known vulnerability in jasmine-growl-reporter pre-2.0.0npm warn deprecated mocha@1.11.0: Mocha v1.x is no longer supported.npm warn deprecated sinon@1.7.3: 16.1.1npm warn deprecated buster-core@0.6.4: No longer maintained
> q@1.5.1 prepublish
> gruntLoading "uglify.js" tasks...ERROR>> Error: Cannot find module '_stream_transform'>> Require stack:>> - /home/mike/github/PACKAGES/q/node_modules/browserify-zlib/src/index.js>> - /home/mike/github/PACKAGES/q/node_modules/gzip-size/index.js>> - /home/mike/github/PACKAGES/q/node_modules/maxmin/index.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-contrib-uglify/tasks/uglify.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt/task.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-cli/bin/gruntWarning: Task "uglify" not found. Use --force to continue.Aborted due to warnings.npm error code 3npm error path /home/mike/github/PACKAGES/qnpm error command failednpm error command sh -c grunt

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@kriskowal would be welcome to respond here, however since the package is deprecated and the repo is archived, that is a clear message that there will be no response to issues, including to the incompatibility with Node.js 26.

sxa
sxa approved these changes Aug 26, 2026

@sxasxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me on the basis of the archived state. Tagging the former maintainer as a courtesy in case of any objections to the premise that it is unsupported is a reasonable course of action. I presume there is nothing that has superceded it?

On a related note, we should perhaps consider doing another cycle of #959 since the current process for @nodejs/releasers (who i'm tagging for awareness/input since there are a few of these removal PRs from Mike) is typically "compare with the last version and make sure it's no worse" which I'd suggest is not ideal although generally works.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

I presume there is nothing that has superceded it?

The deprecation notice says:

They can almost certainly migrate to the native JavaScript promise now.

so I believe there wouldn't be any specific replacement needed in citgm.

It would be JavaScript Promise MDN instead and this is used in Node.js code in multiple places, so it is already intrinsically tested.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MikeMcC399@codecov-commenter@ljharb@sxa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

lookup: remove q - #1123

Open
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q
Open

lookup: remove q#1123
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Situation

q is deprecated and unsupported. It cannot therefore fulfil the Hard Requirements:

The maintainers of the module remain responsive when there are problems

ItemStatus
npm packagehttps://www.npmjs.com/package/q
npm statusdeprecated
last published1.5.1 Oct 19, 2017
repo locationhttps://github.com/kriskowal/q
repo statusarchived on Jan 22, 2025
lookup maintainer(s)kriskowal

npm Author message:

You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)

Node.jsnpmmacosubuntuwindows
22.23.110.9.8passpasspass
24.19.011.17.0passpasspass
26.7.011.19.0failfailfail
26.7.012.0.2-fail-

Change

Remove q from lib/lookup.json

Checklist
  • npm test passes
  • contribution guidelines followed
    here

cc: @kriskowal

@codecov-commenter

codecov-commenter commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (eef880d) to head (d209fc5).

Additional details and impacted files
@@ Coverage Diff @@## main #1123 +/- ##
=======================================
Coverage 96.20% 96.20% =======================================
Files 29 29 Lines 2213 2213 =======================================
Hits 2129 2129 Misses 84 84 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review August 10, 2026 13:57
@MikeMcC399

This comment was marked as outdated.

@ljharb

Copy link
Copy Markdown
Member

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

q should be removed from citgm.

q is not compatible with Node.js 26. It cannot be built and fails testing. The repo is archived meaning that no new issues can be opened and no further development is planned.

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.7.0

git clone https://github.com/kriskowal/q
cd q
npm install

Logs

$ npm installnpm warn deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.jsnpm warn deprecated rimraf@2.2.8: Rimraf versions prior to v4 are no longer supportednpm warn deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated glob@3.1.21: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated electron@0.2.1: The original electron project has been moved. Visit github.com/logicalparadox/electron for more details.npm warn deprecated glob@3.2.1: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated glob@3.2.11: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm warn deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jadenpm warn deprecated jasmine-node@1.11.0: jasmine-node 1.x & 2.x are deprecated, with known vulnerability in jasmine-growl-reporter pre-2.0.0npm warn deprecated mocha@1.11.0: Mocha v1.x is no longer supported.npm warn deprecated sinon@1.7.3: 16.1.1npm warn deprecated buster-core@0.6.4: No longer maintained
> q@1.5.1 prepublish
> gruntLoading "uglify.js" tasks...ERROR>> Error: Cannot find module '_stream_transform'>> Require stack:>> - /home/mike/github/PACKAGES/q/node_modules/browserify-zlib/src/index.js>> - /home/mike/github/PACKAGES/q/node_modules/gzip-size/index.js>> - /home/mike/github/PACKAGES/q/node_modules/maxmin/index.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-contrib-uglify/tasks/uglify.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt/task.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-cli/bin/gruntWarning: Task "uglify" not found. Use --force to continue.Aborted due to warnings.npm error code 3npm error path /home/mike/github/PACKAGES/qnpm error command failednpm error command sh -c grunt

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@kriskowal would be welcome to respond here, however since the package is deprecated and the repo is archived, that is a clear message that there will be no response to issues, including to the incompatibility with Node.js 26.

sxa
sxa approved these changes Aug 26, 2026

@sxasxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me on the basis of the archived state. Tagging the former maintainer as a courtesy in case of any objections to the premise that it is unsupported is a reasonable course of action. I presume there is nothing that has superceded it?

On a related note, we should perhaps consider doing another cycle of #959 since the current process for @nodejs/releasers (who i'm tagging for awareness/input since there are a few of these removal PRs from Mike) is typically "compare with the last version and make sure it's no worse" which I'd suggest is not ideal although generally works.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

I presume there is nothing that has superceded it?

The deprecation notice says:

They can almost certainly migrate to the native JavaScript promise now.

so I believe there wouldn't be any specific replacement needed in citgm.

It would be JavaScript Promise MDN instead and this is used in Node.js code in multiple places, so it is already intrinsically tested.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MikeMcC399@codecov-commenter@ljharb@sxa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

lookup: remove q - #1123

Open
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q
Open

lookup: remove q#1123
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Situation

q is deprecated and unsupported. It cannot therefore fulfil the Hard Requirements:

The maintainers of the module remain responsive when there are problems

ItemStatus
npm packagehttps://www.npmjs.com/package/q
npm statusdeprecated
last published1.5.1 Oct 19, 2017
repo locationhttps://github.com/kriskowal/q
repo statusarchived on Jan 22, 2025
lookup maintainer(s)kriskowal

npm Author message:

You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)

Node.jsnpmmacosubuntuwindows
22.23.110.9.8passpasspass
24.19.011.17.0passpasspass
26.7.011.19.0failfailfail
26.7.012.0.2-fail-

Change

Remove q from lib/lookup.json

Checklist
  • npm test passes
  • contribution guidelines followed
    here

cc: @kriskowal

@codecov-commenter

codecov-commenter commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (eef880d) to head (d209fc5).

Additional details and impacted files
@@ Coverage Diff @@## main #1123 +/- ##
=======================================
Coverage 96.20% 96.20% =======================================
Files 29 29 Lines 2213 2213 =======================================
Hits 2129 2129 Misses 84 84 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review August 10, 2026 13:57
@MikeMcC399

This comment was marked as outdated.

@ljharb

Copy link
Copy Markdown
Member

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

q should be removed from citgm.

q is not compatible with Node.js 26. It cannot be built and fails testing. The repo is archived meaning that no new issues can be opened and no further development is planned.

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.7.0

git clone https://github.com/kriskowal/q
cd q
npm install

Logs

$ npm installnpm warn deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.jsnpm warn deprecated rimraf@2.2.8: Rimraf versions prior to v4 are no longer supportednpm warn deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated glob@3.1.21: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated electron@0.2.1: The original electron project has been moved. Visit github.com/logicalparadox/electron for more details.npm warn deprecated glob@3.2.1: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated glob@3.2.11: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm warn deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jadenpm warn deprecated jasmine-node@1.11.0: jasmine-node 1.x & 2.x are deprecated, with known vulnerability in jasmine-growl-reporter pre-2.0.0npm warn deprecated mocha@1.11.0: Mocha v1.x is no longer supported.npm warn deprecated sinon@1.7.3: 16.1.1npm warn deprecated buster-core@0.6.4: No longer maintained
> q@1.5.1 prepublish
> gruntLoading "uglify.js" tasks...ERROR>> Error: Cannot find module '_stream_transform'>> Require stack:>> - /home/mike/github/PACKAGES/q/node_modules/browserify-zlib/src/index.js>> - /home/mike/github/PACKAGES/q/node_modules/gzip-size/index.js>> - /home/mike/github/PACKAGES/q/node_modules/maxmin/index.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-contrib-uglify/tasks/uglify.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt/task.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-cli/bin/gruntWarning: Task "uglify" not found. Use --force to continue.Aborted due to warnings.npm error code 3npm error path /home/mike/github/PACKAGES/qnpm error command failednpm error command sh -c grunt

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@kriskowal would be welcome to respond here, however since the package is deprecated and the repo is archived, that is a clear message that there will be no response to issues, including to the incompatibility with Node.js 26.

sxa
sxa approved these changes Aug 26, 2026

@sxasxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me on the basis of the archived state. Tagging the former maintainer as a courtesy in case of any objections to the premise that it is unsupported is a reasonable course of action. I presume there is nothing that has superceded it?

On a related note, we should perhaps consider doing another cycle of #959 since the current process for @nodejs/releasers (who i'm tagging for awareness/input since there are a few of these removal PRs from Mike) is typically "compare with the last version and make sure it's no worse" which I'd suggest is not ideal although generally works.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

I presume there is nothing that has superceded it?

The deprecation notice says:

They can almost certainly migrate to the native JavaScript promise now.

so I believe there wouldn't be any specific replacement needed in citgm.

It would be JavaScript Promise MDN instead and this is used in Node.js code in multiple places, so it is already intrinsically tested.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MikeMcC399@codecov-commenter@ljharb@sxa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

lookup: remove q - #1123

Open
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q
Open

lookup: remove q#1123
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Situation

q is deprecated and unsupported. It cannot therefore fulfil the Hard Requirements:

The maintainers of the module remain responsive when there are problems

ItemStatus
npm packagehttps://www.npmjs.com/package/q
npm statusdeprecated
last published1.5.1 Oct 19, 2017
repo locationhttps://github.com/kriskowal/q
repo statusarchived on Jan 22, 2025
lookup maintainer(s)kriskowal

npm Author message:

You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)

Node.jsnpmmacosubuntuwindows
22.23.110.9.8passpasspass
24.19.011.17.0passpasspass
26.7.011.19.0failfailfail
26.7.012.0.2-fail-

Change

Remove q from lib/lookup.json

Checklist
  • npm test passes
  • contribution guidelines followed
    here

cc: @kriskowal

@codecov-commenter

codecov-commenter commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (eef880d) to head (d209fc5).

Additional details and impacted files
@@ Coverage Diff @@## main #1123 +/- ##
=======================================
Coverage 96.20% 96.20% =======================================
Files 29 29 Lines 2213 2213 =======================================
Hits 2129 2129 Misses 84 84 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review August 10, 2026 13:57
@MikeMcC399

This comment was marked as outdated.

@ljharb

Copy link
Copy Markdown
Member

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

q should be removed from citgm.

q is not compatible with Node.js 26. It cannot be built and fails testing. The repo is archived meaning that no new issues can be opened and no further development is planned.

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.7.0

git clone https://github.com/kriskowal/q
cd q
npm install

Logs

$ npm installnpm warn deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.jsnpm warn deprecated rimraf@2.2.8: Rimraf versions prior to v4 are no longer supportednpm warn deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated glob@3.1.21: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated electron@0.2.1: The original electron project has been moved. Visit github.com/logicalparadox/electron for more details.npm warn deprecated glob@3.2.1: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated glob@3.2.11: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm warn deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jadenpm warn deprecated jasmine-node@1.11.0: jasmine-node 1.x & 2.x are deprecated, with known vulnerability in jasmine-growl-reporter pre-2.0.0npm warn deprecated mocha@1.11.0: Mocha v1.x is no longer supported.npm warn deprecated sinon@1.7.3: 16.1.1npm warn deprecated buster-core@0.6.4: No longer maintained
> q@1.5.1 prepublish
> gruntLoading "uglify.js" tasks...ERROR>> Error: Cannot find module '_stream_transform'>> Require stack:>> - /home/mike/github/PACKAGES/q/node_modules/browserify-zlib/src/index.js>> - /home/mike/github/PACKAGES/q/node_modules/gzip-size/index.js>> - /home/mike/github/PACKAGES/q/node_modules/maxmin/index.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-contrib-uglify/tasks/uglify.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt/task.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-cli/bin/gruntWarning: Task "uglify" not found. Use --force to continue.Aborted due to warnings.npm error code 3npm error path /home/mike/github/PACKAGES/qnpm error command failednpm error command sh -c grunt

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@kriskowal would be welcome to respond here, however since the package is deprecated and the repo is archived, that is a clear message that there will be no response to issues, including to the incompatibility with Node.js 26.

sxa
sxa approved these changes Aug 26, 2026

@sxasxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me on the basis of the archived state. Tagging the former maintainer as a courtesy in case of any objections to the premise that it is unsupported is a reasonable course of action. I presume there is nothing that has superceded it?

On a related note, we should perhaps consider doing another cycle of #959 since the current process for @nodejs/releasers (who i'm tagging for awareness/input since there are a few of these removal PRs from Mike) is typically "compare with the last version and make sure it's no worse" which I'd suggest is not ideal although generally works.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

I presume there is nothing that has superceded it?

The deprecation notice says:

They can almost certainly migrate to the native JavaScript promise now.

so I believe there wouldn't be any specific replacement needed in citgm.

It would be JavaScript Promise MDN instead and this is used in Node.js code in multiple places, so it is already intrinsically tested.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MikeMcC399@codecov-commenter@ljharb@sxa
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

lookup: remove q - #1123

Open
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q
Open

lookup: remove q#1123
MikeMcC399 wants to merge 7 commits into
nodejs:mainfrom
MikeMcC399:remove/q

Conversation

@MikeMcC399

Copy link
Copy Markdown
Contributor

Situation

q is deprecated and unsupported. It cannot therefore fulfil the Hard Requirements:

The maintainers of the module remain responsive when there are problems

ItemStatus
npm packagehttps://www.npmjs.com/package/q
npm statusdeprecated
last published1.5.1 Oct 19, 2017
repo locationhttps://github.com/kriskowal/q
repo statusarchived on Jan 22, 2025
lookup maintainer(s)kriskowal

npm Author message:

You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)

Node.jsnpmmacosubuntuwindows
22.23.110.9.8passpasspass
24.19.011.17.0passpasspass
26.7.011.19.0failfailfail
26.7.012.0.2-fail-

Change

Remove q from lib/lookup.json

Checklist
  • npm test passes
  • contribution guidelines followed
    here

cc: @kriskowal

@codecov-commenter

codecov-commenter commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.20%. Comparing base (eef880d) to head (d209fc5).

Additional details and impacted files
@@ Coverage Diff @@## main #1123 +/- ##
=======================================
Coverage 96.20% 96.20% =======================================
Files 29 29 Lines 2213 2213 =======================================
Hits 2129 2129 Misses 84 84 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MikeMcC399
MikeMcC399 marked this pull request as ready for review August 10, 2026 13:57
@MikeMcC399

This comment was marked as outdated.

@ljharb

Copy link
Copy Markdown
Member

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

q should be removed from citgm.

q is not compatible with Node.js 26. It cannot be built and fails testing. The repo is archived meaning that no new issues can be opened and no further development is planned.

Steps to reproduce

Ubuntu 24.04.4 LTS, Node.js 24.7.0

git clone https://github.com/kriskowal/q
cd q
npm install

Logs

$ npm installnpm warn deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.jsnpm warn deprecated rimraf@2.2.8: Rimraf versions prior to v4 are no longer supportednpm warn deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issuenpm warn deprecated mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated mkdirp@0.3.5: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)npm warn deprecated glob@3.1.21: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated electron@0.2.1: The original electron project has been moved. Visit github.com/logicalparadox/electron for more details.npm warn deprecated glob@3.2.1: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated glob@3.2.11: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.menpm warn deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)npm warn deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jadenpm warn deprecated jasmine-node@1.11.0: jasmine-node 1.x & 2.x are deprecated, with known vulnerability in jasmine-growl-reporter pre-2.0.0npm warn deprecated mocha@1.11.0: Mocha v1.x is no longer supported.npm warn deprecated sinon@1.7.3: 16.1.1npm warn deprecated buster-core@0.6.4: No longer maintained
> q@1.5.1 prepublish
> gruntLoading "uglify.js" tasks...ERROR>> Error: Cannot find module '_stream_transform'>> Require stack:>> - /home/mike/github/PACKAGES/q/node_modules/browserify-zlib/src/index.js>> - /home/mike/github/PACKAGES/q/node_modules/gzip-size/index.js>> - /home/mike/github/PACKAGES/q/node_modules/maxmin/index.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-contrib-uglify/tasks/uglify.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt/task.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt/lib/grunt.js>> - /home/mike/github/PACKAGES/q/node_modules/grunt-cli/bin/gruntWarning: Task "uglify" not found. Use --force to continue.Aborted due to warnings.npm error code 3npm error path /home/mike/github/PACKAGES/qnpm error command failednpm error command sh -c grunt

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

Have their been concrete problems the maintainers have been unresponsive to? Nothing short of that can violate the hard requirements imo.

@kriskowal would be welcome to respond here, however since the package is deprecated and the repo is archived, that is a clear message that there will be no response to issues, including to the incompatibility with Node.js 26.

sxa
sxa approved these changes Aug 26, 2026

@sxasxa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 from me on the basis of the archived state. Tagging the former maintainer as a courtesy in case of any objections to the premise that it is unsupported is a reasonable course of action. I presume there is nothing that has superceded it?

On a related note, we should perhaps consider doing another cycle of #959 since the current process for @nodejs/releasers (who i'm tagging for awareness/input since there are a few of these removal PRs from Mike) is typically "compare with the last version and make sure it's no worse" which I'd suggest is not ideal although generally works.

@MikeMcC399

Copy link
Copy Markdown
ContributorAuthor

I presume there is nothing that has superceded it?

The deprecation notice says:

They can almost certainly migrate to the native JavaScript promise now.

so I believe there wouldn't be any specific replacement needed in citgm.

It would be JavaScript Promise MDN instead and this is used in Node.js code in multiple places, so it is already intrinsically tested.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MikeMcC399@codecov-commenter@ljharb@sxa