dumi-plugin-color-chunk
Version:
Dumi Plugin - Beautify inline color blocks
39 lines • 2.4 kB
JavaScript
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
import path from 'path';
import { rehypePlugin, remarkPlugin } from "./core";
var COMPONENT_PATH = path.join(__dirname, '../es/component/index.js');
export default (function (api) {
api.describe({
key: 'dumi-plugin:color-chunk'
});
api.register({
key: 'modifyConfig',
stage: Infinity,
fn: function fn(memo) {
memo.alias['dumi-plugin-color-chunk/component'] = COMPONENT_PATH;
var cloneExtraRemarkPlugins = memo.extraRemarkPlugins,
cloneExtraRehypePlugins = memo.extraRehypePlugins;
memo.extraRemarkPlugins = [remarkPlugin].concat(_toConsumableArray(Array.isArray(cloneExtraRemarkPlugins) ? cloneExtraRemarkPlugins : [cloneExtraRemarkPlugins].filter(Boolean)));
memo.extraRehypePlugins = [rehypePlugin].concat(_toConsumableArray(Array.isArray(cloneExtraRehypePlugins) ? cloneExtraRehypePlugins : [cloneExtraRehypePlugins].filter(Boolean)));
return memo;
}
});
api.register({
key: 'modifyTheme',
stage: Infinity,
fn: function fn(memo) {
memo.builtins = Object.assign({
ColorChunk: {
specifier: 'ColorChunk',
source: COMPONENT_PATH
}
}, memo.builtins);
return memo;
}
});
});