Skip to content

chore: adopt @cosyte/process and the shared config packages - #90

Merged
NSchatz merged 2 commits into
mainfrom
chore/adopt-shared-process
Nov 8, 2026
Merged

NSchatz merged 2 commits into
mainfrom
chore/adopt-shared-process

Conversation

@NSchatz

@NSchatz NSchatz commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

We move transform onto the shared @cosyte/process (0.1.7) and the shared config packages from cosyte/config, and take the repository's held Dependabot and dev-toolchain updates in the same pass.

What changed

  • build, typecheck, lint, lint:fix, format, format:check, test, test:watch and test:coverage are now exactly cosyte-process <verb>. check:process (cosyte-process check) is new and runs in the required standards job, so a test script body can no longer narrow which suites run without CI noticing (the banners in ci.yml and vitest.config.ts say so now).
  • cosyte-process.config.json keeps this repository's wider format globs (examples/**/*.{ts,js,json,md}). The lint globs equal process's baseline, so they need no override.
  • typecheck:examples and lint:examples run process's own tsc and eslint through scripts/process-tool.mjs (the x12 helper): the examples import the built package, so they cannot fold into the verbs CI runs before the build. Both stay in the required examples job; we checked typecheck:examples goes red on an injected type error.
  • version is changeset version && cosyte-process sync-version && cosyte-process format, and pack:docs is cosyte-process pack-docs (same archive members as before). scripts/sync-version.mjs and scripts/build-docs-artifacts.sh are removed.
  • devDependencies removed: tsup, eslint, @vitest/coverage-v8, typescript (nothing here imports the compiler API). Kept and pinned to process's versions: vitest 5.1.0 (the tests import it) and prettier 3.9.10 (changeset version formats CHANGELOG.md with the prettier it resolves from the repository root, and the changelog test imports it). Dependabot now leaves both to move with process.
  • @cosyte/process ^0.1.7 added; floors moved to eslint-config ^0.1.4, tsup-config ^0.1.3, script-utils ^0.1.8, test-utils ^0.1.3 and ^0.1.2/^0.1.3 for the rest. The published peerDependencies (@cosyte/fhir ^0.1.0, @cosyte/hl7 ^0.1.0) are unchanged.
  • The esbuild override moves to "esbuild@>=0.27.3 <0.28.2": "0.28.2", matching config's drift manifest.
  • Toolchain moves the other libraries took: fast-check 4.10.2, vite 8.3.6, @arethetypeswrong/cli 0.18.5, tsx 4.23.15, simple-git-hooks 2.14.0. Prettier 3.9.10 reformats four test and script files.
  • @cosyte/test-utils: the issue-code tripwire now uses sortedCodeSet instead of a local Object.values(...).sort(). The rest of the property suites are transform-specific (sentinel checks over issues, bundle references, emit validity); nothing else in test-utils matches them.
  • vitest.config.ts drops globals: false, environment: "node" and hookTimeout: 10_000 (vitest's defaults) and comments the remaining include and testTimeout.
  • test/scripts/changelog-generation.test.ts reads the format globs from cosyte-process.config.json instead of the old script bodies.
  • AGENTS.md names Node.js 22.22.2 as the floor for the dev tooling; the package's own engines stays >=22.0.0. CI's "22" already resolves to a newer 22.x.

Published files

Same file list. index.mjs and index.cjs are byte-identical to main. index.d.ts and index.d.cts differ in two places: tsup 9 writes the type-only exports as a separate export type { ... } statement (the 135 exported names and which are type-only are identical), and the VERSION doc comment names cosyte-process sync-version. The source maps differ only in that comment's embedded source. attw passes. A patch changeset covers it.

Gate

Full gate run locally on Node 26 with pnpm 10.34.5 after a clean install: typecheck, lint, format:check, phi-scan, test (856 passed, as on main), test:coverage (same thresholds), build, attw, typecheck:examples, lint:examples, examples, phi-scan:examples, check:readme, check:claude-card, check:catalog, check:process, check:no-emdash, check:no-internal-refs. All green. No required check context changes.

Dependabot

PR update action
#61 actions/setup-node 6.4.0 to 7.1.0 taken here (no registry-url in these jobs); #61 closed

Added the @types/node major ignore, which was missing. Held, as across the libraries: changesets 3 (separate task), TypeScript 7 (stays with process), @types/node majors (stay on 22).

https://claude.ai/code/session_01MXLcW95gf97vs9RBU1YsXf

Move build, test, lint, typecheck and format onto the shared
@cosyte/process 0.1.6 and take the held dev-toolchain and Dependabot
updates in the same pass: fast-check 4, vite 8, attw 0.18.5, vitest 5.1.0,
prettier 3.9.10, setup-node 7.1.0 (supersedes #61). The JavaScript is
byte-identical; the type declarations split type-only exports into their
own statement, so a patch changeset is included.

Claude-Session: https://claude.ai/code/session_01MXLcW95gf97vs9RBU1YsXf
@NSchatz
NSchatz merged commit 8d10e8d into main Nov 8, 2026
13 checks passed
@NSchatz
NSchatz deleted the chore/adopt-shared-process branch November 8, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant