/* This file is part of the Notesnook project (https://notesnook.com/) Copyright (C) 2023 Streetwriters (Private) Limited This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ process.env.BABEL_ENV = "development"; process.env.NODE_ENV = "development"; process.env.ASSET_PATH = "/"; var WebpackDevServer = require("webpack-dev-server"), webpack = require("webpack"), config = require("../webpack.config"), env = require("./env"), path = require("path"); var options = config.chromeExtensionBoilerplate || {}; var excludeEntriesToHotReload = options.notHotReload || []; for (var entryName in config.entry) { if (excludeEntriesToHotReload.indexOf(entryName) === -1) { config.entry[entryName] = [ "webpack/hot/dev-server", `webpack-dev-server/client?hot=true&hostname=localhost&port=${env.PORT}` ].concat(config.entry[entryName]); } } config.plugins = [new webpack.HotModuleReplacementPlugin()].concat( config.plugins || [] ); delete config.chromeExtensionBoilerplate; var compiler = webpack(config); var server = new WebpackDevServer( { https: false, hot: false, client: false, host: "localhost", port: env.PORT, static: { directory: path.join(__dirname, "../build") }, devMiddleware: { publicPath: `http://localhost:${env.PORT}/`, writeToDisk: true }, headers: { "Access-Control-Allow-Origin": "*" }, allowedHosts: "all" }, compiler ); if (process.env.NODE_ENV === "development" && module.hot) { module.hot.accept(); } (async () => { await server.start(); })();