Skip to content

Ensono/stacks-nx-plugins

Repository files navigation

Ensono Stacks with Nx

See the contributing guide for detailed instructions on how to get started with contributing to the stacks project.

Using Stacks

The ideologies of Stacks and Nx are aligned in their focus on providing businesses with a framework that accelerates development, allowing you to focus on business objectives with best practice code. Leveraging Nx allows us to build upon that work and to fill the gaps with infrastructure, pipelines and the integration with other Stacks subsystems. Leveraging Nx allows a common developer experience, global communities of support, and an enterprise ready base.

What is Nx?

The Nx framework is a powerful tool that allows developers to easily build, test, and automate their applications. It is built on top of the popular open-source Node.js platform, and provides a streamlined and efficient workflow for building apps. With Nx, developers can easily manage their dependencies, automate tasks, and quickly test their applications.

Additionally, Nx provides powerful features such as code-sharing, optimized builds, and real-time feedback, making it an ideal choice for any developer looking to streamline their development process and improve their productivity.

Find out more about Nx through their official [documentation](https://nx.dev/getting-started/intro)!

For the reasons listed above we have chosen to use Nx within Stacks for CSR and SSR frontend web applications, capitalising on Nx generators and executors to streamline your development and testing processes.

What are Nx Generators and Executors?

Nx generators and executors are two powerful features of the Nx build system that allow developers to quickly and easily generate new code and files for their projects, as well as to automate common tasks.

Nx generators are templates that can be used to quickly generate new code and files for different types of projects, such as Angular applications, React components, and Node.js services. Developers can use these generators to quickly create the code and files they need, based on pre-defined templates, saving them time and effort.

Nx executors, on the other hand, are scripts that can be used to automate common tasks, such as building, testing, and deploying code. Developers can use these executors to automate repetitive tasks and to streamline their workflow. Executors can also be customized to suit the specific needs of a project, making them a highly versatile tool.

Set up your stacks workspace

Visit the official Stacks documentation site for Nx here!

Stacks Plugins

To accelerate your project development and ensure consistency across those projects, we have several stacks plugins available!

Plugin Description
@ensono-stacks/create-stacks-workspace Create an Nx workspace using stacks!
  • Create an Nx workspace for a Next application with your choice of testing framework!
  • Create a testing project for the generated Next application. Supported: Playwright & Cypress
  • @ensono-stacks/workspace 'Stackify' your existing Nx workspace
  • Add build and deploy infrastructure to your workspace
  • Set up libraries to manage code & commit quality
  • @ensono-stacks/next Enhance your Next.js project with Stacks!
  • Add stacks configuration and developer tools to an existing next application
  • Add NextAuth.js to your next application
  • Add build and deploy infrastructure to your next application
  • @ensono-stacks/azure-node
  • Add Azure app insights to a node project in your stacks workspace
  • @ensono-stacks/rest-client Add a rest client to a project in your stacks workspace
  • Create an Axios http-client with custom configuration
  • Create a client endpoint with Axios HTTP methods for your application
  • Bump existing endpoints to new versions
  • Create code implementation from an OpenApi schema using Orval
  • @ensono-stacks/playwright Add the playwright testing library and much more to your project!
  • Create a playwright testing project for your application
  • Add accessibility testing to your test project
  • Add native visual testing with playwright
  • Add visual testing with Applitools eyes
  • Add playwright testing and reporting automatically to your build pipelines
  • @ensono-stacks/cypress Add the cypress testing library and much more to your project!
  • Add accessibility testing to your test project
  • Add cypress testing and reporting automatically to your build pipelines
  • @ensono-stacks/logger Add industry standard logging capabilities to your project
  • Add Winston to your project