|
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = generateData;
-
- var _generateStaticPrefixMap = require('./generateStaticPrefixMap');
-
- var _generateStaticPrefixMap2 = _interopRequireDefault(_generateStaticPrefixMap);
-
- var _generateDynamicPrefixMap = require('./generateDynamicPrefixMap');
-
- var _generateDynamicPrefixMap2 = _interopRequireDefault(_generateDynamicPrefixMap);
-
- var _generatePluginList = require('./generatePluginList');
-
- var _generatePluginList2 = _interopRequireDefault(_generatePluginList);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function generateImportString(plugin, pluginPath, compatibility) {
- if (compatibility) {
- return 'var ' + plugin + ' = require(\'inline-style-prefixer/' + pluginPath + '/plugins/' + plugin + '\')';
- }
- return 'import ' + plugin + ' from \'inline-style-prefixer/' + pluginPath + '/plugins/' + plugin + '\'';
- }
-
-
- function generateFile(prefixMap, pluginList, compatibility, pluginPath) {
- var pluginImports = pluginList.map(function (plugin) {
- return generateImportString(plugin, pluginPath, compatibility);
- }).join('\n');
-
- var moduleExporter = compatibility ? 'module.exports = ' : 'export default';
- var pluginExport = '[' + pluginList.join(',') + ']';
- var prefixMapExport = JSON.stringify(prefixMap);
-
- if (pluginPath === 'static') {
- var prefixVariables = ['var w = ["Webkit"];', 'var m = ["Moz"];', 'var ms = ["ms"];', 'var wm = ["Webkit","Moz"];', 'var wms = ["Webkit","ms"];', 'var wmms = ["Webkit","Moz","ms"];'].join('\n');
-
- return pluginImports + '\n' + prefixVariables + '\n\n' + moduleExporter + ' {\n plugins: ' + pluginExport + ',\n prefixMap: ' + prefixMapExport.replace(/\["Webkit"\]/g, 'w').replace(/\["Moz"\]/g, 'm').replace(/\["ms"\]/g, 'ms').replace(/\["Webkit","Moz"\]/g, 'wm').replace(/\["Webkit","ms"\]/g, 'wms').replace(/\["Webkit","Moz","ms"\]/g, 'wmms') + '\n}';
- }
-
- return pluginImports + '\n\n' + moduleExporter + ' {\n plugins: ' + pluginExport + ',\n prefixMap: ' + prefixMapExport + '\n}';
- }
-
- function saveFile(fileContent, path) {
- /* eslint-disable global-require */
- var fs = require('fs');
- /* eslint-enable global-require */
-
- fs.writeFile(path, fileContent, function (err) {
- if (err) {
- throw err;
- }
-
- console.log('Successfully saved data to "' + path + '".');
- });
- }
-
- function generateData(browserList) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- compatibility = _ref.compatibility,
- plugins = _ref.plugins,
- staticPath = _ref.staticPath,
- dynamicPath = _ref.dynamicPath,
- prefixMap = _ref.prefixMap;
-
- var shouldRenderPlugins = plugins !== undefined ? plugins : true;
- var shouldRenderPrefixMap = prefixMap !== undefined ? prefixMap : true;
-
- var data = {
- static: shouldRenderPrefixMap ? (0, _generateStaticPrefixMap2.default)(browserList) : {},
- dynamic: shouldRenderPrefixMap ? (0, _generateDynamicPrefixMap2.default)(browserList) : {},
- plugins: shouldRenderPlugins ? (0, _generatePluginList2.default)(browserList) : []
- };
-
- if (staticPath) {
- var fileContent = generateFile(data.static, data.plugins, compatibility, 'static');
-
- saveFile(fileContent, staticPath);
- }
-
- if (dynamicPath) {
- var _fileContent = generateFile(data.dynamic, data.plugins, compatibility, 'dynamic');
-
- saveFile(_fileContent, dynamicPath);
- }
-
- return data;
- }
- module.exports = exports['default'];
|