status - Completed
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:
Files we do want:
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.
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.
package.json exists in the subdirectory, we should update its fields like we do to
config.xml. https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/create.js#L378-L382. Only field to update in
package.json should be
package.name should be updated to use
config.name lowercased (npm package names have to be lowercase).
config.name is the optional third argument
cordova create takes.
cordova create PATH APPID NAME CONFIGOPTIONS
Currently, package.json's version defaults to
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.