Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/bs / dist / scripts / development / devServer / devServer.js
Size: Mime:
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
    result["default"] = mod;
    return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// Do this as the first thing so that any code reading it knows the right env.
process.env.BABEL_ENV = 'development';
process.env.NODE_ENV = 'development';
// Makes the script crash on unhandled rejections instead of silently
// ignoring them. In the future, promise rejections that are not handled will
// terminate the Node.js process with a non-zero exit code.
process.on('unhandledRejection', unhandledRejectionException => {
    throw unhandledRejectionException;
});
const fs = __importStar(require("fs"));
const webpack_1 = __importDefault(require("webpack"));
const webpack_dev_server_1 = __importDefault(require("webpack-dev-server"));
const clearConsole_1 = __importDefault(require("react-dev-utils/clearConsole"));
const WebpackDevServerUtils_1 = require("react-dev-utils/WebpackDevServerUtils");
const openBrowser_1 = __importDefault(require("react-dev-utils/openBrowser"));
const paths_1 = __importDefault(require("../paths"));
const configs_1 = require("./configs");
const devServer_config_1 = require("./devServer.config");
function startDevServer() {
    const useYarn = fs.existsSync(paths_1.default.yarnLockFile);
    const isInteractive = process.stdout.isTTY;
    // Warn and crash if required files are missing
    // @todo - server/index.html - this is a powerful feature
    // if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {
    //   process.exit(1)
    // }
    // Tools like Cloud9 rely on this.
    const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000;
    const HOST = process.env.HOST || '0.0.0.0';
    // We attempt to use the default port but if it is busy, we offer the user to
    // run on a different port. `detect()` Promise resolves to the next free port.
    WebpackDevServerUtils_1.choosePort(HOST, DEFAULT_PORT)
        .then(port => {
        if (port === null || port === undefined) {
            console.log('[ds] NO_PORT');
            // We have not found a port.
            return;
        }
        process.env.PORT = port;
        const protocol = process.env.HTTPS === 'true' ? 'https' : 'http';
        const [appClientConfig, appServerConfig] = configs_1.toConfigList();
        // const startCompilingServer = compileServer(appServerConfig)
        console.log('[ds] got configList');
        const appName = require(paths_1.default.appPackageJson).name;
        const urls = WebpackDevServerUtils_1.prepareUrls(protocol, HOST, port);
        console.log('[ds] creating compiler');
        // Create a webpack compiler that is configured with custom messages.
        const compiler = WebpackDevServerUtils_1.createCompiler(webpack_1.default, appClientConfig, appName, urls, useYarn);
        console.log('[ds] created compiler');
        // Load proxy config
        const proxySetting = require(paths_1.default.appPackageJson).proxy;
        const proxyConfig = WebpackDevServerUtils_1.prepareProxy(proxySetting, paths_1.default.appPublic);
        console.log('[ds] created proxy');
        // Serve webpack assets generated by the compiler over a web sever.
        const serverConfig = devServer_config_1.devServerConfig(appClientConfig, proxyConfig, urls.lanUrlForConfig);
        const devServer = new webpack_dev_server_1.default(compiler, serverConfig);
        console.log('[ds] created devServer');
        // Launch WebpackDevServer.
        devServer.listen(port, HOST, err => {
            if (err) {
                return console.log(err);
            }
            if (isInteractive) {
                clearConsole_1.default();
            }
            console.log('Starting the development server...\n');
            openBrowser_1.default(urls.localUrlForBrowser);
        });
        const SIG_LIST = ['SIGINT', 'SIGTERM'];
        SIG_LIST.forEach((sig) => {
            process.on(sig, () => {
                devServer.close();
                process.exit();
            });
        });
    })
        .catch(err => {
        if (err && err.message) {
            console.log(err.message);
        }
        process.exit(1);
    });
}
exports.startDevServer = startDevServer;
//# sourceMappingURL=devServer.js.map