Dependency Updates
Step 3: Vega Configuration Updates
There are Vega-specific changes that are required for your app to load correctly on the device.
3.1 Manifest.toml interactive components
Update the runtime module path and interface for UI components:
# BEFORE (RN 0.72 / Vega 2.x)
[[components.interactive]]
id = "com.amazon.kepler.script.app.krl.2.yourapp.main"
runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0"
launch-type = "singleton"
# AFTER (RN 0.83 / Vega 4.x)
[[components.interactive]]
id = "com.amazon.kepler.script.app.krl.4.yourapp.main"
runtime-module = "/com.amazon.kepler.runtime.react_native_kepler_4@IReactNativeKepler_0"
launch-type = "singleton"
Key changes
- Component ID:
krl.2→krl.4 - Runtime module path:
keplerscript.runtime.loader_2→runtime.react_native_kepler_4 - Interface:
IKeplerScript_2_0→IReactNativeKepler_0
3.2 Manifest.toml headless components
If your app uses headless components (services or tasks), update their runtime modules as shown in the examples below.
# BEFORE (RN 0.72)
[[components.service]]
id = "<your-app-package-name>.service"
runtime-module = "/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0"
launch-type = "singleton"
[[components.task]]
id = "<your-app-package-name>.onInstallTask"
runtime-module = "/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0"
# AFTER (RN 0.83)
[[components.service]]
id = "<your-app-package-name>.service"
runtime-module = "/com.amazon.kepler.runtime.react_native_kepler_headless_4@IReactNativeKeplerHeadless_0"
launch-type = "singleton"
[[components.task]]
id = "<your-app-package-name>.onInstallTask"
runtime-module = "/com.amazon.kepler.runtime.react_native_kepler_headless_4@IReactNativeKeplerHeadless_0"
Key changes
- Runtime module path:
headless.runtime.loader_2→runtime.react_native_kepler_headless_4 - Interface:
IKeplerScript_2_0→IReactNativeKeplerHeadless_0
3.3 app.json updates
Update the component ID in app.json from krl.2 to krl.4:
{
"name": "com.amazon.kepler.script.app.krl.4.yourapp.main"
}
3.4 CMakeLists.txt updates
Update version numbers, C++ standard, and library targets in the CMakeLists.txt file.
Template pattern (krl.2 → krl.4)
# BEFORE
set(EXECUTABLE_NAME sample-2)
set(PACKAGE_NAME KeplerScriptAppTemplate-2)
set(CMAKE_CXX_STANDARD 17)
project(${EXECUTABLE_NAME} VERSION 2.0)
# AFTER
set(EXECUTABLE_NAME sample-4)
set(PACKAGE_NAME KeplerScriptAppTemplate-4)
set(CMAKE_CXX_STANDARD 20)
project(${EXECUTABLE_NAME} VERSION 4.0)
Version suffix pattern (072 → 083)
# BEFORE
set(VERSION_SUFFIX 072)
find_package(keplerui 0.72 CONFIG REQUIRED)
# AFTER
set(VERSION_SUFFIX 083)
find_package(keplerui 0.83 CONFIG REQUIRED)
Native code linking (if using C++ native modules)
# cxx/CMakeLists.txt
# BEFORE
target_link_libraries(${TARGET_NAME} keplerui::keplerscript-2)
# AFTER
target_link_libraries(${TARGET_NAME} keplerui::keplerscript-4)
Requirements
- CMake 3.22+
- C++20-compatible compiler (GCC 10+, Clang 12+, MSVC 2019+)
3.5 Vega bundle configuration
Add the bundle configuration package in your package.json file:
{
"devDependencies": {
"@amazon-devices/keplerscript-commonmodules": "^1.0.0"
}
}
Optionally, configure bundle splitting in package.json. For production apps, it's recommended to remove disableSplitBundle or set to false to enable code splitting for better performance.
{
"kepler": {
"disableSplitBundle": true
}
}
Last updated: Jul 09, 2026

