create-client icon indicating copy to clipboard operation
create-client copied to clipboard

RFC: Future Enhancements for create-client

Open J3m5 opened this issue 3 months ago • 0 comments

This thread is for brainstorming and prioritizing future enhancements for create-client. We're looking to the community to help refine this roadmap, suggesting new ideas, recommending removals, or reshuffling priorities. Below is an initial list of proposed changes, open for discussion and adjustment.

Project

  • Document UX/UI: Create detailed UX and UI design documentation.
  • Switch to PNPM: Transition from yarn to pnpm (comparison, benchmarks).

Templates

  • Standardize UX/UI: Ensure a consistent user experience and interface across all apps.
  • Integrate Tanstack Query Across Templates: Implement Tanstack Query as the primary data fetching and state management solution in all applicable templates.
  • Configurable Mercure Integration #179: Provide an option to disable Mercure integration within templates, offering flexibility for projects not requiring real-time capabilities.

Generators

  • #335: Migrate code generators to TypeScript, removing Babel from the build process.
  • Standardize Generated Contexts Across Application Generators: Ensure consistency in the contexts produced by different application generators.
  • Support Authentication #172: Enable generators to incorporate authentication mechanisms, allowing the creation of secure applications by integrating common authentication workflows.

React

Next.js

  • Enable SSR Resource Generation: Support generating resources in Server-Side Rendering (SSR) mode by utilizing getServerSideProps in place of getStaticProps.

Testing

  • Adopt Vitest: Replace Jest with Vitest for faster testing (details).
  • **Local Testing **: Improve local testing by facilitating API mocking in both SPA and SSR modes, ensuring ISR builds are also comprehensively supported.
  • Leverage API Documentation for Dynamic Test Assertions: Utilize API documentation as a source of truth for test assertions, enhancing test resilience against changes in API resources or properties.

CLI

  • Support for Multiple Resources: Introduce the ability to specify multiple resources as CLI options, enabling variadic arguments.
  • Dedicated Flag for Custom Templates: Introduce a new flag, separate from the existing "generator" flag used for named generators like Next, Nuxt, Vue, etc., to explicitly define custom generator template path, ensuring clear separation and easier code handling.

Feedback and contributions on these ideas are highly encouraged.

J3m5 avatar Mar 29 '24 11:03 J3m5