Node.js v14 to v16
AugustinMauroy
Node.js v14 to v16
This article covers a part of the migration from Node.js v14 to v16. The userland migrations team is working on more codemods to help you with the migration.
This page provides a list of codemods to help you migrate your code from Node.js v14 to v16.
create-require-from-path
Node.js v16 replaced the createRequireFromPath function, deprecated in DEP0148, with the modern createRequire function. This codemod replaces calls of the deprecated function with the modern alternative mentioned.
The source code for this codemod can be found in the create-require-from-path directory.
You can find this codemod in the Codemod Registry.
npx codemod run @nodejs/create-require-from-path
Example:
import { } from 'node:module';
const = ('/path/to/module');
const = ('./myModule.cjs');
process-main-module
The process.mainModule property was deprecated in favor of require.main. This codemod will help you replace the old process.mainModule usage with the new require.main usage.
So the codemod handle DEP0138.
The source code for this codemod can be found in the process-main-module directory.
You can find this codemod in the Codemod Registry.
npx codemod run @nodejs/process-main-module
Example:
if (. === 'mod.js') {
// cli thing
} else {
// module thing
}
process-mainModule-to-require-main
The process.mainModule property was deprecated (DEP0144) in favor of require.main. This codemod replaces calls of the deprecated property with the modern alternative mentioned.
The source code for this codemod can be found in the process-mainModule-to-require-main directory.
You can find this codemod in the Codemod Registry.
npx codemod run @nodejs/process-mainModule-to-require-main
Example:
if (.) {
.('This script is the main module');
}
rmdir
The fs.rmdir function was deprecated in favor of fs.rm with the { recursive: true } option. This codemod will help you replace the old fs.rmdir function with the new fs.rm function.
so this codemod handle DEP0147.
The source code for this codemod can be found in the rmdir directory.
You can find this codemod in the Codemod Registry.
npx codemod run @nodejs/rmdir
Example:
// Using fs.rmdir with the recursive option
fs.rmdir(path, { : true }, callback);
// Using fs.rmdirSync with the recursive option
fs.rmdirSync(path, { : true });
// Using fs.promises.rmdir with the recursive option
fs.promises.rmdir(path, { : true });
tmpDir-to-tmpdir
The tmpDir function was renamed to tmpdir in Node.js v16. This codemod will help you replace all instances of tmpDir with tmpdir.
So the codemod handles DEP0022.
The source code for this codemod can be found in the tmpdir-to-tmpdir directory.
You can find this codemod in the Codemod Registry.
npx codemod run @nodejs/tmpDir-to-tmpdir
Example:
import { } from 'node:os';
const = ();