Skip to content

feat: scaffold React app foundation for Angular-to-React migration#261

Open
devin-ai-integration[bot] wants to merge 2 commits into
masterfrom
devin/1778876406-react-app-foundation
Open

feat: scaffold React app foundation for Angular-to-React migration#261
devin-ai-integration[bot] wants to merge 2 commits into
masterfrom
devin/1778876406-react-app-foundation

Conversation

@devin-ai-integration
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot commented May 15, 2026

Summary

Sets up the react-app/ foundation for the Angular-to-React migration. This is the base that other parallel sessions depend on.

What's included:

  • Vite + React + TypeScript scaffold via create-vite with react-ts template
  • Dependencies: react-router-dom, sass, vite-plugin-pwa
  • TypeScript models ported from Angular classes to interfaces: Story, Comment, User, Settings, PollResult
  • API service (hackerNewsApi.ts) — replaces RxJS-based HackerNewsAPIService with async/await fetch calls
  • Utility function (formatCommentCount.ts) — ported from Angular pipe
  • Placeholder stub components/pages so parallel sessions can merge without import errors:
    • Pages: FeedPage, ItemDetailsPage, UserPage
    • Components: Header, Footer, Settings, FeedItem, Comment, Loader, ErrorMessage

Review & Testing Checklist for Human

  • Verify react-app/ builds cleanly: cd react-app && npm install && npm run build
  • Verify TypeScript models match the original Angular models in src/app/shared/models/
  • Verify the API service endpoints match the original hackernews-api.service.ts
  • Confirm all stub exports are present so downstream parallel sessions can import without errors

Notes

  • The User model preserves the original crated_time field name (typo in original Angular model)
  • TypeScript strict mode passes with no errors
  • This branch is intended as the base for parallel migration sessions (feed components, item details, user page, etc.)

Link to Devin session: https://app.devin.ai/sessions/7e2d1ecb8e2643c983d28dad42582497
Requested by: @matthewguerra-cog


Devin Review

Status Commit
⚪ Not started

Run Devin Review

💡 Connect your GitHub account to enable automatic code reviews.

Open in Devin Review (Staging)
Open in Devin Review

- Scaffold Vite + React + TypeScript project in react-app/
- Install react-router-dom, sass, vite-plugin-pwa
- Port TypeScript models: Story, Comment, User, Settings, PollResult
- Create API service (hackerNewsApi.ts) with async/await fetch calls
- Create formatCommentCount utility function
- Add placeholder stub components and pages for parallel development

Co-Authored-By: Matthew Guerra <matthew.guerra@cognition.ai>
@devin-ai-integration
Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration[bot]

This comment was marked as resolved.

…item types

- time_ago is a string like '4 hours ago', not a number
- FeedType now reflects actual API item types (link, poll, job, ask, comment)
  instead of feed endpoint names

Co-Authored-By: Matthew Guerra <matthew.guerra@cognition.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant