-
-
Notifications
You must be signed in to change notification settings - Fork 28
Labels
good first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededlet's do it
Description
Description
Since util.is**() is deprecated in Node.js v23.9.0, we should provide a codemod to replace it.
- The codemod should remove import if it's only thing imported or remove the member if not anymore used.
- The codemod should modify any call expression of this api.
Examples
Before:
import util from 'node:util';
if (util.isArray(someValue)) {
console.log('someValue is an array');
}
if (util.isBoolean(someValue)) {
console.log('someValue is a boolean');
}
if (util.isBuffer(someValue)) {
console.log('someValue is a buffer');
}
if (util.isDate(someValue)) {
console.log('someValue is a date');
}
if (util.isError(someValue)) {
console.log('someValue is an error');
}
if (util.isFunction(someValue)) {
console.log('someValue is a function');
}
if (util.isNull(someValue)) {
console.log('someValue is null');
}
if (util.isNullOrUndefined(someValue)) {
console.log('someValue is null or undefined');
}
if (util.isNumber(someValue)) {
console.log('someValue is a number');
}
if (util.isObject(someValue)) {
console.log('someValue is an object');
}
if (util.isPrimitive(someValue)) {
console.log('someValue is a primitive');
}
if (util.isRegExp(someValue)) {
console.log('someValue is a regular expression');
}
if (util.isString(someValue)) {
console.log('someValue is a string');
}
if (util.isSymbol(someValue)) {
console.log('someValue is a symbol');
}
if (util.isUndefined(someValue)) {
console.log('someValue is undefined');
}After:
if (Array.isArray(someValue)) {
console.log('someValue is an array');
}
if (typeof someValue === 'boolean') {
console.log('someValue is a boolean');
}
if (Buffer.isBuffer(someValue)) {
console.log('someValue is a buffer');
}
if (someValue instanceof Date) {
console.log('someValue is a date');
}
if (someValue instanceof Error) {
console.log('someValue is an error');
}
if (typeof someValue === 'function') {
console.log('someValue is a function');
}
if (someValue === null) {
console.log('someValue is null');
}
if (someValue == null) {
console.log('someValue is null or undefined');
}
if (typeof someValue === 'number') {
console.log('someValue is a number');
}
if (typeof someValue === 'object' && someValue !== null) {
console.log('someValue is an object');
}
if (someValue !== Object(someValue)) {
console.log('someValue is a primitive');
}
if (someValue instanceof RegExp) {
console.log('someValue is a regular expression');
}
if (typeof someValue === 'string') {
console.log('someValue is a string');
}
if (typeof someValue === 'symbol') {
console.log('someValue is a symbol');
}
if (typeof someValue === 'undefined') {
console.log('someValue is undefined');
}REFS
- DEP0044:
util.isArray() - DEP0045:
util.isBoolean() - DEP0046:
util.isBuffer() - DEP0047:
util.isDate() - DEP0048:
util.isError() - DEP0049:
util.isFunction() - DEP0050:
util.isNull() - DEP0051:
util.isNullOrUndefined() - DEP0052:
util.isNumber() - DEP0053:
util.isObject() - DEP0054:
util.isPrimitive() - DEP0055:
util.isRegExp() - DEP0056:
util.isString() - DEP0057:
util.isSymbol() - DEP0058:
util.isUndefined()
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededlet's do it
Type
Projects
Status
✅ Done