@volley/vwr-loader 1.4.0 → 1.5.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 -1
- package/dist/__mocks__/vwrModule.d.ts +2 -0
- package/dist/__mocks__/vwrModule.d.ts.map +1 -0
- package/dist/__mocks__/vwrModule.js +3 -0
- package/dist/__mocks__/vwrModule.js.map +1 -0
- package/dist/cli.js +4 -3
- package/dist/cli.js.map +1 -1
- package/dist/envDefaults.d.ts.map +1 -1
- package/dist/envDefaults.js +4 -3
- package/dist/envDefaults.js.map +1 -1
- package/dist/exitHandler.d.ts +14 -0
- package/dist/exitHandler.d.ts.map +1 -1
- package/dist/exitHandler.js +83 -1
- package/dist/exitHandler.js.map +1 -1
- package/dist/loadVwr.js +20 -0
- package/dist/loadVwr.js.map +1 -1
- package/dist/main.js +8 -8
- package/dist/main.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__mocks__/vwrModule.ts +3 -0
- package/src/envDefaults.ts +4 -3
- package/src/exitHandler.test.ts +197 -3
- package/src/exitHandler.ts +108 -1
- package/src/loadVwr.test.ts +161 -6
- package/src/loadVwr.ts +21 -0
- package/src/main.ts +13 -6
- package/src/types.ts +13 -0
- package/src/vwrConfig.test.ts +1 -1
package/README.md
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vwrModule.d.ts","sourceRoot":"","sources":["../../src/__mocks__/vwrModule.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,iCAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vwrModule.js","sourceRoot":"","sources":["../../src/__mocks__/vwrModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA"}
|
package/dist/cli.js
CHANGED
|
@@ -8,7 +8,8 @@ import { fileURLToPath } from "url";
|
|
|
8
8
|
import { build } from "vite";
|
|
9
9
|
const CONFIG_URL_DEFAULT = "https://vwr.volley.tv/config/";
|
|
10
10
|
const CONFIG_FILE_DEFAULT = "vwrConfig.json";
|
|
11
|
-
const
|
|
11
|
+
const VWR_DEFAULT_VERSION = "1.0.0";
|
|
12
|
+
const VWR_URL_PATH_DEFAULT = `v1/${VWR_DEFAULT_VERSION}/vwr.js`;
|
|
12
13
|
const prodConfig = {
|
|
13
14
|
hubUrl: "https://game-clients.volley.tv/hub",
|
|
14
15
|
vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
|
|
@@ -39,7 +40,7 @@ const ENV_DEFAULTS = {
|
|
|
39
40
|
},
|
|
40
41
|
dev: {
|
|
41
42
|
hubUrl: "https://game-clients-dev.volley.tv/hub",
|
|
42
|
-
vwrUrl: `https://vwr.volley.tv
|
|
43
|
+
vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
|
|
43
44
|
configUrl: CONFIG_URL_DEFAULT,
|
|
44
45
|
configFile: CONFIG_FILE_DEFAULT,
|
|
45
46
|
platformApiUrl: "https://platform-dev.volley-services.net",
|
|
@@ -55,7 +56,7 @@ const ENV_DEFAULTS = {
|
|
|
55
56
|
},
|
|
56
57
|
staging: {
|
|
57
58
|
hubUrl: "https://game-clients-staging.volley.tv/hub",
|
|
58
|
-
vwrUrl: `https://vwr.volley.tv
|
|
59
|
+
vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
|
|
59
60
|
configUrl: CONFIG_URL_DEFAULT,
|
|
60
61
|
configFile: CONFIG_FILE_DEFAULT,
|
|
61
62
|
platformApiUrl: "https://platform-staging.volley-services.net",
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sources":["../src/envDefaults.ts","../scripts/build.ts"],"sourcesContent":["export interface EnvConfig {\n hubUrl: string\n vwrUrl: string\n configUrl: string\n configFile: string\n platformApiUrl: string\n platformAuthApiUrl: string\n amplitudeKey: string // Used for amplitude flag fetch, not part of VWRConfig\n trustedOrigins?: string[]\n}\n\nconst CONFIG_URL_DEFAULT = \"https://vwr.volley.tv/config/\"\nconst CONFIG_FILE_DEFAULT = \"vwrConfig.json\"\nconst VWR_URL_PATH_DEFAULT = \"v1/latest/vwr.js\"\n\n// Parse comma-separated env var, returning undefined if empty to allow fallback\nconst parseTrustedOrigins = (\n envVar: string | undefined\n): string[] | undefined => {\n const parsed = envVar?.split(\",\").filter(Boolean)\n return parsed?.length ? parsed : undefined\n}\n\nconst prodConfig: EnvConfig = {\n hubUrl: \"https://game-clients.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform.volley-services.net\",\n platformAuthApiUrl: \"https://auth.volley.tv\",\n amplitudeKey: \"\",\n trustedOrigins: [\"https://volley.tv\", \"https://vl.ly\", \"https://vly.gg\"],\n}\n\nexport const ENV_DEFAULTS: Record<string, EnvConfig> = {\n local: {\n hubUrl: import.meta.env.VITE_HUB_URL || \"http://localhost:5173\",\n vwrUrl: import.meta.env.VITE_VWR_URL || \"http://localhost:5174/vwr.js\",\n configUrl:\n import.meta.env.VITE_CONFIG_URL || \"http://localhost:5174/config/\",\n configFile: import.meta.env.VITE_CONFIG_FILE || CONFIG_FILE_DEFAULT,\n platformApiUrl:\n import.meta.env.VITE_PLATFORM_API_URL ||\n \"https://platform-dev.volley-services.net\",\n platformAuthApiUrl:\n import.meta.env.VITE_PLATFORM_AUTH_API_URL ||\n \"https://auth-dev.volley.tv\",\n amplitudeKey: \"client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ\",\n trustedOrigins: parseTrustedOrigins(\n import.meta.env.VITE_TRUSTED_ORIGINS\n ) || [\n \"http://localhost:5173\",\n \"http://localhost:5174\",\n \"https://vl.ly\",\n \"https://dev.vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n dev: {\n hubUrl: \"https://game-clients-dev.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/dev/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform-dev.volley-services.net\",\n platformAuthApiUrl: \"https://auth-dev.volley.tv\",\n amplitudeKey: \"client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ\",\n trustedOrigins: [\n \"https://volley.tv\",\n \"https://vl.ly\",\n \"https://dev.vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n staging: {\n hubUrl: \"https://game-clients-staging.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/staging/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform-staging.volley-services.net\",\n platformAuthApiUrl: \"https://auth-staging.volley.tv\",\n amplitudeKey: \"\",\n trustedOrigins: [\n \"https://volley.tv\",\n \"https://vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n prod: prodConfig,\n production: prodConfig, // Alias for prod\n}\n","import { Command } from \"commander\"\nimport { config as loadDotenv } from \"dotenv\"\nimport fs from \"fs-extra\"\nimport os from \"os\"\nimport path from \"path\"\nimport { fileURLToPath } from \"url\"\nimport { build } from \"vite\"\n\nimport { ENV_DEFAULTS } from \"../src/envDefaults.js\"\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\n\n// Read package version for --version flag\nconst cliPackageJson = JSON.parse(\n fs.readFileSync(path.join(__dirname, \"../package.json\"), \"utf-8\")\n)\n\nconst VALID_PLATFORMS = [\n \"FIRE_TV\",\n \"ANDROID_MOBILE\",\n \"IOS_MOBILE\",\n \"SAMSUNG_TV\",\n \"LG_TV\",\n \"WEB\",\n]\n\nconst program = new Command()\n\n// Platforms that support reading environment from native shell at runtime\n// These platforms don't require --env flag (it's optional as an override)\nconst NATIVE_ENV_PLATFORMS = [\"FIRE_TV\"]\n\nprogram\n .name(\"build-loader\")\n .version(cliPackageJson.version)\n .description(\"Build vwr-loader with environment configuration\")\n .requiredOption(\n \"--platform <platform>\",\n \"Platform: FIRE_TV, ANDROID_MOBILE, IOS_MOBILE, SAMSUNG_TV, LG_TV, WEB\"\n )\n .option(\n \"--env <env>\",\n \"Environment: local, dev, staging, prod (required for non-Fire TV platforms)\"\n )\n .requiredOption(\"--output <path>\", \"Output directory\")\n .option(\"--hubUrl <url>\", \"Override Hub URL\")\n .option(\"--amplitudeKey <key>\", \"Override Amplitude deployment key\")\n .option(\"--configUrl <url>\", \"Override VWR Config URL\")\n .option(\"--configFile <filename>\", \"Override VWR Config Filename\")\n .option(\"--launchUrl <url>\", \"Override launch url\")\n .option(\"--datadog-app-id <id>\", \"Datadog RUM application ID\")\n .option(\"--datadog-client-token <token>\", \"Datadog client token\")\n .parse()\n\nconst opts = program.opts()\nconst platform = opts.platform.toUpperCase()\nconst supportsNativeEnv = NATIVE_ENV_PLATFORMS.includes(platform)\n\n// Validate --env is provided for platforms that don't support native env reading\nif (!opts.env && !supportsNativeEnv) {\n console.error(\n `❌ --env is required for platform \"${opts.platform}\"\\n` +\n ` Only Fire TV can read environment from native shell at runtime.\\n` +\n ` Valid environments: local, dev, staging, prod`\n )\n process.exit(1)\n}\n\n// For platforms with native env support, log that env will be read at runtime\nif (!opts.env && supportsNativeEnv) {\n console.log(\n `ℹ️ --env not provided. ${opts.platform} will read environment from native shell at runtime.`\n )\n}\n\n// Validate platform\nif (!VALID_PLATFORMS.includes(platform)) {\n console.error(`❌ Unknown platform: ${opts.platform}`)\n console.error(` Valid: ${VALID_PLATFORMS.join(\", \")}`)\n process.exit(1)\n}\n\n// Try to read from shell's .env file (run from shell directory)\nlet shellEnv: Record<string, string> = {}\nif (opts.env) {\n const envFile = path.join(process.cwd(), `.env.${opts.env}`)\n if (fs.existsSync(envFile)) {\n console.log(`📄 Reading config from ${envFile}`)\n const result = loadDotenv({ path: envFile })\n shellEnv = result.parsed || {}\n } else {\n console.log(`ℹ️ No .env.${opts.env} found, using defaults/CLI flags`)\n }\n}\n\n// Read shell version from package.json (for web shell)\nlet shellVersion = \"unknown\"\nconst packageJsonPath = path.join(process.cwd(), \"package.json\")\nif (fs.existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(\n fs.readFileSync(packageJsonPath, \"utf-8\")\n )\n shellVersion = packageJson.version || \"unknown\"\n } catch {\n console.warn(`⚠️ Could not read version from package.json`)\n }\n}\n\n// Get predefined defaults for the specified environment\nconst envDefaults = opts.env ? ENV_DEFAULTS[opts.env] : undefined\nif (opts.env && !envDefaults) {\n console.error(`❌ Unknown environment: ${opts.env}`)\n console.error(` Valid: local, dev, staging, prod`)\n process.exit(1)\n}\n\n// Use env defaults if specified, otherwise fall back to dev defaults\n// (Fire TV without --env reads actual env from native at runtime, but needs URLs at build time)\nconst effectiveDefaults = envDefaults ?? ENV_DEFAULTS[\"dev\"]\n\n// Config precedence: CLI > shell .env > defaults\nconst config = {\n VITE_PLATFORM: platform,\n VITE_ENVIRONMENT: opts.env, // undefined for Fire TV without --env (reads from native)\n VITE_HUB_URL:\n opts.hubUrl || shellEnv.VITE_HUB_URL || effectiveDefaults.hubUrl,\n VITE_AMPLITUDE_DEPLOYMENT_KEY:\n opts.amplitudeKey ||\n shellEnv.VITE_AMPLITUDE_DEPLOYMENT_KEY ||\n effectiveDefaults.amplitudeKey ||\n \"\",\n VITE_VWR_URL: shellEnv.VITE_VWR_URL || effectiveDefaults.vwrUrl,\n VITE_CONFIG_URL:\n opts.configUrl ||\n shellEnv.VITE_CONFIG_URL ||\n effectiveDefaults.configUrl,\n VITE_CONFIG_FILE:\n opts.configFile ||\n shellEnv.VITE_CONFIG_FILE ||\n effectiveDefaults.configFile,\n VITE_LAUNCH_URL:\n opts.launchUrl ||\n shellEnv.VITE_LAUNCH_URL ||\n opts.hubUrl ||\n shellEnv.VITE_HUB_URL ||\n effectiveDefaults.hubUrl,\n VITE_DATADOG_APPLICATION_ID:\n opts.datadogAppId || shellEnv.VITE_DATADOG_APPLICATION_ID || \"\",\n VITE_DATADOG_CLIENT_TOKEN:\n opts.datadogClientToken || shellEnv.VITE_DATADOG_CLIENT_TOKEN || \"\",\n}\n\nconsole.log(\"🔧 Build configuration:\")\nconsole.log(` Platform: ${config.VITE_PLATFORM}`)\nconsole.log(\n ` Environment: ${config.VITE_ENVIRONMENT ?? \"(from native at runtime)\"}`\n)\nconsole.log(` Hub URL: ${config.VITE_HUB_URL}`)\nconsole.log(` VWR URL: ${config.VITE_VWR_URL}`)\nif (config.VITE_AMPLITUDE_DEPLOYMENT_KEY) {\n console.log(` Amplitude: ***`)\n} else {\n console.warn(` Amplitude: (not set)`)\n console.warn(\n ` ⚠️ VWR flag fetching will use safe defaults (vwr-enabled: false)`\n )\n}\nif (config.VITE_DATADOG_APPLICATION_ID && config.VITE_DATADOG_CLIENT_TOKEN) {\n console.log(` Datadog RUM: enabled`)\n} else {\n console.warn(` Datadog RUM: disabled (credentials not provided)`)\n}\n\n// Build with Vite (inline config to avoid path resolution issues)\nconst loaderSrcDir = path.join(__dirname, \"../src\")\nconst tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), \"vwr-loader-\"))\nconst loaderDistDir = tmpDir\n\n// Build define config - VITE_ENVIRONMENT is undefined for Fire TV (reads from native)\nconst defineConfig: Record<string, string> = {\n \"import.meta.env.VITE_PLATFORM\": JSON.stringify(config.VITE_PLATFORM),\n \"import.meta.env.VITE_SHELL_VERSION\": JSON.stringify(shellVersion),\n \"import.meta.env.VITE_HUB_URL\": JSON.stringify(config.VITE_HUB_URL),\n \"import.meta.env.VITE_AMPLITUDE_DEPLOYMENT_KEY\": JSON.stringify(\n config.VITE_AMPLITUDE_DEPLOYMENT_KEY\n ),\n \"import.meta.env.VITE_VWR_URL\": JSON.stringify(config.VITE_VWR_URL),\n \"import.meta.env.VITE_CONFIG_URL\": JSON.stringify(config.VITE_CONFIG_URL),\n \"import.meta.env.VITE_CONFIG_FILE\": JSON.stringify(config.VITE_CONFIG_FILE),\n \"import.meta.env.VITE_LAUNCH_URL\": JSON.stringify(config.VITE_LAUNCH_URL),\n \"import.meta.env.VITE_DATADOG_APPLICATION_ID\": JSON.stringify(\n config.VITE_DATADOG_APPLICATION_ID\n ),\n \"import.meta.env.VITE_DATADOG_CLIENT_TOKEN\": JSON.stringify(\n config.VITE_DATADOG_CLIENT_TOKEN\n ),\n}\n\n// Only inject VITE_ENVIRONMENT if provided (Fire TV reads from native otherwise)\nif (config.VITE_ENVIRONMENT) {\n defineConfig[\"import.meta.env.VITE_ENVIRONMENT\"] = JSON.stringify(\n config.VITE_ENVIRONMENT\n )\n}\n\ntry {\n console.log(`⏳ Building loader...`)\n await build({\n configFile: false,\n root: loaderSrcDir,\n // Use relative paths so loader works when served from any subdirectory\n base: \"./\",\n mode: opts.env ?? \"production\", // Use production mode for minification when env not specified\n logLevel: \"warn\",\n build: {\n outDir: loaderDistDir,\n emptyOutDir: true,\n target: \"es2017\",\n minify: opts.env === \"prod\" || !opts.env ? \"esbuild\" : false,\n sourcemap: true,\n rollupOptions: {\n input: {\n main: path.join(loaderSrcDir, \"index.html\"),\n },\n output: {\n entryFileNames: \"[name].js\",\n assetFileNames: \"[name].[ext]\",\n },\n },\n },\n define: defineConfig,\n })\n\n // Copy build output to specified directory\n const outputPath = path.resolve(opts.output)\n\n await fs.ensureDir(outputPath)\n await fs.copy(loaderDistDir, outputPath, { overwrite: true })\n\n console.log(`✅ VWR loader built successfully`)\n console.log(` Output: ${outputPath}`)\n console.log(` Files: index.html, main.js`)\n} finally {\n // Cleanup temp dir\n try {\n await fs.remove(tmpDir)\n } catch (e) {\n console.warn(\"⚠️ Failed to cleanup temp dir:\", e)\n }\n}\n"],"names":["loadDotenv"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../src/envDefaults.ts","../scripts/build.ts"],"sourcesContent":["export interface EnvConfig {\n hubUrl: string\n vwrUrl: string\n configUrl: string\n configFile: string\n platformApiUrl: string\n platformAuthApiUrl: string\n amplitudeKey: string // Used for amplitude flag fetch, not part of VWRConfig\n trustedOrigins?: string[]\n}\n\nconst CONFIG_URL_DEFAULT = \"https://vwr.volley.tv/config/\"\nconst CONFIG_FILE_DEFAULT = \"vwrConfig.json\"\nconst VWR_DEFAULT_VERSION = \"1.0.0\"\nconst VWR_URL_PATH_DEFAULT = `v1/${VWR_DEFAULT_VERSION}/vwr.js`\n\n// Parse comma-separated env var, returning undefined if empty to allow fallback\nconst parseTrustedOrigins = (\n envVar: string | undefined\n): string[] | undefined => {\n const parsed = envVar?.split(\",\").filter(Boolean)\n return parsed?.length ? parsed : undefined\n}\n\nconst prodConfig: EnvConfig = {\n hubUrl: \"https://game-clients.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform.volley-services.net\",\n platformAuthApiUrl: \"https://auth.volley.tv\",\n amplitudeKey: \"\",\n trustedOrigins: [\"https://volley.tv\", \"https://vl.ly\", \"https://vly.gg\"],\n}\n\nexport const ENV_DEFAULTS: Record<string, EnvConfig> = {\n local: {\n hubUrl: import.meta.env.VITE_HUB_URL || \"http://localhost:5173\",\n vwrUrl: import.meta.env.VITE_VWR_URL || \"http://localhost:5174/vwr.js\",\n configUrl:\n import.meta.env.VITE_CONFIG_URL || \"http://localhost:5174/config/\",\n configFile: import.meta.env.VITE_CONFIG_FILE || CONFIG_FILE_DEFAULT,\n platformApiUrl:\n import.meta.env.VITE_PLATFORM_API_URL ||\n \"https://platform-dev.volley-services.net\",\n platformAuthApiUrl:\n import.meta.env.VITE_PLATFORM_AUTH_API_URL ||\n \"https://auth-dev.volley.tv\",\n amplitudeKey: \"client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ\",\n trustedOrigins: parseTrustedOrigins(\n import.meta.env.VITE_TRUSTED_ORIGINS\n ) || [\n \"http://localhost:5173\",\n \"http://localhost:5174\",\n \"https://vl.ly\",\n \"https://dev.vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n dev: {\n hubUrl: \"https://game-clients-dev.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform-dev.volley-services.net\",\n platformAuthApiUrl: \"https://auth-dev.volley.tv\",\n amplitudeKey: \"client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ\",\n trustedOrigins: [\n \"https://volley.tv\",\n \"https://vl.ly\",\n \"https://dev.vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n staging: {\n hubUrl: \"https://game-clients-staging.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform-staging.volley-services.net\",\n platformAuthApiUrl: \"https://auth-staging.volley.tv\",\n amplitudeKey: \"\",\n trustedOrigins: [\n \"https://volley.tv\",\n \"https://vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n prod: prodConfig,\n production: prodConfig, // Alias for prod\n}\n","import { Command } from \"commander\"\nimport { config as loadDotenv } from \"dotenv\"\nimport fs from \"fs-extra\"\nimport os from \"os\"\nimport path from \"path\"\nimport { fileURLToPath } from \"url\"\nimport { build } from \"vite\"\n\nimport { ENV_DEFAULTS } from \"../src/envDefaults.js\"\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\n\n// Read package version for --version flag\nconst cliPackageJson = JSON.parse(\n fs.readFileSync(path.join(__dirname, \"../package.json\"), \"utf-8\")\n)\n\nconst VALID_PLATFORMS = [\n \"FIRE_TV\",\n \"ANDROID_MOBILE\",\n \"IOS_MOBILE\",\n \"SAMSUNG_TV\",\n \"LG_TV\",\n \"WEB\",\n]\n\nconst program = new Command()\n\n// Platforms that support reading environment from native shell at runtime\n// These platforms don't require --env flag (it's optional as an override)\nconst NATIVE_ENV_PLATFORMS = [\"FIRE_TV\"]\n\nprogram\n .name(\"build-loader\")\n .version(cliPackageJson.version)\n .description(\"Build vwr-loader with environment configuration\")\n .requiredOption(\n \"--platform <platform>\",\n \"Platform: FIRE_TV, ANDROID_MOBILE, IOS_MOBILE, SAMSUNG_TV, LG_TV, WEB\"\n )\n .option(\n \"--env <env>\",\n \"Environment: local, dev, staging, prod (required for non-Fire TV platforms)\"\n )\n .requiredOption(\"--output <path>\", \"Output directory\")\n .option(\"--hubUrl <url>\", \"Override Hub URL\")\n .option(\"--amplitudeKey <key>\", \"Override Amplitude deployment key\")\n .option(\"--configUrl <url>\", \"Override VWR Config URL\")\n .option(\"--configFile <filename>\", \"Override VWR Config Filename\")\n .option(\"--launchUrl <url>\", \"Override launch url\")\n .option(\"--datadog-app-id <id>\", \"Datadog RUM application ID\")\n .option(\"--datadog-client-token <token>\", \"Datadog client token\")\n .parse()\n\nconst opts = program.opts()\nconst platform = opts.platform.toUpperCase()\nconst supportsNativeEnv = NATIVE_ENV_PLATFORMS.includes(platform)\n\n// Validate --env is provided for platforms that don't support native env reading\nif (!opts.env && !supportsNativeEnv) {\n console.error(\n `❌ --env is required for platform \"${opts.platform}\"\\n` +\n ` Only Fire TV can read environment from native shell at runtime.\\n` +\n ` Valid environments: local, dev, staging, prod`\n )\n process.exit(1)\n}\n\n// For platforms with native env support, log that env will be read at runtime\nif (!opts.env && supportsNativeEnv) {\n console.log(\n `ℹ️ --env not provided. ${opts.platform} will read environment from native shell at runtime.`\n )\n}\n\n// Validate platform\nif (!VALID_PLATFORMS.includes(platform)) {\n console.error(`❌ Unknown platform: ${opts.platform}`)\n console.error(` Valid: ${VALID_PLATFORMS.join(\", \")}`)\n process.exit(1)\n}\n\n// Try to read from shell's .env file (run from shell directory)\nlet shellEnv: Record<string, string> = {}\nif (opts.env) {\n const envFile = path.join(process.cwd(), `.env.${opts.env}`)\n if (fs.existsSync(envFile)) {\n console.log(`📄 Reading config from ${envFile}`)\n const result = loadDotenv({ path: envFile })\n shellEnv = result.parsed || {}\n } else {\n console.log(`ℹ️ No .env.${opts.env} found, using defaults/CLI flags`)\n }\n}\n\n// Read shell version from package.json (for web shell)\nlet shellVersion = \"unknown\"\nconst packageJsonPath = path.join(process.cwd(), \"package.json\")\nif (fs.existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(\n fs.readFileSync(packageJsonPath, \"utf-8\")\n )\n shellVersion = packageJson.version || \"unknown\"\n } catch {\n console.warn(`⚠️ Could not read version from package.json`)\n }\n}\n\n// Get predefined defaults for the specified environment\nconst envDefaults = opts.env ? ENV_DEFAULTS[opts.env] : undefined\nif (opts.env && !envDefaults) {\n console.error(`❌ Unknown environment: ${opts.env}`)\n console.error(` Valid: local, dev, staging, prod`)\n process.exit(1)\n}\n\n// Use env defaults if specified, otherwise fall back to dev defaults\n// (Fire TV without --env reads actual env from native at runtime, but needs URLs at build time)\nconst effectiveDefaults = envDefaults ?? ENV_DEFAULTS[\"dev\"]\n\n// Config precedence: CLI > shell .env > defaults\nconst config = {\n VITE_PLATFORM: platform,\n VITE_ENVIRONMENT: opts.env, // undefined for Fire TV without --env (reads from native)\n VITE_HUB_URL:\n opts.hubUrl || shellEnv.VITE_HUB_URL || effectiveDefaults.hubUrl,\n VITE_AMPLITUDE_DEPLOYMENT_KEY:\n opts.amplitudeKey ||\n shellEnv.VITE_AMPLITUDE_DEPLOYMENT_KEY ||\n effectiveDefaults.amplitudeKey ||\n \"\",\n VITE_VWR_URL: shellEnv.VITE_VWR_URL || effectiveDefaults.vwrUrl,\n VITE_CONFIG_URL:\n opts.configUrl ||\n shellEnv.VITE_CONFIG_URL ||\n effectiveDefaults.configUrl,\n VITE_CONFIG_FILE:\n opts.configFile ||\n shellEnv.VITE_CONFIG_FILE ||\n effectiveDefaults.configFile,\n VITE_LAUNCH_URL:\n opts.launchUrl ||\n shellEnv.VITE_LAUNCH_URL ||\n opts.hubUrl ||\n shellEnv.VITE_HUB_URL ||\n effectiveDefaults.hubUrl,\n VITE_DATADOG_APPLICATION_ID:\n opts.datadogAppId || shellEnv.VITE_DATADOG_APPLICATION_ID || \"\",\n VITE_DATADOG_CLIENT_TOKEN:\n opts.datadogClientToken || shellEnv.VITE_DATADOG_CLIENT_TOKEN || \"\",\n}\n\nconsole.log(\"🔧 Build configuration:\")\nconsole.log(` Platform: ${config.VITE_PLATFORM}`)\nconsole.log(\n ` Environment: ${config.VITE_ENVIRONMENT ?? \"(from native at runtime)\"}`\n)\nconsole.log(` Hub URL: ${config.VITE_HUB_URL}`)\nconsole.log(` VWR URL: ${config.VITE_VWR_URL}`)\nif (config.VITE_AMPLITUDE_DEPLOYMENT_KEY) {\n console.log(` Amplitude: ***`)\n} else {\n console.warn(` Amplitude: (not set)`)\n console.warn(\n ` ⚠️ VWR flag fetching will use safe defaults (vwr-enabled: false)`\n )\n}\nif (config.VITE_DATADOG_APPLICATION_ID && config.VITE_DATADOG_CLIENT_TOKEN) {\n console.log(` Datadog RUM: enabled`)\n} else {\n console.warn(` Datadog RUM: disabled (credentials not provided)`)\n}\n\n// Build with Vite (inline config to avoid path resolution issues)\nconst loaderSrcDir = path.join(__dirname, \"../src\")\nconst tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), \"vwr-loader-\"))\nconst loaderDistDir = tmpDir\n\n// Build define config - VITE_ENVIRONMENT is undefined for Fire TV (reads from native)\nconst defineConfig: Record<string, string> = {\n \"import.meta.env.VITE_PLATFORM\": JSON.stringify(config.VITE_PLATFORM),\n \"import.meta.env.VITE_SHELL_VERSION\": JSON.stringify(shellVersion),\n \"import.meta.env.VITE_HUB_URL\": JSON.stringify(config.VITE_HUB_URL),\n \"import.meta.env.VITE_AMPLITUDE_DEPLOYMENT_KEY\": JSON.stringify(\n config.VITE_AMPLITUDE_DEPLOYMENT_KEY\n ),\n \"import.meta.env.VITE_VWR_URL\": JSON.stringify(config.VITE_VWR_URL),\n \"import.meta.env.VITE_CONFIG_URL\": JSON.stringify(config.VITE_CONFIG_URL),\n \"import.meta.env.VITE_CONFIG_FILE\": JSON.stringify(config.VITE_CONFIG_FILE),\n \"import.meta.env.VITE_LAUNCH_URL\": JSON.stringify(config.VITE_LAUNCH_URL),\n \"import.meta.env.VITE_DATADOG_APPLICATION_ID\": JSON.stringify(\n config.VITE_DATADOG_APPLICATION_ID\n ),\n \"import.meta.env.VITE_DATADOG_CLIENT_TOKEN\": JSON.stringify(\n config.VITE_DATADOG_CLIENT_TOKEN\n ),\n}\n\n// Only inject VITE_ENVIRONMENT if provided (Fire TV reads from native otherwise)\nif (config.VITE_ENVIRONMENT) {\n defineConfig[\"import.meta.env.VITE_ENVIRONMENT\"] = JSON.stringify(\n config.VITE_ENVIRONMENT\n )\n}\n\ntry {\n console.log(`⏳ Building loader...`)\n await build({\n configFile: false,\n root: loaderSrcDir,\n // Use relative paths so loader works when served from any subdirectory\n base: \"./\",\n mode: opts.env ?? \"production\", // Use production mode for minification when env not specified\n logLevel: \"warn\",\n build: {\n outDir: loaderDistDir,\n emptyOutDir: true,\n target: \"es2017\",\n minify: opts.env === \"prod\" || !opts.env ? \"esbuild\" : false,\n sourcemap: true,\n rollupOptions: {\n input: {\n main: path.join(loaderSrcDir, \"index.html\"),\n },\n output: {\n entryFileNames: \"[name].js\",\n assetFileNames: \"[name].[ext]\",\n },\n },\n },\n define: defineConfig,\n })\n\n // Copy build output to specified directory\n const outputPath = path.resolve(opts.output)\n\n await fs.ensureDir(outputPath)\n await fs.copy(loaderDistDir, outputPath, { overwrite: true })\n\n console.log(`✅ VWR loader built successfully`)\n console.log(` Output: ${outputPath}`)\n console.log(` Files: index.html, main.js`)\n} finally {\n // Cleanup temp dir\n try {\n await fs.remove(tmpDir)\n } catch (e) {\n console.warn(\"⚠️ Failed to cleanup temp dir:\", e)\n }\n}\n"],"names":["loadDotenv"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envDefaults.d.ts","sourceRoot":"","sources":["../src/envDefaults.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;
|
|
1
|
+
{"version":3,"file":"envDefaults.d.ts","sourceRoot":"","sources":["../src/envDefaults.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AA0BD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA0DlD,CAAA"}
|
package/dist/envDefaults.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const CONFIG_URL_DEFAULT = "https://vwr.volley.tv/config/";
|
|
2
2
|
const CONFIG_FILE_DEFAULT = "vwrConfig.json";
|
|
3
|
-
const
|
|
3
|
+
const VWR_DEFAULT_VERSION = "1.0.0";
|
|
4
|
+
const VWR_URL_PATH_DEFAULT = `v1/${VWR_DEFAULT_VERSION}/vwr.js`;
|
|
4
5
|
// Parse comma-separated env var, returning undefined if empty to allow fallback
|
|
5
6
|
const parseTrustedOrigins = (envVar) => {
|
|
6
7
|
const parsed = envVar === null || envVar === void 0 ? void 0 : envVar.split(",").filter(Boolean);
|
|
@@ -38,7 +39,7 @@ export const ENV_DEFAULTS = {
|
|
|
38
39
|
},
|
|
39
40
|
dev: {
|
|
40
41
|
hubUrl: "https://game-clients-dev.volley.tv/hub",
|
|
41
|
-
vwrUrl: `https://vwr.volley.tv
|
|
42
|
+
vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
|
|
42
43
|
configUrl: CONFIG_URL_DEFAULT,
|
|
43
44
|
configFile: CONFIG_FILE_DEFAULT,
|
|
44
45
|
platformApiUrl: "https://platform-dev.volley-services.net",
|
|
@@ -54,7 +55,7 @@ export const ENV_DEFAULTS = {
|
|
|
54
55
|
},
|
|
55
56
|
staging: {
|
|
56
57
|
hubUrl: "https://game-clients-staging.volley.tv/hub",
|
|
57
|
-
vwrUrl: `https://vwr.volley.tv
|
|
58
|
+
vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
|
|
58
59
|
configUrl: CONFIG_URL_DEFAULT,
|
|
59
60
|
configFile: CONFIG_FILE_DEFAULT,
|
|
60
61
|
platformApiUrl: "https://platform-staging.volley-services.net",
|
package/dist/envDefaults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envDefaults.js","sourceRoot":"","sources":["../src/envDefaults.ts"],"names":[],"mappings":"AAWA,MAAM,kBAAkB,GAAG,+BAA+B,CAAA;AAC1D,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AAC5C,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"envDefaults.js","sourceRoot":"","sources":["../src/envDefaults.ts"],"names":[],"mappings":"AAWA,MAAM,kBAAkB,GAAG,+BAA+B,CAAA;AAC1D,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AAC5C,MAAM,mBAAmB,GAAG,OAAO,CAAA;AACnC,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,SAAS,CAAA;AAE/D,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,CACxB,MAA0B,EACN,EAAE;IACtB,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,UAAU,GAAc;IAC1B,MAAM,EAAE,oCAAoC;IAC5C,MAAM,EAAE,yBAAyB,oBAAoB,EAAE;IACvD,SAAS,EAAE,kBAAkB;IAC7B,UAAU,EAAE,mBAAmB;IAC/B,cAAc,EAAE,sCAAsC;IACtD,kBAAkB,EAAE,wBAAwB;IAC5C,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,CAAC,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,CAAC;CAC3E,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAA8B;IACnD,KAAK,EAAE;QACH,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,uBAAuB;QAC/D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,8BAA8B;QACtE,SAAS,EACL,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,+BAA+B;QACtE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,mBAAmB;QACnE,cAAc,EACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB;YACrC,0CAA0C;QAC9C,kBAAkB,EACd,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B;YAC1C,4BAA4B;QAChC,YAAY,EAAE,yCAAyC;QACvD,cAAc,EAAE,mBAAmB,CAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CACvC,IAAI;YACD,uBAAuB;YACvB,uBAAuB;YACvB,eAAe;YACf,mBAAmB;YACnB,uBAAuB;YACvB,gBAAgB;SACnB;KACJ;IACD,GAAG,EAAE;QACD,MAAM,EAAE,wCAAwC;QAChD,MAAM,EAAE,yBAAyB,oBAAoB,EAAE;QACvD,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,cAAc,EAAE,0CAA0C;QAC1D,kBAAkB,EAAE,4BAA4B;QAChD,YAAY,EAAE,yCAAyC;QACvD,cAAc,EAAE;YACZ,mBAAmB;YACnB,eAAe;YACf,mBAAmB;YACnB,uBAAuB;YACvB,gBAAgB;SACnB;KACJ;IACD,OAAO,EAAE;QACL,MAAM,EAAE,4CAA4C;QACpD,MAAM,EAAE,yBAAyB,oBAAoB,EAAE;QACvD,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,mBAAmB;QAC/B,cAAc,EAAE,8CAA8C;QAC9D,kBAAkB,EAAE,gCAAgC;QACpD,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE;YACZ,mBAAmB;YACnB,eAAe;YACf,uBAAuB;YACvB,gBAAgB;SACnB;KACJ;IACD,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,UAAU,EAAE,iBAAiB;CAC5C,CAAA"}
|
package/dist/exitHandler.d.ts
CHANGED
|
@@ -29,4 +29,18 @@ export declare function exitIfBackNavigation(platform: Platform): void;
|
|
|
29
29
|
* @returns Cleanup function to remove the listener
|
|
30
30
|
*/
|
|
31
31
|
export declare function setupLGBackButtonHandler(): () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Set up Fire TV back button (keycode 4) handler.
|
|
34
|
+
*
|
|
35
|
+
* On Fire TV, the native shell intercepts the back button at the Activity
|
|
36
|
+
* level and forwards it to JavaScript via the InputHandler Capacitor plugin.
|
|
37
|
+
* During the vwr-loader loading phase, we subscribe directly to InputHandler
|
|
38
|
+
* keyDown events and call Capacitor AppLifecycle.exitApp().
|
|
39
|
+
*
|
|
40
|
+
* Once VWR loads successfully, call the returned cleanup function - VWR
|
|
41
|
+
* will take over back button handling.
|
|
42
|
+
*
|
|
43
|
+
* @returns Cleanup function to remove the listener
|
|
44
|
+
*/
|
|
45
|
+
export declare function setupFireTVBackButtonHandler(): () => void;
|
|
32
46
|
//# sourceMappingURL=exitHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitHandler.d.ts","sourceRoot":"","sources":["../src/exitHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"exitHandler.d.ts","sourceRoot":"","sources":["../src/exitHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAkB7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,IAAI,CAyBrD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,IAAI,CAgEzD"}
|
package/dist/exitHandler.js
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
import { logger } from "./logger";
|
|
8
8
|
/** LG webOS back button keycode */
|
|
9
9
|
const LG_BACK_KEYCODE = 461;
|
|
10
|
+
/** Android back button keycode (used by Fire TV InputHandler plugin) */
|
|
11
|
+
const ANDROID_BACK_KEYCODE = 4;
|
|
10
12
|
/**
|
|
11
13
|
* Exit the app if the page was loaded via back/forward navigation.
|
|
12
14
|
*
|
|
@@ -65,6 +67,64 @@ export function setupLGBackButtonHandler() {
|
|
|
65
67
|
logger.info("[Shell] LG back button handler removed");
|
|
66
68
|
};
|
|
67
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Set up Fire TV back button (keycode 4) handler.
|
|
72
|
+
*
|
|
73
|
+
* On Fire TV, the native shell intercepts the back button at the Activity
|
|
74
|
+
* level and forwards it to JavaScript via the InputHandler Capacitor plugin.
|
|
75
|
+
* During the vwr-loader loading phase, we subscribe directly to InputHandler
|
|
76
|
+
* keyDown events and call Capacitor AppLifecycle.exitApp().
|
|
77
|
+
*
|
|
78
|
+
* Once VWR loads successfully, call the returned cleanup function - VWR
|
|
79
|
+
* will take over back button handling.
|
|
80
|
+
*
|
|
81
|
+
* @returns Cleanup function to remove the listener
|
|
82
|
+
*/
|
|
83
|
+
export function setupFireTVBackButtonHandler() {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
const inputHandler = (_b = (_a = window.Capacitor) === null || _a === void 0 ? void 0 : _a.Plugins) === null || _b === void 0 ? void 0 : _b.InputHandler;
|
|
86
|
+
if (!(inputHandler === null || inputHandler === void 0 ? void 0 : inputHandler.addListener)) {
|
|
87
|
+
logger.warn("[Shell] Capacitor InputHandler plugin not available");
|
|
88
|
+
return () => {
|
|
89
|
+
logger.info("[Shell] Fire TV back button handler removed");
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
let listenerHandle = null;
|
|
93
|
+
let isCleanedUp = false;
|
|
94
|
+
const listenerRegistration = inputHandler
|
|
95
|
+
.addListener("keyDown", (event) => {
|
|
96
|
+
if (event.keyCode === ANDROID_BACK_KEYCODE) {
|
|
97
|
+
logger.info("[Shell] Fire TV back button pressed, exiting app");
|
|
98
|
+
exitFireTVApp();
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
.then((handle) => {
|
|
102
|
+
listenerHandle = handle;
|
|
103
|
+
if (isCleanedUp) {
|
|
104
|
+
return Promise.resolve(handle.remove()).catch((error) => {
|
|
105
|
+
logger.error({ error }, "[Shell] Failed to remove Fire TV back button handler");
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
})
|
|
110
|
+
.catch((error) => {
|
|
111
|
+
logger.error({ error }, "[Shell] Failed to register Fire TV back button handler");
|
|
112
|
+
});
|
|
113
|
+
logger.info("[Shell] Fire TV back button handler registered");
|
|
114
|
+
return () => {
|
|
115
|
+
isCleanedUp = true;
|
|
116
|
+
if (listenerHandle) {
|
|
117
|
+
void Promise.resolve(listenerHandle.remove()).catch((error) => {
|
|
118
|
+
logger.error({ error }, "[Shell] Failed to remove Fire TV back button handler");
|
|
119
|
+
});
|
|
120
|
+
listenerHandle = null;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
void listenerRegistration;
|
|
124
|
+
}
|
|
125
|
+
logger.info("[Shell] Fire TV back button handler removed");
|
|
126
|
+
};
|
|
127
|
+
}
|
|
68
128
|
/**
|
|
69
129
|
* Exit the app using platform-specific methods.
|
|
70
130
|
*
|
|
@@ -78,7 +138,10 @@ function exitApp(platform) {
|
|
|
78
138
|
case "LG_TV":
|
|
79
139
|
exitLGAppViaBackNavigation();
|
|
80
140
|
break;
|
|
81
|
-
|
|
141
|
+
case "FIRE_TV":
|
|
142
|
+
exitFireTVApp();
|
|
143
|
+
break;
|
|
144
|
+
// Mobile apps handle exit at the native layer
|
|
82
145
|
// Web doesn't have a meaningful "exit" concept
|
|
83
146
|
default:
|
|
84
147
|
logger.info({ platform }, "[Shell] No platform-specific exit");
|
|
@@ -110,4 +173,23 @@ function exitLGAppViaBackNavigation() {
|
|
|
110
173
|
logger.error({ error }, "[Shell] Failed to exit LG app");
|
|
111
174
|
}
|
|
112
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Exit Fire TV app via Capacitor AppLifecycle plugin.
|
|
178
|
+
*/
|
|
179
|
+
function exitFireTVApp() {
|
|
180
|
+
var _a, _b, _c;
|
|
181
|
+
try {
|
|
182
|
+
if ((_c = (_b = (_a = window.Capacitor) === null || _a === void 0 ? void 0 : _a.Plugins) === null || _b === void 0 ? void 0 : _b.AppLifecycle) === null || _c === void 0 ? void 0 : _c.exitApp) {
|
|
183
|
+
void window.Capacitor.Plugins.AppLifecycle.exitApp().catch((error) => {
|
|
184
|
+
logger.error({ error }, "[Shell] Failed to exit Fire TV app");
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
logger.warn("[Shell] Capacitor AppLifecycle plugin not available");
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
logger.error({ error }, "[Shell] Failed to exit Fire TV app");
|
|
193
|
+
}
|
|
194
|
+
}
|
|
113
195
|
//# sourceMappingURL=exitHandler.js.map
|
package/dist/exitHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exitHandler.js","sourceRoot":"","sources":["../src/exitHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,mCAAmC;AACnC,MAAM,eAAe,GAAG,GAAG,CAAA;AAE3B;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACnD,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAEd,CAAA;QAEf,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,cAAc,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CACP,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,EAC3C,+CAA+C,CAClD,CAAA;YACD,OAAO,CAAC,QAAQ,CAAC,CAAA;QACrB,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,wDAAwD;QACxD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,yCAAyC,CAAC,CAAA;IACrE,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB;IACpC,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAQ,EAAE;;QACjD,IAAI,KAAK,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CACP,0DAA0D,CAC7D,CAAA;YAED,IAAI,MAAA,MAAM,CAAC,KAAK,0CAAE,YAAY,EAAE,CAAC;gBAC7B,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;YAC/B,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CACP,8DAA8D,CACjE,CAAA;gBACD,MAAM,CAAC,KAAK,EAAE,CAAA;YAClB,CAAC;QACL,CAAC;IACL,CAAC,CAAA;IAED,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IACnD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IAExD,OAAO,GAAG,EAAE;QACR,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACtD,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IACzD,CAAC,CAAA;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,QAAkB;IAC/B,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,YAAY;YACb,cAAc,EAAE,CAAA;YAChB,MAAK;QACT,KAAK,OAAO;YACR,0BAA0B,EAAE,CAAA;YAC5B,MAAK;QACT,
|
|
1
|
+
{"version":3,"file":"exitHandler.js","sourceRoot":"","sources":["../src/exitHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/loadVwr.js
CHANGED
|
@@ -199,6 +199,25 @@ async function initializeVwr(rum) {
|
|
|
199
199
|
vwrUrl: vwrConfig.vwrUrl,
|
|
200
200
|
});
|
|
201
201
|
}
|
|
202
|
+
// Build config source display string for VWR mode indicator
|
|
203
|
+
let configSourceDisplay;
|
|
204
|
+
switch (configSource) {
|
|
205
|
+
case "device":
|
|
206
|
+
configSourceDisplay = `device (${deviceId})`;
|
|
207
|
+
break;
|
|
208
|
+
case "environment":
|
|
209
|
+
configSourceDisplay = `environment (${ENVIRONMENT})`;
|
|
210
|
+
break;
|
|
211
|
+
case "shellVersion":
|
|
212
|
+
configSourceDisplay = `shell-version (${ENVIRONMENT}/${PLATFORM}/${shellVersion})`;
|
|
213
|
+
break;
|
|
214
|
+
case "local":
|
|
215
|
+
configSourceDisplay = "local";
|
|
216
|
+
break;
|
|
217
|
+
default:
|
|
218
|
+
configSourceDisplay = "defaults";
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
202
221
|
try {
|
|
203
222
|
await vwr.init({
|
|
204
223
|
hubUrl: vwrConfig.hubUrl,
|
|
@@ -210,6 +229,7 @@ async function initializeVwr(rum) {
|
|
|
210
229
|
platformAuthApiUrl: vwrConfig.platformAuthApiUrl,
|
|
211
230
|
trustedOrigins: new Set(vwrConfig.trustedDomains),
|
|
212
231
|
nativeShellVersion: shellVersion,
|
|
232
|
+
configSource: configSourceDisplay,
|
|
213
233
|
}, logger, rum);
|
|
214
234
|
}
|
|
215
235
|
catch (vwrError) {
|
package/dist/loadVwr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadVwr.js","sourceRoot":"","sources":["../src/loadVwr.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loadVwr.js","sourceRoot":"","sources":["../src/loadVwr.ts"],"names":[],"mappings":"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"}
|