UNPKG

2.01 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3var fs = require('fs')
4var argv = require('yargs').argv
5var path = require('path')
6var exec = require('child_process').exec
7
8var gulpbuild
9
10var exports = {
11 autogenerate : autogenerate,
12 clean : clean
13}
14
15module.exports = function(){
16 return exports
17}
18
19var options = argv._
20
21//---------------------------------------------------------
22
23if(options.indexOf("autogenerate") !== -1) {
24 gulpbuild = require(__dirname + "/gulpbuild.js")()
25 autogenerate()
26}
27else if(options.indexOf("clearcache") !== -1) {
28 gulpbuild = require(__dirname + "/gulpbuild.js")()
29 clean()
30}
31else if(options.indexOf("new") !== -1) {
32 create()
33}
34
35//--------------------------------------------------------
36
37function create() {
38 console.log("Generating gulp-manifest")
39
40 var base = process.cwd().replace(/\\/g, '/')
41 if(base !== '') base += '/'
42
43 var rs = fs.createReadStream(path.dirname(__filename) + '/gulp-manifest.json')
44 var ws = fs.createWriteStream(base + 'gulp-manifest.json')
45 rs.pipe(ws)
46
47 console.log("Installing required packages... (this could take a minute or two)")
48
49 exec("npm install -g gulp", function(){
50 exec("npm install --save-dev gulp browserify asset-mate", function(){
51 exec("npm install --save-dev babelify vinyl-buffer vinyl-source-stream gulp-uglify gulp-sass gulp-autoprefixer gulp-rename gulp-util", function(){
52 exec("npm install --save-dev glob babel-preset-es2015 babel-preset-react async aws-sdk image-size mime yargs through2", function(){
53 console.log("PACKAGES INSTALLED")
54 })
55 })
56 })
57 })
58
59}
60
61function autogenerate() {
62 console.log("Autogenerating gulpfile")
63 gulpbuild.buildGulpfile()
64}
65
66
67function clean() {
68 console.log("Clearing asset-mate cache")
69
70 try{
71 var base = process.cwd().replace(/\\/g, '/')
72 if(base !== '') base += '/'
73
74 fs.unlinkSync(base + 'node_modules/asset-mate/modificationsRecord.json')
75 }
76 catch(err) {
77 console.log("Nothing to clear")
78 return
79 }
80}
\No newline at end of file