@capgo/cli 8.0.0-alpha.1 → 8.0.0-alpha.3
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 +1 -0
- package/dist/index.js +238 -411
- package/dist/package.json +89 -93
- package/dist/src/api/channels.d.ts +592 -16
- package/dist/src/api/channels.d.ts.map +1 -1
- package/dist/src/api/update.d.ts.map +1 -1
- package/dist/src/app/add.d.ts +2 -8
- package/dist/src/app/add.d.ts.map +1 -1
- package/dist/src/app/debug.d.ts +1 -1
- package/dist/src/app/debug.d.ts.map +1 -1
- package/dist/src/app/delete.d.ts +2 -1
- package/dist/src/app/delete.d.ts.map +1 -1
- package/dist/src/app/info.d.ts +9 -1
- package/dist/src/app/info.d.ts.map +1 -1
- package/dist/src/app/list.d.ts +19 -1
- package/dist/src/app/list.d.ts.map +1 -1
- package/dist/src/app/set.d.ts +2 -1
- package/dist/src/app/set.d.ts.map +1 -1
- package/dist/src/app/setting.d.ts +2 -1
- package/dist/src/app/setting.d.ts.map +1 -1
- package/dist/src/bundle/cleanup.d.ts +5 -1
- package/dist/src/bundle/cleanup.d.ts.map +1 -1
- package/dist/src/bundle/compatibility.d.ts +4 -4
- package/dist/src/bundle/compatibility.d.ts.map +1 -1
- package/dist/src/bundle/delete.d.ts +2 -1
- package/dist/src/bundle/delete.d.ts.map +1 -1
- package/dist/src/bundle/partial.d.ts +2 -2
- package/dist/src/bundle/partial.d.ts.map +1 -1
- package/dist/src/bundle/upload.d.ts +3 -3
- package/dist/src/bundle/upload.d.ts.map +1 -1
- package/dist/src/bundle/upload_interface.d.ts +1 -0
- package/dist/src/bundle/upload_interface.d.ts.map +1 -1
- package/dist/src/bundle/zip.d.ts.map +1 -1
- package/dist/src/channel/add.d.ts +2 -2
- package/dist/src/channel/add.d.ts.map +1 -1
- package/dist/src/channel/currentBundle.d.ts +2 -1
- package/dist/src/channel/currentBundle.d.ts.map +1 -1
- package/dist/src/channel/delete.d.ts +2 -1
- package/dist/src/channel/delete.d.ts.map +1 -1
- package/dist/src/channel/list.d.ts +2 -1
- package/dist/src/channel/list.d.ts.map +1 -1
- package/dist/src/channel/set.d.ts +2 -1
- package/dist/src/channel/set.d.ts.map +1 -1
- package/dist/src/checksum.d.ts +9 -0
- package/dist/src/checksum.d.ts.map +1 -0
- package/dist/src/init.d.ts.map +1 -1
- package/dist/src/keyV2.d.ts +2 -3
- package/dist/src/keyV2.d.ts.map +1 -1
- package/dist/src/login.d.ts +2 -2
- package/dist/src/login.d.ts.map +1 -1
- package/dist/src/organisation/list.d.ts +3 -0
- package/dist/src/organisation/list.d.ts.map +1 -1
- package/dist/src/sdk.d.ts +107 -4
- package/dist/src/sdk.d.ts.map +1 -1
- package/dist/src/sdk.js +247 -310
- package/dist/src/types/supabase.types.d.ts +313 -9
- package/dist/src/types/supabase.types.d.ts.map +1 -1
- package/dist/src/utils/latest-version.d.ts +7 -0
- package/dist/src/utils/latest-version.d.ts.map +1 -0
- package/dist/src/utils.d.ts +302 -21
- package/dist/src/utils.d.ts.map +1 -1
- package/package.json +11 -15
- 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 -14
- 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 -332
- 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 -700
- 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 -148
- 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/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 -504
- package/dist/src/index.js.map +0 -1
- package/dist/src/init.js +0 -797
- 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 -88
- 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.js +0 -1184
- package/dist/src/utils.js.map +0 -1
package/dist/src/channel/set.js
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { intro, log, outro } from '@clack/prompts';
|
|
2
|
-
import { checkAppExistsAndHasPermissionOrgErr } from '../api/app';
|
|
3
|
-
import { checkCompatibilityNativePackages, checkPlanValid, createSupabaseClient, findSavedKey, getAppId, getBundleVersion, getConfig, getOrganizationId, getPMAndCommand, isCompatible, OrganizationPerm, sendEvent, updateOrCreateChannel, verifyUser, } from '../utils';
|
|
4
|
-
const disableAutoUpdatesPossibleOptions = ['major', 'minor', 'metadata', 'patch', 'none'];
|
|
5
|
-
export async function setChannel(channel, appId, options, silent = false) {
|
|
6
|
-
if (!silent)
|
|
7
|
-
intro('Set channel');
|
|
8
|
-
options.apikey = options.apikey || findSavedKey();
|
|
9
|
-
const extConfig = await getConfig();
|
|
10
|
-
appId = getAppId(appId, extConfig?.config);
|
|
11
|
-
if (!options.apikey) {
|
|
12
|
-
if (!silent)
|
|
13
|
-
log.error('Missing API key, you need to provide an API key to upload your bundle');
|
|
14
|
-
throw new Error('Missing API key');
|
|
15
|
-
}
|
|
16
|
-
if (!appId) {
|
|
17
|
-
if (!silent)
|
|
18
|
-
log.error('Missing argument, you need to provide a appId, or be in a capacitor project');
|
|
19
|
-
throw new Error('Missing appId');
|
|
20
|
-
}
|
|
21
|
-
if (!channel) {
|
|
22
|
-
if (!silent)
|
|
23
|
-
log.error('Missing argument, you need to provide a channel');
|
|
24
|
-
throw new Error('Missing channel id');
|
|
25
|
-
}
|
|
26
|
-
const supabase = await createSupabaseClient(options.apikey, options.supaHost, options.supaAnon);
|
|
27
|
-
const userId = await verifyUser(supabase, options.apikey, ['write', 'all']);
|
|
28
|
-
await checkAppExistsAndHasPermissionOrgErr(supabase, options.apikey, appId, OrganizationPerm.admin, silent);
|
|
29
|
-
const orgId = await getOrganizationId(supabase, appId);
|
|
30
|
-
const { bundle, state, downgrade, latest, latestRemote, ios, android, selfAssign, disableAutoUpdate, dev, emulator, } = options;
|
|
31
|
-
if (latest && bundle) {
|
|
32
|
-
if (!silent)
|
|
33
|
-
log.error('Cannot set latest and bundle at the same time');
|
|
34
|
-
throw new Error('Cannot set both latest and bundle simultaneously');
|
|
35
|
-
}
|
|
36
|
-
if (latestRemote && bundle) {
|
|
37
|
-
if (!silent)
|
|
38
|
-
log.error('Cannot set latest remote and bundle at the same time');
|
|
39
|
-
throw new Error('Cannot set both latest remote and bundle simultaneously');
|
|
40
|
-
}
|
|
41
|
-
if (latestRemote && latest) {
|
|
42
|
-
if (!silent)
|
|
43
|
-
log.error('Cannot set latest remote and latest at the same time');
|
|
44
|
-
throw new Error('Cannot set both latest remote and latest simultaneously');
|
|
45
|
-
}
|
|
46
|
-
if (bundle == null
|
|
47
|
-
&& state == null
|
|
48
|
-
&& latest == null
|
|
49
|
-
&& latestRemote == null
|
|
50
|
-
&& downgrade == null
|
|
51
|
-
&& ios == null
|
|
52
|
-
&& android == null
|
|
53
|
-
&& selfAssign == null
|
|
54
|
-
&& dev == null
|
|
55
|
-
&& emulator == null
|
|
56
|
-
&& disableAutoUpdate == null) {
|
|
57
|
-
if (!silent)
|
|
58
|
-
log.error('Missing argument, you need to provide a option to set');
|
|
59
|
-
throw new Error('No channel option provided');
|
|
60
|
-
}
|
|
61
|
-
await checkPlanValid(supabase, orgId, options.apikey, appId);
|
|
62
|
-
const channelPayload = {
|
|
63
|
-
created_by: userId,
|
|
64
|
-
app_id: appId,
|
|
65
|
-
name: channel,
|
|
66
|
-
owner_org: orgId,
|
|
67
|
-
version: undefined,
|
|
68
|
-
};
|
|
69
|
-
const { error: channelError } = await supabase
|
|
70
|
-
.from('channels')
|
|
71
|
-
.select()
|
|
72
|
-
.eq('app_id', appId)
|
|
73
|
-
.eq('name', channel)
|
|
74
|
-
.single();
|
|
75
|
-
if (channelError) {
|
|
76
|
-
if (!silent)
|
|
77
|
-
log.error(`Cannot find channel ${channel}`);
|
|
78
|
-
throw new Error(`Cannot find channel ${channel}`);
|
|
79
|
-
}
|
|
80
|
-
const resolvedBundleVersion = latest
|
|
81
|
-
? (extConfig?.config?.plugins?.CapacitorUpdater?.version || getBundleVersion('', options.packageJson))
|
|
82
|
-
: bundle;
|
|
83
|
-
if (resolvedBundleVersion != null) {
|
|
84
|
-
const { data, error: vError } = await supabase
|
|
85
|
-
.from('app_versions')
|
|
86
|
-
.select()
|
|
87
|
-
.eq('app_id', appId)
|
|
88
|
-
.eq('name', resolvedBundleVersion)
|
|
89
|
-
.eq('user_id', userId)
|
|
90
|
-
.eq('deleted', false)
|
|
91
|
-
.single();
|
|
92
|
-
if (vError || !data) {
|
|
93
|
-
if (!silent)
|
|
94
|
-
log.error(`Cannot find version ${resolvedBundleVersion}`);
|
|
95
|
-
throw new Error(`Cannot find version ${resolvedBundleVersion}`);
|
|
96
|
-
}
|
|
97
|
-
if (!options.ignoreMetadataCheck) {
|
|
98
|
-
const { finalCompatibility, localDependencies } = await checkCompatibilityNativePackages(supabase, appId, channel, data.native_packages ?? []);
|
|
99
|
-
const pm = getPMAndCommand();
|
|
100
|
-
if (localDependencies.length > 0 && finalCompatibility.some(item => !isCompatible(item))) {
|
|
101
|
-
if (!silent) {
|
|
102
|
-
log.warn(`Bundle NOT compatible with ${channel} channel`);
|
|
103
|
-
log.warn(`You can check compatibility with "${pm.runner} @capgo/cli bundle compatibility"`);
|
|
104
|
-
}
|
|
105
|
-
throw new Error(`Bundle is not compatible with ${channel} channel`);
|
|
106
|
-
}
|
|
107
|
-
if (!silent) {
|
|
108
|
-
if (localDependencies.length === 0 && finalCompatibility.length > 0)
|
|
109
|
-
log.info(`Ignoring check compatibility with ${channel} channel because the bundle does not contain any native packages`);
|
|
110
|
-
else
|
|
111
|
-
log.info(`Bundle is compatible with ${channel} channel`);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (!silent)
|
|
115
|
-
log.info(`Set ${appId} channel: ${channel} to @${resolvedBundleVersion}`);
|
|
116
|
-
channelPayload.version = data.id;
|
|
117
|
-
}
|
|
118
|
-
if (latestRemote) {
|
|
119
|
-
const { data, error: vError } = await supabase
|
|
120
|
-
.from('app_versions')
|
|
121
|
-
.select()
|
|
122
|
-
.eq('app_id', appId)
|
|
123
|
-
.eq('user_id', userId)
|
|
124
|
-
.eq('deleted', false)
|
|
125
|
-
.order('created_at', { ascending: false })
|
|
126
|
-
.single();
|
|
127
|
-
if (vError || !data) {
|
|
128
|
-
if (!silent)
|
|
129
|
-
log.error('Cannot find latest remote version');
|
|
130
|
-
throw new Error('Cannot find latest remote version');
|
|
131
|
-
}
|
|
132
|
-
if (!options.ignoreMetadataCheck) {
|
|
133
|
-
const { finalCompatibility } = await checkCompatibilityNativePackages(supabase, appId, channel, data.native_packages ?? []);
|
|
134
|
-
const pm = getPMAndCommand();
|
|
135
|
-
if (finalCompatibility.some(item => !isCompatible(item))) {
|
|
136
|
-
if (!silent) {
|
|
137
|
-
log.warn(`Bundle NOT compatible with ${channel} channel`);
|
|
138
|
-
log.warn(`You can check compatibility with "${pm.runner} @capgo/cli bundle compatibility"`);
|
|
139
|
-
}
|
|
140
|
-
throw new Error(`Latest remote bundle is not compatible with ${channel} channel`);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
if (!silent)
|
|
144
|
-
log.info(`Set ${appId} channel: ${channel} to @${data.name}`);
|
|
145
|
-
channelPayload.version = data.id;
|
|
146
|
-
}
|
|
147
|
-
if (state != null) {
|
|
148
|
-
if (state !== 'normal' && state !== 'default') {
|
|
149
|
-
if (!silent)
|
|
150
|
-
log.error(`State ${state} is not known. The possible values are: normal, default.`);
|
|
151
|
-
throw new Error(`Unknown state ${state}. Expected normal or default`);
|
|
152
|
-
}
|
|
153
|
-
if (!silent)
|
|
154
|
-
log.info(`Set ${appId} channel: ${channel} to ${state}`);
|
|
155
|
-
channelPayload.public = state === 'default';
|
|
156
|
-
}
|
|
157
|
-
if (downgrade != null) {
|
|
158
|
-
if (!silent)
|
|
159
|
-
log.info(`Set ${appId} channel: ${channel} to ${downgrade ? 'allow' : 'disallow'} downgrade`);
|
|
160
|
-
channelPayload.disable_auto_update_under_native = !downgrade;
|
|
161
|
-
}
|
|
162
|
-
if (ios != null) {
|
|
163
|
-
if (!silent)
|
|
164
|
-
log.info(`Set ${appId} channel: ${channel} to ${ios ? 'allow' : 'disallow'} ios update`);
|
|
165
|
-
channelPayload.ios = !!ios;
|
|
166
|
-
}
|
|
167
|
-
if (android != null) {
|
|
168
|
-
if (!silent)
|
|
169
|
-
log.info(`Set ${appId} channel: ${channel} to ${android ? 'allow' : 'disallow'} android update`);
|
|
170
|
-
channelPayload.android = !!android;
|
|
171
|
-
}
|
|
172
|
-
if (selfAssign != null) {
|
|
173
|
-
if (!silent)
|
|
174
|
-
log.info(`Set ${appId} channel: ${channel} to ${selfAssign ? 'allow' : 'disallow'} self assign to this channel`);
|
|
175
|
-
channelPayload.allow_device_self_set = !!selfAssign;
|
|
176
|
-
}
|
|
177
|
-
if (dev != null) {
|
|
178
|
-
if (!silent)
|
|
179
|
-
log.info(`Set ${appId} channel: ${channel} to ${dev ? 'allow' : 'disallow'} dev devices`);
|
|
180
|
-
channelPayload.allow_dev = !!dev;
|
|
181
|
-
}
|
|
182
|
-
if (emulator != null) {
|
|
183
|
-
if (!silent)
|
|
184
|
-
log.info(`Set ${appId} channel: ${channel} to ${emulator ? 'allow' : 'disallow'} emulator devices`);
|
|
185
|
-
channelPayload.allow_emulator = !!emulator;
|
|
186
|
-
}
|
|
187
|
-
if (disableAutoUpdate != null) {
|
|
188
|
-
let finalDisableAutoUpdate = disableAutoUpdate.toLowerCase();
|
|
189
|
-
if (!disableAutoUpdatesPossibleOptions.includes(finalDisableAutoUpdate)) {
|
|
190
|
-
if (!silent)
|
|
191
|
-
log.error(`Channel strategy ${finalDisableAutoUpdate} is not known. The possible values are: ${disableAutoUpdatesPossibleOptions.join(', ')}.`);
|
|
192
|
-
throw new Error(`Unknown channel strategy ${finalDisableAutoUpdate}`);
|
|
193
|
-
}
|
|
194
|
-
if (finalDisableAutoUpdate === 'metadata')
|
|
195
|
-
finalDisableAutoUpdate = 'version_number';
|
|
196
|
-
channelPayload.disable_auto_update = finalDisableAutoUpdate;
|
|
197
|
-
if (!silent)
|
|
198
|
-
log.info(`Set ${appId} channel: ${channel} to ${finalDisableAutoUpdate} disable update strategy to this channel`);
|
|
199
|
-
}
|
|
200
|
-
const { error: dbError } = await updateOrCreateChannel(supabase, channelPayload);
|
|
201
|
-
if (dbError) {
|
|
202
|
-
if (!silent)
|
|
203
|
-
log.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.');
|
|
204
|
-
throw new Error('Upload key is not allowed to set this channel');
|
|
205
|
-
}
|
|
206
|
-
await sendEvent(options.apikey, {
|
|
207
|
-
channel: 'channel',
|
|
208
|
-
event: 'Set channel',
|
|
209
|
-
icon: '✅',
|
|
210
|
-
user_id: orgId,
|
|
211
|
-
tags: {
|
|
212
|
-
'app-id': appId,
|
|
213
|
-
},
|
|
214
|
-
notify: false,
|
|
215
|
-
}).catch(() => { });
|
|
216
|
-
if (!silent)
|
|
217
|
-
outro('Done ✅');
|
|
218
|
-
return true;
|
|
219
|
-
}
|
|
220
|
-
//# sourceMappingURL=set.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/channel/set.ts"],"names":[],"mappings":"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"}
|
package/dist/src/config/index.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { loadConfig as loadConfigCap, writeConfig as writeConfigCap } from '@capacitor/cli/dist/config';
|
|
2
|
-
export async function loadConfig() {
|
|
3
|
-
const config = await loadConfigCap();
|
|
4
|
-
return {
|
|
5
|
-
config: config.app.extConfig,
|
|
6
|
-
path: config.app.extConfigFilePath,
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
export async function writeConfig(key, config, raw = false) {
|
|
10
|
-
const oldConfig = await loadConfigCap();
|
|
11
|
-
let { extConfig } = oldConfig.app;
|
|
12
|
-
if (extConfig) {
|
|
13
|
-
if (!extConfig.plugins) {
|
|
14
|
-
extConfig.plugins = {
|
|
15
|
-
extConfig: {},
|
|
16
|
-
[key]: {},
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
if (!extConfig.plugins[key])
|
|
20
|
-
extConfig.plugins[key] = {};
|
|
21
|
-
if (!raw)
|
|
22
|
-
extConfig.plugins[key] = config.config.plugins?.[key];
|
|
23
|
-
else
|
|
24
|
-
extConfig = config.config;
|
|
25
|
-
writeConfigCap(extConfig, oldConfig.app.extConfigFilePath);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
export async function writeConfigUpdater(config, raw = false) {
|
|
29
|
-
await writeConfig('CapacitorUpdater', config, raw);
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAgBvG,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAA;IACpC,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS;QAC5B,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB;KACnC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,MAAsB,EAAE,GAAG,GAAG,KAAK;IAChF,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAA;IAEvC,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,GAAG,CAAA;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,GAAG;gBAClB,SAAS,EAAE,EAAE;gBACb,CAAC,GAAG,CAAC,EAAE,EAAE;aACV,CAAA;QACH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;YACzB,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QAE7B,IAAI,CAAC,GAAG;YACN,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;;YAErD,SAAS,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAsB,EAAE,GAAG,GAAG,KAAK;IAC1E,MAAM,WAAW,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;AACpD,CAAC"}
|
package/dist/src/docs.js
DELETED
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
-
import { log } from '@clack/prompts';
|
|
3
|
-
import { program } from 'commander';
|
|
4
|
-
// Helper function to get an emoji for a command
|
|
5
|
-
function getCommandEmoji(cmdName) {
|
|
6
|
-
let emoji = '🔹';
|
|
7
|
-
if (cmdName.includes('upload'))
|
|
8
|
-
emoji = '⬆️';
|
|
9
|
-
else if (cmdName.includes('delete'))
|
|
10
|
-
emoji = '🗑️';
|
|
11
|
-
else if (cmdName.includes('list'))
|
|
12
|
-
emoji = '📋';
|
|
13
|
-
else if (cmdName.includes('add'))
|
|
14
|
-
emoji = '➕';
|
|
15
|
-
else if (cmdName.includes('set'))
|
|
16
|
-
emoji = '⚙️';
|
|
17
|
-
else if (cmdName.includes('create'))
|
|
18
|
-
emoji = '🔨';
|
|
19
|
-
else if (cmdName.includes('encrypt'))
|
|
20
|
-
emoji = '🔒';
|
|
21
|
-
else if (cmdName.includes('decrypt'))
|
|
22
|
-
emoji = '🔓';
|
|
23
|
-
else if (cmdName.includes('debug'))
|
|
24
|
-
emoji = '🐞';
|
|
25
|
-
else if (cmdName.includes('doctor'))
|
|
26
|
-
emoji = '👨⚕️';
|
|
27
|
-
else if (cmdName.includes('login'))
|
|
28
|
-
emoji = '🔑';
|
|
29
|
-
else if (cmdName.includes('init'))
|
|
30
|
-
emoji = '🚀';
|
|
31
|
-
else if (cmdName.includes('compatibility'))
|
|
32
|
-
emoji = '🧪';
|
|
33
|
-
else if (cmdName.includes('cleanup'))
|
|
34
|
-
emoji = '🧹';
|
|
35
|
-
else if (cmdName.includes('currentBundle'))
|
|
36
|
-
emoji = '📦';
|
|
37
|
-
else if (cmdName.includes('setting'))
|
|
38
|
-
emoji = '⚙️';
|
|
39
|
-
else if (cmdName === 'app')
|
|
40
|
-
emoji = '📱';
|
|
41
|
-
else if (cmdName === 'bundle')
|
|
42
|
-
emoji = '📦';
|
|
43
|
-
else if (cmdName === 'channel')
|
|
44
|
-
emoji = '📢';
|
|
45
|
-
else if (cmdName === 'key')
|
|
46
|
-
emoji = '🔐';
|
|
47
|
-
else if (cmdName === 'account')
|
|
48
|
-
emoji = '👤';
|
|
49
|
-
return emoji;
|
|
50
|
-
}
|
|
51
|
-
export function generateDocs(filePath = './README.md', folderPath) {
|
|
52
|
-
const commands = program.commands.map((cmd) => {
|
|
53
|
-
// Cast to access internal properties
|
|
54
|
-
const cmdWithInternals = cmd;
|
|
55
|
-
// Check if command has an action handler
|
|
56
|
-
const hasAction = cmdWithInternals._actionHandler !== null && cmdWithInternals._actionHandler !== undefined;
|
|
57
|
-
// Check if it has subcommands
|
|
58
|
-
const hasSubcommands = cmd.commands && cmd.commands.length > 0;
|
|
59
|
-
// A command group has subcommands but no action handler
|
|
60
|
-
const isCommandGroup = hasSubcommands && !hasAction;
|
|
61
|
-
return {
|
|
62
|
-
name: cmd.name(),
|
|
63
|
-
alias: cmd.alias() || '',
|
|
64
|
-
description: cmd.description(),
|
|
65
|
-
options: cmd.options.map((opt) => ({
|
|
66
|
-
flags: opt.flags,
|
|
67
|
-
description: opt.description || '',
|
|
68
|
-
})),
|
|
69
|
-
subcommands: cmd.commands
|
|
70
|
-
? cmd.commands.map((subCmd) => {
|
|
71
|
-
const subCmdWithInternals = subCmd;
|
|
72
|
-
const subCmdHasAction = subCmdWithInternals._actionHandler !== null && subCmdWithInternals._actionHandler !== undefined;
|
|
73
|
-
return {
|
|
74
|
-
name: subCmd.name(),
|
|
75
|
-
alias: subCmd.alias() || '',
|
|
76
|
-
description: subCmd.description(),
|
|
77
|
-
options: subCmd.options.map((opt) => ({
|
|
78
|
-
flags: opt.flags,
|
|
79
|
-
description: opt.description || '',
|
|
80
|
-
})),
|
|
81
|
-
subcommands: [], // Subcommands don't have their own subcommands in this implementation
|
|
82
|
-
hasAction: subCmdHasAction,
|
|
83
|
-
isCommandGroup: false, // Subcommands are never command groups
|
|
84
|
-
};
|
|
85
|
-
})
|
|
86
|
-
: [],
|
|
87
|
-
hasAction,
|
|
88
|
-
isCommandGroup,
|
|
89
|
-
};
|
|
90
|
-
});
|
|
91
|
-
// Function to format command documentation
|
|
92
|
-
const formatCommand = (cmd, isSubcommand = false, parentCmd, skipMainHeading = false) => {
|
|
93
|
-
const cmdName = cmd.name;
|
|
94
|
-
const cmdNameCapitalized = cmdName.charAt(0).toUpperCase() + cmdName.slice(1);
|
|
95
|
-
// Create anchor for TOC linking - use different IDs for README vs individual files
|
|
96
|
-
let anchor;
|
|
97
|
-
if (isSubcommand) {
|
|
98
|
-
// For subcommands, in README we use parent-child format, in individual files just child
|
|
99
|
-
anchor = parentCmd ? `${parentCmd}-${cmdName}` : cmdName;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
// For main commands, in README we use command name, in individual files we use 'options'
|
|
103
|
-
anchor = skipMainHeading ? 'options' : cmdName;
|
|
104
|
-
}
|
|
105
|
-
const heading = isSubcommand ? `###` : `##`;
|
|
106
|
-
let section = '';
|
|
107
|
-
// Command heading with emoji based on command type
|
|
108
|
-
const emoji = getCommandEmoji(cmdName);
|
|
109
|
-
// For all commands, add the heading and description
|
|
110
|
-
if (!(skipMainHeading && !isSubcommand)) {
|
|
111
|
-
section += `${heading} <a id="${anchor}"></a> ${emoji} **${cmdNameCapitalized}**\n\n`;
|
|
112
|
-
}
|
|
113
|
-
if (cmd.alias) {
|
|
114
|
-
section += `**Alias:** \`${cmd.alias}\`\n\n`;
|
|
115
|
-
}
|
|
116
|
-
// For regular commands, show usage example
|
|
117
|
-
if (!cmd.isCommandGroup) {
|
|
118
|
-
section += `\`\`\`bash\n`;
|
|
119
|
-
if (isSubcommand) {
|
|
120
|
-
section += `npx @capgo/cli@latest ${parentCmd} ${cmdName}\n`;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
section += `npx @capgo/cli@latest ${cmdName}\n`;
|
|
124
|
-
}
|
|
125
|
-
section += `\`\`\`\n\n`;
|
|
126
|
-
}
|
|
127
|
-
// Description - split by line breaks and handle topics
|
|
128
|
-
const descLines = cmd.description.split('\n');
|
|
129
|
-
// Skip the first line for the main command since we already included it
|
|
130
|
-
const startIndex = (!isSubcommand && skipMainHeading) ? 1 : 0;
|
|
131
|
-
for (let i = startIndex; i < descLines.length; i++) {
|
|
132
|
-
const line = descLines[i];
|
|
133
|
-
if (line.trim().startsWith('Note:')) {
|
|
134
|
-
// Format notes with emoji
|
|
135
|
-
section += `> ℹ️ ${line.trim().substring(5).trim()}\n\n`;
|
|
136
|
-
}
|
|
137
|
-
else if (line.includes('Example:')) {
|
|
138
|
-
// Skip example lines, they'll be handled separately
|
|
139
|
-
}
|
|
140
|
-
else if (line.trim()) { // Only add non-empty lines
|
|
141
|
-
section += `${line}\n`;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
section += '\n';
|
|
145
|
-
// Handle example separately - only for regular commands, not for command groups
|
|
146
|
-
const exampleLine = cmd.description.split('\n').find((line) => line.includes('Example:'));
|
|
147
|
-
if (exampleLine && !cmd.isCommandGroup) {
|
|
148
|
-
section += `**Example:**\n\n`;
|
|
149
|
-
section += `\`\`\`bash\n`;
|
|
150
|
-
section += `${exampleLine.replace('Example: ', '')}\n`;
|
|
151
|
-
section += `\`\`\`\n\n`;
|
|
152
|
-
}
|
|
153
|
-
// Options table - for all commands (even command groups may have global options)
|
|
154
|
-
if (cmd.options.length > 0) {
|
|
155
|
-
if (!isSubcommand) {
|
|
156
|
-
// Only add the Options title for the main command
|
|
157
|
-
section += `## <a id="options"></a> Options\n\n`;
|
|
158
|
-
}
|
|
159
|
-
else {
|
|
160
|
-
section += `**Options:**\n\n`;
|
|
161
|
-
}
|
|
162
|
-
section += `| Param | Type | Description |\n`;
|
|
163
|
-
section += `| -------------- | ------------- | -------------------- |\n`;
|
|
164
|
-
for (const opt of cmd.options) {
|
|
165
|
-
const param = opt.flags.split(' ')[0];
|
|
166
|
-
const type = opt.flags.split(' ').length > 1 ? 'string' : 'boolean';
|
|
167
|
-
section += `| **${param}** | <code>${type}</code> | ${opt.description} |\n`;
|
|
168
|
-
}
|
|
169
|
-
section += '\n';
|
|
170
|
-
}
|
|
171
|
-
return section;
|
|
172
|
-
};
|
|
173
|
-
// If folderPath is provided, generate individual files for each command
|
|
174
|
-
if (folderPath) {
|
|
175
|
-
// Create the directory if it doesn't exist
|
|
176
|
-
if (!existsSync(folderPath)) {
|
|
177
|
-
mkdirSync(folderPath, { recursive: true });
|
|
178
|
-
}
|
|
179
|
-
// Process each command
|
|
180
|
-
for (const cmd of commands) {
|
|
181
|
-
if (cmd.name === 'generate-docs')
|
|
182
|
-
return; // Skip documenting this command
|
|
183
|
-
// Determine emoji for this command
|
|
184
|
-
const emoji = getCommandEmoji(cmd.name);
|
|
185
|
-
// Generate frontmatter and content for the command
|
|
186
|
-
let cmdFile = `---
|
|
187
|
-
title: ${emoji} ${cmd.name}
|
|
188
|
-
description: ${cmd.description.split('\n')[0]}
|
|
189
|
-
sidebar_label: ${cmd.name}
|
|
190
|
-
sidebar:
|
|
191
|
-
order: ${commands.indexOf(cmd) + 1}
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
`;
|
|
195
|
-
// Add command description with emoji preserved, but skip the redundant title
|
|
196
|
-
const description = cmd.description.split('\n')[0];
|
|
197
|
-
cmdFile += `${description}\n\n`;
|
|
198
|
-
let cmdMarkdown = '';
|
|
199
|
-
if (cmd.subcommands.length === 0) {
|
|
200
|
-
// Add command documentation
|
|
201
|
-
cmdMarkdown = formatCommand(cmd, false, cmd.name, true); // Last param to skip the main heading
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
for (const subCmd of cmd.subcommands) {
|
|
205
|
-
cmdMarkdown += formatCommand(subCmd, true, cmd.name);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
cmdFile += cmdMarkdown;
|
|
209
|
-
// Write the file
|
|
210
|
-
try {
|
|
211
|
-
writeFileSync(`${folderPath}/${cmd.name}.mdx`, cmdFile, 'utf8');
|
|
212
|
-
log.success(`Generated documentation file for ${cmd.name} command in ${folderPath}/${cmd.name}.mdx`);
|
|
213
|
-
}
|
|
214
|
-
catch (error) {
|
|
215
|
-
console.error(`Error generating file for ${cmd.name}:`, error);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
log.success(`Documentation files generated in ${folderPath}/`);
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
// Generate combined markdown for README
|
|
222
|
-
let markdown = '## 📑 Capgo CLI Commands\n\n';
|
|
223
|
-
// Generate Table of Contents
|
|
224
|
-
markdown += '## 📋 Table of Contents\n\n';
|
|
225
|
-
for (const cmd of commands) {
|
|
226
|
-
if (cmd.name === 'generate-docs')
|
|
227
|
-
continue; // Skip documenting this command
|
|
228
|
-
// Get emoji for this command
|
|
229
|
-
const emoji = getCommandEmoji(cmd.name);
|
|
230
|
-
markdown += `- ${emoji} [${cmd.name.charAt(0).toUpperCase() + cmd.name.slice(1)}](#${cmd.name})\n`;
|
|
231
|
-
if (cmd.subcommands.length > 0) {
|
|
232
|
-
for (const subCmd of cmd.subcommands) {
|
|
233
|
-
markdown += ` - [${subCmd.name.charAt(0).toUpperCase() + subCmd.name.slice(1)}](#${cmd.name}-${subCmd.name})\n`;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
markdown += '\n';
|
|
238
|
-
// Generate documentation for each command
|
|
239
|
-
for (const cmd of commands) {
|
|
240
|
-
if (cmd.name === 'generate-docs')
|
|
241
|
-
continue; // Skip documenting this command
|
|
242
|
-
// Use the formatCommand function with the flag set to skip usage for command groups
|
|
243
|
-
markdown += formatCommand(cmd, false, undefined, false);
|
|
244
|
-
if (cmd.subcommands.length > 0) {
|
|
245
|
-
// For command groups, don't add a subcommands heading since that's implied
|
|
246
|
-
if (!cmd.isCommandGroup) {
|
|
247
|
-
markdown += `#### ${cmd.name.toUpperCase()} Subcommands:\n\n`;
|
|
248
|
-
}
|
|
249
|
-
for (const subCmd of cmd.subcommands) {
|
|
250
|
-
markdown += formatCommand(subCmd, true, cmd.name);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
markdown += '\n';
|
|
254
|
-
}
|
|
255
|
-
// Update README.md or write to the specified file
|
|
256
|
-
const startTag = '<!-- AUTO-GENERATED-DOCS-START -->';
|
|
257
|
-
const endTag = '<!-- AUTO-GENERATED-DOCS-END -->';
|
|
258
|
-
let fileContent = '';
|
|
259
|
-
try {
|
|
260
|
-
fileContent = readFileSync(filePath, 'utf8');
|
|
261
|
-
}
|
|
262
|
-
catch {
|
|
263
|
-
fileContent = '';
|
|
264
|
-
}
|
|
265
|
-
const startIndex = fileContent.indexOf(startTag);
|
|
266
|
-
const endIndex = fileContent.indexOf(endTag, startIndex);
|
|
267
|
-
if (startIndex !== -1 && endIndex !== -1) {
|
|
268
|
-
const before = fileContent.substring(0, startIndex + startTag.length);
|
|
269
|
-
const after = fileContent.substring(endIndex);
|
|
270
|
-
const newContent = `${before}\n${markdown}\n${after}`;
|
|
271
|
-
writeFileSync(filePath, newContent, 'utf8');
|
|
272
|
-
log.success(`Documentation updated in ${filePath}`);
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
writeFileSync(filePath, markdown, 'utf8');
|
|
276
|
-
log.success(`Documentation written to ${filePath}`);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
//# sourceMappingURL=docs.js.map
|
package/dist/src/docs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/docs.ts"],"names":[],"mappings":"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"}
|