UNPKG

1.15 kBJavaScriptView Raw
1'use strict';
2
3var path = require('path');
4var utils = require('lazy-cache')(require);
5var fn = require;
6require = utils;
7
8/**
9 * Lazily required module dependencies
10 */
11
12require('falsey');
13require('extend-shallow', 'extend');
14require('fs-exists-sync', 'exists');
15require('is-valid-app', 'isValid');
16require('isobject', 'isObject');
17require('parser-front-matter', 'parser');
18require = fn;
19
20utils.renameFile = function(app) {
21 return function(file, next) {
22 var dest = app.options.dest || app.cwd;
23 file.base = dest;
24 file.cwd = dest;
25
26 var data = utils.extend({}, file.data);
27 if (utils.isObject(data.rename)) {
28 for (var key in data.rename) {
29 if (data.rename.hasOwnProperty(key)) {
30 file[key] = data.rename[key];
31 }
32 }
33 }
34
35 utils.stripPrefixes(file);
36 file.path = path.join(file.base, file.basename);
37 next();
38 };
39};
40
41/**
42 * strip prefixes from dotfile and config templates
43 */
44
45utils.stripPrefixes = function(file) {
46 file.basename = file.basename.replace(/^_/, '.');
47 file.basename = file.basename.replace(/^\$/, '');
48};
49
50/**
51 * Expose `utils` modules
52 */
53
54module.exports = utils;