Skip to content

v10.0.0 Project structure updates and new defaults

Compare
Choose a tag to compare
@ZenSoftware ZenSoftware released this 08 Jun 05:21
· 257 commits to base since this release

๐ŸŽ‰ This major release completes many large milestones. There has been a refactor across the project to consolidate code into fewer libraries and a new project structure that is more organized to enable better management of domain assets. There is much more clarity of where things belong and there is a better conceptual model for consumers of core libraries. The new default configurations that come out of the box should be sufficient for the majority of projects.

The starter kit is now in a pristine state and the solutions provided are feature complete. Nearly every line of code has been reviewed and rewrites have been done across the project for cleaner and leaner solutions.

Furthermore, debugging with VSCode works well for both the api (Nest) and portal (Angular) apps. There have been problems within the Nx community with not having breakpoints working. Fortunately, there are workarounds that this project implements to ensure everything is operating as expected.

Tech stack

The project dependencies have been updated to the latest version across the board. We are not blocked from updating to the latest version for almost any of our dependencies. We're riding on the bleeding edge of all solutions available.

Noteable updates for this version include:

  • Nx updated to v16.3.2
  • Angular updated to v16.0.5
  • Prisma updated to v4.15.0
  • apollo-angular updated to v5.0.0
  • @graphql-codegen/cli has been updated to v4.0.1

Documentation

  • Better coverage of documenting project environment configurations.

Kendo branch

๐ŸŽ The kendo branch has integrated new features.

  • @zen/grid component is able to export data grid results to JSON.
  • Updated to newest theme and packages.

Refactors

  • GraphQL resolvers for the Prisma endpoints now have their code generated output to its own prisma subfolder within the GraphQL resolvers folder.
  • Default auth scheme is now set to RBAC for the code generating script at tools/generate.ts.
  • @casl/prisma integration is marked as experimental but its integration is kept as the project's solution for ABAC and is still feature complete.
  • The Angular component has been moved from its own library @zen/layout to @zen/components and @zen/layout has been removed.
  • @zen/auth has had a major overhaul for all its Angular components to make everything more reusable.