mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-28 12:28:12 +08:00
Explicit Browser Support (#1682)
* add FastestSmallestTextEncoderDecoder polyfill * remove nomodule from script import * add browserslist * add obsolete-webpack-plugin * switch out modern-browser for preset-env * add prompt on non target browser * propagate prod changes to dev * add core-js-3 and TextEncoder TextDecoder (#1671) * add script to remove react, style html * propagate changes to prod * add script-ext-html-webpack-plugin for async * more styling * add eslint-plugin-compat * extend compat plugin * add existing polyfills * add github fetch polyfill * add AbortController polyfill * change promptOnNonTargetBrowser to false * propagate * add browser links * prettier * add browser support to readme * move polyfills to webpack * remove CDN encoder polyfill * Add no Explorer support * fix incorrect package name * propagate changes * Update README.md Co-authored-by: Ambrose J Carr <ambrosejcarr@users.noreply.github.com> * add new deps * create shared config * swap out html-loader for filestream * sanitize template Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com> Co-authored-by: Ambrose J Carr <ambrosejcarr@users.noreply.github.com>
This commit is contained in:
co-authored by
Ambrose J Carr
Timmy Huang
parent
ce13a9c7ca
commit
8bbc183647
@@ -1,65 +1,32 @@
|
||||
// jshint esversion: 6
|
||||
const path = require("path");
|
||||
const webpack = require("webpack");
|
||||
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const FaviconsWebpackPlugin = require("favicons-webpack-plugin");
|
||||
const ScriptExtHtmlWebpackPlugin = require("script-ext-html-webpack-plugin");
|
||||
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||
|
||||
const { merge } = require("webpack-merge");
|
||||
|
||||
const sharedConfig = require("./webpack.config.shared");
|
||||
const babelOptions = require("../babel/babel.dev");
|
||||
|
||||
const src = path.resolve("src");
|
||||
const fonts = path.resolve("src/fonts");
|
||||
const nodeModules = path.resolve("node_modules");
|
||||
|
||||
const babelOptions = require("../babel/babel.dev");
|
||||
|
||||
module.exports = {
|
||||
const devConfig = {
|
||||
mode: "development",
|
||||
devtool: "eval",
|
||||
entry: ["./src/index"],
|
||||
output: {
|
||||
path: path.resolve("build"),
|
||||
pathinfo: true,
|
||||
filename: "static/js/bundle.js",
|
||||
publicPath: "/",
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.js$/,
|
||||
include: src,
|
||||
test: /\.jsx?$/,
|
||||
loader: "babel-loader",
|
||||
options: babelOptions,
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
include: src,
|
||||
exclude: [path.resolve(src, "index.css")],
|
||||
loader: [
|
||||
{
|
||||
loader: "style-loader",
|
||||
},
|
||||
{
|
||||
loader: "css-loader",
|
||||
options: {
|
||||
modules: {
|
||||
localIdentName: "[name]__[local]___[hash:base64:5]",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
test: /index\.css$/,
|
||||
include: [path.resolve(src, "index.css")],
|
||||
loader: [
|
||||
{
|
||||
loader: "style-loader",
|
||||
},
|
||||
{
|
||||
loader: "css-loader",
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
{ test: /\.json$/, include: [src, nodeModules], loader: "json-loader" },
|
||||
{
|
||||
test: /\.(jpg|png|gif|eot|svg|ttf|woff|woff2|otf)$/i,
|
||||
loader: "file-loader",
|
||||
@@ -88,6 +55,9 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
}),
|
||||
new MiniCssExtractPlugin({
|
||||
filename: "static/[name].css",
|
||||
}),
|
||||
new webpack.NoEmitOnErrorsPlugin(),
|
||||
new webpack.DefinePlugin({
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__: "({ isDisabled: true })",
|
||||
@@ -97,5 +67,10 @@ module.exports = {
|
||||
process.env.CXG_SERVER_PORT
|
||||
),
|
||||
}),
|
||||
new ScriptExtHtmlWebpackPlugin({
|
||||
async: "obsolete",
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
module.exports = merge(sharedConfig, devConfig);
|
||||
|
||||
Reference in New Issue
Block a user