@winfe/vmi
Version:
123 lines (99 loc) • 3.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _react() {
const data = _interopRequireDefault(require("react"));
_react = function _react() {
return data;
};
return data;
}
function _utils() {
const data = require("@umijs/utils");
_utils = function _utils() {
return data;
};
return data;
}
function _path() {
const data = require("path");
_path = function _path() {
return data;
};
return data;
}
var _uploadMaterialOutput = _interopRequireDefault(require("../uploadMaterialOutput"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
const externals = {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
},
'element-ui': {
root: 'elementUi',
commonjs: 'element-ui',
commonjs2: 'element-ui',
amd: 'element-ui'
},
'@winfe/win-request': {
root: 'winRequest',
commonjs: 'win-request',
commonjs2: 'win-request',
amd: 'win-request'
},
'his-request': {
root: 'HISREUEST',
commonjs: 'his-request',
commonjs2: 'his-request',
amd: 'his-request'
}
};
var _default = api => {
const cwd = api.cwd;
api.describe({
key: 'component',
config: {
schema(joi) {
return joi.object();
},
default: {}
}
});
api.modifyConfig(initialValue => {
initialValue.outputPath = 'lib';
return initialValue;
});
api.chainWebpack( /*#__PURE__*/function () {
var _ref = _asyncToGenerator(function* (memo) {
var _api$pkg$name;
memo.entryPoints.clear();
memo.entry('index').add((0, _path().resolve)(cwd, './index.js'));
const packageNameSplit = ((_api$pkg$name = api.pkg.name) === null || _api$pkg$name === void 0 ? void 0 : _api$pkg$name.split('/')) || [];
const packageName = _utils().lodash.camelCase(packageNameSplit[1] || packageNameSplit[0]);
if (!packageName) {
throw new Error('物料的name不能为空,请检查根目录package.json的name属性');
} // component output need umd
memo.output.libraryTarget('umd').libraryExport('default').library(packageName);
memo.externals(externals);
memo.plugin('CleanWebpackPlugin').use(require('clean-webpack-plugin').CleanWebpackPlugin);
return memo;
});
return function (_x) {
return _ref.apply(this, arguments);
};
}());
api.onBuildComplete(({
err
}) => {
if (!err) {
if (api.args.upload) (0, _uploadMaterialOutput.default)(cwd);
}
});
};
exports.default = _default;