App(
    appid="js_app",
    name="JS Runner",
    apptype=FlipperAppType.SYSTEM,
    entry_point="js_app",
    stack_size=2 * 1024,
    resources="examples",
    order=0,
)

App(
    appid="js_app_start",
    apptype=FlipperAppType.STARTUP,
    entry_point="js_app_on_system_start",
    order=160,
)

App(
    appid="js_dialog",
    apptype=FlipperAppType.PLUGIN,
    entry_point="js_dialog_ep",
    requires=["js_app"],
    sources=["modules/js_dialog.c"],
)

App(
    appid="js_notification",
    apptype=FlipperAppType.PLUGIN,
    entry_point="js_notification_ep",
    requires=["js_app"],
    sources=["modules/js_notification.c"],
)

App(
    appid="js_badusb",
    apptype=FlipperAppType.PLUGIN,
    entry_point="js_badusb_ep",
    requires=["js_app"],
    sources=["modules/js_badusb.c"],
)

App(
    appid="js_serial",
    apptype=FlipperAppType.PLUGIN,
    entry_point="js_serial_ep",
    requires=["js_app"],
    sources=["modules/js_serial.c"],
)

App(
    appid="js_submenu",
    apptype=FlipperAppType.PLUGIN,
    entry_point="js_submenu_ep",
    requires=["js_app"],
    sources=["modules/js_submenu.c"],
)

App(
    appid="js_math",
    apptype=FlipperAppType.PLUGIN,
    entry_point="js_math_ep",
    requires=["js_app"],
    sources=["modules/js_math.c"],
)

App(
    appid="js_textbox",
    apptype=FlipperAppType.PLUGIN,
    entry_point="js_textbox_ep",
    requires=["js_app"],
    sources=["modules/js_textbox.c"],
)
