- @nativescript/flutter
- @nativescript/ionic-portals
- @nativescript/jetpack-compose
- @nativescript/rive
- @nativescript/swift-ui
- @nativescript/ui-charts
This workspace manages the suite of plugins listed above.
In general, when in doubt with what to do, just npm start
.
You will need Flutter installed.
-
Uncomment sections in:
tools/assets/App_Resources/iOS/Podfile
tools/assets/App_Resources/Android/settings.gradle
-
To run on Android, build the flutter module first
cd apps/demo/flutter_views/.android
./gradlew Flutter:assemble
npm start
> focus.{any-plugin}
ENTER will focus the workspace to a single plugin for working on it in isolation.
The swift-ui plugin is currently managed here and we have testing code for it here: https://github.com/NativeScript/ui-kit/blob/main/tools/assets/App_Resources/iOS/src/BasicViewProvider.swift ... however when focusing on any other plugins, you would need to rename those .swift > .off so they aren't included in the demo to work with other plugins. Since the supporting .swift files include SwiftUIProvider which comes from only the swift-ui plugin.
npm run add
At the prompt, enter the name of the new package.
- This adds a plugin harness in
packages
with the necessary boilerplate to just start developing - Updates all demo app flavors to support demoing the new package
- Adds shared code in
tools/demo
where you can write demo code once and share across all demo flavors - Updates build tooling to support the new package
- Updates the
npm start
interactive display - Updates the README here to list the new package
npm run add-angular
At the prompt, enter the name of the package to add an angular
folder to it with the necessary boilerplate to provide Angular support to the package.
npm start
- Choose the focus commands for the package you wish to focus on and hit enter.
- All the demo app's will be updated to isolate that 1 package and for supported IDE's (currently VS Code), the source code will also become isolated in the workspace.
Note: good to always clean the demo you plan to run after focusing. (You can clean any demo from npm start
as well)
npm run publish-packages
- You will be prompted for the package names to publish. Leaving blank and hitting enter will publish them all.
- You will then be prompted for the version to use. Leaving blank will auto bump the patch version (it also handles prerelease types like alpha, beta, rc, etc. - It even auto tags the corresponding prelease type on npm).
- You will then be given a brief sanity check 🧠😊