* js: value destructuring and tests * js: temporary fix to see size impact * js_val: reduce code size 1 * i may be stupid. * test: js_value args * Revert "js: temporary fix to see size impact" This reverts commit f51d726dbafc4300d3552020de1c3b8f9ecd3ac1. * pvs: silence warnings * style: formatting * pvs: silence warnings? * pvs: silence warnings?? * js_value: redesign declaration types for less code * js: temporary fix to see size impact * style: formatting * pvs: fix helpful warnings * js_value: reduce .rodata size * pvs: fix helpful warning * js_value: reduce code size 1 * fix build error * style: format * Revert "js: temporary fix to see size impact" This reverts commit d6a46f01794132e882e03fd273dec24386a4f8ba. * style: format * js: move to new arg parser * style: format * feat: all js views done * js, toolbox: generalize string owning * toolbox: silence pvs warning --------- Co-authored-by: hedger <hedger@nanode.su> Co-authored-by: hedger <hedger@users.noreply.github.com>
Flipper Zero JavaScript SDK
This package contains official tooling and typings for developing Flipper Zero applications in JavaScript.
Getting started
Create your application using the interactive wizard:
npx @flipperdevices/create-fz-app@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