react-native-decompiler
Version:
react native decompile apk and ipa(soon)
49 lines • 5.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const types_1 = require("@babel/types");
const plugin_1 = require("../../plugin");
class PassthroughModuleRemapper extends plugin_1.Plugin {
constructor() {
super(...arguments);
this.pass = 2;
this.name = 'PassthroughModuleRemapper';
}
getVisitor() {
if (this.module.moduleCode.body.length !== 1)
return {};
return {
AssignmentExpression: (path) => {
var _a, _b, _c, _d;
if (!types_1.isMemberExpression(path.node.left) || !types_1.isIdentifier((_a = path.node.left) === null || _a === void 0 ? void 0 : _a.object) || !types_1.isIdentifier((_b = path.node.left) === null || _b === void 0 ? void 0 : _b.property))
return;
if (((_c = path.scope.getBindingIdentifier(path.node.left.object.name)) === null || _c === void 0 ? void 0 : _c.start) !== ((_d = this.module.moduleParam) === null || _d === void 0 ? void 0 : _d.start))
return;
if (path.node.left.property.name !== 'exports')
return;
const right = path.get('right');
if (!right.isCallExpression())
return;
const rightCallee = right.get('callee');
if (!rightCallee.isIdentifier() && !rightCallee.isCallExpression())
return;
const dependency = this.getModuleDependency(rightCallee.isCallExpression() ? rightCallee : right);
if (!dependency)
return;
if (rightCallee.isCallExpression() && !dependency.moduleStrings.find((str) => str.includes('Calling PropTypes validators directly is not supported')))
return;
if (!this.moduleList.some((m) => m.dependencies.includes(this.module.moduleId)))
return;
this.debugLog(`bypassing ${this.module.moduleId} for ${dependency.moduleId} ${dependency.moduleName}`);
const passthroughDependency = this.moduleList[dependency.moduleId];
this.module.ignored = true;
this.module.isNpmModule = true;
this.module.moduleName = `${this.module.moduleId} PASSTHROUGH TO ${passthroughDependency.moduleName}`;
this.moduleList.forEach((module) => {
module.dependencies = module.dependencies.map((dep) => (dep === this.module.moduleId ? passthroughDependency.moduleId : dep));
});
},
};
}
}
exports.default = PassthroughModuleRemapper;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3Rocm91Z2hNb2R1bGVSZW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWdnZXJzL3JlbWFwcGVycy9wYXNzdGhyb3VnaE1vZHVsZVJlbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0JBLHdDQUdzQjtBQUN0Qix5Q0FBc0M7QUFLdEMsTUFBcUIseUJBQTBCLFNBQVEsZUFBTTtJQUE3RDs7UUFDVyxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLFNBQUksR0FBRywyQkFBMkIsQ0FBQztJQWlDckMsQ0FBQztJQS9CQyxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV4RCxPQUFPO1lBQ0wsb0JBQW9CLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTs7Z0JBQzdCLElBQUksQ0FBQywwQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQVksT0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksMENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBWSxPQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLENBQUM7b0JBQUUsT0FBTztnQkFDcEksSUFBSSxPQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQ0FBRSxLQUFLLGFBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLDBDQUFFLEtBQUssQ0FBQTtvQkFBRSxPQUFPO2dCQUNsSCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssU0FBUztvQkFBRSxPQUFPO2dCQUV2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFO29CQUFFLE9BQU87Z0JBQ3RDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7b0JBQUUsT0FBTztnQkFFM0UsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsRyxJQUFJLENBQUMsVUFBVTtvQkFBRSxPQUFPO2dCQUN4QixJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsd0RBQXdELENBQUMsQ0FBQztvQkFBRSxPQUFPO2dCQUM5SixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQUUsT0FBTztnQkFFeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxRQUFRLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBRXZHLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxtQkFBbUIscUJBQXFCLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3RHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ2pDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hJLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFuQ0QsNENBbUNDIn0=