diff options
Diffstat (limited to 'thirdparty/preact/config/codemod-const.js')
-rw-r--r-- | thirdparty/preact/config/codemod-const.js | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/thirdparty/preact/config/codemod-const.js b/thirdparty/preact/config/codemod-const.js deleted file mode 100644 index 4bffd9add..000000000 --- a/thirdparty/preact/config/codemod-const.js +++ /dev/null @@ -1,39 +0,0 @@ -/* eslint no-console:0 */ - -/** Find constants (identified by ALL_CAPS_DECLARATIONS), and inline them globally. - * This is safe because Preact *only* uses global constants. - */ -export default (file, api) => { - let j = api.jscodeshift, - code = j(file.source), - constants = {}, - found = 0; - - code.find(j.VariableDeclaration) - .filter( decl => { - for (let i=decl.value.declarations.length; i--; ) { - let node = decl.value.declarations[i], - name = node.id && node.id.name, - init = node.init; - if (name && init && name.match(/^[A-Z0-9_$]+$/g)) { - if (init.type==='Literal') { - console.log(`Inlining constant: ${name}=${init.raw}`); - found++; - constants[name] = init; - // remove declaration - decl.value.declarations.splice(i, 1); - // if it's the last, we'll remove the whole statement - return !decl.value.declarations.length; - } - } - } - return false; - }) - .remove(); - - code.find(j.Identifier) - .filter( path => path.value.name && constants.hasOwnProperty(path.value.name) ) - .replaceWith( path => (found++, constants[path.value.name]) ); - - return found ? code.toSource({ quote: 'single' }) : null; -}; |