expo-release-it 0.6.5 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/build/{EnvUtil-C6QbCIoV.js → EnvUtil-D5sfaKZs.js} +1 -1
- package/build/{EnvUtil-C6QbCIoV.js.map → EnvUtil-D5sfaKZs.js.map} +1 -1
- package/build/FastlaneOption-y0DYOkjC.js +50 -0
- package/build/FastlaneOption-y0DYOkjC.js.map +1 -0
- package/build/{FileUtil-Dbvp87_g.js → FileUtil-B9JnWobK.js} +1 -1
- package/build/FileUtil-B9JnWobK.js.map +1 -0
- package/build/{InqueryInputs-PVAVqVLo.js → InqueryInputs-CyW-i_4N.js} +2 -16
- package/build/InqueryInputs-CyW-i_4N.js.map +1 -0
- package/build/{MetadataSyncUtil-Bi5_nXKA.js → MetadataSyncUtil-BqWEE06B.js} +9 -9
- package/build/MetadataSyncUtil-BqWEE06B.js.map +1 -0
- package/build/NativeEnvironment-BAohR8aj.js +50 -0
- package/build/NativeEnvironment-BAohR8aj.js.map +1 -0
- package/build/{OptionHolder-CAxOu15H.js → OptionHolder-ooRZtG0l.js} +34 -28
- package/build/OptionHolder-ooRZtG0l.js.map +1 -0
- package/build/RubyEnvironment-CqupQjgn.js +113 -0
- package/build/RubyEnvironment-CqupQjgn.js.map +1 -0
- package/build/RubyEnvironment-K1nIGrMJ.d.ts +28 -0
- package/build/{VersionUtil-BoF1Ajjh.js → VersionUtil-CttA4ATC.js} +4 -4
- package/build/VersionUtil-CttA4ATC.js.map +1 -0
- package/build/build-R29EBnOC.js +64 -0
- package/build/build-R29EBnOC.js.map +1 -0
- package/build/{bump-DsocyzBq.js → bump-NbU_02fP.js} +10 -10
- package/build/bump-NbU_02fP.js.map +1 -0
- package/build/command/build.js +19 -20
- package/build/command/bump.js +12 -12
- package/build/command/init.js +11 -11
- package/build/command/pull.js +16 -20
- package/build/command/submit.js +16 -20
- package/build/command/upload.js +16 -20
- package/build/execShellScript-ZLVCvae2.js +32 -0
- package/build/execShellScript-ZLVCvae2.js.map +1 -0
- package/build/{generateAppStoreConnectApiKeyFile-C8IyAHU8.js → generateAppStoreConnectApiKeyFile-Bt2nK7lP.js} +3 -3
- package/build/{generateAppStoreConnectApiKeyFile-C8IyAHU8.js.map → generateAppStoreConnectApiKeyFile-Bt2nK7lP.js.map} +1 -1
- package/build/{hydrateKeyholderFileValues-VVpG56Tj.js → hydrateKeyholderFileValues-Cwmc5iwo.js} +3 -3
- package/build/{hydrateKeyholderFileValues-VVpG56Tj.js.map → hydrateKeyholderFileValues-Cwmc5iwo.js.map} +1 -1
- package/build/index.js +26 -28
- package/build/index.js.map +1 -1
- package/build/{init-C_bGeHeg.js → init-DwlkVt7G.js} +24 -29
- package/build/init-DwlkVt7G.js.map +1 -0
- package/build/{iterateAllFiles-CcRtjpos.js → iterateAllFiles-Yx59MXv2.js} +2 -2
- package/build/{iterateAllFiles-CcRtjpos.js.map → iterateAllFiles-Yx59MXv2.js.map} +1 -1
- package/build/logger-CSZA77Zt.js +21 -0
- package/build/logger-CSZA77Zt.js.map +1 -0
- package/build/{parseConfigFile-BHwMaG5x.js → parseConfigFile-DTkIYMK1.js} +7 -5
- package/build/parseConfigFile-DTkIYMK1.js.map +1 -0
- package/build/prepareAndroid-BQBbb44J.js +29 -0
- package/build/prepareAndroid-BQBbb44J.js.map +1 -0
- package/build/prepareFastlane-BmFwr96S.js +23 -0
- package/build/prepareFastlane-BmFwr96S.js.map +1 -0
- package/build/prepareIos-CGc-nhwf.js +63 -0
- package/build/prepareIos-CGc-nhwf.js.map +1 -0
- package/build/{pull-B-CA_IWU.js → pull-COg4G-1u.js} +28 -24
- package/build/pull-COg4G-1u.js.map +1 -0
- package/build/{setup-DGp9pB0T.js → setup-Be5UwL9d.js} +8 -8
- package/build/setup-Be5UwL9d.js.map +1 -0
- package/build/submit-BaL5kRHE.js +28 -0
- package/build/submit-BaL5kRHE.js.map +1 -0
- package/build/{throwError-bsy4sijK.js → throwError-ebp_0a_3.js} +3 -3
- package/build/{throwError-bsy4sijK.js.map → throwError-ebp_0a_3.js.map} +1 -1
- package/build/type/ExpoReleaseItConfiguration.d.ts +15 -1
- package/build/upload-BY1mGc-G.js +32 -0
- package/build/upload-BY1mGc-G.js.map +1 -0
- package/build/util/EnvUtil.js +1 -1
- package/build/util/FastlaneOption.d.ts +4 -3
- package/build/util/FastlaneOption.js +4 -4
- package/build/util/FileUtil.js +1 -1
- package/build/util/MetadataSyncUtil.d.ts +2 -2
- package/build/util/MetadataSyncUtil.js +4 -4
- package/build/util/OptionHolder.d.ts +5 -2
- package/build/util/OptionHolder.js +2 -2
- package/build/util/generateAppStoreConnectApiKeyFile.js +3 -3
- package/build/util/injectTemplatePlaceHolders.js +15 -5
- package/build/util/injectTemplatePlaceHolders.js.map +1 -0
- package/build/util/input/InqueryInputs.d.ts +0 -1
- package/build/util/input/InqueryInputs.js +3 -3
- package/build/util/iterateAllFiles.js +2 -2
- package/build/util/logger.d.ts +2 -1
- package/build/util/logger.js +4 -2
- package/build/util/parseConfigFile.js +3 -3
- package/build/util/replaceStringIfNotContain.js +9 -2
- package/build/util/replaceStringIfNotContain.js.map +1 -0
- package/build/util/setup/NativeEnvironment.d.ts +5 -0
- package/build/util/setup/NativeEnvironment.js +7 -0
- package/build/util/setup/RubyEnvironment.d.ts +2 -0
- package/build/util/setup/RubyEnvironment.js +7 -0
- package/build/util/setup/VersionUtil.js +6 -6
- package/build/util/setup/execShellScript.d.ts +11 -14
- package/build/util/setup/execShellScript.js +5 -2
- package/build/util/setup/hydrateKeyholderFileValues.js +3 -3
- package/build/util/setup/prepareAndroid.d.ts +8 -2
- package/build/util/setup/prepareAndroid.js +4 -11
- package/build/util/setup/prepareFastlane.d.ts +21 -0
- package/build/util/setup/prepareFastlane.js +9 -0
- package/build/util/setup/prepareIos.d.ts +19 -2
- package/build/util/setup/prepareIos.js +4 -10
- package/build/util/setup/setup.js +9 -9
- package/build/util/spinner.js +14 -2
- package/build/util/spinner.js.map +1 -0
- package/build/util/throwError.js +5 -3
- package/expo-release-it.schema.json +16 -2
- package/package.json +27 -21
- package/template/android/fastlane/Fastfile +8 -2
- package/template/android/release-signing.gradle +15 -0
- package/template/ios/fastlane/Fastfile +52 -18
- package/template/ruby/Gemfile +10 -0
- package/template/ruby/Gemfile.lock +330 -0
- package/build/FastlaneOption-BWY8NLId.js +0 -35
- package/build/FastlaneOption-BWY8NLId.js.map +0 -1
- package/build/FileUtil-Dbvp87_g.js.map +0 -1
- package/build/InqueryInputs-PVAVqVLo.js.map +0 -1
- package/build/MetadataSyncUtil-Bi5_nXKA.js.map +0 -1
- package/build/OptionHolder-CAxOu15H.js.map +0 -1
- package/build/VersionUtil-BoF1Ajjh.js.map +0 -1
- package/build/build-Cbx0_dPO.js +0 -88
- package/build/build-Cbx0_dPO.js.map +0 -1
- package/build/bump-DsocyzBq.js.map +0 -1
- package/build/execShellScript-Bd5xbFX5.js +0 -22
- package/build/execShellScript-Bd5xbFX5.js.map +0 -1
- package/build/init-C_bGeHeg.js.map +0 -1
- package/build/injectTemplatePlaceHolders-B4AQiU2x.js +0 -16
- package/build/injectTemplatePlaceHolders-B4AQiU2x.js.map +0 -1
- package/build/logger-DvQ7ScMQ.js +0 -16
- package/build/logger-DvQ7ScMQ.js.map +0 -1
- package/build/parseConfigFile-BHwMaG5x.js.map +0 -1
- package/build/prepareAndroid-CuLmswiw.js +0 -53
- package/build/prepareAndroid-CuLmswiw.js.map +0 -1
- package/build/prepareIos-BFyttZm3.js +0 -33
- package/build/prepareIos-BFyttZm3.js.map +0 -1
- package/build/pull-B-CA_IWU.js.map +0 -1
- package/build/replaceStringIfNotContain-BncPMRZq.js +0 -10
- package/build/replaceStringIfNotContain-BncPMRZq.js.map +0 -1
- package/build/setup-DGp9pB0T.js.map +0 -1
- package/build/spinner-BVmbE9I_.js +0 -15
- package/build/spinner-BVmbE9I_.js.map +0 -1
- package/build/submit-BMCaqZkr.js +0 -65
- package/build/submit-BMCaqZkr.js.map +0 -1
- package/build/upload-BH5AHQoj.js +0 -68
- package/build/upload-BH5AHQoj.js.map +0 -1
- package/template/android/Gemfile +0 -3
- package/template/ios/Gemfile +0 -5
- package/template/ios/fastlane/Appfile +0 -2
- package/template/ios/fastlane/Matchfile +0 -14
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { calculateElapsed } from "./calculateElapsed-DORWymX3.js";
|
|
2
|
+
import { copy, exist, relativePath, remove, resolve } from "./FileUtil-B9JnWobK.js";
|
|
3
|
+
import { OptionHolder } from "./OptionHolder-ooRZtG0l.js";
|
|
4
|
+
import { runFastlane } from "./FastlaneOption-y0DYOkjC.js";
|
|
5
|
+
import { InqueryInputs } from "./InqueryInputs-CyW-i_4N.js";
|
|
6
|
+
import { logger } from "./logger-CSZA77Zt.js";
|
|
7
|
+
import { exe } from "./execShellScript-ZLVCvae2.js";
|
|
8
|
+
import { inspectNativeEnvironment } from "./NativeEnvironment-BAohR8aj.js";
|
|
9
|
+
import { androidSigningEnvironment, prepareAndroid } from "./prepareAndroid-BQBbb44J.js";
|
|
10
|
+
import { inspectRubyEnvironment } from "./RubyEnvironment-CqupQjgn.js";
|
|
11
|
+
import { prepareFastlane } from "./prepareFastlane-BmFwr96S.js";
|
|
12
|
+
import { prepareIos } from "./prepareIos-CGc-nhwf.js";
|
|
13
|
+
import { setup } from "./setup-Be5UwL9d.js";
|
|
14
|
+
import { dirname } from "node:path";
|
|
15
|
+
import chalk from "chalk";
|
|
16
|
+
|
|
17
|
+
//#region src/command/build.ts
|
|
18
|
+
async function build({ options }) {
|
|
19
|
+
Object.assign(OptionHolder.input, options);
|
|
20
|
+
const startTime = Date.now();
|
|
21
|
+
await setup();
|
|
22
|
+
await InqueryInputs.platform();
|
|
23
|
+
await InqueryInputs.androidBuildOutput();
|
|
24
|
+
const isIos = OptionHolder.input.platform === "ios";
|
|
25
|
+
if (!isIos && OptionHolder.input.sign === false) throw new Error("--no-sign is only supported for iOS. Android release builds require a signing key.");
|
|
26
|
+
const ruby = await inspectRubyEnvironment({ needsPods: isIos });
|
|
27
|
+
const signingEnv = isIos ? {} : androidSigningEnvironment();
|
|
28
|
+
const prebuild = await inspectNativeEnvironment();
|
|
29
|
+
await prepareFastlane(ruby);
|
|
30
|
+
let artifact;
|
|
31
|
+
if (isIos) {
|
|
32
|
+
await prepareIos({
|
|
33
|
+
ruby,
|
|
34
|
+
prebuild
|
|
35
|
+
});
|
|
36
|
+
await runFastlane(ruby, "build");
|
|
37
|
+
artifact = resolve(OptionHolder.resourcesDir, "output", "ios", OptionHolder.input.sign === false ? "app.xcarchive" : "app.ipa");
|
|
38
|
+
} else {
|
|
39
|
+
await prepareAndroid(prebuild);
|
|
40
|
+
const isAab = OptionHolder.input.androidOutput === "aab";
|
|
41
|
+
await exe("./gradlew", [isAab ? "app:bundleRelease" : "app:assembleRelease"], {
|
|
42
|
+
cwd: resolve(OptionHolder.projectDir, "android"),
|
|
43
|
+
env: {
|
|
44
|
+
...signingEnv,
|
|
45
|
+
PATH: `${dirname(process.execPath)}:${process.env.PATH ?? ""}`
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const output = isAab ? "aab" : "apk";
|
|
49
|
+
const outputDir = resolve(OptionHolder.resourcesDir, "output", "android", output);
|
|
50
|
+
const buildOutput = resolve(OptionHolder.projectDir, "android", "app", "build", "outputs", isAab ? "bundle" : "apk", "release");
|
|
51
|
+
const binary = resolve(buildOutput, `app-release.${output}`);
|
|
52
|
+
if (!exist(binary)) throw new Error(`Release build output is missing: ${binary}`);
|
|
53
|
+
remove(outputDir);
|
|
54
|
+
copy(buildOutput, outputDir);
|
|
55
|
+
artifact = resolve(outputDir, `app-release.${output}`);
|
|
56
|
+
}
|
|
57
|
+
if (!exist(artifact)) throw new Error(`Expected build artifact was not generated: ${artifact}`);
|
|
58
|
+
logger.success(`artifact generated: ${relativePath(OptionHolder.projectDir, artifact)}`);
|
|
59
|
+
logger.success(`${isIos ? "iOS" : "Android"} Build ${chalk.bold.inverse(calculateElapsed(startTime))}`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
//#endregion
|
|
63
|
+
export { build };
|
|
64
|
+
//# sourceMappingURL=build-R29EBnOC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-R29EBnOC.js","names":["artifact: string"],"sources":["../src/command/build.ts"],"sourcesContent":["import { dirname } from 'node:path';\n\nimport chalk from 'chalk';\n\nimport { calculateElapsed } from '../util/calculateElapsed';\nimport { runFastlane } from '../util/FastlaneOption';\nimport { copy, exist, relativePath, remove, resolve } from '../util/FileUtil';\nimport { InqueryInputs } from '../util/input/InqueryInputs';\nimport { logger } from '../util/logger';\nimport { OptionHolder } from '../util/OptionHolder';\nimport { exe } from '../util/setup/execShellScript';\nimport { inspectNativeEnvironment } from '../util/setup/NativeEnvironment';\nimport { androidSigningEnvironment, prepareAndroid } from '../util/setup/prepareAndroid';\nimport { prepareFastlane } from '../util/setup/prepareFastlane';\nimport { prepareIos } from '../util/setup/prepareIos';\nimport { inspectRubyEnvironment } from '../util/setup/RubyEnvironment';\nimport { setup } from '../util/setup/setup';\n\nexport async function build({ options }: { options: any }) {\n Object.assign(OptionHolder.input, options);\n const startTime = Date.now();\n await setup();\n await InqueryInputs.platform();\n await InqueryInputs.androidBuildOutput();\n const isIos = OptionHolder.input.platform === 'ios';\n if (!isIos && OptionHolder.input.sign === false)\n throw new Error(\n '--no-sign is only supported for iOS. Android release builds require a signing key.',\n );\n const ruby = await inspectRubyEnvironment({ needsPods: isIos });\n const signingEnv = isIos ? {} : androidSigningEnvironment();\n const prebuild = await inspectNativeEnvironment();\n await prepareFastlane(ruby);\n let artifact: string;\n if (isIos) {\n await prepareIos({ ruby, prebuild });\n await runFastlane(ruby, 'build');\n artifact = resolve(\n OptionHolder.resourcesDir,\n 'output',\n 'ios',\n OptionHolder.input.sign === false ? 'app.xcarchive' : 'app.ipa',\n );\n } else {\n await prepareAndroid(prebuild);\n const isAab = OptionHolder.input.androidOutput === 'aab';\n await exe('./gradlew', [isAab ? 'app:bundleRelease' : 'app:assembleRelease'], {\n cwd: resolve(OptionHolder.projectDir, 'android'),\n env: { ...signingEnv, PATH: `${dirname(process.execPath)}:${process.env.PATH ?? ''}` },\n });\n // aab: app/build/outputs/bundle/release/app-release.aab\n // apk: app/build/outputs/apk/release/app-release.apk\n const output = isAab ? 'aab' : 'apk';\n const outputDir = resolve(OptionHolder.resourcesDir, 'output', 'android', output);\n const buildOutput = resolve(\n OptionHolder.projectDir,\n 'android',\n 'app',\n 'build',\n 'outputs',\n isAab ? 'bundle' : 'apk',\n 'release',\n );\n const binary = resolve(buildOutput, `app-release.${output}`);\n if (!exist(binary)) throw new Error(`Release build output is missing: ${binary}`);\n remove(outputDir);\n copy(buildOutput, outputDir);\n artifact = resolve(outputDir, `app-release.${output}`);\n }\n if (!exist(artifact)) throw new Error(`Expected build artifact was not generated: ${artifact}`);\n logger.success(`artifact generated: ${relativePath(OptionHolder.projectDir, artifact)}`);\n logger.success(\n `${isIos ? 'iOS' : 'Android'} Build ${chalk.bold.inverse(calculateElapsed(startTime))}`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,eAAsB,MAAM,EAAE,SAA2B,EAAE;AACzD,QAAO,OAAO,aAAa,OAAO,QAAQ;CAC1C,MAAM,YAAY,KAAK,KAAK;AAC5B,OAAM,OAAO;AACb,OAAM,cAAc,UAAU;AAC9B,OAAM,cAAc,oBAAoB;CACxC,MAAM,QAAQ,aAAa,MAAM,aAAa;AAC9C,MAAK,SAAS,aAAa,MAAM,SAAS,MACxC,OAAM,IAAI,MACR;CAEJ,MAAM,OAAO,MAAM,uBAAuB,EAAE,WAAW,MAAO,EAAC;CAC/D,MAAM,aAAa,QAAQ,CAAE,IAAG,2BAA2B;CAC3D,MAAM,WAAW,MAAM,0BAA0B;AACjD,OAAM,gBAAgB,KAAK;CAC3B,IAAIA;AACJ,KAAI,OAAO;AACT,QAAM,WAAW;GAAE;GAAM;EAAU,EAAC;AACpC,QAAM,YAAY,MAAM,QAAQ;AAChC,aAAW,QACT,aAAa,cACb,UACA,OACA,aAAa,MAAM,SAAS,QAAQ,kBAAkB,UACvD;CACF,OAAM;AACL,QAAM,eAAe,SAAS;EAC9B,MAAM,QAAQ,aAAa,MAAM,kBAAkB;AACnD,QAAM,IAAI,aAAa,CAAC,QAAQ,sBAAsB,qBAAsB,GAAE;GAC5E,KAAK,QAAQ,aAAa,YAAY,UAAU;GAChD,KAAK;IAAE,GAAG;IAAY,OAAO,EAAE,QAAQ,QAAQ,SAAS,CAAC,GAAG,QAAQ,IAAI,QAAQ,GAAG;GAAG;EACvF,EAAC;EAGF,MAAM,SAAS,QAAQ,QAAQ;EAC/B,MAAM,YAAY,QAAQ,aAAa,cAAc,UAAU,WAAW,OAAO;EACjF,MAAM,cAAc,QAClB,aAAa,YACb,WACA,OACA,SACA,WACA,QAAQ,WAAW,OACnB,UACD;EACD,MAAM,SAAS,QAAQ,cAAc,cAAc,OAAO,EAAE;AAC5D,OAAK,MAAM,OAAO,CAAE,OAAM,IAAI,OAAO,mCAAmC,OAAO;AAC/E,SAAO,UAAU;AACjB,OAAK,aAAa,UAAU;AAC5B,aAAW,QAAQ,YAAY,cAAc,OAAO,EAAE;CACvD;AACD,MAAK,MAAM,SAAS,CAAE,OAAM,IAAI,OAAO,6CAA6C,SAAS;AAC7F,QAAO,SAAS,sBAAsB,aAAa,aAAa,YAAY,SAAS,CAAC,EAAE;AACxF,QAAO,SACJ,EAAE,QAAQ,QAAQ,UAAU,SAAS,MAAM,KAAK,QAAQ,iBAAiB,UAAU,CAAC,CAAC,EACvF;AACF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { throwError } from "./throwError-
|
|
7
|
-
import { checkVersionCodeIsTiedWithVersionName, generateVersionCodeTiedWithVersionName, injectBinaryVersions } from "./VersionUtil-
|
|
8
|
-
import { setup } from "./setup-
|
|
1
|
+
import { OptionHolder } from "./OptionHolder-ooRZtG0l.js";
|
|
2
|
+
import { constructInquirerFormattedMessage } from "./InqueryInputs-CyW-i_4N.js";
|
|
3
|
+
import { logger } from "./logger-CSZA77Zt.js";
|
|
4
|
+
import { exe } from "./execShellScript-ZLVCvae2.js";
|
|
5
|
+
import { isDev } from "./EnvUtil-D5sfaKZs.js";
|
|
6
|
+
import { throwError } from "./throwError-ebp_0a_3.js";
|
|
7
|
+
import { checkVersionCodeIsTiedWithVersionName, generateVersionCodeTiedWithVersionName, injectBinaryVersions } from "./VersionUtil-CttA4ATC.js";
|
|
8
|
+
import { setup } from "./setup-Be5UwL9d.js";
|
|
9
9
|
import { is } from "@mj-studio/js-util";
|
|
10
10
|
import { select } from "@inquirer/prompts";
|
|
11
11
|
import semver from "semver";
|
|
@@ -48,7 +48,7 @@ async function preCheck() {
|
|
|
48
48
|
"--quiet",
|
|
49
49
|
"HEAD"
|
|
50
50
|
]);
|
|
51
|
-
} catch
|
|
51
|
+
} catch {
|
|
52
52
|
hasChange = true;
|
|
53
53
|
}
|
|
54
54
|
if (hasChange) throwError("Workspace is not clean. Before bump version, you should commit all changes.");
|
|
@@ -119,4 +119,4 @@ async function promptTagAndPush({ nextVersionCode, nextVersionName }) {
|
|
|
119
119
|
|
|
120
120
|
//#endregion
|
|
121
121
|
export { bump };
|
|
122
|
-
//# sourceMappingURL=bump-
|
|
122
|
+
//# sourceMappingURL=bump-NbU_02fP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bump-NbU_02fP.js","names":[],"sources":["../src/command/bump.ts"],"sourcesContent":["import { select } from '@inquirer/prompts';\nimport { is } from '@mj-studio/js-util';\nimport semver from 'semver';\n\nimport { isDev } from '../util/EnvUtil';\nimport { constructInquirerFormattedMessage } from '../util/input/InqueryInputs';\nimport { logger } from '../util/logger';\nimport { OptionHolder } from '../util/OptionHolder';\nimport { exe } from '../util/setup/execShellScript';\nimport { setup } from '../util/setup/setup';\nimport {\n checkVersionCodeIsTiedWithVersionName,\n generateVersionCodeTiedWithVersionName,\n injectBinaryVersions,\n} from '../util/setup/VersionUtil';\nimport { throwError } from '../util/throwError';\n\nexport async function bump({ options }: { options: any }) {\n Object.assign(OptionHolder.input, options);\n await preCheck();\n await setup();\n\n const nextVersionName = semver.inc(OptionHolder.versionName, OptionHolder.input.semverIncrement)!;\n const nextVersionCode = (() => {\n if (checkVersionCodeIsTiedWithVersionName(OptionHolder.versionName, OptionHolder.versionCode)) {\n return generateVersionCodeTiedWithVersionName(nextVersionName);\n } else {\n logger.warn(\n 'version name is not tied with version code like (1.3.5=1003005). Version code is just incremented by 1.',\n );\n return `${Number(OptionHolder.versionCode) + 1}`;\n }\n })();\n\n logger.info(`Next Version: ${nextVersionName}(${nextVersionCode})`);\n\n await injectBinaryVersions({ versionName: nextVersionName, versionCode: nextVersionCode });\n logger.success('Binary versions have been bumped in expo config file');\n\n await processCommit({ nextVersionName, nextVersionCode });\n if (OptionHolder.input.git.commit) {\n await promptTagAndPush({ nextVersionName, nextVersionCode });\n }\n}\n\nasync function preCheck() {\n if (isDev) return;\n try {\n let hasChange = false;\n try {\n await exe('git', ['diff', '--quiet', 'HEAD']);\n } catch {\n hasChange = true;\n }\n if (hasChange) {\n throwError('Workspace is not clean. Before bump version, you should commit all changes.');\n }\n } catch (e) {\n throwError('Precheck Failed', e);\n }\n}\n\nasync function processCommit({\n nextVersionCode,\n nextVersionName,\n}: {\n nextVersionName: string;\n nextVersionCode: string;\n}) {\n if (!is.boolean(OptionHolder.input.git.commit)) {\n OptionHolder.input.git.commit = await select({\n message: constructInquirerFormattedMessage({ name: 'Commit?' }),\n choices: [\n { name: 'yes', value: true },\n { name: 'no', value: false },\n ],\n });\n }\n if (!is.notEmptyString(OptionHolder.input.git.commitMessage)) {\n OptionHolder.input.git.commitMessage = 'chore: release $(version) 🚀';\n }\n\n if (OptionHolder.input.git.commit) {\n await exe('git', ['add', '--all']);\n await exe('git', [\n 'commit',\n '-m',\n OptionHolder.input.git.commitMessage!.replaceAll(\n '$(version)',\n `${nextVersionName}(${nextVersionCode})`,\n ),\n ]);\n }\n}\n\nasync function promptTagAndPush({\n nextVersionCode,\n nextVersionName,\n}: {\n nextVersionName: string;\n nextVersionCode: string;\n}) {\n if (!is.boolean(OptionHolder.input.git.tag)) {\n OptionHolder.input.git.tag = await select({\n message: constructInquirerFormattedMessage({ name: 'Tag?' }),\n choices: [\n { name: 'yes', value: true },\n { name: 'no', value: false },\n ],\n });\n }\n if (!is.notEmptyString(OptionHolder.input.git.tagName)) {\n OptionHolder.input.git.tagName = 'v$(version)';\n }\n\n const tagName = OptionHolder.input.git.tagName!.replaceAll(\n '$(version)',\n `${nextVersionName}(${nextVersionCode})`,\n );\n\n if (OptionHolder.input.git.tag) {\n await exe('git', ['tag', '-a', tagName, '-m', tagName]);\n }\n\n if (!is.boolean(OptionHolder.input.git.push)) {\n OptionHolder.input.git.push = await select({\n message: constructInquirerFormattedMessage({ name: 'Push?' }),\n choices: [\n { name: 'yes', value: true },\n { name: 'no', value: false },\n ],\n });\n }\n\n if (OptionHolder.input.git.push) {\n if (OptionHolder.input.git.tag) {\n await exe('git', ['push', 'origin', tagName]);\n }\n await exe('git', ['push']);\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,eAAsB,KAAK,EAAE,SAA2B,EAAE;AACxD,QAAO,OAAO,aAAa,OAAO,QAAQ;AAC1C,OAAM,UAAU;AAChB,OAAM,OAAO;CAEb,MAAM,kBAAkB,OAAO,IAAI,aAAa,aAAa,aAAa,MAAM,gBAAgB;CAChG,MAAM,kBAAkB,CAAC,MAAM;AAC7B,MAAI,sCAAsC,aAAa,aAAa,aAAa,YAAY,CAC3F,QAAO,uCAAuC,gBAAgB;OACzD;AACL,UAAO,KACL,0GACD;AACD,WAAQ,EAAE,OAAO,aAAa,YAAY,GAAG,EAAE;EAChD;CACF,IAAG;AAEJ,QAAO,MAAM,gBAAgB,gBAAgB,GAAG,gBAAgB,GAAG;AAEnE,OAAM,qBAAqB;EAAE,aAAa;EAAiB,aAAa;CAAiB,EAAC;AAC1F,QAAO,QAAQ,uDAAuD;AAEtE,OAAM,cAAc;EAAE;EAAiB;CAAiB,EAAC;AACzD,KAAI,aAAa,MAAM,IAAI,OACzB,OAAM,iBAAiB;EAAE;EAAiB;CAAiB,EAAC;AAE/D;AAED,eAAe,WAAW;AACxB,KAAI,MAAO;AACX,KAAI;EACF,IAAI,YAAY;AAChB,MAAI;AACF,SAAM,IAAI,OAAO;IAAC;IAAQ;IAAW;GAAO,EAAC;EAC9C,QAAO;AACN,eAAY;EACb;AACD,MAAI,UACF,YAAW,8EAA8E;CAE5F,SAAQ,GAAG;AACV,aAAW,mBAAmB,EAAE;CACjC;AACF;AAED,eAAe,cAAc,EAC3B,iBACA,iBAID,EAAE;AACD,MAAK,GAAG,QAAQ,aAAa,MAAM,IAAI,OAAO,CAC5C,cAAa,MAAM,IAAI,SAAS,MAAM,OAAO;EAC3C,SAAS,kCAAkC,EAAE,MAAM,UAAW,EAAC;EAC/D,SAAS,CACP;GAAE,MAAM;GAAO,OAAO;EAAM,GAC5B;GAAE,MAAM;GAAM,OAAO;EAAO,CAC7B;CACF,EAAC;AAEJ,MAAK,GAAG,eAAe,aAAa,MAAM,IAAI,cAAc,CAC1D,cAAa,MAAM,IAAI,gBAAgB;AAGzC,KAAI,aAAa,MAAM,IAAI,QAAQ;AACjC,QAAM,IAAI,OAAO,CAAC,OAAO,OAAQ,EAAC;AAClC,QAAM,IAAI,OAAO;GACf;GACA;GACA,aAAa,MAAM,IAAI,cAAe,WACpC,eACC,EAAE,gBAAgB,GAAG,gBAAgB,GACvC;EACF,EAAC;CACH;AACF;AAED,eAAe,iBAAiB,EAC9B,iBACA,iBAID,EAAE;AACD,MAAK,GAAG,QAAQ,aAAa,MAAM,IAAI,IAAI,CACzC,cAAa,MAAM,IAAI,MAAM,MAAM,OAAO;EACxC,SAAS,kCAAkC,EAAE,MAAM,OAAQ,EAAC;EAC5D,SAAS,CACP;GAAE,MAAM;GAAO,OAAO;EAAM,GAC5B;GAAE,MAAM;GAAM,OAAO;EAAO,CAC7B;CACF,EAAC;AAEJ,MAAK,GAAG,eAAe,aAAa,MAAM,IAAI,QAAQ,CACpD,cAAa,MAAM,IAAI,UAAU;CAGnC,MAAM,UAAU,aAAa,MAAM,IAAI,QAAS,WAC9C,eACC,EAAE,gBAAgB,GAAG,gBAAgB,GACvC;AAED,KAAI,aAAa,MAAM,IAAI,IACzB,OAAM,IAAI,OAAO;EAAC;EAAO;EAAM;EAAS;EAAM;CAAQ,EAAC;AAGzD,MAAK,GAAG,QAAQ,aAAa,MAAM,IAAI,KAAK,CAC1C,cAAa,MAAM,IAAI,OAAO,MAAM,OAAO;EACzC,SAAS,kCAAkC,EAAE,MAAM,QAAS,EAAC;EAC7D,SAAS,CACP;GAAE,MAAM;GAAO,OAAO;EAAM,GAC5B;GAAE,MAAM;GAAM,OAAO;EAAO,CAC7B;CACF,EAAC;AAGJ,KAAI,aAAa,MAAM,IAAI,MAAM;AAC/B,MAAI,aAAa,MAAM,IAAI,IACzB,OAAM,IAAI,OAAO;GAAC;GAAQ;GAAU;EAAQ,EAAC;AAE/C,QAAM,IAAI,OAAO,CAAC,MAAO,EAAC;CAC3B;AACF"}
|
package/build/command/build.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import "../calculateElapsed-DORWymX3.js";
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import "../
|
|
10
|
-
import "../
|
|
11
|
-
import "../
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../
|
|
17
|
-
import "../
|
|
18
|
-
import "../
|
|
19
|
-
import "../
|
|
20
|
-
import "../
|
|
21
|
-
import { build } from "../build-Cbx0_dPO.js";
|
|
2
|
+
import "../FileUtil-B9JnWobK.js";
|
|
3
|
+
import "../OptionHolder-ooRZtG0l.js";
|
|
4
|
+
import "../FastlaneOption-y0DYOkjC.js";
|
|
5
|
+
import "../InqueryInputs-CyW-i_4N.js";
|
|
6
|
+
import "../logger-CSZA77Zt.js";
|
|
7
|
+
import "../execShellScript-ZLVCvae2.js";
|
|
8
|
+
import "../NativeEnvironment-BAohR8aj.js";
|
|
9
|
+
import "../prepareAndroid-BQBbb44J.js";
|
|
10
|
+
import "../MetadataSyncUtil-BqWEE06B.js";
|
|
11
|
+
import "../RubyEnvironment-CqupQjgn.js";
|
|
12
|
+
import "../prepareFastlane-BmFwr96S.js";
|
|
13
|
+
import "../prepareIos-CGc-nhwf.js";
|
|
14
|
+
import "../EnvUtil-D5sfaKZs.js";
|
|
15
|
+
import "../parseConfigFile-DTkIYMK1.js";
|
|
16
|
+
import "../hydrateKeyholderFileValues-Cwmc5iwo.js";
|
|
17
|
+
import "../throwError-ebp_0a_3.js";
|
|
18
|
+
import "../VersionUtil-CttA4ATC.js";
|
|
19
|
+
import "../setup-Be5UwL9d.js";
|
|
20
|
+
import { build } from "../build-R29EBnOC.js";
|
|
22
21
|
|
|
23
22
|
export { build };
|
package/build/command/bump.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
7
|
-
import "../parseConfigFile-
|
|
8
|
-
import "../hydrateKeyholderFileValues-
|
|
9
|
-
import "../throwError-
|
|
10
|
-
import "../VersionUtil-
|
|
11
|
-
import "../setup-
|
|
12
|
-
import { bump } from "../bump-
|
|
1
|
+
import "../FileUtil-B9JnWobK.js";
|
|
2
|
+
import "../OptionHolder-ooRZtG0l.js";
|
|
3
|
+
import "../InqueryInputs-CyW-i_4N.js";
|
|
4
|
+
import "../logger-CSZA77Zt.js";
|
|
5
|
+
import "../execShellScript-ZLVCvae2.js";
|
|
6
|
+
import "../EnvUtil-D5sfaKZs.js";
|
|
7
|
+
import "../parseConfigFile-DTkIYMK1.js";
|
|
8
|
+
import "../hydrateKeyholderFileValues-Cwmc5iwo.js";
|
|
9
|
+
import "../throwError-ebp_0a_3.js";
|
|
10
|
+
import "../VersionUtil-CttA4ATC.js";
|
|
11
|
+
import "../setup-Be5UwL9d.js";
|
|
12
|
+
import { bump } from "../bump-NbU_02fP.js";
|
|
13
13
|
|
|
14
14
|
export { bump };
|
package/build/command/init.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../parseConfigFile-
|
|
7
|
-
import "../hydrateKeyholderFileValues-
|
|
8
|
-
import "../throwError-
|
|
9
|
-
import "../VersionUtil-
|
|
10
|
-
import "../setup-
|
|
11
|
-
import { init } from "../init-
|
|
1
|
+
import "../FileUtil-B9JnWobK.js";
|
|
2
|
+
import "../OptionHolder-ooRZtG0l.js";
|
|
3
|
+
import "../InqueryInputs-CyW-i_4N.js";
|
|
4
|
+
import "../logger-CSZA77Zt.js";
|
|
5
|
+
import "../EnvUtil-D5sfaKZs.js";
|
|
6
|
+
import "../parseConfigFile-DTkIYMK1.js";
|
|
7
|
+
import "../hydrateKeyholderFileValues-Cwmc5iwo.js";
|
|
8
|
+
import "../throwError-ebp_0a_3.js";
|
|
9
|
+
import "../VersionUtil-CttA4ATC.js";
|
|
10
|
+
import "../setup-Be5UwL9d.js";
|
|
11
|
+
import { init } from "../init-DwlkVt7G.js";
|
|
12
12
|
|
|
13
13
|
export { init };
|
package/build/command/pull.js
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import "../
|
|
10
|
-
import "../
|
|
11
|
-
import "../
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../
|
|
17
|
-
import "../VersionUtil-BoF1Ajjh.js";
|
|
18
|
-
import "../setup-DGp9pB0T.js";
|
|
19
|
-
import "../generateAppStoreConnectApiKeyFile-C8IyAHU8.js";
|
|
20
|
-
import { pull } from "../pull-B-CA_IWU.js";
|
|
1
|
+
import "../FileUtil-B9JnWobK.js";
|
|
2
|
+
import "../OptionHolder-ooRZtG0l.js";
|
|
3
|
+
import "../InqueryInputs-CyW-i_4N.js";
|
|
4
|
+
import "../logger-CSZA77Zt.js";
|
|
5
|
+
import "../execShellScript-ZLVCvae2.js";
|
|
6
|
+
import "../MetadataSyncUtil-BqWEE06B.js";
|
|
7
|
+
import "../RubyEnvironment-CqupQjgn.js";
|
|
8
|
+
import "../prepareFastlane-BmFwr96S.js";
|
|
9
|
+
import "../EnvUtil-D5sfaKZs.js";
|
|
10
|
+
import "../parseConfigFile-DTkIYMK1.js";
|
|
11
|
+
import "../hydrateKeyholderFileValues-Cwmc5iwo.js";
|
|
12
|
+
import "../throwError-ebp_0a_3.js";
|
|
13
|
+
import "../VersionUtil-CttA4ATC.js";
|
|
14
|
+
import "../setup-Be5UwL9d.js";
|
|
15
|
+
import "../generateAppStoreConnectApiKeyFile-Bt2nK7lP.js";
|
|
16
|
+
import { pull } from "../pull-COg4G-1u.js";
|
|
21
17
|
|
|
22
18
|
export { pull };
|
package/build/command/submit.js
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
import "../calculateElapsed-DORWymX3.js";
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import "../
|
|
10
|
-
import "../
|
|
11
|
-
import "../
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../
|
|
17
|
-
import "../
|
|
18
|
-
import "../throwError-bsy4sijK.js";
|
|
19
|
-
import "../VersionUtil-BoF1Ajjh.js";
|
|
20
|
-
import "../setup-DGp9pB0T.js";
|
|
21
|
-
import { submit } from "../submit-BMCaqZkr.js";
|
|
2
|
+
import "../FileUtil-B9JnWobK.js";
|
|
3
|
+
import "../OptionHolder-ooRZtG0l.js";
|
|
4
|
+
import "../FastlaneOption-y0DYOkjC.js";
|
|
5
|
+
import "../InqueryInputs-CyW-i_4N.js";
|
|
6
|
+
import "../logger-CSZA77Zt.js";
|
|
7
|
+
import "../execShellScript-ZLVCvae2.js";
|
|
8
|
+
import "../MetadataSyncUtil-BqWEE06B.js";
|
|
9
|
+
import "../RubyEnvironment-CqupQjgn.js";
|
|
10
|
+
import "../prepareFastlane-BmFwr96S.js";
|
|
11
|
+
import "../EnvUtil-D5sfaKZs.js";
|
|
12
|
+
import "../parseConfigFile-DTkIYMK1.js";
|
|
13
|
+
import "../hydrateKeyholderFileValues-Cwmc5iwo.js";
|
|
14
|
+
import "../throwError-ebp_0a_3.js";
|
|
15
|
+
import "../VersionUtil-CttA4ATC.js";
|
|
16
|
+
import "../setup-Be5UwL9d.js";
|
|
17
|
+
import { submit } from "../submit-BaL5kRHE.js";
|
|
22
18
|
|
|
23
19
|
export { submit };
|
package/build/command/upload.js
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
import "../calculateElapsed-DORWymX3.js";
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import "../
|
|
10
|
-
import "../
|
|
11
|
-
import "../
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../
|
|
17
|
-
import "../
|
|
18
|
-
import "../throwError-bsy4sijK.js";
|
|
19
|
-
import "../VersionUtil-BoF1Ajjh.js";
|
|
20
|
-
import "../setup-DGp9pB0T.js";
|
|
21
|
-
import { upload } from "../upload-BH5AHQoj.js";
|
|
2
|
+
import "../FileUtil-B9JnWobK.js";
|
|
3
|
+
import "../OptionHolder-ooRZtG0l.js";
|
|
4
|
+
import "../FastlaneOption-y0DYOkjC.js";
|
|
5
|
+
import "../InqueryInputs-CyW-i_4N.js";
|
|
6
|
+
import "../logger-CSZA77Zt.js";
|
|
7
|
+
import "../execShellScript-ZLVCvae2.js";
|
|
8
|
+
import "../MetadataSyncUtil-BqWEE06B.js";
|
|
9
|
+
import "../RubyEnvironment-CqupQjgn.js";
|
|
10
|
+
import "../prepareFastlane-BmFwr96S.js";
|
|
11
|
+
import "../EnvUtil-D5sfaKZs.js";
|
|
12
|
+
import "../parseConfigFile-DTkIYMK1.js";
|
|
13
|
+
import "../hydrateKeyholderFileValues-Cwmc5iwo.js";
|
|
14
|
+
import "../throwError-ebp_0a_3.js";
|
|
15
|
+
import "../VersionUtil-CttA4ATC.js";
|
|
16
|
+
import "../setup-Be5UwL9d.js";
|
|
17
|
+
import { upload } from "../upload-BY1mGc-G.js";
|
|
22
18
|
|
|
23
19
|
export { upload };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { redact } from "./logger-CSZA77Zt.js";
|
|
2
|
+
import { execa } from "execa";
|
|
3
|
+
import { createInterface } from "node:readline";
|
|
4
|
+
|
|
5
|
+
//#region src/util/setup/execShellScript.ts
|
|
6
|
+
async function printRedactedOutput(stream) {
|
|
7
|
+
let hasPrivateKey = false;
|
|
8
|
+
const privateKeyEnd = /-----END .*PRIVATE KEY-----/;
|
|
9
|
+
for await (const line of createInterface({ input: stream })) if (/-----BEGIN .*PRIVATE KEY-----/.test(line)) {
|
|
10
|
+
hasPrivateKey = !privateKeyEnd.test(line);
|
|
11
|
+
console.log("[REDACTED PRIVATE KEY]");
|
|
12
|
+
} else if (privateKeyEnd.test(line)) hasPrivateKey = false;
|
|
13
|
+
else if (!hasPrivateKey) console.log(redact(line));
|
|
14
|
+
}
|
|
15
|
+
async function exe(command, args = [], options = {}) {
|
|
16
|
+
const child = execa(command, args, {
|
|
17
|
+
...options,
|
|
18
|
+
stdin: "pipe",
|
|
19
|
+
stdout: "pipe",
|
|
20
|
+
stderr: "pipe",
|
|
21
|
+
all: true,
|
|
22
|
+
reject: false
|
|
23
|
+
});
|
|
24
|
+
if (child.all) await printRedactedOutput(child.all);
|
|
25
|
+
const result = await child;
|
|
26
|
+
if (result.failed) throw result;
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { exe, printRedactedOutput };
|
|
32
|
+
//# sourceMappingURL=execShellScript-ZLVCvae2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execShellScript-ZLVCvae2.js","names":["stream: NodeJS.ReadableStream","command: string","args: string[]","options: Pick<Options, 'cwd' | 'env' | 'extendEnv'>"],"sources":["../src/util/setup/execShellScript.ts"],"sourcesContent":["import { createInterface } from 'node:readline';\n\nimport { execa, type Options } from 'execa';\n\nimport { redact } from '../logger';\n\nexport async function printRedactedOutput(stream: NodeJS.ReadableStream) {\n let hasPrivateKey = false;\n const privateKeyEnd = /-----END .*PRIVATE KEY-----/;\n for await (const line of createInterface({ input: stream })) {\n if (/-----BEGIN .*PRIVATE KEY-----/.test(line)) {\n hasPrivateKey = !privateKeyEnd.test(line);\n console.log('[REDACTED PRIVATE KEY]');\n } else if (privateKeyEnd.test(line)) {\n hasPrivateKey = false;\n } else if (!hasPrivateKey) {\n console.log(redact(line));\n }\n }\n}\n\nexport async function exe(\n command: string,\n args: string[] = [],\n options: Pick<Options, 'cwd' | 'env' | 'extendEnv'> = {},\n) {\n const child = execa(command, args, {\n ...options,\n stdin: 'pipe',\n stdout: 'pipe',\n stderr: 'pipe',\n all: true,\n reject: false,\n });\n if (child.all) await printRedactedOutput(child.all);\n const result = await child;\n if (result.failed) throw result;\n return result;\n}\n"],"mappings":";;;;;AAMA,eAAsB,oBAAoBA,QAA+B;CACvE,IAAI,gBAAgB;CACpB,MAAM,gBAAgB;AACtB,YAAW,MAAM,QAAQ,gBAAgB,EAAE,OAAO,OAAQ,EAAC,CACzD,KAAI,gCAAgC,KAAK,KAAK,EAAE;AAC9C,mBAAiB,cAAc,KAAK,KAAK;AACzC,UAAQ,IAAI,yBAAyB;CACtC,WAAU,cAAc,KAAK,KAAK,CACjC,iBAAgB;WACN,cACV,SAAQ,IAAI,OAAO,KAAK,CAAC;AAG9B;AAED,eAAsB,IACpBC,SACAC,OAAiB,CAAE,GACnBC,UAAsD,CAAE,GACxD;CACA,MAAM,QAAQ,MAAM,SAAS,MAAM;EACjC,GAAG;EACH,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,KAAK;EACL,QAAQ;CACT,EAAC;AACF,KAAI,MAAM,IAAK,OAAM,oBAAoB,MAAM,IAAI;CACnD,MAAM,SAAS,MAAM;AACrB,KAAI,OAAO,OAAQ,OAAM;AACzB,QAAO;AACR"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { join, read, resolve, writeJson } from "./FileUtil-
|
|
2
|
-
import { OptionHolder } from "./OptionHolder-
|
|
1
|
+
import { join, read, resolve, writeJson } from "./FileUtil-B9JnWobK.js";
|
|
2
|
+
import { OptionHolder } from "./OptionHolder-ooRZtG0l.js";
|
|
3
3
|
|
|
4
4
|
//#region src/util/generateAppStoreConnectApiKeyFile.ts
|
|
5
5
|
function generateAppStoreConnectApiKeyFile() {
|
|
@@ -15,4 +15,4 @@ function generateAppStoreConnectApiKeyFile() {
|
|
|
15
15
|
|
|
16
16
|
//#endregion
|
|
17
17
|
export { generateAppStoreConnectApiKeyFile };
|
|
18
|
-
//# sourceMappingURL=generateAppStoreConnectApiKeyFile-
|
|
18
|
+
//# sourceMappingURL=generateAppStoreConnectApiKeyFile-Bt2nK7lP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateAppStoreConnectApiKeyFile-
|
|
1
|
+
{"version":3,"file":"generateAppStoreConnectApiKeyFile-Bt2nK7lP.js","names":[],"sources":["../src/util/generateAppStoreConnectApiKeyFile.ts"],"sourcesContent":["import { join, read, resolve, writeJson } from './FileUtil';\nimport { OptionHolder } from './OptionHolder';\n\nexport function generateAppStoreConnectApiKeyFile() {\n const json = {\n key: read(resolve(OptionHolder.keyDir, 'ios_app_store_connect_api_key.p8')),\n key_id: OptionHolder.keyholderMap.ios_app_store_connect_api_key_id,\n issuer_id: OptionHolder.keyholderMap.ios_app_store_connect_api_key_issuer_id,\n };\n const file = join(OptionHolder.tempDir, 'app_store_connect_api.json');\n writeJson(file, json);\n return file;\n}\n"],"mappings":";;;;AAGA,SAAgB,oCAAoC;CAClD,MAAM,OAAO;EACX,KAAK,KAAK,QAAQ,aAAa,QAAQ,mCAAmC,CAAC;EAC3E,QAAQ,aAAa,aAAa;EAClC,WAAW,aAAa,aAAa;CACtC;CACD,MAAM,OAAO,KAAK,aAAa,SAAS,6BAA6B;AACrE,WAAU,MAAM,KAAK;AACrB,QAAO;AACR"}
|
package/build/{hydrateKeyholderFileValues-VVpG56Tj.js → hydrateKeyholderFileValues-Cwmc5iwo.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { exist, readJsonSlow } from "./FileUtil-
|
|
2
|
-
import { OptionHolder } from "./OptionHolder-
|
|
1
|
+
import { exist, readJsonSlow } from "./FileUtil-B9JnWobK.js";
|
|
2
|
+
import { OptionHolder } from "./OptionHolder-ooRZtG0l.js";
|
|
3
3
|
|
|
4
4
|
//#region src/util/setup/hydrateKeyholderFileValues.ts
|
|
5
5
|
async function hydrateKeyholderFileValues() {
|
|
@@ -8,4 +8,4 @@ async function hydrateKeyholderFileValues() {
|
|
|
8
8
|
|
|
9
9
|
//#endregion
|
|
10
10
|
export { hydrateKeyholderFileValues };
|
|
11
|
-
//# sourceMappingURL=hydrateKeyholderFileValues-
|
|
11
|
+
//# sourceMappingURL=hydrateKeyholderFileValues-Cwmc5iwo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrateKeyholderFileValues-
|
|
1
|
+
{"version":3,"file":"hydrateKeyholderFileValues-Cwmc5iwo.js","names":[],"sources":["../src/util/setup/hydrateKeyholderFileValues.ts"],"sourcesContent":["import { exist, readJsonSlow } from '../FileUtil';\nimport { OptionHolder } from '../OptionHolder';\n\nexport async function hydrateKeyholderFileValues() {\n if (exist(OptionHolder.keyholderFilePath)) {\n Object.assign(OptionHolder.keyholderMap, readJsonSlow(OptionHolder.keyholderFilePath));\n }\n}\n"],"mappings":";;;;AAGA,eAAsB,6BAA6B;AACjD,KAAI,MAAM,aAAa,kBAAkB,CACvC,QAAO,OAAO,aAAa,cAAc,aAAa,aAAa,kBAAkB,CAAC;AAEzF"}
|
package/build/index.js
CHANGED
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
import "./calculateElapsed-DORWymX3.js";
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import
|
|
8
|
-
import "./
|
|
9
|
-
import "./
|
|
10
|
-
import "./
|
|
11
|
-
import "./
|
|
12
|
-
import "./
|
|
13
|
-
import "./
|
|
14
|
-
import "./
|
|
15
|
-
import "./
|
|
16
|
-
import "./
|
|
17
|
-
import "./
|
|
18
|
-
import
|
|
19
|
-
import "./
|
|
20
|
-
import "./
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import
|
|
24
|
-
import "./
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import { upload } from "./upload-BH5AHQoj.js";
|
|
2
|
+
import "./FileUtil-B9JnWobK.js";
|
|
3
|
+
import { OptionHolder } from "./OptionHolder-ooRZtG0l.js";
|
|
4
|
+
import "./FastlaneOption-y0DYOkjC.js";
|
|
5
|
+
import "./InqueryInputs-CyW-i_4N.js";
|
|
6
|
+
import { logger } from "./logger-CSZA77Zt.js";
|
|
7
|
+
import "./execShellScript-ZLVCvae2.js";
|
|
8
|
+
import "./NativeEnvironment-BAohR8aj.js";
|
|
9
|
+
import "./prepareAndroid-BQBbb44J.js";
|
|
10
|
+
import "./MetadataSyncUtil-BqWEE06B.js";
|
|
11
|
+
import "./RubyEnvironment-CqupQjgn.js";
|
|
12
|
+
import "./prepareFastlane-BmFwr96S.js";
|
|
13
|
+
import "./prepareIos-CGc-nhwf.js";
|
|
14
|
+
import "./EnvUtil-D5sfaKZs.js";
|
|
15
|
+
import "./parseConfigFile-DTkIYMK1.js";
|
|
16
|
+
import "./hydrateKeyholderFileValues-Cwmc5iwo.js";
|
|
17
|
+
import { throwError } from "./throwError-ebp_0a_3.js";
|
|
18
|
+
import "./VersionUtil-CttA4ATC.js";
|
|
19
|
+
import "./setup-Be5UwL9d.js";
|
|
20
|
+
import { build } from "./build-R29EBnOC.js";
|
|
21
|
+
import { bump } from "./bump-NbU_02fP.js";
|
|
22
|
+
import { init } from "./init-DwlkVt7G.js";
|
|
23
|
+
import "./generateAppStoreConnectApiKeyFile-Bt2nK7lP.js";
|
|
24
|
+
import { pull } from "./pull-COg4G-1u.js";
|
|
25
|
+
import { submit } from "./submit-BaL5kRHE.js";
|
|
26
|
+
import { upload } from "./upload-BY1mGc-G.js";
|
|
28
27
|
import { Command, Option } from "commander";
|
|
29
28
|
import { ExecaError } from "execa";
|
|
30
29
|
|
|
@@ -44,7 +43,7 @@ const run = () => {
|
|
|
44
43
|
...options,
|
|
45
44
|
semverIncrement: options.increment
|
|
46
45
|
} })));
|
|
47
|
-
program.command("build").description("Build artifacts").addOption(platformOption).addOption(androidBuildOutputOption).addOption(configFileOption).action(async (options) => handleError(build({ options })));
|
|
46
|
+
program.command("build").description("Build artifacts from a clean Expo CNG project").option("--no-sign", "Build an unsigned iOS archive without Apple credentials").option("--ios-project <project>", "Xcode project filename when multiple projects exist").option("--ios-target <target>", "App target when multiple app targets exist").option("--ios-scheme <scheme>", "Build scheme when multiple schemes exist").addOption(platformOption).addOption(androidBuildOutputOption).addOption(configFileOption).action(async (options) => handleError(build({ options })));
|
|
48
47
|
program.command("upload").description("Upload artifact to play console internal test track(android) and testflight(ios)").addOption(platformOption).addOption(androidBuildOutputOption).option("-m --uploadMetadata", "Upload store text metadatas").option("-s --uploadScreenshot", "Upload store screenshots").addOption(configFileOption).action(async (options) => handleError(upload({ options })));
|
|
49
48
|
program.command("submit").description("Submit Google Play Console & App Store Connect Review with latest testing track").addOption(platformOption).option("-m --uploadMetadata", "Upload store text metadatas").option("-s --uploadScreenshot", "Upload store screenshots").addOption(configFileOption).action(async (options) => handleError(submit({ options })));
|
|
50
49
|
program.command("pull").description("Download metadatas from stores").addOption(platformOption).option("-l --useLiveVersionIos", "Download metadatas from live version rather than draft").addOption(configFileOption).action(async (options) => handleError(pull({ options })));
|
|
@@ -55,7 +54,6 @@ async function handleError(promise) {
|
|
|
55
54
|
return await promise;
|
|
56
55
|
} catch (e) {
|
|
57
56
|
if (e instanceof ExecaError) {
|
|
58
|
-
logger.error(`ExecaError: command: ${e.escapedCommand}`);
|
|
59
57
|
logger.error(e.message);
|
|
60
58
|
process.exit(e.exitCode ?? 1);
|
|
61
59
|
} else throwError(`Command Failed: ${e}`);
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["promise: Promise<any>"],"sources":["../src/index.ts"],"sourcesContent":["import { Command, Option } from 'commander';\
|
|
1
|
+
{"version":3,"file":"index.js","names":["promise: Promise<any>"],"sources":["../src/index.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { ExecaError } from 'execa';\n\nimport { build } from './command/build';\nimport { bump } from './command/bump';\nimport { init } from './command/init';\nimport { pull } from './command/pull';\nimport { submit } from './command/submit';\nimport { upload } from './command/upload';\nimport { logger } from './util/logger';\nimport { OptionHolder } from './util/OptionHolder';\nimport { throwError } from './util/throwError';\n\nconst platformOption = new Option('-p --platform <platform>', 'Platform').choices([\n 'android',\n 'ios',\n]);\nconst androidBuildOutputOption = new Option(\n '--androidOutput <output>',\n 'Android Build Output',\n).choices(['aab', 'apk']);\nconst configFileOption = new Option('--config <filePath>', 'expo-release-it.config.json path');\n\nexport const run = () => {\n const program = new Command();\n program\n .name('expo-release-it')\n .description(\n 'Opinionated Expo CICD workflow CLI for building & uploading & submitting Expo projects on your machine',\n )\n .version(OptionHolder.cli.version);\n\n program\n .command('init')\n .description('Configure resources and environment')\n .addOption(configFileOption)\n .action(async (options) => handleError(init({ options })));\n\n program\n .command('bump')\n .description('Bump binary release patch version with modifying app.json')\n .addOption(\n new Option('-i --increment <increment>', 'Version increment mode')\n .default('patch')\n .choices(['major', 'minor', 'patch']),\n )\n .addOption(configFileOption)\n .action(async (options) =>\n handleError(bump({ options: { ...options, semverIncrement: options.increment } })),\n );\n\n program\n .command('build')\n .description('Build artifacts from a clean Expo CNG project')\n .option('--no-sign', 'Build an unsigned iOS archive without Apple credentials')\n .option('--ios-project <project>', 'Xcode project filename when multiple projects exist')\n .option('--ios-target <target>', 'App target when multiple app targets exist')\n .option('--ios-scheme <scheme>', 'Build scheme when multiple schemes exist')\n .addOption(platformOption)\n .addOption(androidBuildOutputOption)\n .addOption(configFileOption)\n .action(async (options) => handleError(build({ options })));\n\n program\n .command('upload')\n .description('Upload artifact to play console internal test track(android) and testflight(ios)')\n .addOption(platformOption)\n .addOption(androidBuildOutputOption)\n .option('-m --uploadMetadata', 'Upload store text metadatas')\n .option('-s --uploadScreenshot', 'Upload store screenshots')\n .addOption(configFileOption)\n .action(async (options) => handleError(upload({ options })));\n\n program\n .command('submit')\n .description('Submit Google Play Console & App Store Connect Review with latest testing track')\n .addOption(platformOption)\n .option('-m --uploadMetadata', 'Upload store text metadatas')\n .option('-s --uploadScreenshot', 'Upload store screenshots')\n .addOption(configFileOption)\n .action(async (options) => handleError(submit({ options })));\n\n program\n .command('pull')\n .description('Download metadatas from stores')\n .addOption(platformOption)\n .option('-l --useLiveVersionIos', 'Download metadatas from live version rather than draft')\n .addOption(configFileOption)\n .action(async (options) => handleError(pull({ options })));\n\n program.parse();\n};\n\nasync function handleError(promise: Promise<any>) {\n try {\n return await promise;\n } catch (e) {\n if (e instanceof ExecaError) {\n logger.error(e.message);\n process.exit(e.exitCode ?? 1);\n } else {\n throwError(`Command Failed: ${e}`);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,iBAAiB,IAAI,OAAO,4BAA4B,YAAY,QAAQ,CAChF,WACA,KACD,EAAC;AACF,MAAM,2BAA2B,IAAI,OACnC,4BACA,wBACA,QAAQ,CAAC,OAAO,KAAM,EAAC;AACzB,MAAM,mBAAmB,IAAI,OAAO,uBAAuB;AAE3D,MAAa,MAAM,MAAM;CACvB,MAAM,UAAU,IAAI;AACpB,SACG,KAAK,kBAAkB,CACvB,YACC,yGACD,CACA,QAAQ,aAAa,IAAI,QAAQ;AAEpC,SACG,QAAQ,OAAO,CACf,YAAY,sCAAsC,CAClD,UAAU,iBAAiB,CAC3B,OAAO,OAAO,YAAY,YAAY,KAAK,EAAE,QAAS,EAAC,CAAC,CAAC;AAE5D,SACG,QAAQ,OAAO,CACf,YAAY,4DAA4D,CACxE,UACC,IAAI,OAAO,8BAA8B,0BACtC,QAAQ,QAAQ,CAChB,QAAQ;EAAC;EAAS;EAAS;CAAQ,EAAC,CACxC,CACA,UAAU,iBAAiB,CAC3B,OAAO,OAAO,YACb,YAAY,KAAK,EAAE,SAAS;EAAE,GAAG;EAAS,iBAAiB,QAAQ;CAAW,EAAE,EAAC,CAAC,CACnF;AAEH,SACG,QAAQ,QAAQ,CAChB,YAAY,gDAAgD,CAC5D,OAAO,aAAa,0DAA0D,CAC9E,OAAO,2BAA2B,sDAAsD,CACxF,OAAO,yBAAyB,6CAA6C,CAC7E,OAAO,yBAAyB,2CAA2C,CAC3E,UAAU,eAAe,CACzB,UAAU,yBAAyB,CACnC,UAAU,iBAAiB,CAC3B,OAAO,OAAO,YAAY,YAAY,MAAM,EAAE,QAAS,EAAC,CAAC,CAAC;AAE7D,SACG,QAAQ,SAAS,CACjB,YAAY,mFAAmF,CAC/F,UAAU,eAAe,CACzB,UAAU,yBAAyB,CACnC,OAAO,uBAAuB,8BAA8B,CAC5D,OAAO,yBAAyB,2BAA2B,CAC3D,UAAU,iBAAiB,CAC3B,OAAO,OAAO,YAAY,YAAY,OAAO,EAAE,QAAS,EAAC,CAAC,CAAC;AAE9D,SACG,QAAQ,SAAS,CACjB,YAAY,kFAAkF,CAC9F,UAAU,eAAe,CACzB,OAAO,uBAAuB,8BAA8B,CAC5D,OAAO,yBAAyB,2BAA2B,CAC3D,UAAU,iBAAiB,CAC3B,OAAO,OAAO,YAAY,YAAY,OAAO,EAAE,QAAS,EAAC,CAAC,CAAC;AAE9D,SACG,QAAQ,OAAO,CACf,YAAY,iCAAiC,CAC7C,UAAU,eAAe,CACzB,OAAO,0BAA0B,yDAAyD,CAC1F,UAAU,iBAAiB,CAC3B,OAAO,OAAO,YAAY,YAAY,KAAK,EAAE,QAAS,EAAC,CAAC,CAAC;AAE5D,SAAQ,OAAO;AAChB;AAED,eAAe,YAAYA,SAAuB;AAChD,KAAI;AACF,SAAO,MAAM;CACd,SAAQ,GAAG;AACV,MAAI,aAAa,YAAY;AAC3B,UAAO,MAAM,EAAE,QAAQ;AACvB,WAAQ,KAAK,EAAE,YAAY,EAAE;EAC9B,MACC,aAAY,kBAAkB,EAAE,EAAE;CAErC;AACF"}
|