Introduction
Packages serve as essential components of GenesisX, providing users with a streamlined method for rapidly configuring new applications, utilities, and other essential features.
To expedite application development, the GenesisX packages offer users the capability to furnish boilerplate applications and utilities that are compatible with both Nx and non-Nx environments, leveraging either the npm CLI or Code-shaper.
Ecosystem
You have the flexibility to choose one or multiple packages from GenesisX based on your project requirements, without any obligation to adopt the entire suite.
Below is a pictorial view of a new workspace with some of the GenesisX packages listed at various tiers of an app.
Respective npm package names are mentioned in brackets.
Current list of GenesisX Packages
Currently, GenesisX offers the following packages to end-users (consumers). However, if you wish to utilize any other package supported by @nx, such as Angular, please refer to the section below this table.
Count | Package | npm package | Purpose |
---|---|---|---|
1 | Create Workspace | @genesisx/create-workspace | To setup a new workspace to create monorepo based microApps |
2 | React Application | @genesisx/react | To generate a react based application (nx based) |
3 | NextJS Application | @genesisx/next | To generate a react based application (nx based) |
4 | Graphql Application | @genesisx/graphql | To generate an app enabling Graphql Federation or Service |
5 | Graphql Utility | @genesisx/graphql-util | Utility functions for Graphql application |
6 | Mock-server | @genesisx/mock-server | To generate a mock server to mock apis |
7 | Jenkins Pipeline | @genesisx/jenkins | Enables build CI/CD pipeline in the application by adding a configurable jenkins pipeline |
8 | Kubernetes Configuration | @genesisx/k8-docker-config | Enables dockerizing the application by adding k8 charts and configurations |
9 | React InterApp Routing | @genesisx/react-interapp-routing | Enables url based routing between two microApps |
10 | Git Hooks | @genesisx/git-hooks | Enables commit hook for the generated app |
11 | GQL SuperGraph Gateway | @genesisx/graphql-supergraph-gateway | To use supergraph gateway based apps |
12 | GQL SuperGraph router | @genesisx/graphql-supergraph-router | To use supergraph router based apps |
13 | Vanilla JS Apps | @genesisx/vanilla-js | To generate a skeleton JS app with no library / framework |
14 | Git Workflows | @genesisx/git-workflows | To use git workflows based pipelines for your apps |
15 | Mock-api-Server | @genesisx/mock-api-server | To build mock server / node apis using mock-api framework apps |
16 | TestX Web Wdio | @genesisx/testx-web-wdio | To provide a seamless integration with TestX accelerator |
17 | React Archetype | @genesisx/react-archetype | Enables generation of reactive apps with different rendering patterns |
18 | Design System | @genesisx/design-system | Provides a design system starter kit |
19 | MFE Loader | @genesisx/mfe-loader | To load federated remote modules dynamically at runtime |
20 | Nextjs MFE | @genesisx/nextjs-mfe | To quickly setup a Nextjs based module federated application setup, using turbo as monorepo workspace |
For more details of individual packages, around setup and other commands, please refer the respective section on left panel
Other @nrwl (Nx) packages
In addition to the pre-existing GenesisX packages, you have the option of utilizing any other nrwl packages. It is important to note that the version of any additional packages must be aligned with the current nx version, which is currently 16.6.
Please see Nx Packages Support page on the left menu
Versions
It is advisable to refrain from installing the latest versions of the packages, as they are currently undergoing continuous development. Therefore, it is essential to use a stable combination of packages.
Latest Release
Current LTS Release of GenesisX : 4.0.1 which is using nx version 16.6 for various @nx dependency, along with Nodejs version 18
The packages listed below have been tested successfully and published with respective version as part of this release.
Package Name | Version |
---|---|
@genesisx/create-workspace | 4.0.3 |
@genesisx/react | 4.0.5 |
@genesisx/next | 4.0.2 |
@genesisx/graphql | 4.0.3 |
@genesisx/graphql-utils | 4.0.2 |
@genesisx/mock-server | 4.0.3 |
@genesisx/mock-api-server | 4.0.1 |
@genesisx/jenkins | 4.0.1 |
@genesisx/react-interapp-routing | 4.0.1 |
@genesisx/git-hooks | 4.0.1 |
@genesisx/k8-docker-config | 4.0.1 |
@genesisx/vanilla-js | 4.0.4 |
@genesisx/git-workflows | 4.0.1 |
@genesisx/testx-web-wdio | 4.0.3 |
@genesisx/design-system | 1.0.1 |
@genesisx/react-archetype | 1.0.0 |
@genesisx/nextjs-mfe | 5.1.0 |
@genesisx/mfe-loader | 1.0.0 |
@genesisx/react-archetype | 1.0.1 |
@genesisx/design-system | 3.0.0 |
Note: Below packages are yet to be migrated to Nx15 and Node 18
Package Name | Version |
---|---|
@genesisx/graphql-supergraph-gateway | 4.0.3 |
@genesisx/graphql-supergraph-router | 4.0.3 |
Previous Release : 3.0.1
GenesisX : 3.0.1 which is using nx version 15.7.2 for various @nrwl dependency,
The packages listed below have been published with their respective versions in a Node.js 18 environment and are functioning perfectly.
Package Name | Version |
---|---|
@genesisx/create-workspace | 3.1.0 |
@genesisx/react | 3.0.2 |
@genesisx/next | 3.0.2 |
@genesisx/graphql | 3.0.1 |
@genesisx/graphql-utils | 3.0.1 |
@genesisx/mock-server | 3.0.1 |
@genesisx/mock-api-server | 3.0.2 |
@genesisx/jenkins | 3.0.1 |
@genesisx/react-interapp-routing | 3.0.0 |
@genesisx/git-hooks | 3.0.1 |
@genesisx/git-workflows | 3.0.1 |
@genesisx/testx-web-wdio | 3.0.1 |
@genesisx/vanilla-js | 3.0.1 |
@genesisx/k8-docker-config | 3.0.1 |
@genesisx/graphql-supergraph-gateway | 3.0.1 |
@genesisx/graphql-supergraph-router | 3.0.1 |
@genesisx/design-system | 1.0.1 |
@genesisx/react-archetype | 1.0.0 |
@genesisx/design-system | 1.0.1 |
@genesisx/nextjs-mfe | 4.1.0 |
@genesisx/mfe-loader | 1.0.0 |
Previous Release : 1.0.0
GenesisX : 1.0.0 which is using nx version 14 for various @nrwl dependency,
The packages listed below have been published with their respective versions in a Node.js 16 environment and are functioning perfectly.
Package Name | Version |
---|---|
@genesisx/create-workspace | 2.0.0 |
@genesisx/react | 2.0.0 |
@genesisx/next | 2.0.0 |
@genesisx/graphql | 2.0.1 |
@genesisx/graphql-utils | 2.0.0 |
@genesisx/mock-server | 2.0.1 |
@genesisx/jenkins | 2.0.0 |
@genesisx/react-interapp-routing | 3.0.0 |
@genesisx/git-hooks | 2.0.0 |
@genesisx/k8-docker-config | 2.0.0 |
@genesisx/graphql-supergraph-gateway | 2.0.0 |
@genesisx/graphql-supergraph-router | 2.0.0 |
Previous Releases : 0.3.0
Previous Release of GenesisX : 0.3.0 which is using nx version 13 for various @nrwl dependency ,
Below packages are published with mentioned version in a nodejs 16 environment and its working perfectly fine.
Package Name | Version |
---|---|
@genesisx/create-workspace | 0.2.3 |
@genesisx/react | 0.2.5 |
@genesisx/next | 0.2.9 |
@genesisx/graphql | 1.7.23 |
@genesisx/graphql-utils | 0.2.7 |
@genesisx/mock-server | 0.2.10 |
@genesisx/jenkins | 0.2.1 |
@genesisx/react-interapp-routing | 2.6.1 |
@genesisx/git-hooks | 0.2.1 |
@genesisx/k8-docker-config | 0.2.1 |