Compare commits

...

1 Commits

4 changed files with 376 additions and 35 deletions

View File

@@ -197,11 +197,9 @@ const init: InitFunction = async (
app.use(`/${appName}`, ExpressStatic("/usr/src/app/public"));
app.get(
`/${appName}/dist/bundle.js`,
(_req: ExpressRequest, res: ExpressResponse) => {
res.sendFile("/usr/src/app/public/dist/bundle.js");
},
app.use(
`/${appName}/dist`,
ExpressStatic("/usr/src/app/public/dist")
);
app.get(

View File

@@ -26,6 +26,7 @@
"@types/node": "^16.11.35",
"@types/react": "^18.2.38",
"@types/react-dom": "^18.0.4",
"compression-webpack-plugin": "^11.1.0",
"cross-env": "^7.0.3",
"css-loader": "^6.8.1",
"nodemon": "^2.0.20",
@@ -35,7 +36,8 @@
"ts-loader": "^9.5.1",
"ts-node": "^10.9.1",
"webpack": "^5.76.0",
"webpack-bundle-analyzer": "^4.10.1"
"webpack-bundle-analyzer": "^4.10.1",
"webpack-cli": "^6.0.1"
}
},
"../Common": {
@@ -76,7 +78,6 @@
"airtable": "^0.12.2",
"axios": "^1.7.2",
"bullmq": "^5.3.3",
"Common": "file:../Common",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
"cron-parser": "^4.8.1",
@@ -9995,6 +9996,53 @@
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webpack-cli/configtest": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz",
"integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
"webpack": "^5.82.0",
"webpack-cli": "6.x.x"
}
},
"node_modules/@webpack-cli/info": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz",
"integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
"webpack": "^5.82.0",
"webpack-cli": "6.x.x"
}
},
"node_modules/@webpack-cli/serve": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz",
"integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18.12.0"
},
"peerDependencies": {
"webpack": "^5.82.0",
"webpack-cli": "6.x.x"
},
"peerDependenciesMeta": {
"webpack-dev-server": {
"optional": true
}
}
},
"node_modules/@xtuc/ieee754": {
"version": "1.2.0",
"license": "BSD-3-Clause"
@@ -10159,7 +10207,6 @@
"version": "2.1.1",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"ajv": "^8.0.0"
},
@@ -10176,7 +10223,6 @@
"version": "8.12.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
@@ -10191,8 +10237,7 @@
"node_modules/ajv-formats/node_modules/json-schema-traverse": {
"version": "1.0.0",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/ajv-keywords": {
"version": "3.5.2",
@@ -11294,6 +11339,34 @@
"wrap-ansi": "^7.0.0"
}
},
"node_modules/clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
"integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-plain-object": "^2.0.4",
"kind-of": "^6.0.2",
"shallow-clone": "^3.0.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/clone-deep/node_modules/is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
"license": "MIT",
"dependencies": {
"isobject": "^3.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/co": {
"version": "4.6.0",
"dev": true,
@@ -11348,8 +11421,7 @@
"node_modules/colorette": {
"version": "2.0.20",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/combined-stream": {
"version": "1.0.8",
@@ -11427,6 +11499,84 @@
"node": ">= 0.8.0"
}
},
"node_modules/compression-webpack-plugin": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-11.1.0.tgz",
"integrity": "sha512-zDOQYp10+upzLxW+VRSjEpRRwBXJdsb5lBMlRxx1g8hckIFBpe3DTI0en2w7h+beuq89576RVzfiXrkdPGrHhA==",
"dev": true,
"license": "MIT",
"dependencies": {
"schema-utils": "^4.2.0",
"serialize-javascript": "^6.0.2"
},
"engines": {
"node": ">= 18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
"webpack": "^5.1.0"
}
},
"node_modules/compression-webpack-plugin/node_modules/ajv": {
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
"dev": true,
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/compression-webpack-plugin/node_modules/ajv-keywords": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
"dev": true,
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.3"
},
"peerDependencies": {
"ajv": "^8.8.2"
}
},
"node_modules/compression-webpack-plugin/node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true,
"license": "MIT"
},
"node_modules/compression-webpack-plugin/node_modules/schema-utils": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
"integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.9",
"ajv": "^8.9.0",
"ajv-formats": "^2.1.1",
"ajv-keywords": "^5.1.0"
},
"engines": {
"node": ">= 10.13.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
}
},
"node_modules/compression/node_modules/debug": {
"version": "2.6.9",
"dev": true,
@@ -12582,6 +12732,19 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/envinfo": {
"version": "7.14.0",
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz",
"integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==",
"dev": true,
"license": "MIT",
"bin": {
"envinfo": "dist/cli.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/error-ex": {
"version": "1.3.2",
"dev": true,
@@ -13664,6 +13827,33 @@
"license": "MIT",
"peer": true
},
"node_modules/fast-uri": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz",
"integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fastify"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
],
"license": "BSD-3-Clause"
},
"node_modules/fastest-levenshtein": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 4.9.1"
}
},
"node_modules/fastq": {
"version": "1.15.0",
"dev": true,
@@ -13834,6 +14024,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/flat": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
"integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
"dev": true,
"license": "BSD-3-Clause",
"bin": {
"flat": "cli.js"
}
},
"node_modules/flat-cache": {
"version": "3.2.0",
"dev": true,
@@ -14885,7 +15085,6 @@
"version": "3.1.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"pkg-dir": "^4.2.0",
"resolve-cwd": "^3.0.0"
@@ -14945,6 +15144,16 @@
"node": ">= 0.4"
}
},
"node_modules/interpret": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
"integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/ipaddr.js": {
"version": "2.1.0",
"dev": true,
@@ -15044,7 +15253,6 @@
"version": "2.13.1",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"hasown": "^2.0.0"
},
@@ -15415,6 +15623,16 @@
"dev": true,
"license": "ISC"
},
"node_modules/isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/istanbul-lib-coverage": {
"version": "3.2.2",
"dev": true,
@@ -17857,7 +18075,6 @@
"version": "6.0.3",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -18798,7 +19015,6 @@
"version": "2.2.0",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=6"
}
@@ -18872,7 +19088,6 @@
"version": "4.0.0",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@@ -18897,8 +19112,7 @@
"node_modules/path-parse": {
"version": "1.0.7",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/path-to-regexp": {
"version": "0.1.7",
@@ -18958,7 +19172,6 @@
"version": "4.2.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"find-up": "^4.0.0"
},
@@ -18970,7 +19183,6 @@
"version": "4.1.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -18983,7 +19195,6 @@
"version": "5.0.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -18995,7 +19206,6 @@
"version": "2.3.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"p-try": "^2.0.0"
},
@@ -19010,7 +19220,6 @@
"version": "4.1.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -20981,6 +21190,19 @@
"node": ">=8.10.0"
}
},
"node_modules/rechoir": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
"integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"resolve": "^1.20.0"
},
"engines": {
"node": ">= 10.13.0"
}
},
"node_modules/recursive-readdir": {
"version": "2.2.3",
"dev": true,
@@ -21141,7 +21363,6 @@
"version": "2.0.2",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -21156,7 +21377,6 @@
"version": "1.22.8",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
@@ -21173,7 +21393,6 @@
"version": "3.0.0",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"resolve-from": "^5.0.0"
},
@@ -21185,7 +21404,6 @@
"version": "5.0.0",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@@ -21642,7 +21860,9 @@
"peer": true
},
"node_modules/serialize-javascript": {
"version": "6.0.1",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
"integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"license": "BSD-3-Clause",
"dependencies": {
"randombytes": "^2.1.0"
@@ -21774,6 +21994,19 @@
"license": "ISC",
"peer": true
},
"node_modules/shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
"integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"dev": true,
"license": "MIT",
"dependencies": {
"kind-of": "^6.0.2"
},
"engines": {
"node": ">=8"
}
},
"node_modules/shebang-command": {
"version": "2.0.0",
"dev": true,
@@ -22485,7 +22718,6 @@
"version": "1.0.0",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -23647,6 +23879,69 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/webpack-cli": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz",
"integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@discoveryjs/json-ext": "^0.6.1",
"@webpack-cli/configtest": "^3.0.1",
"@webpack-cli/info": "^3.0.1",
"@webpack-cli/serve": "^3.0.1",
"colorette": "^2.0.14",
"commander": "^12.1.0",
"cross-spawn": "^7.0.3",
"envinfo": "^7.14.0",
"fastest-levenshtein": "^1.0.12",
"import-local": "^3.0.2",
"interpret": "^3.1.1",
"rechoir": "^0.8.0",
"webpack-merge": "^6.0.1"
},
"bin": {
"webpack-cli": "bin/cli.js"
},
"engines": {
"node": ">=18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
"webpack": "^5.82.0"
},
"peerDependenciesMeta": {
"webpack-bundle-analyzer": {
"optional": true
},
"webpack-dev-server": {
"optional": true
}
}
},
"node_modules/webpack-cli/node_modules/@discoveryjs/json-ext": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz",
"integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=14.17.0"
}
},
"node_modules/webpack-cli/node_modules/commander": {
"version": "12.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/webpack-dev-middleware": {
"version": "5.3.3",
"dev": true,
@@ -23894,6 +24189,21 @@
"node": ">=10.13.0"
}
},
"node_modules/webpack-merge": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz",
"integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==",
"dev": true,
"license": "MIT",
"dependencies": {
"clone-deep": "^4.0.1",
"flat": "^5.0.2",
"wildcard": "^2.0.1"
},
"engines": {
"node": ">=18.0.0"
}
},
"node_modules/webpack-sources": {
"version": "3.2.3",
"license": "MIT",
@@ -24079,6 +24389,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/wildcard": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
"integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
"dev": true,
"license": "MIT"
},
"node_modules/word-wrap": {
"version": "1.2.5",
"dev": true,

View File

@@ -47,6 +47,7 @@
"@types/node": "^16.11.35",
"@types/react": "^18.2.38",
"@types/react-dom": "^18.0.4",
"compression-webpack-plugin": "^11.1.0",
"cross-env": "^7.0.3",
"css-loader": "^6.8.1",
"nodemon": "^2.0.20",
@@ -56,6 +57,7 @@
"ts-loader": "^9.5.1",
"ts-node": "^10.9.1",
"webpack": "^5.76.0",
"webpack-bundle-analyzer": "^4.10.1"
"webpack-bundle-analyzer": "^4.10.1",
"webpack-cli": "^6.0.1"
}
}

View File

@@ -7,6 +7,7 @@ require('ejs');
const path = require("path");
const webpack = require("webpack");
const dotenv = require("dotenv");
const CompressionPlugin = require('compression-webpack-plugin');
const BundleAnalyzerPlugin =
require("webpack-bundle-analyzer").BundleAnalyzerPlugin;
@@ -22,13 +23,17 @@ const readEnvFile = (pathToFile) => {
return env;
};
const isProduction = process.env.NODE_ENV === 'production';
module.exports = {
entry: "./src/Index.tsx",
mode: "development",
mode: isProduction ? "production" : "development",
output: {
filename: "bundle.js",
filename: isProduction ? '[name].[contenthash].js' : '[name].js',
chunkFilename: isProduction ? '[name].[contenthash].js' : '[name].js',
path: path.resolve(__dirname, "public", "dist"),
publicPath: "/dashboard/dist/",
clean: true,
},
resolve: {
extensions: [".ts", ".tsx", ".js", ".jsx", ".json", ".css", ".scss"],
@@ -39,6 +44,19 @@ module.exports = {
externals: {
"react-native-sqlite-storage": "react-native-sqlite-storage",
},
optimization: {
splitChunks: {
chunks: 'all',
cacheGroups: {
vendor: {
test: /[\\/]node_modules[\\/]/,
name: 'vendors',
chunks: 'all',
},
},
},
runtimeChunk: 'single',
},
plugins: [
new webpack.DefinePlugin({
process: {
@@ -47,6 +65,12 @@ module.exports = {
},
},
}),
new CompressionPlugin({
algorithm: 'gzip',
test: /\.(js|css|html|svg)$/,
threshold: 10240,
minRatio: 0.8,
}),
process.env.analyze === "true" ? new BundleAnalyzerPlugin() : () => {},
],
module: {
@@ -69,5 +93,5 @@ module.exports = {
},
],
},
devtool: "eval-source-map",
devtool: isProduction ? 'source-map' : 'eval-source-map',
};