NOTE: Deprecated July 8, 2017
A new and improved plugin seed has been forked and now resides here:
Please use this new seed going forward as no new development or improvements will be added here.
Develop a NativeScript plugin
git clone https://github.com/NathanWalker/nativescript-plugin-seed.git myplugin
npm run postclone
npm run setup
- Get to work.
This seed expands on several things presented here.
The seed is prepared to allow you to test and try out your plugin via the
Additionally it provides a proper
.gitignore to keep GitHub tidy as well as
.npmignore to ensure everyone is happy when you publish your plugin via npm.
Linking to CocoaPod or Android Arsenal plugins
You will want to create these folders and files in the root:
Doing so will open up those native apis to your plugin :)
Take a look at these existing plugins for how that can be done very simply:
Typical development workflow:
- Make changes to plugin files
- Make changes in
demothat would test those changes out
npm run demo.iosor
npm run demo.android(must be run from the root directory)
demo tasks are just general helpers. You may want to have more granular control on the device and/or emulator you want to run. For that, you can just run things the manual way:
// when developing, to ensure the latest code is built into the demo, it's a guarantee to remove the plugin and add it back
tns plugin remove nativescript-web-rtc
tns plugin add ..
// manual platform adds
tns platform add ios
tns platform add android
Then use any of the available options from the
tns command line:
This plugin automatically adds Jasmine-based unittest support to your plugin.
demo/app/tests/tests.js and adjust its contents.
You can read more about this topic here.
Once you're ready to test your plugin's API execute one of these commands in the plugin root:
npm run test.ios
npm run test.android
When you have everything ready to publish:
- Bump the version number in
npm run build- very important - ensure the latest is built before you publish
Contributing - Want to make the seed better?
Or at least help keep it up to date with NativeScript releases, which would be excellent.
npm install -g typescript // if you don't already have it
git clone https://github.com/NathanWalker/nativescript-plugin-seed