Is q still maintained?
No — q stopped being maintained around October 2017. Promise (native) covers this in the language or runtime now, so the right move is to delete the dependency rather than replace it.
- Status
- No longer maintained
- Last maintained
- October 2017
- Use instead
Promise (native)- Succession
- Absorbed elsewhere
- Drop-in
- not applicable
- Confidence
- high
What replaced q?
Promise (native) covers this in the language or runtime now, so the right move is to delete the dependency rather than replace it. There is no package to install; the dependency comes out and platform code goes in.
How to migrate from q to Promise (native)
Q.defer() becomes new Promise((resolve, reject) => …), Q.all becomes Promise.all, and Q.nfcall(fn, …) becomes util.promisify(fn)(…).
Why q is on this list
Q was one of the promise libraries that shaped the JavaScript promise specification, and its author deprecated it on npm with a note saying users "can almost certainly migrate to the native JavaScript promise now". The last release was 1.5.1 in October 2017 and the repository is archived. Native promises have been available in every supported Node.js release for years.
The succession is settled: primary sources agree and the ecosystem has already moved.
q alternatives
Beyond the primary recommendation, these are credible for q's use case:
bluebird— also succeeded; see its page
Check your own project for q
npx dead-deps --all --min-state unmaintained
Run that in the directory holding your lockfile. If q is anywhere in your tree — a direct dependency or buried under something else — it appears in the report with this verdict, this successor and the same evidence links, alongside anything else that has stopped moving. Nothing is uploaded; the scan reads your lockfile locally and queries public registry metadata.
Exit code 1 means something was flagged, which makes npx dead-deps --min-state deprecated usable as a CI gate. See how verdicts are produced.
Evidence
Every claim on this page traces to a primary source. Check them:
- npm deprecation notice from the author of Qnpmjs.com
- Q repository (archived)github.com
Packages related to q
- bluebirdReplaced by Promise (native) in the platform · unmaintained since November 2019
- lodash.isequalReplaced by node:util.isDeepStrictEqual in the platform · unmaintained since January 2017
- left-padReplaced by String.prototype.padStart in the platform · unmaintained since April 2018
- lodash.getReplaced by optional chaining (?.) in the platform · unmaintained since August 2016
- querystringReplaced by URLSearchParams in the platform · unmaintained since February 2021
See the full index of covered packages, or read the methodology for how a verdict is reached and why a quiet package is not a dead one.