新增: - backend/venv/ - Python 虚拟环境 - backend/start.sh - 启动脚本(使用虚拟环境) - backend/requirements.txt - 依赖列表 - .gitignore - 忽略虚拟环境和缓存文件 说明: - 每个项目使用独立虚拟环境 - 避免依赖冲突 - 启动脚本自动创建和激活虚拟环境
67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
"use strict";
|
|
|
|
exports.__esModule = true;
|
|
exports.getFilePath = getFilePath;
|
|
exports.getBaseSvgoConfig = getBaseSvgoConfig;
|
|
exports.getPlugins = getPlugins;
|
|
exports.mergeSvgoConfig = mergeSvgoConfig;
|
|
|
|
var _deepmerge = _interopRequireDefault(require("deepmerge"));
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function getFilePath(state) {
|
|
return state.filePath || process.cwd();
|
|
}
|
|
|
|
function getBaseSvgoConfig(config) {
|
|
const baseSvgoConfig = {
|
|
plugins: [{
|
|
prefixIds: true
|
|
}]
|
|
};
|
|
|
|
if (config.icon || config.dimensions === false) {
|
|
baseSvgoConfig.plugins.push({
|
|
removeViewBox: false
|
|
});
|
|
}
|
|
|
|
return baseSvgoConfig;
|
|
}
|
|
|
|
function getPlugins(config) {
|
|
if (!config || !config.plugins) {
|
|
return [];
|
|
}
|
|
|
|
if (!Array.isArray(config.plugins)) {
|
|
throw Error('`svgoConfig.plugins` must be an array');
|
|
}
|
|
|
|
return config.plugins;
|
|
}
|
|
|
|
function extractPlugins(config) {
|
|
if (!config) return [];
|
|
if (!config.plugins) return [];
|
|
if (!Array.isArray(config.plugins)) return [config.plugins];
|
|
return config.plugins;
|
|
}
|
|
|
|
function mergePlugins(configs) {
|
|
const plugins = configs.reduce((merged, config) => _deepmerge.default.all([merged, ...extractPlugins(config)]), {});
|
|
return Object.keys(plugins).reduce((array, key) => {
|
|
array.push({
|
|
[key]: plugins[key]
|
|
});
|
|
return array;
|
|
}, []);
|
|
}
|
|
|
|
function mergeSvgoConfig(...configs) {
|
|
const plugins = mergePlugins(configs);
|
|
return { ..._deepmerge.default.all(configs.filter(Boolean)),
|
|
plugins
|
|
};
|
|
} |