@bensandee/tooling 0.86.1 → 0.87.1

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
@@ -93,11 +93,11 @@ The generated `ci:check` script defaults to `pnpm check --skip 'docker:*'` since
93
93
 
94
94
  For `stack: "typescript"` repos, `repo:sync` generates a `lint:types` script (`bst lint:types`, backed by a managed `oxlint-tsgolint` devDependency) and inserts a `lint:types` step into `checks:run` right after `lint`. It runs `oxlint --type-aware` and selects its findings by subtracting a plain `oxlint` run from it -- there is no maintained list of type-aware rule names, so a rule oxlint adds lands the day it ships.
95
95
 
96
- **Two phases, and the tooling's own version carries them.** The **report** phase prints every finding, states plainly that they will block once a later tooling release flips to **enforce**, and exits 0. The flip is one constant in the tooling's source, so it reaches every consumer as an ordinary `@bensandee/tooling` version bump -- no coordinated migration, nothing to remember. `.tooling.json#lint.strictTypeAware` (default `false`) lets a repo opt into blocking during the report phase, ahead of the fleet-wide flip.
96
+ **Findings block.** The step prints every finding and exits 1 when there are any, in every repo. Whether findings block is one constant in the tooling's source, so a change to it reaches every consumer as an ordinary `@bensandee/tooling` version bump.
97
97
 
98
98
  **The whole default rule set ships, and the tooling excludes nothing.** A repo's own `oxlint.config.ts` is the per-rule control -- turning a rule off there (`"typescript/<rule>": "off"`) is honored by the type-aware run, and since plain `oxlint` ignores type-aware rules entirely, such an entry never weakens `pnpm lint`. In increasing order of bluntness: turn off one rule in `oxlint.config.ts`, or skip the whole step with `.tooling.json#checks.skip: ["lint:types"]`.
99
99
 
100
- A missing `oxlint-tsgolint` binary degrades to a notice at exit 0 in the report phase, and fails only when `lint.strictTypeAware` is set -- a repo that has not armed enforcement should not have CI broken by a platform gap, and a repo that has asked for the gate should not silently lose it.
100
+ A missing `oxlint-tsgolint` binary degrades to a notice at exit 0, and fails only when `.tooling.json#lint.strictTypeAware` (default `false`) is set -- a repo that has not armed it should not have CI broken by a platform gap, and a repo that has asked for the gate should not silently lose it.
101
101
 
102
102
  ### Custom blocks in workflows
103
103
 
@@ -403,7 +403,7 @@ The trimmed record's `packages` map is computed by aggregating files whose path
403
403
 
404
404
  Docker packages are discovered automatically. Any package with a `Dockerfile` or `docker/Dockerfile` is a Docker package. Image names are derived as `{root-package-name}-{package-name}`, build context defaults to `.` (project root). For single-package repos, `Dockerfile` or `docker/Dockerfile` at the project root is checked.
405
405
 
406
- When Docker packages are present, `repo:sync` generates a publish workflow (`.forgejo/workflows/publish.yml` or `.github/workflows/publish.yml`) triggered via `workflow_dispatch` for manual runs. For the `simple` release strategy, docker publishing is also added as a step in the release workflow so it runs automatically after each release.
406
+ With `publishDocker` set, the release workflow publishes Docker images after each release. To publish by hand, run `bst docker:publish` with the registry credentials. `repo:sync` archives a managed `publish.yml` left by older versions.
407
407
 
408
408
  #### Overrides
409
409