@alicloud/console-toolkit-plugin-react
Version:
console toolkit plugin for base react app
76 lines (75 loc) • 3.13 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.dev = void 0;
var console_toolkit_shared_utils_1 = require("@alicloud/console-toolkit-shared-utils");
var define_1 = require("./plugins/define");
var openBrowser_1 = require("./plugins/openBrowser");
var hmr_1 = require("./plugins/hmr");
var reactRefresh_1 = require("./plugins/reactRefresh");
var common_1 = require("./common");
var NODE_ENV = 'development';
function chainDevServer(config, options) {
var _a = options.port, port = _a === void 0 ? 3333 : _a, _b = options.host, host = _b === void 0 ? 'localhost' : _b, _c = options.https, https = _c === void 0 ? false : _c, disableHmr = options.disableHmr;
config
.devServer
.stats('errors-only')
.headers({
'Access-Control-Allow-Origin': '*',
})
.disableHostCheck(true)
.port(port)
.host(host)
.https(https)
.hot(!disableHmr)
.inline(!disableHmr)
.historyApiFallback({
rewrites: [
{
from: /^(?!\/build|)/,
to: 'index.html',
},
]
})
.end();
}
var dev = function (config, options, api) {
var _a = options.port, port = _a === void 0 ? 3333 : _a, _b = options.host, host = _b === void 0 ? 'localhost' : _b, _c = options.https, https = _c === void 0 ? false : _c, defineGlobalConstants = options.defineGlobalConstants, noOpen = options.noOpen, disableHmr = options.disableHmr, _d = options.publicPathOnDev, publicPathOnDev = _d === void 0 ? true : _d, reactRefresh = options.reactRefresh;
config.mode(NODE_ENV);
config.devtool('cheap-module-eval-source-map');
// set common config
var disableExtractText = options.disableExtractText !== undefined
? options.disableExtractText
: (0, console_toolkit_shared_utils_1.getEnv)().isDev();
(0, common_1.common)(config, __assign(__assign({}, options), { disableExtractText: disableExtractText }), api);
(0, define_1.definePlugin)(config, __assign({ 'process.env.NODE_ENV': JSON.stringify(NODE_ENV) }, defineGlobalConstants));
/**
* dynamicBundle, bundleAnalyzer
*/
var protocol = https ? 'https' : 'http';
var url = "".concat(protocol, "://").concat(host, ":").concat(port);
if (!noOpen) {
(0, openBrowser_1.openBrowserPlugin)(config, { url: url });
}
if (publicPathOnDev) {
config.output.publicPath("".concat(protocol, "://").concat(host, ":").concat(port, "/"));
}
if (!disableHmr) {
(0, hmr_1.hmrPlugin)(config);
}
if (reactRefresh) {
(0, reactRefresh_1.reactRefreshPlugin)(config, options);
}
chainDevServer(config, options);
};
exports.dev = dev;
;