-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompileSass.js
More file actions
49 lines (44 loc) · 1.12 KB
/
compileSass.js
File metadata and controls
49 lines (44 loc) · 1.12 KB
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
const path = require('path');
const fs = require('fs');
const sass = require('node-sass');
const { gzip } = require('node-gzip');
const INPUT_FILE = path.resolve(__dirname, 'sass', 'main.scss');
const OUTPUT_FILE = path.resolve(__dirname, 'lib', 'main.css');
const OUTPUT_GZIP_FILE = path.resolve(__dirname, 'lib', 'main.css.gz');
sass.render(
{
file: INPUT_FILE,
outputStyle: 'compressed',
},
(error, result) => {
console.info('ERROR', error);
if (error) {
console.log(error);
process.exit(1);
}
// Write uncompressed css
fs.writeFile(OUTPUT_FILE, result.css, (error) => {
if (error) {
console.log(error);
process.exit(1);
}
});
// Write compressed (gzipped) file
gzip(result.css)
.then((compressedFile) => {
fs.writeFile(OUTPUT_GZIP_FILE, compressedFile, (error) => {
if (error) {
console.log(error);
process.exit(1);
}
process.exit(0);
});
})
.catch((error) => {
if (error) {
console.log(error);
process.exit(1);
}
});
}
);