Syllabus/themes/piratecare/node_modules/tailwindcss/lib/index.js

86 lines
3.0 KiB
JavaScript

"use strict";
var _path = _interopRequireDefault(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _lodash = _interopRequireDefault(require("lodash"));
var _postcss = _interopRequireDefault(require("postcss"));
var _getModuleDependencies = _interopRequireDefault(require("./lib/getModuleDependencies"));
var _registerConfigAsDependency = _interopRequireDefault(require("./lib/registerConfigAsDependency"));
var _processTailwindFeatures = _interopRequireDefault(require("./processTailwindFeatures"));
var _formatCSS = _interopRequireDefault(require("./lib/formatCSS"));
var _resolveConfig = _interopRequireDefault(require("./util/resolveConfig"));
var _constants = require("./constants");
var _defaultConfigStub = _interopRequireDefault(require("../stubs/defaultConfig.stub.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function resolveConfigPath(filePath) {
// require('tailwindcss')({ theme: ..., variants: ... })
if (_lodash.default.isObject(filePath) && !_lodash.default.has(filePath, 'config') && !_lodash.default.isEmpty(filePath)) {
return undefined;
} // require('tailwindcss')({ config: 'custom-config.js' })
if (_lodash.default.isObject(filePath) && _lodash.default.has(filePath, 'config') && _lodash.default.isString(filePath.config)) {
return _path.default.resolve(filePath.config);
} // require('tailwindcss')({ config: { theme: ..., variants: ... } })
if (_lodash.default.isObject(filePath) && _lodash.default.has(filePath, 'config') && _lodash.default.isObject(filePath.config)) {
undefined;
} // require('tailwindcss')('custom-config.js')
if (_lodash.default.isString(filePath)) {
return _path.default.resolve(filePath);
} // require('tailwindcss')
try {
const defaultConfigPath = _path.default.resolve(_constants.defaultConfigFile);
_fs.default.accessSync(defaultConfigPath);
return defaultConfigPath;
} catch (err) {
return undefined;
}
}
const getConfigFunction = config => () => {
if (_lodash.default.isUndefined(config) && !_lodash.default.isObject(config)) {
return (0, _resolveConfig.default)([_defaultConfigStub.default]);
}
if (!_lodash.default.isObject(config)) {
(0, _getModuleDependencies.default)(config).forEach(mdl => {
delete require.cache[require.resolve(mdl.file)];
});
}
const configObject = _lodash.default.isObject(config) ? _lodash.default.get(config, 'config', config) : require(config);
return (0, _resolveConfig.default)([configObject, _defaultConfigStub.default]);
};
const plugin = _postcss.default.plugin('tailwind', config => {
const plugins = [];
const resolvedConfigPath = resolveConfigPath(config);
if (!_lodash.default.isUndefined(resolvedConfigPath)) {
plugins.push((0, _registerConfigAsDependency.default)(resolvedConfigPath));
}
return (0, _postcss.default)([...plugins, (0, _processTailwindFeatures.default)(getConfigFunction(resolvedConfigPath || config)), _formatCSS.default]);
});
module.exports = plugin;