Carlos Santana created CB-10808:
-----------------------------------

             Summary: cordova template should have api to specify directory 
name with template content
                 Key: CB-10808
                 URL: https://issues.apache.org/jira/browse/CB-10808
             Project: Apache Cordova
          Issue Type: Improvement
          Components: CLI
            Reporter: Carlos Santana
            Assignee: Carlos Santana


When creating an app using a template from npm like:

cordova create myapp --template my-cool-cdv-template

App is created with content of root of the npm pacakge.

By doing this all files are copied from the template.

In some cases some files are not desire to end up in the new app, files that 
are related to testing, packaging, source control
Some files are:
package.json
And some time you want the new app to have a package.json provided by the 
template but not the template's pacakge.json

We should implement same way we do cordova-app-hello-world npm package
main module exports an object with a property dirname

Example:
Content of package.tgz from npm
package.json
lib/
.gitignore
template_content/
template_content/package.json
template_content/www
template_content/config.xml
index.js

Content of package.json
{
"name": "my-cool-cdv-template",
"main": "./index.js"
}

Content of template.js:
path=require('path');
exports = {
   "dirname": path.join(__dirname,'template_content');
}

proposed changes:
https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/cordova/create.js#L308
{code}
function copyTemplateFiles(templateDir, projectDir) {
            var templateFiles;          // Current file
            var templatePkg;
            var templateDir;
            templatePkg = require(projectDir);
            if(templatePkg && templatePkg.dirname){
              templateDir = templatePkg.dirname;
            } else {
              templateDir = projectDir;
            }
            templateFiles = fs.readdirSync(templateDir);
//...
}
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to