Feature/am 188 replace react scripts#29
Merged
frankfe-amsterdam merged 9 commits intomainfrom May 4, 2026
Merged
Conversation
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Migrates the frontend build/tooling from Create React App (react-scripts) to Vite, standardizing absolute imports via an @/ alias and updating lint/test/build configuration to match the new toolchain.
Changes:
- Add Vite configuration and move the HTML entrypoint to the repository root (
index.html), replacing CRA’spublic/index.html. - Update TypeScript/Jest configuration and refactor imports across the codebase to use
@/…path aliases. - Replace ESLint + lint-staged setup with Oxlint/Oxfmt configuration and scripts.
Reviewed changes
Copilot reviewed 133 out of 135 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| vite.config.ts | Adds Vite build/dev-server configuration (base path, build output, proxy, aliases). |
| tsconfig.json | Updates TS module resolution and introduces @/ path mapping. |
| src/utils/list.test.ts | Switches import to @/ alias. |
| src/utils/escapeHtml.test.ts | Switches import to @/ alias. |
| src/utils/environment.ts | Switches import to @/ alias. |
| src/utils/dateToNumber.test.ts | Switches import to @/ alias. |
| src/utils/capitalizeString.test.ts | Switches import to @/ alias. |
| src/store/store.ts | Switches imports to @/ alias. |
| src/services/baseApi.ts | Switches imports to @/ alias and moves API key env var to Vite-style import.meta.env. |
| src/routes.tsx | Switches modules import to @/ alias. |
| src/modules/waste/screens/WasteAdmin.screen.tsx | Switches imports to @/ alias. |
| src/modules/waste/index.ts | Switches imports to @/ alias. |
| src/modules/waste/constants.ts | Switches import to @/ alias. |
| src/modules/waste/components/WasteAdminHomeButton.tsx | Switches import to @/ alias. |
| src/modules/types.ts | Switches import to @/ alias. |
| src/modules/swagger/screens/Swagger.screen.tsx | Switches imports to @/ alias. |
| src/modules/swagger/routes.tsx | Switches imports to @/ alias. |
| src/modules/swagger/index.ts | Switches imports to @/ alias. |
| src/modules/swagger/constants.ts | Switches import to @/ alias. |
| src/modules/swagger/components/SwaggerHome.tsx | Switches imports to @/ alias. |
| src/modules/survey/screens/SurveyAdmin.screen.tsx | Switches imports to @/ alias. |
| src/modules/survey/index.ts | Switches imports to @/ alias. |
| src/modules/survey/constants.ts | Switches import to @/ alias. |
| src/modules/survey/components/SurveyAdminHomeButton.tsx | Switches import to @/ alias. |
| src/modules/index.ts | Switches module barrel imports to @/ alias. |
| src/modules/home/screens/Home.screen.tsx | Switches imports to @/ alias. |
| src/modules/home/routes.tsx | Switches imports to @/ alias. |
| src/modules/home/index.ts | Switches imports to @/ alias. |
| src/modules/home/constants.ts | Switches import to @/ alias. |
| src/modules/home/components/PersonalizedHome.tsx | Switches imports to @/ alias. |
| src/modules/download-qr/screens/DownloadQRCode.screen.tsx | Switches imports to @/ alias. |
| src/modules/download-qr/routes.tsx | Switches imports to @/ alias. |
| src/modules/download-qr/index.ts | Switches imports to @/ alias. |
| src/modules/download-qr/constants.ts | Switches import to @/ alias. |
| src/modules/download-qr/components/QRCodeWithDownload.tsx | Switches imports; renames QRCode import to avoid collision. |
| src/modules/download-qr/components/DownloadQrHome.tsx | Switches imports to @/ alias. |
| src/modules/contact/screens/ContactAdmin.screen.tsx | Switches imports to @/ alias. |
| src/modules/contact/index.ts | Switches imports to @/ alias. |
| src/modules/contact/constants.ts | Switches import to @/ alias. |
| src/modules/contact/components/ContactAdminHomeButton.tsx | Switches import to @/ alias. |
| src/modules/construction-work-editor/types/project.ts | Switches imports to @/ alias. |
| src/modules/construction-work-editor/types/article.ts | Switches imports to @/ alias. |
| src/modules/construction-work-editor/services/publishers.ts | Switches imports to @/ alias. |
| src/modules/construction-work-editor/services/projects.ts | Switches imports to @/ alias. |
| src/modules/construction-work-editor/services/articles.ts | Switches imports to @/ alias. |
| src/modules/construction-work-editor/screens/Publishers.screen.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/screens/PublisherProjects.screen.tsx | Switches import to @/ alias. |
| src/modules/construction-work-editor/screens/Publisher.screen.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/screens/Projects.screen.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/screens/Project.screen.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/screens/Article.screen.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/routes.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/index.ts | Switches imports to @/ alias. |
| src/modules/construction-work-editor/hooks/useSubmitArticle.ts | Switches imports to @/ alias. |
| src/modules/construction-work-editor/constants.ts | Switches import to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/RemovePublisher.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/PublishersTable.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/Publishers.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/PublisherForm.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/EditPublisherTable.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/EditPublisherProjects.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/EditPublisher.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/CreatePublisher.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Publisher/BackToPublishersButton.tsx | Switches imports to @/ alias (including CSS import). |
| src/modules/construction-work-editor/components/ProjectsTable.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Projects.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Project.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/ConstructionWorkEditorHome.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Article/RemoveProjectWarning.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Article/ArticlesTable.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Article/ArticleForm.tsx | Switches imports to @/ alias. |
| src/modules/construction-work-editor/components/Article/Article.tsx | Switches imports to @/ alias. |
| src/modules/city-pass/screens/CityPassAdmin.screen.tsx | Switches imports to @/ alias. |
| src/modules/city-pass/index.ts | Switches imports to @/ alias. |
| src/modules/city-pass/constants.ts | Switches import to @/ alias. |
| src/modules/city-pass/components/CityPassAdminHomeButton.tsx | Switches import to @/ alias. |
| src/modules/admin/screens/ReleaseAdmin.screen.tsx | Switches imports to @/ alias. |
| src/modules/admin/index.ts | Switches imports to @/ alias. |
| src/modules/admin/constants.ts | Switches import to @/ alias. |
| src/modules/admin/components/ReleaseAdminHomeButton.tsx | Switches import to @/ alias. |
| src/index.tsx | Switches imports to @/ alias. |
| src/hooks/useNavigate.ts | Switches import to @/ alias. |
| src/components/ui/text/ScreenTitle.tsx | Switches import to @/ alias. |
| src/components/ui/table/utils.tsx | Switches import to @/ alias. |
| src/components/ui/table/TableRow.tsx | Switches imports to @/ alias (including CSS imports). |
| src/components/ui/table/TableHeader.tsx | Switches type import to @/ alias. |
| src/components/ui/table/Table.tsx | Switches imports to @/ alias. |
| src/components/ui/screens/Loading.screen.tsx | Switches imports to @/ alias. |
| src/components/ui/screens/Error.screen.tsx | Switches imports to @/ alias. |
| src/components/ui/media/Logo.tsx | Switches imports to @/ alias. |
| src/components/ui/media/Image.tsx | Switches import to @/ alias. |
| src/components/ui/media/Icon.tsx | Switches imports to @/ alias. |
| src/components/ui/layout/Screen.tsx | Switches imports to @/ alias (and CSS import). |
| src/components/ui/layout/Row.tsx | Switches import to @/ alias. |
| src/components/ui/layout/Column.tsx | Switches import to @/ alias. |
| src/components/ui/layout/Box.tsx | Switches import to @/ alias. |
| src/components/ui/forms/TextField.tsx | Switches imports to @/ alias. |
| src/components/ui/forms/TextArea.tsx | Switches imports to @/ alias. |
| src/components/ui/forms/RadioFieldSet.tsx | Switches imports to @/ alias. |
| src/components/ui/forms/RadioField.tsx | Switches imports to @/ alias. |
| src/components/ui/forms/Input.tsx | Refactors prop destructuring for linting. |
| src/components/ui/forms/ImageField/ImageUpload.tsx | Switches import to @/ alias. |
| src/components/ui/forms/ImageField/ImageField.tsx | Switches imports to @/ alias. |
| src/components/ui/forms/ImageField/ImageDisplay.tsx | Switches imports to @/ alias. |
| src/components/ui/forms/ImageField/ImageCrop.tsx | Switches imports (and CSS import) to @/ alias. |
| src/components/ui/forms/CheckboxField/CheckboxToggle.tsx | Switches import to @/ alias. |
| src/components/ui/forms/CheckboxField/CheckboxField.tsx | Switches imports to @/ alias. |
| src/components/ui/forms/CharactersLeftDisplay.tsx | Switches import to @/ alias. |
| src/components/ui/containers/Loader.tsx | Switches import to @/ alias. |
| src/components/ui/button/NavigationButton.tsx | Switches imports to @/ alias. |
| src/components/ui/button/LoadingButton.tsx | Switches imports to @/ alias. |
| src/components/ui/button/Button.tsx | Switches import to @/ alias. |
| src/components/ui/Loading.tsx | Switches imports to @/ alias. |
| src/components/ui/Error.tsx | Switches imports to @/ alias. |
| src/authentication/hooks/usePassTokenToNativeApp.ts | Switches import to @/ alias. |
| src/authentication/hooks/useIsAuthorized.ts | Switches imports to @/ alias. |
| src/authentication/hooks/useGetDecodedAccessToken.ts | Switches imports to @/ alias. |
| src/authentication/hooks/useGetAuthorizedRoles.ts | Switches imports to @/ alias. |
| src/authentication/hooks/useAuthorizedModules.ts | Switches imports to @/ alias. |
| src/authentication/hooks/useAccessToken.ts | Switches import to @/ alias. |
| src/authentication/constants.ts | Switches imports to @/ alias. |
| src/authentication/components/LogoutButton.tsx | Switches imports to @/ alias. |
| src/authentication/components/LoginBoundary.tsx | Switches import to @/ alias. |
| src/authentication/authConfig.ts | Switches import to @/ alias. |
| src/mocks/fileMock.ts | Adds Jest asset mock for file imports. |
| src/App.tsx | Switches imports to @/ alias. |
| public/index.html | Removes CRA HTML entrypoint (Vite uses root index.html). |
| package.json | Replaces CRA scripts with Vite/Jest/Oxlint; adds Jest config and new dev deps. |
| index.html | Adds Vite HTML entrypoint at repo root. |
| .oxlintrc.json | Adds Oxlint configuration replacing ESLint rules. |
| .lintstagedrc.js | Updates lint-staged to run Oxlint/Oxfmt. |
| .github/workflows/checks.yml | Updates CI bundle check to run vite build. |
| .eslintrc.js | Removes ESLint config (replaced by Oxlint). |
| .env.example | Renames env var prefix from REACT_APP_ to VITE_. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
sage-council
approved these changes
May 4, 2026
frankfe-amsterdam
approved these changes
May 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.