@hot-updater/aws 0.20.0-rc.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/iac/index.js CHANGED
@@ -57,7 +57,7 @@ var __require = /* @__PURE__ */ createRequire(import.meta.url);
57
57
 
58
58
  //#endregion
59
59
  //#region ../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js
60
- var require_src = __commonJS({ "../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"(exports, module) {
60
+ var require_src = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js": ((exports, module) => {
61
61
  const ESC = "\x1B";
62
62
  const CSI = `${ESC}[`;
63
63
  const beep = "\x07";
@@ -110,11 +110,11 @@ var require_src = __commonJS({ "../../node_modules/.pnpm/sisteransi@1.0.5/node_m
110
110
  erase,
111
111
  beep
112
112
  };
113
- } });
113
+ }) });
114
114
 
115
115
  //#endregion
116
116
  //#region ../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js
117
- var require_picocolors = __commonJS({ "../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(exports, module) {
117
+ var require_picocolors = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js": ((exports, module) => {
118
118
  let p = process || {}, argv = p.argv || [], env = p.env || {};
119
119
  let isColorSupported = !(!!env.NO_COLOR || argv.includes("--no-color")) && (!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI);
120
120
  let formatter = (open, close, replace = open) => (input) => {
@@ -179,12 +179,12 @@ var require_picocolors = __commonJS({ "../../node_modules/.pnpm/picocolors@1.1.1
179
179
  };
180
180
  module.exports = createColors();
181
181
  module.exports.createColors = createColors;
182
- } });
182
+ }) });
183
183
 
184
184
  //#endregion
185
185
  //#region ../../node_modules/.pnpm/@clack+core@0.4.1/node_modules/@clack/core/dist/index.mjs
186
- var import_src$1 = __toESM(require_src(), 1);
187
- var import_picocolors$3 = __toESM(require_picocolors(), 1);
186
+ var import_src$1 = /* @__PURE__ */ __toESM(require_src(), 1);
187
+ var import_picocolors$3 = /* @__PURE__ */ __toESM(require_picocolors(), 1);
188
188
  function J$1({ onlyFirst: t = !1 } = {}) {
189
189
  const F$1 = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");
190
190
  return new RegExp(F$1, t ? void 0 : "g");
@@ -429,7 +429,7 @@ const iD = sD(), v = new Set(["\x1B", "›"]), CD = 39, w$1 = "\x07", W$1 = "[",
429
429
  `)];
430
430
  for (const [E, a$1] of o$2.entries()) {
431
431
  if (e$1 += a$1, v.has(a$1)) {
432
- const { groups: B$1 } = new RegExp(`(?:\\${W$1}(?<code>\\d+)m|\\${y}(?<uri>.*)${w$1})`).exec(o$2.slice(E).join("")) || { groups: {} };
432
+ const { groups: B$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${W$1}(?<code>\\d+)m|\\${y}(?<uri>.*)${w$1})`)).exec(o$2.slice(E).join("")) || { groups: {} };
433
433
  if (B$1.code !== void 0) {
434
434
  const p$1 = Number.parseFloat(B$1.code);
435
435
  s = p$1 === CD ? void 0 : p$1;
@@ -822,8 +822,8 @@ var PD = class extends x {
822
822
 
823
823
  //#endregion
824
824
  //#region ../../node_modules/.pnpm/@clack+prompts@0.10.0/node_modules/@clack/prompts/dist/index.mjs
825
- var import_picocolors$2 = __toESM(require_picocolors(), 1);
826
- var import_src = __toESM(require_src(), 1);
825
+ var import_picocolors$2 = /* @__PURE__ */ __toESM(require_picocolors(), 1);
826
+ var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
827
827
  function ce() {
828
828
  return g.platform !== "win32" ? g.env.TERM !== "linux" : !!g.env.CI || !!g.env.WT_SESSION || !!g.env.TERMINUS_SUBLIME || g.env.ConEmuTask === "{cmd::Cmder}" || g.env.TERM_PROGRAM === "Terminus-Sublime" || g.env.TERM_PROGRAM === "vscode" || g.env.TERM === "xterm-256color" || g.env.TERM === "alacritty" || g.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
829
829
  }
@@ -2026,10 +2026,10 @@ const handleCommand = (filePath, rawArguments, rawOptions) => {
2026
2026
 
2027
2027
  //#endregion
2028
2028
  //#region ../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js
2029
- var require_windows = __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js"(exports, module) {
2029
+ var require_windows = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js": ((exports, module) => {
2030
2030
  module.exports = isexe$3;
2031
2031
  isexe$3.sync = sync$2;
2032
- var fs$5 = __require("fs");
2032
+ var fs$4 = __require("fs");
2033
2033
  function checkPathExt(path$5, options) {
2034
2034
  var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT;
2035
2035
  if (!pathext) return true;
@@ -2046,28 +2046,28 @@ var require_windows = __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_mo
2046
2046
  return checkPathExt(path$5, options);
2047
2047
  }
2048
2048
  function isexe$3(path$5, options, cb) {
2049
- fs$5.stat(path$5, function(er, stat) {
2049
+ fs$4.stat(path$5, function(er, stat) {
2050
2050
  cb(er, er ? false : checkStat$1(stat, path$5, options));
2051
2051
  });
2052
2052
  }
2053
2053
  function sync$2(path$5, options) {
2054
- return checkStat$1(fs$5.statSync(path$5), path$5, options);
2054
+ return checkStat$1(fs$4.statSync(path$5), path$5, options);
2055
2055
  }
2056
- } });
2056
+ }) });
2057
2057
 
2058
2058
  //#endregion
2059
2059
  //#region ../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js
2060
- var require_mode = __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js"(exports, module) {
2060
+ var require_mode = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js": ((exports, module) => {
2061
2061
  module.exports = isexe$2;
2062
2062
  isexe$2.sync = sync$1;
2063
- var fs$4 = __require("fs");
2063
+ var fs$3 = __require("fs");
2064
2064
  function isexe$2(path$5, options, cb) {
2065
- fs$4.stat(path$5, function(er, stat) {
2065
+ fs$3.stat(path$5, function(er, stat) {
2066
2066
  cb(er, er ? false : checkStat(stat, options));
2067
2067
  });
2068
2068
  }
2069
2069
  function sync$1(path$5, options) {
2070
- return checkStat(fs$4.statSync(path$5), options);
2070
+ return checkStat(fs$3.statSync(path$5), options);
2071
2071
  }
2072
2072
  function checkStat(stat, options) {
2073
2073
  return stat.isFile() && checkMode(stat, options);
@@ -2085,12 +2085,12 @@ var require_mode = __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_modul
2085
2085
  var ret = mod & o$2 || mod & g$2 && gid === myGid || mod & u$2 && uid === myUid || mod & ug && myUid === 0;
2086
2086
  return ret;
2087
2087
  }
2088
- } });
2088
+ }) });
2089
2089
 
2090
2090
  //#endregion
2091
2091
  //#region ../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js
2092
- var require_isexe = __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js"(exports, module) {
2093
- var fs$3 = __require("fs");
2092
+ var require_isexe = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js": ((exports, module) => {
2093
+ __require("fs");
2094
2094
  var core;
2095
2095
  if (process.platform === "win32" || global.TESTING_WINDOWS) core = require_windows();
2096
2096
  else core = require_mode();
@@ -2128,16 +2128,16 @@ var require_isexe = __commonJS({ "../../node_modules/.pnpm/isexe@2.0.0/node_modu
2128
2128
  else throw er;
2129
2129
  }
2130
2130
  }
2131
- } });
2131
+ }) });
2132
2132
 
2133
2133
  //#endregion
2134
2134
  //#region ../../node_modules/.pnpm/which@2.0.2/node_modules/which/which.js
2135
- var require_which = __commonJS({ "../../node_modules/.pnpm/which@2.0.2/node_modules/which/which.js"(exports, module) {
2135
+ var require_which = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/which@2.0.2/node_modules/which/which.js": ((exports, module) => {
2136
2136
  const isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
2137
2137
  const path$4 = __require("path");
2138
2138
  const COLON = isWindows ? ";" : ":";
2139
2139
  const isexe = require_isexe();
2140
- const getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
2140
+ const getNotFoundError = (cmd) => Object.assign(/* @__PURE__ */ new Error(`not found: ${cmd}`), { code: "ENOENT" });
2141
2141
  const getPathInfo = (cmd, opt) => {
2142
2142
  const colon = opt.colon || COLON;
2143
2143
  const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [""] : [...isWindows ? [process.cwd()] : [], ...(opt.path || process.env.PATH || "").split(colon)];
@@ -2203,11 +2203,11 @@ var require_which = __commonJS({ "../../node_modules/.pnpm/which@2.0.2/node_modu
2203
2203
  };
2204
2204
  module.exports = which$1;
2205
2205
  which$1.sync = whichSync;
2206
- } });
2206
+ }) });
2207
2207
 
2208
2208
  //#endregion
2209
2209
  //#region ../../node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js
2210
- var require_path_key = __commonJS({ "../../node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js"(exports, module) {
2210
+ var require_path_key = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js": ((exports, module) => {
2211
2211
  const pathKey$1 = (options = {}) => {
2212
2212
  const environment = options.env || process.env;
2213
2213
  const platform$1 = options.platform || process.platform;
@@ -2216,11 +2216,11 @@ var require_path_key = __commonJS({ "../../node_modules/.pnpm/path-key@3.1.1/nod
2216
2216
  };
2217
2217
  module.exports = pathKey$1;
2218
2218
  module.exports.default = pathKey$1;
2219
- } });
2219
+ }) });
2220
2220
 
2221
2221
  //#endregion
2222
2222
  //#region ../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js
2223
- var require_resolveCommand = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js"(exports, module) {
2223
+ var require_resolveCommand = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js": ((exports, module) => {
2224
2224
  const path$3 = __require("path");
2225
2225
  const which = require_which();
2226
2226
  const getPathKey = require_path_key();
@@ -2248,11 +2248,11 @@ var require_resolveCommand = __commonJS({ "../../node_modules/.pnpm/cross-spawn@
2248
2248
  return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);
2249
2249
  }
2250
2250
  module.exports = resolveCommand$1;
2251
- } });
2251
+ }) });
2252
2252
 
2253
2253
  //#endregion
2254
2254
  //#region ../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js
2255
- var require_escape = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js"(exports, module) {
2255
+ var require_escape = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js": ((exports, module) => {
2256
2256
  const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
2257
2257
  function escapeCommand(arg) {
2258
2258
  arg = arg.replace(metaCharsRegExp, "^$1");
@@ -2269,17 +2269,17 @@ var require_escape = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/no
2269
2269
  }
2270
2270
  module.exports.command = escapeCommand;
2271
2271
  module.exports.argument = escapeArgument;
2272
- } });
2272
+ }) });
2273
2273
 
2274
2274
  //#endregion
2275
2275
  //#region ../../node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js
2276
- var require_shebang_regex = __commonJS({ "../../node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js"(exports, module) {
2276
+ var require_shebang_regex = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js": ((exports, module) => {
2277
2277
  module.exports = /^#!(.*)/;
2278
- } });
2278
+ }) });
2279
2279
 
2280
2280
  //#endregion
2281
2281
  //#region ../../node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js
2282
- var require_shebang_command = __commonJS({ "../../node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js"(exports, module) {
2282
+ var require_shebang_command = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js": ((exports, module) => {
2283
2283
  const shebangRegex = require_shebang_regex();
2284
2284
  module.exports = (string = "") => {
2285
2285
  const match = string.match(shebangRegex);
@@ -2289,11 +2289,11 @@ var require_shebang_command = __commonJS({ "../../node_modules/.pnpm/shebang-com
2289
2289
  if (binary === "env") return argument;
2290
2290
  return argument ? `${binary} ${argument}` : binary;
2291
2291
  };
2292
- } });
2292
+ }) });
2293
2293
 
2294
2294
  //#endregion
2295
2295
  //#region ../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js
2296
- var require_readShebang = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js"(exports, module) {
2296
+ var require_readShebang = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js": ((exports, module) => {
2297
2297
  const fs$2 = __require("fs");
2298
2298
  const shebangCommand = require_shebang_command();
2299
2299
  function readShebang$1(command) {
@@ -2308,11 +2308,11 @@ var require_readShebang = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0
2308
2308
  return shebangCommand(buffer.toString());
2309
2309
  }
2310
2310
  module.exports = readShebang$1;
2311
- } });
2311
+ }) });
2312
2312
 
2313
2313
  //#endregion
2314
2314
  //#region ../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js
2315
- var require_parse = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js"(exports, module) {
2315
+ var require_parse = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js": ((exports, module) => {
2316
2316
  const path$2 = __require("path");
2317
2317
  const resolveCommand = require_resolveCommand();
2318
2318
  const escape = require_escape();
@@ -2371,14 +2371,14 @@ var require_parse = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/nod
2371
2371
  return options.shell ? parsed : parseNonShell(parsed);
2372
2372
  }
2373
2373
  module.exports = parse$1;
2374
- } });
2374
+ }) });
2375
2375
 
2376
2376
  //#endregion
2377
2377
  //#region ../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js
2378
- var require_enoent = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js"(exports, module) {
2378
+ var require_enoent = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js": ((exports, module) => {
2379
2379
  const isWin = process.platform === "win32";
2380
2380
  function notFoundError(original, syscall) {
2381
- return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
2381
+ return Object.assign(/* @__PURE__ */ new Error(`${syscall} ${original.command} ENOENT`), {
2382
2382
  code: "ENOENT",
2383
2383
  errno: "ENOENT",
2384
2384
  syscall: `${syscall} ${original.command}`,
@@ -2411,11 +2411,11 @@ var require_enoent = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/no
2411
2411
  verifyENOENTSync,
2412
2412
  notFoundError
2413
2413
  };
2414
- } });
2414
+ }) });
2415
2415
 
2416
2416
  //#endregion
2417
2417
  //#region ../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js
2418
- var require_cross_spawn = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js"(exports, module) {
2418
+ var require_cross_spawn = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js": ((exports, module) => {
2419
2419
  const cp = __require("child_process");
2420
2420
  const parse = require_parse();
2421
2421
  const enoent = require_enoent();
@@ -2436,10 +2436,11 @@ var require_cross_spawn = __commonJS({ "../../node_modules/.pnpm/cross-spawn@7.0
2436
2436
  module.exports.sync = spawnSync$1;
2437
2437
  module.exports._parse = parse;
2438
2438
  module.exports._enoent = enoent;
2439
- } });
2439
+ }) });
2440
2440
 
2441
2441
  //#endregion
2442
2442
  //#region ../../node_modules/.pnpm/path-key@4.0.0/node_modules/path-key/index.js
2443
+ var import_cross_spawn = /* @__PURE__ */ __toESM(require_cross_spawn(), 1);
2443
2444
  function pathKey(options = {}) {
2444
2445
  const { env: env$1 = process.env, platform: platform$1 = process.platform } = options;
2445
2446
  if (platform$1 !== "win32") return "PATH";
@@ -3010,7 +3011,7 @@ const throwOnMissingStrict = (isSubprocess) => {
3010
3011
  const throwOnStrictDisconnect = (isSubprocess) => {
3011
3012
  throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} exited without listening to incoming messages.`);
3012
3013
  };
3013
- const getAbortDisconnectError = () => new Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(true)} disconnected.`);
3014
+ const getAbortDisconnectError = () => /* @__PURE__ */ new Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(true)} disconnected.`);
3014
3015
  const throwOnMissingParent = () => {
3015
3016
  throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.");
3016
3017
  };
@@ -3648,7 +3649,6 @@ const fixCwdError = (originalMessage, cwd) => {
3648
3649
 
3649
3650
  //#endregion
3650
3651
  //#region ../../node_modules/.pnpm/execa@9.5.2/node_modules/execa/lib/arguments/options.js
3651
- var import_cross_spawn = __toESM(require_cross_spawn(), 1);
3652
3652
  const normalizeOptions = (filePath, rawArguments, rawOptions) => {
3653
3653
  rawOptions.cwd = normalizeCwd(rawOptions.cwd);
3654
3654
  const [processedFile, processedArguments, processedOptions] = handleNodeOption(filePath, rawArguments, rawOptions);
@@ -3976,7 +3976,7 @@ const arrayMethods = {
3976
3976
  async function getStreamAsArrayBuffer(stream, options) {
3977
3977
  return getStreamContents$1(stream, arrayBufferMethods, options);
3978
3978
  }
3979
- const initArrayBuffer = () => ({ contents: new ArrayBuffer(0) });
3979
+ const initArrayBuffer = () => ({ contents: /* @__PURE__ */ new ArrayBuffer(0) });
3980
3980
  const useTextEncoder = (chunk) => textEncoder.encode(chunk);
3981
3981
  const textEncoder = new TextEncoder();
3982
3982
  const useUint8Array = (chunk) => new Uint8Array(chunk);
@@ -4325,10 +4325,9 @@ function parseBigint(milliseconds) {
4325
4325
  }
4326
4326
  function parseMilliseconds(milliseconds) {
4327
4327
  switch (typeof milliseconds) {
4328
- case "number": {
4328
+ case "number":
4329
4329
  if (Number.isFinite(milliseconds)) return parseNumber(milliseconds);
4330
4330
  break;
4331
- }
4332
4331
  case "bigint": return parseBigint(milliseconds);
4333
4332
  }
4334
4333
  throw new TypeError("Expected a finite number or bigint");
@@ -4868,10 +4867,10 @@ const getDuplicateStream = ({ stdioItem: { type, value, optionName }, direction,
4868
4867
  optionName
4869
4868
  });
4870
4869
  };
4871
- const getOtherStdioItems = (fileDescriptors, type) => fileDescriptors.flatMap(({ direction, stdioItems }) => stdioItems.filter((stdioItem) => stdioItem.type === type).map((stdioItem) => ({
4870
+ const getOtherStdioItems = (fileDescriptors, type) => fileDescriptors.flatMap(({ direction, stdioItems }) => stdioItems.filter((stdioItem) => stdioItem.type === type).map(((stdioItem) => ({
4872
4871
  ...stdioItem,
4873
4872
  direction
4874
- })));
4873
+ }))));
4875
4874
  const validateDuplicateStreamSync = ({ otherStdioItems, type, value, optionName, direction }) => {
4876
4875
  if (SPECIAL_DUPLICATE_TYPES_SYNC.has(type)) getDuplicateStreamInstance({
4877
4876
  otherStdioItems,
@@ -5388,7 +5387,7 @@ const logLine = (line, fdNumber, verboseInfo) => {
5388
5387
  const transformOutputSync = ({ fileDescriptors, syncResult: { output }, options, isMaxBuffer, verboseInfo }) => {
5389
5388
  if (output === null) return { output: Array.from({ length: 3 }) };
5390
5389
  const state = {};
5391
- const outputFiles = new Set([]);
5390
+ const outputFiles = /* @__PURE__ */ new Set([]);
5392
5391
  const transformedOutput = output.map((result, fdNumber) => transformOutputResultSync({
5393
5392
  result,
5394
5393
  fileDescriptors,
@@ -5950,9 +5949,9 @@ const getHighWaterMark = (streams, objectMode) => {
5950
5949
  return Math.max(...highWaterMarks);
5951
5950
  };
5952
5951
  var MergedStream = class extends PassThrough {
5953
- #streams = new Set([]);
5954
- #ended = new Set([]);
5955
- #aborted = new Set([]);
5952
+ #streams = /* @__PURE__ */ new Set([]);
5953
+ #ended = /* @__PURE__ */ new Set([]);
5954
+ #aborted = /* @__PURE__ */ new Set([]);
5956
5955
  #onFinished;
5957
5956
  #unpipeEvent = Symbol("unpipe");
5958
5957
  #streamPromises = /* @__PURE__ */ new WeakMap();
@@ -6551,7 +6550,7 @@ const unpipeOnAbort = (unpipeSignal, unpipeContext) => unpipeSignal === void 0 ?
6551
6550
  const unpipeOnSignalAbort = async (unpipeSignal, { sourceStream, mergedStream, fileDescriptors, sourceOptions, startTime }) => {
6552
6551
  await aborted(unpipeSignal, sourceStream);
6553
6552
  await mergedStream.remove(sourceStream);
6554
- const error = new Error("Pipe canceled by `unpipeSignal` option.");
6553
+ const error = /* @__PURE__ */ new Error("Pipe canceled by `unpipeSignal` option.");
6555
6554
  throw createNonCommandError({
6556
6555
  error,
6557
6556
  fileDescriptors,
@@ -8319,7 +8318,7 @@ var LambdaEdgeDeployer = class {
8319
8318
 
8320
8319
  //#endregion
8321
8320
  //#region iac/migrations/migrator.ts
8322
- var import_picocolors$1 = __toESM(require_picocolors());
8321
+ var import_picocolors$1 = /* @__PURE__ */ __toESM(require_picocolors(), 1);
8323
8322
  /**
8324
8323
  * S3Migration
8325
8324
  * Base class that each migration script extends.
@@ -8855,7 +8854,7 @@ export default HotUpdater.wrap({
8855
8854
 
8856
8855
  //#endregion
8857
8856
  //#region iac/index.ts
8858
- var import_picocolors = __toESM(require_picocolors());
8857
+ var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
8859
8858
  const checkIfAwsCliInstalled = async () => {
8860
8859
  try {
8861
8860
  await execa("aws", ["--version"]);
@@ -9025,7 +9024,7 @@ const runInit = async ({ build }) => {
9025
9024
  f.success("Generated 'hot-updater.config.ts' file with AWS settings.");
9026
9025
  const sourceUrl = `https://${distributionDomain}/api/check-update`;
9027
9026
  Me(transformTemplate(SOURCE_TEMPLATE, { source: sourceUrl }));
9028
- f.message(`Next step: ${link("https://gronxb.github.io/hot-updater/guide/providers/3_aws-s3-lambda-edge.html#step-4-changeenv-file-optional")}`);
9027
+ f.message(`Next step: ${link("https://hot-updater.dev/guide/providers/3_aws-s3-lambda-edge.html#step-4-changeenv-file-optional")}`);
9029
9028
  f.success("Done! 🎉");
9030
9029
  };
9031
9030
 
package/dist/index.cjs CHANGED
@@ -1483,10 +1483,11 @@ const s3Database = (config, hooks) => {
1483
1483
  const s3Storage = (config, hooks) => (_) => {
1484
1484
  const { bucketName,...s3Config } = config;
1485
1485
  const client = new __aws_sdk_client_s3.S3Client(s3Config);
1486
+ const getStorageKey = (0, __hot_updater_plugin_core.createStorageKeyBuilder)(config.basePath);
1486
1487
  return {
1487
1488
  name: "s3Storage",
1488
1489
  async deleteBundle(bundleId) {
1489
- const Key = bundleId;
1490
+ const Key = getStorageKey(bundleId, "bundle.zip");
1490
1491
  const listCommand = new __aws_sdk_client_s3.ListObjectsV2Command({
1491
1492
  Bucket: bucketName,
1492
1493
  Prefix: bundleId
@@ -1511,7 +1512,7 @@ const s3Storage = (config, hooks) => (_) => {
1511
1512
  const Body = await fs_promises.default.readFile(bundlePath);
1512
1513
  const ContentType = src_default.getType(bundlePath) ?? void 0;
1513
1514
  const filename = path.default.basename(bundlePath);
1514
- const Key = [bundleId, filename].join("/");
1515
+ const Key = getStorageKey(bundleId, filename);
1515
1516
  const upload = new __aws_sdk_lib_storage.Upload({
1516
1517
  client,
1517
1518
  params: {
package/dist/index.d.cts CHANGED
@@ -13,6 +13,10 @@ declare const s3Database: (config: S3DatabaseConfig, hooks?: DatabasePluginHooks
13
13
  //#region src/s3Storage.d.ts
14
14
  interface S3StorageConfig extends S3ClientConfig {
15
15
  bucketName: string;
16
+ /**
17
+ * Base path where bundles will be stored in the bucket
18
+ */
19
+ basePath?: string;
16
20
  }
17
21
  declare const s3Storage: (config: S3StorageConfig, hooks?: StoragePluginHooks) => (_: BasePluginArgs) => StoragePlugin;
18
22
  //#endregion
package/dist/index.d.ts CHANGED
@@ -13,6 +13,10 @@ declare const s3Database: (config: S3DatabaseConfig, hooks?: DatabasePluginHooks
13
13
  //#region src/s3Storage.d.ts
14
14
  interface S3StorageConfig extends S3ClientConfig {
15
15
  bucketName: string;
16
+ /**
17
+ * Base path where bundles will be stored in the bucket
18
+ */
19
+ basePath?: string;
16
20
  }
17
21
  declare const s3Storage: (config: S3StorageConfig, hooks?: StoragePluginHooks) => (_: BasePluginArgs) => StoragePlugin;
18
22
  //#endregion
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { CloudFrontClient, CreateInvalidationCommand } from "@aws-sdk/client-cloudfront";
2
2
  import { DeleteObjectCommand, DeleteObjectsCommand, GetObjectCommand, ListObjectsV2Command, NoSuchKey, S3Client } from "@aws-sdk/client-s3";
3
3
  import { Upload } from "@aws-sdk/lib-storage";
4
- import { createBlobDatabasePlugin } from "@hot-updater/plugin-core";
4
+ import { createBlobDatabasePlugin, createStorageKeyBuilder } from "@hot-updater/plugin-core";
5
5
  import path from "path";
6
6
  import fs from "fs/promises";
7
7
 
@@ -1460,10 +1460,11 @@ const s3Database = (config, hooks) => {
1460
1460
  const s3Storage = (config, hooks) => (_) => {
1461
1461
  const { bucketName,...s3Config } = config;
1462
1462
  const client = new S3Client(s3Config);
1463
+ const getStorageKey = createStorageKeyBuilder(config.basePath);
1463
1464
  return {
1464
1465
  name: "s3Storage",
1465
1466
  async deleteBundle(bundleId) {
1466
- const Key = bundleId;
1467
+ const Key = getStorageKey(bundleId, "bundle.zip");
1467
1468
  const listCommand = new ListObjectsV2Command({
1468
1469
  Bucket: bucketName,
1469
1470
  Prefix: bundleId
@@ -1488,7 +1489,7 @@ const s3Storage = (config, hooks) => (_) => {
1488
1489
  const Body = await fs.readFile(bundlePath);
1489
1490
  const ContentType = src_default.getType(bundlePath) ?? void 0;
1490
1491
  const filename = path.basename(bundlePath);
1491
- const Key = [bundleId, filename].join("/");
1492
+ const Key = getStorageKey(bundleId, filename);
1492
1493
  const upload = new Upload({
1493
1494
  client,
1494
1495
  params: {