>From Ian Maxon <[email protected]>: Ian Maxon has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21081?usp=email )
Change subject: [ASTERIXDB-3763][UI] Migrate to bun & Angular 21 ...................................................................... [ASTERIXDB-3763][UI] Migrate to bun & Angular 21 Angular 21 is the latest version, so this migrates the dashboard away from the ancient version it was on. There are some quirks from the migration still but most of the glaring issues I saw are smoothed over at the least. This also migrates the build of the dashboard to use bun instead of npm. bun is a lot faster and doesn't execute pre/post install scripts unless specifically asked to (which we wouldn't in CI) so this along with dependency aging will reduce our exposure to supply chain attacks that are all to common now in the JS ecosystem. Generated-by: Claude Code w/ Opus 4.5 Change-Id: Ia6e370803581292742ddc9020bc16928414c18a3 Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21081 Reviewed-by: Ian Maxon <[email protected]> Reviewed-by: Hussain Towaileb <[email protected]> Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> --- M asterixdb/asterix-dashboard/pom.xml M asterixdb/asterix-dashboard/src/node/.editorconfig M asterixdb/asterix-dashboard/src/node/.gitignore M asterixdb/asterix-dashboard/src/node/README.md M asterixdb/asterix-dashboard/src/node/angular.json A asterixdb/asterix-dashboard/src/node/bun.lock A asterixdb/asterix-dashboard/src/node/bunfig.toml M asterixdb/asterix-dashboard/src/node/e2e/app.e2e-spec.ts M asterixdb/asterix-dashboard/src/node/e2e/app.po.ts M asterixdb/asterix-dashboard/src/node/e2e/tsconfig.e2e.json M asterixdb/asterix-dashboard/src/node/karma.conf.js M asterixdb/asterix-dashboard/src/node/package.json M asterixdb/asterix-dashboard/src/node/protractor.conf.js M asterixdb/asterix-dashboard/src/node/proxy.config.js M asterixdb/asterix-dashboard/src/node/src/app/app-config.service.ts M asterixdb/asterix-dashboard/src/node/src/app/app.component.html M asterixdb/asterix-dashboard/src/node/src/app/app.component.scss M asterixdb/asterix-dashboard/src/node/src/app/app.component.ts M asterixdb/asterix-dashboard/src/node/src/app/app.module.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/appbar.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/appbar.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/appbar.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/apptab.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/apptab.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/apptab.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/input.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/input.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/input.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata-inspector.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata-inspector.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/metadata.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/output.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/output.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/output.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-viewer.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/plan-viewer.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/query-container.component.html M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/query-container.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/query-container.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/tree-node.component.ts M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/tree-view.component.scss M asterixdb/asterix-dashboard/src/node/src/app/dashboard/query/tree-view.component.ts M asterixdb/asterix-dashboard/src/node/src/app/material.module.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/app.actions.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/dataset.actions.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/datatype.actions.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/dataverse.actions.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/index.actions.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/actions/query.actions.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/cancel.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataset.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/datatype.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/dataverse.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/function.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/index.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/effects/query.effects.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/app.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataset.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/datatype.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/dataverse.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/index.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query-metadata.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/reducers/query.reducer.ts M asterixdb/asterix-dashboard/src/node/src/app/shared/services/async-query.service.ts M asterixdb/asterix-dashboard/src/node/src/assets/asterixdb_tm.png M asterixdb/asterix-dashboard/src/node/src/environments/environment.prod.ts M asterixdb/asterix-dashboard/src/node/src/environments/environment.ts M asterixdb/asterix-dashboard/src/node/src/favicon.ico M asterixdb/asterix-dashboard/src/node/src/index.html M asterixdb/asterix-dashboard/src/node/src/main.scss M asterixdb/asterix-dashboard/src/node/src/main.ts M asterixdb/asterix-dashboard/src/node/src/polyfills.ts M asterixdb/asterix-dashboard/src/node/src/styles/_general.scss M asterixdb/asterix-dashboard/src/node/src/test.ts M asterixdb/asterix-dashboard/src/node/src/tsconfig.app.json M asterixdb/asterix-dashboard/src/node/src/tsconfig.spec.json M asterixdb/asterix-dashboard/src/node/src/typings.d.ts M asterixdb/asterix-dashboard/src/node/tsconfig.json M asterixdb/asterix-dashboard/src/node/tslint.json M asterixdb/pom.xml 83 files changed, 2,619 insertions(+), 357 deletions(-) Approvals: Hussain Towaileb: Looks good to me, approved Ian Maxon: Looks good to me, but someone else must approve Jenkins: Verified; Verified Anon. E. Moose #1000171: -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21081?usp=email To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: Ia6e370803581292742ddc9020bc16928414c18a3 Gerrit-Change-Number: 21081 Gerrit-PatchSet: 15 Gerrit-Owner: Ian Maxon <[email protected]> Gerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Hussain Towaileb <[email protected]> Gerrit-Reviewer: Ian Maxon <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-Reviewer: Suryaa Charan Shivakumar <[email protected]>
