{"version":3,"sources":["jsdelivr-header.js","/npm/cloudflare-images-cli@1.1.0/bin/main.mjs"],"names":[],"mappings":"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","file":"/npm/cloudflare-images-cli@1.1.0/bin/main.mjs","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/cloudflare-images-cli@1.1.0/bin/main.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#! /usr/bin/env node\nimport meow from 'meow';\nimport { join } from 'path';\nimport { homedir } from 'os';\nimport { readFile, mkdir, writeFile, access } from 'fs/promises';\nimport { constants } from 'fs';\nimport inquirer from 'inquirer';\nimport { CloudflareClient } from 'cloudflare-images';\nimport 'readline';\nimport 'util';\nimport 'process';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\n\nconst exists = (path) => __awaiter(void 0, void 0, void 0, function* () {\r\n    return access(path, constants.F_OK).then(() => true).catch(() => false);\r\n});\r\nclass Config {\r\n    static get(property) {\r\n        var _a;\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            try {\r\n                const config = yield this.read();\r\n                return (_a = config === null || config === void 0 ? void 0 : config[property]) !== null && _a !== void 0 ? _a : null;\r\n            }\r\n            catch (error) {\r\n                console.error(error);\r\n                process.exit(1);\r\n            }\r\n        });\r\n    }\r\n    static set(property, value) {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            try {\r\n                const config = yield this.read();\r\n                config[property] = value;\r\n                yield this.write(config);\r\n                return config;\r\n            }\r\n            catch (error) {\r\n                console.error(error);\r\n                process.exit(1);\r\n            }\r\n        });\r\n    }\r\n    static read() {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            try {\r\n                const doesExist = yield this.configExists();\r\n                if (!doesExist) {\r\n                    console.log(\"please configure credentials by running 'cf-images init'\");\r\n                    process.exit(1);\r\n                }\r\n                const fileContent = yield readFile(this.configFilePath());\r\n                const fileContentString = fileContent.toString();\r\n                const result = JSON.parse(fileContentString);\r\n                return result;\r\n            }\r\n            catch (error) {\r\n                console.error(error);\r\n                process.exit(1);\r\n            }\r\n        });\r\n    }\r\n    static write(config = {}) {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            try {\r\n                const content = JSON.stringify(config);\r\n                yield mkdir(this.configFolderPath(), { recursive: true });\r\n                yield writeFile(this.configFilePath(), content);\r\n                return true;\r\n            }\r\n            catch (error) {\r\n                console.error(error);\r\n                process.exit(1);\r\n            }\r\n        });\r\n    }\r\n    static configFolderPath() {\r\n        return join(homedir(), this.CONFIG_FOLDER_NAME);\r\n    }\r\n    static configFilePath() {\r\n        return join(this.configFolderPath(), this.CONFIG_FILE_NAME);\r\n    }\r\n    static configExists() {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            try {\r\n                const result = yield exists(this.configFilePath());\r\n                return result;\r\n            }\r\n            catch (error) {\r\n                console.error(error);\r\n                process.exit(1);\r\n            }\r\n        });\r\n    }\r\n}\r\nConfig.CONFIG_FOLDER_NAME = \".cf-images\";\r\nConfig.CONFIG_FILE_NAME = \"cf-images.config.json\";\n\nconst inquire = (questions) => __awaiter(void 0, void 0, void 0, function* () {\r\n    try {\r\n        const answers = yield inquirer.prompt(questions);\r\n        return answers;\r\n    }\r\n    catch (error) {\r\n        if (error.isTtyError) {\r\n            console.error(error);\r\n        }\r\n        else {\r\n            console.error(error);\r\n        }\r\n        process.exit(1);\r\n    }\r\n});\n\nconst isBlank = (data) => {\r\n    if (data == undefined) {\r\n        return true;\r\n    }\r\n    if (data == null) {\r\n        return true;\r\n    }\r\n    if (data === \"\") {\r\n        return true;\r\n    }\r\n    if (Array.isArray(data) && data.length === 0) {\r\n        return true;\r\n    }\r\n    if (data.constructor === Object && Object.keys(data).length === 0) {\r\n        return true;\r\n    }\r\n    return false;\r\n};\n\nconst logJson = (input) => {\r\n    const output = JSON.stringify(input, null, 4);\r\n    console.log(output);\r\n};\n\nconst newClient = () => __awaiter(void 0, void 0, void 0, function* () {\r\n    const config = yield Config.read();\r\n    return new CloudflareClient({\r\n        accountId: config.accountId,\r\n        apiKey: config.apiKey,\r\n    });\r\n});\n\nconst questions$2 = [\r\n    {\r\n        name: \"id\",\r\n        type: \"input\",\r\n        message: \"Cloudflare Image Id\",\r\n    },\r\n];\r\nconst deleteImage = (_) => __awaiter(void 0, void 0, void 0, function* () {\r\n    try {\r\n        const answers = yield inquire(questions$2);\r\n        const client = yield newClient();\r\n        const response = yield client.deleteImage(answers.id);\r\n        logJson(response.result);\r\n        process.exit(0);\r\n    }\r\n    catch (error) {\r\n        console.error(error);\r\n        process.exit(1);\r\n    }\r\n});\n\nconst questions$1 = [\r\n    {\r\n        name: \"accountId\",\r\n        type: \"input\",\r\n        message: \"Cloudflare Account Id\",\r\n    },\r\n    {\r\n        name: \"apiKey\",\r\n        type: \"input\",\r\n        message: \"Cloudflare API Key\",\r\n    },\r\n];\r\nconst init = () => __awaiter(void 0, void 0, void 0, function* () {\r\n    try {\r\n        const answers = yield inquire(questions$1);\r\n        if (isBlank(answers.accountId)) {\r\n            console.log(\"accountId can't be blank\");\r\n            process.exit(1);\r\n        }\r\n        if (isBlank(answers.apiKey)) {\r\n            console.log(\"accountId can't be blank\");\r\n            process.exit(1);\r\n        }\r\n        yield Config.write(answers);\r\n        console.log(\"setup complete 🥳\");\r\n    }\r\n    catch (error) {\r\n        console.error(error);\r\n        process.exit(1);\r\n    }\r\n});\n\nconst listImages = (flags) => __awaiter(void 0, void 0, void 0, function* () {\r\n    try {\r\n        const client = yield newClient();\r\n        const response = yield client.listImages({ page: 1, per_page: 100 });\r\n        if (flags === null || flags === void 0 ? void 0 : flags.verbose) {\r\n            logJson(response);\r\n        }\r\n        else {\r\n            logJson(response.result);\r\n        }\r\n        process.exit(0);\r\n    }\r\n    catch (error) {\r\n        console.error(error);\r\n        process.exit(1);\r\n    }\r\n});\n\nconst listVariants = (flags) => __awaiter(void 0, void 0, void 0, function* () {\r\n    try {\r\n        const client = yield newClient();\r\n        const response = yield client.listVariants();\r\n        if (flags === null || flags === void 0 ? void 0 : flags.verbose) {\r\n            logJson(response);\r\n        }\r\n        else {\r\n            logJson(response.result);\r\n        }\r\n        process.exit(0);\r\n    }\r\n    catch (error) {\r\n        console.error(error);\r\n        process.exit(1);\r\n    }\r\n});\n\nconst _uploadImage = (options) => __awaiter(void 0, void 0, void 0, function* () {\r\n    try {\r\n        const client = yield newClient();\r\n        const response = yield client.uploadImage(options);\r\n        logJson(response.result);\r\n        process.exit(0);\r\n    }\r\n    catch (error) {\r\n        console.error(error);\r\n        process.exit(1);\r\n    }\r\n});\r\nconst questions = [\r\n    {\r\n        name: \"id\",\r\n        type: \"input\",\r\n        message: \"Cloudflare Image Id\",\r\n    },\r\n    {\r\n        name: \"path\",\r\n        type: \"input\",\r\n        message: \"Path to image file\",\r\n    },\r\n];\r\nconst uploadImage = (_flags) => __awaiter(void 0, void 0, void 0, function* () {\r\n    try {\r\n        const options = yield inquire(questions);\r\n        yield _uploadImage(options);\r\n        process.exit(0);\r\n    }\r\n    catch (error) {\r\n        console.error(error);\r\n        process.exit(1);\r\n    }\r\n});\n\nconst commands = [\r\n    { name: \"init\", description: \"Configure Cloudflare credentials\" },\r\n    { name: \"list-images\", description: \"List images\" },\r\n    { name: \"list-variants\", description: \"List variants\" },\r\n    { name: \"upload-image\", description: \"Upload a local image file to Cloudflare\" },\r\n    { name: \"delete-image\", description: \"Delete an image on Cloudflare Images\" },\r\n];\r\nconst flags = [\r\n    { name: \"help\", alias: \"h\", description: \"Show usage information\" },\r\n    { name: \"version\", alias: \"V\", description: \"Show version information\" },\r\n    { name: \"verbose\", alias: \"v\", description: \"Verbose output\" },\r\n];\r\nconst flagLength = (flag) => {\r\n    var _a;\r\n    let dashLength = 2;\r\n    let nameLength = flag.name.length;\r\n    if ((_a = flag === null || flag === void 0 ? void 0 : flag.alias) === null || _a === void 0 ? void 0 : _a.length) {\r\n        dashLength += 2;\r\n        nameLength += flag.alias.length;\r\n    }\r\n    const length = nameLength + dashLength;\r\n    return length;\r\n};\r\nconst longestCommandName = Math.max(...(commands.map(command => command.name.length)));\r\nconst longestFlagName = Math.max(...(flags.map(flag => flagLength(flag))));\r\nconst longestFlagAlias = Math.max(...(flags.map(flag => { var _a, _b; return (_b = (_a = flag === null || flag === void 0 ? void 0 : flag.alias) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; })));\r\nconst INDENT = \" \".repeat(6);\r\nconst commandHelp = commands.map(({ name, description }) => {\r\n    return INDENT + name.padEnd(longestCommandName + 2, \" \") + description;\r\n}).join(\"\\n\");\r\nconst flagHelp = flags.map((flag) => {\r\n    var _a;\r\n    const nameText = `--${flag.name}`;\r\n    const aliasText = ((_a = flag === null || flag === void 0 ? void 0 : flag.alias) === null || _a === void 0 ? void 0 : _a.length) ? `-${flag.alias} ` : \" \".repeat(longestFlagAlias + 2);\r\n    return INDENT + (aliasText + nameText).padEnd(longestFlagName + 2, \" \") + flag.description;\r\n}).join(\"\\n\");\r\nconst HELP = `\n    Usage\n      $ cf-images <command>\n\n    Commands\n${commandHelp}\n\n    Options\n${flagHelp}\n\n    Examples\n      $ cf-images list-images >> cloudflare-images.json\n`;\n\nconst COMMANDS = {\r\n    \"init\": init,\r\n    \"list-images\": listImages,\r\n    \"list-variants\": listVariants,\r\n    \"upload-image\": uploadImage,\r\n    \"delete-image\": deleteImage,\r\n};\r\nclass Program {\r\n    constructor(args, flags) {\r\n        this.args = args;\r\n        this.flags = flags;\r\n    }\r\n    main() {\r\n        return __awaiter(this, void 0, void 0, function* () {\r\n            try {\r\n                const commandArg = this.args[0];\r\n                const command = COMMANDS[commandArg];\r\n                if (command == null || command == undefined) {\r\n                    console.log(HELP);\r\n                    process.exit(0);\r\n                }\r\n                yield command(this.flags);\r\n                process.exit(0);\r\n            }\r\n            catch (e) {\r\n                if (e.code == \"ENOENT\") {\r\n                    console.error(`error - unable to find file: `);\r\n                }\r\n                else {\r\n                    console.error(\"error: \" + e.message);\r\n                }\r\n                process.exit(1);\r\n            }\r\n        });\r\n    }\r\n}\n\nvar version = \"1.1.0\";\n\nconst versionNumber = version;\r\nconst VERSION = `cf-images version ${versionNumber}`;\n\nconst cli = () => __awaiter(void 0, void 0, void 0, function* () {\r\n    const _cli = meow(HELP, {\r\n        importMeta: import.meta,\r\n        flags: {\r\n            debug: {\r\n                alias: \"d\",\r\n                type: \"boolean\",\r\n                default: false,\r\n            },\r\n            verbose: {\r\n                alias: \"v\",\r\n                type: \"boolean\",\r\n                default: false,\r\n            },\r\n            version: {\r\n                alias: \"V\",\r\n                type: \"boolean\",\r\n                default: false,\r\n            },\r\n        },\r\n        version: VERSION,\r\n    });\r\n    yield new Program(_cli.input, _cli.flags).main();\r\n});\n\nconst main = () => __awaiter(void 0, void 0, void 0, function* () {\r\n    yield cli();\r\n});\r\n(() => __awaiter(void 0, void 0, void 0, function* () {\r\n    main()\r\n        .then((res) => {\r\n        process.exit(0);\r\n    })\r\n        .catch((error) => {\r\n        process.exit(1);\r\n    });\r\n}))();\n\n"]}