cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Horn, Julian C" <julian.c.h...@intel.com>
Subject RE: Does this plugin support the current platform?
Date Tue, 10 Feb 2015 17:18:21 GMT
The natural way to determine whether some functionality is available is to use the "feature
detection" pattern.  That is, if you want to call some function normally found at "myobj.myfunc",
you write code like this:

If (myobj && (typeof myobj.myfunc === 'function')) ...

For this to work you must take care to remove plugins that don't support your platform before
you build for that platform.  For example, before you build for firefoxos, you must remove
the barcodescanner plugin (and then add it back when you build for supported platforms). 
Granted, this is awkward, but I think it's worse to read the package.json file.

Really the CLI should make the feature detection pattern work without having to exclude plugins
on unsupported platforms.  That is, if a plugin doesn't support a platform, then it should
contribute nothing when you build for that platform.

    Julian

-----Original Message-----
From: Axel Nennker [mailto:ignisvulpis@gmail.com] 
Sent: Tuesday, February 10, 2015 11:48 AM
To: dev
Subject: Re: Does this plugin support the current platform?

And then the app has to load that package.json ?
On Feb 10, 2015 5:28 PM, "Steven Gill" <stevengill97@gmail.com> wrote:

> Plugin.xml has a platforms tag for what platforms it supports. That 
> info gets uploaded to the Cordova plugins registry when publishing.
>
> Soon this info will be available in package.json file each plugin has.
> On Feb 10, 2015 7:25 AM, "Axel Nennker" <ignisvulpis@gmail.com> wrote:
>
> > Hi,
> >
> > is there a way how an app can determine whether a plugin supports 
> > the current  platform?
> >
> > E.g.: the barcodescanner plugin is not supporting firefoxos How 
> > could an app know that which out hardcoding this into the app?
> >
> > If there is a standard way in Cordova then this is a userland question.
> > If not then this is a feature request to add this info to e.g.
> > cordova/plugin_list exports.metadata ?!
> >
> > -Axel
> >
>
Mime
View raw message