Packages

A web application in pursuit of meaning in life.

Retired package: Complete rewrite, scratch old versions

Current section

Files

Jump to
udia assets node_modules postcss-modules build index.js
Raw

assets/node_modules/postcss-modules/build/index.js

'use strict';
var _postcss = require('postcss');
var _postcss2 = _interopRequireDefault(_postcss);
var _cssModulesLoaderCore = require('css-modules-loader-core');
var _cssModulesLoaderCore2 = _interopRequireDefault(_cssModulesLoaderCore);
var _parser = require('css-modules-loader-core/lib/parser');
var _parser2 = _interopRequireDefault(_parser);
var _fileSystemLoader = require('css-modules-loader-core/lib/file-system-loader');
var _fileSystemLoader2 = _interopRequireDefault(_fileSystemLoader);
var _genericNames = require('generic-names');
var _genericNames2 = _interopRequireDefault(_genericNames);
var _generateScopedName = require('./generateScopedName');
var _generateScopedName2 = _interopRequireDefault(_generateScopedName);
var _saveJSON = require('./saveJSON');
var _saveJSON2 = _interopRequireDefault(_saveJSON);
var _behaviours = require('./behaviours');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
module.exports = _postcss2.default.plugin('postcss-modules', function () {
var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var scopedNameGenerator = opts.generateScopedName || _generateScopedName2.default;
var getJSON = opts.getJSON || _saveJSON2.default;
var scopeBehaviour = 'local';
if (opts.scopeBehaviour && (0, _behaviours.isValidBehaviour)(opts.scopeBehaviour)) {
scopeBehaviour = opts.scopeBehaviour;
}
if (typeof scopedNameGenerator === 'function') {
_cssModulesLoaderCore2.default.scope.generateScopedName = scopedNameGenerator;
} else {
_cssModulesLoaderCore2.default.scope.generateScopedName = (0, _genericNames2.default)(scopedNameGenerator, {
context: process.cwd()
});
}
return function (css, result) {
var resultPlugins = result.processor.plugins.filter(function (plugin) {
return plugin.postcssPlugin !== 'postcss-modules';
});
var plugins = [].concat(_toConsumableArray(_behaviours.defaultPlugins[scopeBehaviour]), _toConsumableArray(resultPlugins));
var loader = typeof opts.Loader === 'function' ? new opts.Loader('/', plugins) : new _fileSystemLoader2.default('/', plugins);
var parser = new _parser2.default(loader.fetch.bind(loader));
var promise = new Promise(function (resolve, reject) {
(0, _postcss2.default)([].concat(_toConsumableArray(plugins), [parser.plugin])).process(css, { from: css.source.input.file }).then(function () {
var out = loader.finalSource;
if (out) {
css.prepend(out);
}
getJSON(css.source.input.file, parser.exportTokens);
resolve();
}, reject);
});
return promise;
};
});