C … … Project A Reusable Components … App Pros › Easy to Implement › Easy to Manage a Small Amount of Mini Projects Cons › Release All Projects Together › A Big Ball of Mud › Hard to Scale Repository
C … … Project A Reusable Components … App Pros › Easy to Implement › Easy to Manage a Small Amount of Mini Projects Cons › Release All Projects Together › A Big Ball of Mud › Hard to Scale Repository
Enforce Project Boundaries › … Cons › More Sophisticated CI Setup › Need to Think More About Large-scale Changes Repository Project A App Project B App Project C App … App WebView Manager Reusable Components Plugins API Services Recoil Request … MSW Utils
Enforce Project Boundaries › … Cons › More Sophisticated CI Setup › Need to Think More About Large-scale Changes Repository Project A App Project B App Project C App … App WebView Manager Reusable Components Plugins API Services Recoil Request … MSW Utils
NX Running target build for project seller-center and 3 task(s) it depends on > nx run services:build Compiling TypeScript files for project "services"... Done compiling TypeScript files for project "services". > nx run recoil-request:build Compiling TypeScript files for project "recoil-request"... Done compiling TypeScript files for project "recoil-request". > nx run shared:build Compiling TypeScript files for project "shared"... Done compiling TypeScript files for project "shared". > nx run seller-center:build:production ... NX Successfully ran target build for project seller-center and 3 task(s) it depends on < Command > Processing Command Result Cached fi rst time (no cache) second time (cached)
< Command > Processing Command Result Cached fi rst time (no cache) second time (cached) NX Running target build for project seller-center and 3 task(s) it depends on > nx run seller-center:build:production ... NX Successfully ran target build for project seller-center Nx read the output from the cache instead of running the command for 3 out of 4 tasks.
request automated build & test commits approve merge Unit Test E2E Test SonarQube Unit Test Checkout Setup Environment Install Dependencies Test Affected Restore Cache Detect Affected Set SHAs CI Work fl ows
request automated build & test commits approve merge Unit Test E2E Test SonarQube Unit Test Checkout Setup Environment Install Dependencies Test Affected Restore Cache Detect Affected Set SHAs CI Work fl ows
› Make Nx’s Affected Algorithm Less Effective Strategies to Resolve › Move Pieces of Code from One Project to the Other › Move Code that Both Libraries Depend on into a New Library › Combine Projects into One Library
in a Certain Way › Migration Generator › AST Manipulation › EJS Syntax for Control flow in the Template › Composable Generators Generated Files src/index.html src/main.ts src/components/ src/pages/ tsconfig.json jest.config.ts … Template Files src/index.html src/main.ts__tmpl__ src/components/ src/pages/ tsconfig.json__tmpl__ jest.config.ts__tmpl__ … Generate create/update fi les create/update project con fi g create/update TS con fi g compose other generators update package dependencies format fi les …