@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 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 affected` | `nx affected -t lint,test,build` (vs `main`) |
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
- affected: "nx affected -t lint,test,build",
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). For the eslint stack the JS lint runs twice, but Nx caches the
1558
- # repeat instantly.
1559
- - script: npx nx run-many -t lint,test,build
1560
- displayName: Lint, test and build everything
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). For the eslint stack the JS lint runs twice, but Nx caches the
1736
- # repeat instantly.
1737
- - run: npx nx run-many -t lint,test,build
1738
- name: Lint, test and build everything
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.