| authors | matheusmorett2 |
|---|
Replaces deprecated process.assert() and process.assert.*() calls with equivalent calls from the node:assert module, adding the appropriate import or require declaration automatically.
Run this codemod with:
npx codemod @nodejs/process-assert-to-node-assertGlobal process.assert in a script (ESM import added):
+import assert from "node:assert";
-process.assert(condition, "Basic assertion");
-process.assert.strictEqual(a, b, "Values should be equal");
+assert(condition, "Basic assertion");
+assert.strictEqual(a, b, "Values should be equal");CommonJS file (require added):
+const assert = require("node:assert");
-process.assert(condition, "Basic assertion");
-process.assert.strictEqual(a, b, "Values should be equal");
+assert(condition, "Basic assertion");
+assert.strictEqual(a, b, "Values should be equal");ESM file that explicitly imports process:
import process from "node:process";
+import assert from "node:assert";
-process.assert(value, "Process assertion");
-process.assert.strictEqual(obj1, obj2);
+assert(value, "Process assertion");
+assert.strictEqual(obj1, obj2);Multiple assert methods in a single file:
+import assert from "node:assert";
-process.assert(condition);
-process.assert.ok(value);
-process.assert.strictEqual(a, b);
-process.assert.notStrictEqual(a, c);
-process.assert.throws(() => { throw new Error(); });
+assert(condition);
+assert.ok(value);
+assert.strictEqual(a, b);
+assert.notStrictEqual(a, c);
+assert.throws(() => { throw new Error(); });The codemod reads package.json to determine whether the project uses ES modules or CommonJS, and inserts import assert from "node:assert" or const assert = require("node:assert") accordingly. If an assert import or require already exists, the existing binding is reused and no duplicate declaration is added.