mx-jpush-expo
Version:
Expo 集成极光推送(JPush)一体化解决方案,支持 iOS/Android 厂商通道
41 lines (40 loc) • 1.56 kB
JavaScript
;
/**
* Android settings.gradle 配置
* 添加 JPush 模块引用
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.withAndroidSettingsGradle = void 0;
exports.applyAndroidSettingsGradle = applyAndroidSettingsGradle;
const config_plugins_1 = require("expo/config-plugins");
const generateCode_1 = require("../utils/generateCode");
/**
* 生成 JPush 模块配置
*/
const getJPushModules = () => {
return `include ':jpush-react-native'
project(':jpush-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jpush-react-native/android')
include ':jcore-react-native'
project(':jcore-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jcore-react-native/android')`;
};
function applyAndroidSettingsGradle(contents) {
return (0, generateCode_1.syncGeneratedContents)({
src: contents,
newSrc: getJPushModules(),
tag: 'jpush-modules',
anchor: /include\s+['"]?:app['"]?/,
offset: -1,
comment: '//',
}).contents;
}
/**
* 配置 Android settings.gradle
* 添加 jpush-react-native 和 jcore-react-native 模块
*/
const withAndroidSettingsGradle = (config) => (0, config_plugins_1.withSettingsGradle)(config, (config) => {
console.log('\n[MX_JPush_Expo] 配置 Android settings.gradle ...');
config.modResults.contents = applyAndroidSettingsGradle(config.modResults.contents);
return config;
});
exports.withAndroidSettingsGradle = withAndroidSettingsGradle;
//# sourceMappingURL=settingsGradle.js.map