Build: Enable persistent cache for faster Webpack builds (#41430)

* build(webpack): enable caching for development and production builds

* build(webpack): introduce unminified production build script

* build(typescript): introduce incremental flag to cache typechecking

* chore(git): ignore typescript cache file

* chore(webpack): bump dependencies to latest
This commit is contained in:
Jack Westbrook 2021-11-11 14:32:34 +01:00 committed by GitHub
parent 5cc9ff8b28
commit 5fad5511e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 302 additions and 175 deletions

1
.gitignore vendored
View File

@ -7,6 +7,7 @@ awsconfig
/.awcache
/dist
/public/build
public/dist/tsconfig.tsbuildinfo
/public/views/index.html
/public/views/error.html
/emails/dist

View File

@ -8,6 +8,7 @@
"scripts": {
"api-tests": "jest --notify --watch --config=devenv/e2e-api-tests/jest.js",
"build": "webpack --config scripts/webpack/webpack.prod.js",
"build:nominify": "webpack --config scripts/webpack/webpack.prod.js --env noMinify=1",
"dev": "webpack --progress --color --config scripts/webpack/webpack.dev.js",
"e2e": "./e2e/start-and-run-suite",
"e2e:debug": "./e2e/start-and-run-suite debug",
@ -81,7 +82,7 @@
"@grafana/tsconfig": "^1.0.0-rc1",
"@kusto/monaco-kusto": "4.0.6",
"@microsoft/api-extractor": "7.18.16",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.0-rc.6",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.1",
"@rtsao/plugin-proposal-class-properties": "7.0.1-patch.1",
"@swc/core": "1.2.103",
"@swc/helpers": "0.2.13",
@ -150,8 +151,8 @@
"babel-loader": "8.2.2",
"babel-plugin-angularjs-annotate": "0.10.0",
"copy-webpack-plugin": "9.0.1",
"css-loader": "6.4.0",
"css-minimizer-webpack-plugin": "^3.1.1",
"css-loader": "6.5.1",
"css-minimizer-webpack-plugin": "^3.1.3",
"cypress": "8.4.1",
"enzyme": "3.11.0",
"enzyme-to-json": "3.4.4",
@ -166,9 +167,9 @@
"eslint-plugin-prettier": "4.0.0",
"eslint-plugin-react": "7.22.0",
"eslint-plugin-react-hooks": "4.2.0",
"eslint-webpack-plugin": "3.0.1",
"eslint-webpack-plugin": "3.1.0",
"expect.js": "0.3.1",
"expose-loader": "3.0.0",
"expose-loader": "3.1.0",
"file-loader": "6.2.0",
"fork-ts-checker-webpack-plugin": "6.4.0",
"fs-extra": "10.0.0",
@ -176,7 +177,7 @@
"glob": "7.1.6",
"html-loader": "3.0.1",
"html-webpack-harddisk-plugin": "2.0.0",
"html-webpack-plugin": "5.3.2",
"html-webpack-plugin": "5.5.0",
"http-server": "14.0.0",
"husky": "^7.0.0",
"iconscout-unicons-tarball": "https://github.com/grafana/icons/tarball/63056cd833ba7ee4e94904492b3a8c0cabc38d28",
@ -187,13 +188,13 @@
"jest-matcher-utils": "26.0.0",
"lerna": "^4.0.0",
"lint-staged": "11.2.6",
"mini-css-extract-plugin": "2.4.2",
"mini-css-extract-plugin": "2.4.4",
"module-alias": "2.2.2",
"mutationobserver-shim": "0.3.3",
"ngtemplate-loader": "2.1.0",
"nodemon": "2.0.2",
"postcss": "8.3.6",
"postcss-loader": "6.1.1",
"postcss-loader": "6.2.0",
"postcss-reporter": "7.0.2",
"prettier": "2.2.1",
"raw-loader": "4.0.2",
@ -205,25 +206,25 @@
"rimraf": "3.0.1",
"rxjs-spy": "8.0.0",
"sass": "1.32.13",
"sass-loader": "12.1.0",
"sass-loader": "12.3.0",
"sinon": "8.1.1",
"style-loader": "3.3.0",
"style-loader": "3.3.1",
"stylelint": "13.13.1",
"stylelint-config-prettier": "9.0.3",
"stylelint-config-sass-guidelines": "8.0.0",
"terser-webpack-plugin": "5.2.4",
"terser-webpack-plugin": "5.2.5",
"testing-library-selector": "^0.1.3",
"ts-jest": "26.4.4",
"ts-loader": "8.3.0",
"ts-loader": "9.2.6",
"ts-node": "10.4.0",
"tslib": "2.3.1",
"typescript": "4.4.3",
"wait-on": "6.0.0",
"webpack": "5.58.1",
"webpack-bundle-analyzer": "4.4.2",
"webpack": "5.63.0",
"webpack-bundle-analyzer": "4.5.0",
"webpack-cleanup-plugin": "0.5.1",
"webpack-cli": "4.9.0",
"webpack-dev-server": "4.3.1",
"webpack-cli": "4.9.1",
"webpack-dev-server": "4.4.0",
"webpack-merge": "5.8.0"
},
"dependencies": {

View File

@ -59,6 +59,15 @@ module.exports = (env = {}) =>
splitChunks: false,
},
// enable persistent cache for faster cold starts
cache: {
type: 'filesystem',
name: 'grafana-default-development',
buildDependencies: {
config: [__filename],
},
},
plugins: [
parseInt(env.noTsCheck, 10)
? new DefinePlugin({}) // bogus plugin to satisfy webpack API

View File

@ -9,68 +9,80 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
const getBabelConfig = require('./babel.config');
module.exports = merge(common, {
mode: 'production',
devtool: 'source-map',
module.exports = (env = {}) =>
merge(common, {
mode: 'production',
devtool: 'source-map',
entry: {
dark: './public/sass/grafana.dark.scss',
light: './public/sass/grafana.light.scss',
},
module: {
// Note: order is bottom-to-top and/or right-to-left
rules: [
{
test: /\.tsx?$/,
exclude: /node_modules/,
use: [
{
loader: 'babel-loader',
options: getBabelConfig(),
},
],
},
require('./sass.rule.js')({
sourceMap: false,
preserveUrl: false,
}),
],
},
optimization: {
nodeEnv: 'production',
minimizer: [
new TerserPlugin({
parallel: false,
}),
new CssMinimizerPlugin(),
],
},
plugins: [
new MiniCssExtractPlugin({
filename: 'grafana.[name].[fullhash].css',
}),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/error.html'),
template: path.resolve(__dirname, '../../public/views/error-template.html'),
inject: false,
excludeChunks: ['dark', 'light'],
chunksSortMode: 'none',
}),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/index.html'),
template: path.resolve(__dirname, '../../public/views/index-template.html'),
inject: false,
excludeChunks: ['manifest', 'dark', 'light'],
chunksSortMode: 'none',
}),
function () {
this.hooks.done.tap('Done', function (stats) {
if (stats.compilation.errors && stats.compilation.errors.length) {
console.log(stats.compilation.errors);
process.exit(1);
}
});
entry: {
dark: './public/sass/grafana.dark.scss',
light: './public/sass/grafana.light.scss',
},
],
});
module: {
// Note: order is bottom-to-top and/or right-to-left
rules: [
{
test: /\.tsx?$/,
exclude: /node_modules/,
use: [
{
loader: 'babel-loader',
options: getBabelConfig(),
},
],
},
require('./sass.rule.js')({
sourceMap: false,
preserveUrl: false,
}),
],
},
optimization: {
nodeEnv: 'production',
minimize: parseInt(env.noMinify, 10) !== 1,
minimizer: [
new TerserPlugin({
parallel: false,
}),
new CssMinimizerPlugin(),
],
},
// enable persistent cache for faster builds
cache: {
type: 'filesystem',
name: 'grafana-default-production',
buildDependencies: {
config: [__filename],
},
},
plugins: [
new MiniCssExtractPlugin({
filename: 'grafana.[name].[fullhash].css',
}),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/error.html'),
template: path.resolve(__dirname, '../../public/views/error-template.html'),
inject: false,
excludeChunks: ['dark', 'light'],
chunksSortMode: 'none',
}),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/index.html'),
template: path.resolve(__dirname, '../../public/views/index-template.html'),
inject: false,
excludeChunks: ['manifest', 'dark', 'light'],
chunksSortMode: 'none',
}),
function () {
this.hooks.done.tap('Done', function (stats) {
if (stats.compilation.errors && stats.compilation.errors.length) {
console.log(stats.compilation.errors);
process.exit(1);
}
});
},
],
});

View File

@ -7,7 +7,8 @@
"allowJs": true,
"strict": true,
"resolveJsonModule": true,
"useUnknownInCatchVariables": false
"useUnknownInCatchVariables": false,
"incremental": true
},
"extends": "@grafana/tsconfig/base.json",
"include": [

293
yarn.lock
View File

@ -4716,7 +4716,7 @@ __metadata:
languageName: node
linkType: hard
"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.0-rc.6":
"@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.1":
version: 0.5.1
resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.1"
dependencies:
@ -7708,7 +7708,7 @@ __metadata:
languageName: node
linkType: hard
"@types/eslint@npm:*, @types/eslint@npm:^7.2.14":
"@types/eslint@npm:*, @types/eslint@npm:^7.28.2":
version: 7.28.2
resolution: "@types/eslint@npm:7.28.2"
dependencies:
@ -12086,7 +12086,7 @@ __metadata:
languageName: node
linkType: hard
"chokidar@npm:>=2.0.0 <4.0.0, chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.2.2, chokidar@npm:^3.4.1, chokidar@npm:^3.4.2, chokidar@npm:^3.5.1":
"chokidar@npm:>=2.0.0 <4.0.0, chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.2.2, chokidar@npm:^3.4.1, chokidar@npm:^3.4.2, chokidar@npm:^3.5.2":
version: 3.5.2
resolution: "chokidar@npm:3.5.2"
dependencies:
@ -12587,7 +12587,7 @@ __metadata:
languageName: node
linkType: hard
"commander@npm:^6.2.0, commander@npm:^6.2.1":
"commander@npm:^6.2.1":
version: 6.2.1
resolution: "commander@npm:6.2.1"
checksum: d7090410c0de6bc5c67d3ca41c41760d6d268f3c799e530aafb73b7437d1826bbf0d2a3edac33f8b57cc9887b4a986dce307fa5557e109be40eadb7c43b21742
@ -13402,6 +13402,24 @@ __metadata:
languageName: node
linkType: hard
"css-loader@npm:6.5.1":
version: 6.5.1
resolution: "css-loader@npm:6.5.1"
dependencies:
icss-utils: ^5.1.0
postcss: ^8.2.15
postcss-modules-extract-imports: ^3.0.0
postcss-modules-local-by-default: ^4.0.0
postcss-modules-scope: ^3.0.0
postcss-modules-values: ^4.0.0
postcss-value-parser: ^4.1.0
semver: ^7.3.5
peerDependencies:
webpack: ^5.0.0
checksum: 5a3bedecb468038f09673d25c32d8db5b0baa6c38820253c54ce4c56c27a2250d5d5b4bace77dd5e20ba0a569604eb759362bab4e3128e7db2229e40857d4aca
languageName: node
linkType: hard
"css-loader@npm:^3.6.0":
version: 3.6.0
resolution: "css-loader@npm:3.6.0"
@ -13445,13 +13463,12 @@ __metadata:
languageName: node
linkType: hard
"css-minimizer-webpack-plugin@npm:^3.1.1":
version: 3.1.1
resolution: "css-minimizer-webpack-plugin@npm:3.1.1"
"css-minimizer-webpack-plugin@npm:^3.1.1, css-minimizer-webpack-plugin@npm:^3.1.3":
version: 3.1.3
resolution: "css-minimizer-webpack-plugin@npm:3.1.3"
dependencies:
cssnano: ^5.0.6
jest-worker: ^27.0.2
p-limit: ^3.0.2
postcss: ^8.3.5
schema-utils: ^3.1.0
serialize-javascript: ^6.0.0
@ -13465,7 +13482,7 @@ __metadata:
optional: true
esbuild:
optional: true
checksum: 9f0c7ec9367c13dc1fa22847949d33237bcf50f55941727608871af0ccae8ed5e281c2e99622d4dc4fedb696def40af03cb8be9be2d44bf15eb521dee938ef92
checksum: 7169f4c5bc269c8683bccc0e06a64783de2d3c7163357f7b195d60b66f9ba7a381542194125a3fc554ee72bcc9dfa4ebf9d0e5fa77094833e30a59fa917f8c3e
languageName: node
linkType: hard
@ -15309,7 +15326,7 @@ __metadata:
languageName: node
linkType: hard
"enhanced-resolve@npm:^5.8.0, enhanced-resolve@npm:^5.8.3":
"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.8.0, enhanced-resolve@npm:^5.8.3":
version: 5.8.3
resolution: "enhanced-resolve@npm:5.8.3"
dependencies:
@ -15854,19 +15871,19 @@ __metadata:
languageName: node
linkType: hard
"eslint-webpack-plugin@npm:3.0.1":
version: 3.0.1
resolution: "eslint-webpack-plugin@npm:3.0.1"
"eslint-webpack-plugin@npm:3.1.0":
version: 3.1.0
resolution: "eslint-webpack-plugin@npm:3.1.0"
dependencies:
"@types/eslint": ^7.2.14
jest-worker: ^27.0.6
"@types/eslint": ^7.28.2
jest-worker: ^27.3.1
micromatch: ^4.0.4
normalize-path: ^3.0.0
schema-utils: ^3.1.0
schema-utils: ^3.1.1
peerDependencies:
eslint: ^7.0.0
eslint: ^7.0.0 || ^8.0.0
webpack: ^5.0.0
checksum: ef9241907d7b99eb7edad48e005c49aa73124875f9c910bfde1645dfe853f2cbbfce363c80b2c2157d00a23545caefa74c138a61c1deb7f8666ee3569a025549
checksum: c6858e5f28d0ca5c5982a7a00cad99a25a8e117f90a662c5f550722f31ef8057ef1cf0cf1b89da249032437a61d917ab7623cb1ff4677cb4886aa2b010ecfdb0
languageName: node
linkType: hard
@ -16280,6 +16297,15 @@ __metadata:
languageName: node
linkType: hard
"expose-loader@npm:3.1.0":
version: 3.1.0
resolution: "expose-loader@npm:3.1.0"
peerDependencies:
webpack: ^5.0.0
checksum: c9bc3c220f9f5e46f7897a8a884fbe3b494b7e2a7fca454dc4642ad73664367c2501dfdf8476477a1ee3fd6c32d18aae1187e428c03f310de2f465eb4157d33c
languageName: node
linkType: hard
"express@npm:^4.17.1":
version: 4.17.1
resolution: "express@npm:4.17.1"
@ -17892,7 +17918,7 @@ __metadata:
"@opentelemetry/api": 1.0.2
"@opentelemetry/exporter-collector": 0.23.0
"@opentelemetry/semantic-conventions": 1.0.0
"@pmmmwh/react-refresh-webpack-plugin": ^0.5.0-rc.6
"@pmmmwh/react-refresh-webpack-plugin": ^0.5.1
"@popperjs/core": 2.5.4
"@react-aria/focus": 3.5.0
"@react-aria/overlays": 3.7.2
@ -17991,8 +18017,8 @@ __metadata:
common-tags: ^1.8.0
copy-webpack-plugin: 9.0.1
core-js: 3.10.0
css-loader: 6.4.0
css-minimizer-webpack-plugin: ^3.1.1
css-loader: 6.5.1
css-minimizer-webpack-plugin: ^3.1.3
cypress: 8.4.1
d3: 5.15.0
d3-force: ^2.1.1
@ -18014,10 +18040,10 @@ __metadata:
eslint-plugin-prettier: 4.0.0
eslint-plugin-react: 7.22.0
eslint-plugin-react-hooks: 4.2.0
eslint-webpack-plugin: 3.0.1
eslint-webpack-plugin: 3.1.0
eventemitter3: 4.0.0
expect.js: 0.3.1
expose-loader: 3.0.0
expose-loader: 3.1.0
fast-deep-equal: ^3.1.3
fast-json-patch: 3.1.0
fast-text-encoding: ^1.0.0
@ -18031,7 +18057,7 @@ __metadata:
hoist-non-react-statics: 3.3.2
html-loader: 3.0.1
html-webpack-harddisk-plugin: 2.0.0
html-webpack-plugin: 5.3.2
html-webpack-plugin: 5.5.0
http-server: 14.0.0
husky: ^7.0.0
iconscout-unicons-tarball: "https://github.com/grafana/icons/tarball/63056cd833ba7ee4e94904492b3a8c0cabc38d28"
@ -18054,7 +18080,7 @@ __metadata:
logfmt: ^1.3.2
lru-cache: 6.0.0
memoize-one: 6.0.0
mini-css-extract-plugin: 2.4.2
mini-css-extract-plugin: 2.4.4
module-alias: 2.2.2
moment: 2.29.1
moment-timezone: 0.5.33
@ -18070,7 +18096,7 @@ __metadata:
papaparse: 5.3.0
pluralize: ^8.0.0
postcss: 8.3.6
postcss-loader: 6.1.1
postcss-loader: 6.2.0
postcss-reporter: 7.0.2
prettier: 2.2.1
prismjs: 1.25.0
@ -18117,26 +18143,26 @@ __metadata:
rxjs: 7.3.0
rxjs-spy: 8.0.0
sass: 1.32.13
sass-loader: 12.1.0
sass-loader: 12.3.0
search-query-parser: 1.5.4
selecto: 1.13.0
semver: ^7.1.3
sinon: 8.1.1
slate: 0.47.8
slate-plain-serializer: 0.7.10
style-loader: 3.3.0
style-loader: 3.3.1
stylelint: 13.13.1
stylelint-config-prettier: 9.0.3
stylelint-config-sass-guidelines: 8.0.0
symbol-observable: 1.2.0
terser-webpack-plugin: 5.2.4
terser-webpack-plugin: 5.2.5
test: "link:./public/test"
testing-library-selector: ^0.1.3
tether: 1.4.7
tether-drop: "https://github.com/torkelo/drop"
tinycolor2: 1.4.1
ts-jest: 26.4.4
ts-loader: 8.3.0
ts-loader: 9.2.6
ts-node: 10.4.0
tslib: 2.3.1
typescript: 4.4.3
@ -18145,11 +18171,11 @@ __metadata:
vendor: "link:./public/vendor"
visjs-network: 4.25.0
wait-on: 6.0.0
webpack: 5.58.1
webpack-bundle-analyzer: 4.4.2
webpack: 5.63.0
webpack-bundle-analyzer: 4.5.0
webpack-cleanup-plugin: 0.5.1
webpack-cli: 4.9.0
webpack-dev-server: 4.3.1
webpack-cli: 4.9.1
webpack-dev-server: 4.4.0
webpack-merge: 5.8.0
whatwg-fetch: 3.1.0
languageName: unknown
@ -18703,18 +18729,18 @@ __metadata:
languageName: node
linkType: hard
"html-webpack-plugin@npm:5.3.2":
version: 5.3.2
resolution: "html-webpack-plugin@npm:5.3.2"
"html-webpack-plugin@npm:5.5.0, html-webpack-plugin@npm:^5.0.0":
version: 5.5.0
resolution: "html-webpack-plugin@npm:5.5.0"
dependencies:
"@types/html-minifier-terser": ^5.0.0
html-minifier-terser: ^5.0.1
"@types/html-minifier-terser": ^6.0.0
html-minifier-terser: ^6.0.2
lodash: ^4.17.21
pretty-error: ^3.0.4
pretty-error: ^4.0.0
tapable: ^2.0.0
peerDependencies:
webpack: ^5.20.0
checksum: 9dd91c59fc795abfb484c0e311a72260899121662747ba2131259813e4c7b25066b2daf9fd609228c2cd02f2fa5bfe7eeabb99a756729533aa70bdb07b77ebba
checksum: f3d84d0df71fe2f5bac533cc74dce41ab058558cdcc6ff767d166a2abf1cf6fb8491d54d60ddbb34e95c00394e379ba52e0468e0284d1d0cc6a42987056e8219
languageName: node
linkType: hard
@ -18754,21 +18780,6 @@ __metadata:
languageName: node
linkType: hard
"html-webpack-plugin@npm:^5.0.0":
version: 5.5.0
resolution: "html-webpack-plugin@npm:5.5.0"
dependencies:
"@types/html-minifier-terser": ^6.0.0
html-minifier-terser: ^6.0.2
lodash: ^4.17.21
pretty-error: ^4.0.0
tapable: ^2.0.0
peerDependencies:
webpack: ^5.20.0
checksum: f3d84d0df71fe2f5bac533cc74dce41ab058558cdcc6ff767d166a2abf1cf6fb8491d54d60ddbb34e95c00394e379ba52e0468e0284d1d0cc6a42987056e8219
languageName: node
linkType: hard
"htmlparser2@npm:^3.10.0":
version: 3.10.1
resolution: "htmlparser2@npm:3.10.1"
@ -21024,7 +21035,7 @@ __metadata:
languageName: node
linkType: hard
"jest-worker@npm:^27.0.2, jest-worker@npm:^27.0.6":
"jest-worker@npm:^27.0.2, jest-worker@npm:^27.0.6, jest-worker@npm:^27.3.1":
version: 27.3.1
resolution: "jest-worker@npm:27.3.1"
dependencies:
@ -22834,14 +22845,14 @@ __metadata:
languageName: node
linkType: hard
"mini-css-extract-plugin@npm:2.4.2":
version: 2.4.2
resolution: "mini-css-extract-plugin@npm:2.4.2"
"mini-css-extract-plugin@npm:2.4.4":
version: 2.4.4
resolution: "mini-css-extract-plugin@npm:2.4.4"
dependencies:
schema-utils: ^3.1.0
peerDependencies:
webpack: ^5.0.0
checksum: c413b4fd0ba0ff398b58ddecc0e805c254c2253e6536627469408b29ea1eb9f5b38c610a3be505c6ca9096a1bb5ed4faf8c6ff8c387b2b4891c8e38fdc8f719b
checksum: afc3c2d364096b3ec79c910f0b0e0f62b6861b84e0bcdf8c05b267e529b8f4e450984b0fc7afcd1e87616cbefcd688eeef1c41ce3c892a9c313f4dc9132189fb
languageName: node
linkType: hard
@ -25482,6 +25493,20 @@ __metadata:
languageName: node
linkType: hard
"postcss-loader@npm:6.2.0":
version: 6.2.0
resolution: "postcss-loader@npm:6.2.0"
dependencies:
cosmiconfig: ^7.0.0
klona: ^2.0.4
semver: ^7.3.5
peerDependencies:
postcss: ^7.0.0 || ^8.0.1
webpack: ^5.0.0
checksum: 240a807b696ceab4fac88ca713a9264a322af49d021f5056da8d6ce00307d80d8ad429595221498b6c4d44edaf825b54e8d84b4eb7e517fec41e2909d4a5f75d
languageName: node
linkType: hard
"postcss-loader@npm:^4.2.0":
version: 4.3.0
resolution: "postcss-loader@npm:4.3.0"
@ -26354,16 +26379,6 @@ __metadata:
languageName: node
linkType: hard
"pretty-error@npm:^3.0.4":
version: 3.0.4
resolution: "pretty-error@npm:3.0.4"
dependencies:
lodash: ^4.17.20
renderkid: ^2.0.6
checksum: c985666a1f471fd8d5a7b6f1f2154f947aff0a2c60c5d5a4513ff152a91d3296e5849d2fa3914be1a22b57db7580a968c25ab720b0afd1cc8d64de670153dc61
languageName: node
linkType: hard
"pretty-error@npm:^4.0.0":
version: 4.0.0
resolution: "pretty-error@npm:4.0.0"
@ -28619,7 +28634,7 @@ __metadata:
languageName: node
linkType: hard
"renderkid@npm:^2.0.4, renderkid@npm:^2.0.6":
"renderkid@npm:^2.0.4":
version: 2.0.7
resolution: "renderkid@npm:2.0.7"
dependencies:
@ -29298,6 +29313,28 @@ __metadata:
languageName: node
linkType: hard
"sass-loader@npm:12.3.0":
version: 12.3.0
resolution: "sass-loader@npm:12.3.0"
dependencies:
klona: ^2.0.4
neo-async: ^2.6.2
peerDependencies:
fibers: ">= 3.1.0"
node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0
sass: ^1.3.0
webpack: ^5.0.0
peerDependenciesMeta:
fibers:
optional: true
node-sass:
optional: true
sass:
optional: true
checksum: b755e6d5ceddb70d54334b53f70546b4afc9af5f9704cc0e2666894d0568bdaeccb2b07056bd35465c22c51c55e1d790023b32b9aa0977080403036ef6c47b29
languageName: node
linkType: hard
"sass-loader@npm:8.0.2":
version: 8.0.2
resolution: "sass-loader@npm:8.0.2"
@ -30909,6 +30946,15 @@ __metadata:
languageName: node
linkType: hard
"style-loader@npm:3.3.1":
version: 3.3.1
resolution: "style-loader@npm:3.3.1"
peerDependencies:
webpack: ^5.0.0
checksum: 470feef680f59e2fce4d6601b5c55b88c01ad8d1dd693c528ffd591ff5fd7c01a4eff3bdbe62f26f847d6bd2430c9ab594be23307cfe7a3446ab236683f0d066
languageName: node
linkType: hard
"style-loader@npm:^1.3.0":
version: 1.3.0
resolution: "style-loader@npm:1.3.0"
@ -31384,6 +31430,28 @@ __metadata:
languageName: node
linkType: hard
"terser-webpack-plugin@npm:5.2.5":
version: 5.2.5
resolution: "terser-webpack-plugin@npm:5.2.5"
dependencies:
jest-worker: ^27.0.6
schema-utils: ^3.1.1
serialize-javascript: ^6.0.0
source-map: ^0.6.1
terser: ^5.7.2
peerDependencies:
webpack: ^5.1.0
peerDependenciesMeta:
"@swc/core":
optional: true
esbuild:
optional: true
uglify-js:
optional: true
checksum: 2a9616466becf2e968bfc0f585678581b5c83a9dd96723c49329b11a8ccc1aaa41701877fbad2b0ce570364fde58c558fb6e7e053171512624e644b99b2f83af
languageName: node
linkType: hard
"terser-webpack-plugin@npm:^1.4.3":
version: 1.4.5
resolution: "terser-webpack-plugin@npm:1.4.5"
@ -31973,19 +32041,18 @@ __metadata:
languageName: node
linkType: hard
"ts-loader@npm:8.3.0":
version: 8.3.0
resolution: "ts-loader@npm:8.3.0"
"ts-loader@npm:9.2.6":
version: 9.2.6
resolution: "ts-loader@npm:9.2.6"
dependencies:
chalk: ^4.1.0
enhanced-resolve: ^4.0.0
loader-utils: ^2.0.0
enhanced-resolve: ^5.0.0
micromatch: ^4.0.0
semver: ^7.3.4
peerDependencies:
typescript: "*"
webpack: "*"
checksum: 93dd15b553a2621f969c4c834e7eb085b9b079adb702cba68a7ee516bcd2c67620e62cc5a8c57345e90c644ff6b689ee5a09f0702e440284fdfe872e9aaeefd8
webpack: ^5.0.0
checksum: 309d8fb6348c0c3a7166d42c1238c585ede00f816155b24217dbca489406a72409395d7954bc5801ddb9ca71c71e7e0b2375dbc342337e0ab1a461944598a7fe
languageName: node
linkType: hard
@ -32962,7 +33029,7 @@ __metadata:
languageName: node
linkType: hard
"v8-compile-cache@npm:^2.0.3, v8-compile-cache@npm:^2.2.0, v8-compile-cache@npm:^2.3.0":
"v8-compile-cache@npm:^2.0.3, v8-compile-cache@npm:^2.3.0":
version: 2.3.0
resolution: "v8-compile-cache@npm:2.3.0"
checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e
@ -33263,14 +33330,14 @@ __metadata:
languageName: node
linkType: hard
"webpack-bundle-analyzer@npm:4.4.2":
version: 4.4.2
resolution: "webpack-bundle-analyzer@npm:4.4.2"
"webpack-bundle-analyzer@npm:4.5.0":
version: 4.5.0
resolution: "webpack-bundle-analyzer@npm:4.5.0"
dependencies:
acorn: ^8.0.4
acorn-walk: ^8.0.0
chalk: ^4.1.0
commander: ^6.2.0
commander: ^7.2.0
gzip-size: ^6.0.0
lodash: ^4.17.20
opener: ^1.5.2
@ -33278,7 +33345,7 @@ __metadata:
ws: ^7.3.1
bin:
webpack-bundle-analyzer: lib/bin/analyzer.js
checksum: 6d7957a87ee16f6b87e65f85e8b9a40998aefcddf3e15215fd4bc1ddf8c332ab4706f2f4deb0b3a0483eb27d0dae381db1b82b2ec34136e2ad0e651714b260fb
checksum: 158e96810ec213d5665ca1c0b257097db44e1f11c4befefab8352b9e5b10890fcb3e3fc1f7bb400dd58762a8edce5621c92afeca86eb4687d2eb64e93186bfcb
languageName: node
linkType: hard
@ -33293,9 +33360,9 @@ __metadata:
languageName: node
linkType: hard
"webpack-cli@npm:4.9.0":
version: 4.9.0
resolution: "webpack-cli@npm:4.9.0"
"webpack-cli@npm:4.9.1":
version: 4.9.1
resolution: "webpack-cli@npm:4.9.1"
dependencies:
"@discoveryjs/json-ext": ^0.5.0
"@webpack-cli/configtest": ^1.1.0
@ -33308,7 +33375,6 @@ __metadata:
import-local: ^3.0.2
interpret: ^2.2.0
rechoir: ^0.7.0
v8-compile-cache: ^2.2.0
webpack-merge: ^5.7.3
peerDependencies:
webpack: 4.x.x || 5.x.x
@ -33323,7 +33389,7 @@ __metadata:
optional: true
bin:
webpack-cli: bin/cli.js
checksum: bc378a23773510c9a6a58669fe782f7849b50cbb78a948723583e7b059eae2f49888eb6dba398361af916b3d56195d99cdb494a595a2ecc95a5638e99b59c923
checksum: 2aff0349c15e54d616e1fd6dc1f59be16ec1a630f652f948c0b4b108776d1889446e3498e83d9d514bf1b28c5125a8b87c4aeb5dceb41b593ba90765af673c4f
languageName: node
linkType: hard
@ -33373,13 +33439,13 @@ __metadata:
languageName: node
linkType: hard
"webpack-dev-server@npm:4.3.1":
version: 4.3.1
resolution: "webpack-dev-server@npm:4.3.1"
"webpack-dev-server@npm:4.4.0":
version: 4.4.0
resolution: "webpack-dev-server@npm:4.4.0"
dependencies:
ansi-html-community: ^0.0.8
bonjour: ^3.5.0
chokidar: ^3.5.1
chokidar: ^3.5.2
colorette: ^2.0.10
compression: ^1.7.4
connect-history-api-fallback: ^1.6.0
@ -33409,7 +33475,7 @@ __metadata:
optional: true
bin:
webpack-dev-server: bin/webpack-dev-server.js
checksum: ce9d054c3de335df4cca4759aaff3a5291487c906b15bd3bb6e41de86e3784b307ae1e2cdd6403424567b0645a0dc6a9dd21b4839ba86176d5097664474d2b68
checksum: c317b5029b6f8caad47a257edb68b2dad5cd7087f4481ebda3359701c981037ce387486bdf992fb6e23213685d8e25e306b25a62541a42d0154562b1999563a5
languageName: node
linkType: hard
@ -33644,6 +33710,43 @@ __metadata:
languageName: node
linkType: hard
"webpack@npm:5.63.0":
version: 5.63.0
resolution: "webpack@npm:5.63.0"
dependencies:
"@types/eslint-scope": ^3.7.0
"@types/estree": ^0.0.50
"@webassemblyjs/ast": 1.11.1
"@webassemblyjs/wasm-edit": 1.11.1
"@webassemblyjs/wasm-parser": 1.11.1
acorn: ^8.4.1
acorn-import-assertions: ^1.7.6
browserslist: ^4.14.5
chrome-trace-event: ^1.0.2
enhanced-resolve: ^5.8.3
es-module-lexer: ^0.9.0
eslint-scope: 5.1.1
events: ^3.2.0
glob-to-regexp: ^0.4.1
graceful-fs: ^4.2.4
json-parse-better-errors: ^1.0.2
loader-runner: ^4.2.0
mime-types: ^2.1.27
neo-async: ^2.6.2
schema-utils: ^3.1.0
tapable: ^2.1.1
terser-webpack-plugin: ^5.1.3
watchpack: ^2.2.0
webpack-sources: ^3.2.0
peerDependenciesMeta:
webpack-cli:
optional: true
bin:
webpack: bin/webpack.js
checksum: 8127be3d900d8e57f106f61dc66f8334162d5425d770f46b2110c89057c1607e9be1a20fa37ee53bd6915e3041dc074c5e2aa99665abb18112463b91606946f7
languageName: node
linkType: hard
"webpack@npm:^5, webpack@npm:^5.9.0":
version: 5.60.0
resolution: "webpack@npm:5.60.0"