mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2024-11-13 19:16:51 +08:00
6b49a3c5e7
* 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>
114 lines
2.9 KiB
JavaScript
114 lines
2.9 KiB
JavaScript
const { resolve } = require("path");
|
|
const CopyPlugin = require("copy-webpack-plugin");
|
|
const CircularDependencyPlugin = require("circular-dependency-plugin");
|
|
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
|
|
|
let circularImports = 0;
|
|
|
|
/** @type { import('webpack').Configuration } */
|
|
const BASE_CONFIG = {
|
|
entry: {
|
|
monkeytype: resolve(__dirname, "../src/scripts/index.ts"),
|
|
},
|
|
resolve: {
|
|
fallback: {
|
|
crypto: require.resolve("crypto-browserify"),
|
|
stream: require.resolve("stream-browserify"),
|
|
buffer: require.resolve("buffer"),
|
|
"bn.js": require.resolve("bn.js"),
|
|
},
|
|
alias: {
|
|
"bn.js": resolve(__dirname, "node_modules/bn.js/lib/bn.js"),
|
|
},
|
|
extensions: [".ts", ".js"],
|
|
},
|
|
output: {
|
|
filename: "./js/[name].[chunkhash:8].js",
|
|
path: resolve(__dirname, "../public/"),
|
|
clean: true,
|
|
},
|
|
module: {
|
|
rules: [
|
|
{ test: /\.tsx?$/, loader: "ts-loader" },
|
|
{
|
|
test: /\.s[ac]ss$/i,
|
|
use: [
|
|
MiniCssExtractPlugin.loader,
|
|
{
|
|
loader: "css-loader",
|
|
options: {
|
|
url: false,
|
|
},
|
|
},
|
|
{
|
|
loader: "sass-loader",
|
|
options: {
|
|
implementation: require("sass"),
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
optimization: {
|
|
splitChunks: {
|
|
chunks: "all",
|
|
minChunks: 1,
|
|
maxAsyncRequests: 30,
|
|
maxInitialRequests: 30,
|
|
enforceSizeThreshold: 50000,
|
|
cacheGroups: {
|
|
defaultVendors: {
|
|
name: "vendor",
|
|
test: /[\\/]node_modules[\\/]/,
|
|
priority: -10,
|
|
reuseExistingChunk: true,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins: [
|
|
new CircularDependencyPlugin({
|
|
exclude: /node_modules/,
|
|
include: /./,
|
|
failOnError: true,
|
|
allowAsyncCycles: false,
|
|
cwd: process.cwd(),
|
|
onStart() {
|
|
circularImports = 0;
|
|
},
|
|
onDetected({ paths }) {
|
|
circularImports++;
|
|
const joinedPaths = paths.join("\u001b[31m -> \u001b[0m");
|
|
console.log(`\u001b[31mCircular import found: \u001b[0m${joinedPaths}`);
|
|
},
|
|
onEnd() {
|
|
const colorCode = circularImports === 0 ? 32 : 31;
|
|
const countWithColor = `\u001b[${colorCode}m${circularImports}\u001b[0m`;
|
|
console.log(`Found ${countWithColor} circular imports`);
|
|
},
|
|
}),
|
|
new CopyPlugin({
|
|
patterns: [
|
|
{
|
|
from: resolve(__dirname, "../static"),
|
|
to: "./",
|
|
globOptions: {
|
|
ignore: ["**/index.html"],
|
|
},
|
|
},
|
|
],
|
|
}),
|
|
new HtmlWebpackPlugin({
|
|
filename: "./index.html",
|
|
template: resolve(__dirname, "../static/index.html"),
|
|
inject: "body",
|
|
}),
|
|
new MiniCssExtractPlugin({
|
|
filename: "./css/style.css",
|
|
}),
|
|
],
|
|
};
|
|
|
|
module.exports = BASE_CONFIG;
|