1 | #!/usr/bin/env node
|
2 |
|
3 | var fs = require('fs')
|
4 | var argv = require('yargs').argv
|
5 | var path = require('path')
|
6 | var exec = require('child_process').exec
|
7 |
|
8 | var gulpbuild
|
9 |
|
10 | var exports = {
|
11 | autogenerate : autogenerate,
|
12 | clean : clean
|
13 | }
|
14 |
|
15 | module.exports = function(){
|
16 | return exports
|
17 | }
|
18 |
|
19 | var options = argv._
|
20 |
|
21 |
|
22 |
|
23 | if(options.indexOf("autogenerate") !== -1) {
|
24 | gulpbuild = require(__dirname + "/gulpbuild.js")()
|
25 | autogenerate()
|
26 | }
|
27 | else if(options.indexOf("clearcache") !== -1) {
|
28 | gulpbuild = require(__dirname + "/gulpbuild.js")()
|
29 | clean()
|
30 | }
|
31 | else if(options.indexOf("new") !== -1) {
|
32 | create()
|
33 | }
|
34 |
|
35 |
|
36 |
|
37 | function 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 |
|
61 | function autogenerate() {
|
62 | console.log("Autogenerating gulpfile")
|
63 | gulpbuild.buildGulpfile()
|
64 | }
|
65 |
|
66 |
|
67 | function 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 |