-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Closed
Description
Library
whole monorepo
Describe the feature that you would like added
nx suites well for our needs as a robust core building blog for best possible mix of great DX, unified tooling, excellent task orchestrator etc under "1 package". Recently nx also added release tool and support for other technologies beyond JS ecosystem which matches with what we would like have in our arsenal ( with more JS tooling shifting towards other languages ).
We already have nx in repo for quite some time, which was used only for generators and various codemods automations.
in recent months we did various preparations for actual nx migration
- adding
project.jsonto every project - replacing lerna functionality with nx
- bootstraped workspace-plugin
Going forward we wanna completely move to nx coherent DX in all areas.
Have you discussed this feature with our team
v-build
Additional context
No response
Tasks
- replace lerna with nx release / [Feature]: replace lerna with nx / make v0 release work #30265
- migrate to nx 18,19 / chore: migrate to nx 19.3.2 #31892
- migrate (later)
- eslint v8 and ts-eslint v7 [Feature]: migrate to latest eslint/@typescript-eslint #30334
- migrate (later)
- normalize project.json names to not include
@fluentuiscope / chore: normalize project names in whole repo #31893 - normalize target naming across monorepo
- migrate from lage to nx for task orchestration / chore: replace lage with nx for task(targets) orchestration #31949
- update
yarn startexperience / feat(scripts-executors): implement newyarn startexperience #32108 - update githooks and pre/post install scripts / feat(scripts-package-manager): dont run git hooks on CI, notify user to run install if needed #32169
- remove all unnecessary npm aliases from root package.json / chore: cleanup root npm script aliases and obsolete code #32286
- improve perf of task execution for v9 ( example - no need to run build before test ) / chore: update repo targetDefaults for test target to not run build and update specific v8 target dependants that needs build before test #32280
- enable inferred task in v-build only owned projects for testing / chore(tools/*,scripts/*): enable nx plugins with project crystal for non production projects #32337
- enable nx
sourceAnalyzerin order to build dependency graph instead of relying on static package.json dependency definitions / chore(nx): enable analyzeSourceFiles in order to build dependency graph based on source files instead statically defined package.json dependencies #32359 - implement just-scripts replacement for v9 related tasks / feat(workspace-plugin): scaffold executors boilerplate (build,generate-api,type-check,verify-packaging,clean) #32299
-
buildexecutor -
generate-apiexecutor / feat(workspace-plugin): implement generate-api executor #32418 -
type-checkexecutor / feat(workspace-plugin): implement type-check executor #32370 -
cleanexecutor / feat(workspace-plugin): implement clean executor #32401 -
verify-packagingexecutor / feat(workspace-plugin): implement verify-packaging executor #32403 -
lint- we will use inferred lint task created by@nx/eslint/plugin -
test- we will use inferred lint task created by@nx/jest/plugin -
bundle-size- keep as is (usingmonosizecli directly ) -
e2e- keep as is ( usingcypresscli directly ) -
storybook- keep as is ( usingstorybookcli directly ) -
test-ssr- keep as is ( usingtest-ssrcli directly ) -
code-style- replace withformattarget ( will usenx formatorprettierCLI directly ) / chore(scripts/*): replace just-scripts and npm script aliases with nx #32371
-
- implement workspace plugin for inferred tasks
- enable inferred workspace plugin and remove all npm-alias/just-script artifacts
Priority
None
Related Issues
- [Feature]: prevent usage of non v9 packages in v9 #25467
- NX 17 slow cache restore nrwl/nx#21037 (cant repro in nx 19)
- Running job that hits cache and has cached outputs slowed down after upgrading to 16.9.0 nrwl/nx#19627 (cant repro in nx 19)
NX issues
- core:runCommands: explicit
--parallelargument doesn't override env variableNX_PARALLELnrwl/nx#26903 show project: renders duplicate target when using inferred task frompackage.json#scriptsnrwl/nx#27143
NX Features (missing/requested)
- CLI: expose `NX_BAIL` as env variable in order to configure `--nxBail` nrwl/nx#26899
- `run-many` extend `--project`,`--exclude` filtering capabilities including filtering non publishable projects nrwl/nx#26901
- add official `metadata` property support to `targets`/`targetDefaults` (global nx.json and per project.json) nrwl/nx#27144
- nx core: support/add time duration logs in executors/plugins nrwl/nx#27712
Issues that can be closed after this Epic is implemented:
Reactions are currently unavailable