Reference Source

Deprecated npm packages and their maintainer-named replacement

npm allows a maintainer to attach a 'deprecated' message to a specific published version, and that message often names the exact replacement package or built-in API to use instead -- 'left-pad' points at String.prototype.padStart(), 'istanbul' points at nyc, 'tslint' points at ESLint, 'babel-eslint' points at @babel/eslint-parser. This is first-party, machine-readable data sitting in the registry API itself, but nobody has assembled it into a browsable table: a developer running `npm install` sees the warning once in a terminal scroll and it is gone, and the alternative is a content-mill blog post ranking '10 request alternatives' without quoting what the maintainer actually said. This asset would have been too tedious to maintain by hand across thousands of packages -- watching a firehose of new deprecations and re-checking old ones for changes -- but is a mechanical registry read for one machine, refreshable on a schedule at zero marginal cost per package. Each record is one deprecated package, quoting its maintainer's own deprecated message verbatim and naming the specific replacement stated in it. Answers 'is request deprecated', 'what should I use instead of tslint', 'why is my npm install warning about gulp-util'.

Records96
Sources96
Verified
Review by
LicenceFacts from the public npm registry API; package metadata is not a copyrightable compilation of the underlying facts

The data

PackageLatest published versionMaintainer's deprecation messageNamed replacement
abab2.0.6Use your platform's native atob() and btoa() methods insteadatob() and btoa()
apollo-server3.13.0The `apollo-server` package is part of Apollo Server v2 and v3, which are now end-of-life (as of October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.@apollo/server
are-we-there-yet4.0.2This package is no longer supported.
babel6.23.0In 6.x, the babel package has been deprecated in favor of babel-cli. Check https://opencollective.com/babel to support the Babel maintainersbabel-cli
babel-eslint10.1.0babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.@babel/eslint-parser
@babel/plugin-proposal-class-properties7.18.6This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.@babel/plugin-transform-class-properties
@babel/plugin-proposal-nullish-coalescing-operator7.18.6This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.@babel/plugin-transform-nullish-coalescing-operator
@babel/plugin-proposal-object-rest-spread7.20.7This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.@babel/plugin-transform-object-rest-spread
@babel/plugin-proposal-optional-chaining7.21.0This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.@babel/plugin-transform-optional-chaining
@babel/polyfill7.12.1🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
babel-preset-es20156.24.1🙌 Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!babel-preset-env
boom7.3.0This module has moved and is now available at @hapi/boom. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.@hapi/boom
circular-json0.5.9CircularJSON is in maintenance only, flatted is its successor.flatted
codecov3.8.3https://about.codecov.io/blog/codecov-uploader-deprecation-plan/
coffee-script1.12.7CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)coffeescript
copy-concurrently1.0.5This package is no longer supported.
cryptiles4.1.3This module has moved and is now available at @hapi/cryptiles. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.@hapi/cryptiles
crypto1.0.1This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.built-in Node module
csurf1.11.0This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions
domexception4.0.0Use your platform's native DOMException insteadDOMException
eslint-loader4.0.2This loader has been deprecated. Please use eslint-webpack-plugineslint-webpack-plugin
eslint-plugin-typescript0.14.0Deprecated: Use @typescript-eslint/eslint-plugin instead@typescript-eslint/eslint-plugin
extract-text-webpack-plugin3.0.2Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-pluginmini-css-extract-plugin
figgy-pudding3.5.2This module is no longer supported.
fs-write-stream-atomic1.0.10This package is no longer supported.
fstream1.0.12This package is no longer supported.
gauge5.0.2This package is no longer supported.
gulp-minify-css1.2.4Please use gulp-clean-cssgulp-clean-css
gulp-util3.0.8gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
@hapi/joi17.1.1Switch to 'npm install joi'joi
har-validator5.1.5this library is no longer supported
hoek6.1.3This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.@hapi/hoek
@humanwhocodes/config-array0.13.0Use @eslint/config-array instead@eslint/config-array
@humanwhocodes/object-schema2.0.3Use @eslint/object-schema instead@eslint/object-schema
inflight1.0.6This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.lru-cache
istanbul0.4.5This module is no longer maintained, try this instead:\n npm i nyc\nVisit https://istanbul.js.org/integrations for other alternatives.nyc
jade1.11.0Jade has been renamed to pug, please install the latest version of pug instead of jadepug
left-pad1.3.0use String.prototype.padStart()String.prototype.padStart()
libnpmconfig1.2.1This module is not used anymore. npm config is parsed by npm itself and by @npmcli/config@npmcli/config
lodash.get4.4.2This package is deprecated. Use the optional chaining (?.) operator instead.optional chaining (?.) operator
lodash.isequal4.5.0This package is deprecated. Use require('node:util').isDeepStrictEqual instead.require('node:util').isDeepStrictEqual
lodash.template4.18.1This package is deprecated. Use https://socket.dev/npm/package/eta instead.eta
mkdirp-promise5.0.1This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.mkdirp
move-concurrently1.0.1This package is no longer supported.
node-pre-gyp0.17.0Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future@mapbox/node-pre-gyp
node-sass9.0.0Node Sass is no longer supported. Please use `sass` or `sass-embedded` instead.`sass` or `sass-embedded`
node-uuid1.4.8Use uuid module insteaduuid
nomnom1.8.1Package no longer supported. Contact [email protected] for more info.
now21.0.1\"now\" is deprecated and will stop receiving updates on December 31, 2020. Please use \"vercel\" instead.vercel
npm-registry-client8.6.0This package is no longer supported.
@npmcli/move-file3.0.0This functionality has been moved to @npmcli/fs@npmcli/fs
npmlog7.0.1This package is no longer supported.
osenv0.1.5This package is no longer supported.
phantomjs2.1.7Package renamed to phantomjs-prebuilt. Please update 'phantomjs' package references to 'phantomjs-prebuilt'phantomjs-prebuilt
phantomjs-prebuilt2.1.16this package is now deprecated
popper.js1.16.1You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1@popperjs/core
postcss-cssnext3.1.1'postcss-cssnext' has been deprecated in favor of 'postcss-preset-env'. Read more at https://moox.io/blog/deprecating-cssnext/postcss-preset-env
protractor7.0.0We have news to share - Protractor is deprecated and will reach end-of-life by Summer 2023. To learn more and find out about other options please refer to this post on the Angular blog. Thank you for using and contributing to Protractor. https://goo.gle/state-of-e2e-in-angular
querystring0.2.1The querystring API is considered Legacy. new code should use the URLSearchParams API instead.URLSearchParams
raven2.6.4Please upgrade to @sentry/node. See the migration guide https://bit.ly/3ybOlo7@sentry/node
raven-js3.27.2Please upgrade to @sentry/browser. See the migration guide https://bit.ly/3ybOlo7@sentry/browser
react-tools0.13.3react-tools is deprecated. For more information, visit https://fb.me/react-tools-deprecated
read-package-json7.0.1This package is no longer supported. Please use @npmcli/package-json instead.@npmcli/package-json
readdir-scoped-modules1.1.0This functionality has been moved to @npmcli/fs@npmcli/fs
request2.88.2request has been deprecated, see https://github.com/request/request/issues/3142
request-promise4.2.6request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
request-promise-native1.0.9request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
resolve-url0.2.1https://github.com/lydell/resolve-url#deprecated
rollup-plugin-babel4.4.0This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.@rollup/plugin-babel
rollup-plugin-commonjs10.1.0This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.@rollup/plugin-commonjs
rollup-plugin-json4.0.0This module has been deprecated and is no longer maintained. Please use @rollup/plugin-json.@rollup/plugin-json
rollup-plugin-node-resolve5.2.0This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve.@rollup/plugin-node-resolve
rollup-plugin-replace2.2.0This module has moved and is now available at @rollup/plugin-replace. Please update your dependencies. This version is no longer maintained.@rollup/plugin-replace
rollup-plugin-terser7.0.2This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser@rollup/plugin-terser
sntp3.0.2This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.@hapi/sntp
source-map-resolve0.6.0See https://github.com/lydell/source-map-resolve#deprecated
source-map-url0.4.1See https://github.com/lydell/source-map-url#deprecated
sourcemap-codec1.4.8Please use @jridgewell/sourcemap-codec instead@jridgewell/sourcemap-codec
stable0.1.8Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibilityArray#sort()
tslint6.1.3TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.ESLint
tslint-react5.0.0tslint-react is deprecated along with TSLint
@types/axios0.14.4This is a stub types definition. axios provides its own type definitions, so you do not need this installed.axios
@types/chalk2.2.4This is a stub types definition. chalk provides its own type definitions, so you do not need this installed.chalk
@types/commander2.12.5This is a stub types definition. commander provides its own type definitions, so you do not need this installed.commander
@types/dotenv8.2.3This is a stub types definition. dotenv provides its own type definitions, so you do not need this installed.dotenv
@types/mkdirp2.0.0This is a stub types definition. mkdirp provides its own type definitions, so you do not need this installed.mkdirp
@types/moment2.13.0This is a stub types definition for Moment (https://github.com/moment/moment). Moment provides its own type definitions, so you don't need @types/moment installed!Moment
@types/react-native0.73.0This is a stub types definition. react-native provides its own type definitions, so you do not need this installed.react-native
@types/redux3.6.0This is a stub types definition for Redux (https://github.com/reactjs/redux). Redux provides its own type definitions, so you don't need @types/redux installed!Redux
@types/uuid11.0.0This is a stub types definition. uuid provides its own type definitions, so you do not need this installed.uuid
typescript-eslint-parser22.0.0Deprecated: Use @typescript-eslint/parser instead@typescript-eslint/parser
typings2.1.1Typings is deprecated in favor of NPM @types -- see README for more information@types
uglify-es3.3.9support for ECMAScript is superseded by `uglify-js` as of v3.13.0uglify-js
urix0.1.0Please see https://github.com/lydell/urix#deprecated
vue-cli2.9.6This package has been deprecated in favour of @vue/cli@vue/cli
w3c-hr-time1.0.2Use your platform's native performance.now() and performance.timeOrigin.performance.now() and performance.timeOrigin

Where this came from

Every record above links the page it was taken from and quotes the sentence that states it. These are the 96 sources this dataset was assembled from.

Machine-readable

From your own code

Same records, same quotes, without scraping the page: refsource is on PyPI and npm. Each value comes back carrying the URL it was read from and the sentence on that page that states it — .source and .quote sit on the value itself rather than in a side channel, so the checking step is available instead of skipped.

pip install refsource
refsource lookup npm-deprecated-package-recommended-replacement package_name=abab

npx -y refsource lookup npm-deprecated-package-recommended-replacement package_name=abab

Set your AI assistant up to use this

Two files and no account. Put this in .mcp.json at the root of your project — Claude Code, Cursor, Windsurf, VS Code and Codex all read that file — and your assistant can look this dataset up instead of recalling it. The server is remote, keyless and read-only.

{
  "mcpServers": {
    "referencesource": {
      "type": "http",
      "url": "https://referencesource.org/mcp"
    }
  }
}

Add to Cursor · or, on the command line: claude mcp add --transport http referencesource https://referencesource.org/mcp --scope project

Then one line in the project's CLAUDE.md or AGENTS.md, so the assistant knows when to reach for it:

When a question needs "Deprecated npm packages and their maintainer-named replacement", call the referencesource MCP server at https://referencesource.org/mcp (tool `search_records`, dataset_slug `npm-deprecated-package-recommended-replacement`) instead of answering from memory — every record it returns carries its source URL and a verbatim quote from that page.

What each tool does, and the servers built over single registers: Connect your AI assistant.

96 records. last verified against source . due for re-check by .

Licence. Facts from the public npm registry API; package metadata is not a copyrightable compilation of the underlying facts