UNPKG

1.95 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3/**
4 * Tmplify prototype.
5 */
6
7"use strict";
8
9process.chdir(__dirname + '/..');
10
11var path = require('path'),
12 fs = require('fs'),
13 apeTasking = require('ape-tasking'),
14 tmplconv = require('tmplconv');
15
16var scaffold = require('../lib');
17
18apeTasking.runTasks('tmplify', [
19 function (callback) {
20 tmplconv.tmplify('asset/prototype', 'asset/tmpl', {
21 clean: true,
22 mode: '444',
23 pattern: [
24 '**/*.*',
25 '.*'
26 ],
27 ignore: [
28 '.DS_Store',
29 '.svg'
30 ],
31 data: {
32 'github_repository': "my-wonderful-repo/my-awesome-pkg",
33 'package_name': 'my-awesome-pkg',
34 'package_description': 'This is my awesome package.',
35 'author_name': 'Taka Okunishi',
36 'author_email': 'okunishitaka.com@gmail.com',
37 'author_url': 'http://okunishitaka.com'
38 },
39 prefix: scaffold.prefix,
40 suffix: scaffold.suffix
41 }, callback);
42 },
43 function (callback) {
44 tmplconv.tmplify(__dirname + '/..', 'asset/tmpl', {
45 pattern: [
46 '.gitignore'
47 ],
48 prefix: scaffold.prefix,
49 suffix: scaffold.suffix
50 }, callback);
51 },
52 function (callback) {
53 var filename = require.resolve('../asset/tmpl/package.json.tmpl');
54 var str = fs.readFileSync(filename).toString();
55 var pkg = JSON.parse(str);
56 pkg.version = '1.0.0';
57 delete pkg['readme'];
58 delete pkg['readmeFilename'];
59 delete pkg['gitHead'];
60 delete pkg['_id'];
61 delete pkg['_shasum'];
62 delete pkg['_from'];
63 fs.chmodSync(filename, '644');
64 fs.writeFileSync(filename, JSON.stringify(pkg, null, 2));
65 fs.chmodSync(filename, '444');
66 callback(null);
67 }
68], true);