diff --git a/README.md b/README.md index 38070cf..7905dbb 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,7 @@ A codemod is a function that gets passed an options object, and returns an objec export default function (options) { return { name: "foo-lib", + to: "native", transform: ({ file }) => { return file.source.replaceAll("foo", "bar"); }, @@ -80,4 +81,21 @@ export default function (options) { The codemod's `name` should be equal to the name of the package that you're trying to replace. So if you're writing a codemod for `is-array-buffer`, the `name` of the codemod should be `is-array-buffer`. +The codemod's `to` should be `"native"` in case it's being replaced with a built-in language replacement, or the name of the new package you're replacing it with. + The `transform` function is where you can implement your codemod magic. Feel free to use whatever codemod tool you're comfortable with, [ast-grep](https://github.com/ast-grep/ast-grep), [jscodeshift](https://github.com/facebook/jscodeshift), etc. It gets passed the `file` with a `source` property which is a string containing the contents of the file, which you can use to perform transformations on. Make sure to return the changed file from the `transform` function. + +## For consumers of this project + +Codemods are provided in the following structure: + +```js +import codemod from 'module-replacements-codemods/codemods//index.js'; // The default codemod we recommend +``` + +In case there are multiple replacement codemods for a package, the default codemod in the `/index.js` will be an our recommended replacement, but other codemods will be available under: + +```js +import codemod from 'module-replacements-codemods/codemods///index.js'; +import codemod from 'module-replacements-codemods/codemods///index.js'; +``` \ No newline at end of file diff --git a/codemods/abort-controller/index.js b/codemods/abort-controller/index.js index d182f36..c9ce2f9 100644 --- a/codemods/abort-controller/index.js +++ b/codemods/abort-controller/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'abort-controller', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array-buffer-byte-length/index.js b/codemods/array-buffer-byte-length/index.js index 762395e..4fd9348 100644 --- a/codemods/array-buffer-byte-length/index.js +++ b/codemods/array-buffer-byte-length/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array-buffer-byte-length', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array-every/index.js b/codemods/array-every/index.js index 050e50d..1473e01 100644 --- a/codemods/array-every/index.js +++ b/codemods/array-every/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array-every', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array-includes/index.js b/codemods/array-includes/index.js index b9d59af..64ce3d1 100644 --- a/codemods/array-includes/index.js +++ b/codemods/array-includes/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array-includes', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array-map/index.js b/codemods/array-map/index.js index a48c83b..4c434ba 100644 --- a/codemods/array-map/index.js +++ b/codemods/array-map/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array-map', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.from/index.js b/codemods/array.from/index.js index 8ffae58..68705ce 100644 --- a/codemods/array.from/index.js +++ b/codemods/array.from/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array.from', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.of/index.js b/codemods/array.of/index.js index 8528dea..96a2b3a 100644 --- a/codemods/array.of/index.js +++ b/codemods/array.of/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array.of', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.at/index.js b/codemods/array.prototype.at/index.js index 724ee57..1350a52 100644 --- a/codemods/array.prototype.at/index.js +++ b/codemods/array.prototype.at/index.js @@ -20,6 +20,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.at', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.concat/index.js b/codemods/array.prototype.concat/index.js index 468bbbd..53ef292 100644 --- a/codemods/array.prototype.concat/index.js +++ b/codemods/array.prototype.concat/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.concat', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.copywithin/index.js b/codemods/array.prototype.copywithin/index.js index f0d043b..d8baca8 100644 --- a/codemods/array.prototype.copywithin/index.js +++ b/codemods/array.prototype.copywithin/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.copywithin', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.entries/index.js b/codemods/array.prototype.entries/index.js index 6430b9e..27272de 100644 --- a/codemods/array.prototype.entries/index.js +++ b/codemods/array.prototype.entries/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array.prototype.entries', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.every/index.js b/codemods/array.prototype.every/index.js index c711869..3126970 100644 --- a/codemods/array.prototype.every/index.js +++ b/codemods/array.prototype.every/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.every', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.filter/index.js b/codemods/array.prototype.filter/index.js index 8c69062..900d965 100644 --- a/codemods/array.prototype.filter/index.js +++ b/codemods/array.prototype.filter/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.filter', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.find/index.js b/codemods/array.prototype.find/index.js index e437f7f..4cc0f22 100644 --- a/codemods/array.prototype.find/index.js +++ b/codemods/array.prototype.find/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.find', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.findindex/index.js b/codemods/array.prototype.findindex/index.js index ee38844..a5da33d 100644 --- a/codemods/array.prototype.findindex/index.js +++ b/codemods/array.prototype.findindex/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.findindex', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.findlast/index.js b/codemods/array.prototype.findlast/index.js index 6d344ce..6ee24fd 100644 --- a/codemods/array.prototype.findlast/index.js +++ b/codemods/array.prototype.findlast/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.findlast', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.findlastindex/index.js b/codemods/array.prototype.findlastindex/index.js index d55a622..be7c741 100644 --- a/codemods/array.prototype.findlastindex/index.js +++ b/codemods/array.prototype.findlastindex/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.findlastindex', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.flat/index.js b/codemods/array.prototype.flat/index.js index 5e1835f..db7e929 100644 --- a/codemods/array.prototype.flat/index.js +++ b/codemods/array.prototype.flat/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.flat', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.flatmap/index.js b/codemods/array.prototype.flatmap/index.js index 6c6eb87..78f7bc1 100644 --- a/codemods/array.prototype.flatmap/index.js +++ b/codemods/array.prototype.flatmap/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.flatmap', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.foreach/index.js b/codemods/array.prototype.foreach/index.js index f652f2b..47eaf17 100644 --- a/codemods/array.prototype.foreach/index.js +++ b/codemods/array.prototype.foreach/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.foreach', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.indexof/index.js b/codemods/array.prototype.indexof/index.js index df1a25c..b187edd 100644 --- a/codemods/array.prototype.indexof/index.js +++ b/codemods/array.prototype.indexof/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.indexof', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.join/index.js b/codemods/array.prototype.join/index.js index 96dc1ee..9e08904 100644 --- a/codemods/array.prototype.join/index.js +++ b/codemods/array.prototype.join/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.join', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.keys/index.js b/codemods/array.prototype.keys/index.js index e270d03..c58e089 100644 --- a/codemods/array.prototype.keys/index.js +++ b/codemods/array.prototype.keys/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.keys', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.lastindexof/index.js b/codemods/array.prototype.lastindexof/index.js index 092c4ab..2d7b175 100644 --- a/codemods/array.prototype.lastindexof/index.js +++ b/codemods/array.prototype.lastindexof/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.lastindexof', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.map/index.js b/codemods/array.prototype.map/index.js index 8cafc0e..145c510 100644 --- a/codemods/array.prototype.map/index.js +++ b/codemods/array.prototype.map/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.map', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.push/index.js b/codemods/array.prototype.push/index.js index 2795cc6..e1155d6 100644 --- a/codemods/array.prototype.push/index.js +++ b/codemods/array.prototype.push/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.push', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.reduce/index.js b/codemods/array.prototype.reduce/index.js index b571cf7..4e6ae41 100644 --- a/codemods/array.prototype.reduce/index.js +++ b/codemods/array.prototype.reduce/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.reduce', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.reduceright/index.js b/codemods/array.prototype.reduceright/index.js index 985b8a3..d3e6ef8 100644 --- a/codemods/array.prototype.reduceright/index.js +++ b/codemods/array.prototype.reduceright/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array.prototype.reduceright', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.slice/index.js b/codemods/array.prototype.slice/index.js index 70e3bcc..1a34f40 100644 --- a/codemods/array.prototype.slice/index.js +++ b/codemods/array.prototype.slice/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array.prototype.slice', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.some/index.js b/codemods/array.prototype.some/index.js index c8d15c9..a6a8482 100644 --- a/codemods/array.prototype.some/index.js +++ b/codemods/array.prototype.some/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.some', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.splice/index.js b/codemods/array.prototype.splice/index.js index cf8bb94..5b46a57 100644 --- a/codemods/array.prototype.splice/index.js +++ b/codemods/array.prototype.splice/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array.prototype.splice', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.toreversed/index.js b/codemods/array.prototype.toreversed/index.js index 5598095..4b8aa2b 100644 --- a/codemods/array.prototype.toreversed/index.js +++ b/codemods/array.prototype.toreversed/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.toreversed', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.tosorted/index.js b/codemods/array.prototype.tosorted/index.js index 8d2871b..ea9d27d 100644 --- a/codemods/array.prototype.tosorted/index.js +++ b/codemods/array.prototype.tosorted/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.tosorted', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.tospliced/index.js b/codemods/array.prototype.tospliced/index.js index 363143c..188ee19 100644 --- a/codemods/array.prototype.tospliced/index.js +++ b/codemods/array.prototype.tospliced/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.tospliced', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.unshift/index.js b/codemods/array.prototype.unshift/index.js index aebd9a1..ba5bb92 100644 --- a/codemods/array.prototype.unshift/index.js +++ b/codemods/array.prototype.unshift/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'array.prototype.unshift', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.values/index.js b/codemods/array.prototype.values/index.js index c4985ec..e41c11c 100644 --- a/codemods/array.prototype.values/index.js +++ b/codemods/array.prototype.values/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.values', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/array.prototype.with/index.js b/codemods/array.prototype.with/index.js index aefd234..06945a8 100644 --- a/codemods/array.prototype.with/index.js +++ b/codemods/array.prototype.with/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'array.prototype.with', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/arraybuffer.prototype.slice/index.js b/codemods/arraybuffer.prototype.slice/index.js index 5c7e5e6..43df6a6 100644 --- a/codemods/arraybuffer.prototype.slice/index.js +++ b/codemods/arraybuffer.prototype.slice/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'arraybuffer.prototype.slice', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/chalk/index.js b/codemods/chalk/index.js index 1c3e6f3..0067beb 100644 --- a/codemods/chalk/index.js +++ b/codemods/chalk/index.js @@ -41,6 +41,7 @@ const picoNames = [ export default function (options) { return { name: 'chalk', + to: 'picocolors', transform: ({ file }) => { const ast = ts.parse(file.source); const root = ast.root(); @@ -74,8 +75,21 @@ export default function (options) { const nameMatch = imp.getMatch('NAME'); if (nameMatch) { - chalkName = nameMatch.text(); - edits.push(nameMatch.replace('pc')); + const namespaceImport = nameMatch.find({ + rule: { + kind: 'identifier', + inside: { + kind: 'namespace_import', + }, + }, + }); + + if (namespaceImport) { + chalkName = namespaceImport.text(); + } else { + chalkName = nameMatch.text(); + } + edits.push(nameMatch.replace('* as pc')); } edits.push(source.replace(`${quoteType}picocolors${quoteType}`)); diff --git a/codemods/clone-regexp/index.js b/codemods/clone-regexp/index.js index 3843d5c..419fe0b 100644 --- a/codemods/clone-regexp/index.js +++ b/codemods/clone-regexp/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'clone-regexp', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/concat-map/index.js b/codemods/concat-map/index.js index 4587d3b..56f525d 100644 --- a/codemods/concat-map/index.js +++ b/codemods/concat-map/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'concat-map', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/data-view-buffer/index.js b/codemods/data-view-buffer/index.js index d9a8fe0..21b59b8 100644 --- a/codemods/data-view-buffer/index.js +++ b/codemods/data-view-buffer/index.js @@ -13,6 +13,7 @@ import { removeImport, transformInstanceProperty } from '../shared.js'; export default function (options) { return { name: 'data-view-buffer', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/data-view-byte-length/index.js b/codemods/data-view-byte-length/index.js index d2aeb3c..d436450 100644 --- a/codemods/data-view-byte-length/index.js +++ b/codemods/data-view-byte-length/index.js @@ -13,6 +13,7 @@ import { removeImport, transformInstanceProperty } from '../shared.js'; export default function (options) { return { name: 'data-view-byte-length', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/data-view-byte-offset/index.js b/codemods/data-view-byte-offset/index.js index 5000fd4..ddb290d 100644 --- a/codemods/data-view-byte-offset/index.js +++ b/codemods/data-view-byte-offset/index.js @@ -13,6 +13,7 @@ import { removeImport, transformInstanceProperty } from '../shared.js'; export default function (options) { return { name: 'data-view-byte-offset', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/date/index.js b/codemods/date/index.js index 1ab2af0..2094ddb 100644 --- a/codemods/date/index.js +++ b/codemods/date/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'date', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/deep-equal/dequal/index.js b/codemods/deep-equal/dequal/index.js new file mode 100644 index 0000000..21178e5 --- /dev/null +++ b/codemods/deep-equal/dequal/index.js @@ -0,0 +1,30 @@ +import jscodeshift from 'jscodeshift'; +import { replaceImport } from '../../replaceImport.js'; + +/** + * @typedef {import('../../../types.js').Codemod} Codemod + * @typedef {import('../../../types.js').CodemodOptions} CodemodOptions + */ + +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function (options) { + return { + name: 'deep-equal', + to: 'dequal', + transform: ({ file }) => { + const j = jscodeshift; + const root = j(file.source); + const didReplacement = replaceImport( + j, + root, + { moduleName: 'deep-equal', importName: 'default', cjsNamespace: true }, + { moduleName: 'dequal', importName: 'dequal', cjsNamespace: false }, + ); + + return didReplacement ? root.toSource() : file.source; + }, + }; +} diff --git a/codemods/deep-equal/index.js b/codemods/deep-equal/index.js index bed5cd4..9346f5f 100644 --- a/codemods/deep-equal/index.js +++ b/codemods/deep-equal/index.js @@ -13,6 +13,7 @@ import { replaceImport } from '../replaceImport.js'; export default function (options) { return { name: 'deep-equal', + to: 'dequal', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/define-properties/index.js b/codemods/define-properties/index.js index 5622582..83058fb 100644 --- a/codemods/define-properties/index.js +++ b/codemods/define-properties/index.js @@ -52,6 +52,7 @@ const ${name} = function (object, map) { export default function (options) { return { name: 'define-properties', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/error-cause/index.js b/codemods/error-cause/index.js index ed7fe62..2821e3e 100644 --- a/codemods/error-cause/index.js +++ b/codemods/error-cause/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'error-cause', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/es-aggregate-error/index.js b/codemods/es-aggregate-error/index.js index 3a40c6e..7bc14ec 100644 --- a/codemods/es-aggregate-error/index.js +++ b/codemods/es-aggregate-error/index.js @@ -13,6 +13,7 @@ import { removeImport, transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'es-aggregate-error', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/es-define-property/index.js b/codemods/es-define-property/index.js index 0f3ee59..241f298 100644 --- a/codemods/es-define-property/index.js +++ b/codemods/es-define-property/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'es-define-property', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/es-errors/index.js b/codemods/es-errors/index.js index 8362db2..5d88954 100644 --- a/codemods/es-errors/index.js +++ b/codemods/es-errors/index.js @@ -23,6 +23,7 @@ const moduleToErrorMap = { export default function (options) { return { name: 'es-errors', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/es-get-iterator/index.js b/codemods/es-get-iterator/index.js index 59c7bef..960fe9e 100644 --- a/codemods/es-get-iterator/index.js +++ b/codemods/es-get-iterator/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'es-get-iterator', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/es-set-tostringtag/index.js b/codemods/es-set-tostringtag/index.js index b0fb049..de20782 100644 --- a/codemods/es-set-tostringtag/index.js +++ b/codemods/es-set-tostringtag/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'es-set-tostringtag', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/es-shim-unscopables/index.js b/codemods/es-shim-unscopables/index.js index 8d0e22f..76e70e0 100644 --- a/codemods/es-shim-unscopables/index.js +++ b/codemods/es-shim-unscopables/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'es-shim-unscopables', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/es-string-html-methods/index.js b/codemods/es-string-html-methods/index.js index ffff028..6fc99d1 100644 --- a/codemods/es-string-html-methods/index.js +++ b/codemods/es-string-html-methods/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'es-string-html-methods', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/filter-array/index.js b/codemods/filter-array/index.js index b47f879..cfb6d4f 100644 --- a/codemods/filter-array/index.js +++ b/codemods/filter-array/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'filter-array', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/for-each/index.js b/codemods/for-each/index.js index d51298e..6757004 100644 --- a/codemods/for-each/index.js +++ b/codemods/for-each/index.js @@ -19,6 +19,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'for-each', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/function-bind/index.js b/codemods/function-bind/index.js index fc3f715..7c7b4aa 100644 --- a/codemods/function-bind/index.js +++ b/codemods/function-bind/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'function-bind', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/function.prototype.name/index.js b/codemods/function.prototype.name/index.js index 4cf2d56..0f50178 100644 --- a/codemods/function.prototype.name/index.js +++ b/codemods/function.prototype.name/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'function.prototype.name', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/functions-have-names/index.js b/codemods/functions-have-names/index.js index 531cdfa..e72c97e 100644 --- a/codemods/functions-have-names/index.js +++ b/codemods/functions-have-names/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'functions-have-names', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/get-symbol-description/index.js b/codemods/get-symbol-description/index.js index e3531c4..17c69ba 100644 --- a/codemods/get-symbol-description/index.js +++ b/codemods/get-symbol-description/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'get-symbol-description', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/global/index.js b/codemods/global/index.js index f7b975f..26912ad 100644 --- a/codemods/global/index.js +++ b/codemods/global/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'global', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/gopd/index.js b/codemods/gopd/index.js index ece351b..03da889 100644 --- a/codemods/gopd/index.js +++ b/codemods/gopd/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'gopd', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/has-own-prop/index.js b/codemods/has-own-prop/index.js index f2d9634..c26a8b5 100644 --- a/codemods/has-own-prop/index.js +++ b/codemods/has-own-prop/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'has-own-prop', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/has-proto/index.js b/codemods/has-proto/index.js index ea6ddb6..45aea92 100644 --- a/codemods/has-proto/index.js +++ b/codemods/has-proto/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'has-proto', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/has-symbols/index.js b/codemods/has-symbols/index.js index 98f5637..dc575cc 100644 --- a/codemods/has-symbols/index.js +++ b/codemods/has-symbols/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'has-symbols', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/has-tostringtag/index.js b/codemods/has-tostringtag/index.js index 6cd2de3..7963de6 100644 --- a/codemods/has-tostringtag/index.js +++ b/codemods/has-tostringtag/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'has-tostringtag', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/has/index.js b/codemods/has/index.js index 58bfd73..a4dc355 100644 --- a/codemods/has/index.js +++ b/codemods/has/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'has', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/hasown/index.js b/codemods/hasown/index.js index 46f5121..ca9e500 100644 --- a/codemods/hasown/index.js +++ b/codemods/hasown/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'hasown', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/index-of/index.js b/codemods/index-of/index.js index 56edc24..8e77637 100644 --- a/codemods/index-of/index.js +++ b/codemods/index-of/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'index-of', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-array-buffer/index.js b/codemods/is-array-buffer/index.js index 7a91ed9..bff6ce9 100644 --- a/codemods/is-array-buffer/index.js +++ b/codemods/is-array-buffer/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-array-buffer', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-boolean-object/index.js b/codemods/is-boolean-object/index.js index 9d4d2ee..3adbcc4 100644 --- a/codemods/is-boolean-object/index.js +++ b/codemods/is-boolean-object/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-boolean-object', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-builtin-module/index.js b/codemods/is-builtin-module/index.js index d0253ed..f28baaa 100644 --- a/codemods/is-builtin-module/index.js +++ b/codemods/is-builtin-module/index.js @@ -12,6 +12,7 @@ import jscodeshift from 'jscodeshift'; export default function (options) { return { name: 'is-builtin-module', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-date-object/index.js b/codemods/is-date-object/index.js index 6286c2e..97c1ee0 100644 --- a/codemods/is-date-object/index.js +++ b/codemods/is-date-object/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-date-object', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-even/index.js b/codemods/is-even/index.js index fe0d8d9..939e736 100644 --- a/codemods/is-even/index.js +++ b/codemods/is-even/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-even', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-nan/index.js b/codemods/is-nan/index.js index c59dfc3..7acca20 100644 --- a/codemods/is-nan/index.js +++ b/codemods/is-nan/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-nan', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-negative-zero/index.js b/codemods/is-negative-zero/index.js index 72f5ba4..96aca26 100644 --- a/codemods/is-negative-zero/index.js +++ b/codemods/is-negative-zero/index.js @@ -12,6 +12,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-negative-zero', + to: 'native', transform: ({ file }) => { const j = jscodeshift; diff --git a/codemods/is-npm/index.js b/codemods/is-npm/index.js index c2ec979..d980653 100644 --- a/codemods/is-npm/index.js +++ b/codemods/is-npm/index.js @@ -17,6 +17,7 @@ import { export default function (options) { return { name: 'is-npm', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-number-object/index.js b/codemods/is-number-object/index.js index 949c406..7da171c 100644 --- a/codemods/is-number-object/index.js +++ b/codemods/is-number-object/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-number-object', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-number/index.js b/codemods/is-number/index.js index bc35c54..792fee4 100644 --- a/codemods/is-number/index.js +++ b/codemods/is-number/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-number', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-odd/index.js b/codemods/is-odd/index.js index 01adf34..ee08f4d 100644 --- a/codemods/is-odd/index.js +++ b/codemods/is-odd/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-odd', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-plain-object/index.js b/codemods/is-plain-object/index.js index cb8096f..5668eb3 100644 --- a/codemods/is-plain-object/index.js +++ b/codemods/is-plain-object/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-plain-object', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-primitive/index.js b/codemods/is-primitive/index.js index 688d51b..59844d4 100644 --- a/codemods/is-primitive/index.js +++ b/codemods/is-primitive/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-primitive', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-regexp/index.js b/codemods/is-regexp/index.js index c14096a..123d707 100644 --- a/codemods/is-regexp/index.js +++ b/codemods/is-regexp/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-regexp', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-string/index.js b/codemods/is-string/index.js index 63d1574..a0ed147 100644 --- a/codemods/is-string/index.js +++ b/codemods/is-string/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-string', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-travis/index.js b/codemods/is-travis/index.js index 96ddbba..06f5b45 100644 --- a/codemods/is-travis/index.js +++ b/codemods/is-travis/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-travis', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-whitespace/index.js b/codemods/is-whitespace/index.js index 0cded39..7286a18 100644 --- a/codemods/is-whitespace/index.js +++ b/codemods/is-whitespace/index.js @@ -19,6 +19,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-whitespace', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/is-windows/index.js b/codemods/is-windows/index.js index b496b92..01032be 100644 --- a/codemods/is-windows/index.js +++ b/codemods/is-windows/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'is-windows', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/iterate-value/index.js b/codemods/iterate-value/index.js new file mode 100644 index 0000000..4094849 --- /dev/null +++ b/codemods/iterate-value/index.js @@ -0,0 +1,126 @@ +import { ts } from '@ast-grep/napi'; + +/** + * @typedef {import('../../types.js').Codemod} Codemod + * @typedef {import('../../types.js').CodemodOptions} CodemodOptions + */ + +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function (options) { + return { + name: 'iterate-value', + to: 'native', + transform: ({ file }) => { + const ast = ts.parse(file.source); + const root = ast.root(); + const imports = root.findAll({ + rule: { + any: [ + { + pattern: { + context: "import $NAME from 'iterate-value'", + strictness: 'relaxed', + }, + }, + { + pattern: { + context: "const $NAME = require('iterate-value')", + strictness: 'relaxed', + }, + }, + ], + }, + }); + + const edits = []; + /** @type {string|null} */ + let importedName = null; + + if (imports.length === 0) { + return file.source; + } + + for (const node of imports) { + if (!importedName) { + const name = node.getMatch('NAME')?.text(); + + if (name) { + importedName = name; + } + } + + edits.push(node.replace('')); + } + + const calls = root.findAll({ + rule: { + any: [ + { + pattern: `${importedName}($ITERABLE)`, + }, + { + pattern: `${importedName}($ITERABLE, $CALLBACK)`, + }, + ], + }, + }); + + for (const node of calls) { + const iter = node.getMatch('ITERABLE'); + const callback = node.getMatch('CALLBACK'); + + if (!iter) { + continue; + } + + if (!callback) { + edits.push(node.replace(`Array.from(${iter.text()})`)); + } else { + const callbackKind = callback.kind(); + const callbackBody = callback.field('body'); + + if ( + (callbackKind === 'arrow_function' || + callbackKind === 'function_expression') && + callbackBody + ) { + const params = callback.field('parameters'); + let valueName = '_value'; + + if (params) { + for (const param of params.children()) { + const paramKind = param.kind(); + + if (paramKind === 'required_parameter') { + valueName = param.text(); + break; + } + } + } + + edits.push( + node.replace( + `for (const ${valueName} of (${iter.text()})) ${callbackBody.text()}`, + ), + ); + } else { + edits.push( + node.replace( + `for (const value of (${iter.text()})) { ${callback.text()}(value); }`, + ), + ); + } + } + } + + if (edits.length === 0) { + return file.source; + } + + return root.commitEdits(edits); + }, + }; +} diff --git a/codemods/last-index-of/index.js b/codemods/last-index-of/index.js index 64a28b6..e8b3746 100644 --- a/codemods/last-index-of/index.js +++ b/codemods/last-index-of/index.js @@ -13,6 +13,7 @@ import { transformArrayMethod } from '../shared.js'; export default function (options) { return { name: 'last-index-of', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/left-pad/index.js b/codemods/left-pad/index.js index fe9b330..77d102e 100644 --- a/codemods/left-pad/index.js +++ b/codemods/left-pad/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'left-pad', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.acosh/index.js b/codemods/math.acosh/index.js index af9c253..db6f29a 100644 --- a/codemods/math.acosh/index.js +++ b/codemods/math.acosh/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.acosh', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.atanh/index.js b/codemods/math.atanh/index.js index 797dcf5..499cb49 100644 --- a/codemods/math.atanh/index.js +++ b/codemods/math.atanh/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.atanh', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.cbrt/index.js b/codemods/math.cbrt/index.js index e25e872..36bd97f 100644 --- a/codemods/math.cbrt/index.js +++ b/codemods/math.cbrt/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.cbrt', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.clz32/index.js b/codemods/math.clz32/index.js index 1f55a48..2349de2 100644 --- a/codemods/math.clz32/index.js +++ b/codemods/math.clz32/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.clz32', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.f16round/index.js b/codemods/math.f16round/index.js index 45f0cba..37c6f8c 100644 --- a/codemods/math.f16round/index.js +++ b/codemods/math.f16round/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.f16round', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.fround/index.js b/codemods/math.fround/index.js index 20d6352..c924c47 100644 --- a/codemods/math.fround/index.js +++ b/codemods/math.fround/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.fround', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.imul/index.js b/codemods/math.imul/index.js index 11b43c1..c4d6a22 100644 --- a/codemods/math.imul/index.js +++ b/codemods/math.imul/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.imul', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.log10/index.js b/codemods/math.log10/index.js index 612d6d4..92c01bf 100644 --- a/codemods/math.log10/index.js +++ b/codemods/math.log10/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.log10', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.log1p/index.js b/codemods/math.log1p/index.js index 0a5b5f8..2753fe3 100644 --- a/codemods/math.log1p/index.js +++ b/codemods/math.log1p/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.log1p', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/math.sign/index.js b/codemods/math.sign/index.js index fcfaf15..11e7c46 100644 --- a/codemods/math.sign/index.js +++ b/codemods/math.sign/index.js @@ -13,6 +13,7 @@ import { transformMathPolyfill } from '../shared.js'; export default function (options) { return { name: 'math.sign', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/md5/index.js b/codemods/md5/index.js index 03a42a3..56832d3 100644 --- a/codemods/md5/index.js +++ b/codemods/md5/index.js @@ -13,6 +13,7 @@ import { replaceDefaultImport } from '../shared.js'; export default function (options) { return { name: 'md5', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/number.isfinite/index.js b/codemods/number.isfinite/index.js index 92818c7..889c4d4 100644 --- a/codemods/number.isfinite/index.js +++ b/codemods/number.isfinite/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'number.isfinite', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/number.isinteger/index.js b/codemods/number.isinteger/index.js index 6d0049a..d05576a 100644 --- a/codemods/number.isinteger/index.js +++ b/codemods/number.isinteger/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'number.isinteger', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/number.isnan/index.js b/codemods/number.isnan/index.js index 21b7591..f2309cd 100644 --- a/codemods/number.isnan/index.js +++ b/codemods/number.isnan/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'number.isnan', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/number.issafeinteger/index.js b/codemods/number.issafeinteger/index.js index 4145bb0..450fe3d 100644 --- a/codemods/number.issafeinteger/index.js +++ b/codemods/number.issafeinteger/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'number.issafeinteger', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/number.parsefloat/index.js b/codemods/number.parsefloat/index.js index d424cd6..91a58be 100644 --- a/codemods/number.parsefloat/index.js +++ b/codemods/number.parsefloat/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'number.parsefloat', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/number.parseint/index.js b/codemods/number.parseint/index.js index 935ea2a..a0403c6 100644 --- a/codemods/number.parseint/index.js +++ b/codemods/number.parseint/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'number.parseint', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/number.prototype.toexponential/index.js b/codemods/number.prototype.toexponential/index.js index 9634003..c04b6a0 100644 --- a/codemods/number.prototype.toexponential/index.js +++ b/codemods/number.prototype.toexponential/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'number.prototype.toexponential', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object-assign/index.js b/codemods/object-assign/index.js index 7b328e3..03c3860 100644 --- a/codemods/object-assign/index.js +++ b/codemods/object-assign/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object-assign', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object-is/index.js b/codemods/object-is/index.js index 01c64ea..b643a9d 100644 --- a/codemods/object-is/index.js +++ b/codemods/object-is/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object-is', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object-keys/index.js b/codemods/object-keys/index.js index 4fc89a9..1ac01d0 100644 --- a/codemods/object-keys/index.js +++ b/codemods/object-keys/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object-keys', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object.assign/index.js b/codemods/object.assign/index.js new file mode 100644 index 0000000..b871ee2 --- /dev/null +++ b/codemods/object.assign/index.js @@ -0,0 +1,39 @@ +import jscodeshift from 'jscodeshift'; +import { removeImport } from '../shared.js'; + +/** + * @typedef {import('../../types.js').Codemod} Codemod + * @typedef {import('../../types.js').CodemodOptions} CodemodOptions + */ + +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function (options) { + return { + name: 'object.assign', + to: 'native', + transform: ({ file }) => { + const j = jscodeshift; + const root = j(file.source); + + const { identifier } = removeImport('object.assign', root, j); + + root + .find(j.CallExpression, { + callee: { + name: identifier, + }, + }) + .replaceWith(({ node }) => { + return j.callExpression( + j.memberExpression(j.identifier('Object'), j.identifier('assign')), + node.arguments, + ); + }); + + return root.toSource(options); + }, + }; +} diff --git a/codemods/object.defineproperties/index.js b/codemods/object.defineproperties/index.js index 4ad4bbc..3b2db82 100644 --- a/codemods/object.defineproperties/index.js +++ b/codemods/object.defineproperties/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object.defineproperties', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object.entries/index.js b/codemods/object.entries/index.js index 27606d3..f6e9598 100644 --- a/codemods/object.entries/index.js +++ b/codemods/object.entries/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object.entries', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object.fromentries/index.js b/codemods/object.fromentries/index.js index 57165d7..6e05a1b 100644 --- a/codemods/object.fromentries/index.js +++ b/codemods/object.fromentries/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object.fromentries', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object.getprototypeof/index.js b/codemods/object.getprototypeof/index.js index f4739dd..e560727 100644 --- a/codemods/object.getprototypeof/index.js +++ b/codemods/object.getprototypeof/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object.getprototypeof', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object.hasown/index.js b/codemods/object.hasown/index.js index 9046c0c..caafd19 100644 --- a/codemods/object.hasown/index.js +++ b/codemods/object.hasown/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object.hasown', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object.keys/index.js b/codemods/object.keys/index.js index 171610e..a7a38f8 100644 --- a/codemods/object.keys/index.js +++ b/codemods/object.keys/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object.keys', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/object.values/index.js b/codemods/object.values/index.js index 8357a29..32a6a56 100644 --- a/codemods/object.values/index.js +++ b/codemods/object.values/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'object.values', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/pad-left/index.js b/codemods/pad-left/index.js index 1323a74..05ea82b 100644 --- a/codemods/pad-left/index.js +++ b/codemods/pad-left/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'pad-left', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/parseint/index.js b/codemods/parseint/index.js index 39c427f..78f5a1f 100644 --- a/codemods/parseint/index.js +++ b/codemods/parseint/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'parseint', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/promise.allsettled/index.js b/codemods/promise.allsettled/index.js index 52bc7d8..5c52d91 100644 --- a/codemods/promise.allsettled/index.js +++ b/codemods/promise.allsettled/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'promise.allsettled', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/promise.any/index.js b/codemods/promise.any/index.js index dbfaff1..8605036 100644 --- a/codemods/promise.any/index.js +++ b/codemods/promise.any/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'promise.any', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/promise.prototype.finally/index.js b/codemods/promise.prototype.finally/index.js index 76f85c7..5bb7db8 100644 --- a/codemods/promise.prototype.finally/index.js +++ b/codemods/promise.prototype.finally/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'promise.prototype.finally', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/qs/index.js b/codemods/qs/index.js new file mode 100644 index 0000000..6941f20 --- /dev/null +++ b/codemods/qs/index.js @@ -0,0 +1,296 @@ +import { ts } from '@ast-grep/napi'; + +const qsLikeOptions = { + nesting: true, + nestingSyntax: 'js', + arrayRepeat: true, + arrayRepeatSyntax: 'bracket', +}; +const qsLikeOptionsStr = JSON.stringify(qsLikeOptions); + +/** + * @typedef {import('../../types.js').Codemod} Codemod + * @typedef {import('../../types.js').CodemodOptions} CodemodOptions + * @typedef {import('@ast-grep/napi').SgNode} SgNode + */ + +/** + * @param {SgNode} obj + * @return {Record} + */ +function parseOptions(obj) { + /** @type {Record} */ + const result = {}; + + for (const child of obj.children()) { + const key = child.field('key'); + const val = child.field('value'); + + if (key && val) { + result[key.text()] = val; + } + } + + return result; +} + +/** @typedef {Record | ((value: SgNode) => Record|null) | null} ReplacementOptions */ +/** @typedef {({kind: string; options: ReplacementOptions})} Replacement */ +/** @typedef {({replacements: Replacement[]})} Replacer */ +/** @type {Record} */ +const replacements = { + indices: { + replacements: [ + { + kind: 'false', + options: { + nestingSyntax: 'dot', + arrayRepeatSyntax: 'repeat', + }, + }, + { + kind: 'true', + options: { + nestingSyntax: 'js', + }, + }, + ], + }, + arrayFormat: { + replacements: [ + { + kind: 'string', + options: (value) => { + const formatStr = value.child(1)?.text(); + if (formatStr === 'repeat') { + return { arrayRepeatSyntax: 'repeat' }; + } else if (formatStr === 'indices') { + return { arrayRepeat: false }; + } + return { arrayRepeatSyntax: 'bracket' }; + }, + }, + ], + }, + allowDots: { + replacements: [ + { + kind: 'true', + options: { + nestingSyntax: 'js', + }, + }, + { + kind: 'false', + options: { + nestingSyntax: 'index', + }, + }, + ], + }, + parseArrays: { + replacements: [ + { + kind: 'false', + options: { + arrayRepeat: false, + }, + }, + { + kind: 'true', + options: { + arrayRepeat: true, + }, + }, + ], + }, + delimiter: { + replacements: [ + { + kind: 'string', + options: (value) => { + const delimiter = value.child(1)?.text(); + if (delimiter) { + return { delimiter }; + } + console.warn( + `Warning: encountered a delimiter we could not ` + + `transform. It will be dropped, so may need additional fixes ` + + `after this codemod executes`, + ); + return null; + }, + }, + ], + }, +}; + +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function (options) { + return { + name: 'qs', + to: 'picoquery', + transform: ({ file }) => { + const ast = ts.parse(file.source); + const root = ast.root(); + const imports = root.findAll({ + rule: { + pattern: { + context: "import $NAME from 'qs'", + strictness: 'relaxed', + }, + }, + }); + const requires = root.findAll({ + rule: { + pattern: { + context: "require('qs')", + strictness: 'relaxed', + }, + }, + }); + let importName = 'qs'; + const edits = []; + + for (const imp of imports) { + const source = imp.field('source'); + + if (!source) { + continue; + } + + const quoteType = source.text().startsWith("'") ? "'" : '"'; + const nameMatch = imp.getMatch('NAME'); + + if (nameMatch) { + importName = nameMatch.text(); + edits.push(nameMatch.replace('pq')); + } + + edits.push(source.replace(`${quoteType}picoquery${quoteType}`)); + } + + for (const req of requires) { + const args = req.field('arguments'); + const firstArg = args?.child(1); + const quoteType = firstArg?.text().startsWith('"') ? '"' : "'"; + + edits.push(req.replace(`require(${quoteType}picoquery${quoteType})`)); + + const parent = req.parent(); + + if (parent && parent.kind() === 'variable_declarator') { + const name = parent.field('name'); + if (name) { + importName = name.text(); + edits.push(name.replace('pq')); + } + } + } + + const expressions = root.findAll({ + rule: { + pattern: `${importName}.$METHOD($$$ARGS)`, + }, + }); + + for (const expr of expressions) { + const method = expr.getMatch('METHOD'); + const args = expr.getMultipleMatches('ARGS'); + const methodText = method?.text(); + const func = expr.field('function')?.field('object'); + + if ( + !func || + !method || + (methodText !== 'parse' && methodText !== 'stringify') + ) { + continue; + } + + let decodeResult = false; + + if (args.length === 1) { + edits.push(args[0].replace(`${args[0].text()}, ${qsLikeOptionsStr}`)); + } else if (args.length > 2) { + const opts = parseOptions(args[2]); + + /** @type {Record} */ + const newOptions = { ...qsLikeOptions }; + + for (const [key, val] of Object.entries(opts)) { + // Special case for the `encode` option if it is `false`, as we + // need to wrap the entire result with `decodeURIComponent` + if (key === 'encode' && val.kind() === 'false') { + decodeResult = true; + continue; + } + + const replacer = replacements[key]; + + if (!replacer) { + console.warn( + `Warning: encountered an unknown option. ` + + `The option ("${key}") will be dropped, so may need ` + + `additional fixes after this codemod executes.`, + ); + continue; + } + + let foundReplacement = false; + for (const replacement of replacer.replacements) { + if (replacement.kind === val.kind()) { + const replacementOpts = + typeof replacement.options === 'function' + ? replacement.options(val) + : replacement.options; + foundReplacement = true; + if (replacementOpts) { + for (const optKey in replacementOpts) { + newOptions[optKey] = replacementOpts[optKey]; + } + } + } + } + + if (!foundReplacement) { + console.warn( + `Warning: encountered an option with a value we could not parse. ` + + `The option ("${key}") has a computed value or an unexpected ` + + `type. It will be dropped, so may need additional fixes ` + + `after this codemod executes.`, + ); + } + } + + edits.push(args[2].replace(JSON.stringify(newOptions))); + } + + if (decodeResult) { + console.warn( + `Warning: the "encode: false" option will be ` + + `replaced by a call to decodeURIComponent`, + ); + edits.push(func.replace('decodeURIComponent(pq')); + + const argsChildren = expr.field('arguments')?.children(); + + if (argsChildren) { + const lastArgsChild = argsChildren[argsChildren.length - 1]; + + if (lastArgsChild.kind() === ')') { + edits.push(lastArgsChild.replace(`${lastArgsChild.text()})`)); + } + } + } else { + edits.push(func.replace('pq')); + } + } + + return root.commitEdits(edits); + }, + }; +} diff --git a/codemods/qs/picoquery/index.js b/codemods/qs/picoquery/index.js new file mode 100644 index 0000000..62fefe0 --- /dev/null +++ b/codemods/qs/picoquery/index.js @@ -0,0 +1,296 @@ +import { ts } from '@ast-grep/napi'; + +const qsLikeOptions = { + nesting: true, + nestingSyntax: 'js', + arrayRepeat: true, + arrayRepeatSyntax: 'bracket', +}; +const qsLikeOptionsStr = JSON.stringify(qsLikeOptions); + +/** + * @typedef {import('../../../types.js').Codemod} Codemod + * @typedef {import('../../../types.js').CodemodOptions} CodemodOptions + * @typedef {import('@ast-grep/napi').SgNode} SgNode + */ + +/** + * @param {SgNode} obj + * @return {Record} + */ +function parseOptions(obj) { + /** @type {Record} */ + const result = {}; + + for (const child of obj.children()) { + const key = child.field('key'); + const val = child.field('value'); + + if (key && val) { + result[key.text()] = val; + } + } + + return result; +} + +/** @typedef {Record | ((value: SgNode) => Record|null) | null} ReplacementOptions */ +/** @typedef {({kind: string; options: ReplacementOptions})} Replacement */ +/** @typedef {({replacements: Replacement[]})} Replacer */ +/** @type {Record} */ +const replacements = { + indices: { + replacements: [ + { + kind: 'false', + options: { + nestingSyntax: 'dot', + arrayRepeatSyntax: 'repeat', + }, + }, + { + kind: 'true', + options: { + nestingSyntax: 'js', + }, + }, + ], + }, + arrayFormat: { + replacements: [ + { + kind: 'string', + options: (value) => { + const formatStr = value.child(1)?.text(); + if (formatStr === 'repeat') { + return { arrayRepeatSyntax: 'repeat' }; + } else if (formatStr === 'indices') { + return { arrayRepeat: false }; + } + return { arrayRepeatSyntax: 'bracket' }; + }, + }, + ], + }, + allowDots: { + replacements: [ + { + kind: 'true', + options: { + nestingSyntax: 'js', + }, + }, + { + kind: 'false', + options: { + nestingSyntax: 'index', + }, + }, + ], + }, + parseArrays: { + replacements: [ + { + kind: 'false', + options: { + arrayRepeat: false, + }, + }, + { + kind: 'true', + options: { + arrayRepeat: true, + }, + }, + ], + }, + delimiter: { + replacements: [ + { + kind: 'string', + options: (value) => { + const delimiter = value.child(1)?.text(); + if (delimiter) { + return { delimiter }; + } + console.warn( + `Warning: encountered a delimiter we could not ` + + `transform. It will be dropped, so may need additional fixes ` + + `after this codemod executes`, + ); + return null; + }, + }, + ], + }, +}; + +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function (options) { + return { + name: 'qs', + to: 'picoquery', + transform: ({ file }) => { + const ast = ts.parse(file.source); + const root = ast.root(); + const imports = root.findAll({ + rule: { + pattern: { + context: "import $NAME from 'qs'", + strictness: 'relaxed', + }, + }, + }); + const requires = root.findAll({ + rule: { + pattern: { + context: "require('qs')", + strictness: 'relaxed', + }, + }, + }); + let importName = 'qs'; + const edits = []; + + for (const imp of imports) { + const source = imp.field('source'); + + if (!source) { + continue; + } + + const quoteType = source.text().startsWith("'") ? "'" : '"'; + const nameMatch = imp.getMatch('NAME'); + + if (nameMatch) { + importName = nameMatch.text(); + edits.push(nameMatch.replace('pq')); + } + + edits.push(source.replace(`${quoteType}picoquery${quoteType}`)); + } + + for (const req of requires) { + const args = req.field('arguments'); + const firstArg = args?.child(1); + const quoteType = firstArg?.text().startsWith('"') ? '"' : "'"; + + edits.push(req.replace(`require(${quoteType}picoquery${quoteType})`)); + + const parent = req.parent(); + + if (parent && parent.kind() === 'variable_declarator') { + const name = parent.field('name'); + if (name) { + importName = name.text(); + edits.push(name.replace('pq')); + } + } + } + + const expressions = root.findAll({ + rule: { + pattern: `${importName}.$METHOD($$$ARGS)`, + }, + }); + + for (const expr of expressions) { + const method = expr.getMatch('METHOD'); + const args = expr.getMultipleMatches('ARGS'); + const methodText = method?.text(); + const func = expr.field('function')?.field('object'); + + if ( + !func || + !method || + (methodText !== 'parse' && methodText !== 'stringify') + ) { + continue; + } + + let decodeResult = false; + + if (args.length === 1) { + edits.push(args[0].replace(`${args[0].text()}, ${qsLikeOptionsStr}`)); + } else if (args.length > 2) { + const opts = parseOptions(args[2]); + + /** @type {Record} */ + const newOptions = { ...qsLikeOptions }; + + for (const [key, val] of Object.entries(opts)) { + // Special case for the `encode` option if it is `false`, as we + // need to wrap the entire result with `decodeURIComponent` + if (key === 'encode' && val.kind() === 'false') { + decodeResult = true; + continue; + } + + const replacer = replacements[key]; + + if (!replacer) { + console.warn( + `Warning: encountered an unknown option. ` + + `The option ("${key}") will be dropped, so may need ` + + `additional fixes after this codemod executes.`, + ); + continue; + } + + let foundReplacement = false; + for (const replacement of replacer.replacements) { + if (replacement.kind === val.kind()) { + const replacementOpts = + typeof replacement.options === 'function' + ? replacement.options(val) + : replacement.options; + foundReplacement = true; + if (replacementOpts) { + for (const optKey in replacementOpts) { + newOptions[optKey] = replacementOpts[optKey]; + } + } + } + } + + if (!foundReplacement) { + console.warn( + `Warning: encountered an option with a value we could not parse. ` + + `The option ("${key}") has a computed value or an unexpected ` + + `type. It will be dropped, so may need additional fixes ` + + `after this codemod executes.`, + ); + } + } + + edits.push(args[2].replace(JSON.stringify(newOptions))); + } + + if (decodeResult) { + console.warn( + `Warning: the "encode: false" option will be ` + + `replaced by a call to decodeURIComponent`, + ); + edits.push(func.replace('decodeURIComponent(pq')); + + const argsChildren = expr.field('arguments')?.children(); + + if (argsChildren) { + const lastArgsChild = argsChildren[argsChildren.length - 1]; + + if (lastArgsChild.kind() === ')') { + edits.push(lastArgsChild.replace(`${lastArgsChild.text()})`)); + } + } + } else { + edits.push(func.replace('pq')); + } + } + + return root.commitEdits(edits); + }, + }; +} diff --git a/codemods/reflect.getprototypeof/index.js b/codemods/reflect.getprototypeof/index.js index d407428..150d3b0 100644 --- a/codemods/reflect.getprototypeof/index.js +++ b/codemods/reflect.getprototypeof/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'reflect.getprototypeof', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/reflect.ownkeys/index.js b/codemods/reflect.ownkeys/index.js index 2bf711e..cf6cc0c 100644 --- a/codemods/reflect.ownkeys/index.js +++ b/codemods/reflect.ownkeys/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'reflect.ownkeys', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/regexp.prototype.flags/index.js b/codemods/regexp.prototype.flags/index.js index 16a06e9..4ac39c8 100644 --- a/codemods/regexp.prototype.flags/index.js +++ b/codemods/regexp.prototype.flags/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'regexp.prototype.flags', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/rimraf/index.js b/codemods/rimraf/index.js new file mode 100644 index 0000000..d416984 --- /dev/null +++ b/codemods/rimraf/index.js @@ -0,0 +1,267 @@ +import { ts } from '@ast-grep/napi'; + +/** + * @typedef {import('../../types.js').Codemod} Codemod + * @typedef {import('../../types.js').CodemodOptions} CodemodOptions + * @typedef {import('@ast-grep/napi').Edit} Edit + */ + +const defaultOptions = `{recursive: true, force: true}`; +/** + * @param {boolean} useRequire + * @param {string} quoteType + * @param {string[]} names + * @param {string} source + * @returns {string} + */ +const computeImport = (useRequire, quoteType, names, source) => { + if (useRequire) { + return `const {${names.join(', ')}} = require(${quoteType}${source}${quoteType});`; + } + return `import {${names.join(', ')}} from ${quoteType}${source}${quoteType};`; +}; + +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function (options) { + return { + name: 'rimraf', + to: 'native', + transform: ({ file }) => { + const ast = ts.parse(file.source); + const root = ast.root(); + const imports = root.findAll({ + rule: { + any: [ + { + pattern: { + context: "import * as $NAME from 'rimraf'", + strictness: 'relaxed', + }, + }, + { + pattern: { + context: "import {$$$NAMES} from 'rimraf'", + strictness: 'relaxed', + }, + }, + { + pattern: { + context: "import $NAME from 'rimraf'", + strictness: 'relaxed', + }, + }, + { + pattern: { + context: "const {$$$NAMES} = require('rimraf')", + strictness: 'relaxed', + }, + }, + { + pattern: { + context: "const $NAME = require('rimraf')", + strictness: 'relaxed', + }, + }, + ], + }, + }); + + if (imports.length === 0) { + return file.source; + } + + /** @type {Edit[]} */ + const edits = []; + let quoteType = "'"; + /** @type {string[]} */ + const localNames = []; + let isCommonJS = false; + + for (const imp of imports) { + const importSource = imp.field('source'); + const requireCall = imp.find('require($SOURCE)'); + let source = null; + + if (importSource) { + // ESM + source = importSource.text(); + } else { + // CJS + source = requireCall?.getMatch('SOURCE')?.text(); + } + + if (!source) { + continue; + } + + if (!isCommonJS) { + isCommonJS = requireCall !== null; + } + + if (source?.startsWith('"')) { + quoteType = '"'; + } + + const importedNames = imp.getMultipleMatches('NAMES'); + const importedName = imp.getMatch('NAME'); + + // Its a default or namespace import + if (importedName) { + const importedNameText = importedName.text(); + localNames.push( + importedNameText, + `${importedNameText}.$_METHOD`, + `${importedNameText}.$_METHOD.sync`, + ); + } + + for (const importSpecifier of importedNames) { + const importedName = importSpecifier.field('name'); + const value = importSpecifier.field('value'); + + let localNameText; + + if (importedName) { + // ESM + const localName = importSpecifier.field('alias') ?? importedName; + localNameText = localName.text(); + } else if (value) { + // CJS + localNameText = value.text(); + } else { + localNameText = importSpecifier.text(); + } + + localNames.push(localNameText, `${localNameText}.sync`); + } + } + + const usagePatterns = []; + for (const name of localNames) { + usagePatterns.push( + { + pattern: `${name}($PATH, $OPTIONS)`, + }, + { + pattern: `${name}($PATH)`, + }, + ); + } + + const usages = root.findAll({ + rule: { + any: usagePatterns, + }, + }); + + let seenSync = false; + let seenAsync = false; + let seenGlob = false; + + for (const usage of usages) { + const functionNode = usage.field('function'); + const functionText = functionNode?.text(); + const isSync = + functionText !== undefined && + (functionText.includes('sync') || functionText?.includes('Sync')); + + if (!seenSync) { + seenSync = isSync; + } + if (!seenAsync) { + seenAsync = !isSync; + } + + const fsName = isSync ? 'rmSync' : 'rm'; + const options = usage.getMatch('OPTIONS'); + const path = usage.getMatch('PATH'); + let optionsText = defaultOptions; + + // Shouldn't be possible + if (path === null) { + continue; + } + + if (options) { + if (options.kind() === 'object') { + const globOption = options + .children() + .find( + (child) => + child.field('key')?.text() === 'glob' && + child.field('value')?.text() !== 'false', + ); + if (globOption) { + const globValue = globOption.field('value')?.text(); + const globParams = + globValue !== null && globValue !== 'true' + ? `${path.text()}, ${globValue}` + : path.text(); + seenGlob = true; + // Indentation will be a mess, but do we care? use a formatter + edits.push( + usage.replace( + ` +Promise.all( + (await glob(${globParams})).map((filePath) => + ${fsName}(filePath, ${defaultOptions})) +) + `.trim(), + ), + ); + continue; + } + + const optionsObjectText = options.text(); + const bracketIndex = optionsObjectText.indexOf('{'); + const beforeBracket = optionsObjectText.slice(0, bracketIndex); + const afterBracket = optionsObjectText.slice(bracketIndex + 1); + const afterBracketNextLine = + afterBracket.startsWith('\r') || afterBracket.startsWith('\n'); + const afterBracketSpace = afterBracketNextLine ? '' : ' '; + optionsText = `${beforeBracket}{recursive: true, force: true,${afterBracketSpace}${afterBracket}`; + } else { + optionsText = options.text(); + } + } + + edits.push(usage.replace(`${fsName}(${path.text()}, ${optionsText})`)); + } + + if (imports.length > 0) { + const [firstImport, ...remainingImports] = imports; + + let replacedImports = []; + + if (seenAsync) { + replacedImports.push( + computeImport(isCommonJS, quoteType, ['rm'], 'node:fs/promises'), + ); + } + + if (seenSync) { + replacedImports.push( + computeImport(isCommonJS, quoteType, ['rmSync'], 'node:fs'), + ); + } + + if (seenGlob) { + replacedImports.push( + computeImport(isCommonJS, quoteType, ['glob'], 'tinyglobby'), + ); + } + + edits.push(firstImport.replace(replacedImports.join('\n'))); + + for (const imp of remainingImports) { + edits.push(imp.replace('')); + } + } + + return root.commitEdits(edits); + }, + }; +} diff --git a/codemods/setprototypeof/index.js b/codemods/setprototypeof/index.js index f76c843..ce0fcda 100644 --- a/codemods/setprototypeof/index.js +++ b/codemods/setprototypeof/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'setprototypeof', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/shared.js b/codemods/shared.js index ec865f1..55c0290 100644 --- a/codemods/shared.js +++ b/codemods/shared.js @@ -21,8 +21,8 @@ export function removeImport(name, root, j) { }, }); - const requireDeclaration = root.find(j.VariableDeclarator, { - init: { + const requireDeclaration = root + .find(j.CallExpression, { callee: { name: 'require', }, @@ -31,8 +31,8 @@ export function removeImport(name, root, j) { value: name, }, ], - }, - }); + }) + .closest(j.VariableDeclarator); // Require statements without declarations like `Object.is = require("object-is");` const requireAssignment = root.find(j.AssignmentExpression, { diff --git a/codemods/split-lines/index.js b/codemods/split-lines/index.js index aa65619..b2fa428 100644 --- a/codemods/split-lines/index.js +++ b/codemods/split-lines/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'split-lines', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.at/index.js b/codemods/string.prototype.at/index.js index 9c10207..2888c94 100644 --- a/codemods/string.prototype.at/index.js +++ b/codemods/string.prototype.at/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.at', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.lastindexof/index.js b/codemods/string.prototype.lastindexof/index.js index ece6616..c543a74 100644 --- a/codemods/string.prototype.lastindexof/index.js +++ b/codemods/string.prototype.lastindexof/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.lastindexof', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.matchall/index.js b/codemods/string.prototype.matchall/index.js index d106be8..5694e73 100644 --- a/codemods/string.prototype.matchall/index.js +++ b/codemods/string.prototype.matchall/index.js @@ -19,6 +19,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'string.prototype.matchall', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.padend/index.js b/codemods/string.prototype.padend/index.js index 3b161c2..89612be 100644 --- a/codemods/string.prototype.padend/index.js +++ b/codemods/string.prototype.padend/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.padend', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.padleft/index.js b/codemods/string.prototype.padleft/index.js index 7a84d9d..825bc17 100644 --- a/codemods/string.prototype.padleft/index.js +++ b/codemods/string.prototype.padleft/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.padleft', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.padright/index.js b/codemods/string.prototype.padright/index.js index 87bc26f..8885912 100644 --- a/codemods/string.prototype.padright/index.js +++ b/codemods/string.prototype.padright/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.padright', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.padstart/index.js b/codemods/string.prototype.padstart/index.js index ca5cf12..d6fb5ca 100644 --- a/codemods/string.prototype.padstart/index.js +++ b/codemods/string.prototype.padstart/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.padstart', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.repeat/index.js b/codemods/string.prototype.repeat/index.js index d2d7ca1..77cb9d0 100644 --- a/codemods/string.prototype.repeat/index.js +++ b/codemods/string.prototype.repeat/index.js @@ -19,6 +19,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'string.prototype.repeat', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.replaceall/index.js b/codemods/string.prototype.replaceall/index.js index c48185b..70277cd 100644 --- a/codemods/string.prototype.replaceall/index.js +++ b/codemods/string.prototype.replaceall/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.replaceall', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.split/index.js b/codemods/string.prototype.split/index.js index 3ed709a..ff4b3a9 100644 --- a/codemods/string.prototype.split/index.js +++ b/codemods/string.prototype.split/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.split', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.substr/index.js b/codemods/string.prototype.substr/index.js index 794fd87..765794c 100644 --- a/codemods/string.prototype.substr/index.js +++ b/codemods/string.prototype.substr/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.substr', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.trim/index.js b/codemods/string.prototype.trim/index.js index f66e63a..8abd280 100644 --- a/codemods/string.prototype.trim/index.js +++ b/codemods/string.prototype.trim/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.trim', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.trimend/index.js b/codemods/string.prototype.trimend/index.js index 627badc..218b955 100644 --- a/codemods/string.prototype.trimend/index.js +++ b/codemods/string.prototype.trimend/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.trimend', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.trimleft/index.js b/codemods/string.prototype.trimleft/index.js index 338e3e5..8a1d833 100644 --- a/codemods/string.prototype.trimleft/index.js +++ b/codemods/string.prototype.trimleft/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.trimleft', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.trimright/index.js b/codemods/string.prototype.trimright/index.js index dd49461..46a7769 100644 --- a/codemods/string.prototype.trimright/index.js +++ b/codemods/string.prototype.trimright/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.trimright', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.prototype.trimstart/index.js b/codemods/string.prototype.trimstart/index.js index 39b05f1..a88f220 100644 --- a/codemods/string.prototype.trimstart/index.js +++ b/codemods/string.prototype.trimstart/index.js @@ -13,6 +13,7 @@ import { transformStringMethod } from '../shared.js'; export default function (options) { return { name: 'string.prototype.trimstart', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/string.raw/index.js b/codemods/string.raw/index.js index eed8d02..e4289c1 100644 --- a/codemods/string.raw/index.js +++ b/codemods/string.raw/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'string.raw', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/symbol.prototype.description/index.js b/codemods/symbol.prototype.description/index.js index 5cb710c..946fbf3 100644 --- a/codemods/symbol.prototype.description/index.js +++ b/codemods/symbol.prototype.description/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'symbol.prototype.description', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/traverse/index.js b/codemods/traverse/index.js index 3545df6..045ec08 100644 --- a/codemods/traverse/index.js +++ b/codemods/traverse/index.js @@ -12,6 +12,7 @@ import jscodeshift from 'jscodeshift'; export default function (options) { return { name: 'traverse', + to: 'neotraverse', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/traverse/neotraverse/index.js b/codemods/traverse/neotraverse/index.js new file mode 100644 index 0000000..c25e782 --- /dev/null +++ b/codemods/traverse/neotraverse/index.js @@ -0,0 +1,46 @@ +import jscodeshift from 'jscodeshift'; + +/** + * @typedef {import('../../../types.js').Codemod} Codemod + * @typedef {import('../../../types.js').CodemodOptions} CodemodOptions + */ + +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function (options) { + return { + name: 'traverse', + to: 'neotraverse', + transform: ({ file }) => { + const j = jscodeshift; + const root = j(file.source); + + // Transform import declarations + root.find(j.ImportDeclaration).forEach((path) => { + if ( + j.Literal.check(path.node.source) && + path.node.source.value === 'traverse' + ) { + path.node.source.value = 'neotraverse/legacy'; + } + }); + + // Transform require statements + root + .find(j.CallExpression, { callee: { name: 'require' } }) + .forEach((path) => { + if ( + path.node.arguments.length === 1 && + j.Literal.check(path.node.arguments[0]) && + path.node.arguments[0].value === 'traverse' + ) { + path.node.arguments[0].value = 'neotraverse/legacy'; + } + }); + + return root.toSource({ quote: 'single' }); + }, + }; +} diff --git a/codemods/typed-array-buffer/index.js b/codemods/typed-array-buffer/index.js index f0c2c10..a04e012 100644 --- a/codemods/typed-array-buffer/index.js +++ b/codemods/typed-array-buffer/index.js @@ -14,6 +14,7 @@ import { ALL_TYPED_ARRAY_OBJECTS } from '../CONSTANTS.js'; export default function (options) { return { name: 'typed-array-buffer', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/typed-array-byte-length/index.js b/codemods/typed-array-byte-length/index.js index 3bea150..3c41174 100644 --- a/codemods/typed-array-byte-length/index.js +++ b/codemods/typed-array-byte-length/index.js @@ -14,6 +14,7 @@ import { ALL_TYPED_ARRAY_OBJECTS } from '../CONSTANTS.js'; export default function (options) { return { name: 'typed-array-byte-length', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/typed-array-byte-offset/index.js b/codemods/typed-array-byte-offset/index.js index 5b267f0..8c70cdd 100644 --- a/codemods/typed-array-byte-offset/index.js +++ b/codemods/typed-array-byte-offset/index.js @@ -14,6 +14,7 @@ import { ALL_TYPED_ARRAY_OBJECTS } from '../CONSTANTS.js'; export default function (options) { return { name: 'typed-array-byte-offset', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/typed-array-length/index.js b/codemods/typed-array-length/index.js index 5e612c1..f8c82f3 100644 --- a/codemods/typed-array-length/index.js +++ b/codemods/typed-array-length/index.js @@ -14,6 +14,7 @@ import { ALL_TYPED_ARRAY_OBJECTS } from '../CONSTANTS.js'; export default function (options) { return { name: 'typed-array-length', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/typedarray.prototype.slice/index.js b/codemods/typedarray.prototype.slice/index.js index 0007fde..c0fc1b1 100644 --- a/codemods/typedarray.prototype.slice/index.js +++ b/codemods/typedarray.prototype.slice/index.js @@ -18,6 +18,7 @@ import { ALL_TYPED_ARRAY_OBJECTS } from '../CONSTANTS.js'; export default function (options) { return { name: 'typedarray.prototype.slice', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/codemods/xtend/index.js b/codemods/xtend/index.js index 27536c7..3fcf4b8 100644 --- a/codemods/xtend/index.js +++ b/codemods/xtend/index.js @@ -13,6 +13,7 @@ import { removeImport } from '../shared.js'; export default function (options) { return { name: 'xtend', + to: 'native', transform: ({ file }) => { const j = jscodeshift; const root = j(file.source); diff --git a/index.js b/index.js index d2ad16d..7e84f4e 100644 --- a/index.js +++ b/index.js @@ -86,6 +86,7 @@ import isString from './codemods/is-string/index.js'; import isTravis from './codemods/is-travis/index.js'; import isWhitespace from './codemods/is-whitespace/index.js'; import isWindows from './codemods/is-windows/index.js'; +import iterateValue from './codemods/iterate-value/index.js'; import lastIndexOf from './codemods/last-index-of/index.js'; import leftPad from './codemods/left-pad/index.js'; import mathAcosh from './codemods/math.acosh/index.js'; @@ -109,6 +110,7 @@ import numberPrototypeToexponential from './codemods/number.prototype.toexponent import objectAssign from './codemods/object-assign/index.js'; import objectIs from './codemods/object-is/index.js'; import objectKeys from './codemods/object-keys/index.js'; +import objectAssign2 from './codemods/object.assign/index.js'; import objectDefineproperties from './codemods/object.defineproperties/index.js'; import objectEntries from './codemods/object.entries/index.js'; import objectFromentries from './codemods/object.fromentries/index.js'; @@ -121,9 +123,11 @@ import parseint from './codemods/parseint/index.js'; import promiseAllsettled from './codemods/promise.allsettled/index.js'; import promiseAny from './codemods/promise.any/index.js'; import promisePrototypeFinally from './codemods/promise.prototype.finally/index.js'; +import qs from './codemods/qs/index.js'; import reflectGetprototypeof from './codemods/reflect.getprototypeof/index.js'; import reflectOwnkeys from './codemods/reflect.ownkeys/index.js'; import regexpPrototypeFlags from './codemods/regexp.prototype.flags/index.js'; +import rimraf from './codemods/rimraf/index.js'; import setprototypeof from './codemods/setprototypeof/index.js'; import splitLines from './codemods/split-lines/index.js'; import stringPrototypeAt from './codemods/string.prototype.at/index.js'; @@ -250,6 +254,7 @@ export const codemods = { "is-travis": isTravis, "is-whitespace": isWhitespace, "is-windows": isWindows, + "iterate-value": iterateValue, "last-index-of": lastIndexOf, "left-pad": leftPad, "math.acosh": mathAcosh, @@ -273,6 +278,7 @@ export const codemods = { "object-assign": objectAssign, "object-is": objectIs, "object-keys": objectKeys, + "object.assign": objectAssign2, "object.defineproperties": objectDefineproperties, "object.entries": objectEntries, "object.fromentries": objectFromentries, @@ -285,9 +291,11 @@ export const codemods = { "promise.allsettled": promiseAllsettled, "promise.any": promiseAny, "promise.prototype.finally": promisePrototypeFinally, + "qs": qs, "reflect.getprototypeof": reflectGetprototypeof, "reflect.ownkeys": reflectOwnkeys, "regexp.prototype.flags": regexpPrototypeFlags, + "rimraf": rimraf, "setprototypeof": setprototypeof, "split-lines": splitLines, "string.prototype.at": stringPrototypeAt, @@ -315,4 +323,4 @@ export const codemods = { "typed-array-length": typedArrayLength, "typedarray.prototype.slice": typedarrayPrototypeSlice, "xtend": xtend, -}; \ No newline at end of file +}; diff --git a/package-lock.json b/package-lock.json index fae58c0..f1c5a68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "module-replacements-codemods", - "version": "1.0.2", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "module-replacements-codemods", - "version": "1.0.2", + "version": "1.1.0", "license": "MIT", "dependencies": { "@ast-grep/napi": "^0.25.4", diff --git a/package.json b/package.json index 6810d38..0b95887 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "module-replacements-codemods", - "version": "1.0.4", + "version": "1.2.1", "description": "", "type": "module", "scripts": { @@ -9,13 +9,7 @@ "format": "biome format --write **/*", "lint:types": "tsc", "which": "node scripts/which.js", - "prepublishOnly": "npm run lint:types && node scripts/generate-index.js" - }, - "exports": { - ".": { - "types": "./types/index.d.ts", - "default": "./index.js" - } + "prepublishOnly": "npm run lint:types && node scripts/generate-index.js && node scripts/generate-pkg-exports.js" }, "keywords": [], "author": "", @@ -36,5 +30,655 @@ "@types/node": "^20.14.11", "module-replacements": "^2.2.0", "typescript": "~5.5.3" + }, + "exports": { + ".": { + "types": "./types/index.d.ts", + "default": "./index.js" + }, + "./codemods/abort-controller/index.js": { + "types": "./types/codemods/abort-controller/index.d.ts", + "default": "./codemods/abort-controller/index.js" + }, + "./codemods/array-buffer-byte-length/index.js": { + "types": "./types/codemods/array-buffer-byte-length/index.d.ts", + "default": "./codemods/array-buffer-byte-length/index.js" + }, + "./codemods/array-every/index.js": { + "types": "./types/codemods/array-every/index.d.ts", + "default": "./codemods/array-every/index.js" + }, + "./codemods/array-includes/index.js": { + "types": "./types/codemods/array-includes/index.d.ts", + "default": "./codemods/array-includes/index.js" + }, + "./codemods/array-map/index.js": { + "types": "./types/codemods/array-map/index.d.ts", + "default": "./codemods/array-map/index.js" + }, + "./codemods/array.from/index.js": { + "types": "./types/codemods/array.from/index.d.ts", + "default": "./codemods/array.from/index.js" + }, + "./codemods/array.of/index.js": { + "types": "./types/codemods/array.of/index.d.ts", + "default": "./codemods/array.of/index.js" + }, + "./codemods/array.prototype.at/index.js": { + "types": "./types/codemods/array.prototype.at/index.d.ts", + "default": "./codemods/array.prototype.at/index.js" + }, + "./codemods/array.prototype.concat/index.js": { + "types": "./types/codemods/array.prototype.concat/index.d.ts", + "default": "./codemods/array.prototype.concat/index.js" + }, + "./codemods/array.prototype.copywithin/index.js": { + "types": "./types/codemods/array.prototype.copywithin/index.d.ts", + "default": "./codemods/array.prototype.copywithin/index.js" + }, + "./codemods/array.prototype.entries/index.js": { + "types": "./types/codemods/array.prototype.entries/index.d.ts", + "default": "./codemods/array.prototype.entries/index.js" + }, + "./codemods/array.prototype.every/index.js": { + "types": "./types/codemods/array.prototype.every/index.d.ts", + "default": "./codemods/array.prototype.every/index.js" + }, + "./codemods/array.prototype.filter/index.js": { + "types": "./types/codemods/array.prototype.filter/index.d.ts", + "default": "./codemods/array.prototype.filter/index.js" + }, + "./codemods/array.prototype.find/index.js": { + "types": "./types/codemods/array.prototype.find/index.d.ts", + "default": "./codemods/array.prototype.find/index.js" + }, + "./codemods/array.prototype.findindex/index.js": { + "types": "./types/codemods/array.prototype.findindex/index.d.ts", + "default": "./codemods/array.prototype.findindex/index.js" + }, + "./codemods/array.prototype.findlast/index.js": { + "types": "./types/codemods/array.prototype.findlast/index.d.ts", + "default": "./codemods/array.prototype.findlast/index.js" + }, + "./codemods/array.prototype.findlastindex/index.js": { + "types": "./types/codemods/array.prototype.findlastindex/index.d.ts", + "default": "./codemods/array.prototype.findlastindex/index.js" + }, + "./codemods/array.prototype.flat/index.js": { + "types": "./types/codemods/array.prototype.flat/index.d.ts", + "default": "./codemods/array.prototype.flat/index.js" + }, + "./codemods/array.prototype.flatmap/index.js": { + "types": "./types/codemods/array.prototype.flatmap/index.d.ts", + "default": "./codemods/array.prototype.flatmap/index.js" + }, + "./codemods/array.prototype.foreach/index.js": { + "types": "./types/codemods/array.prototype.foreach/index.d.ts", + "default": "./codemods/array.prototype.foreach/index.js" + }, + "./codemods/array.prototype.indexof/index.js": { + "types": "./types/codemods/array.prototype.indexof/index.d.ts", + "default": "./codemods/array.prototype.indexof/index.js" + }, + "./codemods/array.prototype.join/index.js": { + "types": "./types/codemods/array.prototype.join/index.d.ts", + "default": "./codemods/array.prototype.join/index.js" + }, + "./codemods/array.prototype.keys/index.js": { + "types": "./types/codemods/array.prototype.keys/index.d.ts", + "default": "./codemods/array.prototype.keys/index.js" + }, + "./codemods/array.prototype.lastindexof/index.js": { + "types": "./types/codemods/array.prototype.lastindexof/index.d.ts", + "default": "./codemods/array.prototype.lastindexof/index.js" + }, + "./codemods/array.prototype.map/index.js": { + "types": "./types/codemods/array.prototype.map/index.d.ts", + "default": "./codemods/array.prototype.map/index.js" + }, + "./codemods/array.prototype.push/index.js": { + "types": "./types/codemods/array.prototype.push/index.d.ts", + "default": "./codemods/array.prototype.push/index.js" + }, + "./codemods/array.prototype.reduce/index.js": { + "types": "./types/codemods/array.prototype.reduce/index.d.ts", + "default": "./codemods/array.prototype.reduce/index.js" + }, + "./codemods/array.prototype.reduceright/index.js": { + "types": "./types/codemods/array.prototype.reduceright/index.d.ts", + "default": "./codemods/array.prototype.reduceright/index.js" + }, + "./codemods/array.prototype.slice/index.js": { + "types": "./types/codemods/array.prototype.slice/index.d.ts", + "default": "./codemods/array.prototype.slice/index.js" + }, + "./codemods/array.prototype.some/index.js": { + "types": "./types/codemods/array.prototype.some/index.d.ts", + "default": "./codemods/array.prototype.some/index.js" + }, + "./codemods/array.prototype.splice/index.js": { + "types": "./types/codemods/array.prototype.splice/index.d.ts", + "default": "./codemods/array.prototype.splice/index.js" + }, + "./codemods/array.prototype.toreversed/index.js": { + "types": "./types/codemods/array.prototype.toreversed/index.d.ts", + "default": "./codemods/array.prototype.toreversed/index.js" + }, + "./codemods/array.prototype.tosorted/index.js": { + "types": "./types/codemods/array.prototype.tosorted/index.d.ts", + "default": "./codemods/array.prototype.tosorted/index.js" + }, + "./codemods/array.prototype.tospliced/index.js": { + "types": "./types/codemods/array.prototype.tospliced/index.d.ts", + "default": "./codemods/array.prototype.tospliced/index.js" + }, + "./codemods/array.prototype.unshift/index.js": { + "types": "./types/codemods/array.prototype.unshift/index.d.ts", + "default": "./codemods/array.prototype.unshift/index.js" + }, + "./codemods/array.prototype.values/index.js": { + "types": "./types/codemods/array.prototype.values/index.d.ts", + "default": "./codemods/array.prototype.values/index.js" + }, + "./codemods/array.prototype.with/index.js": { + "types": "./types/codemods/array.prototype.with/index.d.ts", + "default": "./codemods/array.prototype.with/index.js" + }, + "./codemods/arraybuffer.prototype.slice/index.js": { + "types": "./types/codemods/arraybuffer.prototype.slice/index.d.ts", + "default": "./codemods/arraybuffer.prototype.slice/index.js" + }, + "./codemods/chalk/index.js": { + "types": "./types/codemods/chalk/index.d.ts", + "default": "./codemods/chalk/index.js" + }, + "./codemods/clone-regexp/index.js": { + "types": "./types/codemods/clone-regexp/index.d.ts", + "default": "./codemods/clone-regexp/index.js" + }, + "./codemods/concat-map/index.js": { + "types": "./types/codemods/concat-map/index.d.ts", + "default": "./codemods/concat-map/index.js" + }, + "./codemods/data-view-buffer/index.js": { + "types": "./types/codemods/data-view-buffer/index.d.ts", + "default": "./codemods/data-view-buffer/index.js" + }, + "./codemods/data-view-byte-length/index.js": { + "types": "./types/codemods/data-view-byte-length/index.d.ts", + "default": "./codemods/data-view-byte-length/index.js" + }, + "./codemods/data-view-byte-offset/index.js": { + "types": "./types/codemods/data-view-byte-offset/index.d.ts", + "default": "./codemods/data-view-byte-offset/index.js" + }, + "./codemods/date/index.js": { + "types": "./types/codemods/date/index.d.ts", + "default": "./codemods/date/index.js" + }, + "./codemods/deep-equal/dequal/index.js": { + "types": "./types/codemods/deep-equal/dequal/index.d.ts", + "default": "./codemods/deep-equal/dequal/index.js" + }, + "./codemods/deep-equal/index.js": { + "types": "./types/codemods/deep-equal/index.d.ts", + "default": "./codemods/deep-equal/index.js" + }, + "./codemods/define-properties/index.js": { + "types": "./types/codemods/define-properties/index.d.ts", + "default": "./codemods/define-properties/index.js" + }, + "./codemods/error-cause/index.js": { + "types": "./types/codemods/error-cause/index.d.ts", + "default": "./codemods/error-cause/index.js" + }, + "./codemods/es-aggregate-error/index.js": { + "types": "./types/codemods/es-aggregate-error/index.d.ts", + "default": "./codemods/es-aggregate-error/index.js" + }, + "./codemods/es-define-property/index.js": { + "types": "./types/codemods/es-define-property/index.d.ts", + "default": "./codemods/es-define-property/index.js" + }, + "./codemods/es-errors/index.js": { + "types": "./types/codemods/es-errors/index.d.ts", + "default": "./codemods/es-errors/index.js" + }, + "./codemods/es-get-iterator/index.js": { + "types": "./types/codemods/es-get-iterator/index.d.ts", + "default": "./codemods/es-get-iterator/index.js" + }, + "./codemods/es-set-tostringtag/index.js": { + "types": "./types/codemods/es-set-tostringtag/index.d.ts", + "default": "./codemods/es-set-tostringtag/index.js" + }, + "./codemods/es-shim-unscopables/index.js": { + "types": "./types/codemods/es-shim-unscopables/index.d.ts", + "default": "./codemods/es-shim-unscopables/index.js" + }, + "./codemods/es-string-html-methods/index.js": { + "types": "./types/codemods/es-string-html-methods/index.d.ts", + "default": "./codemods/es-string-html-methods/index.js" + }, + "./codemods/filter-array/index.js": { + "types": "./types/codemods/filter-array/index.d.ts", + "default": "./codemods/filter-array/index.js" + }, + "./codemods/for-each/index.js": { + "types": "./types/codemods/for-each/index.d.ts", + "default": "./codemods/for-each/index.js" + }, + "./codemods/function-bind/index.js": { + "types": "./types/codemods/function-bind/index.d.ts", + "default": "./codemods/function-bind/index.js" + }, + "./codemods/function.prototype.name/index.js": { + "types": "./types/codemods/function.prototype.name/index.d.ts", + "default": "./codemods/function.prototype.name/index.js" + }, + "./codemods/functions-have-names/index.js": { + "types": "./types/codemods/functions-have-names/index.d.ts", + "default": "./codemods/functions-have-names/index.js" + }, + "./codemods/get-symbol-description/index.js": { + "types": "./types/codemods/get-symbol-description/index.d.ts", + "default": "./codemods/get-symbol-description/index.js" + }, + "./codemods/global/index.js": { + "types": "./types/codemods/global/index.d.ts", + "default": "./codemods/global/index.js" + }, + "./codemods/gopd/index.js": { + "types": "./types/codemods/gopd/index.d.ts", + "default": "./codemods/gopd/index.js" + }, + "./codemods/has-own-prop/index.js": { + "types": "./types/codemods/has-own-prop/index.d.ts", + "default": "./codemods/has-own-prop/index.js" + }, + "./codemods/has-proto/index.js": { + "types": "./types/codemods/has-proto/index.d.ts", + "default": "./codemods/has-proto/index.js" + }, + "./codemods/has-symbols/index.js": { + "types": "./types/codemods/has-symbols/index.d.ts", + "default": "./codemods/has-symbols/index.js" + }, + "./codemods/has-tostringtag/index.js": { + "types": "./types/codemods/has-tostringtag/index.d.ts", + "default": "./codemods/has-tostringtag/index.js" + }, + "./codemods/has/index.js": { + "types": "./types/codemods/has/index.d.ts", + "default": "./codemods/has/index.js" + }, + "./codemods/hasown/index.js": { + "types": "./types/codemods/hasown/index.d.ts", + "default": "./codemods/hasown/index.js" + }, + "./codemods/index-of/index.js": { + "types": "./types/codemods/index-of/index.d.ts", + "default": "./codemods/index-of/index.js" + }, + "./codemods/is-array-buffer/index.js": { + "types": "./types/codemods/is-array-buffer/index.d.ts", + "default": "./codemods/is-array-buffer/index.js" + }, + "./codemods/is-boolean-object/index.js": { + "types": "./types/codemods/is-boolean-object/index.d.ts", + "default": "./codemods/is-boolean-object/index.js" + }, + "./codemods/is-builtin-module/index.js": { + "types": "./types/codemods/is-builtin-module/index.d.ts", + "default": "./codemods/is-builtin-module/index.js" + }, + "./codemods/is-date-object/index.js": { + "types": "./types/codemods/is-date-object/index.d.ts", + "default": "./codemods/is-date-object/index.js" + }, + "./codemods/is-even/index.js": { + "types": "./types/codemods/is-even/index.d.ts", + "default": "./codemods/is-even/index.js" + }, + "./codemods/is-nan/index.js": { + "types": "./types/codemods/is-nan/index.d.ts", + "default": "./codemods/is-nan/index.js" + }, + "./codemods/is-negative-zero/index.js": { + "types": "./types/codemods/is-negative-zero/index.d.ts", + "default": "./codemods/is-negative-zero/index.js" + }, + "./codemods/is-npm/index.js": { + "types": "./types/codemods/is-npm/index.d.ts", + "default": "./codemods/is-npm/index.js" + }, + "./codemods/is-number-object/index.js": { + "types": "./types/codemods/is-number-object/index.d.ts", + "default": "./codemods/is-number-object/index.js" + }, + "./codemods/is-number/index.js": { + "types": "./types/codemods/is-number/index.d.ts", + "default": "./codemods/is-number/index.js" + }, + "./codemods/is-odd/index.js": { + "types": "./types/codemods/is-odd/index.d.ts", + "default": "./codemods/is-odd/index.js" + }, + "./codemods/is-plain-object/index.js": { + "types": "./types/codemods/is-plain-object/index.d.ts", + "default": "./codemods/is-plain-object/index.js" + }, + "./codemods/is-primitive/index.js": { + "types": "./types/codemods/is-primitive/index.d.ts", + "default": "./codemods/is-primitive/index.js" + }, + "./codemods/is-regexp/index.js": { + "types": "./types/codemods/is-regexp/index.d.ts", + "default": "./codemods/is-regexp/index.js" + }, + "./codemods/is-string/index.js": { + "types": "./types/codemods/is-string/index.d.ts", + "default": "./codemods/is-string/index.js" + }, + "./codemods/is-travis/index.js": { + "types": "./types/codemods/is-travis/index.d.ts", + "default": "./codemods/is-travis/index.js" + }, + "./codemods/is-whitespace/index.js": { + "types": "./types/codemods/is-whitespace/index.d.ts", + "default": "./codemods/is-whitespace/index.js" + }, + "./codemods/is-windows/index.js": { + "types": "./types/codemods/is-windows/index.d.ts", + "default": "./codemods/is-windows/index.js" + }, + "./codemods/iterate-value/index.js": { + "types": "./types/codemods/iterate-value/index.d.ts", + "default": "./codemods/iterate-value/index.js" + }, + "./codemods/last-index-of/index.js": { + "types": "./types/codemods/last-index-of/index.d.ts", + "default": "./codemods/last-index-of/index.js" + }, + "./codemods/left-pad/index.js": { + "types": "./types/codemods/left-pad/index.d.ts", + "default": "./codemods/left-pad/index.js" + }, + "./codemods/math.acosh/index.js": { + "types": "./types/codemods/math.acosh/index.d.ts", + "default": "./codemods/math.acosh/index.js" + }, + "./codemods/math.atanh/index.js": { + "types": "./types/codemods/math.atanh/index.d.ts", + "default": "./codemods/math.atanh/index.js" + }, + "./codemods/math.cbrt/index.js": { + "types": "./types/codemods/math.cbrt/index.d.ts", + "default": "./codemods/math.cbrt/index.js" + }, + "./codemods/math.clz32/index.js": { + "types": "./types/codemods/math.clz32/index.d.ts", + "default": "./codemods/math.clz32/index.js" + }, + "./codemods/math.f16round/index.js": { + "types": "./types/codemods/math.f16round/index.d.ts", + "default": "./codemods/math.f16round/index.js" + }, + "./codemods/math.fround/index.js": { + "types": "./types/codemods/math.fround/index.d.ts", + "default": "./codemods/math.fround/index.js" + }, + "./codemods/math.imul/index.js": { + "types": "./types/codemods/math.imul/index.d.ts", + "default": "./codemods/math.imul/index.js" + }, + "./codemods/math.log10/index.js": { + "types": "./types/codemods/math.log10/index.d.ts", + "default": "./codemods/math.log10/index.js" + }, + "./codemods/math.log1p/index.js": { + "types": "./types/codemods/math.log1p/index.d.ts", + "default": "./codemods/math.log1p/index.js" + }, + "./codemods/math.sign/index.js": { + "types": "./types/codemods/math.sign/index.d.ts", + "default": "./codemods/math.sign/index.js" + }, + "./codemods/md5/index.js": { + "types": "./types/codemods/md5/index.d.ts", + "default": "./codemods/md5/index.js" + }, + "./codemods/number.isfinite/index.js": { + "types": "./types/codemods/number.isfinite/index.d.ts", + "default": "./codemods/number.isfinite/index.js" + }, + "./codemods/number.isinteger/index.js": { + "types": "./types/codemods/number.isinteger/index.d.ts", + "default": "./codemods/number.isinteger/index.js" + }, + "./codemods/number.isnan/index.js": { + "types": "./types/codemods/number.isnan/index.d.ts", + "default": "./codemods/number.isnan/index.js" + }, + "./codemods/number.issafeinteger/index.js": { + "types": "./types/codemods/number.issafeinteger/index.d.ts", + "default": "./codemods/number.issafeinteger/index.js" + }, + "./codemods/number.parsefloat/index.js": { + "types": "./types/codemods/number.parsefloat/index.d.ts", + "default": "./codemods/number.parsefloat/index.js" + }, + "./codemods/number.parseint/index.js": { + "types": "./types/codemods/number.parseint/index.d.ts", + "default": "./codemods/number.parseint/index.js" + }, + "./codemods/number.prototype.toexponential/index.js": { + "types": "./types/codemods/number.prototype.toexponential/index.d.ts", + "default": "./codemods/number.prototype.toexponential/index.js" + }, + "./codemods/object-assign/index.js": { + "types": "./types/codemods/object-assign/index.d.ts", + "default": "./codemods/object-assign/index.js" + }, + "./codemods/object-is/index.js": { + "types": "./types/codemods/object-is/index.d.ts", + "default": "./codemods/object-is/index.js" + }, + "./codemods/object-keys/index.js": { + "types": "./types/codemods/object-keys/index.d.ts", + "default": "./codemods/object-keys/index.js" + }, + "./codemods/object.assign/index.js": { + "types": "./types/codemods/object.assign/index.d.ts", + "default": "./codemods/object.assign/index.js" + }, + "./codemods/object.defineproperties/index.js": { + "types": "./types/codemods/object.defineproperties/index.d.ts", + "default": "./codemods/object.defineproperties/index.js" + }, + "./codemods/object.entries/index.js": { + "types": "./types/codemods/object.entries/index.d.ts", + "default": "./codemods/object.entries/index.js" + }, + "./codemods/object.fromentries/index.js": { + "types": "./types/codemods/object.fromentries/index.d.ts", + "default": "./codemods/object.fromentries/index.js" + }, + "./codemods/object.getprototypeof/index.js": { + "types": "./types/codemods/object.getprototypeof/index.d.ts", + "default": "./codemods/object.getprototypeof/index.js" + }, + "./codemods/object.hasown/index.js": { + "types": "./types/codemods/object.hasown/index.d.ts", + "default": "./codemods/object.hasown/index.js" + }, + "./codemods/object.keys/index.js": { + "types": "./types/codemods/object.keys/index.d.ts", + "default": "./codemods/object.keys/index.js" + }, + "./codemods/object.values/index.js": { + "types": "./types/codemods/object.values/index.d.ts", + "default": "./codemods/object.values/index.js" + }, + "./codemods/pad-left/index.js": { + "types": "./types/codemods/pad-left/index.d.ts", + "default": "./codemods/pad-left/index.js" + }, + "./codemods/parseint/index.js": { + "types": "./types/codemods/parseint/index.d.ts", + "default": "./codemods/parseint/index.js" + }, + "./codemods/promise.allsettled/index.js": { + "types": "./types/codemods/promise.allsettled/index.d.ts", + "default": "./codemods/promise.allsettled/index.js" + }, + "./codemods/promise.any/index.js": { + "types": "./types/codemods/promise.any/index.d.ts", + "default": "./codemods/promise.any/index.js" + }, + "./codemods/promise.prototype.finally/index.js": { + "types": "./types/codemods/promise.prototype.finally/index.d.ts", + "default": "./codemods/promise.prototype.finally/index.js" + }, + "./codemods/qs/index.js": { + "types": "./types/codemods/qs/index.d.ts", + "default": "./codemods/qs/index.js" + }, + "./codemods/qs/picoquery/index.js": { + "types": "./types/codemods/qs/picoquery/index.d.ts", + "default": "./codemods/qs/picoquery/index.js" + }, + "./codemods/reflect.getprototypeof/index.js": { + "types": "./types/codemods/reflect.getprototypeof/index.d.ts", + "default": "./codemods/reflect.getprototypeof/index.js" + }, + "./codemods/reflect.ownkeys/index.js": { + "types": "./types/codemods/reflect.ownkeys/index.d.ts", + "default": "./codemods/reflect.ownkeys/index.js" + }, + "./codemods/regexp.prototype.flags/index.js": { + "types": "./types/codemods/regexp.prototype.flags/index.d.ts", + "default": "./codemods/regexp.prototype.flags/index.js" + }, + "./codemods/rimraf/index.js": { + "types": "./types/codemods/rimraf/index.d.ts", + "default": "./codemods/rimraf/index.js" + }, + "./codemods/setprototypeof/index.js": { + "types": "./types/codemods/setprototypeof/index.d.ts", + "default": "./codemods/setprototypeof/index.js" + }, + "./codemods/split-lines/index.js": { + "types": "./types/codemods/split-lines/index.d.ts", + "default": "./codemods/split-lines/index.js" + }, + "./codemods/string.prototype.at/index.js": { + "types": "./types/codemods/string.prototype.at/index.d.ts", + "default": "./codemods/string.prototype.at/index.js" + }, + "./codemods/string.prototype.lastindexof/index.js": { + "types": "./types/codemods/string.prototype.lastindexof/index.d.ts", + "default": "./codemods/string.prototype.lastindexof/index.js" + }, + "./codemods/string.prototype.matchall/index.js": { + "types": "./types/codemods/string.prototype.matchall/index.d.ts", + "default": "./codemods/string.prototype.matchall/index.js" + }, + "./codemods/string.prototype.padend/index.js": { + "types": "./types/codemods/string.prototype.padend/index.d.ts", + "default": "./codemods/string.prototype.padend/index.js" + }, + "./codemods/string.prototype.padleft/index.js": { + "types": "./types/codemods/string.prototype.padleft/index.d.ts", + "default": "./codemods/string.prototype.padleft/index.js" + }, + "./codemods/string.prototype.padright/index.js": { + "types": "./types/codemods/string.prototype.padright/index.d.ts", + "default": "./codemods/string.prototype.padright/index.js" + }, + "./codemods/string.prototype.padstart/index.js": { + "types": "./types/codemods/string.prototype.padstart/index.d.ts", + "default": "./codemods/string.prototype.padstart/index.js" + }, + "./codemods/string.prototype.repeat/index.js": { + "types": "./types/codemods/string.prototype.repeat/index.d.ts", + "default": "./codemods/string.prototype.repeat/index.js" + }, + "./codemods/string.prototype.replaceall/index.js": { + "types": "./types/codemods/string.prototype.replaceall/index.d.ts", + "default": "./codemods/string.prototype.replaceall/index.js" + }, + "./codemods/string.prototype.split/index.js": { + "types": "./types/codemods/string.prototype.split/index.d.ts", + "default": "./codemods/string.prototype.split/index.js" + }, + "./codemods/string.prototype.substr/index.js": { + "types": "./types/codemods/string.prototype.substr/index.d.ts", + "default": "./codemods/string.prototype.substr/index.js" + }, + "./codemods/string.prototype.trim/index.js": { + "types": "./types/codemods/string.prototype.trim/index.d.ts", + "default": "./codemods/string.prototype.trim/index.js" + }, + "./codemods/string.prototype.trimend/index.js": { + "types": "./types/codemods/string.prototype.trimend/index.d.ts", + "default": "./codemods/string.prototype.trimend/index.js" + }, + "./codemods/string.prototype.trimleft/index.js": { + "types": "./types/codemods/string.prototype.trimleft/index.d.ts", + "default": "./codemods/string.prototype.trimleft/index.js" + }, + "./codemods/string.prototype.trimright/index.js": { + "types": "./types/codemods/string.prototype.trimright/index.d.ts", + "default": "./codemods/string.prototype.trimright/index.js" + }, + "./codemods/string.prototype.trimstart/index.js": { + "types": "./types/codemods/string.prototype.trimstart/index.d.ts", + "default": "./codemods/string.prototype.trimstart/index.js" + }, + "./codemods/string.raw/index.js": { + "types": "./types/codemods/string.raw/index.d.ts", + "default": "./codemods/string.raw/index.js" + }, + "./codemods/symbol.prototype.description/index.js": { + "types": "./types/codemods/symbol.prototype.description/index.d.ts", + "default": "./codemods/symbol.prototype.description/index.js" + }, + "./codemods/traverse/index.js": { + "types": "./types/codemods/traverse/index.d.ts", + "default": "./codemods/traverse/index.js" + }, + "./codemods/traverse/neotraverse/index.js": { + "types": "./types/codemods/traverse/neotraverse/index.d.ts", + "default": "./codemods/traverse/neotraverse/index.js" + }, + "./codemods/typed-array-buffer/index.js": { + "types": "./types/codemods/typed-array-buffer/index.d.ts", + "default": "./codemods/typed-array-buffer/index.js" + }, + "./codemods/typed-array-byte-length/index.js": { + "types": "./types/codemods/typed-array-byte-length/index.d.ts", + "default": "./codemods/typed-array-byte-length/index.js" + }, + "./codemods/typed-array-byte-offset/index.js": { + "types": "./types/codemods/typed-array-byte-offset/index.d.ts", + "default": "./codemods/typed-array-byte-offset/index.js" + }, + "./codemods/typed-array-length/index.js": { + "types": "./types/codemods/typed-array-length/index.d.ts", + "default": "./codemods/typed-array-length/index.js" + }, + "./codemods/typedarray.prototype.slice/index.js": { + "types": "./types/codemods/typedarray.prototype.slice/index.d.ts", + "default": "./codemods/typedarray.prototype.slice/index.js" + }, + "./codemods/xtend/index.js": { + "types": "./types/codemods/xtend/index.d.ts", + "default": "./codemods/xtend/index.js" + }, + "./index.js": { + "types": "./types/index.d.ts", + "default": "./index.js" + } } } diff --git a/scripts/generate-pkg-exports.js b/scripts/generate-pkg-exports.js new file mode 100644 index 0000000..eee4b9e --- /dev/null +++ b/scripts/generate-pkg-exports.js @@ -0,0 +1,77 @@ +#!/usr/bin/env node + +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const rootDir = path.dirname(__dirname); + +function findIndexFiles(dir, basePath = '') { + const exports = {}; + const entries = fs.readdirSync(dir, { withFileTypes: true }); + + for (const entry of entries) { + const fullPath = path.join(dir, entry.name); + const exportPath = basePath ? `${basePath}/${entry.name}` : entry.name; + + if (entry.isDirectory()) { + const indexPath = path.join(fullPath, 'index.js'); + if (fs.existsSync(indexPath)) { + const exportKey = `./codemods/${exportPath}/index.js`; + exports[exportKey] = { + types: `./types/codemods/${exportPath}/index.d.ts`, + default: `./codemods/${exportPath}/index.js`, + }; + } + + const nestedExports = findIndexFiles(fullPath, exportPath); + Object.assign(exports, nestedExports); + } + } + + return exports; +} + +async function generateExports() { + const codemodsDir = path.join(rootDir, 'codemods'); + + if (!fs.existsSync(codemodsDir)) { + console.error('codemods directory not found'); + process.exit(1); + } + + const exports = findIndexFiles(codemodsDir); + + exports['.'] = exports['./index.js'] = { + types: './types/index.d.ts', + default: './index.js', + }; + + const sortedExports = Object.keys(exports) + .sort() + .reduce((acc, key) => { + acc[key] = exports[key]; + return acc; + }, {}); + + console.log('Generated exports:'); + console.log(JSON.stringify({ exports: sortedExports }, null, 2)); + + const packageJsonPath = path.join(rootDir, 'package.json'); + if (fs.existsSync(packageJsonPath)) { + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); + packageJson.exports = sortedExports; + fs.writeFileSync( + packageJsonPath, + JSON.stringify(packageJson, null, 2) + '\n', + ); + console.log('\n✓ Updated package.json with exports'); + } else { + console.log('\nNo package.json found in root directory'); + } +} + +generateExports(); diff --git a/test/fixtures/chalk/esm/after.js b/test/fixtures/chalk/esm/after.js index 241d2aa..1b33a47 100644 --- a/test/fixtures/chalk/esm/after.js +++ b/test/fixtures/chalk/esm/after.js @@ -1,4 +1,4 @@ -import pc from 'picocolors'; +import * as pc from 'picocolors'; pc.red(); pc.red('im red'); diff --git a/test/fixtures/chalk/esm/result.js b/test/fixtures/chalk/esm/result.js index 241d2aa..1b33a47 100644 --- a/test/fixtures/chalk/esm/result.js +++ b/test/fixtures/chalk/esm/result.js @@ -1,4 +1,4 @@ -import pc from 'picocolors'; +import * as pc from 'picocolors'; pc.red(); pc.red('im red'); diff --git a/test/fixtures/iterate-value/simple-cjs/after.js b/test/fixtures/iterate-value/simple-cjs/after.js new file mode 100644 index 0000000..c85351c --- /dev/null +++ b/test/fixtures/iterate-value/simple-cjs/after.js @@ -0,0 +1,34 @@ + + +// string, no callback +const collection0 = Array.from('foo'); + +// string, callback +for (const chr of ('foo')) { + console.log(chr); +}; + +// string, callback ref +const callback0 = (chr) => console.log(chr); +for (const value of ('foo')) { callback0(value); }; + +// array, no callback +const collection1 = Array.from([3, 0, 3]); + +// array, callback +for (const num of ([3, 0, 3])) { + console.log(num); +}; + +// array, function callback +for (const num of ([3, 0, 3])) { + console.log(num); +}; + +// array, no value in callback +for (const _value of ([8, 0, 8])) { + console.log('bleep bloop'); +}; + +// ignored because it has invalid usage +iterate([8, 0, 8], (num) => {}, 'unexpected-third-arg'); diff --git a/test/fixtures/iterate-value/simple-cjs/before.js b/test/fixtures/iterate-value/simple-cjs/before.js new file mode 100644 index 0000000..6249f56 --- /dev/null +++ b/test/fixtures/iterate-value/simple-cjs/before.js @@ -0,0 +1,34 @@ +const iterate = require('iterate-value'); + +// string, no callback +const collection0 = iterate('foo'); + +// string, callback +iterate('foo', (chr) => { + console.log(chr); +}); + +// string, callback ref +const callback0 = (chr) => console.log(chr); +iterate('foo', callback0); + +// array, no callback +const collection1 = iterate([3, 0, 3]); + +// array, callback +iterate([3, 0, 3], (num) => { + console.log(num); +}); + +// array, function callback +iterate([3, 0, 3], function (num) { + console.log(num); +}); + +// array, no value in callback +iterate([8, 0, 8], () => { + console.log('bleep bloop'); +}); + +// ignored because it has invalid usage +iterate([8, 0, 8], (num) => {}, 'unexpected-third-arg'); diff --git a/test/fixtures/iterate-value/simple-cjs/result.js b/test/fixtures/iterate-value/simple-cjs/result.js new file mode 100644 index 0000000..c85351c --- /dev/null +++ b/test/fixtures/iterate-value/simple-cjs/result.js @@ -0,0 +1,34 @@ + + +// string, no callback +const collection0 = Array.from('foo'); + +// string, callback +for (const chr of ('foo')) { + console.log(chr); +}; + +// string, callback ref +const callback0 = (chr) => console.log(chr); +for (const value of ('foo')) { callback0(value); }; + +// array, no callback +const collection1 = Array.from([3, 0, 3]); + +// array, callback +for (const num of ([3, 0, 3])) { + console.log(num); +}; + +// array, function callback +for (const num of ([3, 0, 3])) { + console.log(num); +}; + +// array, no value in callback +for (const _value of ([8, 0, 8])) { + console.log('bleep bloop'); +}; + +// ignored because it has invalid usage +iterate([8, 0, 8], (num) => {}, 'unexpected-third-arg'); diff --git a/test/fixtures/iterate-value/simple/after.js b/test/fixtures/iterate-value/simple/after.js new file mode 100644 index 0000000..c85351c --- /dev/null +++ b/test/fixtures/iterate-value/simple/after.js @@ -0,0 +1,34 @@ + + +// string, no callback +const collection0 = Array.from('foo'); + +// string, callback +for (const chr of ('foo')) { + console.log(chr); +}; + +// string, callback ref +const callback0 = (chr) => console.log(chr); +for (const value of ('foo')) { callback0(value); }; + +// array, no callback +const collection1 = Array.from([3, 0, 3]); + +// array, callback +for (const num of ([3, 0, 3])) { + console.log(num); +}; + +// array, function callback +for (const num of ([3, 0, 3])) { + console.log(num); +}; + +// array, no value in callback +for (const _value of ([8, 0, 8])) { + console.log('bleep bloop'); +}; + +// ignored because it has invalid usage +iterate([8, 0, 8], (num) => {}, 'unexpected-third-arg'); diff --git a/test/fixtures/iterate-value/simple/before.js b/test/fixtures/iterate-value/simple/before.js new file mode 100644 index 0000000..527da6f --- /dev/null +++ b/test/fixtures/iterate-value/simple/before.js @@ -0,0 +1,34 @@ +import iterate from 'iterate-value'; + +// string, no callback +const collection0 = iterate('foo'); + +// string, callback +iterate('foo', (chr) => { + console.log(chr); +}); + +// string, callback ref +const callback0 = (chr) => console.log(chr); +iterate('foo', callback0); + +// array, no callback +const collection1 = iterate([3, 0, 3]); + +// array, callback +iterate([3, 0, 3], (num) => { + console.log(num); +}); + +// array, function callback +iterate([3, 0, 3], function (num) { + console.log(num); +}); + +// array, no value in callback +iterate([8, 0, 8], () => { + console.log('bleep bloop'); +}); + +// ignored because it has invalid usage +iterate([8, 0, 8], (num) => {}, 'unexpected-third-arg'); diff --git a/test/fixtures/iterate-value/simple/result.js b/test/fixtures/iterate-value/simple/result.js new file mode 100644 index 0000000..c85351c --- /dev/null +++ b/test/fixtures/iterate-value/simple/result.js @@ -0,0 +1,34 @@ + + +// string, no callback +const collection0 = Array.from('foo'); + +// string, callback +for (const chr of ('foo')) { + console.log(chr); +}; + +// string, callback ref +const callback0 = (chr) => console.log(chr); +for (const value of ('foo')) { callback0(value); }; + +// array, no callback +const collection1 = Array.from([3, 0, 3]); + +// array, callback +for (const num of ([3, 0, 3])) { + console.log(num); +}; + +// array, function callback +for (const num of ([3, 0, 3])) { + console.log(num); +}; + +// array, no value in callback +for (const _value of ([8, 0, 8])) { + console.log('bleep bloop'); +}; + +// ignored because it has invalid usage +iterate([8, 0, 8], (num) => {}, 'unexpected-third-arg'); diff --git a/test/fixtures/object.assign/get-polyfill/after.js b/test/fixtures/object.assign/get-polyfill/after.js new file mode 100644 index 0000000..80b5244 --- /dev/null +++ b/test/fixtures/object.assign/get-polyfill/after.js @@ -0,0 +1,8 @@ +Object.assign({}, {foo: 303}, {bar: 808}); + +Object.assign({}, {}); + +const foo = {}; +const bar = {}; + +Object.assign(foo, bar); diff --git a/test/fixtures/object.assign/get-polyfill/before.js b/test/fixtures/object.assign/get-polyfill/before.js new file mode 100644 index 0000000..403196c --- /dev/null +++ b/test/fixtures/object.assign/get-polyfill/before.js @@ -0,0 +1,10 @@ +const assign = require('object.assign').getPolyfill(); + +assign({}, {foo: 303}, {bar: 808}); + +assign({}, {}); + +const foo = {}; +const bar = {}; + +assign(foo, bar); diff --git a/test/fixtures/object.assign/get-polyfill/result.js b/test/fixtures/object.assign/get-polyfill/result.js new file mode 100644 index 0000000..80b5244 --- /dev/null +++ b/test/fixtures/object.assign/get-polyfill/result.js @@ -0,0 +1,8 @@ +Object.assign({}, {foo: 303}, {bar: 808}); + +Object.assign({}, {}); + +const foo = {}; +const bar = {}; + +Object.assign(foo, bar); diff --git a/test/fixtures/object.assign/shim/after.js b/test/fixtures/object.assign/shim/after.js new file mode 100644 index 0000000..80b5244 --- /dev/null +++ b/test/fixtures/object.assign/shim/after.js @@ -0,0 +1,8 @@ +Object.assign({}, {foo: 303}, {bar: 808}); + +Object.assign({}, {}); + +const foo = {}; +const bar = {}; + +Object.assign(foo, bar); diff --git a/test/fixtures/object.assign/shim/before.js b/test/fixtures/object.assign/shim/before.js new file mode 100644 index 0000000..0f38393 --- /dev/null +++ b/test/fixtures/object.assign/shim/before.js @@ -0,0 +1,10 @@ +const assign = require('object.assign').shim(); + +assign({}, {foo: 303}, {bar: 808}); + +assign({}, {}); + +const foo = {}; +const bar = {}; + +assign(foo, bar); diff --git a/test/fixtures/object.assign/shim/result.js b/test/fixtures/object.assign/shim/result.js new file mode 100644 index 0000000..80b5244 --- /dev/null +++ b/test/fixtures/object.assign/shim/result.js @@ -0,0 +1,8 @@ +Object.assign({}, {foo: 303}, {bar: 808}); + +Object.assign({}, {}); + +const foo = {}; +const bar = {}; + +Object.assign(foo, bar); diff --git a/test/fixtures/object.assign/simple-cjs/after.js b/test/fixtures/object.assign/simple-cjs/after.js new file mode 100644 index 0000000..80b5244 --- /dev/null +++ b/test/fixtures/object.assign/simple-cjs/after.js @@ -0,0 +1,8 @@ +Object.assign({}, {foo: 303}, {bar: 808}); + +Object.assign({}, {}); + +const foo = {}; +const bar = {}; + +Object.assign(foo, bar); diff --git a/test/fixtures/object.assign/simple-cjs/before.js b/test/fixtures/object.assign/simple-cjs/before.js new file mode 100644 index 0000000..ba9f1b9 --- /dev/null +++ b/test/fixtures/object.assign/simple-cjs/before.js @@ -0,0 +1,10 @@ +const assign = require('object.assign'); + +assign({}, {foo: 303}, {bar: 808}); + +assign({}, {}); + +const foo = {}; +const bar = {}; + +assign(foo, bar); diff --git a/test/fixtures/object.assign/simple-cjs/result.js b/test/fixtures/object.assign/simple-cjs/result.js new file mode 100644 index 0000000..80b5244 --- /dev/null +++ b/test/fixtures/object.assign/simple-cjs/result.js @@ -0,0 +1,8 @@ +Object.assign({}, {foo: 303}, {bar: 808}); + +Object.assign({}, {}); + +const foo = {}; +const bar = {}; + +Object.assign(foo, bar); diff --git a/test/fixtures/object.assign/simple/after.js b/test/fixtures/object.assign/simple/after.js new file mode 100644 index 0000000..80b5244 --- /dev/null +++ b/test/fixtures/object.assign/simple/after.js @@ -0,0 +1,8 @@ +Object.assign({}, {foo: 303}, {bar: 808}); + +Object.assign({}, {}); + +const foo = {}; +const bar = {}; + +Object.assign(foo, bar); diff --git a/test/fixtures/object.assign/simple/before.js b/test/fixtures/object.assign/simple/before.js new file mode 100644 index 0000000..2245e0e --- /dev/null +++ b/test/fixtures/object.assign/simple/before.js @@ -0,0 +1,10 @@ +import assign from 'object.assign'; + +assign({}, {foo: 303}, {bar: 808}); + +assign({}, {}); + +const foo = {}; +const bar = {}; + +assign(foo, bar); diff --git a/test/fixtures/object.assign/simple/result.js b/test/fixtures/object.assign/simple/result.js new file mode 100644 index 0000000..80b5244 --- /dev/null +++ b/test/fixtures/object.assign/simple/result.js @@ -0,0 +1,8 @@ +Object.assign({}, {foo: 303}, {bar: 808}); + +Object.assign({}, {}); + +const foo = {}; +const bar = {}; + +Object.assign(foo, bar); diff --git a/test/fixtures/qs/basic/after.js b/test/fixtures/qs/basic/after.js new file mode 100644 index 0000000..8832aff --- /dev/null +++ b/test/fixtures/qs/basic/after.js @@ -0,0 +1,49 @@ +import pq from 'picoquery'; + +const obj = {foo: 'bar'}; +const query = 'foo=bar'; + +// indices: false +pq.stringify(obj, {"nesting":true,"nestingSyntax":"dot","arrayRepeat":true,"arrayRepeatSyntax":"repeat"}); + +// defaults +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// arrayFormat: repeat +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"repeat"}); + +// arrayFormat: indices +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":false,"arrayRepeatSyntax":"bracket"}); + +// arrayFormat: brackets +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// arrayFormat: nonsense defaults to bracket +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// encode: false +decodeURIComponent(pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"})); + +// indices: false +pq.parse(query, {"nesting":true,"nestingSyntax":"dot","arrayRepeat":true,"arrayRepeatSyntax":"repeat"}); + +// indices: true +pq.parse(query, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// defaults +pq.parse(query, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// delimiter +pq.parse('a=foo;b=bar', {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket","delimiter":";"}); + +// allowDots: true +pq.parse('a.b=c', {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// allowDots: false +pq.parse('a.b=c', {"nesting":true,"nestingSyntax":"index","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// parseArrays: false +pq.parse('a[]=1&a[]=2', {"nesting":true,"nestingSyntax":"js","arrayRepeat":false,"arrayRepeatSyntax":"bracket"}); + +// parseArrays: true +pq.parse('a[]=1&a[]=2', {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); diff --git a/test/fixtures/qs/basic/before.js b/test/fixtures/qs/basic/before.js new file mode 100644 index 0000000..8bcfddd --- /dev/null +++ b/test/fixtures/qs/basic/before.js @@ -0,0 +1,49 @@ +import qs from 'qs'; + +const obj = {foo: 'bar'}; +const query = 'foo=bar'; + +// indices: false +qs.stringify(obj, {indices: false}); + +// defaults +qs.stringify(obj); + +// arrayFormat: repeat +qs.stringify(obj, {arrayFormat: 'repeat'}); + +// arrayFormat: indices +qs.stringify(obj, {arrayFormat: 'indices'}); + +// arrayFormat: brackets +qs.stringify(obj, {arrayFormat: 'brackets'}); + +// arrayFormat: nonsense defaults to bracket +qs.stringify(obj, {arrayFormat: 'absolute gibberish'}); + +// encode: false +qs.stringify(obj, {encode: false}); + +// indices: false +qs.parse(query, { indices: false }); + +// indices: true +qs.parse(query, { indices: true }); + +// defaults +qs.parse(query); + +// delimiter +qs.parse('a=foo;b=bar', {delimiter: ';'}); + +// allowDots: true +qs.parse('a.b=c', {allowDots: true}); + +// allowDots: false +qs.parse('a.b=c', {allowDots: false}); + +// parseArrays: false +qs.parse('a[]=1&a[]=2', {parseArrays: false}); + +// parseArrays: true +qs.parse('a[]=1&a[]=2', {parseArrays: true}); diff --git a/test/fixtures/qs/basic/result.js b/test/fixtures/qs/basic/result.js new file mode 100644 index 0000000..8832aff --- /dev/null +++ b/test/fixtures/qs/basic/result.js @@ -0,0 +1,49 @@ +import pq from 'picoquery'; + +const obj = {foo: 'bar'}; +const query = 'foo=bar'; + +// indices: false +pq.stringify(obj, {"nesting":true,"nestingSyntax":"dot","arrayRepeat":true,"arrayRepeatSyntax":"repeat"}); + +// defaults +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// arrayFormat: repeat +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"repeat"}); + +// arrayFormat: indices +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":false,"arrayRepeatSyntax":"bracket"}); + +// arrayFormat: brackets +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// arrayFormat: nonsense defaults to bracket +pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// encode: false +decodeURIComponent(pq.stringify(obj, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"})); + +// indices: false +pq.parse(query, {"nesting":true,"nestingSyntax":"dot","arrayRepeat":true,"arrayRepeatSyntax":"repeat"}); + +// indices: true +pq.parse(query, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// defaults +pq.parse(query, {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// delimiter +pq.parse('a=foo;b=bar', {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket","delimiter":";"}); + +// allowDots: true +pq.parse('a.b=c', {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// allowDots: false +pq.parse('a.b=c', {"nesting":true,"nestingSyntax":"index","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); + +// parseArrays: false +pq.parse('a[]=1&a[]=2', {"nesting":true,"nestingSyntax":"js","arrayRepeat":false,"arrayRepeatSyntax":"bracket"}); + +// parseArrays: true +pq.parse('a[]=1&a[]=2', {"nesting":true,"nestingSyntax":"js","arrayRepeat":true,"arrayRepeatSyntax":"bracket"}); diff --git a/test/fixtures/rimraf/cjs/after.js b/test/fixtures/rimraf/cjs/after.js new file mode 100644 index 0000000..432d1e7 --- /dev/null +++ b/test/fixtures/rimraf/cjs/after.js @@ -0,0 +1,13 @@ +const {rm} = require('node:fs/promises'); +const {rmSync} = require('node:fs'); + +await rm('./dist', {recursive: true, force: true}); + +export async function foo() { + await rm('./dist', {recursive: true, force: true}); + + const someConst = './dist'; + await rm(someConst, {recursive: true, force: true}); +} + +rmSync('./dist', {recursive: true, force: true}); diff --git a/test/fixtures/rimraf/cjs/before.js b/test/fixtures/rimraf/cjs/before.js new file mode 100644 index 0000000..b08010c --- /dev/null +++ b/test/fixtures/rimraf/cjs/before.js @@ -0,0 +1,12 @@ +const {rimraf} = require('rimraf'); + +await rimraf('./dist'); + +export async function foo() { + await rimraf('./dist'); + + const someConst = './dist'; + await rimraf(someConst); +} + +rimraf.sync('./dist'); diff --git a/test/fixtures/rimraf/cjs/result.js b/test/fixtures/rimraf/cjs/result.js new file mode 100644 index 0000000..432d1e7 --- /dev/null +++ b/test/fixtures/rimraf/cjs/result.js @@ -0,0 +1,13 @@ +const {rm} = require('node:fs/promises'); +const {rmSync} = require('node:fs'); + +await rm('./dist', {recursive: true, force: true}); + +export async function foo() { + await rm('./dist', {recursive: true, force: true}); + + const someConst = './dist'; + await rm(someConst, {recursive: true, force: true}); +} + +rmSync('./dist', {recursive: true, force: true}); diff --git a/test/fixtures/rimraf/esm/after.js b/test/fixtures/rimraf/esm/after.js new file mode 100644 index 0000000..a15fe35 --- /dev/null +++ b/test/fixtures/rimraf/esm/after.js @@ -0,0 +1,39 @@ +import {rm} from 'node:fs/promises'; +import {glob} from 'tinyglobby'; + +await rm('./dist', {recursive: true, force: true}); + +export async function foo() { + await rm('./dist', {recursive: true, force: true}); + + const someConst = './dist'; + await rm(someConst, {recursive: true, force: true}); +} + +// maxRetries +await rm('./dist', {recursive: true, force: true, maxRetries: 10}); + +// retryDelay +await rm('./dist', {recursive: true, force: true, retryDelay: 1000}); + +// glob +await Promise.all( + (await glob('./dist/*.js')).map((filePath) => + rm(filePath, {recursive: true, force: true})) +); + +// glob options +await Promise.all( + (await glob('./dist/*.js', { + dot: false + })).map((filePath) => + rm(filePath, {recursive: true, force: true})) +); + +// filter +// Note: filters are not migrated yet +await rm('./dist', {recursive: true, force: true, + filter: () => { + // some function, whatever + } +}); diff --git a/test/fixtures/rimraf/esm/before.js b/test/fixtures/rimraf/esm/before.js new file mode 100644 index 0000000..de1ff3e --- /dev/null +++ b/test/fixtures/rimraf/esm/before.js @@ -0,0 +1,34 @@ +import {rimraf} from 'rimraf'; + +await rimraf('./dist'); + +export async function foo() { + await rimraf('./dist'); + + const someConst = './dist'; + await rimraf(someConst); +} + +// maxRetries +await rimraf('./dist', {maxRetries: 10}); + +// retryDelay +await rimraf('./dist', {retryDelay: 1000}); + +// glob +await rimraf('./dist/*.js', {glob: true}); + +// glob options +await rimraf('./dist/*.js', { + glob: { + dot: false + } +}); + +// filter +// Note: filters are not migrated yet +await rimraf('./dist', { + filter: () => { + // some function, whatever + } +}); diff --git a/test/fixtures/rimraf/esm/result.js b/test/fixtures/rimraf/esm/result.js new file mode 100644 index 0000000..a15fe35 --- /dev/null +++ b/test/fixtures/rimraf/esm/result.js @@ -0,0 +1,39 @@ +import {rm} from 'node:fs/promises'; +import {glob} from 'tinyglobby'; + +await rm('./dist', {recursive: true, force: true}); + +export async function foo() { + await rm('./dist', {recursive: true, force: true}); + + const someConst = './dist'; + await rm(someConst, {recursive: true, force: true}); +} + +// maxRetries +await rm('./dist', {recursive: true, force: true, maxRetries: 10}); + +// retryDelay +await rm('./dist', {recursive: true, force: true, retryDelay: 1000}); + +// glob +await Promise.all( + (await glob('./dist/*.js')).map((filePath) => + rm(filePath, {recursive: true, force: true})) +); + +// glob options +await Promise.all( + (await glob('./dist/*.js', { + dot: false + })).map((filePath) => + rm(filePath, {recursive: true, force: true})) +); + +// filter +// Note: filters are not migrated yet +await rm('./dist', {recursive: true, force: true, + filter: () => { + // some function, whatever + } +}); diff --git a/test/fixtures/rimraf/legacy-cjs/after.js b/test/fixtures/rimraf/legacy-cjs/after.js new file mode 100644 index 0000000..432d1e7 --- /dev/null +++ b/test/fixtures/rimraf/legacy-cjs/after.js @@ -0,0 +1,13 @@ +const {rm} = require('node:fs/promises'); +const {rmSync} = require('node:fs'); + +await rm('./dist', {recursive: true, force: true}); + +export async function foo() { + await rm('./dist', {recursive: true, force: true}); + + const someConst = './dist'; + await rm(someConst, {recursive: true, force: true}); +} + +rmSync('./dist', {recursive: true, force: true}); diff --git a/test/fixtures/rimraf/legacy-cjs/before.js b/test/fixtures/rimraf/legacy-cjs/before.js new file mode 100644 index 0000000..fc81a87 --- /dev/null +++ b/test/fixtures/rimraf/legacy-cjs/before.js @@ -0,0 +1,12 @@ +const rimraf = require('rimraf'); + +await rimraf('./dist'); + +export async function foo() { + await rimraf('./dist'); + + const someConst = './dist'; + await rimraf(someConst); +} + +rimraf.sync('./dist'); diff --git a/test/fixtures/rimraf/legacy-cjs/result.js b/test/fixtures/rimraf/legacy-cjs/result.js new file mode 100644 index 0000000..432d1e7 --- /dev/null +++ b/test/fixtures/rimraf/legacy-cjs/result.js @@ -0,0 +1,13 @@ +const {rm} = require('node:fs/promises'); +const {rmSync} = require('node:fs'); + +await rm('./dist', {recursive: true, force: true}); + +export async function foo() { + await rm('./dist', {recursive: true, force: true}); + + const someConst = './dist'; + await rm(someConst, {recursive: true, force: true}); +} + +rmSync('./dist', {recursive: true, force: true}); diff --git a/test/fixtures/rimraf/legacy-esm/after.js b/test/fixtures/rimraf/legacy-esm/after.js new file mode 100644 index 0000000..9cddb85 --- /dev/null +++ b/test/fixtures/rimraf/legacy-esm/after.js @@ -0,0 +1,13 @@ +import {rm} from 'node:fs/promises'; +import {rmSync} from 'node:fs'; + +await rm('./dist', {recursive: true, force: true}); + +export async function foo() { + await rm('./dist', {recursive: true, force: true}); + + const someConst = './dist'; + await rm(someConst, {recursive: true, force: true}); +} + +rmSync('./dist', {recursive: true, force: true}); diff --git a/test/fixtures/rimraf/legacy-esm/before.js b/test/fixtures/rimraf/legacy-esm/before.js new file mode 100644 index 0000000..c219b4b --- /dev/null +++ b/test/fixtures/rimraf/legacy-esm/before.js @@ -0,0 +1,12 @@ +import rimraf from 'rimraf'; + +await rimraf('./dist'); + +export async function foo() { + await rimraf('./dist'); + + const someConst = './dist'; + await rimraf(someConst); +} + +rimraf.sync('./dist'); diff --git a/test/fixtures/rimraf/legacy-esm/result.js b/test/fixtures/rimraf/legacy-esm/result.js new file mode 100644 index 0000000..9cddb85 --- /dev/null +++ b/test/fixtures/rimraf/legacy-esm/result.js @@ -0,0 +1,13 @@ +import {rm} from 'node:fs/promises'; +import {rmSync} from 'node:fs'; + +await rm('./dist', {recursive: true, force: true}); + +export async function foo() { + await rm('./dist', {recursive: true, force: true}); + + const someConst = './dist'; + await rm(someConst, {recursive: true, force: true}); +} + +rmSync('./dist', {recursive: true, force: true}); diff --git a/tsconfig.json b/tsconfig.json index 278ba51..9c11450 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,7 @@ "outDir": "./types", "skipLibCheck": true }, - "include": ["types.ts", "index.js", "codemods/*.js"], + "include": ["types.ts", "index.js", "codemods/**/*.js"], "exclude": [ "test/fixtures/**/*", "scripts/*.js" diff --git a/types.ts b/types.ts index 4f821d8..a192f50 100644 --- a/types.ts +++ b/types.ts @@ -12,5 +12,9 @@ export interface Codemod { * you're trying to replace */ name: string; + /** + * Either "native" or the name of the package you're replacing it with. + */ + to: "native" | string; transform: (options: { file: File }) => string | Promise; } \ No newline at end of file diff --git a/types/codemods/abort-controller/index.d.ts b/types/codemods/abort-controller/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/abort-controller/index.d.ts +++ b/types/codemods/abort-controller/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array-buffer-byte-length/index.d.ts b/types/codemods/array-buffer-byte-length/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array-buffer-byte-length/index.d.ts +++ b/types/codemods/array-buffer-byte-length/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array-every/index.d.ts b/types/codemods/array-every/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array-every/index.d.ts +++ b/types/codemods/array-every/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array-includes/index.d.ts b/types/codemods/array-includes/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array-includes/index.d.ts +++ b/types/codemods/array-includes/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array-map/index.d.ts b/types/codemods/array-map/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array-map/index.d.ts +++ b/types/codemods/array-map/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.from/index.d.ts b/types/codemods/array.from/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.from/index.d.ts +++ b/types/codemods/array.from/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.of/index.d.ts b/types/codemods/array.of/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.of/index.d.ts +++ b/types/codemods/array.of/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.at/index.d.ts b/types/codemods/array.prototype.at/index.d.ts index a8f16fb..ac82955 100644 --- a/types/codemods/array.prototype.at/index.d.ts +++ b/types/codemods/array.prototype.at/index.d.ts @@ -13,8 +13,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.concat/index.d.ts b/types/codemods/array.prototype.concat/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.concat/index.d.ts +++ b/types/codemods/array.prototype.concat/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.copywithin/index.d.ts b/types/codemods/array.prototype.copywithin/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.copywithin/index.d.ts +++ b/types/codemods/array.prototype.copywithin/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.entries/index.d.ts b/types/codemods/array.prototype.entries/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.entries/index.d.ts +++ b/types/codemods/array.prototype.entries/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.every/index.d.ts b/types/codemods/array.prototype.every/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.every/index.d.ts +++ b/types/codemods/array.prototype.every/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.filter/index.d.ts b/types/codemods/array.prototype.filter/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.filter/index.d.ts +++ b/types/codemods/array.prototype.filter/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.find/index.d.ts b/types/codemods/array.prototype.find/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.find/index.d.ts +++ b/types/codemods/array.prototype.find/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.findindex/index.d.ts b/types/codemods/array.prototype.findindex/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.findindex/index.d.ts +++ b/types/codemods/array.prototype.findindex/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.findlast/index.d.ts b/types/codemods/array.prototype.findlast/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.findlast/index.d.ts +++ b/types/codemods/array.prototype.findlast/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.findlastindex/index.d.ts b/types/codemods/array.prototype.findlastindex/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.findlastindex/index.d.ts +++ b/types/codemods/array.prototype.findlastindex/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.flat/index.d.ts b/types/codemods/array.prototype.flat/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.flat/index.d.ts +++ b/types/codemods/array.prototype.flat/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.flatmap/index.d.ts b/types/codemods/array.prototype.flatmap/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.flatmap/index.d.ts +++ b/types/codemods/array.prototype.flatmap/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.foreach/index.d.ts b/types/codemods/array.prototype.foreach/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.foreach/index.d.ts +++ b/types/codemods/array.prototype.foreach/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.indexof/index.d.ts b/types/codemods/array.prototype.indexof/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.indexof/index.d.ts +++ b/types/codemods/array.prototype.indexof/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.join/index.d.ts b/types/codemods/array.prototype.join/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.join/index.d.ts +++ b/types/codemods/array.prototype.join/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.keys/index.d.ts b/types/codemods/array.prototype.keys/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.keys/index.d.ts +++ b/types/codemods/array.prototype.keys/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.lastindexof/index.d.ts b/types/codemods/array.prototype.lastindexof/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.lastindexof/index.d.ts +++ b/types/codemods/array.prototype.lastindexof/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.map/index.d.ts b/types/codemods/array.prototype.map/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.map/index.d.ts +++ b/types/codemods/array.prototype.map/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.push/index.d.ts b/types/codemods/array.prototype.push/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.push/index.d.ts +++ b/types/codemods/array.prototype.push/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.reduce/index.d.ts b/types/codemods/array.prototype.reduce/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.reduce/index.d.ts +++ b/types/codemods/array.prototype.reduce/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.reduceright/index.d.ts b/types/codemods/array.prototype.reduceright/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.reduceright/index.d.ts +++ b/types/codemods/array.prototype.reduceright/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.slice/index.d.ts b/types/codemods/array.prototype.slice/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.slice/index.d.ts +++ b/types/codemods/array.prototype.slice/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.some/index.d.ts b/types/codemods/array.prototype.some/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.some/index.d.ts +++ b/types/codemods/array.prototype.some/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.splice/index.d.ts b/types/codemods/array.prototype.splice/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.splice/index.d.ts +++ b/types/codemods/array.prototype.splice/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.toreversed/index.d.ts b/types/codemods/array.prototype.toreversed/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.toreversed/index.d.ts +++ b/types/codemods/array.prototype.toreversed/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.tosorted/index.d.ts b/types/codemods/array.prototype.tosorted/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.tosorted/index.d.ts +++ b/types/codemods/array.prototype.tosorted/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.tospliced/index.d.ts b/types/codemods/array.prototype.tospliced/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.tospliced/index.d.ts +++ b/types/codemods/array.prototype.tospliced/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.unshift/index.d.ts b/types/codemods/array.prototype.unshift/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.unshift/index.d.ts +++ b/types/codemods/array.prototype.unshift/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.values/index.d.ts b/types/codemods/array.prototype.values/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.values/index.d.ts +++ b/types/codemods/array.prototype.values/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/array.prototype.with/index.d.ts b/types/codemods/array.prototype.with/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/array.prototype.with/index.d.ts +++ b/types/codemods/array.prototype.with/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/arraybuffer.prototype.slice/index.d.ts b/types/codemods/arraybuffer.prototype.slice/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/arraybuffer.prototype.slice/index.d.ts +++ b/types/codemods/arraybuffer.prototype.slice/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/chalk/index.d.ts b/types/codemods/chalk/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/chalk/index.d.ts +++ b/types/codemods/chalk/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/clone-regexp/index.d.ts b/types/codemods/clone-regexp/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/clone-regexp/index.d.ts +++ b/types/codemods/clone-regexp/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/concat-map/index.d.ts b/types/codemods/concat-map/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/concat-map/index.d.ts +++ b/types/codemods/concat-map/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/data-view-buffer/index.d.ts b/types/codemods/data-view-buffer/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/data-view-buffer/index.d.ts +++ b/types/codemods/data-view-buffer/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/data-view-byte-length/index.d.ts b/types/codemods/data-view-byte-length/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/data-view-byte-length/index.d.ts +++ b/types/codemods/data-view-byte-length/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/data-view-byte-offset/index.d.ts b/types/codemods/data-view-byte-offset/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/data-view-byte-offset/index.d.ts +++ b/types/codemods/data-view-byte-offset/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/date/index.d.ts b/types/codemods/date/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/date/index.d.ts +++ b/types/codemods/date/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/deep-equal/dequal/index.d.ts b/types/codemods/deep-equal/dequal/index.d.ts new file mode 100644 index 0000000..f85c7d5 --- /dev/null +++ b/types/codemods/deep-equal/dequal/index.d.ts @@ -0,0 +1,11 @@ +/** + * @typedef {import('../../../types.js').Codemod} Codemod + * @typedef {import('../../../types.js').CodemodOptions} CodemodOptions + */ +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function _default(options?: import("../../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../../types.js").Codemod; +export type CodemodOptions = import("../../../types.js").CodemodOptions; diff --git a/types/codemods/deep-equal/index.d.ts b/types/codemods/deep-equal/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/deep-equal/index.d.ts +++ b/types/codemods/deep-equal/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/define-properties/index.d.ts b/types/codemods/define-properties/index.d.ts index 0a26201..ac4b2c5 100644 --- a/types/codemods/define-properties/index.d.ts +++ b/types/codemods/define-properties/index.d.ts @@ -2,8 +2,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/error-cause/index.d.ts b/types/codemods/error-cause/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/error-cause/index.d.ts +++ b/types/codemods/error-cause/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/es-aggregate-error/index.d.ts b/types/codemods/es-aggregate-error/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/es-aggregate-error/index.d.ts +++ b/types/codemods/es-aggregate-error/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/es-define-property/index.d.ts b/types/codemods/es-define-property/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/es-define-property/index.d.ts +++ b/types/codemods/es-define-property/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/es-errors/index.d.ts b/types/codemods/es-errors/index.d.ts index 0a26201..ac4b2c5 100644 --- a/types/codemods/es-errors/index.d.ts +++ b/types/codemods/es-errors/index.d.ts @@ -2,8 +2,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/es-get-iterator/index.d.ts b/types/codemods/es-get-iterator/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/es-get-iterator/index.d.ts +++ b/types/codemods/es-get-iterator/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/es-set-tostringtag/index.d.ts b/types/codemods/es-set-tostringtag/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/es-set-tostringtag/index.d.ts +++ b/types/codemods/es-set-tostringtag/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/es-shim-unscopables/index.d.ts b/types/codemods/es-shim-unscopables/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/es-shim-unscopables/index.d.ts +++ b/types/codemods/es-shim-unscopables/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/es-string-html-methods/index.d.ts b/types/codemods/es-string-html-methods/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/es-string-html-methods/index.d.ts +++ b/types/codemods/es-string-html-methods/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/filter-array/index.d.ts b/types/codemods/filter-array/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/filter-array/index.d.ts +++ b/types/codemods/filter-array/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/for-each/index.d.ts b/types/codemods/for-each/index.d.ts index 2d653d1..4597a69 100644 --- a/types/codemods/for-each/index.d.ts +++ b/types/codemods/for-each/index.d.ts @@ -12,8 +12,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/function-bind/index.d.ts b/types/codemods/function-bind/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/function-bind/index.d.ts +++ b/types/codemods/function-bind/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/function.prototype.name/index.d.ts b/types/codemods/function.prototype.name/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/function.prototype.name/index.d.ts +++ b/types/codemods/function.prototype.name/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/functions-have-names/index.d.ts b/types/codemods/functions-have-names/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/functions-have-names/index.d.ts +++ b/types/codemods/functions-have-names/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/get-symbol-description/index.d.ts b/types/codemods/get-symbol-description/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/get-symbol-description/index.d.ts +++ b/types/codemods/get-symbol-description/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/global/index.d.ts b/types/codemods/global/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/global/index.d.ts +++ b/types/codemods/global/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/gopd/index.d.ts b/types/codemods/gopd/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/gopd/index.d.ts +++ b/types/codemods/gopd/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/has-own-prop/index.d.ts b/types/codemods/has-own-prop/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/has-own-prop/index.d.ts +++ b/types/codemods/has-own-prop/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/has-proto/index.d.ts b/types/codemods/has-proto/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/has-proto/index.d.ts +++ b/types/codemods/has-proto/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/has-symbols/index.d.ts b/types/codemods/has-symbols/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/has-symbols/index.d.ts +++ b/types/codemods/has-symbols/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/has-tostringtag/index.d.ts b/types/codemods/has-tostringtag/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/has-tostringtag/index.d.ts +++ b/types/codemods/has-tostringtag/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/has/index.d.ts b/types/codemods/has/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/has/index.d.ts +++ b/types/codemods/has/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/hasown/index.d.ts b/types/codemods/hasown/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/hasown/index.d.ts +++ b/types/codemods/hasown/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/index-of/index.d.ts b/types/codemods/index-of/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/index-of/index.d.ts +++ b/types/codemods/index-of/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-array-buffer/index.d.ts b/types/codemods/is-array-buffer/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-array-buffer/index.d.ts +++ b/types/codemods/is-array-buffer/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-boolean-object/index.d.ts b/types/codemods/is-boolean-object/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-boolean-object/index.d.ts +++ b/types/codemods/is-boolean-object/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-builtin-module/index.d.ts b/types/codemods/is-builtin-module/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-builtin-module/index.d.ts +++ b/types/codemods/is-builtin-module/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-date-object/index.d.ts b/types/codemods/is-date-object/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-date-object/index.d.ts +++ b/types/codemods/is-date-object/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-even/index.d.ts b/types/codemods/is-even/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-even/index.d.ts +++ b/types/codemods/is-even/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-nan/index.d.ts b/types/codemods/is-nan/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-nan/index.d.ts +++ b/types/codemods/is-nan/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-negative-zero/index.d.ts b/types/codemods/is-negative-zero/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-negative-zero/index.d.ts +++ b/types/codemods/is-negative-zero/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-npm/index.d.ts b/types/codemods/is-npm/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-npm/index.d.ts +++ b/types/codemods/is-npm/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-number-object/index.d.ts b/types/codemods/is-number-object/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-number-object/index.d.ts +++ b/types/codemods/is-number-object/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-number/index.d.ts b/types/codemods/is-number/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-number/index.d.ts +++ b/types/codemods/is-number/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-odd/index.d.ts b/types/codemods/is-odd/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-odd/index.d.ts +++ b/types/codemods/is-odd/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-plain-object/index.d.ts b/types/codemods/is-plain-object/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-plain-object/index.d.ts +++ b/types/codemods/is-plain-object/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-primitive/index.d.ts b/types/codemods/is-primitive/index.d.ts index eaa52b1..4df9f9f 100644 --- a/types/codemods/is-primitive/index.d.ts +++ b/types/codemods/is-primitive/index.d.ts @@ -3,5 +3,5 @@ * @returns {Codemod} */ export default function _default(options?: CodemodOptions | undefined): Codemod; -import type { CodemodOptions } from '../../types.js'; -import type { Codemod } from '../../types.js'; +import type { CodemodOptions } from "../../types.js"; +import type { Codemod } from "../../types.js"; diff --git a/types/codemods/is-regexp/index.d.ts b/types/codemods/is-regexp/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-regexp/index.d.ts +++ b/types/codemods/is-regexp/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-string/index.d.ts b/types/codemods/is-string/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-string/index.d.ts +++ b/types/codemods/is-string/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-travis/index.d.ts b/types/codemods/is-travis/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-travis/index.d.ts +++ b/types/codemods/is-travis/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-whitespace/index.d.ts b/types/codemods/is-whitespace/index.d.ts index 0c02652..9195fbe 100644 --- a/types/codemods/is-whitespace/index.d.ts +++ b/types/codemods/is-whitespace/index.d.ts @@ -11,8 +11,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/is-windows/index.d.ts b/types/codemods/is-windows/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/is-windows/index.d.ts +++ b/types/codemods/is-windows/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/iterate-value/index.d.ts b/types/codemods/iterate-value/index.d.ts new file mode 100644 index 0000000..9dcfef7 --- /dev/null +++ b/types/codemods/iterate-value/index.d.ts @@ -0,0 +1,11 @@ +/** + * @typedef {import('../../types.js').Codemod} Codemod + * @typedef {import('../../types.js').CodemodOptions} CodemodOptions + */ +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/last-index-of/index.d.ts b/types/codemods/last-index-of/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/last-index-of/index.d.ts +++ b/types/codemods/last-index-of/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/left-pad/index.d.ts b/types/codemods/left-pad/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/left-pad/index.d.ts +++ b/types/codemods/left-pad/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.acosh/index.d.ts b/types/codemods/math.acosh/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.acosh/index.d.ts +++ b/types/codemods/math.acosh/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.atanh/index.d.ts b/types/codemods/math.atanh/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.atanh/index.d.ts +++ b/types/codemods/math.atanh/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.cbrt/index.d.ts b/types/codemods/math.cbrt/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.cbrt/index.d.ts +++ b/types/codemods/math.cbrt/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.clz32/index.d.ts b/types/codemods/math.clz32/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.clz32/index.d.ts +++ b/types/codemods/math.clz32/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.f16round/index.d.ts b/types/codemods/math.f16round/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.f16round/index.d.ts +++ b/types/codemods/math.f16round/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.fround/index.d.ts b/types/codemods/math.fround/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.fround/index.d.ts +++ b/types/codemods/math.fround/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.imul/index.d.ts b/types/codemods/math.imul/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.imul/index.d.ts +++ b/types/codemods/math.imul/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.log10/index.d.ts b/types/codemods/math.log10/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.log10/index.d.ts +++ b/types/codemods/math.log10/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.log1p/index.d.ts b/types/codemods/math.log1p/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.log1p/index.d.ts +++ b/types/codemods/math.log1p/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/math.sign/index.d.ts b/types/codemods/math.sign/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/math.sign/index.d.ts +++ b/types/codemods/math.sign/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/md5/index.d.ts b/types/codemods/md5/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/md5/index.d.ts +++ b/types/codemods/md5/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/number.isfinite/index.d.ts b/types/codemods/number.isfinite/index.d.ts index eaa52b1..4df9f9f 100644 --- a/types/codemods/number.isfinite/index.d.ts +++ b/types/codemods/number.isfinite/index.d.ts @@ -3,5 +3,5 @@ * @returns {Codemod} */ export default function _default(options?: CodemodOptions | undefined): Codemod; -import type { CodemodOptions } from '../../types.js'; -import type { Codemod } from '../../types.js'; +import type { CodemodOptions } from "../../types.js"; +import type { Codemod } from "../../types.js"; diff --git a/types/codemods/number.isinteger/index.d.ts b/types/codemods/number.isinteger/index.d.ts index eaa52b1..4df9f9f 100644 --- a/types/codemods/number.isinteger/index.d.ts +++ b/types/codemods/number.isinteger/index.d.ts @@ -3,5 +3,5 @@ * @returns {Codemod} */ export default function _default(options?: CodemodOptions | undefined): Codemod; -import type { CodemodOptions } from '../../types.js'; -import type { Codemod } from '../../types.js'; +import type { CodemodOptions } from "../../types.js"; +import type { Codemod } from "../../types.js"; diff --git a/types/codemods/number.isnan/index.d.ts b/types/codemods/number.isnan/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/number.isnan/index.d.ts +++ b/types/codemods/number.isnan/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/number.issafeinteger/index.d.ts b/types/codemods/number.issafeinteger/index.d.ts index eaa52b1..4df9f9f 100644 --- a/types/codemods/number.issafeinteger/index.d.ts +++ b/types/codemods/number.issafeinteger/index.d.ts @@ -3,5 +3,5 @@ * @returns {Codemod} */ export default function _default(options?: CodemodOptions | undefined): Codemod; -import type { CodemodOptions } from '../../types.js'; -import type { Codemod } from '../../types.js'; +import type { CodemodOptions } from "../../types.js"; +import type { Codemod } from "../../types.js"; diff --git a/types/codemods/number.parsefloat/index.d.ts b/types/codemods/number.parsefloat/index.d.ts index eaa52b1..4df9f9f 100644 --- a/types/codemods/number.parsefloat/index.d.ts +++ b/types/codemods/number.parsefloat/index.d.ts @@ -3,5 +3,5 @@ * @returns {Codemod} */ export default function _default(options?: CodemodOptions | undefined): Codemod; -import type { CodemodOptions } from '../../types.js'; -import type { Codemod } from '../../types.js'; +import type { CodemodOptions } from "../../types.js"; +import type { Codemod } from "../../types.js"; diff --git a/types/codemods/number.parseint/index.d.ts b/types/codemods/number.parseint/index.d.ts index eaa52b1..4df9f9f 100644 --- a/types/codemods/number.parseint/index.d.ts +++ b/types/codemods/number.parseint/index.d.ts @@ -3,5 +3,5 @@ * @returns {Codemod} */ export default function _default(options?: CodemodOptions | undefined): Codemod; -import type { CodemodOptions } from '../../types.js'; -import type { Codemod } from '../../types.js'; +import type { CodemodOptions } from "../../types.js"; +import type { Codemod } from "../../types.js"; diff --git a/types/codemods/number.prototype.toexponential/index.d.ts b/types/codemods/number.prototype.toexponential/index.d.ts index eaa52b1..4df9f9f 100644 --- a/types/codemods/number.prototype.toexponential/index.d.ts +++ b/types/codemods/number.prototype.toexponential/index.d.ts @@ -3,5 +3,5 @@ * @returns {Codemod} */ export default function _default(options?: CodemodOptions | undefined): Codemod; -import type { CodemodOptions } from '../../types.js'; -import type { Codemod } from '../../types.js'; +import type { CodemodOptions } from "../../types.js"; +import type { Codemod } from "../../types.js"; diff --git a/types/codemods/object-assign/index.d.ts b/types/codemods/object-assign/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object-assign/index.d.ts +++ b/types/codemods/object-assign/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object-is/index.d.ts b/types/codemods/object-is/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object-is/index.d.ts +++ b/types/codemods/object-is/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object-keys/index.d.ts b/types/codemods/object-keys/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object-keys/index.d.ts +++ b/types/codemods/object-keys/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object.assign/index.d.ts b/types/codemods/object.assign/index.d.ts new file mode 100644 index 0000000..9dcfef7 --- /dev/null +++ b/types/codemods/object.assign/index.d.ts @@ -0,0 +1,11 @@ +/** + * @typedef {import('../../types.js').Codemod} Codemod + * @typedef {import('../../types.js').CodemodOptions} CodemodOptions + */ +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object.defineproperties/index.d.ts b/types/codemods/object.defineproperties/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object.defineproperties/index.d.ts +++ b/types/codemods/object.defineproperties/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object.entries/index.d.ts b/types/codemods/object.entries/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object.entries/index.d.ts +++ b/types/codemods/object.entries/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object.fromentries/index.d.ts b/types/codemods/object.fromentries/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object.fromentries/index.d.ts +++ b/types/codemods/object.fromentries/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object.getprototypeof/index.d.ts b/types/codemods/object.getprototypeof/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object.getprototypeof/index.d.ts +++ b/types/codemods/object.getprototypeof/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object.hasown/index.d.ts b/types/codemods/object.hasown/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object.hasown/index.d.ts +++ b/types/codemods/object.hasown/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object.keys/index.d.ts b/types/codemods/object.keys/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object.keys/index.d.ts +++ b/types/codemods/object.keys/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/object.values/index.d.ts b/types/codemods/object.values/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/object.values/index.d.ts +++ b/types/codemods/object.values/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/pad-left/index.d.ts b/types/codemods/pad-left/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/pad-left/index.d.ts +++ b/types/codemods/pad-left/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/parseint/index.d.ts b/types/codemods/parseint/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/parseint/index.d.ts +++ b/types/codemods/parseint/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/promise.allsettled/index.d.ts b/types/codemods/promise.allsettled/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/promise.allsettled/index.d.ts +++ b/types/codemods/promise.allsettled/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/promise.any/index.d.ts b/types/codemods/promise.any/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/promise.any/index.d.ts +++ b/types/codemods/promise.any/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/promise.prototype.finally/index.d.ts b/types/codemods/promise.prototype.finally/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/promise.prototype.finally/index.d.ts +++ b/types/codemods/promise.prototype.finally/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/qs/index.d.ts b/types/codemods/qs/index.d.ts new file mode 100644 index 0000000..8f8e6bf --- /dev/null +++ b/types/codemods/qs/index.d.ts @@ -0,0 +1,16 @@ +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; +export type SgNode = import("@ast-grep/napi").SgNode; +export type ReplacementOptions = Record | ((value: SgNode) => Record | null) | null; +export type Replacement = ({ + kind: string; + options: ReplacementOptions; +}); +export type Replacer = ({ + replacements: Replacement[]; +}); diff --git a/types/codemods/qs/picoquery/index.d.ts b/types/codemods/qs/picoquery/index.d.ts new file mode 100644 index 0000000..3b3ce84 --- /dev/null +++ b/types/codemods/qs/picoquery/index.d.ts @@ -0,0 +1,16 @@ +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function _default(options?: import("../../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../../types.js").Codemod; +export type CodemodOptions = import("../../../types.js").CodemodOptions; +export type SgNode = import("@ast-grep/napi").SgNode; +export type ReplacementOptions = Record | ((value: SgNode) => Record | null) | null; +export type Replacement = ({ + kind: string; + options: ReplacementOptions; +}); +export type Replacer = ({ + replacements: Replacement[]; +}); diff --git a/types/codemods/reflect.getprototypeof/index.d.ts b/types/codemods/reflect.getprototypeof/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/reflect.getprototypeof/index.d.ts +++ b/types/codemods/reflect.getprototypeof/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/reflect.ownkeys/index.d.ts b/types/codemods/reflect.ownkeys/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/reflect.ownkeys/index.d.ts +++ b/types/codemods/reflect.ownkeys/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/regexp.prototype.flags/index.d.ts b/types/codemods/regexp.prototype.flags/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/regexp.prototype.flags/index.d.ts +++ b/types/codemods/regexp.prototype.flags/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/replaceImport.d.ts b/types/codemods/replaceImport.d.ts index 5bfc584..dd21e32 100644 --- a/types/codemods/replaceImport.d.ts +++ b/types/codemods/replaceImport.d.ts @@ -13,14 +13,9 @@ * @param {Module} importModule * @param {Module} replacementModule */ -export function replaceImport( - j: import('jscodeshift/src/core.js').JSCodeshift, - root: import('jscodeshift').Collection, - importModule: Module, - replacementModule: Module, -): boolean; +export function replaceImport(j: import("jscodeshift/src/core.js").JSCodeshift, root: import("jscodeshift").Collection, importModule: Module, replacementModule: Module): boolean; export type Module = { - moduleName: string; - importName: string; - cjsNamespace: boolean | null; + moduleName: string; + importName: string; + cjsNamespace: boolean | null; }; diff --git a/types/codemods/rimraf/index.d.ts b/types/codemods/rimraf/index.d.ts new file mode 100644 index 0000000..c964b28 --- /dev/null +++ b/types/codemods/rimraf/index.d.ts @@ -0,0 +1,8 @@ +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; +export type Edit = import("@ast-grep/napi").Edit; diff --git a/types/codemods/setprototypeof/index.d.ts b/types/codemods/setprototypeof/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/setprototypeof/index.d.ts +++ b/types/codemods/setprototypeof/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/shared.d.ts b/types/codemods/shared.d.ts index a435c0a..4001023 100644 --- a/types/codemods/shared.d.ts +++ b/types/codemods/shared.d.ts @@ -12,22 +12,14 @@ * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance * @returns {RemoveImport} */ -export function removeImport( - name: string, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): RemoveImport; +export function removeImport(name: string, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): RemoveImport; /** * @param {string} code - code to insert after the last import * @param {import("jscodeshift").Collection} root - jscodeshift tree of the file containing the import * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance * */ -export function insertAfterImports( - code: string, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): void; +export function insertAfterImports(code: string, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): void; /** * Analyzes an `import` or `require` statement to detect which names are being * imported and what identifiers is the developer assigning them to. Returns a @@ -49,13 +41,9 @@ export function insertAfterImports( * @param {import("jscodeshift").Collection} root - jcodeshift tree of the file containing the import * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance */ -export function getImportIdentifierMap( - packageName: string, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): Record & { - [DEFAULT_IMPORT]?: string; - [NAMESPACE_IMPORT]?: string; +export function getImportIdentifierMap(packageName: string, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): Record & { + [DEFAULT_IMPORT]?: string; + [NAMESPACE_IMPORT]?: string; }; /** * Replaces import declarations that use default specifiers @@ -72,13 +60,7 @@ export function getImportIdentifierMap( * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance * @returns {ReplaceDefaultImport} */ -export function replaceDefaultImport( - name: string, - newSpecifier: string, - newName: string, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): ReplaceDefaultImport; +export function replaceDefaultImport(name: string, newSpecifier: string, newName: string, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): ReplaceDefaultImport; /** * @param {string} method - e.g. `array.prototype.flatMap` * @param {string} identifierName - e.g. `flatMap` @@ -86,12 +68,7 @@ export function replaceDefaultImport( * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance * @returns {boolean} - true if the method was found and transformed, false otherwise */ -export function transformArrayMethod( - method: string, - identifierName: string, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): boolean; +export function transformArrayMethod(method: string, identifierName: string, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): boolean; /** * @param {import("jscodeshift").ASTPath} path - jscodeshift path * @param {string} instanceName - e.g. `Uint8Array` @@ -99,12 +76,7 @@ export function transformArrayMethod( * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance * @returns */ -export function transformInstanceProperty( - path: import('jscodeshift').ASTPath, - instanceName: string, - propertyName: string, - j: import('jscodeshift').JSCodeshift, -): boolean; +export function transformInstanceProperty(path: import("jscodeshift").ASTPath, instanceName: string, propertyName: string, j: import("jscodeshift").JSCodeshift): boolean; /** * @param {import("jscodeshift").ASTPath} path - jscodeshift path * @param {string} instanceName - e.g. `Uint8Array` @@ -112,12 +84,7 @@ export function transformInstanceProperty( * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance * @returns */ -export function transformInstanceMethod( - path: import('jscodeshift').ASTPath, - instanceName: string, - methodName: string, - j: import('jscodeshift').JSCodeshift, -): boolean; +export function transformInstanceMethod(path: import("jscodeshift").ASTPath, instanceName: string, methodName: string, j: import("jscodeshift").JSCodeshift): boolean; /** * @param {string} method - e.g. `array.prototype.flatMap` * @param {string} identifierName - e.g. `flatMap` @@ -125,12 +92,7 @@ export function transformInstanceMethod( * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance * @returns {boolean} - true if the method was found and transformed, false otherwise */ -export function transformStringMethod( - method: string, - identifierName: string, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): boolean; +export function transformStringMethod(method: string, identifierName: string, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): boolean; /** * @param {string} importName - e.g. `math.acosh/polyfill` * @param {string} methodName - e.g. `acosh` @@ -138,47 +100,28 @@ export function transformStringMethod( * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance * @returns {boolean} - true if the method was found and transformed, false otherwise */ -export function transformMathPolyfill( - importName: string, - methodName: string, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): boolean; +export function transformMathPolyfill(importName: string, methodName: string, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): boolean; /** * @param {string} importName = e.g., `define-properties` * @param {string} identifier = e.g., `supportsDescriptors` * @param {import("jscodeshift").Collection} root * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance */ -export function getVariableExpressionHasIdentifier( - importName: string, - identifier: string, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): boolean; +export function getVariableExpressionHasIdentifier(importName: string, identifier: string, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): boolean; /** * @param {string} importName = e.g., `define-properties` * @param {string | boolean | null | number | RegExp} value = e.g., true or "string value" * @param {import("jscodeshift").Collection} root * @param {import("jscodeshift").JSCodeshift} j - jscodeshift instance */ -export function replaceRequireMemberExpression( - importName: string, - value: string | boolean | null | number | RegExp, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): boolean; +export function replaceRequireMemberExpression(importName: string, value: string | boolean | null | number | RegExp, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): boolean; /** * * @param {number} line * @param {import("jscodeshift").Collection} root * @param {import("jscodeshift").JSCodeshift} j */ -export function getAncestorOnLine( - line: number, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): any; +export function getAncestorOnLine(line: number, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): any; /** * * @param {import("jscodeshift").CommentBlock} comment @@ -186,33 +129,28 @@ export function getAncestorOnLine( * @param {import("jscodeshift").Collection} root * @param {import("jscodeshift").JSCodeshift} j */ -export function insertCommentAboveNode( - comment: import('jscodeshift').CommentBlock, - startLine: number, - root: import('jscodeshift').Collection, - j: import('jscodeshift').JSCodeshift, -): void; +export function insertCommentAboveNode(comment: import("jscodeshift").CommentBlock, startLine: number, root: import("jscodeshift").Collection, j: import("jscodeshift").JSCodeshift): void; export const DEFAULT_IMPORT: unique symbol; export const NAMESPACE_IMPORT: unique symbol; /** * type definition for return type object */ export type RemoveImport = { - /** - * - the name of the module as it was imported or required. for example, `keys` in `import keys from 'object-keys'` - */ - identifier: string; - /** - * - whether imports were removed or not - */ - dirtyFlag: boolean; + /** + * - the name of the module as it was imported or required. for example, `keys` in `import keys from 'object-keys'` + */ + identifier: string; + /** + * - whether imports were removed or not + */ + dirtyFlag: boolean; }; /** * type definition for return type object */ export type ReplaceDefaultImport = { - /** - * - the name of the module as it was imported or required. for example, `keys` in `import keys from 'object-keys'` - */ - identifier: string; + /** + * - the name of the module as it was imported or required. for example, `keys` in `import keys from 'object-keys'` + */ + identifier: string; }; diff --git a/types/codemods/split-lines/index.d.ts b/types/codemods/split-lines/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/split-lines/index.d.ts +++ b/types/codemods/split-lines/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.at/index.d.ts b/types/codemods/string.prototype.at/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.at/index.d.ts +++ b/types/codemods/string.prototype.at/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.lastindexof/index.d.ts b/types/codemods/string.prototype.lastindexof/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.lastindexof/index.d.ts +++ b/types/codemods/string.prototype.lastindexof/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.matchall/index.d.ts b/types/codemods/string.prototype.matchall/index.d.ts index 2d653d1..4597a69 100644 --- a/types/codemods/string.prototype.matchall/index.d.ts +++ b/types/codemods/string.prototype.matchall/index.d.ts @@ -12,8 +12,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.padend/index.d.ts b/types/codemods/string.prototype.padend/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.padend/index.d.ts +++ b/types/codemods/string.prototype.padend/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.padleft/index.d.ts b/types/codemods/string.prototype.padleft/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.padleft/index.d.ts +++ b/types/codemods/string.prototype.padleft/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.padright/index.d.ts b/types/codemods/string.prototype.padright/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.padright/index.d.ts +++ b/types/codemods/string.prototype.padright/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.padstart/index.d.ts b/types/codemods/string.prototype.padstart/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.padstart/index.d.ts +++ b/types/codemods/string.prototype.padstart/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.repeat/index.d.ts b/types/codemods/string.prototype.repeat/index.d.ts index 2d653d1..4597a69 100644 --- a/types/codemods/string.prototype.repeat/index.d.ts +++ b/types/codemods/string.prototype.repeat/index.d.ts @@ -12,8 +12,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.replaceall/index.d.ts b/types/codemods/string.prototype.replaceall/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.replaceall/index.d.ts +++ b/types/codemods/string.prototype.replaceall/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.split/index.d.ts b/types/codemods/string.prototype.split/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.split/index.d.ts +++ b/types/codemods/string.prototype.split/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.substr/index.d.ts b/types/codemods/string.prototype.substr/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.substr/index.d.ts +++ b/types/codemods/string.prototype.substr/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.trim/index.d.ts b/types/codemods/string.prototype.trim/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.trim/index.d.ts +++ b/types/codemods/string.prototype.trim/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.trimend/index.d.ts b/types/codemods/string.prototype.trimend/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.trimend/index.d.ts +++ b/types/codemods/string.prototype.trimend/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.trimleft/index.d.ts b/types/codemods/string.prototype.trimleft/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.trimleft/index.d.ts +++ b/types/codemods/string.prototype.trimleft/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.trimright/index.d.ts b/types/codemods/string.prototype.trimright/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.trimright/index.d.ts +++ b/types/codemods/string.prototype.trimright/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.prototype.trimstart/index.d.ts b/types/codemods/string.prototype.trimstart/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.prototype.trimstart/index.d.ts +++ b/types/codemods/string.prototype.trimstart/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/string.raw/index.d.ts b/types/codemods/string.raw/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/string.raw/index.d.ts +++ b/types/codemods/string.raw/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/symbol.prototype.description/index.d.ts b/types/codemods/symbol.prototype.description/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/symbol.prototype.description/index.d.ts +++ b/types/codemods/symbol.prototype.description/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/traverse/index.d.ts b/types/codemods/traverse/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/traverse/index.d.ts +++ b/types/codemods/traverse/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/traverse/neotraverse/index.d.ts b/types/codemods/traverse/neotraverse/index.d.ts new file mode 100644 index 0000000..f85c7d5 --- /dev/null +++ b/types/codemods/traverse/neotraverse/index.d.ts @@ -0,0 +1,11 @@ +/** + * @typedef {import('../../../types.js').Codemod} Codemod + * @typedef {import('../../../types.js').CodemodOptions} CodemodOptions + */ +/** + * @param {CodemodOptions} [options] + * @returns {Codemod} + */ +export default function _default(options?: import("../../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../../types.js").Codemod; +export type CodemodOptions = import("../../../types.js").CodemodOptions; diff --git a/types/codemods/typed-array-buffer/index.d.ts b/types/codemods/typed-array-buffer/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/typed-array-buffer/index.d.ts +++ b/types/codemods/typed-array-buffer/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/typed-array-byte-length/index.d.ts b/types/codemods/typed-array-byte-length/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/typed-array-byte-length/index.d.ts +++ b/types/codemods/typed-array-byte-length/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/typed-array-byte-offset/index.d.ts b/types/codemods/typed-array-byte-offset/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/typed-array-byte-offset/index.d.ts +++ b/types/codemods/typed-array-byte-offset/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/typed-array-length/index.d.ts b/types/codemods/typed-array-length/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/typed-array-length/index.d.ts +++ b/types/codemods/typed-array-length/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/typedarray.prototype.slice/index.d.ts b/types/codemods/typedarray.prototype.slice/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/typedarray.prototype.slice/index.d.ts +++ b/types/codemods/typedarray.prototype.slice/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/codemods/xtend/index.d.ts b/types/codemods/xtend/index.d.ts index 9ff4202..9dcfef7 100644 --- a/types/codemods/xtend/index.d.ts +++ b/types/codemods/xtend/index.d.ts @@ -6,8 +6,6 @@ * @param {CodemodOptions} [options] * @returns {Codemod} */ -export default function _default( - options?: import('../../types.js').CodemodOptions | undefined, -): Codemod; -export type Codemod = import('../../types.js').Codemod; -export type CodemodOptions = import('../../types.js').CodemodOptions; +export default function _default(options?: import("../../types.js").CodemodOptions | undefined): Codemod; +export type Codemod = import("../../types.js").Codemod; +export type CodemodOptions = import("../../types.js").CodemodOptions; diff --git a/types/index.d.ts b/types/index.d.ts index aad8fe6..884483c 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -6,5 +6,5 @@ * @type {Record Codemod>} */ export const codemods: Record Codemod>; -export type Codemod = import('./types.js').Codemod; -export type CodemodOptions = import('./types.js').CodemodOptions; +export type Codemod = import("./types.js").Codemod; +export type CodemodOptions = import("./types.js").CodemodOptions; diff --git a/types/types.d.ts b/types/types.d.ts index c48fcec..b2f02bf 100644 --- a/types/types.d.ts +++ b/types/types.d.ts @@ -1,15 +1,20 @@ -export interface CodemodOptions {} +export interface CodemodOptions { +} export interface File { - source: string; - filename: string; + source: string; + filename: string; } export interface Codemod { - /** - * The name of the codemod should be equal to the name of the package - * you're trying to replace - */ - name: string; - transform: (options: { - file: File; - }) => string | Promise; + /** + * The name of the codemod should be equal to the name of the package + * you're trying to replace + */ + name: string; + /** + * Either "native" or the name of the package you're replacing it with. + */ + to: "native" | string; + transform: (options: { + file: File; + }) => string | Promise; }