"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.action = action; exports.default = _default; function _xdl() { const data = require("@expo/xdl"); _xdl = function () { return data; }; return data; } function _log() { const data = _interopRequireDefault(require("../log")); _log = function () { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } async function action(projectDir = './', options = {}) { const { exp } = await _xdl().ProjectUtils.readConfigJsonAsync(projectDir); if (exp === null) { _log().default.warn('No Expo configuration found. Are you sure this is a project directory?'); process.exit(1); } const optimizationOptions = { ...options, quality: parseQuality(options) }; const hasUnoptimizedAssets = await _xdl().AssetUtils.hasUnoptimizedAssetsAsync(projectDir, optimizationOptions); if (!options.save && hasUnoptimizedAssets) { _log().default.warn('This will overwrite the original assets.'); } const optimizeOptions = await _xdl().Project.optimizeAsync(projectDir, optimizationOptions); } function parseQuality(options) { const defaultQuality = 80; if (options.quality == null) { return defaultQuality; } const quality = Number(options.quality); if (!(Number.isInteger(quality) && quality > 0 && quality <= 100)) { throw new Error('Invalid value for --quality flag. Must be an integer between 1 and 100.'); } return quality; } function _default(program) { program.command('optimize [project-dir]').alias('o').description('Compress the assets in your Expo project').option('-s, --save', 'Save the original assets with a .orig extension').option('--quality [number]', 'Specify the quality the compressed image is reduced to. Default is 80').option('--include [pattern]', 'Include only assets that match this glob pattern relative to the project root').option('--exclude [pattern]', 'Exclude all assets that match this glob pattern relative to the project root').allowOffline().asyncAction(action); } //# sourceMappingURL=../__sourcemaps__/commands/optimize.js.map