55 lines
2.6 KiB
JavaScript
55 lines
2.6 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.initPlugins = void 0;
|
|
const path_1 = __importDefault(require("path"));
|
|
const debug_1 = __importDefault(require("debug"));
|
|
const shared_1 = require("@vue/shared");
|
|
const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
|
|
const pre_1 = require("./pre");
|
|
const json_1 = require("./json");
|
|
const preCss_1 = require("./preCss");
|
|
const static_1 = require("./static");
|
|
const preVue_1 = require("./preVue");
|
|
const ssr_1 = require("./ssr");
|
|
const resolveId_1 = require("./resolveId");
|
|
const debugPlugin = (0, debug_1.default)('uni:plugin');
|
|
const UNI_H5_RE = /@dcloudio\/uni-h5/;
|
|
const uniPrePluginOptions = {
|
|
exclude: [...uni_cli_shared_1.COMMON_EXCLUDE, UNI_H5_RE],
|
|
};
|
|
const uniPreCssPluginOptions = {
|
|
exclude: [...uni_cli_shared_1.COMMON_EXCLUDE, UNI_H5_RE],
|
|
};
|
|
function initPlugins(config, options) {
|
|
const plugins = config.plugins;
|
|
addPlugin(plugins, (0, resolveId_1.uniResolveIdPlugin)(options), 'vite:resolve', 'pre');
|
|
addPlugin(plugins, (0, pre_1.uniPrePlugin)(config, (0, shared_1.extend)(uniPrePluginOptions, options)), 0, 'pre');
|
|
addPlugin(plugins, (0, preCss_1.uniPreCssPlugin)(config, (0, shared_1.extend)(uniPreCssPluginOptions, options)), 'vite:css');
|
|
addPlugin(plugins, (0, preVue_1.uniPreVuePlugin)(), 'vite:vue', 'pre');
|
|
addPlugin(plugins, (0, ssr_1.uniSSRPlugin)(config, (0, shared_1.extend)({ exclude: [...uni_cli_shared_1.COMMON_EXCLUDE] }, options)), 'vite:vue');
|
|
addPlugin(plugins, (0, json_1.uniJsonPlugin)(options), 'vite:json', 'pre');
|
|
addPlugin(plugins, (0, static_1.uniStaticPlugin)(options, config), 'vite:asset', 'pre');
|
|
if ((0, uni_cli_shared_1.isInHBuilderX)()) {
|
|
try {
|
|
require(path_1.default.resolve(process.env.UNI_HBUILDERX_PLUGINS, 'uni_helpers/lib/bytenode'));
|
|
const { V } = require(path_1.default.join(process.env.UNI_HBUILDERX_PLUGINS, 'uni_helpers'));
|
|
addPlugin(plugins, V({ dir: process.env.UNI_INPUT_DIR }), 0, 'pre');
|
|
}
|
|
catch (e) { }
|
|
}
|
|
if (process.env.DEBUG) {
|
|
debugPlugin(plugins.length);
|
|
debugPlugin(plugins.map((p) => p.name));
|
|
}
|
|
}
|
|
exports.initPlugins = initPlugins;
|
|
function addPlugin(plugins, plugin, index, type = 'post') {
|
|
if ((0, shared_1.isString)(index)) {
|
|
index = plugins.findIndex((plugin) => plugin.name === index);
|
|
}
|
|
return plugins.splice(index + (type === 'pre' ? 0 : 1), 0, plugin);
|
|
}
|