You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(target): resolve one app id per operation; keep update.json for both brands
Follow-up to the review of #74.
- keep `update.json` as the selected-app file for cresc too: the cresc docs
and the client SDK read that name, and `cresc.config.json` was never wired
in, so switching the default would have broken every existing cresc project
- replace the nine hand-rolled `options.appId || getSelectedApp(...)` blocks
in bundle/versions/package with one `resolveAppId()` helper
- bundle: resolve the app before any side effect (.gitignore edits, plugin
probes) so a named bundle without a selected app fails immediately; a
bundle-only run only tolerates a missing selection (typed
AppNotSelectedError) and reports malformed configs instead of swallowing
them; drop the dead `config` forwarding and the three-way cached target
- SDK: `BundleOptions.appId/config` and `provider.getSelectedApp(platform,
config)` so programmatic callers get the same single-app guarantee
- messages: parse/mismatch errors name the file (or `--appId`) actually used
- tests: exercise bundleCommands.bundle end to end (Hermes base + publish get
the same app, fail-fast, bundle-only fallback, dev bundles) and the default
file, instead of the removed wrapper helpers
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JCaS35vZG4DCtmM24MYaVR
'App ID mismatch! Current APK: {{appIdInPkg}}, current update.json: {{appId}}',
19
+
'App ID mismatch! Current APK: {{appIdInPkg}}, current {{- source}}: {{appId}}',
20
20
appIdMismatchApp:
21
-
'App ID mismatch! Current APP: {{appIdInPkg}}, current update.json: {{appId}}',
21
+
'App ID mismatch! Current APP: {{appIdInPkg}}, current {{- source}}: {{appId}}',
22
22
appIdMismatchIpa:
23
-
'App ID mismatch! Current IPA: {{appIdInPkg}}, current update.json: {{appId}}',
23
+
'App ID mismatch! Current IPA: {{appIdInPkg}}, current {{- source}}: {{appId}}',
24
24
appKeyMismatchApk:
25
-
'App Key mismatch! Current APK: {{appKeyInPkg}}, current update.json: {{appKey}}',
25
+
'App Key mismatch! Current APK: {{appKeyInPkg}}, current {{- source}}: {{appKey}}',
26
26
appKeyMismatchApp:
27
-
'App Key mismatch! Current APP: {{appKeyInPkg}}, current update.json: {{appKey}}',
27
+
'App Key mismatch! Current APP: {{appKeyInPkg}}, current {{- source}}: {{appKey}}',
28
28
appKeyMismatchIpa:
29
-
'App Key mismatch! Current IPA: {{appKeyInPkg}}, current update.json: {{appKey}}',
29
+
'App Key mismatch! Current IPA: {{appKeyInPkg}}, current {{- source}}: {{appKey}}',
30
30
appName: 'App Name',
31
31
appNameQuestion: 'App Name:',
32
32
appNotSelected:
@@ -57,7 +57,7 @@ export default {
57
57
expiredStatus: '(Expired)',
58
58
failedToParseIcon: '[Warning] failed to parse icon: {{error}}',
59
59
failedToParseUpdateJson:
60
-
'Failed to parse file `update.json`. Try to remove it manually.',
60
+
'Failed to parse file `{{- configPath}}`. Try to remove it manually.',
61
61
fileGenerated: '{{- file}} generated.',
62
62
fileSizeExceeded:
63
63
'This file size is {{fileSize}} , exceeding the current quota {{maxSize}} . You may consider upgrading to a higher plan to increase this quota. Details can be found at: {{- pricingPageUrl}}',
0 commit comments