UNPKG

picgo-plugin-s3

Version:

picgo amazon s3 uploader

139 lines (138 loc) 4.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPluginConfig = void 0; exports.loadUserConfig = loadUserConfig; function mergePluginConfig(userConfig) { return [ { name: "accessKeyID", type: "input", default: userConfig.accessKeyID, required: true, message: "access key id", alias: "应用密钥 ID", }, { name: "secretAccessKey", type: "password", default: userConfig.secretAccessKey, required: true, message: "secret access key", alias: "应用密钥", }, { name: "bucketName", type: "input", default: userConfig.bucketName, required: true, alias: "桶名", }, { name: "uploadPath", type: "input", default: userConfig.uploadPath, required: true, alias: "上传文件路径", }, { name: "region", type: "input", default: userConfig.region, required: false, alias: "地区", }, { name: "endpoint", type: "input", default: userConfig.endpoint, required: false, alias: "自定义节点", }, { name: "proxy", type: "input", default: userConfig.proxy, required: false, alias: "代理", message: "http://127.0.0.1:1080", }, { name: "rejectUnauthorized", type: "confirm", default: userConfig.rejectUnauthorized || true, message: "是否拒绝无效TLS证书连接", required: false, alias: "拒绝无效TLS证书连接", }, { name: "acl", type: "input", default: userConfig.acl || "public-read", message: "上传资源的访问策略", required: false, alias: "ACL 访问控制列表", }, { name: "pathStyleAccess", type: "confirm", default: userConfig.pathStyleAccess || false, message: "enable s3ForcePathStyle or not", required: false, alias: "ForcePathStyle", }, { name: "outputURLPattern", type: "input", default: userConfig.outputURLPattern || "", message: "自定义输出 URL 模板", required: false, alias: "自定义输出 URL 模板", }, { name: "urlPrefix", type: "input", default: userConfig.urlPrefix, message: "https://img.example.com/bucket-name/(已废弃,请使用 outputURLPattern)", required: false, alias: "设置输出图片URL前缀", }, { name: "urlSuffix", type: "input", default: userConfig.urlSuffix || "", message: "例如 ?x-oss-process=xxx(已废弃,请使用 outputURLPattern)", required: false, alias: "设定输出图片URL后缀", }, { name: "disableBucketPrefixToURL", type: "confirm", default: userConfig.disableBucketPrefixToURL || false, message: "开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀(已废弃,请使用 outputURLPattern)", required: false, alias: "Bucket 前缀", }, ]; } const getPluginConfig = (ctx) => { const defaultConfig = { accessKeyID: "", secretAccessKey: "", bucketName: "", uploadPath: "{year}/{month}/{md5}.{extName}", pathStyleAccess: false, rejectUnauthorized: true, acl: "public-read", }; let userConfig = ctx.getConfig("picBed.aws-s3"); userConfig = Object.assign(Object.assign({}, defaultConfig), (userConfig || {})); return mergePluginConfig(userConfig); }; exports.getPluginConfig = getPluginConfig; function loadUserConfig(ctx) { const userConfig = ctx.getConfig("picBed.aws-s3"); if (!userConfig) { throw new Error("Can't find amazon s3 uploader config"); } return userConfig; }