UNPKG

@lark-project/cli

Version:

飞书项目插件开发工具

76 lines (75 loc) 3.44 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getWebpackDevServerConfig = void 0; const evalSourceMapMiddleware_1 = __importDefault(require("react-dev-utils/evalSourceMapMiddleware")); // import noopServiceWorkerMiddleware from 'react-dev-utils/noopServiceWorkerMiddleware'; // import ignoredFiles from 'react-dev-utils/ignoredFiles'; const webpack_dev_server_1 = __importDefault(require("webpack-dev-server")); // import redirectServedPath from 'react-dev-utils/redirectServedPathMiddleware'; const constants_1 = require("../../../constants"); const env_1 = require("../../../utils/env"); const self_signed_tls_cert_1 = require("../../../utils/self-signed-tls-cert"); const local_api_server_1 = require("./local-api-server"); async function getWebpackDevServerConfig() { let localIp = env_1.env.originForDevServer; // 当用户指定 devServer 返回资源的 origin,则不取本地 ipv4 地址 if (!localIp) { localIp = await webpack_dev_server_1.default.getHostname('local-ip'); } const localOrigin = `${env_1.env.disableHttps ? 'http' : 'https'}://${localIp}:${constants_1.DEV_SERVER_PORT}`; let httpsOptions; if (!env_1.env.disableHttps) { const domains = [...new Set(['localhost', '127.0.0.1', localIp, env_1.env.host])]; httpsOptions = await (0, self_signed_tls_cert_1.createTempCert)(domains); } return { port: constants_1.DEV_SERVER_PORT, allowedHosts: 'all', host: env_1.env.host, compress: true, hot: true, static: false, server: { type: env_1.env.disableHttps ? undefined : 'https', options: httpsOptions, }, client: { logging: 'verbose', progress: true, webSocketURL: { hostname: env_1.env.sockHost, pathname: env_1.env.sockPath, port: env_1.env.sockPort, protocol: 'wss', }, overlay: { errors: true, warnings: false, runtimeErrors: error => { var _a, _b; // 运行容器内通过 ResizeObserver 监听高度变化,会出发该警告,在 overlay 上忽略掉 // https://github.com/webpack/webpack-dev-server/releases/tag/v4.13.0 if (((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('ResizeObserver loop')) || ((_b = error === null || error === void 0 ? void 0 : error.message) === null || _b === void 0 ? void 0 : _b.includes('Script error'))) { return false; } return true; }, }, }, devMiddleware: { index: true, writeToDisk: false, }, historyApiFallback: true, setupMiddlewares: (middlewares, devServer) => { (0, local_api_server_1.localAPIServer)(devServer, localOrigin); devServer.app.use((0, evalSourceMapMiddleware_1.default)(devServer)); return middlewares; }, }; } exports.getWebpackDevServerConfig = getWebpackDevServerConfig;