@mnci/cli 1.12.1 → 1.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -9
- package/dist/cli.js +19 -9
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,14 +15,14 @@ config package, a custom CI engine, a dependency-injection step for published
|
|
|
15
15
|
packages, a doctor/drift-sync system to keep it all consistent — already has a
|
|
16
16
|
first-party (or established community) Nx equivalent:
|
|
17
17
|
|
|
18
|
-
| Hand-rolled elsewhere | This CLI uses instead
|
|
19
|
-
| ------------------------------------------ |
|
|
20
|
-
| Template engine + per-project config files | `create-nx-workspace --preset=ts` + `nx g` plugin generators
|
|
21
|
-
| A shared toolchain package for configs | The configs the Nx generators emit (one root ESLint/tsconfig)
|
|
22
|
-
| A custom multi-step CI engine | `nx affected -t lint,test,build` + `nx release` (~60-line pipeline)
|
|
23
|
-
| A dist-package dependency injector | `nx release` updates dependent versions natively
|
|
24
|
-
| Hand-written Azure Function templates | `@nx/node:application` (plain Node app) + a thin Azure Functions v4 overlay
|
|
25
|
-
| doctor/drift sync of tool-owned files | Nothing to drift: this CLI owns 5 small files, Nx owns the rest
|
|
18
|
+
| Hand-rolled elsewhere | This CLI uses instead |
|
|
19
|
+
| ------------------------------------------ | ----------------------------------------------------------------------------- |
|
|
20
|
+
| Template engine + per-project config files | `create-nx-workspace --preset=ts` + `nx g` plugin generators |
|
|
21
|
+
| A shared toolchain package for configs | The configs the Nx generators emit (one root ESLint/tsconfig) |
|
|
22
|
+
| A custom multi-step CI engine | `nx affected -t lint,typecheck,test,build` + `nx release` (~60-line pipeline) |
|
|
23
|
+
| A dist-package dependency injector | `nx release` updates dependent versions natively |
|
|
24
|
+
| Hand-written Azure Function templates | `@nx/node:application` (plain Node app) + a thin Azure Functions v4 overlay |
|
|
25
|
+
| doctor/drift sync of tool-owned files | Nothing to drift: this CLI owns 5 small files, Nx owns the rest |
|
|
26
26
|
|
|
27
27
|
## Commands (deliberately just three)
|
|
28
28
|
|
|
@@ -69,7 +69,8 @@ each a single cross-platform command:
|
|
|
69
69
|
| `npm run build` | `nx run-many -t build` |
|
|
70
70
|
| `npm run lint` | `nx run-many -t lint` |
|
|
71
71
|
| `npm run test` | `nx run-many -t test` |
|
|
72
|
-
| `npm run
|
|
72
|
+
| `npm run typecheck` | `nx run-many -t typecheck` — its own script because a bundler-built project's `build` strips types without reading them |
|
|
73
|
+
| `npm run affected` | `nx affected -t lint,typecheck,test,build` (vs `main`) |
|
|
73
74
|
| `npm run graph` | `nx graph` |
|
|
74
75
|
| `npm run release:preview` | `nx release --dry-run` |
|
|
75
76
|
| `npm run python:install` | fixed Python toolchain (ruff/pytest/build/twine) + editable-install every Python project — the same two guards CI runs, for local dev |
|
package/dist/cli.js
CHANGED
|
@@ -1330,7 +1330,8 @@ var ROOT_SCRIPTS = {
|
|
|
1330
1330
|
build: "nx run-many -t build",
|
|
1331
1331
|
lint: "nx run-many -t lint",
|
|
1332
1332
|
test: "nx run-many -t test",
|
|
1333
|
-
|
|
1333
|
+
typecheck: "nx run-many -t typecheck",
|
|
1334
|
+
affected: "nx affected -t lint,typecheck,test,build",
|
|
1334
1335
|
graph: "nx graph",
|
|
1335
1336
|
"release:preview": "nx release --dry-run",
|
|
1336
1337
|
prepare: "husky"
|
|
@@ -1554,10 +1555,14 @@ steps:
|
|
|
1554
1555
|
displayName: Check formatting (run 'npm run format' locally to fix)
|
|
1555
1556
|
# \`lint\` here also runs any Nx lint targets \`npm run lint\` does not cover \u2014
|
|
1556
1557
|
# notably Python's ruff (every Python project owns a hand-authored \`lint\`
|
|
1557
|
-
# target).
|
|
1558
|
-
#
|
|
1559
|
-
-
|
|
1560
|
-
|
|
1558
|
+
# target). The JS lint runs twice, but Nx caches the repeat instantly.
|
|
1559
|
+
#
|
|
1560
|
+
# \`typecheck\` is load-bearing and not covered by \`build\`: a bundler-built
|
|
1561
|
+
# project (esbuild, swc) strips types without reading them, so a workspace can
|
|
1562
|
+
# build, test and lint green while carrying real type errors. --preset=ts
|
|
1563
|
+
# infers a typecheck target for every project, so this costs one target name.
|
|
1564
|
+
- script: npx nx run-many -t lint,typecheck,test,build
|
|
1565
|
+
displayName: Lint, typecheck, test and build everything
|
|
1561
1566
|
|
|
1562
1567
|
# Pack every app into dist/drop/<type>-<name>.zip via each app's 'package'
|
|
1563
1568
|
# target. Portable guard: skip cleanly when the workspace has no apps yet.
|
|
@@ -1732,10 +1737,15 @@ jobs:
|
|
|
1732
1737
|
name: Check formatting (run 'npm run format' locally to fix)
|
|
1733
1738
|
# \`lint\` here also runs any Nx lint targets \`npm run lint\` does not cover \u2014
|
|
1734
1739
|
# notably Python's ruff (every Python project owns a hand-authored \`lint\`
|
|
1735
|
-
# target).
|
|
1736
|
-
#
|
|
1737
|
-
-
|
|
1738
|
-
|
|
1740
|
+
# target). The JS lint runs twice, but Nx caches the repeat instantly.
|
|
1741
|
+
#
|
|
1742
|
+
# \`typecheck\` is load-bearing and not covered by \`build\`: a bundler-built
|
|
1743
|
+
# project (esbuild, swc) strips types without reading them, so a workspace
|
|
1744
|
+
# can build, test and lint green while carrying real type errors.
|
|
1745
|
+
# --preset=ts infers a typecheck target for every project, so this costs
|
|
1746
|
+
# one target name.
|
|
1747
|
+
- run: npx nx run-many -t lint,typecheck,test,build
|
|
1748
|
+
name: Lint, typecheck, test and build everything
|
|
1739
1749
|
|
|
1740
1750
|
# Pack every app into dist/drop/<type>-<name>.zip via each app's 'package'
|
|
1741
1751
|
# target. Portable guard: skip cleanly when the workspace has no apps yet.
|