1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 04:34:43 +04:00
Files
unleashed-firmware/applications/system/js_app/packages/fz-sdk
..
2024-11-05 09:49:46 +03:00
2024-11-05 09:49:46 +03:00
2024-11-05 09:49:46 +03:00
2024-11-05 09:49:46 +03:00
2024-11-05 09:49:46 +03:00
2024-11-05 09:49:46 +03:00
2024-11-05 09:49:46 +03:00
2024-11-05 09:49:46 +03:00
2024-11-05 14:41:03 +03:00
2024-11-05 09:49:46 +03:00

Flipper Unleashed FW JavaScript SDK

This package contains tooling and typings for developing Flipper Zero applications in JavaScript for Unleashed Custom Firmware (based on official SDK).

This is a fork of the Official Flipper Zero JS SDK, with added types for the extra features provided by the Unleashed firmware JavaScript API.

Scripts made for Official Flipper Zero JS SDK will work on Unleashed Firmware too. If you use extra features provided by Unleashed FW JS SDK, you are encouraged to use syntax like if (doesSdkSupport(["feature-name"])) { ... } so that your JS app can work on Official Firmware too, aswell as all other compliant Custom Firmwares. If some of those extra features are essential to the functionality of your app, you can use checkSdkFeatures(["feature1", "feature2"]) near the beginning of your script, which will show a warning to the user that these features are not available in their firmware distribution.

Getting started

Create your application using the interactive wizard:

npx @darkflippers/create-fz-app-ul@latest

Then, enter the directory with your application and launch it:

cd my-flip-app
npm start

You are free to use pnpm or yarn instead of npm.

Versioning

For each version of this package, the major and minor components match those of the Flipper Zero JS SDK version that that package version targets. This version follows semver. For example, apps compiled with SDK version 0.1.0 will be compatible with SDK versions 0.1...1.0 (not including 1.0).

Every API has a version history reflected in its JSDoc comment. It is heavily recommended to check SDK compatibility using a combination of sdkCompatibilityStatus, isSdkCompatible, assertSdkCompatibility depending on your use case.

Documentation

Check out the JavaScript section in the Developer Documentation