-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdeploy.js
59 lines (39 loc) · 1.65 KB
/
deploy.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
var fs = require('fs');
var fse = require( 'fs-extra' );
var execSync = require('child_process').execSync;
var mkdirp = require( "mkdirp" );
// ----- CONFIG AREA ---------------------------------------
// ASSETS
var CDN_URL = "./";
// SRC FILE TO SCAN
var src_path = 'public/';
var src = src_path + 'index.html';
// DEPLOY ROOT
var deploy_path = 'deploy/';
console.log( "Cleaning up..." );
fse.emptyDirSync( deploy_path + 'assets' );
// ---------- COMPILER -------------------------------------
console.log( "publishing new revision..." )
fse.copySync( src_path, deploy_path );
var string = fs.readFileSync( src, { encoding: 'utf-8' } );
console.log( 'Copying Files to Deploy...' );
var rev = Date.now();
console.log( 'Generating index.html...' );
var ifile = fs.openSync( deploy_path + 'index.html', 'w' );
string = string.replace( 'assets/js/main.js', 'assets/js/main-' + rev + '.js' );
string = string.replace( 'assets/css/styles.css', 'assets/css/styles-' + rev + '.css' );
fs.writeSync( ifile, string );
fs.close( ifile );
console.log( "creating JS rev files..." );
fs.renameSync( deploy_path + 'assets/js/main.js', deploy_path + 'assets/js/main-' + rev + '.js' );
//console.log( "Minifying CSS files [YUI] ..." );
var compressor = require('node-minify');
console.log( "Minifying CSS files ..." );
var minifier = require('minifier');
minifier.on('error', function(err) {
// handle any potential error
console.log( err );
})
minifier.minify(deploy_path + 'assets/css/styles.css', { output: deploy_path + 'assets/css/styles-' + rev + '.css' });
fse.removeSync( deploy_path + 'assets/css/styles.css' );
console.log( "Done. Successfully created revision " + rev );