Closed
Description
This issue outlines the work breakdown for supporting NativeScript Plugins in the CLI
v1.1
Plugin commands
-
add
- will support everythingnpm install
supports. Will save the installed plugin inpackage.json
. The plugin itself will be installed innode_modules
. -
remove
- will remove the plugin. Basicallynpm uninstall ... --save
with some other magic. -
prepare
- hidden command that will do all the required mumbo-jumbo to install a plugin. Actually adding a plugin will be decomposed tonpm install
followed bytns plugin prepare
Supported functionality
- NPM based workflow.
-
require
of JavaScript files from the plugin.prepare
will ensure the script files are in the native platformtns_modules
folder, so that they can be required. Thepackage.json
of the plugin should also be there in case there is amain
declared. - Merging of native configuration files (
AndroidManifest.xml
andInfo.plist
)
v1.2
- Ability to package native libraries and frameworks in the plugin.
- Android
- Respect Android libraries added to
platforms/android
- Respect jars added to
platforms/android/libs
- Remove the library when removing the plugin
- Respect Android libraries added to
- iOS
- Support for dynamic libraries (*.framework)
- Android
v1.3
- Support for Cocoapods (Support for CocoaPods #729)
- Support for new Android Library format (AAR)
v1.4
- Support for static iOS libraries
v1.5
- Ability to package resources (images, xml files declaring native UI, etc.) in the plugin.
- Ability to define plugin variables (ex: API keys that should be defined per plugin installation)