Login



It is critical that you have the NativeScript key in the package like explained below. In addition it is recommended you have text "NativeScript" as either part of the title of the plugin or as a keyword in the package file. This site automatically catalogs the plugins in realtime.

If your plugin still isn't showing; you can try typing plugins.nativescript.rocks/plugin/my-plugin-name and seeing what it says about your plugin. The site will allow you to see any errors that we had while attempting to process your plugin. We have actually cataloged another 20 percent more plugins that have serious issues; so they won't show in the catalog until the major issues are solved.

For your plugin to show up properly please add a "nativescript" key to your plugin; it should look like this:

"nativescript": {
  "platforms": {
    "android": "1.0.0",
    "ios": "1.0.0"
  },
  "plugin": {
    "nan": "true",
    "pan": "true",
    "core3": "true",
    "vue": "false",
    "webpack": "false",
    "category": "Processing",
    "wrapper" : ""
  },
  "demo": "Your PAN demo url",
  "demong": "Your NAN demo url"
  "demovue": "Your VUE demo url"
}

  • The platforms key, tells us which platforms are supported and which runtimes. You need to have at least one or both of ios or android sub-keys for the plugin sites to detect this is a valid plugin. You should only have the key that your plugin supports. So if your plugin only supports android, only put the android platform key in.

  • The plugin key gives us a bit of extra plugin meta-data; all are optional and are attempted to be auto-detected.
    • pan = Plain Awesome NativeScript support. (Default: true)
    • nan = NativeScript Angular; set to true if the plugin works properly in a NAN application. (Default: false)
    • vue - This is a plugin for the Vue environment. (Default: false)
    • webpack - This is a plugin designed for use in Webpack (Default: false)
    • core3 = Support TNS 3.0 core modules; defaults to true if either platforms' keys are set to >= 3.0.0, otherwise false.
    • wrapper = This is normally blank, you fill it in if you create a dummy wrapper for a platform, you can then just put "android" or "ios" in this field for which wrapper you created.
    • category - The category for this plugin
      The valid categories currently are:
      • Interface
      • Processing
      • Templates
      • Themes
      • Developer
      • Network
      • Payment
      • Database
      • Audio
      • Bluetooth
    • Demo, DemoNg, DemoVue - These are automatically detected as "/demo", "/demo_ng" (or "/demo_angular"), and "/demo_vue". If you have the demo's in their normal location in github, you don't have to fill in these keys.
The plugins on this site are scoring is calculated based on several automated tests and factors:

Warning: If you LIE about your plugin and say you support iOS and Android and you do NOT actually support both platforms, It will be at zero points until the issue is fixed and I can verify it. Please note there is a "wrapper" flag, for when you have a wrapper so that it doesn't crash on the other platform, but you don't actually "support" the platform.

For the first platform you support you get 50 points.
For the second platform you support you get and additional 40 points
You get 10 points for each platform that you have dummy wrappers for. A dummy wrapper is like if you create a cool plugin on iOS, the android version would just be a simple file with the same interface that does nothing; so that your main app code doesn't crash when you call it on android.
If you supply a category; you get an additional 5 points.
If you supply a PAN demo with your plugin, you get an additional 25 points. (Folder: demo)
If you supply a NAN demo with your plugin, you get an additional 25 points. (Folder: demo_ng or demo-angular)
If you supply a VUE demo with your plugin, you get an additional 25 points. (Folder: demo_vue)
If you supply TypeScript typings you get an additional 10 points.
If you are missing a readme, you lose 10 points.
if your plugin can't be webpacked you lose 20 points.
If you are packaging up TS files in your distributed plugin (i.e. the npm pacakge), you lose 5 points.
If you are embedding a demo in your distributed plugin (i.e. the npm package), you lose 20 points.
If your package.json is missing the "NativeScript" key or "Platforms" key, you lose 5 points each.
If your plugin package file has a dependancy on "tns-core-modules", you lose 40 points.

Please note in the future more critera may be added... Please feel free to suggest more rating factors.