kappmaker 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +254 -30
- package/dist/cli.js +86 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/adapty-setup.js +5 -4
- package/dist/commands/adapty-setup.js.map +1 -1
- package/dist/commands/config.js +11 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/create-appstore-app.js +18 -1
- package/dist/commands/create-appstore-app.js.map +1 -1
- package/dist/commands/create-logo.js +16 -5
- package/dist/commands/create-logo.js.map +1 -1
- package/dist/commands/create-play-app.d.ts +2 -0
- package/dist/commands/create-play-app.js +399 -0
- package/dist/commands/create-play-app.js.map +1 -0
- package/dist/commands/create.js +133 -54
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/enhance.js +12 -4
- package/dist/commands/enhance.js.map +1 -1
- package/dist/commands/fastlane-configure.d.ts +1 -0
- package/dist/commands/fastlane-configure.js +9 -0
- package/dist/commands/fastlane-configure.js.map +1 -0
- package/dist/commands/generate-screenshots.js +22 -7
- package/dist/commands/generate-screenshots.js.map +1 -1
- package/dist/commands/gpc.d.ts +29 -0
- package/dist/commands/gpc.js +174 -0
- package/dist/commands/gpc.js.map +1 -0
- package/dist/commands/remove-bg.js +12 -4
- package/dist/commands/remove-bg.js.map +1 -1
- package/dist/commands/translate-screenshots.js +22 -8
- package/dist/commands/translate-screenshots.js.map +1 -1
- package/dist/services/asc-monetization.service.js +39 -29
- package/dist/services/asc-monetization.service.js.map +1 -1
- package/dist/services/asc.service.d.ts +1 -1
- package/dist/services/asc.service.js +94 -12
- package/dist/services/asc.service.js.map +1 -1
- package/dist/services/fastlane-setup.service.d.ts +1 -0
- package/dist/services/fastlane-setup.service.js +50 -0
- package/dist/services/fastlane-setup.service.js.map +1 -0
- package/dist/services/firebase.service.js +48 -18
- package/dist/services/firebase.service.js.map +1 -1
- package/dist/services/gpc-data-safety.service.d.ts +11 -0
- package/dist/services/gpc-data-safety.service.js +160 -0
- package/dist/services/gpc-data-safety.service.js.map +1 -0
- package/dist/services/gpc-monetization.service.d.ts +18 -0
- package/dist/services/gpc-monetization.service.js +244 -0
- package/dist/services/gpc-monetization.service.js.map +1 -0
- package/dist/services/gpc.service.d.ts +87 -0
- package/dist/services/gpc.service.js +338 -0
- package/dist/services/gpc.service.js.map +1 -0
- package/dist/services/refactor.service.js +44 -29
- package/dist/services/refactor.service.js.map +1 -1
- package/dist/templates/Fastfile.txt +209 -0
- package/dist/templates/data-safety-template.json +5483 -0
- package/dist/templates/googleplay-config.json +71 -0
- package/dist/types/googleplay.d.ts +113 -0
- package/dist/types/googleplay.js +2 -0
- package/dist/types/googleplay.js.map +1 -0
- package/dist/utils/config.d.ts +1 -0
- package/dist/utils/config.js +4 -0
- package/dist/utils/config.js.map +1 -1
- package/package.json +2 -2
package/dist/commands/create.js
CHANGED
|
@@ -3,28 +3,32 @@ import fs from 'fs-extra';
|
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { logger } from '../utils/logger.js';
|
|
5
5
|
import { validateDependencies, validateAppName } from '../utils/validator.js';
|
|
6
|
-
import { confirm } from '../utils/prompt.js';
|
|
6
|
+
import { confirm, promptInput } from '../utils/prompt.js';
|
|
7
7
|
import * as git from '../services/git.service.js';
|
|
8
8
|
import * as firebase from '../services/firebase.service.js';
|
|
9
9
|
import * as gradle from '../services/gradle.service.js';
|
|
10
10
|
import { refactor } from '../services/refactor.service.js';
|
|
11
11
|
import * as ios from '../services/ios.service.js';
|
|
12
|
-
import
|
|
12
|
+
import { configureFastlane } from '../services/fastlane-setup.service.js';
|
|
13
|
+
import { publishAndroid } from '../services/publish.service.js';
|
|
13
14
|
import { createLogo } from './create-logo.js';
|
|
14
15
|
import { removeBackground } from './remove-bg.js';
|
|
15
16
|
import { createAppStoreApp } from './create-appstore-app.js';
|
|
17
|
+
import { createPlayApp } from './create-play-app.js';
|
|
16
18
|
import { adaptySetup } from './adapty-setup.js';
|
|
17
|
-
import {
|
|
19
|
+
import { configInit } from './config.js';
|
|
20
|
+
import { loadConfig, getConfigPath } from '../utils/config.js';
|
|
21
|
+
import { hasKeystore, generateKeystore } from '../services/keystore.service.js';
|
|
18
22
|
const TOTAL_STEPS = 13;
|
|
19
23
|
function buildConfig(appName, options, userConfig) {
|
|
20
24
|
const appIdLower = appName.toLowerCase();
|
|
21
|
-
const prefix = userConfig.bundleIdPrefix ||
|
|
25
|
+
const prefix = userConfig.bundleIdPrefix || ('com.' + appIdLower);
|
|
22
26
|
return {
|
|
23
27
|
appName,
|
|
24
28
|
appIdLower,
|
|
25
|
-
packageName:
|
|
26
|
-
firebaseProject:
|
|
27
|
-
targetDir:
|
|
29
|
+
packageName: prefix + '.' + appIdLower,
|
|
30
|
+
firebaseProject: appIdLower + '-app',
|
|
31
|
+
targetDir: appName + '-All',
|
|
28
32
|
templateRepo: options.templateRepo || userConfig.templateRepo,
|
|
29
33
|
};
|
|
30
34
|
}
|
|
@@ -38,19 +42,25 @@ function buildContext(config) {
|
|
|
38
42
|
export async function createApp(appName, options) {
|
|
39
43
|
validateAppName(appName);
|
|
40
44
|
await validateDependencies();
|
|
45
|
+
// If config file doesn't exist, run interactive setup first so API keys,
|
|
46
|
+
// service account path, and preferences are in place before we need them.
|
|
47
|
+
if (!(await fs.pathExists(getConfigPath()))) {
|
|
48
|
+
logger.warn('No KAppMaker config found. Let\'s set it up first.');
|
|
49
|
+
await configInit();
|
|
50
|
+
}
|
|
41
51
|
const userConfig = await loadConfig();
|
|
42
52
|
const config = buildConfig(appName, options, userConfig);
|
|
43
53
|
const ctx = buildContext(config);
|
|
44
54
|
const org = options.organization || userConfig.organization || config.appName;
|
|
45
55
|
logger.banner(config.appName);
|
|
46
|
-
logger.info(
|
|
47
|
-
logger.info(
|
|
48
|
-
logger.info(
|
|
56
|
+
logger.info('Package/Bundle ID: ' + config.packageName);
|
|
57
|
+
logger.info('Firebase project: ' + config.firebaseProject);
|
|
58
|
+
logger.info('Target directory: ' + config.targetDir);
|
|
49
59
|
// Step 1: Clone template
|
|
50
60
|
logger.step(1, TOTAL_STEPS, 'Cloning template repository');
|
|
51
61
|
const targetPath = path.resolve(config.targetDir);
|
|
52
62
|
if (await fs.pathExists(targetPath)) {
|
|
53
|
-
logger.warn(
|
|
63
|
+
logger.warn('Directory "' + config.targetDir + '" already exists.');
|
|
54
64
|
const shouldOverwrite = await confirm('Delete it and start fresh?');
|
|
55
65
|
if (!shouldOverwrite) {
|
|
56
66
|
logger.info('Aborted.');
|
|
@@ -89,13 +99,15 @@ export async function createApp(appName, options) {
|
|
|
89
99
|
: path.join(assetsDir, 'GoogleService-Info.plist');
|
|
90
100
|
if (!androidConfigDirExists || !iosConfigDirExists) {
|
|
91
101
|
await fs.ensureDir(assetsDir);
|
|
92
|
-
logger.warn('KAppMaker directory structure not found
|
|
102
|
+
logger.warn('KAppMaker directory structure not found -- saving Firebase configs to Assets/');
|
|
93
103
|
}
|
|
94
104
|
await firebase.downloadSdkConfig(androidApp.appId, 'ANDROID', finalAndroidPath);
|
|
95
105
|
await firebase.downloadSdkConfig(iosApp.appId, 'IOS', finalIosPath);
|
|
106
|
+
// Verify the downloaded google-services.json matches the expected package.
|
|
107
|
+
await verifyAndFixGoogleServicesPackage(finalAndroidPath, config.packageName);
|
|
96
108
|
}
|
|
97
109
|
else {
|
|
98
|
-
logger.warn('Skipping steps 4
|
|
110
|
+
logger.warn('Skipping steps 4-6 (Firebase apps, auth, SDK configs) -- project not available.');
|
|
99
111
|
logger.info('You can set up Firebase manually later and re-run these steps.');
|
|
100
112
|
}
|
|
101
113
|
// Step 7: Logo generation (optional)
|
|
@@ -113,69 +125,136 @@ export async function createApp(appName, options) {
|
|
|
113
125
|
else {
|
|
114
126
|
logger.info('Skipping logo generation.');
|
|
115
127
|
}
|
|
116
|
-
// Step 8:
|
|
117
|
-
logger.step(8, TOTAL_STEPS, '
|
|
118
|
-
const wantsAppStore = await confirm(' Set up App Store Connect?');
|
|
119
|
-
if (wantsAppStore) {
|
|
120
|
-
await createAppStoreApp({});
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
logger.info('Skipping App Store Connect setup. Run "kappmaker create-appstore-app" later.');
|
|
124
|
-
}
|
|
125
|
-
// Step 9: Adapty setup (optional)
|
|
126
|
-
logger.step(9, TOTAL_STEPS, 'Adapty subscription setup');
|
|
127
|
-
const wantsAdapty = await confirm(' Set up Adapty subscriptions?');
|
|
128
|
-
if (wantsAdapty) {
|
|
129
|
-
await adaptySetup({});
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
logger.info('Skipping Adapty setup. Run "kappmaker adapty setup" later.');
|
|
133
|
-
}
|
|
134
|
-
// Step 10: Refactor package names, application ID, and app name
|
|
135
|
-
logger.step(10, TOTAL_STEPS, 'Configuring mobile app (package refactor)');
|
|
128
|
+
// Step 8: Package refactor
|
|
129
|
+
logger.step(8, TOTAL_STEPS, 'Configuring mobile app (package refactor)');
|
|
136
130
|
console.log('');
|
|
137
131
|
console.log(chalk.gray(' Update package name to match application ID?'));
|
|
138
|
-
console.log(chalk.gray('
|
|
139
|
-
console.log(chalk.gray('
|
|
132
|
+
console.log(chalk.gray(' * Yes (default) -- package name will be same as application ID'));
|
|
133
|
+
console.log(chalk.gray(' * No -- keeps the template package name for easier syncing with the base repo'));
|
|
140
134
|
const shouldUpdatePackageName = await confirm(' Update package name?');
|
|
141
135
|
await refactor(ctx.mobileDir, config.packageName, config.appName, !shouldUpdatePackageName);
|
|
142
|
-
// Step
|
|
143
|
-
logger.step(
|
|
136
|
+
// Step 9: Build environment + keystore
|
|
137
|
+
logger.step(9, TOTAL_STEPS, 'Setting up build environment');
|
|
144
138
|
const gradlewPath = path.join(ctx.mobileDir, 'gradlew');
|
|
145
139
|
if (await fs.pathExists(gradlewPath)) {
|
|
146
140
|
await gradle.createLocalProperties(ctx.mobileDir, userConfig.androidSdkPath);
|
|
147
141
|
}
|
|
148
142
|
else {
|
|
149
|
-
logger.warn('gradlew not found
|
|
143
|
+
logger.warn('gradlew not found -- skipping local.properties creation.');
|
|
150
144
|
}
|
|
151
145
|
const podfilePath = path.join(ctx.mobileDir, 'iosApp', 'Podfile');
|
|
152
146
|
if (await fs.pathExists(podfilePath)) {
|
|
153
147
|
await ios.installPods(ctx.mobileDir);
|
|
154
148
|
}
|
|
155
149
|
else {
|
|
156
|
-
logger.warn('Podfile not found
|
|
150
|
+
logger.warn('Podfile not found -- skipping CocoaPods install.');
|
|
157
151
|
}
|
|
158
|
-
//
|
|
159
|
-
|
|
152
|
+
// Generate signing keystore if missing (fast, <1s). The actual AAB build
|
|
153
|
+
// happens later in step 12 when publishing to Play's internal track.
|
|
154
|
+
if (await fs.pathExists(gradlewPath) && !(await hasKeystore(ctx.mobileDir))) {
|
|
155
|
+
logger.info('Generating Android signing keystore...');
|
|
156
|
+
await generateKeystore(ctx.mobileDir, '', org);
|
|
157
|
+
}
|
|
158
|
+
// Step 10: Git remotes
|
|
159
|
+
logger.step(10, TOTAL_STEPS, 'Setting up git remotes');
|
|
160
160
|
const repoRoot = path.resolve(config.targetDir);
|
|
161
161
|
await git.setTemplateAsUpstream(repoRoot);
|
|
162
|
-
//
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
// ── Pre-store-setup reminder ──────────────────────────────────────
|
|
163
|
+
console.log('');
|
|
164
|
+
console.log(chalk.bold(' Before continuing, create your Google Play app:'));
|
|
165
|
+
console.log(' ' + chalk.cyan('1.') + ' Open ' + chalk.cyan('https://play.google.com/console/u/0/developers'));
|
|
166
|
+
console.log(' ' + chalk.cyan('2.') + ' Create a new app with package name: ' + chalk.bold(config.packageName));
|
|
167
|
+
console.log(' ' + chalk.cyan('3.') + ' App Store Connect will be created automatically by the CLI');
|
|
168
|
+
console.log('');
|
|
169
|
+
await promptInput(' Press Enter when ready...');
|
|
170
|
+
// Config files should live in the project's Assets dir, not CWD's Assets/.
|
|
171
|
+
const projectAssetsDir = path.join(targetPath, 'Assets');
|
|
172
|
+
const ascConfigPath = path.join(projectAssetsDir, 'appstore-config.json');
|
|
173
|
+
const gpcConfigPath = path.join(projectAssetsDir, 'googleplay-config.json');
|
|
174
|
+
const adaptyConfigPath = path.join(projectAssetsDir, 'adapty-config.json');
|
|
175
|
+
// Step 11: App Store Connect setup (optional)
|
|
176
|
+
logger.step(11, TOTAL_STEPS, 'App Store Connect setup');
|
|
177
|
+
const wantsAppStore = await confirm(' Set up App Store Connect?');
|
|
178
|
+
if (wantsAppStore) {
|
|
179
|
+
await createAppStoreApp({ config: ascConfigPath });
|
|
167
180
|
}
|
|
168
181
|
else {
|
|
169
|
-
logger.
|
|
182
|
+
logger.info('Skipping App Store Connect setup. Run "kappmaker create-appstore-app" later.');
|
|
170
183
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
184
|
+
// Step 12: Google Play Console setup (optional)
|
|
185
|
+
// Publishes AAB to internal track first (Fastlane builds + uploads in one step),
|
|
186
|
+
// so billing is enabled for subscription/IAP creation in gpc setup.
|
|
187
|
+
logger.step(12, TOTAL_STEPS, 'Google Play Console setup');
|
|
188
|
+
const wantsPlayStore = await confirm(' Set up Google Play Console? (builds + uploads AAB to internal track first)');
|
|
189
|
+
if (wantsPlayStore) {
|
|
190
|
+
// Ensure Fastlane is configured (Gemfile + Fastfile)
|
|
191
|
+
const gemfilePath = path.join(ctx.mobileDir, 'Gemfile');
|
|
192
|
+
if (!(await fs.pathExists(gemfilePath))) {
|
|
193
|
+
logger.info('Configuring Fastlane (Gemfile + Fastfile + bundle install)...');
|
|
194
|
+
await configureFastlane(ctx.mobileDir);
|
|
195
|
+
}
|
|
196
|
+
// Fastlane's upload_to_play_store checks for the metadata_path directory
|
|
197
|
+
// even when skip_upload_metadata is true. Ensure it exists.
|
|
198
|
+
const playMetadataDir = path.join(ctx.mobileDir, 'distribution', 'android', 'playstore_metadata');
|
|
199
|
+
await fs.ensureDir(playMetadataDir);
|
|
200
|
+
// Publish to internal track — Fastlane's playstore_release lane builds the
|
|
201
|
+
// AAB and uploads it in one step, so no separate build step is needed.
|
|
202
|
+
logger.info('Building and uploading AAB to Google Play internal track...');
|
|
203
|
+
try {
|
|
204
|
+
await publishAndroid(ctx.mobileDir, {
|
|
205
|
+
track: 'internal',
|
|
206
|
+
uploadMetadata: false,
|
|
207
|
+
uploadScreenshots: false,
|
|
208
|
+
uploadImages: false,
|
|
209
|
+
submitForReview: false,
|
|
210
|
+
}, userConfig);
|
|
211
|
+
logger.success('AAB uploaded to internal track.');
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
logger.warn('Failed to build/upload AAB to internal track.');
|
|
215
|
+
logger.info('You can retry later: kappmaker publish --platform android --track internal');
|
|
216
|
+
logger.info('Continuing with Google Play Console setup -- monetization steps may be skipped.');
|
|
217
|
+
}
|
|
218
|
+
await createPlayApp({ config: gpcConfigPath });
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
logger.info('Skipping Google Play Console setup. Run "kappmaker gpc setup" later.');
|
|
222
|
+
}
|
|
223
|
+
// Step 13: Adapty setup (optional)
|
|
224
|
+
logger.step(13, TOTAL_STEPS, 'Adapty subscription setup');
|
|
225
|
+
const wantsAdapty = await confirm(' Set up Adapty subscriptions?');
|
|
226
|
+
if (wantsAdapty) {
|
|
227
|
+
await adaptySetup({ config: adaptyConfigPath });
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
logger.info('Skipping Adapty setup. Run "kappmaker adapty setup" later.');
|
|
178
231
|
}
|
|
179
232
|
logger.done();
|
|
180
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Verify that the downloaded google-services.json contains the expected
|
|
236
|
+
* package name. If not (e.g., Firebase app was from a previous run with a
|
|
237
|
+
* different bundleIdPrefix), fix it in-place.
|
|
238
|
+
*/
|
|
239
|
+
async function verifyAndFixGoogleServicesPackage(jsonPath, expectedPackage) {
|
|
240
|
+
if (!(await fs.pathExists(jsonPath)))
|
|
241
|
+
return;
|
|
242
|
+
try {
|
|
243
|
+
const raw = await fs.readFile(jsonPath, 'utf8');
|
|
244
|
+
const data = JSON.parse(raw);
|
|
245
|
+
const clients = data?.client ?? [];
|
|
246
|
+
const match = clients.some((c) => c.client_info?.android_client_info?.package_name === expectedPackage);
|
|
247
|
+
if (!match && clients.length > 0) {
|
|
248
|
+
const actual = clients[0]?.client_info?.android_client_info?.package_name ?? '(unknown)';
|
|
249
|
+
logger.warn('google-services.json has package "' + actual + '" but expected "' + expectedPackage + '".');
|
|
250
|
+
logger.info('Fixing package name in google-services.json...');
|
|
251
|
+
const fixed = raw.replaceAll(actual, expectedPackage);
|
|
252
|
+
await fs.writeFile(jsonPath, fixed, 'utf8');
|
|
253
|
+
logger.success('google-services.json updated to ' + expectedPackage);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
// Non-fatal
|
|
258
|
+
}
|
|
259
|
+
}
|
|
181
260
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/enhance.js
CHANGED
|
@@ -2,14 +2,22 @@ import path from 'node:path';
|
|
|
2
2
|
import fs from 'fs-extra';
|
|
3
3
|
import sharp from 'sharp';
|
|
4
4
|
import { logger } from '../utils/logger.js';
|
|
5
|
-
import {
|
|
5
|
+
import { promptInput } from '../utils/prompt.js';
|
|
6
|
+
import { loadConfig, saveConfig } from '../utils/config.js';
|
|
6
7
|
import * as fal from '../services/fal.service.js';
|
|
7
8
|
export async function enhance(source, options) {
|
|
8
9
|
const config = await loadConfig();
|
|
9
10
|
if (!config.falApiKey) {
|
|
10
|
-
logger.
|
|
11
|
-
logger.info('
|
|
12
|
-
|
|
11
|
+
logger.warn('fal.ai API key is not configured.');
|
|
12
|
+
logger.info('Get one at: https://fal.ai/dashboard/keys');
|
|
13
|
+
const key = await promptInput(' Enter your fal.ai API key: ');
|
|
14
|
+
if (!key.trim()) {
|
|
15
|
+
logger.fatal('fal.ai API key is required.');
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
config.falApiKey = key.trim();
|
|
19
|
+
await saveConfig(config);
|
|
20
|
+
logger.success('falApiKey saved to config.');
|
|
13
21
|
}
|
|
14
22
|
const sourcePath = path.resolve(source);
|
|
15
23
|
if (!(await fs.pathExists(sourcePath))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhance.js","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"enhance.js","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function fastlaneConfigure(): Promise<void>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { logger } from '../utils/logger.js';
|
|
2
|
+
import { resolveMobileDir } from '../services/version.service.js';
|
|
3
|
+
import { configureFastlane } from '../services/fastlane-setup.service.js';
|
|
4
|
+
export async function fastlaneConfigure() {
|
|
5
|
+
const mobileDir = resolveMobileDir();
|
|
6
|
+
logger.info(`Mobile app directory: ${mobileDir}`);
|
|
7
|
+
await configureFastlane(mobileDir);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=fastlane-configure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fastlane-configure.js","sourceRoot":"","sources":["../../src/commands/fastlane-configure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IAClD,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -2,7 +2,8 @@ import path from 'node:path';
|
|
|
2
2
|
import fs from 'fs-extra';
|
|
3
3
|
import ora from 'ora';
|
|
4
4
|
import { logger } from '../utils/logger.js';
|
|
5
|
-
import {
|
|
5
|
+
import { promptInput } from '../utils/prompt.js';
|
|
6
|
+
import { loadConfig, saveConfig } from '../utils/config.js';
|
|
6
7
|
import * as fal from '../services/fal.service.js';
|
|
7
8
|
import * as openai from '../services/openai.service.js';
|
|
8
9
|
import * as screenshot from '../services/screenshot.service.js';
|
|
@@ -10,14 +11,28 @@ const MAX_REFERENCE_IMAGES = 10;
|
|
|
10
11
|
export async function generateScreenshots(options) {
|
|
11
12
|
const config = await loadConfig();
|
|
12
13
|
if (!config.openaiApiKey) {
|
|
13
|
-
logger.
|
|
14
|
-
logger.info('
|
|
15
|
-
|
|
14
|
+
logger.warn('OpenAI API key is not configured.');
|
|
15
|
+
logger.info('Get one at: https://platform.openai.com/api-keys');
|
|
16
|
+
const key = await promptInput(' Enter your OpenAI API key: ');
|
|
17
|
+
if (!key.trim()) {
|
|
18
|
+
logger.fatal('OpenAI API key is required for screenshot generation.');
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
config.openaiApiKey = key.trim();
|
|
22
|
+
await saveConfig(config);
|
|
23
|
+
logger.success('openaiApiKey saved to config.');
|
|
16
24
|
}
|
|
17
25
|
if (!config.falApiKey) {
|
|
18
|
-
logger.
|
|
19
|
-
logger.info('
|
|
20
|
-
|
|
26
|
+
logger.warn('fal.ai API key is not configured.');
|
|
27
|
+
logger.info('Get one at: https://fal.ai/dashboard/keys');
|
|
28
|
+
const key = await promptInput(' Enter your fal.ai API key: ');
|
|
29
|
+
if (!key.trim()) {
|
|
30
|
+
logger.fatal('fal.ai API key is required for screenshot generation.');
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
config.falApiKey = key.trim();
|
|
34
|
+
await saveConfig(config);
|
|
35
|
+
logger.success('falApiKey saved to config.');
|
|
21
36
|
}
|
|
22
37
|
const rows = options.rows ?? 2;
|
|
23
38
|
const cols = options.cols ?? 4;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-screenshots.js","sourceRoot":"","sources":["../../src/commands/generate-screenshots.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-screenshots.js","sourceRoot":"","sources":["../../src/commands/generate-screenshots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CreatePlayAppOptions } from '../types/googleplay.js';
|
|
2
|
+
/** Full 11-step orchestrator (identical to the top-level create-play-app). */
|
|
3
|
+
export declare function gpcSetup(options: CreatePlayAppOptions): Promise<void>;
|
|
4
|
+
/** Quick read-only probe: does this app exist on Play Console? */
|
|
5
|
+
export declare function gpcAppCheck(options: {
|
|
6
|
+
package: string;
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
/** Push just the listings section (start edit → listings → commit). */
|
|
9
|
+
export declare function gpcListingsPush(options: CreatePlayAppOptions): Promise<void>;
|
|
10
|
+
/** List subscriptions currently on Play Console (package from --package or config). */
|
|
11
|
+
export declare function gpcSubscriptionsList(options: {
|
|
12
|
+
package?: string;
|
|
13
|
+
config?: string;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
/** Create/reuse subscriptions from config (idempotent). */
|
|
16
|
+
export declare function gpcSubscriptionsPush(options: CreatePlayAppOptions): Promise<void>;
|
|
17
|
+
/** List one-time in-app products currently on Play Console. */
|
|
18
|
+
export declare function gpcIapList(options: {
|
|
19
|
+
package?: string;
|
|
20
|
+
config?: string;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
/** Create/reuse one-time in-app products from config (idempotent). */
|
|
23
|
+
export declare function gpcIapPush(options: CreatePlayAppOptions): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Push only the data safety declaration. Priority:
|
|
26
|
+
* 1. `data_safety_csv_path` — uploaded verbatim (escape hatch).
|
|
27
|
+
* 2. `data_safety` JSON block — converted via buildDataSafetyCsv().
|
|
28
|
+
*/
|
|
29
|
+
export declare function gpcDataSafetyPush(options: CreatePlayAppOptions): Promise<void>;
|