serverless/lib/utils/createFromTemplate.js
2019-07-02 10:25:32 +02:00

31 lines
866 B
JavaScript

'use strict';
const { join } = require('path');
const BbPromise = require('bluebird');
const { copy, exists, rename } = require('fs-extra');
const serverlessPath = join(__dirname, '../../');
module.exports = (templateName, destPath) =>
new BbPromise((resolve, reject) => {
const templateSrcDir = join(serverlessPath, 'lib/plugins/create/templates', templateName);
copy(templateSrcDir, destPath, copyError => {
if (copyError) {
reject(copyError);
return;
}
const gitignorePath = join(destPath, 'gitignore');
exists(gitignorePath, hasGitignore => {
if (!hasGitignore) {
resolve();
return;
}
rename(gitignorePath, join(destPath, '.gitignore'), renameError => {
if (renameError) reject(renameError);
else resolve();
});
});
});
});