-
-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Description
The getNodeRequireCalls
utility function currently detects most require statements, including destructured and direct assignments, but it fails to detect cases where a property is accessed directly from the require()
call. Ex: require('node:buffer').atob
// Detected
const buffer = require('node:buffer');
const buffer = require('buffer');
const { atob } = require('node:buffer');
const { btoa } = require('node:buffer');
const { atob, btoa } = require('node:buffer');
const { atob: decode } = require('node:buffer');
const { btoa: encode } = require('node:buffer');
const { atob, btoa, Buffer } = require('node:buffer');
const { atob, btoa } = require('buffer');
// Not detected
const atob = require('node:buffer').atob;
const btoa = require('node:buffer').btoa;
Expected Behavior
// Detected
const buffer = require('node:buffer');
const buffer = require('buffer');
const { atob } = require('node:buffer');
const { btoa } = require('node:buffer');
const { atob, btoa } = require('node:buffer');
const { atob: decode } = require('node:buffer');
const { btoa: encode } = require('node:buffer');
const { atob, btoa, Buffer } = require('node:buffer');
const { atob, btoa } = require('buffer');
const atob = require('node:buffer').atob;
const btoa = require('node:buffer').btoa;
Utility function should detect all forms of require imports, including property access directly from the require()
expression. This makes sure that consistent codemod coverage happns across different scenarios.
Metadata
Metadata
Assignees
Labels
No labels