UNPKG

rn-ml

Version:

React Native cli tools

45 lines (44 loc) 2.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.run = void 0; /* eslint-disable @typescript-eslint/no-var-requires */ const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const sharp_1 = __importDefault(require("sharp")); const logger_1 = require("../tools/logger"); const constants_1 = require("./constants"); const Contents_json_1 = __importDefault(require("./template/ios/Contents.json")); const data_1 = require("./template/ios/data"); const run = async (config) => { // get custom AppIcon Folder Name IOS const appIconFileName = `${config.iosIconName}.appiconset`; const xcodeproj = (0, constants_1.findXcodeProject)(fs_extra_1.default.readdirSync(config.iosSource)); if (!xcodeproj) { (0, logger_1.error)("Xcode project folder not found. Are you sure this is a IOS project?"); return; } const iosSource = xcodeproj.name.replace(/\.(xcodeproj|xcworkspace)$/, ""); const imagesXcAssetsPath = path_1.default.join(config.iosSource, iosSource, "Images.xcassets"); const appIconPath = path_1.default.resolve(imagesXcAssetsPath, `${appIconFileName}`); // remove prev app icon fs_extra_1.default.removeSync(appIconPath); fs_extra_1.default.ensureDirSync(appIconPath); for (const size of data_1.iosIconsSize) { const image = await (0, sharp_1.default)(config.source); const pathImage = path_1.default.resolve(appIconPath, `${size}.png`); await image .resize(size, size) .toFile(pathImage) .then((_) => { (0, logger_1.log)("✨ " + pathImage); }); } // overwrite Contents.json const contentsJsonPath = path_1.default.resolve(imagesXcAssetsPath, `${appIconFileName}`, "Contents.json"); // fs.ensureDirSync(contentsJsonPath); await fs_extra_1.default.writeJSONSync(contentsJsonPath, Object.assign(Object.assign({}, Contents_json_1.default), { images: data_1.iosIcons })); }; exports.run = run;