kappmaker 1.1.0 → 1.2.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/README.md +254 -30
- package/dist/cli.js +87 -1
- 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/publish.d.ts +1 -1
- package/dist/commands/publish.js +1 -1
- package/dist/commands/publish.js.map +1 -1
- 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
|
@@ -3,9 +3,15 @@ import { run, runStreaming } from '../utils/exec.js';
|
|
|
3
3
|
import { logger } from '../utils/logger.js';
|
|
4
4
|
import { confirm } from '../utils/prompt.js';
|
|
5
5
|
import { loadConfig } from '../utils/config.js';
|
|
6
|
+
// Minimum supported asc CLI version. v1.0 removed compatibility shims for
|
|
7
|
+
// `apps create`, `age-rating set`, `submit preflight`, `release run`, etc.
|
|
8
|
+
// See https://docs.asccli.sh/migrate-to-1-0
|
|
9
|
+
const MIN_ASC_VERSION = '1.2.1';
|
|
6
10
|
export async function validateAscInstalled() {
|
|
11
|
+
let versionOutput = null;
|
|
7
12
|
try {
|
|
8
|
-
await execa('asc', ['--version']);
|
|
13
|
+
const result = await execa('asc', ['--version']);
|
|
14
|
+
versionOutput = result.stdout;
|
|
9
15
|
}
|
|
10
16
|
catch {
|
|
11
17
|
logger.warn('asc CLI is not installed.');
|
|
@@ -18,8 +24,31 @@ export async function validateAscInstalled() {
|
|
|
18
24
|
logger.fatal('asc CLI is required. Install manually: brew install asc');
|
|
19
25
|
process.exit(1);
|
|
20
26
|
}
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (versionOutput && !meetsMinimumVersion(versionOutput, MIN_ASC_VERSION)) {
|
|
30
|
+
const found = versionOutput.match(/\d+\.\d+\.\d+/)?.[0] ?? versionOutput.trim();
|
|
31
|
+
logger.warn(`asc CLI ${found} is older than ${MIN_ASC_VERSION}. Some commands may fail.`);
|
|
32
|
+
logger.info('Upgrade with: brew upgrade asc');
|
|
33
|
+
logger.info('Migration notes: https://docs.asccli.sh/migrate-to-1-0');
|
|
21
34
|
}
|
|
22
35
|
}
|
|
36
|
+
function meetsMinimumVersion(versionString, minimum) {
|
|
37
|
+
const match = versionString.match(/(\d+)\.(\d+)\.(\d+)/);
|
|
38
|
+
if (!match)
|
|
39
|
+
return true; // Unknown format — don't block
|
|
40
|
+
const [, maj, min, patch] = match;
|
|
41
|
+
const [minMaj, minMin, minPatch] = minimum.split('.').map(Number);
|
|
42
|
+
const current = [Number(maj), Number(min), Number(patch)];
|
|
43
|
+
const required = [minMaj, minMin, minPatch];
|
|
44
|
+
for (let i = 0; i < 3; i++) {
|
|
45
|
+
if (current[i] > required[i])
|
|
46
|
+
return true;
|
|
47
|
+
if (current[i] < required[i])
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
23
52
|
export async function validateAscAuth() {
|
|
24
53
|
const result = await run('asc', ['auth', 'status', '--validate'], {
|
|
25
54
|
label: 'Checking App Store Connect authentication',
|
|
@@ -64,24 +93,76 @@ export async function validateAscAuth() {
|
|
|
64
93
|
}
|
|
65
94
|
}
|
|
66
95
|
}
|
|
67
|
-
|
|
68
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Default capabilities enabled on every new bundle ID. These match the
|
|
98
|
+
* standard KAppMaker app requirements (subscriptions, push, Apple Sign In).
|
|
99
|
+
*/
|
|
100
|
+
const BUNDLE_ID_CAPABILITIES = ['IN_APP_PURCHASE', 'PUSH_NOTIFICATIONS', 'APPLE_ID_AUTH'];
|
|
101
|
+
export async function createBundleId(bundleId, _name, platform) {
|
|
102
|
+
// Name follows Apple convention: "XC com measify archgee" for "com.measify.archgee"
|
|
103
|
+
const derivedName = `XC ${bundleId.replace(/\./g, ' ')}`;
|
|
104
|
+
const result = await run('asc', ['bundle-ids', 'create', '--identifier', bundleId, '--name', derivedName, '--platform', platform], { label: `Creating bundle ID: ${bundleId}`, allowFailure: true });
|
|
69
105
|
if (result.exitCode !== 0) {
|
|
70
106
|
logger.info(`Bundle ID "${bundleId}" may already exist, continuing...`);
|
|
71
107
|
}
|
|
108
|
+
// Find the bundle ID's resource ID (needed for capabilities API)
|
|
109
|
+
const resourceId = await findBundleIdResourceId(bundleId);
|
|
110
|
+
if (!resourceId) {
|
|
111
|
+
logger.warn('Could not find bundle ID resource ID — skipping capability setup.');
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
// Enable capabilities: Sign in with Apple, In-App Purchases, Push Notifications
|
|
115
|
+
for (const capability of BUNDLE_ID_CAPABILITIES) {
|
|
116
|
+
await run('asc', [
|
|
117
|
+
'bundle-ids', 'capabilities', 'add',
|
|
118
|
+
'--bundle', resourceId,
|
|
119
|
+
'--capability', capability,
|
|
120
|
+
], {
|
|
121
|
+
label: `Enabling ${capability} on ${bundleId}`,
|
|
122
|
+
allowFailure: true,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async function findBundleIdResourceId(identifier) {
|
|
127
|
+
const result = await run('asc', ['bundle-ids', 'list', '--output', 'json'], {
|
|
128
|
+
label: 'Looking up bundle ID resource ID',
|
|
129
|
+
allowFailure: true,
|
|
130
|
+
});
|
|
131
|
+
if (result.exitCode !== 0 || !result.stdout)
|
|
132
|
+
return null;
|
|
133
|
+
try {
|
|
134
|
+
const data = JSON.parse(result.stdout);
|
|
135
|
+
const bundles = data?.data ?? data ?? [];
|
|
136
|
+
for (const b of bundles) {
|
|
137
|
+
const attrs = b.attributes ?? b;
|
|
138
|
+
if (attrs.identifier === identifier || attrs.bundleId === identifier) {
|
|
139
|
+
return b.id;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
// Fall through
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
72
147
|
}
|
|
73
148
|
export async function createApp(config) {
|
|
74
|
-
// asc apps create
|
|
75
|
-
//
|
|
76
|
-
const
|
|
149
|
+
// v1.0+ removed `asc apps create`; creation lives under `asc web apps create`
|
|
150
|
+
// and requires an explicit --apple-id for the web-session auth path.
|
|
151
|
+
const kappConfig = await loadConfig();
|
|
152
|
+
if (!kappConfig.appleId) {
|
|
153
|
+
logger.fatal('Apple ID is required to create apps (asc web apps create --apple-id).');
|
|
154
|
+
logger.info('Set it with: kappmaker config appstore-defaults --init');
|
|
155
|
+
logger.info('Or create the app manually at: https://appstoreconnect.apple.com/apps');
|
|
156
|
+
process.exit(1);
|
|
157
|
+
}
|
|
158
|
+
const shouldCreate = await confirm(' App not found. Create it now? (requires Apple ID session)');
|
|
77
159
|
if (shouldCreate) {
|
|
78
160
|
await runStreaming('asc', [
|
|
79
|
-
'apps', 'create',
|
|
161
|
+
'web', 'apps', 'create',
|
|
80
162
|
'--name', config.name,
|
|
81
163
|
'--bundle-id', config.bundle_id,
|
|
82
164
|
'--sku', config.sku,
|
|
83
|
-
'--
|
|
84
|
-
'--primary-locale', config.primary_locale,
|
|
165
|
+
'--apple-id', kappConfig.appleId,
|
|
85
166
|
], { label: `Creating app: ${config.name}` });
|
|
86
167
|
const appId = await findAppByBundleId(config.bundle_id);
|
|
87
168
|
if (appId)
|
|
@@ -91,7 +172,7 @@ export async function createApp(config) {
|
|
|
91
172
|
}
|
|
92
173
|
logger.fatal('App must exist on App Store Connect before configuring it.');
|
|
93
174
|
logger.info('Create it manually at: https://appstoreconnect.apple.com/apps');
|
|
94
|
-
logger.info('Or run again and choose yes to create via
|
|
175
|
+
logger.info('Or run again and choose yes to create via asc web apps create.');
|
|
95
176
|
process.exit(1);
|
|
96
177
|
}
|
|
97
178
|
export async function updateContentRights(appId, contentRights) {
|
|
@@ -163,8 +244,9 @@ const AGE_RATING_FLAG_MAP = {
|
|
|
163
244
|
user_generated_content: 'user-generated-content',
|
|
164
245
|
};
|
|
165
246
|
export async function setAgeRating(appId, ageRating) {
|
|
166
|
-
//
|
|
167
|
-
|
|
247
|
+
// v1.0 renamed `asc age-rating set` → `asc age-rating edit`.
|
|
248
|
+
// Start with --all-none to set safe defaults, then override any non-default values.
|
|
249
|
+
const args = ['age-rating', 'edit', '--app', appId, '--all-none'];
|
|
168
250
|
for (const [key, value] of Object.entries(ageRating)) {
|
|
169
251
|
if (value === undefined || value === '' || value === 'NONE' || value === false)
|
|
170
252
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asc.service.js","sourceRoot":"","sources":["../../src/services/asc.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"asc.service.js","sourceRoot":"","sources":["../../src/services/asc.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function configureFastlane(mobileDir: string): Promise<void>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import fs from 'fs-extra';
|
|
4
|
+
import { runStreaming } from '../utils/exec.js';
|
|
5
|
+
import { logger } from '../utils/logger.js';
|
|
6
|
+
const GEMFILE_CONTENT = `source "https://rubygems.org"
|
|
7
|
+
|
|
8
|
+
gem "fastlane"
|
|
9
|
+
`;
|
|
10
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
async function getFastfileContent() {
|
|
12
|
+
const templatePath = path.join(__dirname, '..', 'templates', 'Fastfile.txt');
|
|
13
|
+
// In compiled dist/, templates is a sibling; in src/ via tsx, same structure
|
|
14
|
+
if (await fs.pathExists(templatePath)) {
|
|
15
|
+
return fs.readFile(templatePath, 'utf8');
|
|
16
|
+
}
|
|
17
|
+
// Fallback: try from source location
|
|
18
|
+
const srcPath = path.join(__dirname, '..', '..', 'src', 'templates', 'Fastfile.txt');
|
|
19
|
+
return fs.readFile(srcPath, 'utf8');
|
|
20
|
+
}
|
|
21
|
+
export async function configureFastlane(mobileDir) {
|
|
22
|
+
const gemfilePath = path.join(mobileDir, 'Gemfile');
|
|
23
|
+
const fastlaneDir = path.join(mobileDir, 'fastlane');
|
|
24
|
+
const fastfilePath = path.join(fastlaneDir, 'Fastfile');
|
|
25
|
+
// Create Gemfile
|
|
26
|
+
if (await fs.pathExists(gemfilePath)) {
|
|
27
|
+
logger.warn('Gemfile already exists — skipping.');
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
await fs.writeFile(gemfilePath, GEMFILE_CONTENT, 'utf8');
|
|
31
|
+
logger.success('Created Gemfile');
|
|
32
|
+
}
|
|
33
|
+
// Create fastlane/Fastfile
|
|
34
|
+
if (await fs.pathExists(fastfilePath)) {
|
|
35
|
+
logger.warn('fastlane/Fastfile already exists — skipping.');
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const fastfileContent = await getFastfileContent();
|
|
39
|
+
await fs.ensureDir(fastlaneDir);
|
|
40
|
+
await fs.writeFile(fastfilePath, fastfileContent, 'utf8');
|
|
41
|
+
logger.success('Created fastlane/Fastfile');
|
|
42
|
+
}
|
|
43
|
+
// Run bundle install
|
|
44
|
+
await runStreaming('bundle', ['install'], {
|
|
45
|
+
cwd: mobileDir,
|
|
46
|
+
label: 'Running bundle install',
|
|
47
|
+
});
|
|
48
|
+
logger.success('Fastlane configured successfully.');
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=fastlane-setup.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fastlane-setup.service.js","sourceRoot":"","sources":["../../src/services/fastlane-setup.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,eAAe,GAAG;;;CAGvB,CAAC;AAEF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,KAAK,UAAU,kBAAkB;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC7E,6EAA6E;IAC7E,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACrF,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAExD,iBAAiB;IACjB,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC9C,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE;QACxC,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,wBAAwB;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -3,6 +3,7 @@ import os from 'node:os';
|
|
|
3
3
|
import fs from 'fs-extra';
|
|
4
4
|
import { run, runStreaming } from '../utils/exec.js';
|
|
5
5
|
import { logger } from '../utils/logger.js';
|
|
6
|
+
import { promptInput } from '../utils/prompt.js';
|
|
6
7
|
export async function firebaseLogin() {
|
|
7
8
|
await runStreaming('firebase', ['login'], {
|
|
8
9
|
label: 'Opening Firebase login...',
|
|
@@ -53,30 +54,59 @@ export async function enableAnonymousAuth(projectId) {
|
|
|
53
54
|
logger.warn('Could not read Firebase access token. Enable anonymous auth manually in the Firebase console.');
|
|
54
55
|
return;
|
|
55
56
|
}
|
|
56
|
-
const
|
|
57
|
+
const headers = {
|
|
58
|
+
Authorization: `Bearer ${accessToken}`,
|
|
59
|
+
'Content-Type': 'application/json',
|
|
60
|
+
};
|
|
61
|
+
// Enable the Identity Toolkit API (required for the config endpoint).
|
|
57
62
|
try {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
const enableUrl = 'https://serviceusage.googleapis.com/v1/projects/' + projectId + '/services/identitytoolkit.googleapis.com:enable';
|
|
64
|
+
await fetch(enableUrl, { method: 'POST', headers });
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Non-fatal
|
|
68
|
+
}
|
|
69
|
+
const url = 'https://identitytoolkit.googleapis.com/admin/v2/projects/' + projectId + '/config?updateMask=signIn.anonymous.enabled';
|
|
70
|
+
const body = JSON.stringify({ signIn: { anonymous: { enabled: true } } });
|
|
71
|
+
// First attempt — works if Firebase Auth is already initialized.
|
|
72
|
+
const firstTry = await tryEnableAnonymous(url, headers, body);
|
|
73
|
+
if (firstTry === 'ok')
|
|
74
|
+
return;
|
|
75
|
+
if (firstTry === 'not_found') {
|
|
76
|
+
// Firebase Auth needs to be initialized in the console first.
|
|
77
|
+
// Ask the user to do it, then we'll retry.
|
|
78
|
+
const consoleUrl = 'https://console.firebase.google.com/project/' + projectId + '/authentication';
|
|
79
|
+
console.log('');
|
|
80
|
+
logger.info('Firebase Authentication needs to be initialized for this project.');
|
|
81
|
+
logger.info('Please open the link below and click "Get started":');
|
|
82
|
+
console.log('');
|
|
83
|
+
console.log(' ' + consoleUrl);
|
|
84
|
+
console.log('');
|
|
85
|
+
await promptInput(' Press Enter after clicking "Get started"...');
|
|
86
|
+
// Retry after user initialized Auth in the console.
|
|
87
|
+
const secondTry = await tryEnableAnonymous(url, headers, body);
|
|
88
|
+
if (secondTry === 'ok')
|
|
89
|
+
return;
|
|
90
|
+
logger.warn('Still could not enable anonymous auth.');
|
|
91
|
+
logger.info('You can enable it manually: Firebase Console -> Authentication -> Sign-in method -> Anonymous.');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async function tryEnableAnonymous(url, headers, body) {
|
|
95
|
+
try {
|
|
96
|
+
const response = await fetch(url, { method: 'PATCH', headers, body });
|
|
68
97
|
if (response.ok) {
|
|
69
98
|
logger.success('Anonymous authentication enabled.');
|
|
99
|
+
return 'ok';
|
|
70
100
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
logger.info('You can enable it manually in the Firebase console → Authentication → Sign-in method.');
|
|
101
|
+
const errorText = await response.text();
|
|
102
|
+
if (response.status === 404 && errorText.includes('CONFIGURATION_NOT_FOUND')) {
|
|
103
|
+
return 'not_found';
|
|
75
104
|
}
|
|
105
|
+
logger.warn('Failed to enable anonymous auth (HTTP ' + response.status + ')');
|
|
106
|
+
return 'error';
|
|
76
107
|
}
|
|
77
|
-
catch
|
|
78
|
-
|
|
79
|
-
logger.info('You can enable it manually in the Firebase console → Authentication → Sign-in method.');
|
|
108
|
+
catch {
|
|
109
|
+
return 'error';
|
|
80
110
|
}
|
|
81
111
|
}
|
|
82
112
|
// ── Internal helpers ────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.service.js","sourceRoot":"","sources":["../../src/services/firebase.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"firebase.service.js","sourceRoot":"","sources":["../../src/services/firebase.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GooglePlayDataSafety } from '../types/googleplay.js';
|
|
2
|
+
/**
|
|
3
|
+
* Build a filled Data Safety CSV from a user-provided declaration.
|
|
4
|
+
* Returns the CSV string ready to be wrapped in `{ safetyLabels: csv }`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function buildDataSafetyCsv(declaration: GooglePlayDataSafety): string;
|
|
7
|
+
/**
|
|
8
|
+
* Count how many REQUIRED / MAYBE_REQUIRED rows still have no value after
|
|
9
|
+
* defaults + overrides — useful for a pre-flight warning.
|
|
10
|
+
*/
|
|
11
|
+
export declare function countUnansweredRequired(declaration: GooglePlayDataSafety): number;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import template from '../templates/data-safety-template.json' with { type: 'json' };
|
|
2
|
+
const rows = template;
|
|
3
|
+
/**
|
|
4
|
+
* KAppMaker defaults — mirror the App Store Connect privacy defaults as closely
|
|
5
|
+
* as the Play Data Safety schema allows. Review before publishing to production.
|
|
6
|
+
*
|
|
7
|
+
* iOS → Play mapping:
|
|
8
|
+
* USER_ID → PSL_USER_ACCOUNT (Personal info, App functionality)
|
|
9
|
+
* DEVICE_ID → PSL_DEVICE_ID (Identifiers, Analytics)
|
|
10
|
+
* CRASH_DATA → PSL_CRASH_LOGS (App info, Analytics)
|
|
11
|
+
* PERFORMANCE_DATA → PSL_OTHER_PERFORMANCE (App info, Analytics)
|
|
12
|
+
* OTHER_DIAGNOSTIC_DATA → PSL_PERFORMANCE_DIAGNOSTICS(App info, Analytics)
|
|
13
|
+
* OTHER_USAGE_DATA → PSL_OTHER_APP_ACTIVITY (App activity, Analytics)
|
|
14
|
+
* PRODUCT_INTERACTION → PSL_USER_INTERACTION (App activity, Analytics)
|
|
15
|
+
*
|
|
16
|
+
* Defaults:
|
|
17
|
+
* - Account creation: "My app does not allow users to create an account"
|
|
18
|
+
* - Data deletion: skipped (OPTIONAL question — omitted entirely)
|
|
19
|
+
* - App activity: only "App interactions" (PSL_USER_INTERACTION), NOT "Other"
|
|
20
|
+
* - Data handling for ALL collected types:
|
|
21
|
+
* • Ephemeral = YES (processed ephemerally)
|
|
22
|
+
* • User control = REQUIRED (users can't turn off collection)
|
|
23
|
+
* • Collected only (not shared with third parties)
|
|
24
|
+
* - Encrypted in transit: YES
|
|
25
|
+
* - No sensitive data (no health, no financial, no location, no personal info)
|
|
26
|
+
*/
|
|
27
|
+
const KAPPMAKER_DEFAULTS = {
|
|
28
|
+
// ── Top-level disclosures ─────────────────────────────────────────
|
|
29
|
+
PSL_DATA_COLLECTION_COLLECTS_PERSONAL_DATA: true,
|
|
30
|
+
PSL_DATA_COLLECTION_ENCRYPTED_IN_TRANSIT: true,
|
|
31
|
+
// Account creation: "My app does not allow users to create an account"
|
|
32
|
+
'PSL_SUPPORTED_ACCOUNT_CREATION_METHODS/PSL_ACM_NONE': true,
|
|
33
|
+
// Can users log in with accounts created outside the app? → No
|
|
34
|
+
PSL_HAS_OUTSIDE_APP_ACCOUNTS: false,
|
|
35
|
+
// Do you provide a way for users to request deletion? → skip (OPTIONAL)
|
|
36
|
+
// PSL_SUPPORT_DATA_DELETION_BY_USER — omitted, optional question
|
|
37
|
+
// ── Data type: Personal info / User IDs ────────────────────────────
|
|
38
|
+
'PSL_DATA_TYPES_PERSONAL/PSL_USER_ACCOUNT': true,
|
|
39
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_USER_ACCOUNT:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
|
|
40
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_USER_ACCOUNT:PSL_DATA_USAGE_EPHEMERAL': true,
|
|
41
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_USER_ACCOUNT:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
|
|
42
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_USER_ACCOUNT:DATA_USAGE_COLLECTION_PURPOSE/PSL_APP_FUNCTIONALITY': true,
|
|
43
|
+
// ── Data type: Identifiers / Device ID ────────────────────────────
|
|
44
|
+
'PSL_DATA_TYPES_IDENTIFIERS/PSL_DEVICE_ID': true,
|
|
45
|
+
// Data handling: collected only (not shared), ephemeral, collection required
|
|
46
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
|
|
47
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:PSL_DATA_USAGE_EPHEMERAL': true,
|
|
48
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
|
|
49
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
|
|
50
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:DATA_USAGE_COLLECTION_PURPOSE/PSL_APP_FUNCTIONALITY': true,
|
|
51
|
+
// ── Data type: App info / Crash logs ──────────────────────────────
|
|
52
|
+
'PSL_DATA_TYPES_APP_PERFORMANCE/PSL_CRASH_LOGS': true,
|
|
53
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_CRASH_LOGS:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
|
|
54
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_CRASH_LOGS:PSL_DATA_USAGE_EPHEMERAL': true,
|
|
55
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_CRASH_LOGS:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
|
|
56
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_CRASH_LOGS:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
|
|
57
|
+
// ── Data type: App info / Performance diagnostics ─────────────────
|
|
58
|
+
'PSL_DATA_TYPES_APP_PERFORMANCE/PSL_PERFORMANCE_DIAGNOSTICS': true,
|
|
59
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
|
|
60
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:PSL_DATA_USAGE_EPHEMERAL': true,
|
|
61
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
|
|
62
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
|
|
63
|
+
// ── Data type: App info / Other performance ──────────────────────
|
|
64
|
+
'PSL_DATA_TYPES_APP_PERFORMANCE/PSL_OTHER_PERFORMANCE': true,
|
|
65
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_OTHER_PERFORMANCE:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
|
|
66
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_OTHER_PERFORMANCE:PSL_DATA_USAGE_EPHEMERAL': true,
|
|
67
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_OTHER_PERFORMANCE:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
|
|
68
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_OTHER_PERFORMANCE:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
|
|
69
|
+
// ── Data type: App activity / App interactions (only this one, not "Other") ──
|
|
70
|
+
'PSL_DATA_TYPES_APP_ACTIVITY/PSL_USER_INTERACTION': true,
|
|
71
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_USER_INTERACTION:PSL_DATA_USAGE_COLLECTION_AND_SHARING/PSL_DATA_USAGE_ONLY_COLLECTED': true,
|
|
72
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_USER_INTERACTION:PSL_DATA_USAGE_EPHEMERAL': true,
|
|
73
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_USER_INTERACTION:DATA_USAGE_USER_CONTROL/PSL_DATA_USAGE_USER_CONTROL_REQUIRED': true,
|
|
74
|
+
'PSL_DATA_USAGE_RESPONSES:PSL_USER_INTERACTION:DATA_USAGE_COLLECTION_PURPOSE/PSL_ANALYTICS': true,
|
|
75
|
+
};
|
|
76
|
+
/** Normalize ":"/"/" composite keys into a single canonical form used for lookup. */
|
|
77
|
+
function rowLookupKey(qid, rid) {
|
|
78
|
+
if (rid === null)
|
|
79
|
+
return qid;
|
|
80
|
+
return `${qid}/${rid}`;
|
|
81
|
+
}
|
|
82
|
+
/** Accept both "QID/RID" and "QID:RID" from user input. */
|
|
83
|
+
function normalizeAnswerKey(key) {
|
|
84
|
+
// "QID:RID" → "QID/RID" (but preserve the inner "PSL_DATA_USAGE_RESPONSES:..." triple colons)
|
|
85
|
+
// Only convert the LAST ":" before the trailing responseId, which is harder to
|
|
86
|
+
// detect generically. Safer: accept both forms, try matching in buildAnswerMap.
|
|
87
|
+
return key;
|
|
88
|
+
}
|
|
89
|
+
function buildAnswerMap(defaults, overrides) {
|
|
90
|
+
const merged = new Map();
|
|
91
|
+
for (const [k, v] of Object.entries(defaults))
|
|
92
|
+
merged.set(k, v);
|
|
93
|
+
if (overrides) {
|
|
94
|
+
for (const [k, v] of Object.entries(overrides)) {
|
|
95
|
+
merged.set(normalizeAnswerKey(k), v);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return merged;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Render the CSV. Columns: Question ID, Response ID, Response value, Answer
|
|
102
|
+
* requirement, Human-friendly question label. First row is the header from
|
|
103
|
+
* the template.
|
|
104
|
+
*/
|
|
105
|
+
function renderCsv(filled) {
|
|
106
|
+
return filled.map((row) => row.map(csvEscape).join(',')).join('\n');
|
|
107
|
+
}
|
|
108
|
+
function csvEscape(cell) {
|
|
109
|
+
if (cell === null || cell === undefined)
|
|
110
|
+
return '';
|
|
111
|
+
const s = String(cell);
|
|
112
|
+
if (/[",\n\r]/.test(s)) {
|
|
113
|
+
return `"${s.replace(/"/g, '""')}"`;
|
|
114
|
+
}
|
|
115
|
+
return s;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Build a filled Data Safety CSV from a user-provided declaration.
|
|
119
|
+
* Returns the CSV string ready to be wrapped in `{ safetyLabels: csv }`.
|
|
120
|
+
*/
|
|
121
|
+
export function buildDataSafetyCsv(declaration) {
|
|
122
|
+
const applyDefaults = declaration.apply_defaults !== false; // default true
|
|
123
|
+
const answers = buildAnswerMap(applyDefaults ? KAPPMAKER_DEFAULTS : {}, declaration.answers);
|
|
124
|
+
const filled = rows.map((row, idx) => {
|
|
125
|
+
if (idx === 0)
|
|
126
|
+
return [...row]; // header row as-is
|
|
127
|
+
const [qid, rid, , requirement, label] = row;
|
|
128
|
+
const key = rowLookupKey(qid, rid);
|
|
129
|
+
const answer = answers.get(key);
|
|
130
|
+
let value = null;
|
|
131
|
+
if (answer === true)
|
|
132
|
+
value = 'TRUE';
|
|
133
|
+
else if (answer === false)
|
|
134
|
+
value = 'FALSE';
|
|
135
|
+
else if (typeof answer === 'string')
|
|
136
|
+
value = answer;
|
|
137
|
+
// null / undefined → leave blank
|
|
138
|
+
return [qid, rid, value, requirement, label];
|
|
139
|
+
});
|
|
140
|
+
return renderCsv(filled);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Count how many REQUIRED / MAYBE_REQUIRED rows still have no value after
|
|
144
|
+
* defaults + overrides — useful for a pre-flight warning.
|
|
145
|
+
*/
|
|
146
|
+
export function countUnansweredRequired(declaration) {
|
|
147
|
+
const answers = buildAnswerMap(declaration.apply_defaults !== false ? KAPPMAKER_DEFAULTS : {}, declaration.answers);
|
|
148
|
+
let missing = 0;
|
|
149
|
+
for (let i = 1; i < rows.length; i++) {
|
|
150
|
+
const [qid, rid, , requirement] = rows[i];
|
|
151
|
+
if (requirement !== 'REQUIRED')
|
|
152
|
+
continue;
|
|
153
|
+
const key = rowLookupKey(qid, rid);
|
|
154
|
+
const a = answers.get(key);
|
|
155
|
+
if (a === undefined || a === null)
|
|
156
|
+
missing++;
|
|
157
|
+
}
|
|
158
|
+
return missing;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=gpc-data-safety.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpc-data-safety.service.js","sourceRoot":"","sources":["../../src/services/gpc-data-safety.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { GooglePlaySubscription, GooglePlayInAppProduct } from '../types/googleplay.js';
|
|
2
|
+
interface Money {
|
|
3
|
+
currencyCode: string;
|
|
4
|
+
units: string;
|
|
5
|
+
nanos: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Convert a human-readable price like "6.99" into the Google Play money
|
|
9
|
+
* representation: { currencyCode, units, nanos }. Nanos are billionths,
|
|
10
|
+
* so "6.99" becomes { units: "6", nanos: 990000000 }.
|
|
11
|
+
*/
|
|
12
|
+
export declare function priceToMoney(price: string, currencyCode: string): Money;
|
|
13
|
+
export declare function listSubscriptions(packageName: string): Promise<Set<string>>;
|
|
14
|
+
export declare function setupSubscriptions(packageName: string, subscriptions: GooglePlaySubscription[], playDefaultLanguage: string): Promise<void>;
|
|
15
|
+
export declare function activateBasePlan(packageName: string, productId: string, basePlanId: string): Promise<void>;
|
|
16
|
+
export declare function listInAppProducts(packageName: string): Promise<Set<string>>;
|
|
17
|
+
export declare function setupInAppProducts(packageName: string, products: GooglePlayInAppProduct[]): Promise<void>;
|
|
18
|
+
export {};
|