@hot-updater/cli-tools 1.2.0-rc.6 → 1.2.0-rc.7

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/index.d.mts CHANGED
@@ -616,6 +616,11 @@ declare const getHotUpdaterEnvValue: (env: Readonly<Record<string, string>>, key
616
616
  declare const parseLoadedEnv: (content: string) => Readonly<Record<string, string>>;
617
617
  /** `cwd`'s `.env.hotupdater` as the config loads it; empty when there is none. */
618
618
  declare const readLoadedHotUpdaterEnv: (cwd: string) => Promise<Readonly<Record<string, string>>>;
619
+ /**
620
+ * `file`, an env file a command was given, relative to `cwd`, as
621
+ * `parseLoadedEnv` reads it; a file that can't be read is refused by name.
622
+ */
623
+ declare const readLoadedEnvFile: (file: string, cwd: string) => Promise<Readonly<Record<string, string>>>;
619
624
  //#endregion
620
625
  //#region src/HotUpdateDirUtil.d.ts
621
626
  declare const HotUpdateDirUtil: {
@@ -2522,6 +2527,12 @@ declare const setConfiguredSecrets: (secrets: SecretsAdapter) => void;
2522
2527
  * until a config loads.
2523
2528
  */
2524
2529
  declare const getConfiguredSecrets: () => SecretsAdapter;
2530
+ /**
2531
+ * `names` from `secrets` in one `get`. A read that fails names the secrets
2532
+ * and the adapter, with the adapter's own error on the next line, such as
2533
+ * `EACCES: permission denied, open '<file>'`.
2534
+ */
2535
+ declare const readSecrets: (secrets: SecretsAdapter, names: readonly string[], cwd: string) => Promise<Readonly<Record<string, string | undefined>>>;
2525
2536
  /** Where an adapter keeps `name`, for messages. */
2526
2537
  declare const describeSecret: (secrets: SecretsAdapter, name: string) => string;
2527
2538
  /**
@@ -2574,12 +2585,15 @@ declare const readMissingFromTeamSecrets: (secrets: SecretsAdapter, names: reado
2574
2585
  readonly cwd: string;
2575
2586
  }) => Promise<Readonly<Record<string, string>>>;
2576
2587
  /**
2577
- * Stores each of `names` that `.env.hotupdater` holds through `secrets`,
2578
- * then reads them back in one call. The file is left as it is. Returns the
2588
+ * Stores each of `names` that `envFile`, `.env.hotupdater` by default,
2589
+ * holds through `secrets`, then reads them back in one call. Only the file
2590
+ * is read, never the environment. The file is left as it is. Returns the
2579
2591
  * names stored, in the order of `names`; throws when the adapter reads
2580
2592
  * back another value.
2581
2593
  */
2582
- declare const storeEnvFileSecrets: (secrets: SecretsAdapter, names: readonly string[], cwd: string) => Promise<readonly string[]>;
2594
+ declare const storeEnvFileSecrets: (secrets: SecretsAdapter, names: readonly string[], cwd: string,
2595
+ /** An env file to read instead of `.env.hotupdater`, relative to `cwd`. */
2596
+ envFile?: string) => Promise<readonly string[]>;
2583
2597
  //#endregion
2584
2598
  //#region src/storageFiles.d.ts
2585
2599
  declare const getStorageFileByteSize: (filePath: string) => Promise<number>;
@@ -2604,4 +2618,4 @@ type TransformTemplateArgs<T extends string> = { [Key in ExtractPlaceholders<T>]
2604
2618
  */
2605
2619
  declare function transformTemplate<T extends string>(templateString: T, values: TransformTemplateArgs<T>): string;
2606
2620
  //#endregion
2607
- export { AppClientCredential, AppClientPlugin, AssembleServerOptions, AssembledServer, BuildFailedError, BuildFailureSummaryConfig, BuildLogger, BuildLoggerConfig, BuildType, BundleSigningSession, CREDENTIAL_ENV_NAMES, CREDENTIAL_LOGIN_GROUPS, ClientAuthSpec, ClientCredentialSpec, ConfigBuilder, ConfigBuilderScaffold, ConfigResponse, CreateCredentialResolverOptions, CreateHotUpdaterConfigScaffoldFromBuilderOptions, CreateHotUpdaterConfigScaffoldOptions, type CredentialFiles, CredentialKind, CredentialRequest, CredentialResolver, CredentialUnavailableError, Credentials, DEFAULT_SIGNING_KEY_SECRET, HOT_UPDATER_HOME_ENV, HOT_UPDATER_SERVER_PACKAGE_VERSION_ENV, HotUpdateDirUtil, HotUpdaterConfigOptions, HotUpdaterConfigScaffold, HotUpdaterInitEnv, HotUpdaterLogWriter, INTERFACE_FINGERPRINT_ENGINE, ImportInfo, InitEnvFileError, InitError, InitProviderDefinition, InitProviderInputDefinition, InitProviderInputPersistence, IssuedCredentialKind, LOCAL_SECRETS_NAME, LegacyInfrastructureError, LocalSecretsOptions, LocalSecretsStore, MANAGED_CLIENT_CREDENTIAL_ENV, ManagedHelperStatement, ManagedHelperStrategy, MissingInitInputsError, NativeDependency, NativeInterface, PromptProgress, PromptSpinner, ProviderConfig, ProvisionedClientCredential, ReactNativeMetadata, ReadPackageUpResult, RunInitOptions, SecretsScope, ServerClientEndpoint, ServerDefinition, ServerDefinitionError, WriteHotUpdaterConfigResult, assembleServer, assertInfrastructureGenerationAtUrl, assertInfrastructureGenerationPayload, assertInitInputs, assertInitProviderInputs, assertUnreservedEnv, autolinkingConfigCommand, banner, clientAuthOf, typedColors as colors, confirmInitInputPersistence, copyDirToTmp, createCredentialResolver, createHotUpdaterConfigScaffold, createHotUpdaterConfigScaffoldFromBuilder, createInterfaceFingerprint, createLocalSecretsStore, createLogWriter, createMigrator, createMinBundleId, createTarBrTargetFiles, createZip, credentialIssueCommand, credentialLoginCommand, credentialStoreCommand, decryptJson, defineInitProvider, describeSecret, describeStoredSecret, encryptJson, ensureInstallPackages, generateClientCredential, generateSchema, generatesSchema, getAndroidSdkPath, getBundleSigningPublicKey, getConfiguredAdapter, getConfiguredSecrets, getCwd, getHotUpdaterEnvValue, getHotUpdaterHome, getHotUpdaterInitInputEnv, getInitProviderEnvVars, getInitProviderTextPromptValues, getLocalKeyFile, getLocalKeyStoreDir, getLocalSecretsStore, getMissingInitInputs, getMissingInitProviderInputs, getPackageManager, getProjectKey, getReactNativeMetadatas, getSecretEnvNames, getStorageFileByteSize, isCI, isCodegenSpecFile, isReservedVariableName, isSecretName, isServerDefinition, keepsKeysOnThisMachine, link, loadConfig, loadPlatformConfigs, loadTeamSecrets, localSecrets, log, makeEnv, maskSecretValues, moduleSpecifiersOf, nonInteractiveReason, p, parseLoadedEnv, parseSecretReference, prepareBundleSigning, printAppSetup, printBanner, provisionClientCredential, putStorageFile, reactNativeCliFingerprint, reactNativeConfigCommand, readBundleSigningPublicKeyFile, readHotUpdaterInitEnv, readLoadedHotUpdaterEnv, readLocalKey, readMissingFromTeamSecrets, readPackageUp, readReactNativeInterface, readSecretVariables, readSecretWithSource, registerCredentialValue, registerSecretValue, renderAppImports, renderAppSetup, renderImportStatements, resolveExpoAutolinking, resolveHotUpdaterServerVersion, resolveInitProviderInput, resolveInitProviderInputs, resolveLocalSecretsPath, resolvePackageVersion, resolveSecretsAdapter, secretEnv, secretEnvHelper, secretVariableName, serverDefinitionOf, setConfiguredSecrets, shouldAutoSelectOnlyInitResource, storeEnvFileSecrets, stripAnsi, transformEnv, transformTemplate, withCredentialResolver, withSecretsScope, writeHotUpdaterConfig, writeHotUpdaterFiles, writeLocalKey };
2621
+ export { AppClientCredential, AppClientPlugin, AssembleServerOptions, AssembledServer, BuildFailedError, BuildFailureSummaryConfig, BuildLogger, BuildLoggerConfig, BuildType, BundleSigningSession, CREDENTIAL_ENV_NAMES, CREDENTIAL_LOGIN_GROUPS, ClientAuthSpec, ClientCredentialSpec, ConfigBuilder, ConfigBuilderScaffold, ConfigResponse, CreateCredentialResolverOptions, CreateHotUpdaterConfigScaffoldFromBuilderOptions, CreateHotUpdaterConfigScaffoldOptions, type CredentialFiles, CredentialKind, CredentialRequest, CredentialResolver, CredentialUnavailableError, Credentials, DEFAULT_SIGNING_KEY_SECRET, HOT_UPDATER_HOME_ENV, HOT_UPDATER_SERVER_PACKAGE_VERSION_ENV, HotUpdateDirUtil, HotUpdaterConfigOptions, HotUpdaterConfigScaffold, HotUpdaterInitEnv, HotUpdaterLogWriter, INTERFACE_FINGERPRINT_ENGINE, ImportInfo, InitEnvFileError, InitError, InitProviderDefinition, InitProviderInputDefinition, InitProviderInputPersistence, IssuedCredentialKind, LOCAL_SECRETS_NAME, LegacyInfrastructureError, LocalSecretsOptions, LocalSecretsStore, MANAGED_CLIENT_CREDENTIAL_ENV, ManagedHelperStatement, ManagedHelperStrategy, MissingInitInputsError, NativeDependency, NativeInterface, PromptProgress, PromptSpinner, ProviderConfig, ProvisionedClientCredential, ReactNativeMetadata, ReadPackageUpResult, RunInitOptions, SecretsScope, ServerClientEndpoint, ServerDefinition, ServerDefinitionError, WriteHotUpdaterConfigResult, assembleServer, assertInfrastructureGenerationAtUrl, assertInfrastructureGenerationPayload, assertInitInputs, assertInitProviderInputs, assertUnreservedEnv, autolinkingConfigCommand, banner, clientAuthOf, typedColors as colors, confirmInitInputPersistence, copyDirToTmp, createCredentialResolver, createHotUpdaterConfigScaffold, createHotUpdaterConfigScaffoldFromBuilder, createInterfaceFingerprint, createLocalSecretsStore, createLogWriter, createMigrator, createMinBundleId, createTarBrTargetFiles, createZip, credentialIssueCommand, credentialLoginCommand, credentialStoreCommand, decryptJson, defineInitProvider, describeSecret, describeStoredSecret, encryptJson, ensureInstallPackages, generateClientCredential, generateSchema, generatesSchema, getAndroidSdkPath, getBundleSigningPublicKey, getConfiguredAdapter, getConfiguredSecrets, getCwd, getHotUpdaterEnvValue, getHotUpdaterHome, getHotUpdaterInitInputEnv, getInitProviderEnvVars, getInitProviderTextPromptValues, getLocalKeyFile, getLocalKeyStoreDir, getLocalSecretsStore, getMissingInitInputs, getMissingInitProviderInputs, getPackageManager, getProjectKey, getReactNativeMetadatas, getSecretEnvNames, getStorageFileByteSize, isCI, isCodegenSpecFile, isReservedVariableName, isSecretName, isServerDefinition, keepsKeysOnThisMachine, link, loadConfig, loadPlatformConfigs, loadTeamSecrets, localSecrets, log, makeEnv, maskSecretValues, moduleSpecifiersOf, nonInteractiveReason, p, parseLoadedEnv, parseSecretReference, prepareBundleSigning, printAppSetup, printBanner, provisionClientCredential, putStorageFile, reactNativeCliFingerprint, reactNativeConfigCommand, readBundleSigningPublicKeyFile, readHotUpdaterInitEnv, readLoadedEnvFile, readLoadedHotUpdaterEnv, readLocalKey, readMissingFromTeamSecrets, readPackageUp, readReactNativeInterface, readSecretVariables, readSecretWithSource, readSecrets, registerCredentialValue, registerSecretValue, renderAppImports, renderAppSetup, renderImportStatements, resolveExpoAutolinking, resolveHotUpdaterServerVersion, resolveInitProviderInput, resolveInitProviderInputs, resolveLocalSecretsPath, resolvePackageVersion, resolveSecretsAdapter, secretEnv, secretEnvHelper, secretVariableName, serverDefinitionOf, setConfiguredSecrets, shouldAutoSelectOnlyInitResource, storeEnvFileSecrets, stripAnsi, transformEnv, transformTemplate, withCredentialResolver, withSecretsScope, writeHotUpdaterConfig, writeHotUpdaterFiles, writeLocalKey };
package/dist/index.mjs CHANGED
@@ -25299,6 +25299,17 @@ const readLoadedHotUpdaterEnv = async (cwd) => {
25299
25299
  throw error;
25300
25300
  }
25301
25301
  };
25302
+ /**
25303
+ * `file`, an env file a command was given, relative to `cwd`, as
25304
+ * `parseLoadedEnv` reads it; a file that can't be read is refused by name.
25305
+ */
25306
+ const readLoadedEnvFile = async (file, cwd) => {
25307
+ try {
25308
+ return parseLoadedEnv(await fs$1.readFile(path.resolve(cwd, file), "utf-8"));
25309
+ } catch (error) {
25310
+ throw new Error(`Can't read ${file}.\n${error instanceof Error ? error.message : String(error)}`, { cause: error });
25311
+ }
25312
+ };
25302
25313
  //#endregion
25303
25314
  //#region src/localKeyStore.ts
25304
25315
  /**
@@ -25643,7 +25654,7 @@ const readSecretWithSource = async (secrets, name, cwd) => {
25643
25654
  const held = (value) => typeof value === "string" && value.length > 0;
25644
25655
  const store = getLocalSecretsStore(secrets);
25645
25656
  if (!store) {
25646
- const value = (await secrets.get([name], { cwd }))[name];
25657
+ const value = (await readSecrets(secrets, [name], cwd))[name];
25647
25658
  return held(value) ? {
25648
25659
  value,
25649
25660
  source: describeSecret(secrets, name)
@@ -25654,7 +25665,9 @@ const readSecretWithSource = async (secrets, name, cwd) => {
25654
25665
  value: variable,
25655
25666
  source: `${secretVariableName(name)} (environment)`
25656
25667
  };
25657
- const value = await store.read(name, cwd);
25668
+ const value = await store.read(name, cwd).catch((error) => {
25669
+ throw secretReadError(secrets, [name], error);
25670
+ });
25658
25671
  return held(value) ? {
25659
25672
  value,
25660
25673
  source: store.file(name, cwd)
@@ -25697,6 +25710,19 @@ const setConfiguredSecrets = (secrets) => {
25697
25710
  * until a config loads.
25698
25711
  */
25699
25712
  const getConfiguredSecrets = () => globalThis[CONFIGURED_SECRETS] ?? localSecrets();
25713
+ /**
25714
+ * `names` from `secrets` in one `get`. A read that fails names the secrets
25715
+ * and the adapter, with the adapter's own error on the next line, such as
25716
+ * `EACCES: permission denied, open '<file>'`.
25717
+ */
25718
+ const readSecrets = async (secrets, names, cwd) => {
25719
+ try {
25720
+ return await secrets.get(names, { cwd });
25721
+ } catch (error) {
25722
+ throw secretReadError(secrets, names, error);
25723
+ }
25724
+ };
25725
+ const secretReadError = (secrets, names, error) => new Error(`Couldn't read ${list$1(names)} from the ${secrets.name} secrets adapter.\n${(error instanceof Error ? error.message : String(error)).split("\n")[0]}`, { cause: error });
25700
25726
  /** Where an adapter keeps `name`, for messages. */
25701
25727
  const describeSecret = (secrets, name) => secrets.describe?.(name) ?? `${name} in ${secrets.name}`;
25702
25728
  const list$1 = (names) => names.length <= 2 ? names.join(" and ") : `${names.slice(0, -1).join(", ")}, and ${names.at(-1)}`;
@@ -25752,7 +25778,7 @@ const readSecretEnv = async (wanted, scope) => {
25752
25778
  }
25753
25779
  if (fromStore.length > 0) {
25754
25780
  const secrets = getConfiguredAdapter(scope?.secrets ?? getConfiguredSecrets());
25755
- const read = secrets ? await secrets.get(fromStore, { cwd }) : {};
25781
+ const read = secrets ? await readSecrets(secrets, fromStore, cwd) : {};
25756
25782
  const missing = fromStore.filter((name) => {
25757
25783
  const value = Object.hasOwn(read, name) ? read[name] : void 0;
25758
25784
  if (typeof value !== "string" || value === "") return true;
@@ -47456,7 +47482,7 @@ const loadTeamSecrets = async () => {
47456
47482
  const readMissingFromTeamSecrets = async (secrets, names, { env, cwd }) => {
47457
47483
  const missing = names.filter((name) => getHotUpdaterEnvValue(env, name) === void 0);
47458
47484
  if (missing.length === 0) return {};
47459
- const held = await secrets.get(missing, { cwd });
47485
+ const held = await readSecrets(secrets, missing, cwd);
47460
47486
  const values = Object.create(null);
47461
47487
  for (const name of missing) {
47462
47488
  const value = Object.hasOwn(held, name) ? held[name] : void 0;
@@ -47468,13 +47494,14 @@ const readMissingFromTeamSecrets = async (secrets, names, { env, cwd }) => {
47468
47494
  return values;
47469
47495
  };
47470
47496
  /**
47471
- * Stores each of `names` that `.env.hotupdater` holds through `secrets`,
47472
- * then reads them back in one call. The file is left as it is. Returns the
47497
+ * Stores each of `names` that `envFile`, `.env.hotupdater` by default,
47498
+ * holds through `secrets`, then reads them back in one call. Only the file
47499
+ * is read, never the environment. The file is left as it is. Returns the
47473
47500
  * names stored, in the order of `names`; throws when the adapter reads
47474
47501
  * back another value.
47475
47502
  */
47476
- const storeEnvFileSecrets = async (secrets, names, cwd) => {
47477
- const file = await readLoadedHotUpdaterEnv(cwd);
47503
+ const storeEnvFileSecrets = async (secrets, names, cwd, envFile) => {
47504
+ const file = envFile === void 0 ? await readLoadedHotUpdaterEnv(cwd) : await readLoadedEnvFile(envFile, cwd);
47478
47505
  const values = /* @__PURE__ */ new Map();
47479
47506
  for (const name of names) {
47480
47507
  const value = Object.hasOwn(file, name) ? file[name]?.trim() : void 0;
@@ -47543,4 +47570,4 @@ function transformTemplate(templateString, values) {
47543
47570
  return result;
47544
47571
  }
47545
47572
  //#endregion
47546
- export { BuildFailedError, BuildLogger, CREDENTIAL_ENV_NAMES, CREDENTIAL_LOGIN_GROUPS, ConfigBuilder, CredentialUnavailableError, DEFAULT_SIGNING_KEY_SECRET, HOT_UPDATER_HOME_ENV, HOT_UPDATER_SERVER_PACKAGE_VERSION_ENV, HotUpdateDirUtil, INTERFACE_FINGERPRINT_ENGINE, InitEnvFileError, InitError, LOCAL_SECRETS_NAME, LegacyInfrastructureError, MANAGED_CLIENT_CREDENTIAL_ENV, MissingInitInputsError, ServerDefinitionError, assembleServer, assertInfrastructureGenerationAtUrl, assertInfrastructureGenerationPayload, assertInitInputs, assertInitProviderInputs, assertUnreservedEnv, autolinkingConfigCommand, banner, clientAuthOf, typedColors as colors, confirmInitInputPersistence, copyDirToTmp, createCredentialResolver, createHotUpdaterConfigScaffold, createHotUpdaterConfigScaffoldFromBuilder, createInterfaceFingerprint, createLocalSecretsStore, createLogWriter, createMigrator, createMinBundleId, createTarBrTargetFiles, createZip, credentialIssueCommand, credentialLoginCommand, credentialStoreCommand, decryptJson, defineInitProvider, describeSecret, describeStoredSecret, encryptJson, ensureInstallPackages, generateClientCredential, generateSchema, generatesSchema, getAndroidSdkPath, getBundleSigningPublicKey, getConfiguredAdapter, getConfiguredSecrets, getCwd, getHotUpdaterEnvValue, getHotUpdaterHome, getHotUpdaterInitInputEnv, getInitProviderEnvVars, getInitProviderTextPromptValues, getLocalKeyFile, getLocalKeyStoreDir, getLocalSecretsStore, getMissingInitInputs, getMissingInitProviderInputs, getPackageManager, getProjectKey, getReactNativeMetadatas, getSecretEnvNames, getStorageFileByteSize, isCI, isCodegenSpecFile, isReservedVariableName, isSecretName, isServerDefinition, keepsKeysOnThisMachine, link, loadConfig, loadPlatformConfigs, loadTeamSecrets, localSecrets, log, makeEnv, maskSecretValues, moduleSpecifiersOf, nonInteractiveReason, p, parseLoadedEnv, parseSecretReference, prepareBundleSigning, printAppSetup, printBanner, provisionClientCredential, putStorageFile, reactNativeCliFingerprint, reactNativeConfigCommand, readBundleSigningPublicKeyFile, readHotUpdaterInitEnv, readLoadedHotUpdaterEnv, readLocalKey, readMissingFromTeamSecrets, readPackageUp, readReactNativeInterface, readSecretVariables, readSecretWithSource, registerCredentialValue, registerSecretValue, renderAppImports, renderAppSetup, renderImportStatements, resolveExpoAutolinking, resolveHotUpdaterServerVersion, resolveInitProviderInput, resolveInitProviderInputs, resolveLocalSecretsPath, resolvePackageVersion, resolveSecretsAdapter, secretEnv, secretEnvHelper, secretVariableName, serverDefinitionOf, setConfiguredSecrets, shouldAutoSelectOnlyInitResource, storeEnvFileSecrets, stripAnsi, transformEnv, transformTemplate, withCredentialResolver, withSecretsScope, writeHotUpdaterConfig, writeHotUpdaterFiles, writeLocalKey };
47573
+ export { BuildFailedError, BuildLogger, CREDENTIAL_ENV_NAMES, CREDENTIAL_LOGIN_GROUPS, ConfigBuilder, CredentialUnavailableError, DEFAULT_SIGNING_KEY_SECRET, HOT_UPDATER_HOME_ENV, HOT_UPDATER_SERVER_PACKAGE_VERSION_ENV, HotUpdateDirUtil, INTERFACE_FINGERPRINT_ENGINE, InitEnvFileError, InitError, LOCAL_SECRETS_NAME, LegacyInfrastructureError, MANAGED_CLIENT_CREDENTIAL_ENV, MissingInitInputsError, ServerDefinitionError, assembleServer, assertInfrastructureGenerationAtUrl, assertInfrastructureGenerationPayload, assertInitInputs, assertInitProviderInputs, assertUnreservedEnv, autolinkingConfigCommand, banner, clientAuthOf, typedColors as colors, confirmInitInputPersistence, copyDirToTmp, createCredentialResolver, createHotUpdaterConfigScaffold, createHotUpdaterConfigScaffoldFromBuilder, createInterfaceFingerprint, createLocalSecretsStore, createLogWriter, createMigrator, createMinBundleId, createTarBrTargetFiles, createZip, credentialIssueCommand, credentialLoginCommand, credentialStoreCommand, decryptJson, defineInitProvider, describeSecret, describeStoredSecret, encryptJson, ensureInstallPackages, generateClientCredential, generateSchema, generatesSchema, getAndroidSdkPath, getBundleSigningPublicKey, getConfiguredAdapter, getConfiguredSecrets, getCwd, getHotUpdaterEnvValue, getHotUpdaterHome, getHotUpdaterInitInputEnv, getInitProviderEnvVars, getInitProviderTextPromptValues, getLocalKeyFile, getLocalKeyStoreDir, getLocalSecretsStore, getMissingInitInputs, getMissingInitProviderInputs, getPackageManager, getProjectKey, getReactNativeMetadatas, getSecretEnvNames, getStorageFileByteSize, isCI, isCodegenSpecFile, isReservedVariableName, isSecretName, isServerDefinition, keepsKeysOnThisMachine, link, loadConfig, loadPlatformConfigs, loadTeamSecrets, localSecrets, log, makeEnv, maskSecretValues, moduleSpecifiersOf, nonInteractiveReason, p, parseLoadedEnv, parseSecretReference, prepareBundleSigning, printAppSetup, printBanner, provisionClientCredential, putStorageFile, reactNativeCliFingerprint, reactNativeConfigCommand, readBundleSigningPublicKeyFile, readHotUpdaterInitEnv, readLoadedEnvFile, readLoadedHotUpdaterEnv, readLocalKey, readMissingFromTeamSecrets, readPackageUp, readReactNativeInterface, readSecretVariables, readSecretWithSource, readSecrets, registerCredentialValue, registerSecretValue, renderAppImports, renderAppSetup, renderImportStatements, resolveExpoAutolinking, resolveHotUpdaterServerVersion, resolveInitProviderInput, resolveInitProviderInputs, resolveLocalSecretsPath, resolvePackageVersion, resolveSecretsAdapter, secretEnv, secretEnvHelper, secretVariableName, serverDefinitionOf, setConfiguredSecrets, shouldAutoSelectOnlyInitResource, storeEnvFileSecrets, stripAnsi, transformEnv, transformTemplate, withCredentialResolver, withSecretsScope, writeHotUpdaterConfig, writeHotUpdaterFiles, writeLocalKey };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hot-updater/cli-tools",
3
- "version": "1.2.0-rc.6",
3
+ "version": "1.2.0-rc.7",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": "^22.23.4 || ^24.22.1 || >=26.12.1"
@@ -49,9 +49,9 @@
49
49
  "oxc-parser": "0.141.0",
50
50
  "oxc-transform": "0.141.0",
51
51
  "unconfig": "7.5.0",
52
- "@hot-updater/protocol": "1.2.0-rc.6",
53
- "@hot-updater/plugin-core": "1.2.0-rc.6",
54
- "@hot-updater/server": "1.2.0-rc.6"
52
+ "@hot-updater/plugin-core": "1.2.0-rc.7",
53
+ "@hot-updater/server": "1.2.0-rc.7",
54
+ "@hot-updater/protocol": "1.2.0-rc.7"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@clack/prompts": "1.7.0",
@@ -65,7 +65,7 @@
65
65
  "tar": "^7.5.16",
66
66
  "verkit": "0.4.0",
67
67
  "workspace-tools": "^0.41.7",
68
- "@hot-updater/test-utils": "1.2.0-rc.6"
68
+ "@hot-updater/test-utils": "1.2.0-rc.7"
69
69
  },
70
70
  "inlinedDependencies": {
71
71
  "@babel/code-frame": "7.29.0",