Apache Cordova Template App

Clone this repo:
  1. d3597df chore(ios): remove gap from CSP (#67) by エリス · 9 days ago master
  2. b0bf851 chore: remove whitelist plugin & reference (#66) by エリス · 9 days ago
  3. 8e15414 chore(asf): Update GitHub repo metadata by Darryl Pogue · 10 months ago
  4. 02a9c34 chore(asf): update git notification settings by Erisu · 1 year, 3 months ago
  5. f1f3e99 Update CONTRIBUTING.md by Niklas Merz · 1 year, 4 months ago

Apache Cordova Hello World Application


A simple Hello World application that serves two purposes:

  • It is used as the default app template when creating new projects
  • It is a reference for building and publishing custom Cordova Templates

Structure of your template

├── package.json (for your template package to be published on npm)
├── index.js
└── template_src (contains template files)
    ├── package.json
    ├── config.xml
    └── (files and folders that make up the template)

Outside of template_src

All files outside of template_src are used to define parameters about the template. These files are not copied over at creation, so feel free to add a README or any other files outside of template_src.


index.js points to where the template exists. You'll see that index.js usually looks like:

const path = require('path');

module.exports = {
    dirname : path.join(__dirname, 'template_src')


This package.json holds information about the template itself like its name, version etc. All templates should contain the keyword "cordova:template" so that the template is searchable on npm. For example:

    "name": "cordova-example-template",
    "version": "1.0.0",
    "...": "...",
    "keywords": [

Inside of template_src

All files inside of template_src compose the template from which a user would desire in order to create their project. Everything in this folder is copied over to the created project.

The package.json in template_src should be filled with information that describes the project that would be created from the template.

If you want to include .gitignore files in your template, you have to name them gitignore (without a leading dot) instead. They will be renamed to .gitignore upon template expansion.