Skip to content
Browse files
Merge pull request #49 from stevengill/templates
added new template proposal
  • Loading branch information
stevengill committed Jul 20, 2016
2 parents c705f73 + 5ac34b2 commit 76493c9fe1e3796fafe2484be60940f96f2f104f
Showing 1 changed file with 51 additions and 0 deletions.
@@ -0,0 +1,51 @@
# CLI templates Part 2 Proposal

status - Completed

## Overview

Now that we support templates in `cordova`, I think it is time to enhance this feature a bit. Currently, it pretty much copies over all of the files from the template repo or module. This can cause problems because it doesn't usually make sense to copy over files like:

* package.json belonging to a template
* .git
* Copyright
* .npmignore

Files we do want:

* config.xml
* .gitignore
* node_modules
* platforms/plugins
* hooks
* merges
* other files or folders

Sometimes we do want a `package.json` copied over. `package.json` could have build scripts that are essential for the template to work. To handle this use case, template authors are suggested to put template files in a subdirectory and point to that subdirectory in `index.js`. All files in the subdirectory are copied over.


### Proposal

Update the current template implementation to ignore the list of files above that shouldn't be copied over when using `--template`. If a subdirectory is used, copy the entire contents of the subdirectory.

If a `package.json` exists in the subdirectory, we should update its fields like we do to `config.xml`. Only field to update in `package.json` should be ``. `` should be updated to use `` lowercased (npm package names have to be lowercase). `` is the optional third argument `cordova create` takes.


Currently, package.json's version defaults to `1.0.0`. `config.xml` version seems to start at `0.0.1`. Probably a good idea to update our templates to set the initial version in `config.xml` to 1.0.0 instead.


* create a how to create templates guide for docs. Talk about subdirectory as suggested method, add keyword `cordova:template`.

### Future Work

* create a search similar to for templates based on the keyword.

## References
Original Proposal:

0 comments on commit 76493c9

Please sign in to comment.