varlock 0.0.0 → 0.0.1

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.
Files changed (70) hide show
  1. package/README.md +46 -0
  2. package/bin/cli.js +2 -0
  3. package/dist/auto-load.d.ts +2 -0
  4. package/dist/auto-load.js +11 -0
  5. package/dist/auto-load.js.map +1 -0
  6. package/dist/chunk-33ROL4J5.js +1013 -0
  7. package/dist/chunk-33ROL4J5.js.map +1 -0
  8. package/dist/chunk-35HGPX6I.js +98 -0
  9. package/dist/chunk-35HGPX6I.js.map +1 -0
  10. package/dist/chunk-7UQXFWKN.js +82 -0
  11. package/dist/chunk-7UQXFWKN.js.map +1 -0
  12. package/dist/chunk-B4UBSMSZ.js +142 -0
  13. package/dist/chunk-B4UBSMSZ.js.map +1 -0
  14. package/dist/chunk-BRP5MZU6.js +70 -0
  15. package/dist/chunk-BRP5MZU6.js.map +1 -0
  16. package/dist/chunk-BS3AGAHF.js +53 -0
  17. package/dist/chunk-BS3AGAHF.js.map +1 -0
  18. package/dist/chunk-CPA2D42B.js +146 -0
  19. package/dist/chunk-CPA2D42B.js.map +1 -0
  20. package/dist/chunk-DAZNZPLN.js +675 -0
  21. package/dist/chunk-DAZNZPLN.js.map +1 -0
  22. package/dist/chunk-EMPXU5TW.js +681 -0
  23. package/dist/chunk-EMPXU5TW.js.map +1 -0
  24. package/dist/chunk-HZADDTO5.js +2310 -0
  25. package/dist/chunk-HZADDTO5.js.map +1 -0
  26. package/dist/chunk-LQZ6ICSS.js +21 -0
  27. package/dist/chunk-LQZ6ICSS.js.map +1 -0
  28. package/dist/chunk-NZDUC7Q3.js +69 -0
  29. package/dist/chunk-NZDUC7Q3.js.map +1 -0
  30. package/dist/chunk-QCC3P7BT.js +39 -0
  31. package/dist/chunk-QCC3P7BT.js.map +1 -0
  32. package/dist/chunk-QTYVZQSF.js +225 -0
  33. package/dist/chunk-QTYVZQSF.js.map +1 -0
  34. package/dist/chunk-R53MTEAM.js +32 -0
  35. package/dist/chunk-R53MTEAM.js.map +1 -0
  36. package/dist/chunk-RCHPHIHX.js +15 -0
  37. package/dist/chunk-RCHPHIHX.js.map +1 -0
  38. package/dist/chunk-XN24GZXQ.js +35 -0
  39. package/dist/chunk-XN24GZXQ.js.map +1 -0
  40. package/dist/cli/cli-executable.d.ts +2 -0
  41. package/dist/cli/cli-executable.js +206 -0
  42. package/dist/cli/cli-executable.js.map +1 -0
  43. package/dist/doctor.command-N5JAIXRM.js +6 -0
  44. package/dist/doctor.command-N5JAIXRM.js.map +1 -0
  45. package/dist/dotenv-compat.d.ts +2 -0
  46. package/dist/dotenv-compat.js +11 -0
  47. package/dist/dotenv-compat.js.map +1 -0
  48. package/dist/en-US-TSGNDI2P.js +22 -0
  49. package/dist/en-US-TSGNDI2P.js.map +1 -0
  50. package/dist/encrypt.command-VGJABHNK.js +6 -0
  51. package/dist/encrypt.command-VGJABHNK.js.map +1 -0
  52. package/dist/help.command-YZDL2VEQ.js +5 -0
  53. package/dist/help.command-YZDL2VEQ.js.map +1 -0
  54. package/dist/index.d.ts +37 -0
  55. package/dist/index.js +8 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/init.command-7BSALNL5.js +10 -0
  58. package/dist/init.command-7BSALNL5.js.map +1 -0
  59. package/dist/ja-JP-UBPCQAAD.js +22 -0
  60. package/dist/ja-JP-UBPCQAAD.js.map +1 -0
  61. package/dist/load.command-4MJR5J43.js +9 -0
  62. package/dist/load.command-4MJR5J43.js.map +1 -0
  63. package/dist/login.command-22RUZJLR.js +7 -0
  64. package/dist/login.command-22RUZJLR.js.map +1 -0
  65. package/dist/opt-out.command-Y4KUQ6PQ.js +5 -0
  66. package/dist/opt-out.command-Y4KUQ6PQ.js.map +1 -0
  67. package/dist/run.command-ASKXIWBC.js +9 -0
  68. package/dist/run.command-ASKXIWBC.js.map +1 -0
  69. package/package.json +50 -3
  70. package/notes.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/gunshi@0.26.3/node_modules/gunshi/lib/definition-wq1Kmbvq.js","../../../node_modules/.pnpm/gunshi@0.26.3/node_modules/gunshi/lib/utils-D41C8Abf.js","../../../node_modules/.pnpm/gunshi@0.26.3/node_modules/gunshi/lib/context-D_EmfRNA.js","../../../node_modules/.pnpm/args-tokens@0.20.1/node_modules/args-tokens/lib/utils-N7UlhLbz.js","../../../node_modules/.pnpm/gunshi@0.26.3/node_modules/gunshi/lib/renderer-BzRfaLdJ.js","../../../node_modules/.pnpm/args-tokens@0.20.1/node_modules/args-tokens/lib/parser-Dr4iAGaX.js","../../../node_modules/.pnpm/args-tokens@0.20.1/node_modules/args-tokens/lib/resolver-Q4k2fgTW.js","../../../node_modules/.pnpm/gunshi@0.26.3/node_modules/gunshi/lib/cli-DVGNVw3h.js"],"names":[],"mappings":"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","file":"chunk-33ROL4J5.js","sourcesContent":["//#region src/definition.ts\n/**\n* Define a {@link Command | command} with type inference\n* @param definition A {@link Command | command} definition\n* @returns A {@link Command | command} definition with type inference\n*/\nfunction define(definition) {\n\treturn definition;\n}\n/**\n* Define a {@link LazyCommand | lazy command} with command loader, which is attached with command definition as usage metadata.\n* @param loader A {@link CommandLoader | command loader}\n* @param definition A {@link Command | command} definition\n* @returns A {@link LazyCommand | lazy command} loader\n*/\nfunction lazy(loader, definition) {\n\tif (definition != null) {\n\t\tloader.commandName = definition.name;\n\t\tloader.description = definition.description;\n\t\tloader.args = definition.args;\n\t\tloader.examples = definition.examples;\n\t\tloader.resource = definition.resource;\n\t\tloader.toKebab = definition.toKebab;\n\t}\n\treturn loader;\n}\n\n//#endregion\nexport { define, lazy };","//#region src/constants.ts\n/**\n* The default locale string, which format is BCP 47 language tag.\n*/\nconst DEFAULT_LOCALE = \"en-US\";\nconst BUILT_IN_PREFIX = \"_\";\nconst ARG_PREFIX = \"arg\";\nconst BUILT_IN_KEY_SEPARATOR = \":\";\nconst ANONYMOUS_COMMAND_NAME = \"(anonymous)\";\nconst NOOP = () => {};\nconst COMMON_ARGS = {\n\thelp: {\n\t\ttype: \"boolean\",\n\t\tshort: \"h\",\n\t\tdescription: \"Display this help message\"\n\t},\n\tversion: {\n\t\ttype: \"boolean\",\n\t\tshort: \"v\",\n\t\tdescription: \"Display this version\"\n\t}\n};\nconst COMMAND_OPTIONS_DEFAULT = {\n\tname: void 0,\n\tdescription: void 0,\n\tversion: void 0,\n\tcwd: void 0,\n\tusageSilent: false,\n\tsubCommands: void 0,\n\tleftMargin: 2,\n\tmiddleMargin: 10,\n\tusageOptionType: false,\n\tusageOptionValue: true,\n\trenderHeader: void 0,\n\trenderUsage: void 0,\n\trenderValidationErrors: void 0,\n\ttranslationAdapterFactory: void 0\n};\n\n//#endregion\n//#region src/utils.ts\nfunction isLazyCommand(cmd) {\n\treturn typeof cmd === \"function\" && \"commandName\" in cmd && !!cmd.commandName;\n}\nasync function resolveLazyCommand(cmd, name, needRunResolving = false) {\n\tlet command;\n\tif (isLazyCommand(cmd)) {\n\t\tcommand = Object.assign(create(), {\n\t\t\tname: cmd.commandName,\n\t\t\tdescription: cmd.description,\n\t\t\targs: cmd.args,\n\t\t\texamples: cmd.examples,\n\t\t\tresource: cmd.resource\n\t\t});\n\t\tif (needRunResolving) {\n\t\t\tconst loaded = await cmd();\n\t\t\tif (typeof loaded === \"function\") command.run = loaded;\n\t\t\telse if (typeof loaded === \"object\") {\n\t\t\t\tif (loaded.run == null) throw new TypeError(`'run' is required in command: ${cmd.name || name}`);\n\t\t\t\tcommand.run = loaded.run;\n\t\t\t\tcommand.name = loaded.name;\n\t\t\t\tcommand.description = loaded.description;\n\t\t\t\tcommand.args = loaded.args;\n\t\t\t\tcommand.examples = loaded.examples;\n\t\t\t\tcommand.resource = loaded.resource;\n\t\t\t} else throw new TypeError(`Cannot resolve command: ${cmd.name || name}`);\n\t\t}\n\t} else command = Object.assign(create(), cmd);\n\tif (command.name == null && name) command.name = name;\n\treturn deepFreeze(command);\n}\nfunction resolveBuiltInKey(key) {\n\treturn `${BUILT_IN_PREFIX}${BUILT_IN_KEY_SEPARATOR}${key}`;\n}\nfunction resolveArgKey(key) {\n\treturn `${ARG_PREFIX}${BUILT_IN_KEY_SEPARATOR}${key}`;\n}\nasync function resolveExamples(ctx, examples) {\n\treturn typeof examples === \"string\" ? examples : typeof examples === \"function\" ? await examples(ctx) : \"\";\n}\nfunction mapResourceWithBuiltinKey(resource) {\n\treturn Object.entries(resource).reduce((acc, [key, value]) => {\n\t\tacc[resolveBuiltInKey(key)] = value;\n\t\treturn acc;\n\t}, create());\n}\nfunction create(obj = null) {\n\treturn Object.create(obj);\n}\nfunction log(...args) {\n\tconsole.log(...args);\n}\nfunction deepFreeze(obj) {\n\tif (obj === null || typeof obj !== \"object\") return obj;\n\tfor (const key of Object.keys(obj)) {\n\t\tconst value = obj[key];\n\t\tif (typeof value === \"object\" && value !== null) deepFreeze(value);\n\t}\n\treturn Object.freeze(obj);\n}\n\n//#endregion\nexport { ANONYMOUS_COMMAND_NAME, BUILT_IN_PREFIX, COMMAND_OPTIONS_DEFAULT, COMMON_ARGS, DEFAULT_LOCALE as DEFAULT_LOCALE$1, NOOP, create, deepFreeze, isLazyCommand, log, mapResourceWithBuiltinKey, resolveArgKey, resolveBuiltInKey, resolveExamples, resolveLazyCommand };","import { ANONYMOUS_COMMAND_NAME, BUILT_IN_PREFIX, COMMAND_OPTIONS_DEFAULT, DEFAULT_LOCALE$1 as DEFAULT_LOCALE, NOOP, create, deepFreeze, isLazyCommand, log, mapResourceWithBuiltinKey, resolveArgKey, resolveExamples, resolveLazyCommand } from \"./utils-D41C8Abf.js\";\n\n//#region src/locales/en-US.json\nvar COMMAND = \"COMMAND\";\nvar COMMANDS = \"COMMANDS\";\nvar SUBCOMMAND = \"SUBCOMMAND\";\nvar USAGE = \"USAGE\";\nvar ARGUMENTS = \"ARGUMENTS\";\nvar OPTIONS = \"OPTIONS\";\nvar EXAMPLES = \"EXAMPLES\";\nvar FORMORE = \"For more info, run any command with the `--help` flag:\";\nvar NEGATABLE = \"Negatable of\";\nvar DEFAULT = \"default\";\nvar CHOICES = \"choices\";\nvar help = \"Display this help message\";\nvar version = \"Display this version\";\nvar en_US_default = {\n\tCOMMAND,\n\tCOMMANDS,\n\tSUBCOMMAND,\n\tUSAGE,\n\tARGUMENTS,\n\tOPTIONS,\n\tEXAMPLES,\n\tFORMORE,\n\tNEGATABLE,\n\tDEFAULT,\n\tCHOICES,\n\thelp,\n\tversion\n};\n\n//#endregion\n//#region src/translation.ts\nfunction createTranslationAdapter(options) {\n\treturn new DefaultTranslation(options);\n}\nvar DefaultTranslation = class {\n\t#resources = new Map();\n\t#options;\n\tconstructor(options) {\n\t\tthis.#options = options;\n\t\tthis.#resources.set(options.locale, create());\n\t\tif (options.locale !== options.fallbackLocale) this.#resources.set(options.fallbackLocale, create());\n\t}\n\tgetResource(locale) {\n\t\treturn this.#resources.get(locale);\n\t}\n\tsetResource(locale, resource) {\n\t\tthis.#resources.set(locale, resource);\n\t}\n\tgetMessage(locale, key) {\n\t\tconst resource = this.getResource(locale);\n\t\tif (resource) return resource[key];\n\t\treturn void 0;\n\t}\n\ttranslate(locale, key, values = create()) {\n\t\tlet message = this.getMessage(locale, key);\n\t\tif (message === void 0 && locale !== this.#options.fallbackLocale) message = this.getMessage(this.#options.fallbackLocale, key);\n\t\tif (message === void 0) return;\n\t\treturn message.replaceAll(/\\{\\{(\\w+)\\}\\}/g, (_, name) => {\n\t\t\treturn values[name] == null ? \"\" : values[name].toString();\n\t\t});\n\t}\n};\n\n//#endregion\n//#region src/context.ts\nconst BUILT_IN_PREFIX_CODE = BUILT_IN_PREFIX.codePointAt(0);\n/**\n* Create a {@link CommandContext | command context}\n* @param param A {@link CommandContextParams | parameters} to create a {@link CommandContext | command context}\n* @returns A {@link CommandContext | command context}, which is readonly\n*/\nasync function createCommandContext({ args, values, positionals, rest, argv, tokens, command, cliOptions, callMode = \"entry\", omitted = false }) {\n\t/**\n\t* normailize the options schema and values, to avoid prototype pollution\n\t*/\n\tconst _args = Object.entries(args).reduce((acc, [key, value]) => {\n\t\tacc[key] = Object.assign(create(), value);\n\t\treturn acc;\n\t}, create());\n\t/**\n\t* setup the environment\n\t*/\n\tconst env = Object.assign(create(), COMMAND_OPTIONS_DEFAULT, cliOptions);\n\tconst locale = resolveLocale(cliOptions.locale);\n\tconst localeStr = locale.toString();\n\tconst translationAdapterFactory = cliOptions.translationAdapterFactory || createTranslationAdapter;\n\tconst adapter = translationAdapterFactory({\n\t\tlocale: localeStr,\n\t\tfallbackLocale: DEFAULT_LOCALE\n\t});\n\tconst localeResources = new Map();\n\tlet builtInLoadedResources;\n\t/**\n\t* load the built-in locale resources\n\t*/\n\tlocaleResources.set(DEFAULT_LOCALE, mapResourceWithBuiltinKey(en_US_default));\n\tif (DEFAULT_LOCALE !== localeStr) try {\n\t\tbuiltInLoadedResources = (await import(`./locales/${localeStr}.json`, { with: { type: \"json\" } })).default;\n\t\tlocaleResources.set(localeStr, mapResourceWithBuiltinKey(builtInLoadedResources));\n\t} catch {}\n\t/**\n\t* define the translation function, which is used to {@link CommandContext.translate}.\n\t*\n\t*/\n\tfunction translate(key, values$1 = create()) {\n\t\tconst strKey = key;\n\t\tif (strKey.codePointAt(0) === BUILT_IN_PREFIX_CODE) {\n\t\t\tconst resource = localeResources.get(localeStr) || localeResources.get(DEFAULT_LOCALE);\n\t\t\treturn resource[strKey] || strKey;\n\t\t} else return adapter.translate(locale.toString(), strKey, values$1) || \"\";\n\t}\n\t/**\n\t* load the sub commands\n\t*/\n\tlet cachedCommands;\n\tasync function loadCommands() {\n\t\tif (cachedCommands) return cachedCommands;\n\t\tconst subCommands = [...cliOptions.subCommands || []];\n\t\treturn cachedCommands = await Promise.all(subCommands.map(async ([name, cmd]) => await resolveLazyCommand(cmd, name)));\n\t}\n\t/**\n\t* create the context\n\t*/\n\tconst ctx = deepFreeze(Object.assign(create(), {\n\t\tname: getCommandName(command),\n\t\tdescription: command.description,\n\t\tomitted,\n\t\tcallMode,\n\t\tlocale,\n\t\tenv,\n\t\targs: _args,\n\t\tvalues,\n\t\tpositionals,\n\t\trest,\n\t\t_: argv,\n\t\ttokens,\n\t\ttoKebab: command.toKebab,\n\t\tlog: cliOptions.usageSilent ? NOOP : log,\n\t\tloadCommands,\n\t\ttranslate\n\t}));\n\t/**\n\t* load the command resources\n\t*/\n\tconst loadedOptionsResources = Object.entries(args).map(([key, arg]) => {\n\t\tconst description = arg.description || \"\";\n\t\treturn [key, description];\n\t});\n\tconst defaultCommandResource = loadedOptionsResources.reduce((res, [key, value]) => {\n\t\tres[resolveArgKey(key)] = value;\n\t\treturn res;\n\t}, create());\n\tdefaultCommandResource.description = command.description || \"\";\n\tdefaultCommandResource.examples = await resolveExamples(ctx, command.examples);\n\tadapter.setResource(DEFAULT_LOCALE, defaultCommandResource);\n\tconst originalResource = await loadCommandResource(ctx, command);\n\tif (originalResource) {\n\t\tconst resource = Object.assign(create(), originalResource, { examples: await resolveExamples(ctx, originalResource.examples) });\n\t\tif (builtInLoadedResources) {\n\t\t\tresource.help = builtInLoadedResources.help;\n\t\t\tresource.version = builtInLoadedResources.version;\n\t\t}\n\t\tadapter.setResource(localeStr, resource);\n\t}\n\treturn ctx;\n}\nfunction getCommandName(cmd) {\n\tif (isLazyCommand(cmd)) return cmd.commandName || cmd.name || ANONYMOUS_COMMAND_NAME;\n\telse if (typeof cmd === \"object\") return cmd.name || ANONYMOUS_COMMAND_NAME;\n\telse return ANONYMOUS_COMMAND_NAME;\n}\nfunction resolveLocale(locale) {\n\treturn locale instanceof Intl.Locale ? locale : typeof locale === \"string\" ? new Intl.Locale(locale) : new Intl.Locale(DEFAULT_LOCALE);\n}\nasync function loadCommandResource(ctx, command) {\n\tlet resource;\n\ttry {\n\t\tresource = await command.resource?.(ctx);\n\t} catch {}\n\treturn resource;\n}\n\n//#endregion\nexport { DefaultTranslation, createCommandContext };","//#region src/utils.ts\n/**\n* Entry point of utils.\n*\n* Note that this entry point is used by gunshi to import utility functions.\n*\n* @module\n*/\n/**\n* @author kazuya kawaguchi (a.k.a. kazupon)\n* @license MIT\n*/\nfunction kebabnize(str) {\n\treturn str.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase());\n}\n\n//#endregion\nexport { kebabnize };","import { COMMON_ARGS, create, resolveArgKey, resolveBuiltInKey, resolveExamples } from \"./utils-D41C8Abf.js\";\nimport { kebabnize } from \"args-tokens/utils\";\n\n//#region src/renderer/header.ts\n/**\n* Render the header.\n* @param ctx A {@link CommandContext | command context}\n* @returns A rendered header.\n*/\nfunction renderHeader(ctx) {\n\tconst title = ctx.env.description || ctx.env.name || \"\";\n\treturn Promise.resolve(title ? `${title} (${ctx.env.name || \"\"}${ctx.env.version ? ` v${ctx.env.version}` : \"\"})` : title);\n}\n\n//#endregion\n//#region src/renderer/usage.ts\nconst COMMON_ARGS_KEYS = Object.keys(COMMON_ARGS);\n/**\n* Render the usage.\n* @param ctx A {@link CommandContext | command context}\n* @returns A rendered usage.\n*/\nasync function renderUsage(ctx) {\n\tconst messages = [];\n\tif (!ctx.omitted) {\n\t\tconst description = resolveDescription(ctx);\n\t\tif (description) messages.push(description, \"\");\n\t}\n\tmessages.push(...await renderUsageSection(ctx), \"\");\n\tif (ctx.omitted && await hasCommands(ctx)) messages.push(...await renderCommandsSection(ctx), \"\");\n\tif (hasPositionalArgs(ctx)) messages.push(...await renderPositionalArgsSection(ctx), \"\");\n\tif (hasOptionalArgs(ctx)) messages.push(...await renderOptionalArgsSection(ctx), \"\");\n\tconst examples = await renderExamplesSection(ctx);\n\tif (examples.length > 0) messages.push(...examples, \"\");\n\treturn messages.join(\"\\n\");\n}\n/**\n* Render the positional arguments section\n* @param ctx A {@link CommandContext | command context}\n* @returns A rendered arguments section\n*/\nasync function renderPositionalArgsSection(ctx) {\n\tconst messages = [];\n\tmessages.push(`${ctx.translate(resolveBuiltInKey(\"ARGUMENTS\"))}:`);\n\tmessages.push(await generatePositionalArgsUsage(ctx));\n\treturn messages;\n}\n/**\n* Render the optional arguments section\n* @param ctx A {@link CommandContext | command context}\n* @returns A rendered options section\n*/\nasync function renderOptionalArgsSection(ctx) {\n\tconst messages = [];\n\tmessages.push(`${ctx.translate(resolveBuiltInKey(\"OPTIONS\"))}:`);\n\tmessages.push(await generateOptionalArgsUsage(ctx, getOptionalArgsPairs(ctx)));\n\treturn messages;\n}\n/**\n* Render the examples section\n* @param ctx A {@link CommandContext | command context}\n* @returns A rendered examples section\n*/\nasync function renderExamplesSection(ctx) {\n\tconst messages = [];\n\tconst resolvedExamples = await resolveExamples$1(ctx);\n\tif (resolvedExamples) {\n\t\tconst examples = resolvedExamples.split(\"\\n\").map((example) => example.padStart(ctx.env.leftMargin + example.length));\n\t\tmessages.push(`${ctx.translate(resolveBuiltInKey(\"EXAMPLES\"))}:`, ...examples);\n\t}\n\treturn messages;\n}\n/**\n* Render the usage section\n* @param ctx A {@link CommandContext | command context}\n* @returns A rendered usage section\n*/\nasync function renderUsageSection(ctx) {\n\tconst messages = [`${ctx.translate(resolveBuiltInKey(\"USAGE\"))}:`];\n\tif (ctx.omitted) {\n\t\tconst defaultCommand = `${resolveEntry(ctx)}${await hasCommands(ctx) ? ` [${resolveSubCommand(ctx)}]` : \"\"} ${[generateOptionsSymbols(ctx), generatePositionalSymbols(ctx)].filter(Boolean).join(\" \")}`;\n\t\tmessages.push(defaultCommand.padStart(ctx.env.leftMargin + defaultCommand.length));\n\t\tif (await hasCommands(ctx)) {\n\t\t\tconst commandsUsage = `${resolveEntry(ctx)} <${ctx.translate(resolveBuiltInKey(\"COMMANDS\"))}>`;\n\t\t\tmessages.push(commandsUsage.padStart(ctx.env.leftMargin + commandsUsage.length));\n\t\t}\n\t} else {\n\t\tconst usageStr = `${resolveEntry(ctx)} ${resolveSubCommand(ctx)} ${[generateOptionsSymbols(ctx), generatePositionalSymbols(ctx)].filter(Boolean).join(\" \")}`;\n\t\tmessages.push(usageStr.padStart(ctx.env.leftMargin + usageStr.length));\n\t}\n\treturn messages;\n}\n/**\n* Render the commands section\n* @param ctx A {@link CommandContext | command context}\n* @returns A rendered commands section\n*/\nasync function renderCommandsSection(ctx) {\n\tconst messages = [`${ctx.translate(resolveBuiltInKey(\"COMMANDS\"))}:`];\n\tconst loadedCommands = await ctx.loadCommands();\n\tconst commandMaxLength = Math.max(...loadedCommands.map((cmd) => (cmd.name || \"\").length));\n\tconst commandsStr = await Promise.all(loadedCommands.map((cmd) => {\n\t\tconst key = cmd.name || \"\";\n\t\tconst desc = cmd.description || \"\";\n\t\tconst command = `${key.padEnd(commandMaxLength + ctx.env.middleMargin)}${desc} `;\n\t\treturn `${command.padStart(ctx.env.leftMargin + command.length)} `;\n\t}));\n\tmessages.push(...commandsStr, \"\", ctx.translate(resolveBuiltInKey(\"FORMORE\")));\n\tmessages.push(...loadedCommands.map((cmd) => {\n\t\tconst commandHelp = `${ctx.env.name} ${cmd.name} --help`;\n\t\treturn `${commandHelp.padStart(ctx.env.leftMargin + commandHelp.length)}`;\n\t}));\n\treturn messages;\n}\n/**\n* Resolve the entry command name\n* @param ctx A {@link CommandContext | command context}\n* @returns The entry command name\n*/\nfunction resolveEntry(ctx) {\n\treturn ctx.env.name || ctx.translate(resolveBuiltInKey(\"COMMAND\"));\n}\n/**\n* Resolve the sub command name\n* @param ctx A {@link CommandContext | command context}\n* @returns The sub command name\n*/\nfunction resolveSubCommand(ctx) {\n\treturn ctx.name || ctx.translate(resolveBuiltInKey(\"SUBCOMMAND\"));\n}\n/**\n* Resolve the command description\n* @param ctx A {@link CommandContext | command context}\n* @returns resolved command description\n*/\nfunction resolveDescription(ctx) {\n\treturn ctx.translate(\"description\") || ctx.description || \"\";\n}\n/**\n* Resolve the command examples\n* @param ctx A {@link CommandContext | command context}\n* @returns resolved command examples, if not resolved, return empty string\n*/\nasync function resolveExamples$1(ctx) {\n\tconst ret = ctx.translate(\"examples\");\n\tif (ret) return ret;\n\tconst command = ctx.env.subCommands?.get(ctx.name || \"\");\n\treturn await resolveExamples(ctx, command?.examples);\n}\n/**\n* Check if the command has sub commands\n* @param ctx A {@link CommandContext | command context}\n* @returns True if the command has sub commands\n*/\nasync function hasCommands(ctx) {\n\tconst loadedCommands = await ctx.loadCommands();\n\treturn loadedCommands.length > 1;\n}\n/**\n* Check if the command has optional arguments\n* @param ctx A {@link CommandContext | command context}\n* @returns True if the command has options\n*/\nfunction hasOptionalArgs(ctx) {\n\treturn !!(ctx.args && Object.values(ctx.args).some((arg) => arg.type !== \"positional\"));\n}\n/**\n* Check if the command has positional arguments\n* @param ctx A {@link CommandContext | command context}\n* @returns True if the command has options\n*/\nfunction hasPositionalArgs(ctx) {\n\treturn !!(ctx.args && Object.values(ctx.args).some((arg) => arg.type === \"positional\"));\n}\n/**\n* Check if all options have default values\n* @param ctx A {@link CommandContext | command context}\n* @returns True if all options have default values\n*/\nfunction hasAllDefaultOptions(ctx) {\n\treturn !!(ctx.args && Object.values(ctx.args).every((arg) => arg.default));\n}\n/**\n* Generate options symbols for usage\n* @param ctx A {@link CommandContext | command context}\n* @returns Options symbols for usage\n*/\nfunction generateOptionsSymbols(ctx) {\n\treturn hasOptionalArgs(ctx) ? hasAllDefaultOptions(ctx) ? `[${ctx.translate(resolveBuiltInKey(\"OPTIONS\"))}]` : `<${ctx.translate(resolveBuiltInKey(\"OPTIONS\"))}>` : \"\";\n}\nfunction makeShortLongOptionPair(schema, name, toKebab) {\n\tconst displayName = toKebab || schema.toKebab ? kebabnize(name) : name;\n\tlet key = `--${displayName}`;\n\tif (schema.short) key = `-${schema.short}, ${key}`;\n\treturn key;\n}\n/**\n* Get optional arguments pairs for usage\n* @param ctx A {@link CommandContext | command context}\n* @returns Options pairs for usage\n*/\nfunction getOptionalArgsPairs(ctx) {\n\treturn Object.entries(ctx.args).reduce((acc, [name, schema]) => {\n\t\tif (schema.type === \"positional\") return acc;\n\t\tlet key = makeShortLongOptionPair(schema, name, ctx.toKebab);\n\t\tif (schema.type !== \"boolean\") {\n\t\t\tconst displayName = ctx.toKebab || schema.toKebab ? kebabnize(name) : name;\n\t\t\tkey = schema.default ? `${key} [${displayName}]` : `${key} <${displayName}>`;\n\t\t}\n\t\tacc[name] = key;\n\t\tif (schema.type === \"boolean\" && schema.negatable && !COMMON_ARGS_KEYS.includes(name)) {\n\t\t\tconst displayName = ctx.toKebab || schema.toKebab ? kebabnize(name) : name;\n\t\t\tacc[`no-${name}`] = `--no-${displayName}`;\n\t\t}\n\t\treturn acc;\n\t}, create());\n}\nconst resolveNegatableKey = (key) => key.split(\"no-\")[1];\nfunction resolveNegatableType(key, ctx) {\n\treturn ctx.args[key.startsWith(\"no-\") ? resolveNegatableKey(key) : key].type;\n}\nfunction generateDefaultDisplayValue(ctx, schema) {\n\treturn `${ctx.translate(resolveBuiltInKey(\"DEFAULT\"))}: ${schema.default}`;\n}\nfunction resolveDisplayValue(ctx, key) {\n\tif (COMMON_ARGS_KEYS.includes(key)) return \"\";\n\tconst schema = ctx.args[key];\n\tif ((schema.type === \"boolean\" || schema.type === \"number\" || schema.type === \"string\" || schema.type === \"custom\") && schema.default !== void 0) return `(${generateDefaultDisplayValue(ctx, schema)})`;\n\tif (schema.type === \"enum\") {\n\t\tconst _default = schema.default !== void 0 ? generateDefaultDisplayValue(ctx, schema) : \"\";\n\t\tconst choices = `${ctx.translate(resolveBuiltInKey(\"CHOICES\"))}: ${schema.choices.join(\" | \")}`;\n\t\treturn `(${_default ? `${_default}, ${choices}` : choices})`;\n\t}\n\treturn \"\";\n}\n/**\n* Generate optional arguments usage\n* @param ctx A {@link CommandContext | command context}\n* @param optionsPairs Options pairs for usage\n* @returns Generated options usage\n*/\nasync function generateOptionalArgsUsage(ctx, optionsPairs) {\n\tconst optionsMaxLength = Math.max(...Object.entries(optionsPairs).map(([_, value]) => value.length));\n\tconst optionSchemaMaxLength = ctx.env.usageOptionType ? Math.max(...Object.entries(optionsPairs).map(([key]) => resolveNegatableType(key, ctx).length)) : 0;\n\tconst usages = await Promise.all(Object.entries(optionsPairs).map(([key, value]) => {\n\t\tlet rawDesc = ctx.translate(resolveArgKey(key));\n\t\tif (!rawDesc && key.startsWith(\"no-\")) {\n\t\t\tconst name = resolveNegatableKey(key);\n\t\t\tconst schema = ctx.args[name];\n\t\t\tconst optionKey = makeShortLongOptionPair(schema, name, ctx.toKebab);\n\t\t\trawDesc = `${ctx.translate(resolveBuiltInKey(\"NEGATABLE\"))} ${optionKey}`;\n\t\t}\n\t\tconst optionsSchema = ctx.env.usageOptionType ? `[${resolveNegatableType(key, ctx)}] ` : \"\";\n\t\tconst valueDesc = key.startsWith(\"no-\") ? \"\" : resolveDisplayValue(ctx, key);\n\t\tconst desc = `${optionsSchema ? optionsSchema.padEnd(optionSchemaMaxLength + 3) : \"\"}${rawDesc}`;\n\t\tconst option = `${value.padEnd(optionsMaxLength + ctx.env.middleMargin)}${desc}${valueDesc ? ` ${valueDesc}` : \"\"}`;\n\t\treturn `${option.padStart(ctx.env.leftMargin + option.length)}`;\n\t}));\n\treturn usages.join(\"\\n\");\n}\nfunction getPositionalArgs(ctx) {\n\treturn Object.entries(ctx.args).filter(([_, schema]) => schema.type === \"positional\");\n}\nasync function generatePositionalArgsUsage(ctx) {\n\tconst positionals = getPositionalArgs(ctx);\n\tconst argsMaxLength = Math.max(...positionals.map(([name]) => name.length));\n\tconst usages = await Promise.all(positionals.map(([name]) => {\n\t\tconst desc = ctx.translate(resolveArgKey(name)) || ctx.args[name].description || \"\";\n\t\tconst arg = `${name.padEnd(argsMaxLength + ctx.env.middleMargin)} ${desc}`;\n\t\treturn `${arg.padStart(ctx.env.leftMargin + arg.length)}`;\n\t}));\n\treturn usages.join(\"\\n\");\n}\nfunction generatePositionalSymbols(ctx) {\n\treturn hasPositionalArgs(ctx) ? getPositionalArgs(ctx).map(([name]) => `<${name}>`).join(\" \") : \"\";\n}\n\n//#endregion\n//#region src/renderer/validation.ts\n/**\n* Render the validation errors.\n* @param ctx A {@link CommandContext | command context}\n* @param error An {@link AggregateError} of option in `args-token` validation\n* @returns A rendered validation error.\n*/\nfunction renderValidationErrors(_ctx, error) {\n\tconst messages = [];\n\tfor (const err of error.errors) messages.push(err.message);\n\treturn Promise.resolve(messages.join(\"\\n\"));\n}\n\n//#endregion\nexport { renderHeader, renderUsage, renderValidationErrors };","//#region src/parser.ts\nconst HYPHEN_CHAR = \"-\";\nconst HYPHEN_CODE = HYPHEN_CHAR.codePointAt(0);\nconst EQUAL_CHAR = \"=\";\nconst EQUAL_CODE = EQUAL_CHAR.codePointAt(0);\nconst TERMINATOR = \"--\";\nconst SHORT_OPTION_PREFIX = HYPHEN_CHAR;\nconst LONG_OPTION_PREFIX = \"--\";\n/**\n* Parse command line arguments.\n* @example\n* ```js\n* import { parseArgs } from 'args-tokens' // for Node.js and Bun\n* // import { parseArgs } from 'jsr:@kazupon/args-tokens' // for Deno\n*\n* const tokens = parseArgs(['--foo', 'bar', '-x', '--bar=baz'])\n* // do something with using tokens\n* // ...\n* console.log('tokens:', tokens)\n* ```\n* @param args command line arguments\n* @param options parse options\n* @returns Argument tokens.\n*/\nfunction parseArgs(args, options = {}) {\n\tconst { allowCompatible = false } = options;\n\tconst tokens = [];\n\tconst remainings = [...args];\n\tlet index = -1;\n\tlet groupCount = 0;\n\tlet hasShortValueSeparator = false;\n\twhile (remainings.length > 0) {\n\t\tconst arg = remainings.shift();\n\t\tif (arg == void 0) break;\n\t\tconst nextArg = remainings[0];\n\t\tif (groupCount > 0) groupCount--;\n\t\telse index++;\n\t\tif (arg === TERMINATOR) {\n\t\t\ttokens.push({\n\t\t\t\tkind: \"option-terminator\",\n\t\t\t\tindex\n\t\t\t});\n\t\t\tconst mapped = remainings.map((arg$1) => {\n\t\t\t\treturn {\n\t\t\t\t\tkind: \"positional\",\n\t\t\t\t\tindex: ++index,\n\t\t\t\t\tvalue: arg$1\n\t\t\t\t};\n\t\t\t});\n\t\t\ttokens.push(...mapped);\n\t\t\tbreak;\n\t\t}\n\t\tif (isShortOption(arg)) {\n\t\t\tconst shortOption = arg.charAt(1);\n\t\t\tlet value;\n\t\t\tlet inlineValue;\n\t\t\tif (groupCount) {\n\t\t\t\ttokens.push({\n\t\t\t\t\tkind: \"option\",\n\t\t\t\t\tname: shortOption,\n\t\t\t\t\trawName: arg,\n\t\t\t\t\tindex,\n\t\t\t\t\tvalue,\n\t\t\t\t\tinlineValue\n\t\t\t\t});\n\t\t\t\tif (groupCount === 1 && hasOptionValue(nextArg)) {\n\t\t\t\t\tvalue = remainings.shift();\n\t\t\t\t\tif (hasShortValueSeparator) {\n\t\t\t\t\t\tinlineValue = true;\n\t\t\t\t\t\thasShortValueSeparator = false;\n\t\t\t\t\t}\n\t\t\t\t\ttokens.push({\n\t\t\t\t\t\tkind: \"option\",\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tinlineValue\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else tokens.push({\n\t\t\t\tkind: \"option\",\n\t\t\t\tname: shortOption,\n\t\t\t\trawName: arg,\n\t\t\t\tindex,\n\t\t\t\tvalue,\n\t\t\t\tinlineValue\n\t\t\t});\n\t\t\tif (value != null) ++index;\n\t\t\tcontinue;\n\t\t}\n\t\tif (isShortOptionGroup(arg)) {\n\t\t\tconst expanded = [];\n\t\t\tlet shortValue = \"\";\n\t\t\tfor (let i = 1; i < arg.length; i++) {\n\t\t\t\tconst shortableOption = arg.charAt(i);\n\t\t\t\tif (hasShortValueSeparator) shortValue += shortableOption;\n\t\t\t\telse if (!allowCompatible && shortableOption.codePointAt(0) === EQUAL_CODE) hasShortValueSeparator = true;\n\t\t\t\telse expanded.push(`${SHORT_OPTION_PREFIX}${shortableOption}`);\n\t\t\t}\n\t\t\tif (shortValue) expanded.push(shortValue);\n\t\t\tremainings.unshift(...expanded);\n\t\t\tgroupCount = expanded.length;\n\t\t\tcontinue;\n\t\t}\n\t\tif (isLongOption(arg)) {\n\t\t\tconst longOption = arg.slice(2);\n\t\t\ttokens.push({\n\t\t\t\tkind: \"option\",\n\t\t\t\tname: longOption,\n\t\t\t\trawName: arg,\n\t\t\t\tindex,\n\t\t\t\tvalue: void 0,\n\t\t\t\tinlineValue: void 0\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (isLongOptionAndValue(arg)) {\n\t\t\tconst equalIndex = arg.indexOf(EQUAL_CHAR);\n\t\t\tconst longOption = arg.slice(2, equalIndex);\n\t\t\tconst value = arg.slice(equalIndex + 1);\n\t\t\ttokens.push({\n\t\t\t\tkind: \"option\",\n\t\t\t\tname: longOption,\n\t\t\t\trawName: `${LONG_OPTION_PREFIX}${longOption}`,\n\t\t\t\tindex,\n\t\t\t\tvalue,\n\t\t\t\tinlineValue: true\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\ttokens.push({\n\t\t\tkind: \"positional\",\n\t\t\tindex,\n\t\t\tvalue: arg\n\t\t});\n\t}\n\treturn tokens;\n}\n/**\n* Check if `arg` is a short option (e.g. `-f`).\n* @param arg the argument to check\n* @returns whether `arg` is a short option.\n*/\nfunction isShortOption(arg) {\n\treturn arg.length === 2 && arg.codePointAt(0) === HYPHEN_CODE && arg.codePointAt(1) !== HYPHEN_CODE;\n}\n/**\n* Check if `arg` is a short option group (e.g. `-abc`).\n* @param arg the argument to check\n* @returns whether `arg` is a short option group.\n*/\nfunction isShortOptionGroup(arg) {\n\tif (arg.length <= 2) return false;\n\tif (arg.codePointAt(0) !== HYPHEN_CODE) return false;\n\tif (arg.codePointAt(1) === HYPHEN_CODE) return false;\n\treturn true;\n}\n/**\n* Check if `arg` is a long option (e.g. `--foo`).\n* @param arg the argument to check\n* @returns whether `arg` is a long option.\n*/\nfunction isLongOption(arg) {\n\treturn hasLongOptionPrefix(arg) && !arg.includes(EQUAL_CHAR, 3);\n}\n/**\n* Check if `arg` is a long option with value (e.g. `--foo=bar`).\n* @param arg the argument to check\n* @returns whether `arg` is a long option.\n*/\nfunction isLongOptionAndValue(arg) {\n\treturn hasLongOptionPrefix(arg) && arg.includes(EQUAL_CHAR, 3);\n}\n/**\n* Check if `arg` is a long option prefix (e.g. `--`).\n* @param arg the argument to check\n* @returns whether `arg` is a long option prefix.\n*/\nfunction hasLongOptionPrefix(arg) {\n\treturn arg.length > 2 && ~arg.indexOf(LONG_OPTION_PREFIX);\n}\n/**\n* Check if a `value` is an option value.\n* @param value a value to check\n* @returns whether a `value` is an option value.\n*/\nfunction hasOptionValue(value) {\n\treturn !(value == null) && value.codePointAt(0) !== HYPHEN_CODE;\n}\n\n//#endregion\nexport { hasLongOptionPrefix, isShortOption, parseArgs };","import { hasLongOptionPrefix, isShortOption } from \"./parser-Dr4iAGaX.js\";\nimport { kebabnize } from \"./utils-N7UlhLbz.js\";\n\n//#region src/resolver.ts\nconst SKIP_POSITIONAL_DEFAULT = -1;\n/**\n* Resolve command line arguments.\n* @param args - An arguments that contains {@link ArgSchema | arguments schema}.\n* @param tokens - An array of {@link ArgToken | tokens}.\n* @param resolveArgs - An arguments that contains {@link ResolveArgs | resolve arguments}.\n* @returns An object that contains the values of the arguments, positional arguments, rest arguments, and {@link AggregateError | validation errors}.\n*/\nfunction resolveArgs(args, tokens, { shortGrouping = false, skipPositional = SKIP_POSITIONAL_DEFAULT, toKebab = false } = {}) {\n\tconst skipPositionalIndex = typeof skipPositional === \"number\" ? Math.max(skipPositional, SKIP_POSITIONAL_DEFAULT) : SKIP_POSITIONAL_DEFAULT;\n\tconst rest = [];\n\tconst optionTokens = [];\n\tconst positionalTokens = [];\n\tlet currentLongOption;\n\tlet currentShortOption;\n\tconst expandableShortOptions = [];\n\tfunction toShortValue() {\n\t\tif (expandableShortOptions.length === 0) return void 0;\n\t\telse {\n\t\t\tconst value = expandableShortOptions.map((token) => token.name).join(\"\");\n\t\t\texpandableShortOptions.length = 0;\n\t\t\treturn value;\n\t\t}\n\t}\n\tfunction applyLongOptionValue(value = void 0) {\n\t\tif (currentLongOption) {\n\t\t\tcurrentLongOption.value = value;\n\t\t\toptionTokens.push({ ...currentLongOption });\n\t\t\tcurrentLongOption = void 0;\n\t\t}\n\t}\n\tfunction applyShortOptionValue(value = void 0) {\n\t\tif (currentShortOption) {\n\t\t\tcurrentShortOption.value = value || toShortValue();\n\t\t\toptionTokens.push({ ...currentShortOption });\n\t\t\tcurrentShortOption = void 0;\n\t\t}\n\t}\n\t/**\n\t* analyze phase to resolve value\n\t* separate tokens into positionals, long and short options, after that resolve values\n\t*/\n\tconst schemas = Object.values(args);\n\tlet terminated = false;\n\tfor (let i = 0; i < tokens.length; i++) {\n\t\tconst token = tokens[i];\n\t\tif (token.kind === \"positional\") {\n\t\t\tif (terminated && token.value) {\n\t\t\t\trest.push(token.value);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (currentShortOption) {\n\t\t\t\tconst found = schemas.find((schema) => schema.short === currentShortOption.name && schema.type === \"boolean\");\n\t\t\t\tif (found) positionalTokens.push({ ...token });\n\t\t\t} else if (currentLongOption) {\n\t\t\t\tconst found = args[currentLongOption.name]?.type === \"boolean\";\n\t\t\t\tif (found) positionalTokens.push({ ...token });\n\t\t\t} else positionalTokens.push({ ...token });\n\t\t\tapplyLongOptionValue(token.value);\n\t\t\tapplyShortOptionValue(token.value);\n\t\t} else if (token.kind === \"option\") if (token.rawName) {\n\t\t\tif (hasLongOptionPrefix(token.rawName)) {\n\t\t\t\tapplyLongOptionValue();\n\t\t\t\tif (token.inlineValue) optionTokens.push({ ...token });\n\t\t\t\telse currentLongOption = { ...token };\n\t\t\t\tapplyShortOptionValue();\n\t\t\t} else if (isShortOption(token.rawName)) if (currentShortOption) {\n\t\t\t\tif (currentShortOption.index === token.index) if (shortGrouping) {\n\t\t\t\t\tcurrentShortOption.value = token.value;\n\t\t\t\t\toptionTokens.push({ ...currentShortOption });\n\t\t\t\t\tcurrentShortOption = { ...token };\n\t\t\t\t} else expandableShortOptions.push({ ...token });\n\t\t\t\telse {\n\t\t\t\t\tcurrentShortOption.value = toShortValue();\n\t\t\t\t\toptionTokens.push({ ...currentShortOption });\n\t\t\t\t\tcurrentShortOption = { ...token };\n\t\t\t\t}\n\t\t\t\tapplyLongOptionValue();\n\t\t\t} else {\n\t\t\t\tcurrentShortOption = { ...token };\n\t\t\t\tapplyLongOptionValue();\n\t\t\t}\n\t\t} else {\n\t\t\tif (currentShortOption && currentShortOption.index == token.index && token.inlineValue) {\n\t\t\t\tcurrentShortOption.value = token.value;\n\t\t\t\toptionTokens.push({ ...currentShortOption });\n\t\t\t\tcurrentShortOption = void 0;\n\t\t\t}\n\t\t\tapplyLongOptionValue();\n\t\t}\n\t\telse {\n\t\t\tif (token.kind === \"option-terminator\") terminated = true;\n\t\t\tapplyLongOptionValue();\n\t\t\tapplyShortOptionValue();\n\t\t}\n\t}\n\t/**\n\t* check if the last long or short option is not resolved\n\t*/\n\tapplyLongOptionValue();\n\tapplyShortOptionValue();\n\t/**\n\t* resolve values\n\t*/\n\tconst values = Object.create(null);\n\tconst errors = [];\n\tfunction checkTokenName(option, schema, token) {\n\t\treturn token.name === (schema.type === \"boolean\" ? schema.negatable && token.name?.startsWith(\"no-\") ? `no-${option}` : option : option);\n\t}\n\tconst positionalItemCount = tokens.filter((token) => token.kind === \"positional\").length;\n\tfunction getPositionalSkipIndex() {\n\t\treturn Math.min(skipPositionalIndex, positionalItemCount);\n\t}\n\tlet positionalsCount = 0;\n\tfor (const [rawArg, schema] of Object.entries(args)) {\n\t\tconst arg = toKebab || schema.toKebab ? kebabnize(rawArg) : rawArg;\n\t\tif (schema.required) {\n\t\t\tconst found = optionTokens.find((token) => {\n\t\t\t\treturn schema.short && token.name === schema.short || token.rawName && hasLongOptionPrefix(token.rawName) && token.name === arg;\n\t\t\t});\n\t\t\tif (!found) {\n\t\t\t\terrors.push(createRequireError(arg, schema));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif (schema.type === \"positional\") {\n\t\t\tif (skipPositionalIndex > SKIP_POSITIONAL_DEFAULT) while (positionalsCount <= getPositionalSkipIndex()) positionalsCount++;\n\t\t\tconst positional = positionalTokens[positionalsCount];\n\t\t\tif (positional != null) values[rawArg] = positional.value;\n\t\t\telse errors.push(createRequireError(arg, schema));\n\t\t\tpositionalsCount++;\n\t\t\tcontinue;\n\t\t}\n\t\tfor (let i = 0; i < optionTokens.length; i++) {\n\t\t\tconst token = optionTokens[i];\n\t\t\tif (checkTokenName(arg, schema, token) && token.rawName != void 0 && hasLongOptionPrefix(token.rawName) || schema.short === token.name && token.rawName != void 0 && isShortOption(token.rawName)) {\n\t\t\t\tconst invalid = validateRequire(token, arg, schema);\n\t\t\t\tif (invalid) {\n\t\t\t\t\terrors.push(invalid);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (schema.type === \"boolean\") token.value = void 0;\n\t\t\t\tconst [parsedValue, error] = parse(token, arg, schema);\n\t\t\t\tif (error) errors.push(error);\n\t\t\t\telse if (schema.multiple) {\n\t\t\t\t\tvalues[rawArg] ||= [];\n\t\t\t\t\tvalues[rawArg].push(parsedValue);\n\t\t\t\t} else values[rawArg] = parsedValue;\n\t\t\t}\n\t\t}\n\t\tif (values[rawArg] == null && schema.default != null) values[rawArg] = schema.default;\n\t}\n\treturn {\n\t\tvalues,\n\t\tpositionals: positionalTokens.map((token) => token.value),\n\t\trest,\n\t\terror: errors.length > 0 ? new AggregateError(errors) : void 0\n\t};\n}\nfunction parse(token, option, schema) {\n\tswitch (schema.type) {\n\t\tcase \"string\": return typeof token.value === \"string\" ? [token.value || schema.default, void 0] : [void 0, createTypeError(option, schema)];\n\t\tcase \"boolean\": return token.value ? [token.value || schema.default, void 0] : [!(schema.negatable && token.name.startsWith(\"no-\")), void 0];\n\t\tcase \"number\": {\n\t\t\tif (!isNumeric(token.value)) return [void 0, createTypeError(option, schema)];\n\t\t\treturn token.value ? [+token.value, void 0] : [+(schema.default || \"\"), void 0];\n\t\t}\n\t\tcase \"enum\": {\n\t\t\tif (schema.choices && !schema.choices.includes(token.value)) return [void 0, new ArgResolveError(`Optional argument '--${option}' ${schema.short ? `or '-${schema.short}' ` : \"\"}should be chosen from '${schema.type}' [${schema.choices.map((c) => JSON.stringify(c)).join(\", \")}] values`, option, \"type\", schema)];\n\t\t\treturn [token.value || schema.default, void 0];\n\t\t}\n\t\tcase \"custom\": {\n\t\t\tif (typeof schema.parse !== \"function\") throw new TypeError(`argument '${option}' should have a 'parse' function`);\n\t\t\ttry {\n\t\t\t\treturn [schema.parse(token.value || String(schema.default || \"\")), void 0];\n\t\t\t} catch (error) {\n\t\t\t\treturn [void 0, error];\n\t\t\t}\n\t\t}\n\t\tdefault: throw new Error(`Unsupported argument type '${schema.type}' for option '${option}'`);\n\t}\n}\nfunction createRequireError(option, schema) {\n\tconst message = schema.type === \"positional\" ? `Positional argument '${option}' is required` : `Optional argument '--${option}' ${schema.short ? `or '-${schema.short}' ` : \"\"}is required`;\n\treturn new ArgResolveError(message, option, \"required\", schema);\n}\n/**\n* An error that occurs when resolving arguments.\n* This error is thrown when the argument is not valid.\n*/\nvar ArgResolveError = class extends Error {\n\tname;\n\tschema;\n\ttype;\n\tconstructor(message, name, type, schema) {\n\t\tsuper(message);\n\t\tthis.name = name;\n\t\tthis.type = type;\n\t\tthis.schema = schema;\n\t}\n};\nfunction validateRequire(token, option, schema) {\n\tif (schema.required && schema.type !== \"boolean\" && !token.value) return createRequireError(option, schema);\n}\nfunction isNumeric(str) {\n\treturn str.trim() !== \"\" && !isNaN(str);\n}\nfunction createTypeError(option, schema) {\n\treturn new ArgResolveError(`Optional argument '--${option}' ${schema.short ? `or '-${schema.short}' ` : \"\"}should be '${schema.type}'`, option, \"type\", schema);\n}\n\n//#endregion\nexport { ArgResolveError, resolveArgs };","import { ANONYMOUS_COMMAND_NAME, COMMAND_OPTIONS_DEFAULT, COMMON_ARGS, create, isLazyCommand, resolveLazyCommand } from \"./utils-D41C8Abf.js\";\nimport { createCommandContext } from \"./context-D_EmfRNA.js\";\nimport { renderHeader, renderUsage, renderValidationErrors } from \"./renderer-BzRfaLdJ.js\";\nimport { parseArgs, resolveArgs } from \"args-tokens\";\n\n//#region src/cli.ts\n/**\n* Run the command.\n* @param args Command line arguments\n* @param entry A {@link Command | entry command}, an {@link CommandRunner | inline command runner}, or a {@link LazyCommand | lazily-loaded command}\n* @param options A {@link CliOptions | CLI options}\n* @returns A rendered usage or undefined. if you will use {@link CliOptions.usageSilent} option, it will return rendered usage string.\n*/\nasync function cli(argv, entry, options = {}) {\n\tconst cliOptions = resolveCliOptions(options, entry);\n\tconst tokens = parseArgs(argv);\n\tconst subCommand = getSubCommand(tokens);\n\tconst { commandName: name, command, callMode } = await resolveCommand(subCommand, entry, cliOptions);\n\tif (!command) throw new Error(`Command not found: ${name || \"\"}`);\n\tconst args = resolveArguments(getCommandArgs(command));\n\tconst { values, positionals, rest, error } = resolveArgs(args, tokens, {\n\t\tshortGrouping: true,\n\t\ttoKebab: command.toKebab,\n\t\tskipPositional: cliOptions.subCommands.size > 0 ? 0 : -1\n\t});\n\tconst omitted = !subCommand;\n\tconst ctx = await createCommandContext({\n\t\targs,\n\t\tvalues,\n\t\tpositionals,\n\t\trest,\n\t\targv,\n\t\ttokens,\n\t\tomitted,\n\t\tcallMode,\n\t\tcommand,\n\t\tcliOptions\n\t});\n\tif (values.version) {\n\t\tshowVersion(ctx);\n\t\treturn;\n\t}\n\tconst usageBuffer = [];\n\tconst header = await showHeader(ctx);\n\tif (header) usageBuffer.push(header);\n\tif (values.help) {\n\t\tconst usage = await showUsage(ctx);\n\t\tif (usage) usageBuffer.push(usage);\n\t\treturn usageBuffer.join(\"\\n\");\n\t}\n\tif (error) {\n\t\tawait showValidationErrors(ctx, error);\n\t\treturn;\n\t}\n\tawait executeCommand(command, ctx, name || \"\");\n}\nfunction getCommandArgs(cmd) {\n\tif (isLazyCommand(cmd)) return cmd.args || create();\n\telse if (typeof cmd === \"object\") return cmd.args || create();\n\telse return create();\n}\nfunction resolveArguments(args) {\n\treturn Object.assign(create(), args, COMMON_ARGS);\n}\nfunction resolveCliOptions(options, entry) {\n\tconst subCommands = new Map(options.subCommands);\n\tif (options.subCommands) {\n\t\tif (isLazyCommand(entry)) subCommands.set(entry.commandName, entry);\n\t\telse if (typeof entry === \"object\" && entry.name) subCommands.set(entry.name, entry);\n\t}\n\tconst resolvedOptions = Object.assign(create(), COMMAND_OPTIONS_DEFAULT, options, { subCommands });\n\treturn resolvedOptions;\n}\nfunction getSubCommand(tokens) {\n\tconst firstToken = tokens[0];\n\treturn firstToken && firstToken.kind === \"positional\" && firstToken.index === 0 && firstToken.value ? firstToken.value : \"\";\n}\nasync function showUsage(ctx) {\n\tif (ctx.env.renderUsage === null) return;\n\tconst usage = await (ctx.env.renderUsage || renderUsage)(ctx);\n\tif (usage) {\n\t\tctx.log(usage);\n\t\treturn usage;\n\t}\n}\nfunction showVersion(ctx) {\n\tctx.log(ctx.env.version);\n}\nasync function showHeader(ctx) {\n\tif (ctx.env.renderHeader === null) return;\n\tconst header = await (ctx.env.renderHeader || renderHeader)(ctx);\n\tif (header) {\n\t\tctx.log(header);\n\t\tctx.log();\n\t\treturn header;\n\t}\n}\nasync function showValidationErrors(ctx, error) {\n\tif (ctx.env.renderValidationErrors === null) return;\n\tconst render = ctx.env.renderValidationErrors || renderValidationErrors;\n\tctx.log(await render(ctx, error));\n}\nconst CANNOT_RESOLVE_COMMAND = { callMode: \"unexpected\" };\nasync function resolveCommand(sub, entry, options) {\n\tconst omitted = !sub;\n\tasync function doResolveCommand() {\n\t\tif (typeof entry === \"function\") if (\"commandName\" in entry && entry.commandName) return {\n\t\t\tcommandName: entry.commandName,\n\t\t\tcommand: entry,\n\t\t\tcallMode: \"entry\"\n\t\t};\n\t\telse return {\n\t\t\tcommand: { run: entry },\n\t\t\tcallMode: \"entry\"\n\t\t};\n\t\telse if (typeof entry === \"object\") return {\n\t\t\tcommandName: resolveEntryName(entry),\n\t\t\tcommand: entry,\n\t\t\tcallMode: \"entry\"\n\t\t};\n\t\telse return CANNOT_RESOLVE_COMMAND;\n\t}\n\tif (omitted || options.subCommands?.size === 0) return doResolveCommand();\n\tconst cmd = options.subCommands?.get(sub);\n\tif (cmd == null) return {\n\t\tcommandName: sub,\n\t\tcallMode: \"unexpected\"\n\t};\n\tif (isLazyCommand(cmd) && cmd.commandName == null) cmd.commandName = sub;\n\telse if (typeof cmd === \"object\" && cmd.name == null) cmd.name = sub;\n\treturn {\n\t\tcommandName: sub,\n\t\tcommand: cmd,\n\t\tcallMode: \"subCommand\"\n\t};\n}\nfunction resolveEntryName(entry) {\n\treturn entry.name || ANONYMOUS_COMMAND_NAME;\n}\nasync function executeCommand(cmd, ctx, name) {\n\tconst resolved = isLazyCommand(cmd) ? await resolveLazyCommand(cmd, name, true) : cmd;\n\tif (resolved.run == null) throw new Error(`'run' not found on Command \\`${name}\\``);\n\tawait resolved.run(ctx);\n}\n\n//#endregion\nexport { cli };"]}
@@ -0,0 +1,98 @@
1
+ import { checkForSchemaErrors, checkForConfigErrors } from './chunk-NZDUC7Q3.js';
2
+ import { define } from './chunk-33ROL4J5.js';
3
+ import { loadVarlockEnvGraph } from './chunk-QTYVZQSF.js';
4
+ import { __name } from './chunk-XN24GZXQ.js';
5
+ import { execa } from 'execa';
6
+ import which from 'which';
7
+
8
+ var commandSpec = define({
9
+ name: "run",
10
+ description: "Run a command with the environment variables loaded from the .env file",
11
+ args: {
12
+ watch: {
13
+ type: "boolean",
14
+ short: "w",
15
+ description: "Watch mode"
16
+ }
17
+ }
18
+ });
19
+ var commandProcess;
20
+ var childCommandKilledFromRestart = false;
21
+ var commandFn = /* @__PURE__ */ __name(async (ctx) => {
22
+ const argv = process.argv.slice(2);
23
+ let restCommandArgs = [];
24
+ if (argv.includes("--")) {
25
+ const doubleDashIndex = argv.indexOf("--");
26
+ argv.slice(0, doubleDashIndex);
27
+ restCommandArgs = argv.slice(doubleDashIndex + 1);
28
+ } else {
29
+ throw new Error("No command to run! Your command should look like `varlock run -- <your-command>`");
30
+ }
31
+ const commandToRunAsArgs = restCommandArgs;
32
+ const commandToRunStr = restCommandArgs.join(" ");
33
+ const rawCommand = commandToRunAsArgs[0];
34
+ const commandArgsOnly = commandToRunAsArgs.slice(1);
35
+ const pathAwareCommand = which.sync(rawCommand, { nothrow: true });
36
+ const isWatchEnabled = ctx.values.watch;
37
+ const envGraph = await loadVarlockEnvGraph();
38
+ checkForSchemaErrors(envGraph);
39
+ await envGraph.resolveEnvValues();
40
+ checkForConfigErrors(envGraph);
41
+ const resolvedEnv = envGraph.getResolvedEnvObject();
42
+ const fullInjectedEnv = {
43
+ ...process.env,
44
+ ...resolvedEnv,
45
+ _VARLOCK_RUN: "1"
46
+ // flag so we know our env is already injected
47
+ };
48
+ commandProcess = execa(pathAwareCommand || rawCommand, commandArgsOnly, {
49
+ stdio: "inherit",
50
+ env: fullInjectedEnv
51
+ });
52
+ {
53
+ process.on("exit", (code, signal) => {
54
+ commandProcess?.kill(9);
55
+ });
56
+ ["SIGTERM", "SIGINT"].forEach((signal) => {
57
+ process.on(signal, () => {
58
+ commandProcess?.kill(9);
59
+ process.exit(1);
60
+ });
61
+ });
62
+ }
63
+ let exitCode;
64
+ try {
65
+ const commandResult = await commandProcess;
66
+ exitCode = commandResult.exitCode;
67
+ } catch (error) {
68
+ if (error.signal === "SIGINT" && childCommandKilledFromRestart) ;
69
+ if (error.signal === "SIGINT" || error.signal === "SIGKILL") {
70
+ process.exit(1);
71
+ } else {
72
+ console.log(error.message);
73
+ console.log(`command [${commandToRunStr}] failed`);
74
+ console.log("try running the same command without dmno");
75
+ console.log("if you get a different result, dmno may be the problem...");
76
+ }
77
+ exitCode = error.exitCode || 1;
78
+ }
79
+ if (isWatchEnabled) {
80
+ {
81
+ if (exitCode === 0) {
82
+ console.log("\n\u2705 command completed successfully");
83
+ } else {
84
+ console.log(`
85
+ \u{1F4A5} command failed - exit code = ${exitCode}`);
86
+ }
87
+ }
88
+ }
89
+ if (!isWatchEnabled) {
90
+ process.exit(exitCode);
91
+ } else {
92
+ console.log("... watching for changes ...");
93
+ }
94
+ }, "commandFn");
95
+
96
+ export { commandFn, commandSpec };
97
+ //# sourceMappingURL=chunk-35HGPX6I.js.map
98
+ //# sourceMappingURL=chunk-35HGPX6I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/run.command.ts"],"names":[],"mappings":"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","file":"chunk-35HGPX6I.js","sourcesContent":["import { execa, type ResultPromise } from 'execa';\nimport which from 'which';\nimport { define } from 'gunshi';\n\nimport { loadVarlockEnvGraph } from '../../lib/load-graph';\nimport { checkForConfigErrors, checkForSchemaErrors } from '../helpers/error-checks';\nimport { TypedGunshiCommandFn } from '../helpers/gunshi-type-utils';\n\n\nexport const commandSpec = define({\n name: 'run',\n description: 'Run a command with the environment variables loaded from the .env file',\n args: {\n watch: {\n type: 'boolean',\n short: 'w',\n description: 'Watch mode',\n },\n },\n});\n\nlet commandProcess: ResultPromise | undefined;\nlet childCommandKilledFromRestart = false;\nlet isWatchModeRestart = false;\n\nexport const commandFn: TypedGunshiCommandFn<typeof commandSpec> = async (ctx) => {\n // if \"--\" is present, split the args into our command and the rest, which will be another external command\n const argv = process.argv.slice(2);\n let commandArgs: Array<string> = [];\n let restCommandArgs: Array<string> = [];\n if (argv.includes('--')) {\n const doubleDashIndex = argv.indexOf('--');\n commandArgs = argv.slice(0, doubleDashIndex);\n restCommandArgs = argv.slice(doubleDashIndex + 1);\n } else {\n throw new Error('No command to run! Your command should look like `varlock run -- <your-command>`');\n }\n const commandToRunAsArgs = restCommandArgs;\n const commandToRunStr = restCommandArgs.join(' ');\n\n const rawCommand = commandToRunAsArgs[0];\n const commandArgsOnly = commandToRunAsArgs.slice(1);\n const pathAwareCommand = which.sync(rawCommand, { nothrow: true });\n\n const isWatchEnabled = ctx.values.watch;\n\n // console.log('running command', pathAwareCommand || rawCommand, commandArgsOnly);\n\n\n const envGraph = await loadVarlockEnvGraph();\n checkForSchemaErrors(envGraph);\n await envGraph.resolveEnvValues();\n checkForConfigErrors(envGraph);\n\n // will fail above if there are any errors\n\n const resolvedEnv = envGraph.getResolvedEnvObject();\n // console.log(resolvedEnv);\n\n // needs more thought here\n const fullInjectedEnv = {\n ...process.env,\n ...resolvedEnv,\n _VARLOCK_RUN: '1', // flag so we know our env is already injected\n };\n\n commandProcess = execa(pathAwareCommand || rawCommand, commandArgsOnly, {\n stdio: 'inherit',\n env: fullInjectedEnv,\n });\n // console.log('PARENT PID = ', process.pid);\n // console.log('CHILD PID = ', commandProcess.pid);\n\n // if first run, we need to attach some extra exit handling\n if (!isWatchModeRestart) {\n // try to make sure we shut down cleanly and kill the child process\n process.on('exit', (code: any, signal: any) => {\n // if (childCommandKilledFromRestart) {\n // childCommandKilledFromRestart = false;\n // return;\n // }\n // console.log('exit!', code, signal);\n commandProcess?.kill(9);\n });\n\n ['SIGTERM', 'SIGINT'].forEach((signal) => {\n process.on(signal, () => {\n // console.log('SIGNAL = ', signal);\n commandProcess?.kill(9);\n process.exit(1);\n });\n });\n // TODO: handle other signals?\n }\n\n\n let exitCode: any; // TODO: fix this any\n try {\n const commandResult = await commandProcess;\n exitCode = commandResult.exitCode;\n } catch (error) {\n // console.log('child command error!', error);\n if ((error as any).signal === 'SIGINT' && childCommandKilledFromRestart) {\n // console.log('child command failed due to being killed form restart');\n childCommandKilledFromRestart = false;\n return;\n }\n\n // console.log('child command result error', error);\n if ((error as any).signal === 'SIGINT' || (error as any).signal === 'SIGKILL') {\n process.exit(1);\n } else {\n console.log((error as Error).message);\n console.log(`command [${commandToRunStr}] failed`);\n console.log('try running the same command without dmno');\n console.log('if you get a different result, dmno may be the problem...');\n // console.log(`Please report issue here: <${REPORT_ISSUE_LINK}>`);\n }\n exitCode = (error as any).exitCode || 1;\n }\n\n if (isWatchEnabled) {\n if (!childCommandKilledFromRestart) {\n if (exitCode === 0) {\n console.log('\\n✅ command completed successfully');\n } else {\n console.log(`\\n💥 command failed - exit code = ${exitCode}`);\n }\n }\n }\n\n if (!isWatchEnabled) {\n process.exit(exitCode);\n } else {\n console.log('... watching for changes ...');\n // TODO: watch for changes and restart the command\n }\n};\n"]}
@@ -0,0 +1,82 @@
1
+ import { __commonJS, __name, __toESM } from './chunk-XN24GZXQ.js';
2
+
3
+ // ../../node_modules/.pnpm/ansis@4.1.0/node_modules/ansis/index.cjs
4
+ var require_ansis = __commonJS({
5
+ "../../node_modules/.pnpm/ansis@4.1.0/node_modules/ansis/index.cjs"(exports, module) {
6
+ var e;
7
+ var t;
8
+ var r;
9
+ var { defineProperty: n, setPrototypeOf: l, create: o, keys: s } = Object;
10
+ var i = "";
11
+ var { round: c, max: a2 } = Math;
12
+ var p = /* @__PURE__ */ __name((e2) => {
13
+ let t2 = /([a-f\d]{3,6})/i.exec(e2)?.[1], r2 = t2?.length, n2 = parseInt(6 ^ r2 ? 3 ^ r2 ? "0" : t2[0] + t2[0] + t2[1] + t2[1] + t2[2] + t2[2] : t2, 16);
14
+ return [n2 >> 16 & 255, n2 >> 8 & 255, 255 & n2];
15
+ }, "p");
16
+ var u = /* @__PURE__ */ __name((e2, t2, r2) => e2 ^ t2 || t2 ^ r2 ? 16 + 36 * c(e2 / 51) + 6 * c(t2 / 51) + c(r2 / 51) : 8 > e2 ? 16 : e2 > 248 ? 231 : c(24 * (e2 - 8) / 247) + 232, "u");
17
+ var d = /* @__PURE__ */ __name((e2) => {
18
+ let t2, r2, n2, l2, o2;
19
+ return 8 > e2 ? 30 + e2 : 16 > e2 ? e2 - 8 + 90 : (232 > e2 ? (o2 = (e2 -= 16) % 36, t2 = (e2 / 36 | 0) / 5, r2 = (o2 / 6 | 0) / 5, n2 = o2 % 6 / 5) : t2 = r2 = n2 = (10 * (e2 - 232) + 8) / 255, l2 = 2 * a2(t2, r2, n2), l2 ? 30 + (c(n2) << 2 | c(r2) << 1 | c(t2)) + (2 ^ l2 ? 0 : 60) : 30);
20
+ }, "d");
21
+ var g = (() => {
22
+ let r2 = /* @__PURE__ */ __name((e2) => o2.some((t2) => e2.test(t2)), "r"), n2 = globalThis, l2 = n2.process ?? {}, o2 = l2.argv ?? [], i2 = l2.env ?? {}, c2 = -1;
23
+ try {
24
+ e = "," + s(i2).join(",");
25
+ } catch (e2) {
26
+ i2 = {}, c2 = 0;
27
+ }
28
+ let a3 = "FORCE_COLOR", p2 = { false: 0, 0: 0, 1: 1, 2: 2, 3: 3 }[i2[a3]] ?? -1, u2 = a3 in i2 && p2 || r2(/^--color=?(true|always)?$/);
29
+ return u2 && (c2 = p2), ~c2 || (c2 = ((r3, n3, l3) => (t = r3.TERM, { "24bit": 3, truecolor: 3, ansi256: 2, ansi: 1 }[r3.COLORTERM] || (r3.CI ? /,GITHUB/.test(e) ? 3 : 1 : n3 && "dumb" !== t ? l3 ? 3 : /-256/.test(t) ? 2 : 1 : 0)))(i2, !!i2.PM2_HOME || i2.NEXT_RUNTIME?.includes("edge") || !!l2.stdout?.isTTY, "win32" === l2.platform)), !p2 || i2.NO_COLOR || r2(/^--(no-color|color=(false|never))$/) ? 0 : n2.window?.chrome || u2 && !c2 ? 3 : c2;
30
+ })();
31
+ var f = { open: i, close: i };
32
+ var h = 39;
33
+ var b = 49;
34
+ var O = {};
35
+ var m = /* @__PURE__ */ __name(({ p: e2 }, { open: t2, close: n2 }) => {
36
+ let o2 = /* @__PURE__ */ __name((e3, ...r2) => {
37
+ if (!e3) {
38
+ if (t2 && t2 === n2) return t2;
39
+ if ((e3 ?? i) === i) return i;
40
+ }
41
+ let l2, s3 = e3.raw ? String.raw({ raw: e3 }, ...r2) : i + e3, c3 = o2.p, a3 = c3.o, p2 = c3.c;
42
+ if (s3.includes("\x1B")) for (; c3; c3 = c3.p) {
43
+ let { open: e4, close: t3 } = c3, r3 = t3.length, n3 = i, o3 = 0;
44
+ if (r3) for (; ~(l2 = s3.indexOf(t3, o3)); o3 = l2 + r3) n3 += s3.slice(o3, l2) + e4;
45
+ s3 = n3 + s3.slice(o3);
46
+ }
47
+ return a3 + (s3.includes("\n") ? s3.replace(/(\r?\n)/g, p2 + "$1" + a3) : s3) + p2;
48
+ }, "o"), s2 = t2, c2 = n2;
49
+ return e2 && (s2 = e2.o + t2, c2 = n2 + e2.c), l(o2, r), o2.p = { open: t2, close: n2, o: s2, c: c2, p: e2 }, o2.open = s2, o2.close = c2, o2;
50
+ }, "m");
51
+ var w = /* @__PURE__ */ __name(function(e2 = g) {
52
+ let t2 = { Ansis: w, level: e2, isSupported: /* @__PURE__ */ __name(() => s2, "isSupported"), strip: /* @__PURE__ */ __name((e3) => e3.replace(/[›][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, i), "strip"), extend(e3) {
53
+ for (let t3 in e3) {
54
+ let r2 = e3[t3], l2 = (typeof r2)[0], o2 = "s" === l2 ? x(...p(r2)) : r2;
55
+ O[t3] = "f" === l2 ? { get() {
56
+ return (...e4) => m(this, r2(...e4));
57
+ } } : { get() {
58
+ let e4 = m(this, o2);
59
+ return n(this, t3, { value: e4 }), e4;
60
+ } };
61
+ }
62
+ return r = o({}, O), l(t2, r), t2;
63
+ } }, s2 = e2 > 0, c2 = /* @__PURE__ */ __name((e3, t3) => s2 ? { open: `\x1B[${e3}m`, close: `\x1B[${t3}m` } : f, "c"), a3 = /* @__PURE__ */ __name((e3) => (t3) => e3(...p(t3)), "a"), y2 = /* @__PURE__ */ __name((e3, t3) => (r2, n2, l2) => c2(`${e3}8;2;${r2};${n2};${l2}`, t3), "y"), R = /* @__PURE__ */ __name((e3, t3) => (r2, n2, l2) => c2(((e4, t4, r3) => d(u(e4, t4, r3)))(r2, n2, l2) + e3, t3), "R"), $ = /* @__PURE__ */ __name((e3) => (t3, r2, n2) => e3(u(t3, r2, n2)), "$"), x = y2(3, h), T = y2(4, b), v = /* @__PURE__ */ __name((e3) => c2("38;5;" + e3, h), "v"), C = /* @__PURE__ */ __name((e3) => c2("48;5;" + e3, b), "C");
64
+ 2 === e2 ? (x = $(v), T = $(C)) : 1 === e2 && (x = R(0, h), T = R(10, b), v = /* @__PURE__ */ __name((e3) => c2(d(e3), h), "v"), C = /* @__PURE__ */ __name((e3) => c2(d(e3) + 10, b), "C"));
65
+ let E, M = { fg: v, bg: C, rgb: x, bgRgb: T, hex: a3(x), bgHex: a3(T), visible: f, reset: c2(0, 0), bold: c2(1, 22), dim: c2(2, 22), italic: c2(3, 23), underline: c2(4, 24), inverse: c2(7, 27), hidden: c2(8, 28), strikethrough: c2(9, 29) }, I = "Bright";
66
+ return "black,red,green,yellow,blue,magenta,cyan,white,gray".split(",").map((e3, t3) => {
67
+ E = "bg" + e3[0].toUpperCase() + e3.slice(1), 8 > t3 ? (M[e3 + I] = c2(90 + t3, h), M[E + I] = c2(100 + t3, b)) : t3 = 60, M[e3] = c2(30 + t3, h), M[E] = c2(40 + t3, b);
68
+ }), t2.extend(M);
69
+ }, "w");
70
+ var y = new w();
71
+ module.exports = y, y.default = y;
72
+ }
73
+ });
74
+
75
+ // ../../node_modules/.pnpm/ansis@4.1.0/node_modules/ansis/index.mjs
76
+ var import_index = __toESM(require_ansis(), 1);
77
+ var ansis_default = import_index.default;
78
+ var { Ansis, fg, bg, rgb, bgRgb, hex, bgHex, reset, inverse, hidden, visible, bold, dim, italic, underline, strikethrough, black, red, green, yellow, blue, magenta, cyan, white, gray, redBright, greenBright, yellowBright, blueBright, magentaBright, cyanBright, whiteBright, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bgGray, bgRedBright, bgGreenBright, bgYellowBright, bgBlueBright, bgMagentaBright, bgCyanBright, bgWhiteBright } = import_index.default;
79
+
80
+ export { ansis_default };
81
+ //# sourceMappingURL=chunk-7UQXFWKN.js.map
82
+ //# sourceMappingURL=chunk-7UQXFWKN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/ansis@4.1.0/node_modules/ansis/index.cjs","../../../node_modules/.pnpm/ansis@4.1.0/node_modules/ansis/index.mjs"],"names":["a","e","t","r","n","l","o","i","c","p","u","s","y"],"mappings":"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","file":"chunk-7UQXFWKN.js","sourcesContent":["let e,t,r,{defineProperty:n,setPrototypeOf:l,create:o,keys:s}=Object,i=\"\",{round:c,max:a}=Math,p=e=>{let t=/([a-f\\d]{3,6})/i.exec(e)?.[1],r=t?.length,n=parseInt(6^r?3^r?\"0\":t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t,16);return[n>>16&255,n>>8&255,255&n]},u=(e,t,r)=>e^t||t^r?16+36*c(e/51)+6*c(t/51)+c(r/51):8>e?16:e>248?231:c(24*(e-8)/247)+232,d=e=>{let t,r,n,l,o;return 8>e?30+e:16>e?e-8+90:(232>e?(o=(e-=16)%36,t=(e/36|0)/5,r=(o/6|0)/5,n=o%6/5):t=r=n=(10*(e-232)+8)/255,l=2*a(t,r,n),l?30+(c(n)<<2|c(r)<<1|c(t))+(2^l?0:60):30)},g=(()=>{let r=e=>o.some((t=>e.test(t))),n=globalThis,l=n.process??{},o=l.argv??[],i=l.env??{},c=-1;try{e=\",\"+s(i).join(\",\")}catch(e){i={},c=0}let a=\"FORCE_COLOR\",p={false:0,0:0,1:1,2:2,3:3}[i[a]]??-1,u=a in i&&p||r(/^--color=?(true|always)?$/);return u&&(c=p),~c||(c=((r,n,l)=>(t=r.TERM,{\"24bit\":3,truecolor:3,ansi256:2,ansi:1}[r.COLORTERM]||(r.CI?/,GITHUB/.test(e)?3:1:n&&\"dumb\"!==t?l?3:/-256/.test(t)?2:1:0)))(i,!!i.PM2_HOME||i.NEXT_RUNTIME?.includes(\"edge\")||!!l.stdout?.isTTY,\"win32\"===l.platform)),!p||i.NO_COLOR||r(/^--(no-color|color=(false|never))$/)?0:n.window?.chrome||u&&!c?3:c})(),f={open:i,close:i},h=39,b=49,O={},m=({p:e},{open:t,close:n})=>{let o=(e,...r)=>{if(!e){if(t&&t===n)return t;if((e??i)===i)return i}let l,s=e.raw?String.raw({raw:e},...r):i+e,c=o.p,a=c.o,p=c.c;if(s.includes(\"\u001b\"))for(;c;c=c.p){let{open:e,close:t}=c,r=t.length,n=i,o=0;if(r)for(;~(l=s.indexOf(t,o));o=l+r)n+=s.slice(o,l)+e;s=n+s.slice(o)}return a+(s.includes(\"\\n\")?s.replace(/(\\r?\\n)/g,p+\"$1\"+a):s)+p},s=t,c=n;return e&&(s=e.o+t,c=n+e.c),l(o,r),o.p={open:t,close:n,o:s,c,p:e},o.open=s,o.close=c,o};const w=function(e=g){let t={Ansis:w,level:e,isSupported:()=>s,strip:e=>e.replace(/[\u001b›][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,i),extend(e){for(let t in e){let r=e[t],l=(typeof r)[0],o=\"s\"===l?x(...p(r)):r;O[t]=\"f\"===l?{get(){return(...e)=>m(this,r(...e))}}:{get(){let e=m(this,o);return n(this,t,{value:e}),e}}}return r=o({},O),l(t,r),t}},s=e>0,c=(e,t)=>s?{open:`\u001b[${e}m`,close:`\u001b[${t}m`}:f,a=e=>t=>e(...p(t)),y=(e,t)=>(r,n,l)=>c(`${e}8;2;${r};${n};${l}`,t),R=(e,t)=>(r,n,l)=>c(((e,t,r)=>d(u(e,t,r)))(r,n,l)+e,t),$=e=>(t,r,n)=>e(u(t,r,n)),x=y(3,h),T=y(4,b),v=e=>c(\"38;5;\"+e,h),C=e=>c(\"48;5;\"+e,b);2===e?(x=$(v),T=$(C)):1===e&&(x=R(0,h),T=R(10,b),v=e=>c(d(e),h),C=e=>c(d(e)+10,b));let E,M={fg:v,bg:C,rgb:x,bgRgb:T,hex:a(x),bgHex:a(T),visible:f,reset:c(0,0),bold:c(1,22),dim:c(2,22),italic:c(3,23),underline:c(4,24),inverse:c(7,27),hidden:c(8,28),strikethrough:c(9,29)},I=\"Bright\";return\"black,red,green,yellow,blue,magenta,cyan,white,gray\".split(\",\").map(((e,t)=>{E=\"bg\"+e[0].toUpperCase()+e.slice(1),8>t?(M[e+I]=c(90+t,h),M[E+I]=c(100+t,b)):t=60,M[e]=c(30+t,h),M[E]=c(40+t,b)})),t.extend(M)},y=new w;module.exports=y,y.default=y;\n","import a from\"./index.cjs\";export default a;export const{Ansis,fg,bg,rgb,bgRgb,hex,bgHex,reset,inverse,hidden,visible,bold,dim,italic,underline,strikethrough,black,red,green,yellow,blue,magenta,cyan,white,gray,redBright,greenBright,yellowBright,blueBright,magentaBright,cyanBright,whiteBright,bgBlack,bgRed,bgGreen,bgYellow,bgBlue,bgMagenta,bgCyan,bgWhite,bgGray,bgRedBright,bgGreenBright,bgYellowBright,bgBlueBright,bgMagentaBright,bgCyanBright,bgWhiteBright}=a;"]}
@@ -0,0 +1,142 @@
1
+ import { ge, pD } from './chunk-DAZNZPLN.js';
2
+ import { define } from './chunk-33ROL4J5.js';
3
+ import { __name } from './chunk-XN24GZXQ.js';
4
+ import path from 'node:path';
5
+ import os from 'node:os';
6
+ import net from 'node:net';
7
+ import crypto from 'node:crypto';
8
+ import Debug from 'debug';
9
+
10
+ var debug = Debug("varlock:native-app-client");
11
+ var VarlockNativeAppClient = class {
12
+ static {
13
+ __name(this, "VarlockNativeAppClient");
14
+ }
15
+ socket;
16
+ messageQueue;
17
+ isInitialized = false;
18
+ isConnected;
19
+ socketPath;
20
+ constructor(opts) {
21
+ this.socket = new net.Socket();
22
+ this.messageQueue = /* @__PURE__ */ new Map();
23
+ this.isConnected = false;
24
+ this.socketPath = opts?.socketPath ?? path.resolve(
25
+ os.homedir(),
26
+ "Library/Containers/dev.dmno.macapp/Data/dmno-ipc"
27
+ );
28
+ }
29
+ generateMessageId() {
30
+ const timestamp = Date.now().toString(36);
31
+ const random = crypto.randomBytes(4).toString("hex");
32
+ return `${timestamp}-${random}`;
33
+ }
34
+ initializeSocket() {
35
+ this.isInitialized = true;
36
+ return new Promise((resolve, _reject) => {
37
+ this.socket.on("connect", () => {
38
+ debug("Connected to native app");
39
+ this.isConnected = true;
40
+ resolve(true);
41
+ });
42
+ this.socket.on("data", (data) => {
43
+ debug("> received data");
44
+ try {
45
+ const messageLength = data.readUInt32LE(0);
46
+ const messageData = data.slice(4, 4 + messageLength);
47
+ const message = JSON.parse(messageData.toString());
48
+ debug("> message", message);
49
+ if (message.type === "__disconnect") {
50
+ this.cleanup();
51
+ return;
52
+ }
53
+ if (message.id && this.messageQueue.has(message.id)) {
54
+ const { resolve: qResolve } = this.messageQueue.get(message.id);
55
+ this.messageQueue.delete(message.id);
56
+ qResolve(message.result);
57
+ } else {
58
+ console.log("Received message without ID:", message);
59
+ }
60
+ } catch (error) {
61
+ console.error("Error processing message:", error);
62
+ }
63
+ });
64
+ this.socket.on("error", (error) => {
65
+ console.error("Socket error:", error);
66
+ this.cleanup();
67
+ });
68
+ this.socket.on("close", () => {
69
+ debug("socket closed");
70
+ this.isConnected = false;
71
+ this.cleanup();
72
+ });
73
+ this.socket.connect(this.socketPath);
74
+ });
75
+ }
76
+ sendMessage(message) {
77
+ return new Promise((resolve, reject) => {
78
+ if (!this.isConnected) {
79
+ reject(new Error("Socket is not connected"));
80
+ return;
81
+ }
82
+ const messageId = this.generateMessageId();
83
+ const messageWithId = {
84
+ ...message,
85
+ id: messageId
86
+ };
87
+ const jsonData = JSON.stringify(messageWithId);
88
+ const messageBytes = new TextEncoder().encode(jsonData);
89
+ const lengthBytes = new Uint8Array(4);
90
+ const view = new DataView(lengthBytes.buffer);
91
+ view.setUint32(0, messageBytes.length, true);
92
+ const combinedBytes = new Uint8Array(4 + messageBytes.length);
93
+ combinedBytes.set(lengthBytes);
94
+ combinedBytes.set(messageBytes, 4);
95
+ this.messageQueue.set(messageId, { resolve, reject });
96
+ this.socket.write(combinedBytes);
97
+ });
98
+ }
99
+ async encrypt(plaintext) {
100
+ if (!this.isInitialized) await this.initializeSocket();
101
+ return this.sendMessage({
102
+ action: "encrypt",
103
+ payload: { plaintext }
104
+ });
105
+ }
106
+ async decrypt(ciphertext) {
107
+ if (!this.isInitialized) await this.initializeSocket();
108
+ return this.sendMessage({
109
+ action: "decrypt",
110
+ payload: { ciphertext }
111
+ });
112
+ }
113
+ cleanup() {
114
+ for (const { reject } of this.messageQueue.values()) {
115
+ reject(new Error("Connection closed"));
116
+ }
117
+ this.messageQueue.clear();
118
+ this.socket.end();
119
+ }
120
+ };
121
+
122
+ // src/cli/commands/encrypt.command.ts
123
+ var commandSpec = define({
124
+ name: "encrypt",
125
+ description: "Encrypt environment variables in your .env file",
126
+ args: {}
127
+ });
128
+ var commandFn = /* @__PURE__ */ __name(async (ctx) => {
129
+ console.log("");
130
+ console.log("\u{1F9D9} Encrypting environment variables... \u2728");
131
+ const rawValue = await ge({ message: "Enter the value you want to encrypt" });
132
+ if (pD(rawValue)) process.exit(0);
133
+ const client = new VarlockNativeAppClient();
134
+ await client.initializeSocket();
135
+ const encryptedValue = await client.encrypt(rawValue);
136
+ console.log("Copy this into your .env.local file and rename the key appropriately:\n");
137
+ console.log(`SOME_SENSITIVE_KEY=varlock("${encryptedValue}")`);
138
+ }, "commandFn");
139
+
140
+ export { commandFn, commandSpec };
141
+ //# sourceMappingURL=chunk-B4UBSMSZ.js.map
142
+ //# sourceMappingURL=chunk-B4UBSMSZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/native-app-client.ts","../src/cli/commands/encrypt.command.ts"],"names":[],"mappings":"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","file":"chunk-B4UBSMSZ.js","sourcesContent":["import path from 'node:path';\nimport os from 'node:os';\nimport net from 'node:net';\nimport crypto from 'node:crypto';\nimport Debug from 'debug';\n\nconst debug = Debug('varlock:native-app-client');\n\nconst MAC_APP_PATH = 'Library/Containers/dev.dmno.macapp';\nconst IPC_SOCKET_FILE_PATH = 'Data/dmno-ipc';\n\nexport class VarlockNativeAppClient {\n private socket: net.Socket;\n\n private messageQueue: Map<string, { resolve: (value: any) => void; reject: (error: Error) => void }>;\n\n private isInitialized: boolean = false;\n private isConnected: boolean;\n private socketPath: string;\n\n constructor(opts?: { socketPath?: string }) {\n this.socket = new net.Socket();\n this.messageQueue = new Map();\n this.isConnected = false;\n this.socketPath = opts?.socketPath ?? path.resolve(\n os.homedir(),\n 'Library/Containers/dev.dmno.macapp/Data/dmno-ipc',\n );\n }\n\n private generateMessageId(): string {\n // Generate a unique ID using timestamp and random bytes\n const timestamp = Date.now().toString(36); // Base36 timestamp\n const random = crypto.randomBytes(4).toString('hex'); // 8 random hex chars\n return `${timestamp}-${random}`;\n }\n\n initializeSocket() {\n this.isInitialized = true;\n\n return new Promise((resolve, _reject) => {\n this.socket.on('connect', () => {\n debug('Connected to native app');\n this.isConnected = true;\n resolve(true);\n });\n\n this.socket.on('data', (data: Buffer) => {\n debug('> received data');\n try {\n // Read message length (4 bytes, little endian)\n const messageLength = data.readUInt32LE(0);\n const messageData = data.slice(4, 4 + messageLength);\n const message = JSON.parse(messageData.toString());\n\n debug('> message', message);\n\n // Handle special messages\n if (message.type === '__disconnect') {\n this.cleanup();\n return;\n }\n\n // Handle response messages\n if (message.id && this.messageQueue.has(message.id)) {\n const { resolve: qResolve } = this.messageQueue.get(message.id)!;\n this.messageQueue.delete(message.id);\n qResolve(message.result);\n } else {\n console.log('Received message without ID:', message);\n }\n } catch (error) {\n console.error('Error processing message:', error);\n }\n });\n\n this.socket.on('error', (error) => {\n console.error('Socket error:', error);\n // TODO: if error is related to initial connection, reject the promise\n this.cleanup();\n });\n\n this.socket.on('close', () => {\n debug('socket closed');\n this.isConnected = false;\n this.cleanup();\n });\n\n this.socket.connect(this.socketPath);\n });\n }\n\n private sendMessage(message: any): Promise<any> {\n return new Promise((resolve, reject) => {\n if (!this.isConnected) {\n reject(new Error('Socket is not connected'));\n return;\n }\n\n const messageId = this.generateMessageId();\n const messageWithId = {\n ...message,\n id: messageId,\n };\n\n const jsonData = JSON.stringify(messageWithId);\n const messageBytes = new TextEncoder().encode(jsonData);\n\n // Create length prefix (4 bytes, little endian)\n const lengthBytes = new Uint8Array(4);\n const view = new DataView(lengthBytes.buffer);\n view.setUint32(0, messageBytes.length, true);\n\n // Combine length and message\n const combinedBytes = new Uint8Array(4 + messageBytes.length);\n combinedBytes.set(lengthBytes);\n combinedBytes.set(messageBytes, 4);\n\n // Store promise handlers\n this.messageQueue.set(messageId, { resolve, reject });\n\n // Send message\n this.socket.write(combinedBytes);\n });\n }\n\n public async encrypt(plaintext: string): Promise<any> {\n if (!this.isInitialized) await this.initializeSocket();\n return this.sendMessage({\n action: 'encrypt',\n payload: { plaintext },\n });\n }\n\n public async decrypt(ciphertext: string): Promise<any> {\n if (!this.isInitialized) await this.initializeSocket();\n return this.sendMessage({\n action: 'decrypt',\n payload: { ciphertext },\n });\n }\n\n public cleanup() {\n // Reject all pending messages\n for (const { reject } of this.messageQueue.values()) {\n reject(new Error('Connection closed'));\n }\n this.messageQueue.clear();\n this.socket.end();\n }\n}\n\n// // Example usage:\n// async function main() {\n// const client = new VarlockNativeAppClient();\n\n// try {\n// await client.initializeSocket();\n\n// // Send multiple messages\n// const encryptedHello = await client.encrypt('hello world');\n// console.log('Encrypted data:', encryptedHello);\n\n// const decryptedHello = await client.decrypt(encryptedHello);\n// console.log('Decrypted data:', decryptedHello);\n\n// // Keep the process running\n// process.on('SIGINT', () => {\n// client.cleanup();\n// process.exit(0);\n// });\n// } catch (error) {\n// console.error('Error:', error);\n// process.exit(1);\n// }\n// }\n\n// main();\n","\nimport { define } from 'gunshi';\nimport { isCancel, password } from '@clack/prompts';\n\nimport { VarlockNativeAppClient } from '../../lib/native-app-client';\nimport { TypedGunshiCommandFn } from '../helpers/gunshi-type-utils';\n\nexport const commandSpec = define({\n name: 'encrypt',\n description: 'Encrypt environment variables in your .env file',\n args: {},\n});\n\nexport const commandFn: TypedGunshiCommandFn<typeof commandSpec> = async (ctx) => {\n console.log('');\n console.log('🧙 Encrypting environment variables... ✨');\n // intro('🧙 Encrypting environment variables... ✨');\n\n const rawValue = await password({ message: 'Enter the value you want to encrypt' });\n if (isCancel(rawValue)) process.exit(0);\n\n const client = new VarlockNativeAppClient();\n await client.initializeSocket();\n const encryptedValue = await client.encrypt(rawValue);\n\n console.log('Copy this into your .env.local file and rename the key appropriately:\\n');\n console.log(`SOME_SENSITIVE_KEY=varlock(\"${encryptedValue}\")`);\n\n // const envGraph = await loadEnvGraph();\n // await envGraph.resolveEnvValues();\n // const resolvedEnv = envGraph.getResolvedEnvObject();\n\n // TODO: need to reimplement using the new parser\n\n // const client = new VarlockNativeAppClient();\n // await client.initializeSocket();\n\n // for (const envFile of loadedEnv.files) {\n // let changeCount = 0;\n // for (const itemKey in envFile.items) {\n // const item = envFile.items[itemKey];\n // if (item.decorators?.sensitive) {\n // if ('value' in item && item.value) {\n // console.log('Encrypting', itemKey, envFile.path);\n // const encryptedValue = await client.encrypt(item.value);\n // delete item.value;\n // (item as any).resolverName = 'varlock';\n // (item as any).resolverArgs = [encryptedValue];\n // changeCount++;\n // }\n // } else {\n // if ('resolverName' in item && item.resolverName === 'varlock') {\n // console.log('Decrypting', itemKey, envFile.path);\n // const encryptedValue = item.resolverArgs[0];\n // if (typeof encryptedValue !== 'string') {\n // throw new Error('Expected encrypted value to be a string');\n // }\n // const decryptedValue = await client.decrypt(encryptedValue);\n // (item as any).value = decryptedValue;\n // delete (item as any).resolverName;\n // delete (item as any).resolverArgs;\n // changeCount++;\n // }\n // }\n // }\n\n // const updatedEnvFileStr = dumpDotEnvContents(envFile.parsedContents);\n // await fs.writeFile(envFile.path, updatedEnvFileStr);\n\n // log.success(`Updated ${changeCount} items in ${envFile.path}`);\n // }\n\n // console.log(loadedEnv);\n\n // const unencryptedKeys: Array<string> = [];\n // parsedEnv.forEach((item) => {\n // if (item.type !== 'item') return;\n // if (item.key.startsWith('_VARLOCK_')) return;\n // if (!('value' in item) || !item.value) return;\n\n // unencryptedKeys.push(item.key);\n // });\n\n // if (unencryptedKeys.length === 0) {\n // console.log('No items to encrypt. Exiting...');\n // return;\n // }\n\n // const selectedKeys = await multiselect({\n // message: 'Select env item(s) to encrypt 🔏',\n // options: unencryptedKeys.map((key) => ({\n // value: key,\n // label: key,\n // })),\n // initialValues: unencryptedKeys,\n // required: false,\n // });\n\n // if (isCancel(selectedKeys) || !selectedKeys.length) {\n // console.log('No items selected. Exiting...');\n // return;\n // }\n\n // for (const item of parsedEnv) {\n // if (item.type === 'item' && selectedKeys.includes(item.key)) {\n // if (!('value' in item) || !item.value) throw new Error(`Item ${item.key} has no value`);\n // const encryptedValue = await client.encrypt(item.value);\n // delete item.value;\n // (item as any).resolverName = 'varlock';\n // (item as any).resolverArgs = [encryptedValue];\n // }\n // }\n\n // // write the updated env file\n\n // const updatedEnvFileStr = dumpDotEnvContents(parsedEnv);\n // await fs.writeFile(envFilePath, updatedEnvFileStr);\n\n // outro(`Encrypted ${selectedKeys.length} items!`);\n};\n\n"]}