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: [email protected]
For additional commands, e-mail: [email protected]