slowlane 1.0.1 → 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 +12 -5
- package/build/src/googleplay.d.ts +1 -3
- package/build/src/googleplay.js +1 -3
- package/build/src/googleplay.js.map +1 -1
- package/build/src/index.js +41 -7
- package/build/src/index.js.map +1 -1
- package/build/src/locales.d.ts +4 -0
- package/build/src/locales.js +146 -0
- package/build/src/locales.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -53,6 +53,10 @@ slowlane.toml
|
|
|
53
53
|
# List all apps
|
|
54
54
|
npx slowlane apple list-apps
|
|
55
55
|
|
|
56
|
+
# List supported locales
|
|
57
|
+
npx slowlane apple list-locales
|
|
58
|
+
npx slowlane apple list-locales --json
|
|
59
|
+
|
|
56
60
|
# View metadata for all languages (from editable version)
|
|
57
61
|
npx slowlane apple get-metadata com.example.app
|
|
58
62
|
|
|
@@ -75,6 +79,10 @@ npx slowlane apple set-metadata com.example.app -f metadata.json
|
|
|
75
79
|
# List all apps
|
|
76
80
|
npx slowlane google list-apps
|
|
77
81
|
|
|
82
|
+
# List supported locales
|
|
83
|
+
npx slowlane google list-locales
|
|
84
|
+
npx slowlane google list-locales --json
|
|
85
|
+
|
|
78
86
|
# View metadata for all languages
|
|
79
87
|
npx slowlane google get-metadata com.example.app
|
|
80
88
|
|
|
@@ -84,17 +92,14 @@ npx slowlane google get-metadata com.example.app en-US
|
|
|
84
92
|
# Save metadata to JSON
|
|
85
93
|
npx slowlane google get-metadata com.example.app --json > metadata.json
|
|
86
94
|
|
|
87
|
-
# Update metadata from JSON (
|
|
95
|
+
# Update metadata from JSON (changes are sent for review automatically)
|
|
88
96
|
npx slowlane google set-metadata com.example.app -f metadata.json
|
|
89
|
-
|
|
90
|
-
# Update and send for review immediately
|
|
91
|
-
npx slowlane google set-metadata com.example.app -f metadata.json --send-for-review
|
|
92
97
|
```
|
|
93
98
|
|
|
94
99
|
## Typical Workflow
|
|
95
100
|
|
|
96
101
|
1. **Export current metadata** from the live version as a starting point
|
|
97
|
-
2. **Edit the JSON** file to update descriptions, keywords, etc.
|
|
102
|
+
2. **Edit the JSON** file to update descriptions, keywords, etc. Use ChatGPT as needed to add translations to new locales. The list of locales supported by Apple and Google can be retrieved by `slowlane apple list-locales` and `slowlane google list-locales`.
|
|
98
103
|
3. **Create a new version** (Apple only - Google doesn't require this for metadata)
|
|
99
104
|
4. **Import the updated metadata** from the JSON file
|
|
100
105
|
5. **Review and submit** in the respective console UI
|
|
@@ -104,3 +109,5 @@ npx slowlane google set-metadata com.example.app -f metadata.json --send-for-rev
|
|
|
104
109
|
Alexander Fenster, slowlane@fenster.name
|
|
105
110
|
|
|
106
111
|
100% vibe coded with [Claude Code](https://claude.ai/code)
|
|
112
|
+
|
|
113
|
+
<a href="https://buymeacoffee.com/alexander.fenster"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" height="40"></a>
|
|
@@ -25,7 +25,5 @@ export declare class GooglePlayClient {
|
|
|
25
25
|
constructor(config: GooglePlayConfig, configDir: string);
|
|
26
26
|
listApps(): Promise<GooglePlayApp[]>;
|
|
27
27
|
getMetadata(packageName: string): Promise<GooglePlayMetadata>;
|
|
28
|
-
setMetadata(packageName: string, listings: GooglePlayListing[]
|
|
29
|
-
sendForReview?: boolean;
|
|
30
|
-
}): Promise<GooglePlaySetMetadataResult>;
|
|
28
|
+
setMetadata(packageName: string, listings: GooglePlayListing[]): Promise<GooglePlaySetMetadataResult>;
|
|
31
29
|
}
|
package/build/src/googleplay.js
CHANGED
|
@@ -107,8 +107,7 @@ class GooglePlayClient {
|
|
|
107
107
|
await this.publisher.edits.delete({ packageName, editId });
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
async setMetadata(packageName, listings
|
|
111
|
-
const { sendForReview = true } = options;
|
|
110
|
+
async setMetadata(packageName, listings) {
|
|
112
111
|
// Create an edit to make changes
|
|
113
112
|
const editResponse = await this.publisher.edits.insert({ packageName });
|
|
114
113
|
const editId = editResponse.data.id;
|
|
@@ -160,7 +159,6 @@ class GooglePlayClient {
|
|
|
160
159
|
await this.publisher.edits.commit({
|
|
161
160
|
packageName,
|
|
162
161
|
editId,
|
|
163
|
-
changesNotSentForReview: !sendForReview,
|
|
164
162
|
});
|
|
165
163
|
return result;
|
|
166
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"googleplay.js","sourceRoot":"","sources":["../../src/googleplay.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"googleplay.js","sourceRoot":"","sources":["../../src/googleplay.ts"],"names":[],"mappings":"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"}
|
package/build/src/index.js
CHANGED
|
@@ -44,6 +44,7 @@ const config_js_1 = require("./config.js");
|
|
|
44
44
|
const appstoreconnect_js_1 = require("./appstoreconnect.js");
|
|
45
45
|
const output_js_1 = require("./output.js");
|
|
46
46
|
const googleplay_js_1 = require("./googleplay.js");
|
|
47
|
+
const locales_js_1 = require("./locales.js");
|
|
47
48
|
function requireAppleConfig(argv) {
|
|
48
49
|
const { config, configDir } = (0, config_js_1.loadConfig)(argv.config);
|
|
49
50
|
if (!config.appstore_connect) {
|
|
@@ -65,6 +66,20 @@ const appleCommand = {
|
|
|
65
66
|
const apps = await client.listApps();
|
|
66
67
|
(0, output_js_1.outputAppList)(apps, { json: argv.json });
|
|
67
68
|
},
|
|
69
|
+
})
|
|
70
|
+
.command({
|
|
71
|
+
command: 'list-locales',
|
|
72
|
+
describe: 'List all supported locales for App Store Connect',
|
|
73
|
+
handler: (argv) => {
|
|
74
|
+
const locales = Array.from(locales_js_1.APPLE_LOCALES).sort();
|
|
75
|
+
if (argv.json) {
|
|
76
|
+
console.log(JSON.stringify(locales, null, 2));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
console.log('Supported locales for App Store Connect:\n');
|
|
80
|
+
console.log(locales.join('\n'));
|
|
81
|
+
}
|
|
82
|
+
},
|
|
68
83
|
})
|
|
69
84
|
.command({
|
|
70
85
|
command: 'get-metadata <bundleId> [locale]',
|
|
@@ -140,6 +155,11 @@ const appleCommand = {
|
|
|
140
155
|
if (!metadata.localizations || !Array.isArray(metadata.localizations)) {
|
|
141
156
|
throw new Error('Invalid metadata file: expected "localizations" array');
|
|
142
157
|
}
|
|
158
|
+
const locales = metadata.localizations.map(l => l.locale);
|
|
159
|
+
const invalidLocales = (0, locales_js_1.validateAppleLocales)(locales);
|
|
160
|
+
if (invalidLocales.length > 0) {
|
|
161
|
+
throw new Error(`Invalid locale(s) for App Store Connect: ${invalidLocales.join(', ')}`);
|
|
162
|
+
}
|
|
143
163
|
const result = await client.setMetadata(argv.bundleId, metadata.localizations);
|
|
144
164
|
(0, output_js_1.outputSetMetadataResult)(result, { json: argv.json });
|
|
145
165
|
},
|
|
@@ -170,6 +190,20 @@ const googleCommand = {
|
|
|
170
190
|
const apps = await client.listApps();
|
|
171
191
|
(0, output_js_1.outputGooglePlayAppList)(apps, { json: argv.json });
|
|
172
192
|
},
|
|
193
|
+
})
|
|
194
|
+
.command({
|
|
195
|
+
command: 'list-locales',
|
|
196
|
+
describe: 'List all supported locales for Google Play',
|
|
197
|
+
handler: (argv) => {
|
|
198
|
+
const locales = Array.from(locales_js_1.GOOGLE_PLAY_LOCALES).sort();
|
|
199
|
+
if (argv.json) {
|
|
200
|
+
console.log(JSON.stringify(locales, null, 2));
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
console.log('Supported locales for Google Play:\n');
|
|
204
|
+
console.log(locales.join('\n'));
|
|
205
|
+
}
|
|
206
|
+
},
|
|
173
207
|
})
|
|
174
208
|
.command({
|
|
175
209
|
command: 'get-metadata <packageName> [language]',
|
|
@@ -193,7 +227,7 @@ const googleCommand = {
|
|
|
193
227
|
})
|
|
194
228
|
.command({
|
|
195
229
|
command: 'set-metadata <packageName>',
|
|
196
|
-
describe: 'Update app metadata from a JSON file',
|
|
230
|
+
describe: 'Update app metadata from a JSON file. Changes are sent for review automatically.',
|
|
197
231
|
builder: yargs => yargs
|
|
198
232
|
.positional('packageName', {
|
|
199
233
|
describe: 'The package name of the app',
|
|
@@ -205,11 +239,6 @@ const googleCommand = {
|
|
|
205
239
|
describe: 'JSON file containing metadata (same format as get-metadata output)',
|
|
206
240
|
type: 'string',
|
|
207
241
|
demandOption: true,
|
|
208
|
-
})
|
|
209
|
-
.option('send-for-review', {
|
|
210
|
-
describe: 'Send changes for review immediately',
|
|
211
|
-
type: 'boolean',
|
|
212
|
-
default: false,
|
|
213
242
|
}),
|
|
214
243
|
handler: async (argv) => {
|
|
215
244
|
const { config, configDir } = requireGoogleConfig(argv);
|
|
@@ -219,7 +248,12 @@ const googleCommand = {
|
|
|
219
248
|
if (!metadata.listings || !Array.isArray(metadata.listings)) {
|
|
220
249
|
throw new Error('Invalid metadata file: expected "listings" array');
|
|
221
250
|
}
|
|
222
|
-
const
|
|
251
|
+
const locales = metadata.listings.map(l => l.language);
|
|
252
|
+
const invalidLocales = (0, locales_js_1.validateGooglePlayLocales)(locales);
|
|
253
|
+
if (invalidLocales.length > 0) {
|
|
254
|
+
throw new Error(`Invalid locale(s) for Google Play: ${invalidLocales.join(', ')}`);
|
|
255
|
+
}
|
|
256
|
+
const result = await client.setMetadata(argv.packageName, metadata.listings);
|
|
223
257
|
(0, output_js_1.outputGooglePlaySetMetadataResult)(result, { json: argv.json });
|
|
224
258
|
},
|
|
225
259
|
});
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAqE;AACrE,2CAAsC;AACtC,uCAAyB;AACzB,2CAAuC;AACvC,6DAI8B;AAC9B,2CAQqB;AAErB,mDAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GOOGLE_PLAY_LOCALES = exports.APPLE_LOCALES = void 0;
|
|
4
|
+
exports.validateAppleLocales = validateAppleLocales;
|
|
5
|
+
exports.validateGooglePlayLocales = validateGooglePlayLocales;
|
|
6
|
+
// Supported locales for App Store Connect
|
|
7
|
+
// Reference: https://developer.apple.com/help/app-store-connect/reference/app-store-localizations/
|
|
8
|
+
exports.APPLE_LOCALES = new Set([
|
|
9
|
+
'ar-SA',
|
|
10
|
+
'ca',
|
|
11
|
+
'cs',
|
|
12
|
+
'da',
|
|
13
|
+
'de-DE',
|
|
14
|
+
'el',
|
|
15
|
+
'en-AU',
|
|
16
|
+
'en-CA',
|
|
17
|
+
'en-GB',
|
|
18
|
+
'en-US',
|
|
19
|
+
'es-ES',
|
|
20
|
+
'es-MX',
|
|
21
|
+
'fi',
|
|
22
|
+
'fr-CA',
|
|
23
|
+
'fr-FR',
|
|
24
|
+
'he',
|
|
25
|
+
'hi',
|
|
26
|
+
'hr',
|
|
27
|
+
'hu',
|
|
28
|
+
'id',
|
|
29
|
+
'it',
|
|
30
|
+
'ja',
|
|
31
|
+
'ko',
|
|
32
|
+
'ms',
|
|
33
|
+
'nl-NL',
|
|
34
|
+
'no',
|
|
35
|
+
'pl',
|
|
36
|
+
'pt-BR',
|
|
37
|
+
'pt-PT',
|
|
38
|
+
'ro',
|
|
39
|
+
'ru',
|
|
40
|
+
'sk',
|
|
41
|
+
'sv',
|
|
42
|
+
'th',
|
|
43
|
+
'tr',
|
|
44
|
+
'uk',
|
|
45
|
+
'vi',
|
|
46
|
+
'zh-Hans',
|
|
47
|
+
'zh-Hant',
|
|
48
|
+
]);
|
|
49
|
+
// Supported locales for Google Play
|
|
50
|
+
// Reference: https://support.google.com/googleplay/android-developer/table/4419860
|
|
51
|
+
exports.GOOGLE_PLAY_LOCALES = new Set([
|
|
52
|
+
'af',
|
|
53
|
+
'am',
|
|
54
|
+
'ar',
|
|
55
|
+
'az-AZ',
|
|
56
|
+
'be',
|
|
57
|
+
'bg',
|
|
58
|
+
'bn-BD',
|
|
59
|
+
'ca',
|
|
60
|
+
'cs-CZ',
|
|
61
|
+
'da-DK',
|
|
62
|
+
'de-DE',
|
|
63
|
+
'el-GR',
|
|
64
|
+
'en-AU',
|
|
65
|
+
'en-CA',
|
|
66
|
+
'en-GB',
|
|
67
|
+
'en-IN',
|
|
68
|
+
'en-SG',
|
|
69
|
+
'en-US',
|
|
70
|
+
'en-ZA',
|
|
71
|
+
'es-419',
|
|
72
|
+
'es-ES',
|
|
73
|
+
'es-US',
|
|
74
|
+
'et',
|
|
75
|
+
'eu-ES',
|
|
76
|
+
'fa',
|
|
77
|
+
'fa-AE',
|
|
78
|
+
'fa-AF',
|
|
79
|
+
'fa-IR',
|
|
80
|
+
'fi-FI',
|
|
81
|
+
'fil',
|
|
82
|
+
'fr-CA',
|
|
83
|
+
'fr-FR',
|
|
84
|
+
'gl-ES',
|
|
85
|
+
'gu',
|
|
86
|
+
'hi-IN',
|
|
87
|
+
'hr',
|
|
88
|
+
'hu-HU',
|
|
89
|
+
'hy-AM',
|
|
90
|
+
'id',
|
|
91
|
+
'is-IS',
|
|
92
|
+
'it-IT',
|
|
93
|
+
'iw-IL',
|
|
94
|
+
'ja-JP',
|
|
95
|
+
'ka-GE',
|
|
96
|
+
'kk',
|
|
97
|
+
'km-KH',
|
|
98
|
+
'kn-IN',
|
|
99
|
+
'ko-KR',
|
|
100
|
+
'ky-KG',
|
|
101
|
+
'lo-LA',
|
|
102
|
+
'lt',
|
|
103
|
+
'lv',
|
|
104
|
+
'mk-MK',
|
|
105
|
+
'ml-IN',
|
|
106
|
+
'mn-MN',
|
|
107
|
+
'mr-IN',
|
|
108
|
+
'ms',
|
|
109
|
+
'ms-MY',
|
|
110
|
+
'my-MM',
|
|
111
|
+
'ne-NP',
|
|
112
|
+
'nl-NL',
|
|
113
|
+
'no-NO',
|
|
114
|
+
'pa',
|
|
115
|
+
'pl-PL',
|
|
116
|
+
'pt-BR',
|
|
117
|
+
'pt-PT',
|
|
118
|
+
'rm',
|
|
119
|
+
'ro',
|
|
120
|
+
'ru-RU',
|
|
121
|
+
'si-LK',
|
|
122
|
+
'sk',
|
|
123
|
+
'sl',
|
|
124
|
+
'sq',
|
|
125
|
+
'sr',
|
|
126
|
+
'sv-SE',
|
|
127
|
+
'sw',
|
|
128
|
+
'ta-IN',
|
|
129
|
+
'te-IN',
|
|
130
|
+
'th',
|
|
131
|
+
'tr-TR',
|
|
132
|
+
'uk',
|
|
133
|
+
'ur',
|
|
134
|
+
'vi',
|
|
135
|
+
'zh-CN',
|
|
136
|
+
'zh-HK',
|
|
137
|
+
'zh-TW',
|
|
138
|
+
'zu',
|
|
139
|
+
]);
|
|
140
|
+
function validateAppleLocales(locales) {
|
|
141
|
+
return locales.filter(locale => !exports.APPLE_LOCALES.has(locale));
|
|
142
|
+
}
|
|
143
|
+
function validateGooglePlayLocales(locales) {
|
|
144
|
+
return locales.filter(locale => !exports.GOOGLE_PLAY_LOCALES.has(locale));
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=locales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/locales.ts"],"names":[],"mappings":";;;AAwIA,oDAEC;AAED,8DAEC;AA9ID,0CAA0C;AAC1C,mGAAmG;AACtF,QAAA,aAAa,GAAG,IAAI,GAAG,CAAC;IACnC,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAEH,oCAAoC;AACpC,mFAAmF;AACtE,QAAA,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;CACL,CAAC,CAAC;AAEH,SAAgB,oBAAoB,CAAC,OAAiB;IACpD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,qBAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAiB;IACzD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,2BAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACpE,CAAC"}
|