monkeytype/frontend/webpack/config.prod.js
Jack 6b49a3c5e7
v1.14.1 (#2745)
* updated default config to fix incorrect font button being highlighted

* Convert account controller to ts (#2731)

* using modular sdk

* removing last script

* replacing more code

* unused code

* removed unused code

* removed unused code

* importing auth

* using analytics controller

* importing auth and analytics

* importing auth

* updated git ignore

* fixed path

* removed live config from gitignore

* added error message when failing to initialize firebase

* added live config
using live config when building production

* removed unused code

* fixed incorrect function use

* added example config

* added a step to the contributing guide

* optional steps

* fixed path

* using example in source code so that github actions dont cry like little babies

* using function correctly

* using function correctly

* ignoring live

* removed

* added action webpack config

* bruce said "no-no"

This reverts commit 0a1e5e1660.

* Fix

* Add ignore

* updated instructions

* using correct functions

* using correct function

* missing parameter

* using correct function

* using correct function

* removed ts ignores

* using new functions

* removed refresh

* using new functions

* merge fix

* fixed merge

* regenereated lockfile

* using correct function

* defaulting to the email thats already entered

* storing default snap in a file

* optional parameter

* made parameters non optional

* converted file to ts

* removed unused parameters

* removed unnecessary optional chaining

* destructuring array

* added a function to create error message

* removed type

* removed duplicate gitignore

* removed no check

Co-authored-by: Bruception <bberr022@fiu.edu>

* Include dev branch in CI (#2739)

* Decreased filesize and introduced chunk splitting (#2732) Rizwanmustafa

* Decreased filesize

* Introduce splitting for vendors

* Added HTML webpack plugin for dynamic change of chunkhash and minification on production

* Added bundle analyzer plugin for webpack

* Prevent analyzer from opening on its own

* updated contributors list

* Package lock update

* Created separate webpack config for analysing bundle

* Standardize paths in webpack base config

* Added devtool in dev webpack config

* Minor issues

* Based audit config off of the production config, saved exact packages and renamed some constants

* Saved exact version of packages

* Rename Config

* Added intellisense for webpack configs

* Added script for using audit config

* Simple changes

* Removed unnecessary cd and replaced webpack with npx wepback

* added npm script accessible from root dir
since audit is now a separate script, reenabled auto opening

Co-authored-by: Miodec <bartnikjack@gmail.com>

* Enable live reloading (#2738) bruception

* Enable live reloading

* Update scripts and documentation

* Fix resolve

* Use resolve

* Fix layoutfluid timer warnings (#2740) Ferotiq

* reduced date-fns import size

* using inline source map so that code is debuggable

* removed tinycolor2 dependency

* Migrate Chart.js to 3.7.1 (#2735) DanGonite57

* Migrate Chart.js to 3.7.1

* Show funbox label with StartGraphsAtZero disabled

* Fix label positioners

* Include dev branch in CI (#2739)

* Remove draw animation

* Avoid RangeError with no data

* Disable account chart initial render animation

* Add temporary type assertion for options.animation

* Test disabling animations via updateColors

* Test re-update chart after resetting animation duration

* Test dataset specific animation duration

* Disable animations for now

* Remove unused annotation

Co-authored-by: Bruce Berrios <58147810+Bruception@users.noreply.github.com>

* installed dev dependency to stop audit from complaining

* removed mr mime dev dependency
regenerate package-lock

* not updating live burst when its disabled

* using vanilla js to increase performance

* updating chart once instead of 3 times

* made log async

* increased minimum wordset length to disable repeating words to 4
this stops infinite A B C sequences
closes #2742

* increased tick padding

* added some padding to stop data points from being cut off

* fixed account graphs not being responsive

* removed unnecessary style

* updated button active color

* Server version (#2746) Bruception

* Add server version

* typo

* Fix logic

* Moved to utility

* Actually save version

* Move logic order

* updated metric name

* removed unnecessary else

Co-authored-by: Bruception <bberr022@fiu.edu>
Co-authored-by: Bruce Berrios <58147810+Bruception@users.noreply.github.com>
Co-authored-by: Rizwan Mustafa <rizwanmustafa0000@gmail.com>
Co-authored-by: Evan <64989416+Ferotiq@users.noreply.github.com>
Co-authored-by: DanGonite57 <danzinc57@gmail.com>
2022-03-21 21:22:47 +01:00

83 lines
2.1 KiB
JavaScript

const { merge } = require("webpack-merge");
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
const HtmlMinimizerPlugin = require("html-minimizer-webpack-plugin");
const JsonMinimizerPlugin = require("json-minimizer-webpack-plugin");
const BASE_CONFIG = require("./config.base");
function pad(numbers, maxLength, fillString) {
return numbers.map((number) =>
number.toString().padStart(maxLength, fillString)
);
}
/** @type { import('webpack').Configuration } */
const PRODUCTION_CONFIG = {
mode: "production",
module: {
rules: [
{
test: /version\.ts$/,
loader: "string-replace-loader",
options: {
search: /^export const CLIENT_VERSION =.*/,
replace() {
const date = new Date();
const versionPrefix = pad(
[date.getFullYear(), date.getMonth() + 1, date.getDate()],
2,
"0"
).join(".");
const versionSuffix = pad(
[date.getHours(), date.getMinutes()],
2,
"0"
).join(".");
const version = [versionPrefix, versionSuffix].join("_");
return `export const CLIENT_VERSION = "${version}";`;
},
flags: "g",
},
},
{
test: /firebase\.ts$/,
loader: "string-replace-loader",
options: {
search: /\.\/constants\/firebase-config/,
replace() {
return "./constants/firebase-config-live";
},
flags: "g",
},
},
{
test: /\.m?js$/,
exclude: /(node_modules)/,
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"],
plugins: [
"@babel/plugin-transform-runtime",
"@babel/plugin-transform-modules-commonjs",
],
},
},
},
],
},
optimization: {
minimize: true,
minimizer: [
`...`,
new HtmlMinimizerPlugin(),
new JsonMinimizerPlugin(),
new CssMinimizerPlugin(),
],
},
};
module.exports = merge(BASE_CONFIG, PRODUCTION_CONFIG);