Repository navigation
Conversation
Co-Authored-By: teddy <tedfoley7@gmail.com>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
| "name": "Angular 2 HN", | ||
| "short_name": "Angular 2 HN", |
There was a problem hiding this comment.
🟡 Installed app displays the Angular name
Installing React HN displays “Angular 2 HN” because the manifest's name and short_name retain the old branding.
| "name": "Angular 2 HN", | |
| "short_name": "Angular 2 HN", | |
| "name": "React HN", | |
| "short_name": "React HN", |
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
I'm leaving this as is on purpose. This ticket's scope is to copy manifest.json into react-app/public/ unchanged, so later steps can reference it. The installed-app name and branding belong to the separate "PWA manifest and offline service worker" step on the migration board, which will rewrite this file. The app's final name hasn't been decided yet, so I'm not renaming it here. Nothing is installable from react-app/ until that step ships a service worker.
Summary
First step of the Angular → React migration (board ticket UNT78-1, plan step
s1.1). Adds a standalone React app inreact-app/, created fresh frommaster. The Angular 9 app at the repo root is not touched.noUncheckedIndexedAccess), React Router 7, TanStack Query 5, Sass, ESLint 9 (flat config, typescript-eslint, react-hooks, eslint-config-prettier), Prettier 3, Vitest 4 + React Testing Library (jsdom), and Playwright (installed, no specs yet). Node>=20.19;.nvmrcis20.dev,build(tsc -b && vite build),preview,lint(eslint . && prettier --check .),typecheck,test(vitest run),e2e(playwright test --pass-with-no-tests, which builds and servespreviewon :4173)..prettierrc.jsonuses the rootpackage.jsonsettings (4 spaces, single quotes, width 120, es5 trailing commas).queryClient.ts: acreateQueryClient()factory withnetworkMode: 'offlineFirst', a 24hgcTimeand a 60sstaleTime, so later steps can add offline reads and persistence.routes.tsxexports aRouteObject[]. For now it has one catch-allPlaceholderroute. The same array feedscreateBrowserRouterinmain.tsxandcreateMemoryRouterin tests.public/: holds copies ofsrc/assets/**,src/favicon.icoandsrc/manifest.json, so later steps can reference/assets/....^4.1.11because 3.x pulls intinypool/@vitest/mockerversions with open advisories.npm auditreports 0 vulnerabilities.There's no CI workflow for
react-app/yet. A separate ticket covers that.Verification
I ran
npm ci && npm run lint && npm run typecheck && npm test && npm run buildinreact-app/and all of them pass (2 Vitest tests).npm run e2eexits 0 with no specs.I served the production build with
vite previewand opened it in headless Chrome./and the deep link/news/1both render the placeholder,/manifest.jsonreturns 200, and there were no console errors or failed requests.Earlier unmerged React migration PRs (e.g. #865–#878) were used only as reference. Per the board's baseline decision, this branch starts from
master. Only one of these scaffolds should land.Link to Devin session: https://devin-gtm.devinenterprise.com/sessions/c7a73ad16bf74509aae91fea70e12587
Open in Devin Desktop: https://devin-gtm.devinenterprise.com/desktop/session/c7a73ad16bf74509aae91fea70e12587?variant=devin
Requested by: @tedfoley
Devin Review