-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.json
More file actions
148 lines (147 loc) · 5.95 KB
/
Copy pathproject.json
File metadata and controls
148 lines (147 loc) · 5.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
{
"name": "build-tools-workspace",
"//": [
"This is the project config for build-tools-workspace --the workspace-level orchestration project.",
"",
"It owns targets that are specific to this workspace as a whole.",
"The main purpose of this config file is enforcement of formatting, type safety,",
"code layout and other conventions.",
"",
"Developer workflow:",
" update-all — run locally before committing to bring all generated content up to date",
" check-all — run locally to verify everything is correct (same as CI)",
"",
"CI calls check-all, so 'check-all locally' and 'push to CI' are equivalent.",
"",
"For the rule on what belongs here vs nx.json targetDefaults, see nx.json '//'."
],
"projectType": "library",
"implicitDependencies": [
"@datalackey/tooling-core",
"@datalackey/update-markdown-toc",
"@datalackey/nx-graph-to-mermaid",
"@datalackey/update-markdown-uml"
],
"targets": {
"update-toc": {
"command": "node update-markdown-toc/bin/update-markdown-toc.js --recursive . -e node_modules,test,test-fixtures,tests",
"cwd": "{workspaceRoot}",
"dependsOn": ["@datalackey/update-markdown-toc:build"]
},
"update-uml": {
"command": "sh -c 'node update-markdown-uml/bin/update-markdown-uml.js --source tooling-core/src tooling-core/README.md && node update-markdown-uml/bin/update-markdown-uml.js --source nx-graph-to-mermaid/src nx-graph-to-mermaid/docs/CONTRIBUTING.md && node update-markdown-uml/bin/update-markdown-uml.js --source update-markdown-toc/src update-markdown-toc/docs/CONTRIBUTING.md && node update-markdown-uml/bin/update-markdown-uml.js --source update-markdown-uml/src update-markdown-uml/docs/CONTRIBUTING.md'",
"cwd": "{workspaceRoot}",
"dependsOn": ["@datalackey/update-markdown-uml:build"]
},
"update-mermaid": {
"executor": "@datalackey/nx-graph-to-mermaid:run",
"options": {
"mode": "update",
"projectJsonPath": "project.json",
"markdownPath": "README.md"
},
"dependsOn": ["@datalackey/nx-graph-to-mermaid:build"]
},
"check-mermaid": {
"executor": "@datalackey/nx-graph-to-mermaid:run",
"options": {
"mode": "check",
"projectJsonPath": "project.json",
"markdownPath": "README.md"
},
"dependsOn": ["@datalackey/nx-graph-to-mermaid:build"]
},
"update-docs": {
"//": [
"Updates all auto-generated documentation in the workspace.",
"update-mermaid will be wired once NX_GRAPH markers are placed."
],
"dependsOn": [
"build-tools-workspace:update-toc",
"build-tools-workspace:update-uml",
"build-tools-workspace:update-mermaid"
]
},
"update-format": {
"command": "npx prettier --write .",
"cwd": "{workspaceRoot}"
},
"update-all": {
"//": [
"Run locally before committing.",
"Updates all generated documentation and reformats all code.",
"Lint is intentionally excluded — lint errors must be fixed manually."
],
"dependsOn": [
"build-tools-workspace:update-docs",
"build-tools-workspace:update-format",
"build-tools-workspace:format"
]
},
"check-toc": {
"command": "node update-markdown-toc/bin/update-markdown-toc.js --check --recursive . -e node_modules,test,test-fixtures,tests -l 5000",
"cwd": "{workspaceRoot}",
"dependsOn": ["^build"]
},
"check-uml": {
"command": "sh -c 'node update-markdown-uml/bin/update-markdown-uml.js --check --source tooling-core/src tooling-core/README.md && node update-markdown-uml/bin/update-markdown-uml.js --check --source nx-graph-to-mermaid/src nx-graph-to-mermaid/docs/CONTRIBUTING.md && node update-markdown-uml/bin/update-markdown-uml.js --check --source update-markdown-toc/src update-markdown-toc/docs/CONTRIBUTING.md && node update-markdown-uml/bin/update-markdown-uml.js --check --source update-markdown-uml/src update-markdown-uml/docs/CONTRIBUTING.md'",
"cwd": "{workspaceRoot}",
"dependsOn": ["@datalackey/update-markdown-uml:build"]
},
"check-docs": {
"//": [
"Inverse of update-docs. Verifies all auto-generated documentation",
"is up to date without writing any files."
],
"dependsOn": [
"build-tools-workspace:check-toc",
"build-tools-workspace:check-uml",
"build-tools-workspace:check-mermaid"
]
},
"check-lint": {
"cwd": "{workspaceRoot}",
"dependsOn": [
"@datalackey/tooling-core:lint",
"@datalackey/update-markdown-toc:lint",
"@datalackey/nx-graph-to-mermaid:lint",
"@datalackey/update-markdown-uml:lint"
]
},
"check-format": {
"command": "npx prettier --check .",
"cwd": "{workspaceRoot}"
},
"check-types": {
"//": [
"Aggregates per-package check-types targets.",
"Each package's check-types covers both prod (src/) and test (tests/) type checking.",
"CI gate only — not part of the local build loop.",
"Philosophy: developers fix type errors in the IDE (red = do not commit).",
"This target exists to catch the lazy commit."
],
"dependsOn": [
"@datalackey/tooling-core:check-types",
"@datalackey/nx-graph-to-mermaid:check-types",
"@datalackey/update-markdown-uml:check-types",
"@datalackey/update-markdown-toc:check-types",
"@datalackey/autogen-markdown-doc:check-test-types"
]
},
"check-all": {
"//": [
"Run locally before pushing — equivalent to what CI runs.",
"If check-all passes locally, CI will pass."
],
"dependsOn": [
"build-tools-workspace:check-docs",
"build-tools-workspace:check-lint",
"build-tools-workspace:check-format",
"build-tools-workspace:check-types"
]
},
"ci": {
"dependsOn": ["^build", "^test", "build-tools-workspace:check-all"]
}
}
}