UNPKG

react-inline-for-rix-loader

Version:

for developing webpack rix-loader, folk from https://github.com/martinandert/react-inline

47 lines (28 loc) 1.42 kB
'use strict'; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; exports.__esModule = true; var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _glob = require('glob'); var _glob2 = _interopRequireDefault(_glob); var _mkdirp = require('mkdirp'); var _mkdirp2 = _interopRequireDefault(_mkdirp); function bundle(sourceDir) { var filename = arguments.length <= 1 || arguments[1] === undefined ? 'bundle.css' : arguments[1]; var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; var bundleFile = _path2['default'].join(sourceDir, filename); var globOptions = { cwd: sourceDir, realpath: true, ignore: bundleFile }; var globPattern = options.globPattern || '**/*.css'; var readOptions = { encoding: options.sourceCharset || 'utf8' }; var writeOptions = { encoding: options.outputCharset || 'utf8' }; var cssFiles = _glob2['default'].sync(globPattern, globOptions); var bundleCSS = cssFiles.reduce(function (memo, filePath) { return memo + _fs2['default'].readFileSync(filePath, readOptions); }, ''); _mkdirp2['default'].sync(_path2['default'].dirname(bundleFile)); _fs2['default'].writeFileSync(bundleFile, bundleCSS, writeOptions); } exports['default'] = { bundle: bundle }; module.exports = exports['default'];