hot-updater 0.23.0 → 0.23.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.
- package/dist/config.cjs +8 -6
- package/dist/config.d.cts +16 -1
- package/dist/config.d.ts +16 -1
- package/dist/config.js +2 -2
- package/dist/index.cjs +135 -199
- package/dist/index.js +6 -70
- package/dist/{fingerprint-BHiixsXU.cjs → keyGeneration-BsF6FbpU.cjs} +171 -73
- package/dist/{fingerprint-11-3nNgi.js → keyGeneration-D_2zTEmt.js} +164 -93
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { _ as
|
|
2
|
+
import { _ as require_base64_js, a as createAndInjectFingerprintFiles, b as __require, c as generateFingerprints, d as getFingerprintDiff, f as showFingerprintDiff, g as require_plist, h as IosConfigParser, i as saveKeyPair, l as nativeFingerprint, m as require_out, n as getPublicKeyFromPrivate, p as isFingerprintEquals, r as loadPrivateKey, t as generateKeyPair, u as readLocalFingerprint, v as AndroidConfigParser, x as __toESM, y as __commonJS } from "./keyGeneration-D_2zTEmt.js";
|
|
3
3
|
import { EventEmitter, addAbortListener, on, once, setMaxListeners } from "node:events";
|
|
4
4
|
import childProcess, { ChildProcess, execFile, spawn, spawnSync } from "node:child_process";
|
|
5
5
|
import path from "node:path";
|
|
@@ -35437,74 +35437,6 @@ const appendOutputDirectoryIntoGitignore = ({ cwd } = {}) => {
|
|
|
35437
35437
|
});
|
|
35438
35438
|
};
|
|
35439
35439
|
|
|
35440
|
-
//#endregion
|
|
35441
|
-
//#region src/utils/signing/keyGeneration.ts
|
|
35442
|
-
/**
|
|
35443
|
-
* Generate RSA key pair for bundle signing.
|
|
35444
|
-
* @param keySize Key size in bits (2048 or 4096)
|
|
35445
|
-
* @returns Promise resolving to key pair in PEM format
|
|
35446
|
-
*/
|
|
35447
|
-
async function generateKeyPair(keySize = 4096) {
|
|
35448
|
-
return new Promise((resolve, reject) => {
|
|
35449
|
-
crypto$1.generateKeyPair("rsa", {
|
|
35450
|
-
modulusLength: keySize,
|
|
35451
|
-
publicKeyEncoding: {
|
|
35452
|
-
type: "spki",
|
|
35453
|
-
format: "pem"
|
|
35454
|
-
},
|
|
35455
|
-
privateKeyEncoding: {
|
|
35456
|
-
type: "pkcs8",
|
|
35457
|
-
format: "pem"
|
|
35458
|
-
}
|
|
35459
|
-
}, (err, publicKey, privateKey) => {
|
|
35460
|
-
if (err) reject(err);
|
|
35461
|
-
else resolve({
|
|
35462
|
-
privateKey,
|
|
35463
|
-
publicKey
|
|
35464
|
-
});
|
|
35465
|
-
});
|
|
35466
|
-
});
|
|
35467
|
-
}
|
|
35468
|
-
/**
|
|
35469
|
-
* Save key pair to disk with secure permissions.
|
|
35470
|
-
* @param keyPair Generated key pair
|
|
35471
|
-
* @param outputDir Directory to save keys
|
|
35472
|
-
*/
|
|
35473
|
-
async function saveKeyPair(keyPair, outputDir) {
|
|
35474
|
-
await fs$2.mkdir(outputDir, { recursive: true });
|
|
35475
|
-
const privateKeyPath = path.join(outputDir, "private-key.pem");
|
|
35476
|
-
const publicKeyPath = path.join(outputDir, "public-key.pem");
|
|
35477
|
-
await fs$2.writeFile(privateKeyPath, keyPair.privateKey, { mode: 384 });
|
|
35478
|
-
await fs$2.writeFile(publicKeyPath, keyPair.publicKey, { mode: 420 });
|
|
35479
|
-
}
|
|
35480
|
-
/**
|
|
35481
|
-
* Load private key from PEM file.
|
|
35482
|
-
* @param privateKeyPath Path to private key file
|
|
35483
|
-
* @returns Private key in PEM format
|
|
35484
|
-
* @throws Error if file not found or invalid format
|
|
35485
|
-
*/
|
|
35486
|
-
async function loadPrivateKey(privateKeyPath) {
|
|
35487
|
-
try {
|
|
35488
|
-
const privateKey = await fs$2.readFile(privateKeyPath, "utf-8");
|
|
35489
|
-
crypto$1.createPrivateKey(privateKey);
|
|
35490
|
-
return privateKey;
|
|
35491
|
-
} catch (error) {
|
|
35492
|
-
throw new Error(`Failed to load private key from ${privateKeyPath}: ${error.message}`);
|
|
35493
|
-
}
|
|
35494
|
-
}
|
|
35495
|
-
/**
|
|
35496
|
-
* Extract public key from private key.
|
|
35497
|
-
* @param privateKeyPEM Private key in PEM format
|
|
35498
|
-
* @returns Public key in PEM format
|
|
35499
|
-
*/
|
|
35500
|
-
function getPublicKeyFromPrivate(privateKeyPEM) {
|
|
35501
|
-
const privateKey = crypto$1.createPrivateKey(privateKeyPEM);
|
|
35502
|
-
return crypto$1.createPublicKey(privateKey).export({
|
|
35503
|
-
type: "spki",
|
|
35504
|
-
format: "pem"
|
|
35505
|
-
});
|
|
35506
|
-
}
|
|
35507
|
-
|
|
35508
35440
|
//#endregion
|
|
35509
35441
|
//#region src/utils/signing/bundleSigning.ts
|
|
35510
35442
|
/**
|
|
@@ -37538,9 +37470,13 @@ const keysGenerate = async (options = {}) => {
|
|
|
37538
37470
|
spinner.stop("Keys generated successfully");
|
|
37539
37471
|
p.log.success(`Private key: ${path.join(outputDir, "private-key.pem")}`);
|
|
37540
37472
|
p.log.success(`Public key: ${path.join(outputDir, "public-key.pem")}`);
|
|
37473
|
+
const keysDir = path.basename(outputDir);
|
|
37474
|
+
if (appendToProjectRootGitignore({
|
|
37475
|
+
cwd,
|
|
37476
|
+
globLines: [`${keysDir}/`]
|
|
37477
|
+
})) p.log.success(`Added ${keysDir}/ to .gitignore`);
|
|
37541
37478
|
console.log("");
|
|
37542
37479
|
p.log.warn("⚠️ Keep private key secure!");
|
|
37543
|
-
p.log.warn(" - Add keys/ to .gitignore");
|
|
37544
37480
|
p.log.warn(" - Use secure storage for CI/CD (AWS Secrets Manager, etc.)");
|
|
37545
37481
|
console.log("");
|
|
37546
37482
|
p.log.info("Next steps:");
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-DWy1uDak.cjs');
|
|
2
|
+
let node_path = require("node:path");
|
|
3
|
+
node_path = require_chunk.__toESM(node_path);
|
|
2
4
|
let __hot_updater_cli_tools = require("@hot-updater/cli-tools");
|
|
3
5
|
__hot_updater_cli_tools = require_chunk.__toESM(__hot_updater_cli_tools);
|
|
4
6
|
let path = require("path");
|
|
@@ -7,6 +9,10 @@ let fs = require("fs");
|
|
|
7
9
|
fs = require_chunk.__toESM(fs);
|
|
8
10
|
let __expo_fingerprint = require("@expo/fingerprint");
|
|
9
11
|
__expo_fingerprint = require_chunk.__toESM(__expo_fingerprint);
|
|
12
|
+
let node_fs_promises = require("node:fs/promises");
|
|
13
|
+
node_fs_promises = require_chunk.__toESM(node_fs_promises);
|
|
14
|
+
let node_crypto = require("node:crypto");
|
|
15
|
+
node_crypto = require_chunk.__toESM(node_crypto);
|
|
10
16
|
|
|
11
17
|
//#region ../../node_modules/.pnpm/fast-xml-parser@5.2.3/node_modules/fast-xml-parser/src/util.js
|
|
12
18
|
const nameStartChar$1 = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
|
|
@@ -1474,10 +1480,10 @@ var AndroidConfigParser = class {
|
|
|
1474
1480
|
});
|
|
1475
1481
|
}
|
|
1476
1482
|
async exists() {
|
|
1477
|
-
return this.stringsXmlPaths.some((path$
|
|
1483
|
+
return this.stringsXmlPaths.some((path$16) => fs.default.existsSync(path$16));
|
|
1478
1484
|
}
|
|
1479
1485
|
getExistingPaths() {
|
|
1480
|
-
return this.stringsXmlPaths.filter((path$
|
|
1486
|
+
return this.stringsXmlPaths.filter((path$16) => fs.default.existsSync(path$16));
|
|
1481
1487
|
}
|
|
1482
1488
|
async get(key) {
|
|
1483
1489
|
const existingPaths = this.getExistingPaths();
|
|
@@ -9232,7 +9238,7 @@ var require_fs$3 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_module
|
|
|
9232
9238
|
var require_path = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.js": ((exports) => {
|
|
9233
9239
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9234
9240
|
const os$1 = require("os");
|
|
9235
|
-
const path$
|
|
9241
|
+
const path$13 = require("path");
|
|
9236
9242
|
const IS_WINDOWS_PLATFORM = os$1.platform() === "win32";
|
|
9237
9243
|
const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
|
|
9238
9244
|
/**
|
|
@@ -9261,7 +9267,7 @@ var require_path = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_module
|
|
|
9261
9267
|
}
|
|
9262
9268
|
exports.unixify = unixify;
|
|
9263
9269
|
function makeAbsolute(cwd, filepath) {
|
|
9264
|
-
return path$
|
|
9270
|
+
return path$13.resolve(cwd, filepath);
|
|
9265
9271
|
}
|
|
9266
9272
|
exports.makeAbsolute = makeAbsolute;
|
|
9267
9273
|
function removeLeadingDotSegment(entry) {
|
|
@@ -10508,7 +10514,7 @@ var require_braces = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modu
|
|
|
10508
10514
|
//#endregion
|
|
10509
10515
|
//#region ../../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/constants.js
|
|
10510
10516
|
var require_constants$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/constants.js": ((exports, module) => {
|
|
10511
|
-
const path$
|
|
10517
|
+
const path$12 = require("path");
|
|
10512
10518
|
const WIN_SLASH = "\\\\/";
|
|
10513
10519
|
const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
|
|
10514
10520
|
/**
|
|
@@ -10633,7 +10639,7 @@ var require_constants$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node
|
|
|
10633
10639
|
CHAR_UNDERSCORE: 95,
|
|
10634
10640
|
CHAR_VERTICAL_LINE: 124,
|
|
10635
10641
|
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
|
|
10636
|
-
SEP: path$
|
|
10642
|
+
SEP: path$12.sep,
|
|
10637
10643
|
extglobChars(chars$1) {
|
|
10638
10644
|
return {
|
|
10639
10645
|
"!": {
|
|
@@ -10672,7 +10678,7 @@ var require_constants$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node
|
|
|
10672
10678
|
//#endregion
|
|
10673
10679
|
//#region ../../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/utils.js
|
|
10674
10680
|
var require_utils$2 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/utils.js": ((exports) => {
|
|
10675
|
-
const path$
|
|
10681
|
+
const path$11 = require("path");
|
|
10676
10682
|
const win32 = process.platform === "win32";
|
|
10677
10683
|
const { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants$1();
|
|
10678
10684
|
exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
|
|
@@ -10692,7 +10698,7 @@ var require_utils$2 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mod
|
|
|
10692
10698
|
};
|
|
10693
10699
|
exports.isWindows = (options) => {
|
|
10694
10700
|
if (options && typeof options.windows === "boolean") return options.windows;
|
|
10695
|
-
return win32 === true || path$
|
|
10701
|
+
return win32 === true || path$11.sep === "\\";
|
|
10696
10702
|
};
|
|
10697
10703
|
exports.escapeLast = (input, char, lastIdx) => {
|
|
10698
10704
|
const idx = input.lastIndexOf(char, lastIdx);
|
|
@@ -11868,7 +11874,7 @@ var require_parse = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modul
|
|
|
11868
11874
|
//#endregion
|
|
11869
11875
|
//#region ../../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/picomatch.js
|
|
11870
11876
|
var require_picomatch$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/picomatch.js": ((exports, module) => {
|
|
11871
|
-
const path$
|
|
11877
|
+
const path$10 = require("path");
|
|
11872
11878
|
const scan = require_scan();
|
|
11873
11879
|
const parse = require_parse();
|
|
11874
11880
|
const utils$11 = require_utils$2();
|
|
@@ -12007,7 +12013,7 @@ var require_picomatch$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node
|
|
|
12007
12013
|
* @api public
|
|
12008
12014
|
*/
|
|
12009
12015
|
picomatch$1.matchBase = (input, glob, options, posix = utils$11.isWindows(options)) => {
|
|
12010
|
-
return (glob instanceof RegExp ? glob : picomatch$1.makeRe(glob, options)).test(path$
|
|
12016
|
+
return (glob instanceof RegExp ? glob : picomatch$1.makeRe(glob, options)).test(path$10.basename(input));
|
|
12011
12017
|
};
|
|
12012
12018
|
/**
|
|
12013
12019
|
* Returns true if **any** of the given glob `patterns` match the specified `string`.
|
|
@@ -12564,7 +12570,7 @@ var require_micromatch = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_
|
|
|
12564
12570
|
//#region ../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js
|
|
12565
12571
|
var require_pattern = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js": ((exports) => {
|
|
12566
12572
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12567
|
-
const path$
|
|
12573
|
+
const path$9 = require("path");
|
|
12568
12574
|
const globParent = require_glob_parent();
|
|
12569
12575
|
const micromatch = require_micromatch();
|
|
12570
12576
|
const GLOBSTAR = "**";
|
|
@@ -12672,7 +12678,7 @@ var require_pattern = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mod
|
|
|
12672
12678
|
}
|
|
12673
12679
|
exports.endsWithSlashGlobStar = endsWithSlashGlobStar;
|
|
12674
12680
|
function isAffectDepthOfReadingPattern(pattern$1) {
|
|
12675
|
-
const basename = path$
|
|
12681
|
+
const basename = path$9.basename(pattern$1);
|
|
12676
12682
|
return endsWithSlashGlobStar(pattern$1) || isStaticPattern(basename);
|
|
12677
12683
|
}
|
|
12678
12684
|
exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
|
|
@@ -12746,7 +12752,7 @@ var require_pattern = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mod
|
|
|
12746
12752
|
}
|
|
12747
12753
|
exports.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;
|
|
12748
12754
|
function isAbsolute(pattern$1) {
|
|
12749
|
-
return path$
|
|
12755
|
+
return path$9.isAbsolute(pattern$1);
|
|
12750
12756
|
}
|
|
12751
12757
|
exports.isAbsolute = isAbsolute;
|
|
12752
12758
|
}) });
|
|
@@ -12874,10 +12880,10 @@ var require_utils$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mod
|
|
|
12874
12880
|
exports.array = array;
|
|
12875
12881
|
const errno = require_errno();
|
|
12876
12882
|
exports.errno = errno;
|
|
12877
|
-
const fs$
|
|
12878
|
-
exports.fs = fs$
|
|
12879
|
-
const path$
|
|
12880
|
-
exports.path = path$
|
|
12883
|
+
const fs$10 = require_fs$3();
|
|
12884
|
+
exports.fs = fs$10;
|
|
12885
|
+
const path$8 = require_path();
|
|
12886
|
+
exports.path = path$8;
|
|
12881
12887
|
const pattern = require_pattern();
|
|
12882
12888
|
exports.pattern = pattern;
|
|
12883
12889
|
const stream = require_stream$3();
|
|
@@ -12984,8 +12990,8 @@ var require_tasks = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modul
|
|
|
12984
12990
|
//#region ../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js
|
|
12985
12991
|
var require_async$5 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js": ((exports) => {
|
|
12986
12992
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12987
|
-
function read$3(path$
|
|
12988
|
-
settings.fs.lstat(path$
|
|
12993
|
+
function read$3(path$16, settings, callback) {
|
|
12994
|
+
settings.fs.lstat(path$16, (lstatError, lstat) => {
|
|
12989
12995
|
if (lstatError !== null) {
|
|
12990
12996
|
callFailureCallback$2(callback, lstatError);
|
|
12991
12997
|
return;
|
|
@@ -12994,7 +13000,7 @@ var require_async$5 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mod
|
|
|
12994
13000
|
callSuccessCallback$2(callback, lstat);
|
|
12995
13001
|
return;
|
|
12996
13002
|
}
|
|
12997
|
-
settings.fs.stat(path$
|
|
13003
|
+
settings.fs.stat(path$16, (statError, stat$1) => {
|
|
12998
13004
|
if (statError !== null) {
|
|
12999
13005
|
if (settings.throwErrorOnBrokenSymbolicLink) {
|
|
13000
13006
|
callFailureCallback$2(callback, statError);
|
|
@@ -13021,11 +13027,11 @@ var require_async$5 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mod
|
|
|
13021
13027
|
//#region ../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js
|
|
13022
13028
|
var require_sync$5 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js": ((exports) => {
|
|
13023
13029
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13024
|
-
function read$2(path$
|
|
13025
|
-
const lstat = settings.fs.lstatSync(path$
|
|
13030
|
+
function read$2(path$16, settings) {
|
|
13031
|
+
const lstat = settings.fs.lstatSync(path$16);
|
|
13026
13032
|
if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) return lstat;
|
|
13027
13033
|
try {
|
|
13028
|
-
const stat$1 = settings.fs.statSync(path$
|
|
13034
|
+
const stat$1 = settings.fs.statSync(path$16);
|
|
13029
13035
|
if (settings.markSymbolicLink) stat$1.isSymbolicLink = () => true;
|
|
13030
13036
|
return stat$1;
|
|
13031
13037
|
} catch (error) {
|
|
@@ -13041,12 +13047,12 @@ var require_sync$5 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modu
|
|
|
13041
13047
|
var require_fs$2 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.js": ((exports) => {
|
|
13042
13048
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13043
13049
|
exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;
|
|
13044
|
-
const fs$
|
|
13050
|
+
const fs$9 = require("fs");
|
|
13045
13051
|
exports.FILE_SYSTEM_ADAPTER = {
|
|
13046
|
-
lstat: fs$
|
|
13047
|
-
stat: fs$
|
|
13048
|
-
lstatSync: fs$
|
|
13049
|
-
statSync: fs$
|
|
13052
|
+
lstat: fs$9.lstat,
|
|
13053
|
+
stat: fs$9.stat,
|
|
13054
|
+
lstatSync: fs$9.lstatSync,
|
|
13055
|
+
statSync: fs$9.statSync
|
|
13050
13056
|
};
|
|
13051
13057
|
function createFileSystemAdapter$1(fsMethods) {
|
|
13052
13058
|
if (fsMethods === void 0) return exports.FILE_SYSTEM_ADAPTER;
|
|
@@ -13059,12 +13065,12 @@ var require_fs$2 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_module
|
|
|
13059
13065
|
//#region ../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js
|
|
13060
13066
|
var require_settings$3 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js": ((exports) => {
|
|
13061
13067
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13062
|
-
const fs$
|
|
13068
|
+
const fs$8 = require_fs$2();
|
|
13063
13069
|
var Settings$3 = class {
|
|
13064
13070
|
constructor(_options = {}) {
|
|
13065
13071
|
this._options = _options;
|
|
13066
13072
|
this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);
|
|
13067
|
-
this.fs = fs$
|
|
13073
|
+
this.fs = fs$8.createFileSystemAdapter(this._options.fs);
|
|
13068
13074
|
this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);
|
|
13069
13075
|
this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
|
|
13070
13076
|
}
|
|
@@ -13083,17 +13089,17 @@ var require_out$3 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modul
|
|
|
13083
13089
|
const sync$1 = require_sync$5();
|
|
13084
13090
|
const settings_1$3 = require_settings$3();
|
|
13085
13091
|
exports.Settings = settings_1$3.default;
|
|
13086
|
-
function stat(path$
|
|
13092
|
+
function stat(path$16, optionsOrSettingsOrCallback, callback) {
|
|
13087
13093
|
if (typeof optionsOrSettingsOrCallback === "function") {
|
|
13088
|
-
async$1.read(path$
|
|
13094
|
+
async$1.read(path$16, getSettings$2(), optionsOrSettingsOrCallback);
|
|
13089
13095
|
return;
|
|
13090
13096
|
}
|
|
13091
|
-
async$1.read(path$
|
|
13097
|
+
async$1.read(path$16, getSettings$2(optionsOrSettingsOrCallback), callback);
|
|
13092
13098
|
}
|
|
13093
13099
|
exports.stat = stat;
|
|
13094
|
-
function statSync(path$
|
|
13100
|
+
function statSync(path$16, optionsOrSettings) {
|
|
13095
13101
|
const settings = getSettings$2(optionsOrSettings);
|
|
13096
|
-
return sync$1.read(path$
|
|
13102
|
+
return sync$1.read(path$16, settings);
|
|
13097
13103
|
}
|
|
13098
13104
|
exports.statSync = statSync;
|
|
13099
13105
|
function getSettings$2(settingsOrOptions = {}) {
|
|
@@ -13200,8 +13206,8 @@ var require_fs$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_module
|
|
|
13200
13206
|
//#region ../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js
|
|
13201
13207
|
var require_utils = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js": ((exports) => {
|
|
13202
13208
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13203
|
-
const fs$
|
|
13204
|
-
exports.fs = fs$
|
|
13209
|
+
const fs$7 = require_fs$1();
|
|
13210
|
+
exports.fs = fs$7;
|
|
13205
13211
|
}) });
|
|
13206
13212
|
|
|
13207
13213
|
//#endregion
|
|
@@ -13287,16 +13293,16 @@ var require_async$4 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mod
|
|
|
13287
13293
|
return;
|
|
13288
13294
|
}
|
|
13289
13295
|
rpl(names.map((name) => {
|
|
13290
|
-
const path$
|
|
13296
|
+
const path$16 = common$4.joinPathSegments(directory, name, settings.pathSegmentSeparator);
|
|
13291
13297
|
return (done) => {
|
|
13292
|
-
fsStat$5.stat(path$
|
|
13298
|
+
fsStat$5.stat(path$16, settings.fsStatSettings, (error, stats) => {
|
|
13293
13299
|
if (error !== null) {
|
|
13294
13300
|
done(error);
|
|
13295
13301
|
return;
|
|
13296
13302
|
}
|
|
13297
13303
|
const entry = {
|
|
13298
13304
|
name,
|
|
13299
|
-
path: path$
|
|
13305
|
+
path: path$16,
|
|
13300
13306
|
dirent: utils$8.fs.createDirentFromStats(name, stats)
|
|
13301
13307
|
};
|
|
13302
13308
|
if (settings.stats) entry.stats = stats;
|
|
@@ -13372,14 +13378,14 @@ var require_sync$4 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modu
|
|
|
13372
13378
|
var require_fs = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.js": ((exports) => {
|
|
13373
13379
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13374
13380
|
exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;
|
|
13375
|
-
const fs$
|
|
13381
|
+
const fs$6 = require("fs");
|
|
13376
13382
|
exports.FILE_SYSTEM_ADAPTER = {
|
|
13377
|
-
lstat: fs$
|
|
13378
|
-
stat: fs$
|
|
13379
|
-
lstatSync: fs$
|
|
13380
|
-
statSync: fs$
|
|
13381
|
-
readdir: fs$
|
|
13382
|
-
readdirSync: fs$
|
|
13383
|
+
lstat: fs$6.lstat,
|
|
13384
|
+
stat: fs$6.stat,
|
|
13385
|
+
lstatSync: fs$6.lstatSync,
|
|
13386
|
+
statSync: fs$6.statSync,
|
|
13387
|
+
readdir: fs$6.readdir,
|
|
13388
|
+
readdirSync: fs$6.readdirSync
|
|
13383
13389
|
};
|
|
13384
13390
|
function createFileSystemAdapter(fsMethods) {
|
|
13385
13391
|
if (fsMethods === void 0) return exports.FILE_SYSTEM_ADAPTER;
|
|
@@ -13392,15 +13398,15 @@ var require_fs = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/
|
|
|
13392
13398
|
//#region ../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js
|
|
13393
13399
|
var require_settings$2 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js": ((exports) => {
|
|
13394
13400
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13395
|
-
const path$
|
|
13401
|
+
const path$7 = require("path");
|
|
13396
13402
|
const fsStat$3 = require_out$3();
|
|
13397
|
-
const fs$
|
|
13403
|
+
const fs$5 = require_fs();
|
|
13398
13404
|
var Settings$2 = class {
|
|
13399
13405
|
constructor(_options = {}) {
|
|
13400
13406
|
this._options = _options;
|
|
13401
13407
|
this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
|
|
13402
|
-
this.fs = fs$
|
|
13403
|
-
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$
|
|
13408
|
+
this.fs = fs$5.createFileSystemAdapter(this._options.fs);
|
|
13409
|
+
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$7.sep);
|
|
13404
13410
|
this.stats = this._getValue(this._options.stats, false);
|
|
13405
13411
|
this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
|
|
13406
13412
|
this.fsStatSettings = new fsStat$3.Settings({
|
|
@@ -13424,17 +13430,17 @@ var require_out$2 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modul
|
|
|
13424
13430
|
const sync = require_sync$4();
|
|
13425
13431
|
const settings_1$2 = require_settings$2();
|
|
13426
13432
|
exports.Settings = settings_1$2.default;
|
|
13427
|
-
function scandir(path$
|
|
13433
|
+
function scandir(path$16, optionsOrSettingsOrCallback, callback) {
|
|
13428
13434
|
if (typeof optionsOrSettingsOrCallback === "function") {
|
|
13429
|
-
async.read(path$
|
|
13435
|
+
async.read(path$16, getSettings$1(), optionsOrSettingsOrCallback);
|
|
13430
13436
|
return;
|
|
13431
13437
|
}
|
|
13432
|
-
async.read(path$
|
|
13438
|
+
async.read(path$16, getSettings$1(optionsOrSettingsOrCallback), callback);
|
|
13433
13439
|
}
|
|
13434
13440
|
exports.scandir = scandir;
|
|
13435
|
-
function scandirSync(path$
|
|
13441
|
+
function scandirSync(path$16, optionsOrSettings) {
|
|
13436
13442
|
const settings = getSettings$1(optionsOrSettings);
|
|
13437
|
-
return sync.read(path$
|
|
13443
|
+
return sync.read(path$16, settings);
|
|
13438
13444
|
}
|
|
13439
13445
|
exports.scandirSync = scandirSync;
|
|
13440
13446
|
function getSettings$1(settingsOrOptions = {}) {
|
|
@@ -13979,7 +13985,7 @@ var require_sync$2 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modu
|
|
|
13979
13985
|
//#region ../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js
|
|
13980
13986
|
var require_settings$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js": ((exports) => {
|
|
13981
13987
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13982
|
-
const path$
|
|
13988
|
+
const path$6 = require("path");
|
|
13983
13989
|
const fsScandir = require_out$2();
|
|
13984
13990
|
var Settings$1 = class {
|
|
13985
13991
|
constructor(_options = {}) {
|
|
@@ -13989,7 +13995,7 @@ var require_settings$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_
|
|
|
13989
13995
|
this.deepFilter = this._getValue(this._options.deepFilter, null);
|
|
13990
13996
|
this.entryFilter = this._getValue(this._options.entryFilter, null);
|
|
13991
13997
|
this.errorFilter = this._getValue(this._options.errorFilter, null);
|
|
13992
|
-
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$
|
|
13998
|
+
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$6.sep);
|
|
13993
13999
|
this.fsScandirSettings = new fsScandir.Settings({
|
|
13994
14000
|
followSymbolicLinks: this._options.followSymbolicLinks,
|
|
13995
14001
|
fs: this._options.fs,
|
|
@@ -14042,7 +14048,7 @@ var require_out$1 = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modul
|
|
|
14042
14048
|
//#region ../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js
|
|
14043
14049
|
var require_reader = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js": ((exports) => {
|
|
14044
14050
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14045
|
-
const path$
|
|
14051
|
+
const path$5 = require("path");
|
|
14046
14052
|
const fsStat$2 = require_out$3();
|
|
14047
14053
|
const utils$6 = require_utils$1();
|
|
14048
14054
|
var Reader = class {
|
|
@@ -14055,7 +14061,7 @@ var require_reader = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modu
|
|
|
14055
14061
|
});
|
|
14056
14062
|
}
|
|
14057
14063
|
_getFullEntryPath(filepath) {
|
|
14058
|
-
return path$
|
|
14064
|
+
return path$5.resolve(this._settings.cwd, filepath);
|
|
14059
14065
|
}
|
|
14060
14066
|
_makeEntry(stats, pattern$1) {
|
|
14061
14067
|
const entry = {
|
|
@@ -14399,7 +14405,7 @@ var require_entry = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modul
|
|
|
14399
14405
|
//#region ../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js
|
|
14400
14406
|
var require_provider = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js": ((exports) => {
|
|
14401
14407
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14402
|
-
const path$
|
|
14408
|
+
const path$4 = require("path");
|
|
14403
14409
|
const deep_1 = require_deep();
|
|
14404
14410
|
const entry_1 = require_entry$1();
|
|
14405
14411
|
const error_1 = require_error();
|
|
@@ -14413,7 +14419,7 @@ var require_provider = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mo
|
|
|
14413
14419
|
this.entryTransformer = new entry_2.default(this._settings);
|
|
14414
14420
|
}
|
|
14415
14421
|
_getRootDirectory(task) {
|
|
14416
|
-
return path$
|
|
14422
|
+
return path$4.resolve(this._settings.cwd, task.base);
|
|
14417
14423
|
}
|
|
14418
14424
|
_getReaderOptions(task) {
|
|
14419
14425
|
const basePath = task.base === "." ? "" : task.base;
|
|
@@ -14574,7 +14580,7 @@ var require_sync = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_module
|
|
|
14574
14580
|
var require_settings = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/settings.js": ((exports) => {
|
|
14575
14581
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14576
14582
|
exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
|
|
14577
|
-
const fs$
|
|
14583
|
+
const fs$4 = require("fs");
|
|
14578
14584
|
const os = require("os");
|
|
14579
14585
|
/**
|
|
14580
14586
|
* The `os.cpus` method can return zero. We expect the number of cores to be greater than zero.
|
|
@@ -14582,12 +14588,12 @@ var require_settings = /* @__PURE__ */ require_chunk.__commonJS({ "../../node_mo
|
|
|
14582
14588
|
*/
|
|
14583
14589
|
const CPU_COUNT = Math.max(os.cpus().length, 1);
|
|
14584
14590
|
exports.DEFAULT_FILE_SYSTEM_ADAPTER = {
|
|
14585
|
-
lstat: fs$
|
|
14586
|
-
lstatSync: fs$
|
|
14587
|
-
stat: fs$
|
|
14588
|
-
statSync: fs$
|
|
14589
|
-
readdir: fs$
|
|
14590
|
-
readdirSync: fs$
|
|
14591
|
+
lstat: fs$4.lstat,
|
|
14592
|
+
lstatSync: fs$4.lstatSync,
|
|
14593
|
+
stat: fs$4.stat,
|
|
14594
|
+
statSync: fs$4.statSync,
|
|
14595
|
+
readdir: fs$4.readdir,
|
|
14596
|
+
readdirSync: fs$4.readdirSync
|
|
14591
14597
|
};
|
|
14592
14598
|
var Settings = class {
|
|
14593
14599
|
constructor(_options = {}) {
|
|
@@ -14793,7 +14799,7 @@ function getDefaultIgnorePaths() {
|
|
|
14793
14799
|
"**/build/"
|
|
14794
14800
|
];
|
|
14795
14801
|
}
|
|
14796
|
-
function getOtaFingerprintOptions(platform, path$
|
|
14802
|
+
function getOtaFingerprintOptions(platform, path$16, options) {
|
|
14797
14803
|
return {
|
|
14798
14804
|
useRNCoreAutolinkingFromExpo: false,
|
|
14799
14805
|
platforms: [platform],
|
|
@@ -14834,7 +14840,7 @@ function getOtaFingerprintOptions(platform, path$15, options) {
|
|
|
14834
14840
|
...options.ignorePaths ?? []
|
|
14835
14841
|
],
|
|
14836
14842
|
sourceSkips: __expo_fingerprint.SourceSkips.GitIgnore | __expo_fingerprint.SourceSkips.PackageJsonScriptsAll | __expo_fingerprint.SourceSkips.PackageJsonAndroidAndIosScriptsIfNotContainRun | __expo_fingerprint.SourceSkips.ExpoConfigAll | __expo_fingerprint.SourceSkips.ExpoConfigVersions | __expo_fingerprint.SourceSkips.ExpoConfigNames | __expo_fingerprint.SourceSkips.ExpoConfigRuntimeVersionIfString | __expo_fingerprint.SourceSkips.ExpoConfigAssets | __expo_fingerprint.SourceSkips.ExpoConfigExtraSection | __expo_fingerprint.SourceSkips.ExpoConfigEASProject | __expo_fingerprint.SourceSkips.ExpoConfigSchemes,
|
|
14837
|
-
extraSources: processExtraSources(options.extraSources ?? [], path$
|
|
14843
|
+
extraSources: processExtraSources(options.extraSources ?? [], path$16),
|
|
14838
14844
|
debug: options.debug
|
|
14839
14845
|
};
|
|
14840
14846
|
}
|
|
@@ -14874,9 +14880,9 @@ function showFingerprintDiff(diff, platform) {
|
|
|
14874
14880
|
/**
|
|
14875
14881
|
* Calculates the fingerprint of the native parts project of the project.
|
|
14876
14882
|
*/
|
|
14877
|
-
async function nativeFingerprint(path$
|
|
14883
|
+
async function nativeFingerprint(path$16, options) {
|
|
14878
14884
|
const platform = options.platform;
|
|
14879
|
-
return (0, __expo_fingerprint.createFingerprintAsync)(path$
|
|
14885
|
+
return (0, __expo_fingerprint.createFingerprintAsync)(path$16, getOtaFingerprintOptions(platform, path$16, options));
|
|
14880
14886
|
}
|
|
14881
14887
|
const generateFingerprints = async () => {
|
|
14882
14888
|
const fingerprintConfig = await ensureFingerprintConfig();
|
|
@@ -14948,6 +14954,74 @@ const readLocalFingerprint = async () => {
|
|
|
14948
14954
|
}
|
|
14949
14955
|
};
|
|
14950
14956
|
|
|
14957
|
+
//#endregion
|
|
14958
|
+
//#region src/utils/signing/keyGeneration.ts
|
|
14959
|
+
/**
|
|
14960
|
+
* Generate RSA key pair for bundle signing.
|
|
14961
|
+
* @param keySize Key size in bits (2048 or 4096)
|
|
14962
|
+
* @returns Promise resolving to key pair in PEM format
|
|
14963
|
+
*/
|
|
14964
|
+
async function generateKeyPair(keySize = 4096) {
|
|
14965
|
+
return new Promise((resolve, reject) => {
|
|
14966
|
+
node_crypto.default.generateKeyPair("rsa", {
|
|
14967
|
+
modulusLength: keySize,
|
|
14968
|
+
publicKeyEncoding: {
|
|
14969
|
+
type: "spki",
|
|
14970
|
+
format: "pem"
|
|
14971
|
+
},
|
|
14972
|
+
privateKeyEncoding: {
|
|
14973
|
+
type: "pkcs8",
|
|
14974
|
+
format: "pem"
|
|
14975
|
+
}
|
|
14976
|
+
}, (err, publicKey, privateKey) => {
|
|
14977
|
+
if (err) reject(err);
|
|
14978
|
+
else resolve({
|
|
14979
|
+
privateKey,
|
|
14980
|
+
publicKey
|
|
14981
|
+
});
|
|
14982
|
+
});
|
|
14983
|
+
});
|
|
14984
|
+
}
|
|
14985
|
+
/**
|
|
14986
|
+
* Save key pair to disk with secure permissions.
|
|
14987
|
+
* @param keyPair Generated key pair
|
|
14988
|
+
* @param outputDir Directory to save keys
|
|
14989
|
+
*/
|
|
14990
|
+
async function saveKeyPair(keyPair, outputDir) {
|
|
14991
|
+
await node_fs_promises.default.mkdir(outputDir, { recursive: true });
|
|
14992
|
+
const privateKeyPath = node_path.default.join(outputDir, "private-key.pem");
|
|
14993
|
+
const publicKeyPath = node_path.default.join(outputDir, "public-key.pem");
|
|
14994
|
+
await node_fs_promises.default.writeFile(privateKeyPath, keyPair.privateKey, { mode: 384 });
|
|
14995
|
+
await node_fs_promises.default.writeFile(publicKeyPath, keyPair.publicKey, { mode: 420 });
|
|
14996
|
+
}
|
|
14997
|
+
/**
|
|
14998
|
+
* Load private key from PEM file.
|
|
14999
|
+
* @param privateKeyPath Path to private key file
|
|
15000
|
+
* @returns Private key in PEM format
|
|
15001
|
+
* @throws Error if file not found or invalid format
|
|
15002
|
+
*/
|
|
15003
|
+
async function loadPrivateKey(privateKeyPath) {
|
|
15004
|
+
try {
|
|
15005
|
+
const privateKey = await node_fs_promises.default.readFile(privateKeyPath, "utf-8");
|
|
15006
|
+
node_crypto.default.createPrivateKey(privateKey);
|
|
15007
|
+
return privateKey;
|
|
15008
|
+
} catch (error) {
|
|
15009
|
+
throw new Error(`Failed to load private key from ${privateKeyPath}: ${error.message}`);
|
|
15010
|
+
}
|
|
15011
|
+
}
|
|
15012
|
+
/**
|
|
15013
|
+
* Extract public key from private key.
|
|
15014
|
+
* @param privateKeyPEM Private key in PEM format
|
|
15015
|
+
* @returns Public key in PEM format
|
|
15016
|
+
*/
|
|
15017
|
+
function getPublicKeyFromPrivate(privateKeyPEM) {
|
|
15018
|
+
const privateKey = node_crypto.default.createPrivateKey(privateKeyPEM);
|
|
15019
|
+
return node_crypto.default.createPublicKey(privateKey).export({
|
|
15020
|
+
type: "spki",
|
|
15021
|
+
format: "pem"
|
|
15022
|
+
});
|
|
15023
|
+
}
|
|
15024
|
+
|
|
14951
15025
|
//#endregion
|
|
14952
15026
|
Object.defineProperty(exports, 'AndroidConfigParser', {
|
|
14953
15027
|
enumerable: true,
|
|
@@ -14985,18 +15059,36 @@ Object.defineProperty(exports, 'generateFingerprints', {
|
|
|
14985
15059
|
return generateFingerprints;
|
|
14986
15060
|
}
|
|
14987
15061
|
});
|
|
15062
|
+
Object.defineProperty(exports, 'generateKeyPair', {
|
|
15063
|
+
enumerable: true,
|
|
15064
|
+
get: function () {
|
|
15065
|
+
return generateKeyPair;
|
|
15066
|
+
}
|
|
15067
|
+
});
|
|
14988
15068
|
Object.defineProperty(exports, 'getFingerprintDiff', {
|
|
14989
15069
|
enumerable: true,
|
|
14990
15070
|
get: function () {
|
|
14991
15071
|
return getFingerprintDiff;
|
|
14992
15072
|
}
|
|
14993
15073
|
});
|
|
15074
|
+
Object.defineProperty(exports, 'getPublicKeyFromPrivate', {
|
|
15075
|
+
enumerable: true,
|
|
15076
|
+
get: function () {
|
|
15077
|
+
return getPublicKeyFromPrivate;
|
|
15078
|
+
}
|
|
15079
|
+
});
|
|
14994
15080
|
Object.defineProperty(exports, 'isFingerprintEquals', {
|
|
14995
15081
|
enumerable: true,
|
|
14996
15082
|
get: function () {
|
|
14997
15083
|
return isFingerprintEquals;
|
|
14998
15084
|
}
|
|
14999
15085
|
});
|
|
15086
|
+
Object.defineProperty(exports, 'loadPrivateKey', {
|
|
15087
|
+
enumerable: true,
|
|
15088
|
+
get: function () {
|
|
15089
|
+
return loadPrivateKey;
|
|
15090
|
+
}
|
|
15091
|
+
});
|
|
15000
15092
|
Object.defineProperty(exports, 'nativeFingerprint', {
|
|
15001
15093
|
enumerable: true,
|
|
15002
15094
|
get: function () {
|
|
@@ -15027,6 +15119,12 @@ Object.defineProperty(exports, 'require_plist', {
|
|
|
15027
15119
|
return require_plist;
|
|
15028
15120
|
}
|
|
15029
15121
|
});
|
|
15122
|
+
Object.defineProperty(exports, 'saveKeyPair', {
|
|
15123
|
+
enumerable: true,
|
|
15124
|
+
get: function () {
|
|
15125
|
+
return saveKeyPair;
|
|
15126
|
+
}
|
|
15127
|
+
});
|
|
15030
15128
|
Object.defineProperty(exports, 'showFingerprintDiff', {
|
|
15031
15129
|
enumerable: true,
|
|
15032
15130
|
get: function () {
|