@tantawowa/hosanna-tools 3.29.3 → 3.30.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 +1 -0
- package/dist/build-info.json +3 -3
- package/dist/cli.js +36 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/native/artifacts.d.ts +7 -1
- package/dist/native/artifacts.js +53 -3
- package/dist/native/artifacts.js.map +1 -1
- package/dist/native/prepared-runtime.d.ts +14 -0
- package/dist/native/prepared-runtime.js +20 -0
- package/dist/native/prepared-runtime.js.map +1 -0
- package/dist/native/templates/artifacts/verify-aab.mjs +11 -0
- package/dist/run/installed-native-launch.d.ts +12 -0
- package/dist/run/installed-native-launch.js +46 -0
- package/dist/run/installed-native-launch.js.map +1 -0
- package/dist/run/installed-roku-launch.d.ts +11 -0
- package/dist/run/installed-roku-launch.js +55 -0
- package/dist/run/installed-roku-launch.js.map +1 -0
- package/dist/run/launch-installed.d.ts +48 -0
- package/dist/run/launch-installed.js +133 -0
- package/dist/run/launch-installed.js.map +1 -0
- package/dist/testing/launcher.js +27 -5
- package/dist/testing/launcher.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -325,6 +325,7 @@ The CLI commands are organized into logical groups using colon-separated namespa
|
|
|
325
325
|
|
|
326
326
|
### Development Commands
|
|
327
327
|
- `run` - Canonical cross-platform app launcher. Bare interactive runs show one destination picker; explicit platform options include Browser, Samsung Tizen, LG webOS, Roku, Apple, and Android hosts.
|
|
328
|
+
- `launch` - Restart an already-installed Roku, iOS, Apple TV, Android, or Android TV app with launch arguments. No build, install, generated config, or development server is involved. See [launching installed apps](docs/launch-installed.md).
|
|
328
329
|
- `build` - Build/package without device discovery, deployment, launch, browser opening, or log streaming. Successful Tizen/webOS builds print their absolute `.wgt`/`.ipk` path.
|
|
329
330
|
- `device:setup <tizen|webos>` - Guided, dry-runnable vendor setup: connect/authorize Samsung with SDB and verify an external signing profile, or register an LG ares alias and optionally run the official interactive key flow. HST never stores keys, certificates, or passphrases.
|
|
330
331
|
- `capture` - Record an Apple simulator, a physical-TV capture-card input, or a macOS screen/window. The default timeout is 180 seconds; use `--timeout` to override it.
|
package/dist/build-info.json
CHANGED
package/dist/cli.js
CHANGED
|
@@ -1943,6 +1943,42 @@ async function runEnvironmentCommand(action, verbose) {
|
|
|
1943
1943
|
console.error(`❌ device:terminate failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
1944
1944
|
process.exitCode = 1;
|
|
1945
1945
|
}
|
|
1946
|
+
})
|
|
1947
|
+
.command('launch <platform>', 'Restart an installed app with launch arguments, without building or installing', yargs => yargs
|
|
1948
|
+
.positional('platform', { type: 'string', choices: ['roku', 'ios', 'apple-tv', 'android', 'android-tv'], demandOption: true })
|
|
1949
|
+
.option('app', { type: 'string', describe: 'Installed app selector from .hosanna-tools/run.json (env: HOSANNA_RUN_APP)' })
|
|
1950
|
+
.option('launch-arg', { type: 'array', string: true, describe: 'Android Intent string extra or Roku ECP parameter, KEY=value; repeat for more values' })
|
|
1951
|
+
.option('launch-env', { type: 'array', string: true, describe: 'Apple app process environment, KEY=value; repeat for more values' })
|
|
1952
|
+
.option('device', { type: 'string', describe: 'Connected device IP, serial/UDID, or name' })
|
|
1953
|
+
.option('target', { type: 'string', choices: ['device', 'sim', 'simulator'], describe: 'Physical device or an already-running native simulator' })
|
|
1954
|
+
.option('app-id', { type: 'string', describe: 'Installed channel, bundle, or package ID; overrides project configuration' })
|
|
1955
|
+
.option('dry-run', { type: 'boolean', default: false, describe: 'Resolve the launch and print its plan without stopping or launching the app' })
|
|
1956
|
+
.option('json', { type: 'boolean', default: false, describe: 'Print the resolved launch as JSON' })
|
|
1957
|
+
.example('$0 launch apple-tv --app demo --launch-env APP_MODE=preview --device "Demo TV"', 'Restart an installed app with a process environment value')
|
|
1958
|
+
.example('$0 launch roku --app-id dev --launch-arg contentId=123 --device 192.168.1.50', 'Return Home and launch the sideloaded Roku app with a content ID'), async (args) => {
|
|
1959
|
+
try {
|
|
1960
|
+
const launcher = await Promise.resolve().then(() => __importStar(require('./run/launch-installed.js')));
|
|
1961
|
+
const plan = await launcher.createInstalledLaunchPlan({
|
|
1962
|
+
cwd: process.cwd(),
|
|
1963
|
+
platform: args.platform,
|
|
1964
|
+
app: args.app,
|
|
1965
|
+
launchArgs: launcher.parseInstalledLaunchValues(args['launch-arg']),
|
|
1966
|
+
launchEnv: launcher.parseInstalledLaunchValues(args['launch-env'], '--launch-env'),
|
|
1967
|
+
appId: args['app-id'],
|
|
1968
|
+
device: args.device,
|
|
1969
|
+
target: args.target === 'simulator' ? 'sim' : args.target,
|
|
1970
|
+
});
|
|
1971
|
+
if (!args['dry-run'])
|
|
1972
|
+
await launcher.executeInstalledLaunch(plan);
|
|
1973
|
+
if (args.json || args['dry-run'])
|
|
1974
|
+
console.info(JSON.stringify(plan, null, 2));
|
|
1975
|
+
else
|
|
1976
|
+
console.info(`Launched installed ${plan.appId} on ${plan.deviceName}.`);
|
|
1977
|
+
}
|
|
1978
|
+
catch (error) {
|
|
1979
|
+
console.error(`hst launch failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
1980
|
+
process.exit(1);
|
|
1981
|
+
}
|
|
1946
1982
|
})
|
|
1947
1983
|
.command('target:list [platform]', 'List run targets discovered by hst, including web emulators, sims, and physical devices', yargs => yargs
|
|
1948
1984
|
.positional('platform', {
|