Socket
Socket
Sign inDemoInstall

@fazio/nx-cross-ddd-plugin

Package Overview
Dependencies
0
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @fazio/nx-cross-ddd-plugin

Nx plugin for structuring a monorepo with domains and layers as platform agnostic according to Nrwl's best practices and about DDD and SOLID programming software pattern


Version published
Maintainers
1
Created

Readme

Source

@fazio/nx-cross-ddd-plugin
Typescript Cross platform DDD Plugin for Nx

This plugin allow you to build cross platform sorftware with typescript, supporting architecture for different platform/framework combinations. Nx Cross DDD Plugin is an added value pack for Nx Workspace which provides additional schematics which automate slicing your Nx workspace into domains, feature layers and platforms UI layers according to Nrwl's best practices and about DDD and SOLID programming software pattern.

stability-wip Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. License npm version


Overview

Features

  • ✅ Architect, test, and build software at any scale according DDD and SOLID programming sorftware pattern best practices
  • ✅ Create domains with domain libraries including models and data services
  • ✅ Create features with domain feature libraries including facades, models, and data services
  • ✅ Create platforms UI with platform feature libraries including feature components build with multi framework available
  • ✅ Share libraries of a Monorepo
  • ✅ Add linting rules for access restrictions between domains as proposed by Nrwl
  • ✅ Add linting rules for access restrictions between domain features layers and platforms UI layers as proposed by Nrwl
  • ✅ Support for many frontend and backend technologies
  • ✅ Add tooling for build and publish registery librairies automation

Install

Add this plugin to an existing Nx workspace

  • Run from Nx Project root folder: npm i -D @fazio/nx-cross-ddd-plugin

Or create new Nx Workspace. Run the following command:

  • npx create-nx-workspace@latest
  • npm i -D @fazio/nx-cross-ddd-plugin

Usage

You can genetate libraries with Nx Editor Plugins or run following commandes:


Generate Domain

nx g @fazio/nx-cross-ddd-plugin:domain MyDomain --generateService
  • --generateService (optional): Generate client service file.
  • --generateRepository (optional): Generate backend service file.

Generate Domain feature

nx g @fazio/nx-cross-ddd-plugin:feature MyFeature --domain MyDomain
  • --domain (required): Name of Domain.

Generate Platform UI feature

nx g @fazio/nx-cross-ddd-plugin:platform MyPlatformUI --domain MyDomain --feature MyFeature --generateComponent
  • --domain (optional): Name of Domain.
  • --feature (optional): Name of Domain Feature to extend.
  • --directory (optional): The folder directory to generate library. By default will be created inside --ui parameter. Usefull to generate shared library or library for different framework.
  • --framework (optional): Name of framework to build UI Component. If not provided, will use by default Angular.
  • --generateComponent (optional): Genereate default component extended with feature domain logic class

Generate Linting Rules for workspace

ng add @fazio/nx-cross-ddd-plugin

Architecture Overview

Credits

Contribution

see CONTRIBUTING.md

About author

Hi, i'm Nicolas Fazio, a Senior Typescript Software Architect & teacher, living in Geneva Switzerland 🇨🇭. I build software architecture and cross platform application for almost 15 years. You can follow me on Twitter @FazioNico or checkout my own website https://nicolasfazio.ch

Angular Trainings, Workshops, and Consulting

FAQs

Last updated on 22 Mar 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc