feat: migrate from Webpack to esbuild for optimized builds

- Updated build process to use esbuild, enhancing performance and reducing bundle size.
- Introduced custom esbuild plugins to replicate Webpack functionality, including removal of duplicate tslib helpers.
- Replaced the previous build script for ES5 with a new optimized version using esbuild.
- Added support for TypeScript in esbuild configuration, ensuring compatibility with existing code.
- Removed Webpack-related dependencies and configurations from package.json and renovate.json.

This transition aims to streamline the build process and improve overall efficiency.
This commit is contained in:
Daniel Sogl
2025-06-07 16:02:05 +02:00
parent 4f8f99fa44
commit f47561fd7c
10 changed files with 880 additions and 1219 deletions
+2 -5
View File
@@ -11,7 +11,7 @@
"test:watch": "jest --watch",
"build:core": "tsc -p tsconfig.core.json",
"build:esm": "ts-node -P scripts/tsconfig.json scripts/tasks/build-esm",
"build:es5": "ts-node -P scripts/tsconfig.json scripts/tasks/build-es5",
"build:es5": "ts-node -P scripts/tsconfig.json scripts/tasks/build-es5-optimized",
"build:ngx": "ts-node -P scripts/tsconfig.json scripts/tasks/build-ngx",
"build": "npm run build:core && npm run build:esm && npm run build:ngx && npm run build:es5",
"prebuild": "rimraf -rf dist",
@@ -39,13 +39,13 @@
"@types/lodash": "4.17.5",
"@types/node": "20.14.10",
"@types/rimraf": "4.0.5",
"@types/webpack": "5.28.5",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"async-promise-queue": "1.0.5",
"cz-conventional-changelog": "3.3.0",
"dgeni": "0.4.14",
"dgeni-packages": "0.16.10",
"esbuild": "^0.25.5",
"eslint": "8.57.1",
"eslint-config-prettier": "10.1.5",
"eslint-plugin-jsdoc": "50.6.17",
@@ -65,12 +65,9 @@
"rimraf": "5.0.5",
"rollup": "4.41.0",
"rxjs": "^7.8.2",
"terser-webpack-plugin": "5.3.14",
"ts-jest": "29.3.4",
"ts-node": "10.9.2",
"typescript": "5.6.3",
"unminified-webpack-plugin": "3.0.0",
"webpack": "5.74.0",
"winston": "3.17.0",
"zone.js": "0.15.1"
},