-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.js
More file actions
39 lines (30 loc) · 1.01 KB
/
Copy pathbuild.js
File metadata and controls
39 lines (30 loc) · 1.01 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
const fs = require( 'fs' ).promises;
const util = require( 'util' );
const sass = require( 'sass' );
const postcss = require( 'postcss' );
const autoprefixer = require( 'autoprefixer' );
const { transform } = require( 'esbuild' );
build().catch( error => {
console.error( error );
process.exit( 1 );
} );
async function build() {
const render = util.promisify( sass.render );
const sassResult = await render( {
file: __dirname + '/src/framework.scss',
includePaths: [
__dirname + '/node_modules/modern-normalize',
],
} );
const processor = postcss( [ autoprefixer ] );
const postcssResult = await processor.process( sassResult.css, {
from: __dirname + '/src/framework.scss',
to: __dirname + '/dist/framework.min.css',
} );
const transformResult = await transform( postcssResult.css, {
loader: 'css',
minify: true,
} );
await fs.mkdir( __dirname + '/dist', { recursive: true } );
await fs.writeFile( __dirname + '/dist/framework.min.css', transformResult.code );
}