Skip to content

Instantly share code, notes, and snippets.

@abdallahYashir
Last active November 17, 2023 04:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abdallahYashir/16a217295d1459c6400114d23d140235 to your computer and use it in GitHub Desktop.
Save abdallahYashir/16a217295d1459c6400114d23d140235 to your computer and use it in GitHub Desktop.
Nx monorepo example
{
"npmScope": "myorg",
"implicitDependencies": {
"backend-ts": ["shared"],
"backend-django": ["shared"],
"scraping": ["shared"],
"frontend": ["shared"],
"tests": ["shared"]
},
"projects": {
"backend-ts": {
"tags": ["backend", "typescript"],
"root": "apps/backend-ts",
"sourceRoot": "apps/backend-ts/src",
"projectType": "application",
"architect": {
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["apps/backend-ts/**/*.ts"]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"options": {
"jestConfig": "apps/backend-ts/jest.config.js",
"passWithNoTests": true
}
},
"build": {
"builder": "@nrwl/node:build",
"options": {
"outputPath": "dist/apps/backend-ts",
"main": "apps/backend-ts/src/main.ts",
"tsConfig": "apps/backend-ts/tsconfig.app.json",
"assets": ["apps/backend-ts/src/assets"]
}
}
}
},
"backend-django": {
"root": "apps/my-django-app",
"projectType": "application",
"sourceRoot": "src",
"targets": {
"build": {
"executor": "exec",
"outputs": ["{options.outputPath}"],
"options": {
"buildTarget": "django:build"
}
},
"lint": {
"executor": "@nrwl/linter:lint",
"outputs": ["{options.outputPath}"],
"options": {
"linter": "flake8",
}
},
"deploy": {
"executor": "@nrwl/node:execute",
"outputs": ["{options.outputPath}"],
"options": {
"buildTarget": "node:execute",
"command": "python manage.py deploy"
}
}
}
},
"scraping": {
"tags": ["python"],
"root": "apps/scraping",
"projectType": "application",
"architect": {
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["apps/scraping/**/*.py"]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"options": {
"jestConfig": "apps/scraping/jest.config.js",
"passWithNoTests": true
}
}
}
},
"frontend": {
"tags": ["frontend", "vuejs"],
"root": "apps/frontend",
"sourceRoot": "apps/frontend/src",
"projectType": "application",
"architect": {
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["apps/frontend/**/*.ts"]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"options": {
"jestConfig": "apps/frontend/jest.config.js",
"passWithNoTests": true
}
},
"build": {
"builder": "@nrwl/web:build",
"options": {
"outputPath": "dist/apps/frontend",
"index": "apps/frontend/src/index.html",
"main": "apps/frontend/src/main.ts",
"tsConfig": "apps/frontend/tsconfig.app.json",
"assets": ["apps/frontend/src/assets"]
}
}
}
},
"tests": {
"tags": ["tests", "jest", "cypress"],
"root": "apps/tests",
"projectType": "application",
"architect": {
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["apps/tests/**/*.ts"]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"options": {
"jestConfig": "apps/tests/jest.config.js",
"passWithNoTests": true
}
},
"e2e": {
"builder": "@nrwl/cypress:cypress",
"options": {
"cypressConfig": "apps/tests/cypress.json",
"devServerTarget": "frontend:serve"
}
}
}
},
"shared": {
"tags": [],
"root": "libs/shared",
"sourceRoot": "libs/shared/src",
"projectType": "library",
"architect": {
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": ["libs/shared/**/*.ts"]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"options": {
"jestConfig": "libs/shared/jest.config.js",
"passWithNoTests": true
}
},
"build": {
"builder": "@nrwl/node:build",
"options": {
"outputPath": "dist/libs/shared",
"main": "libs/shared/src/index.ts",
"tsConfig": "libs/shared/tsconfig.lib.json",
"assets": ["libs/shared/src/assets"]
}
}
}
}
},
"cli": {
"defaultCollection": "@nrwl/workspace"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment