UNPKG

react-torch

Version:

A lib to server-side render with react.

74 lines (73 loc) 2.38 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var path_1 = __importDefault(require("path")); var esbuild_loader_1 = require("esbuild-loader"); var utils_1 = require("../../internal/utils"); var index_1 = require("../../index"); function getConfig(config) { var entry = { routes: config.src, document: config.document, }; if (config.middleware) { entry.middleware = config.middleware; } return { target: 'node', mode: 'production', context: config.src, entry: entry, output: { path: path_1.default.join(config.dir, index_1.TORCH_DIR, index_1.TORCH_SERVER_DIR), filename: '[name].js', libraryTarget: 'commonjs2', }, devtool: 'source-map', module: { strictExportPresence: true, rules: [ { test: /\.(js|jsx)$/, loader: 'esbuild-loader', options: { loader: 'jsx', target: 'es2015', jsxFactory: 'React.createElement', jsxFragment: 'React.Fragment', }, }, { test: /\.(ts|tsx)$/, loader: 'esbuild-loader', options: { loader: 'tsx', target: 'es2015', jsxFactory: 'React.createElement', jsxFragment: 'React.Fragment', }, }, ], }, optimization: { minimize: true, minimizer: [ new esbuild_loader_1.ESBuildMinifyPlugin({ target: 'es2015', }), ], }, performance: { hints: 'error', maxEntrypointSize: 400000, }, resolve: { modules: ['node_modules'], extensions: ['.js', '.jsx', '.json', '.mjs', '.ts', '.tsx'], }, externals: (0, utils_1.getExternals)(config.dir).concat('react-torch/client'), }; } exports.default = getConfig;