HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //proc/self/root/usr/local/lib/node_modules/@ionic/cli/commands/cordova/resources.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResourcesCommand = void 0;
const color_1 = require("../../lib/color");
const cordova_res_1 = require("../../lib/cordova-res");
const errors_1 = require("../../lib/errors");
const base_1 = require("./base");
class ResourcesCommand extends base_1.CordovaCommand {
    async getMetadata() {
        return {
            name: 'resources',
            type: 'project',
            summary: 'Automatically create icon and splash screen resources',
            description: `
Generate perfectly sized icons and splash screens from PNG source images for your Cordova platforms with this command.

The source image for icons should ideally be at least ${(0, color_1.strong)('1024×1024px')} and located at ${(0, color_1.strong)('resources/icon.png')}. The source image for splash screens should ideally be at least ${(0, color_1.strong)('2732×2732px')} and located at ${(0, color_1.strong)('resources/splash.png')}. If you used ${(0, color_1.input)('ionic start')}, there should already be default Ionic resources in the ${(0, color_1.strong)('resources/')} directory, which you can overwrite.

You can also generate platform-specific icons and splash screens by placing them in the respective ${(0, color_1.strong)('resources/<platform>/')} directory. For example, to generate an icon for Android, place your image at ${(0, color_1.strong)('resources/android/icon.png')}.

For best results, the splash screen's artwork should roughly fit within a square (${(0, color_1.strong)('1200×1200px')}) at the center of the image. You can use ${(0, color_1.strong)('https://code.ionicframework.com/resources/splash.psd')} as a template for your splash screen.

${(0, color_1.input)('ionic cordova resources')} will automatically update your ${(0, color_1.strong)('config.xml')} to reflect the changes in the generated images, which Cordova then configures.

This command uses the ${(0, color_1.input)('cordova-res')} utility[^cordova-res-repo] to generate resources locally.

Cordova reference documentation:
- Icons: ${(0, color_1.strong)('https://cordova.apache.org/docs/en/latest/config_ref/images.html')}
- Splash Screens: ${(0, color_1.strong)('https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/')}
      `,
            footnotes: [
                {
                    id: 'cordova-res-repo',
                    url: 'https://github.com/ionic-team/cordova-res',
                },
            ],
            exampleCommands: ['', ...cordova_res_1.SUPPORTED_PLATFORMS],
            inputs: [
                {
                    name: 'platform',
                    summary: `The platform for which you would like to generate resources (${cordova_res_1.SUPPORTED_PLATFORMS.map(v => (0, color_1.input)(v)).join(', ')})`,
                },
            ],
            options: [
                {
                    name: 'icon',
                    summary: 'Generate icon resources',
                    type: Boolean,
                    aliases: ['i'],
                },
                {
                    name: 'splash',
                    summary: 'Generate splash screen resources',
                    type: Boolean,
                    aliases: ['s'],
                },
            ],
        };
    }
    async run(inputs, options) {
        if (!this.project) {
            throw new errors_1.FatalException(`Cannot run ${(0, color_1.input)('ionic cordova resources')} outside a project directory.`);
        }
        if (options['cordova-res'] === false) {
            this.env.log.warn(`The ${(0, color_1.input)('--no-cordova-res')} option has been removed.\n` +
                `The Ionic image generation server has been shut down and the online resource generation flow no longer exists. Please migrate to ${(0, color_1.strong)('cordova-res')}${(0, color_1.ancillary)('[1]')}, the resource generation tool by Ionic that runs on your computer.\n\n` +
                `${(0, color_1.ancillary)('[1]')}: ${(0, color_1.strong)('https://github.com/ionic-team/cordova-res')}\n`);
        }
        const platform = inputs[0] ? String(inputs[0]) : undefined;
        await (0, cordova_res_1.runCordovaRes)(this.env, (0, cordova_res_1.createCordovaResArgs)({ platform }, options), { cwd: this.integration.root });
    }
}
exports.ResourcesCommand = ResourcesCommand;