blob: 54feab8b029a2c4cfda9b7b632bdc67952867838 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-type' content='text/html; charset=utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>Cordova Search Website</title>
<link rel="stylesheet" href="css/styles.css" />
</head>
<body>
<div id="header">
<div class="wrap">
<a class="logo" href="//cordova.apache.org/"></a>
<div class="menu">
<a href="index.html">Home</a>
<a href="developers.html">Developers</a>
<a href="faq.html">FAQ</a>
</div>
<form class="menu-dropdown">
<select onchange="location = this.options[this.selectedIndex].value;">
<option value="index.html">Home</option>
<option value="developers.html">Developers</option>
<option value="faq.html">FAQ</option>
</select>
</form>
</div>
<div class="shadow"></div>
</div>
<div class="header-placeholder"></div>
<div class="wrap">
<h2 class="icon icon-about">npm Plugin Search for Plugin Authors</h2>
<h4>How do I add a new plugin to Plugin Search?</h4>
<p>If you want your Cordova Plugin to show up in search, simply add <code>ecosystem:cordova</code> keyword to the <code>package.json</code> file of your plugin and publish it to npm registry.</p>
<h4>How can I tag supported platforms for my plugin?</h4>
<p>Similar to <code>ecosystem:cordova</code>, platform support too uses keywords. Just add the platform name prefixed with "<strong>cordova-</strong>" to plugins list of keywords. E.g.</p>
<pre><code> "keywords": [
"ecosystem:cordova",
"cordova-android",
"cordova-ios",
"cordova-windows"
]</code></pre>
<h4>My plugin is in plugins.cordova.io but I want to publish to npm. How do I do that?</h4>
<ol>
<li>
<strong>Optional</strong> Decide if you want to change your plugin’s id. If you decide to change it,
<ol>
<li>Update the id in plugin.xml and update your readme with the new id.</li>
<li>Send a pull request adding your new id and old id to Cordova Registry Mapper.</li>
<li>We integrate that module into the Cordova CLI to warn users to use the new id when adding plugins to their projects.</li>
</ol>
</li>
<li>Add a <code>package.json</code> to your plugins,
<ul>
<li>
<strong>Note</strong>: To keep things simple, please make sure your <code>id</code> in <code>plugin.xml</code> is the same as your <code>package-name</code> in <code>package.json</code>.</li>
<li>Use <code>plugman createpackagejson [PLUGIN DIRECTORY]</code> to create <code>package.json</code>.
<ul>
<li>This will create defaults based on existing values in your <code>plugin.xml</code>.</li>
<li>It will also automatically add the keyword <code>ecosystem:cordova</code> to your newly generated package.json file.</li>
<li>In addition, a cordova key will be added to your <code>package.json</code> which we plan to use in future updates of the tooling.</li>
</ul>
</li>
<li>View the <code>package.json</code> of <a href="https://github.com/apache/cordova-plugin-device/blob/master/package.json" target="_blank">cordova-plugin-device</a> to see an example of what your <code>package.json</code> should look like after running <code>plugman createpackagejson [PLUGIN DIRECTORY]</code> command.</li>
<li>Plugins still require a <code>plugin.xml</code> to be installed into <strong>Cordova</strong> projects.</li>
</ul>
</li>
<li>Publish your plugin to npm using the <code>npm publish [PLUGIN DIRECTORY]</code>.</li>
</ol>
<h4>Are there any additional documents to assist me with plugins?</h4>
<p>Yes there are. Please take a look at <a href="http://cordova.apache.org/docs/en/edge/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide" target="_blank">Plugin Development Guide</a> for a more detailed guide.</p>
<h4>I don't like X. How can I help improve the website?</h4>
<p>You can help improving this site by opening bugs on <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20status%20%3D%20Open%20AND%20component%20%3D%20%22Registry%20Web%22" target="_blank">JIRA</a> or by sending PRs on <a href="https://github.com/apache/cordova-registry-web" target="_blank">GitHub</a>.</p>
</div>
</body>
</html>