rename babel-transformer files from ts to tsx

Summary: group files rename

Reviewed By: passy

Differential Revision: D33889860

fbshipit-source-id: 888e173fc72b5e126c1e41324b6cae6be29274c5
This commit is contained in:
Anton Kastritskiy
2022-01-31 06:13:30 -08:00
committed by Facebook GitHub Bot
parent 69bac4a3d6
commit 844728d9dc
22 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import {CallExpression} from '@babel/types';
import {NodePath} from '@babel/traverse';
module.exports = () => ({
name: 'change-require-to-electronRequire-in-server',
visitor: {
CallExpression(path: NodePath<CallExpression>) {
const node = path.node;
if (
node.type === 'CallExpression' &&
node.callee.type === 'Identifier' &&
node.callee.name === 'require' &&
node.arguments.length === 1 &&
node.arguments[0].type === 'StringLiteral'
) {
const source = node.arguments[0].value;
if (
// relative files should be bundled
!source.startsWith('./') &&
!source.startsWith('../') &&
// other packages from the workspace should be bundled up and transformed!
!source.startsWith('flipper-')
) {
node.callee.name = 'electronRequire';
}
}
if (
node.callee.type === 'MemberExpression' &&
node.callee.object.type === 'Identifier' &&
node.callee.object.name === 'require' &&
node.callee.property.type === 'Identifier' &&
node.callee.property.name === 'resolve' &&
node.arguments.length === 1 &&
node.arguments[0].type == 'StringLiteral'
) {
node.callee.object.name = 'electronRequire';
}
},
},
});