UNPKG

1.1 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3const fs = require('fs');
4const CleanCSS = require('clean-css');
5
6const compileCSS = require('react-with-styles-interface-css-compiler');
7
8const registerMaxSpecificity = require('react-with-styles-interface-css/dist/utils/registerMaxSpecificity').default;
9const registerCSSInterfaceWithDefaultTheme = require('../src/utils/registerCSSInterfaceWithDefaultTheme').default;
10
11console.error = msg => { throw new SyntaxError(msg); };
12console.warn = msg => { throw new SyntaxError(msg); };
13
14const args = process.argv.slice(2);
15const optimizeForProduction = args.includes('-o') || args.includes('--optimize');
16
17registerMaxSpecificity(0);
18registerCSSInterfaceWithDefaultTheme();
19
20const path = './scripts/renderAllComponents.jsx';
21const CSS = compileCSS(path);
22
23const format = new CleanCSS({
24 level: optimizeForProduction ? 2 : 0,
25 format: 'beautify',
26 inline: ['none'],
27});
28const { styles: formattedCSS } = format.minify(CSS);
29
30const outputFilePath = optimizeForProduction ? './lib/css/_datepicker.css' : './css/styles.css';
31fs.writeFileSync(outputFilePath, formattedCSS, 'utf8');