@capgo/cli 7.18.23 → 7.19.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/index.js +214 -214
- package/dist/src/sdk.js +1 -1
- package/package.json +9 -2
- package/dist/package.json +0 -86
- package/dist/src/api/app.js +0 -45
- package/dist/src/api/app.js.map +0 -1
- package/dist/src/api/channels.js +0 -167
- package/dist/src/api/channels.js.map +0 -1
- package/dist/src/api/cryptoV2.js +0 -102
- package/dist/src/api/cryptoV2.js.map +0 -1
- package/dist/src/api/update.js +0 -13
- package/dist/src/api/update.js.map +0 -1
- package/dist/src/api/versions.js +0 -92
- package/dist/src/api/versions.js.map +0 -1
- package/dist/src/app/add.js +0 -150
- package/dist/src/app/add.js.map +0 -1
- package/dist/src/app/debug.js +0 -222
- package/dist/src/app/debug.js.map +0 -1
- package/dist/src/app/delete.js +0 -89
- package/dist/src/app/delete.js.map +0 -1
- package/dist/src/app/info.js +0 -84
- package/dist/src/app/info.js.map +0 -1
- package/dist/src/app/list.js +0 -48
- package/dist/src/app/list.js.map +0 -1
- package/dist/src/app/set.js +0 -96
- package/dist/src/app/set.js.map +0 -1
- package/dist/src/app/setting.js +0 -50
- package/dist/src/app/setting.js.map +0 -1
- package/dist/src/bundle/check.js +0 -30
- package/dist/src/bundle/check.js.map +0 -1
- package/dist/src/bundle/cleanup.js +0 -105
- package/dist/src/bundle/cleanup.js.map +0 -1
- package/dist/src/bundle/compatibility.js +0 -62
- package/dist/src/bundle/compatibility.js.map +0 -1
- package/dist/src/bundle/decryptV2.js +0 -76
- package/dist/src/bundle/decryptV2.js.map +0 -1
- package/dist/src/bundle/delete.js +0 -40
- package/dist/src/bundle/delete.js.map +0 -1
- package/dist/src/bundle/encryptV2.js +0 -108
- package/dist/src/bundle/encryptV2.js.map +0 -1
- package/dist/src/bundle/list.js +0 -36
- package/dist/src/bundle/list.js.map +0 -1
- package/dist/src/bundle/partial.js +0 -277
- package/dist/src/bundle/partial.js.map +0 -1
- package/dist/src/bundle/unlink.js +0 -70
- package/dist/src/bundle/unlink.js.map +0 -1
- package/dist/src/bundle/upload.js +0 -940
- package/dist/src/bundle/upload.js.map +0 -1
- package/dist/src/bundle/upload_interface.js +0 -2
- package/dist/src/bundle/upload_interface.js.map +0 -1
- package/dist/src/bundle/zip.js +0 -156
- package/dist/src/bundle/zip.js.map +0 -1
- package/dist/src/channel/add.js +0 -68
- package/dist/src/channel/add.js.map +0 -1
- package/dist/src/channel/currentBundle.js +0 -54
- package/dist/src/channel/currentBundle.js.map +0 -1
- package/dist/src/channel/delete.js +0 -77
- package/dist/src/channel/delete.js.map +0 -1
- package/dist/src/channel/list.js +0 -45
- package/dist/src/channel/list.js.map +0 -1
- package/dist/src/channel/set.js +0 -220
- package/dist/src/channel/set.js.map +0 -1
- package/dist/src/checksum.js +0 -46
- package/dist/src/checksum.js.map +0 -1
- package/dist/src/config/index.js +0 -31
- package/dist/src/config/index.js.map +0 -1
- package/dist/src/docs.js +0 -280
- package/dist/src/docs.js.map +0 -1
- package/dist/src/index.js +0 -522
- package/dist/src/index.js.map +0 -1
- package/dist/src/init.js +0 -803
- package/dist/src/init.js.map +0 -1
- package/dist/src/keyV2.js +0 -163
- package/dist/src/keyV2.js.map +0 -1
- package/dist/src/login.js +0 -51
- package/dist/src/login.js.map +0 -1
- package/dist/src/organisation/add.js +0 -82
- package/dist/src/organisation/add.js.map +0 -1
- package/dist/src/organisation/delete.js +0 -91
- package/dist/src/organisation/delete.js.map +0 -1
- package/dist/src/organisation/index.js +0 -5
- package/dist/src/organisation/index.js.map +0 -1
- package/dist/src/organisation/list.js +0 -60
- package/dist/src/organisation/list.js.map +0 -1
- package/dist/src/organisation/set.js +0 -95
- package/dist/src/organisation/set.js.map +0 -1
- package/dist/src/sdk.js.map +0 -1
- package/dist/src/types/supabase.types.js +0 -86
- package/dist/src/types/supabase.types.js.map +0 -1
- package/dist/src/user/account.js +0 -31
- package/dist/src/user/account.js.map +0 -1
- package/dist/src/utils/latest-version.js +0 -26
- package/dist/src/utils/latest-version.js.map +0 -1
- package/dist/src/utils.js +0 -1222
- package/dist/src/utils.js.map +0 -1
package/dist/src/app/info.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { platform, version } from 'node:os';
|
|
2
|
-
import { version as nodeVersion } from 'node:process';
|
|
3
|
-
import { log, spinner } from '@clack/prompts';
|
|
4
|
-
import pack from '../../package.json';
|
|
5
|
-
import { getAllPackagesDependencies, getAppId, getBundleVersion, getConfig } from '../utils';
|
|
6
|
-
import { getLatestVersion } from '../utils/latest-version';
|
|
7
|
-
async function getLatestDependencies(installedDependencies) {
|
|
8
|
-
const latestDependencies = {};
|
|
9
|
-
const keys = Object.keys(installedDependencies);
|
|
10
|
-
const versions = await Promise.all(keys.map(dependency => getLatestVersion(dependency)));
|
|
11
|
-
versions.forEach((v, index) => {
|
|
12
|
-
if (v)
|
|
13
|
-
latestDependencies[keys[index]] = v;
|
|
14
|
-
});
|
|
15
|
-
return latestDependencies;
|
|
16
|
-
}
|
|
17
|
-
async function getInstalledDependencies() {
|
|
18
|
-
const dependencies = await getAllPackagesDependencies();
|
|
19
|
-
const installedDependencies = {
|
|
20
|
-
'@capgo/cli': pack.version,
|
|
21
|
-
};
|
|
22
|
-
for (const [dependency, depVersion] of dependencies) {
|
|
23
|
-
if (dependency.startsWith('@capgo/') || dependency.startsWith('@capawesome/') || dependency.startsWith('capacitor'))
|
|
24
|
-
installedDependencies[dependency] = depVersion;
|
|
25
|
-
}
|
|
26
|
-
return installedDependencies;
|
|
27
|
-
}
|
|
28
|
-
export async function getInfo(options, silent = false) {
|
|
29
|
-
if (!silent)
|
|
30
|
-
log.warn(' 💊 Capgo Doctor 💊');
|
|
31
|
-
const extConfig = await getConfig();
|
|
32
|
-
const pkgVersion = getBundleVersion('', options.packageJson);
|
|
33
|
-
const appVersion = extConfig?.config?.plugins?.CapacitorUpdater?.version || pkgVersion;
|
|
34
|
-
const appName = extConfig?.config?.appName || '';
|
|
35
|
-
const appId = getAppId('', extConfig?.config);
|
|
36
|
-
const webDir = extConfig?.config?.webDir || '';
|
|
37
|
-
if (!silent) {
|
|
38
|
-
log.info(` App Name: ${appName}`);
|
|
39
|
-
log.info(` App ID: ${appId}`);
|
|
40
|
-
log.info(` App Version: ${appVersion}`);
|
|
41
|
-
log.info(` Web Dir: ${webDir}`);
|
|
42
|
-
log.info(` OS: ${platform()} ${version()}`);
|
|
43
|
-
log.info(` Node: ${nodeVersion}`);
|
|
44
|
-
log.info(' Installed Dependencies:');
|
|
45
|
-
}
|
|
46
|
-
const installedDependencies = await getInstalledDependencies();
|
|
47
|
-
if (Object.keys(installedDependencies).length === 0) {
|
|
48
|
-
if (!silent)
|
|
49
|
-
log.warning('\x1B[31m%s\x1B[0m 🚨 No dependencies found');
|
|
50
|
-
throw new Error('No dependencies found');
|
|
51
|
-
}
|
|
52
|
-
if (!silent) {
|
|
53
|
-
for (const dependency of Object.keys(installedDependencies))
|
|
54
|
-
log.info(` ${dependency}: ${installedDependencies[dependency]}`);
|
|
55
|
-
}
|
|
56
|
-
let latestDependencies = {};
|
|
57
|
-
if (!silent) {
|
|
58
|
-
const s = spinner();
|
|
59
|
-
s.start('Running: Loading latest dependencies');
|
|
60
|
-
latestDependencies = await getLatestDependencies(installedDependencies);
|
|
61
|
-
s.stop('Latest Dependencies:');
|
|
62
|
-
for (const dependency of Object.keys(latestDependencies))
|
|
63
|
-
log.info(` ${dependency}: ${latestDependencies[dependency]}`);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
latestDependencies = await getLatestDependencies(installedDependencies);
|
|
67
|
-
}
|
|
68
|
-
if (JSON.stringify(installedDependencies) !== JSON.stringify(latestDependencies)) {
|
|
69
|
-
if (!silent)
|
|
70
|
-
log.warn('\x1B[31m🚨 Some dependencies are not up to date\x1B[0m');
|
|
71
|
-
throw new Error('Some dependencies are not up to date');
|
|
72
|
-
}
|
|
73
|
-
if (!silent)
|
|
74
|
-
log.success('\x1B[32m✅ All dependencies are up to date\x1B[0m');
|
|
75
|
-
return {
|
|
76
|
-
appName,
|
|
77
|
-
appId,
|
|
78
|
-
appVersion,
|
|
79
|
-
webDir,
|
|
80
|
-
installedDependencies,
|
|
81
|
-
latestDependencies,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=info.js.map
|
package/dist/src/app/info.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/app/info.ts"],"names":[],"mappings":"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"}
|
package/dist/src/app/list.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { intro, log, outro } from '@clack/prompts';
|
|
2
|
-
import { Table } from '@sauber/table';
|
|
3
|
-
import { checkAlerts } from '../api/update';
|
|
4
|
-
import { createSupabaseClient, findSavedKey, getHumanDate, verifyUser } from '../utils';
|
|
5
|
-
function displayApps(data) {
|
|
6
|
-
const table = new Table();
|
|
7
|
-
table.headers = ['Name', 'id', 'Created'];
|
|
8
|
-
table.rows = [];
|
|
9
|
-
for (const row of data.toReversed())
|
|
10
|
-
table.rows.push([row.name ?? '', row.app_id, getHumanDate(row.created_at)]);
|
|
11
|
-
log.success('Apps');
|
|
12
|
-
log.success(table.toString());
|
|
13
|
-
}
|
|
14
|
-
async function getActiveApps(supabase, silent) {
|
|
15
|
-
const { data, error: vError } = await supabase
|
|
16
|
-
.from('apps')
|
|
17
|
-
.select()
|
|
18
|
-
.order('created_at', { ascending: false });
|
|
19
|
-
if (vError) {
|
|
20
|
-
if (!silent)
|
|
21
|
-
log.error('Apps not found');
|
|
22
|
-
throw new Error('Apps not found');
|
|
23
|
-
}
|
|
24
|
-
return data ?? [];
|
|
25
|
-
}
|
|
26
|
-
export async function listApp(options, silent = false) {
|
|
27
|
-
if (!silent)
|
|
28
|
-
intro('List apps in Capgo');
|
|
29
|
-
await checkAlerts();
|
|
30
|
-
options.apikey = options.apikey || findSavedKey();
|
|
31
|
-
const supabase = await createSupabaseClient(options.apikey, options.supaHost, options.supaAnon);
|
|
32
|
-
await verifyUser(supabase, options.apikey, ['write', 'all', 'read', 'upload']);
|
|
33
|
-
if (!silent)
|
|
34
|
-
log.info('Getting active bundle in Capgo');
|
|
35
|
-
const allApps = await getActiveApps(supabase, silent);
|
|
36
|
-
if (!allApps.length) {
|
|
37
|
-
if (!silent)
|
|
38
|
-
log.error('No apps found');
|
|
39
|
-
throw new Error('No apps found');
|
|
40
|
-
}
|
|
41
|
-
if (!silent) {
|
|
42
|
-
log.info(`Active app in Capgo: ${allApps.length}`);
|
|
43
|
-
displayApps(allApps);
|
|
44
|
-
outro('Done ✅');
|
|
45
|
-
}
|
|
46
|
-
return allApps;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=list.js.map
|
package/dist/src/app/list.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/app/list.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAEvF,SAAS,WAAW,CAAC,IAAmD;IACtE,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;IACzB,KAAK,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IACzC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAA;IAEf,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;QACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAE7E,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC/B,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,QAAkC,EAClC,MAAe;IAEf,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ;SAC3C,IAAI,CAAC,MAAM,CAAC;SACZ,MAAM,EAAE;SACR,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IAE5C,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC7B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,IAAI,IAAI,EAAE,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAoB,EAAE,MAAM,GAAG,KAAK;IAChE,IAAI,CAAC,MAAM;QACT,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAE7B,MAAM,WAAW,EAAE,CAAA;IAEnB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,CAAA;IAEjD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE/F,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE9E,IAAI,CAAC,MAAM;QACT,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAE5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAErD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAC5B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAClD,WAAW,CAAC,OAAO,CAAC,CAAA;QACpB,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/dist/src/app/set.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
-
import { intro, log, outro } from '@clack/prompts';
|
|
4
|
-
import { checkAppExistsAndHasPermissionOrgErr, newIconPath } from '../api/app';
|
|
5
|
-
import { createSupabaseClient, findSavedKey, formatError, getAppId, getConfig, getContentType, getOrganization, OrganizationPerm, verifyUser, } from '../utils';
|
|
6
|
-
export async function setApp(appId, options, silent = false) {
|
|
7
|
-
if (!silent)
|
|
8
|
-
intro('Set app');
|
|
9
|
-
options.apikey = options.apikey || findSavedKey();
|
|
10
|
-
const extConfig = await getConfig();
|
|
11
|
-
appId = getAppId(appId, extConfig?.config);
|
|
12
|
-
if (!options.apikey) {
|
|
13
|
-
if (!silent)
|
|
14
|
-
log.error('Missing API key, you need to provide an API key to upload your bundle');
|
|
15
|
-
throw new Error('Missing API key');
|
|
16
|
-
}
|
|
17
|
-
if (!appId) {
|
|
18
|
-
if (!silent)
|
|
19
|
-
log.error('Missing argument, you need to provide a appId, or be in a capacitor project');
|
|
20
|
-
throw new Error('Missing appId');
|
|
21
|
-
}
|
|
22
|
-
const supabase = await createSupabaseClient(options.apikey, options.supaHost, options.supaAnon);
|
|
23
|
-
const organization = await getOrganization(supabase, ['admin', 'super_admin']);
|
|
24
|
-
const organizationUid = organization.gid;
|
|
25
|
-
const userId = await verifyUser(supabase, options.apikey, ['write', 'all']);
|
|
26
|
-
await checkAppExistsAndHasPermissionOrgErr(supabase, options.apikey, appId, OrganizationPerm.admin, silent);
|
|
27
|
-
const { name, icon, retention } = options;
|
|
28
|
-
if (retention && Number.isNaN(Number(retention))) {
|
|
29
|
-
if (!silent)
|
|
30
|
-
log.error('retention value must be a number');
|
|
31
|
-
throw new Error('Retention value must be a number');
|
|
32
|
-
}
|
|
33
|
-
else if (retention && retention < 0) {
|
|
34
|
-
if (!silent)
|
|
35
|
-
log.error('retention value cannot be less than 0');
|
|
36
|
-
throw new Error('Retention value cannot be less than 0');
|
|
37
|
-
}
|
|
38
|
-
else if (retention && retention >= 63113904) {
|
|
39
|
-
if (!silent)
|
|
40
|
-
log.error('retention value cannot be greater than 63113904 seconds (2 years)');
|
|
41
|
-
throw new Error('Retention value cannot be greater than 63113904 seconds (2 years)');
|
|
42
|
-
}
|
|
43
|
-
let iconBuff;
|
|
44
|
-
let iconType;
|
|
45
|
-
const fileName = `icon_${randomUUID()}`;
|
|
46
|
-
let signedURL = 'https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png';
|
|
47
|
-
if (icon && existsSync(icon)) {
|
|
48
|
-
iconBuff = readFileSync(icon);
|
|
49
|
-
const contentType = getContentType(icon);
|
|
50
|
-
iconType = contentType || 'image/png';
|
|
51
|
-
if (!silent)
|
|
52
|
-
log.warn(`Found app icon ${icon}`);
|
|
53
|
-
}
|
|
54
|
-
else if (existsSync(newIconPath)) {
|
|
55
|
-
iconBuff = readFileSync(newIconPath);
|
|
56
|
-
const contentType = getContentType(newIconPath);
|
|
57
|
-
iconType = contentType || 'image/png';
|
|
58
|
-
if (!silent)
|
|
59
|
-
log.warn(`Found app icon ${newIconPath}`);
|
|
60
|
-
}
|
|
61
|
-
else if (!silent) {
|
|
62
|
-
log.warn(`Cannot find app icon in any of the following locations: ${icon}, ${newIconPath}`);
|
|
63
|
-
}
|
|
64
|
-
if (iconBuff && iconType) {
|
|
65
|
-
const { error } = await supabase.storage
|
|
66
|
-
.from(`images/org/${organizationUid}/${appId}`)
|
|
67
|
-
.upload(fileName, iconBuff, { contentType: iconType });
|
|
68
|
-
if (error) {
|
|
69
|
-
if (!silent)
|
|
70
|
-
log.error(`Could not set app ${formatError(error)}`);
|
|
71
|
-
throw new Error(`Could not set app: ${formatError(error)}`);
|
|
72
|
-
}
|
|
73
|
-
const { data: signedURLData } = await supabase.storage
|
|
74
|
-
.from(`images/org/${organizationUid}/${appId}`)
|
|
75
|
-
.getPublicUrl(fileName);
|
|
76
|
-
signedURL = signedURLData?.publicUrl || signedURL;
|
|
77
|
-
}
|
|
78
|
-
const { error: dbError } = await supabase
|
|
79
|
-
.from('apps')
|
|
80
|
-
.update({
|
|
81
|
-
icon_url: signedURL,
|
|
82
|
-
name,
|
|
83
|
-
retention: !retention ? undefined : retention * 24 * 60 * 60,
|
|
84
|
-
})
|
|
85
|
-
.eq('app_id', appId)
|
|
86
|
-
.eq('user_id', userId);
|
|
87
|
-
if (dbError) {
|
|
88
|
-
if (!silent)
|
|
89
|
-
log.error(`Could not set app ${formatError(dbError)}`);
|
|
90
|
-
throw new Error(`Could not set app: ${formatError(dbError)}`);
|
|
91
|
-
}
|
|
92
|
-
if (!silent)
|
|
93
|
-
outro('Done ✅');
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=set.js.map
|
package/dist/src/app/set.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/app/set.ts"],"names":[],"mappings":"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"}
|
package/dist/src/app/setting.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { intro, log, outro } from '@clack/prompts';
|
|
2
|
-
import { writeConfigUpdater } from '../config';
|
|
3
|
-
import { formatError, getConfig } from '../utils';
|
|
4
|
-
export async function setSetting(setting, options, silent = false) {
|
|
5
|
-
if (!silent)
|
|
6
|
-
intro('Set a specific setting in capacitor config');
|
|
7
|
-
if (options.bool && options.string) {
|
|
8
|
-
if (!silent)
|
|
9
|
-
log.error('Bool and string CANNOT be set at the same time');
|
|
10
|
-
throw new Error('Bool and string cannot both be provided');
|
|
11
|
-
}
|
|
12
|
-
if (!options.bool && !options.string) {
|
|
13
|
-
if (!silent)
|
|
14
|
-
log.error('You MUST provide either bool or string as the value');
|
|
15
|
-
throw new Error('Either bool or string value is required');
|
|
16
|
-
}
|
|
17
|
-
if (options.bool && options.bool !== 'true' && options.bool !== 'false') {
|
|
18
|
-
if (!silent)
|
|
19
|
-
log.error('Invalid bool');
|
|
20
|
-
throw new Error('Invalid bool value; expected true or false');
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
const config = await getConfig();
|
|
24
|
-
let baseObj = config.config;
|
|
25
|
-
const pathElements = setting.split('.');
|
|
26
|
-
if (pathElements.length === 0) {
|
|
27
|
-
if (!silent)
|
|
28
|
-
log.error('Invalid path');
|
|
29
|
-
throw new Error('Invalid config path');
|
|
30
|
-
}
|
|
31
|
-
for (const path of pathElements.slice(0, -1)) {
|
|
32
|
-
if (!Object.prototype.hasOwnProperty.call(baseObj, path))
|
|
33
|
-
baseObj[path] = {};
|
|
34
|
-
baseObj = baseObj[path];
|
|
35
|
-
}
|
|
36
|
-
const finalValue = options.bool ? options.bool === 'true' : options.string;
|
|
37
|
-
baseObj[pathElements.at(-1)] = finalValue;
|
|
38
|
-
await writeConfigUpdater(config, true);
|
|
39
|
-
if (!silent)
|
|
40
|
-
log.success(`Set "${setting}" to "${finalValue}"`);
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
if (!silent)
|
|
44
|
-
log.error(`Cannot set config in capacitor settings ${formatError(error)}`);
|
|
45
|
-
throw new Error(`Cannot set capacitor config: ${formatError(error)}`);
|
|
46
|
-
}
|
|
47
|
-
if (!silent)
|
|
48
|
-
outro('Done ✅');
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=setting.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setting.js","sourceRoot":"","sources":["../../../src/app/setting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAOjD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,OAAgB,EAAE,MAAM,GAAG,KAAK;IAChF,IAAI,CAAC,MAAM;QACT,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAErD,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAC7D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;QAClE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;QAChC,IAAI,OAAO,GAAG,MAAM,CAAC,MAAa,CAAA;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM;gBACT,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;YAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YACpB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,UAAU,GAAqB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAO,CAAA;QAE7F,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG,UAAU,CAAA;QAC1C,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEtC,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS,UAAU,GAAG,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,MAAM;YACT,GAAG,CAAC,KAAK,CAAC,2CAA2C,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC5E,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,CAAC,MAAM;QACT,KAAK,CAAC,QAAQ,CAAC,CAAA;AACnB,CAAC"}
|
package/dist/src/bundle/check.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { readdirSync, readFileSync, statSync } from 'node:fs';
|
|
2
|
-
import { extname, join } from 'node:path';
|
|
3
|
-
function searchInFile(filePath, searchString) {
|
|
4
|
-
const content = readFileSync(filePath, 'utf8');
|
|
5
|
-
return content.includes(searchString);
|
|
6
|
-
}
|
|
7
|
-
export function searchInDirectory(dirPath, searchString) {
|
|
8
|
-
const files = readdirSync(dirPath);
|
|
9
|
-
for (const file of files) {
|
|
10
|
-
const filePath = join(dirPath, file);
|
|
11
|
-
const stats = statSync(filePath);
|
|
12
|
-
if (stats.isDirectory()) {
|
|
13
|
-
if (searchInDirectory(filePath, searchString))
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
else if (stats.isFile() && extname(filePath) === '.js') {
|
|
17
|
-
if (searchInFile(filePath, searchString))
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
export function checkIndexPosition(dirPath) {
|
|
24
|
-
const files = readdirSync(dirPath);
|
|
25
|
-
const index = files.indexOf('index.html');
|
|
26
|
-
if (index > -1)
|
|
27
|
-
return true;
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=check.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/bundle/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,SAAS,YAAY,CAAC,QAAgB,EAAE,YAAoB;IAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC9C,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,YAAoB;IACrE,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEhC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAC3C,OAAO,IAAI,CAAA;QACf,CAAC;aACI,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YACvD,IAAI,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC;gBACtC,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;QACZ,OAAO,IAAI,CAAA;IAEb,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { confirm as confirmC, intro, isCancel, log, outro } from '@clack/prompts';
|
|
2
|
-
import { format, greaterThan, increment, lessThan, parse, } from '@std/semver';
|
|
3
|
-
import { checkAppExistsAndHasPermissionOrgErr } from '../api/app';
|
|
4
|
-
import { checkAlerts } from '../api/update';
|
|
5
|
-
import { deleteSpecificVersion, displayBundles, getActiveAppVersions, getChannelsVersion } from '../api/versions';
|
|
6
|
-
import { createSupabaseClient, findSavedKey, getAppId, getConfig, getHumanDate, OrganizationPerm, verifyUser, } from '../utils';
|
|
7
|
-
async function removeVersions(toRemove, supabase, appId, silent) {
|
|
8
|
-
for await (const row of toRemove) {
|
|
9
|
-
if (!silent)
|
|
10
|
-
log.warn(`Removing ${row.name} created on ${getHumanDate(row.created_at)}`);
|
|
11
|
-
await deleteSpecificVersion(supabase, appId, row.name);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
function getRemovableVersionsInSemverRange(data, bundleVersion, nextMajorVersion) {
|
|
15
|
-
const toRemove = [];
|
|
16
|
-
for (const row of data ?? []) {
|
|
17
|
-
const rowVersion = parse(row.name);
|
|
18
|
-
if (greaterThan(rowVersion, bundleVersion) && lessThan(rowVersion, nextMajorVersion))
|
|
19
|
-
toRemove.push(row);
|
|
20
|
-
}
|
|
21
|
-
return toRemove;
|
|
22
|
-
}
|
|
23
|
-
export async function cleanupBundle(appId, options, silent = false) {
|
|
24
|
-
if (!silent)
|
|
25
|
-
intro('Cleanup versions in Capgo');
|
|
26
|
-
await checkAlerts();
|
|
27
|
-
options.apikey = options.apikey || findSavedKey();
|
|
28
|
-
const { bundle, keep = 4 } = options;
|
|
29
|
-
const force = options.force || false;
|
|
30
|
-
const ignoreChannel = options.ignoreChannel || false;
|
|
31
|
-
const extConfig = await getConfig();
|
|
32
|
-
appId = getAppId(appId, extConfig?.config);
|
|
33
|
-
if (!options.apikey) {
|
|
34
|
-
if (!silent)
|
|
35
|
-
log.error('Missing API key, you need to provide an API key to delete your app');
|
|
36
|
-
throw new Error('Missing API key');
|
|
37
|
-
}
|
|
38
|
-
if (!appId) {
|
|
39
|
-
if (!silent)
|
|
40
|
-
log.error('Missing argument, you need to provide a appid, or be in a capacitor project');
|
|
41
|
-
throw new Error('Missing appId');
|
|
42
|
-
}
|
|
43
|
-
const supabase = await createSupabaseClient(options.apikey, options.supaHost, options.supaAnon);
|
|
44
|
-
await verifyUser(supabase, options.apikey, ['write', 'all']);
|
|
45
|
-
await checkAppExistsAndHasPermissionOrgErr(supabase, options.apikey, appId, OrganizationPerm.write, silent);
|
|
46
|
-
if (!silent)
|
|
47
|
-
log.info('Querying all available versions in Capgo');
|
|
48
|
-
let allVersions = await getActiveAppVersions(supabase, appId);
|
|
49
|
-
const versionInUse = await getChannelsVersion(supabase, appId);
|
|
50
|
-
if (!silent)
|
|
51
|
-
log.info(`Total active versions in Capgo: ${allVersions?.length ?? 0}`);
|
|
52
|
-
if (!allVersions?.length) {
|
|
53
|
-
if (!silent)
|
|
54
|
-
log.error('No versions found, aborting cleanup');
|
|
55
|
-
throw new Error('No versions found');
|
|
56
|
-
}
|
|
57
|
-
if (bundle) {
|
|
58
|
-
const bundleVersion = parse(bundle);
|
|
59
|
-
const nextMajorVersion = increment(bundleVersion, 'major');
|
|
60
|
-
if (!silent)
|
|
61
|
-
log.info(`Querying available versions in Capgo between ${format(bundleVersion)} and ${format(nextMajorVersion)}`);
|
|
62
|
-
allVersions = getRemovableVersionsInSemverRange(allVersions, bundleVersion, nextMajorVersion);
|
|
63
|
-
if (!silent)
|
|
64
|
-
log.info(`Active versions in Capgo between ${format(bundleVersion)} and ${format(nextMajorVersion)}: ${allVersions?.length ?? 0}`);
|
|
65
|
-
}
|
|
66
|
-
const toRemove = [];
|
|
67
|
-
let kept = 0;
|
|
68
|
-
for (const v of allVersions) {
|
|
69
|
-
const isInUse = versionInUse.find(vi => vi === v.id);
|
|
70
|
-
if (kept < keep || (isInUse && !ignoreChannel)) {
|
|
71
|
-
v.keep = isInUse ? '✅ (Linked to channel)' : '✅';
|
|
72
|
-
kept += 1;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
v.keep = '❌';
|
|
76
|
-
toRemove.push(v);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (!toRemove.length) {
|
|
80
|
-
if (!silent)
|
|
81
|
-
log.warn('Nothing to be removed, aborting removal...');
|
|
82
|
-
return { removed: 0, kept };
|
|
83
|
-
}
|
|
84
|
-
if (!silent)
|
|
85
|
-
displayBundles(allVersions);
|
|
86
|
-
if (!force) {
|
|
87
|
-
if (!silent) {
|
|
88
|
-
const doDelete = await confirmC({ message: 'Do you want to continue removing the versions specified?' });
|
|
89
|
-
if (isCancel(doDelete) || !doDelete) {
|
|
90
|
-
log.warn('Not confirmed, aborting removal...');
|
|
91
|
-
throw new Error('Cleanup cancelled by user');
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
throw new Error('Cleanup requires force=true in SDK mode to prevent accidental deletions');
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
if (!silent)
|
|
99
|
-
log.success('You have confirmed removal, removing versions now');
|
|
100
|
-
await removeVersions(toRemove, supabase, appId, silent);
|
|
101
|
-
if (!silent)
|
|
102
|
-
outro('Done ✅');
|
|
103
|
-
return { removed: toRemove.length, kept };
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=cleanup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/bundle/cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { intro, log } from '@clack/prompts';
|
|
2
|
-
import { Table } from '@sauber/table';
|
|
3
|
-
import { checkAppExistsAndHasPermissionOrgErr } from '../api/app';
|
|
4
|
-
import { checkCompatibility, createSupabaseClient, findSavedKey, formatError, getAppId, getConfig, isCompatible, OrganizationPerm, verifyUser, } from '../utils';
|
|
5
|
-
export async function checkCompatibilityCommandInternal(appId, options, silent = false) {
|
|
6
|
-
if (!silent)
|
|
7
|
-
intro('Check compatibility');
|
|
8
|
-
const enrichedOptions = {
|
|
9
|
-
...options,
|
|
10
|
-
apikey: options.apikey || findSavedKey(),
|
|
11
|
-
};
|
|
12
|
-
const extConfig = await getConfig();
|
|
13
|
-
const resolvedAppId = getAppId(appId, extConfig?.config);
|
|
14
|
-
const channel = enrichedOptions.channel;
|
|
15
|
-
if (!channel) {
|
|
16
|
-
if (!silent)
|
|
17
|
-
log.error('Missing argument, you need to provide a channel');
|
|
18
|
-
throw new Error('Missing channel');
|
|
19
|
-
}
|
|
20
|
-
if (!enrichedOptions.apikey) {
|
|
21
|
-
if (!silent)
|
|
22
|
-
log.error('Missing API key, you need to provide an API key to upload your bundle');
|
|
23
|
-
throw new Error('Missing API key');
|
|
24
|
-
}
|
|
25
|
-
if (!resolvedAppId) {
|
|
26
|
-
if (!silent)
|
|
27
|
-
log.error('Missing argument, you need to provide an appId, or be in a capacitor project');
|
|
28
|
-
throw new Error('Missing appId');
|
|
29
|
-
}
|
|
30
|
-
const supabase = await createSupabaseClient(enrichedOptions.apikey, enrichedOptions.supaHost, enrichedOptions.supaAnon);
|
|
31
|
-
await verifyUser(supabase, enrichedOptions.apikey, ['write', 'all', 'read', 'upload']);
|
|
32
|
-
await checkAppExistsAndHasPermissionOrgErr(supabase, enrichedOptions.apikey, resolvedAppId, OrganizationPerm.read, silent);
|
|
33
|
-
const compatibility = await checkCompatibility(supabase, resolvedAppId, channel, enrichedOptions.packageJson, enrichedOptions.nodeModules);
|
|
34
|
-
if (!silent) {
|
|
35
|
-
const table = new Table();
|
|
36
|
-
table.headers = ['Package', 'Local version', 'Remote version', 'Compatible'];
|
|
37
|
-
table.theme = Table.roundTheme;
|
|
38
|
-
table.rows = [];
|
|
39
|
-
const yesSymbol = enrichedOptions.text ? 'Yes' : '✅';
|
|
40
|
-
const noSymbol = enrichedOptions.text ? 'No' : '❌';
|
|
41
|
-
for (const entry of compatibility.finalCompatibility) {
|
|
42
|
-
const { name, localVersion, remoteVersion } = entry;
|
|
43
|
-
const compatible = isCompatible(entry) ? yesSymbol : noSymbol;
|
|
44
|
-
table.rows.push([name, localVersion, remoteVersion, compatible]);
|
|
45
|
-
}
|
|
46
|
-
log.success('Compatibility');
|
|
47
|
-
log.success(table.toString());
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
finalCompatibility: compatibility.finalCompatibility,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
export async function checkCompatibilityCommand(appId, options) {
|
|
54
|
-
try {
|
|
55
|
-
await checkCompatibilityCommandInternal(appId, options, false);
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
log.error(`Error checking compatibility ${formatError(error)}`);
|
|
59
|
-
throw error;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=compatibility.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../../src/bundle/compatibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { intro, log, outro } from '@clack/prompts';
|
|
3
|
-
import { decryptChecksumV2, decryptSourceV2 } from '../api/cryptoV2';
|
|
4
|
-
import { checkAlerts } from '../api/update';
|
|
5
|
-
import { checksum as getChecksum } from '../checksum';
|
|
6
|
-
import { baseKeyPubV2, formatError, getConfig } from '../utils';
|
|
7
|
-
function resolvePublicKey(options, extConfig) {
|
|
8
|
-
const fallbackKeyPath = options.key || baseKeyPubV2;
|
|
9
|
-
let publicKey = extConfig.config.plugins?.CapacitorUpdater?.publicKey;
|
|
10
|
-
if (existsSync(fallbackKeyPath)) {
|
|
11
|
-
publicKey = readFileSync(fallbackKeyPath, 'utf8');
|
|
12
|
-
}
|
|
13
|
-
else if (!publicKey && options.keyData) {
|
|
14
|
-
publicKey = options.keyData;
|
|
15
|
-
}
|
|
16
|
-
return { publicKey, fallbackKeyPath };
|
|
17
|
-
}
|
|
18
|
-
export async function decryptZipV2Internal(zipPath, ivsessionKey, options, silent = false) {
|
|
19
|
-
if (!silent)
|
|
20
|
-
intro('Decrypt zip file');
|
|
21
|
-
try {
|
|
22
|
-
await checkAlerts();
|
|
23
|
-
if (!existsSync(zipPath)) {
|
|
24
|
-
const message = `Zip not found at the path ${zipPath}`;
|
|
25
|
-
if (!silent)
|
|
26
|
-
log.error(message);
|
|
27
|
-
throw new Error(message);
|
|
28
|
-
}
|
|
29
|
-
const extConfig = await getConfig();
|
|
30
|
-
if (!options.key && !existsSync(baseKeyPubV2) && !extConfig.config.plugins?.CapacitorUpdater?.privateKey) {
|
|
31
|
-
const message = `Private Key not found at the path ${baseKeyPubV2} or in ${extConfig.path}`;
|
|
32
|
-
if (!silent)
|
|
33
|
-
log.error(message);
|
|
34
|
-
throw new Error(message);
|
|
35
|
-
}
|
|
36
|
-
const { publicKey, fallbackKeyPath } = resolvePublicKey(options, extConfig);
|
|
37
|
-
if (!publicKey) {
|
|
38
|
-
const message = `Cannot find public key ${fallbackKeyPath} or as keyData option or in ${extConfig.path}`;
|
|
39
|
-
if (!silent)
|
|
40
|
-
log.error(message);
|
|
41
|
-
throw new Error(message);
|
|
42
|
-
}
|
|
43
|
-
const zipFile = readFileSync(zipPath);
|
|
44
|
-
const decodedZip = decryptSourceV2(zipFile, ivsessionKey, options.keyData ?? publicKey);
|
|
45
|
-
const outputPath = `${zipPath}_decrypted.zip`;
|
|
46
|
-
writeFileSync(outputPath, decodedZip);
|
|
47
|
-
if (!silent)
|
|
48
|
-
log.info(`Decrypted zip file at ${outputPath}`);
|
|
49
|
-
let checksumMatches;
|
|
50
|
-
if (options.checksum) {
|
|
51
|
-
const checksum = await getChecksum(decodedZip, 'sha256');
|
|
52
|
-
const decryptedChecksum = decryptChecksumV2(options.checksum, options.keyData ?? publicKey);
|
|
53
|
-
checksumMatches = checksum === decryptedChecksum;
|
|
54
|
-
if (!checksumMatches) {
|
|
55
|
-
const message = `Checksum does not match ${checksum} !== ${decryptedChecksum}`;
|
|
56
|
-
if (!silent)
|
|
57
|
-
log.error(message);
|
|
58
|
-
throw new Error(message);
|
|
59
|
-
}
|
|
60
|
-
if (!silent)
|
|
61
|
-
log.info('Checksum matches');
|
|
62
|
-
}
|
|
63
|
-
if (!silent)
|
|
64
|
-
outro('✅ done');
|
|
65
|
-
return { outputPath, checksumMatches };
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
if (!silent)
|
|
69
|
-
log.error(`Error decrypting zip file ${formatError(error)}`);
|
|
70
|
-
throw error instanceof Error ? error : new Error(String(error));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
export async function decryptZipV2(zipPath, ivsessionKey, options) {
|
|
74
|
-
await decryptZipV2Internal(zipPath, ivsessionKey, options, false);
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=decryptV2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decryptV2.js","sourceRoot":"","sources":["../../../src/bundle/decryptV2.ts"],"names":[],"mappings":"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"}
|