Skip to content

chore: update @elgato/schemas to use @elgato/tsconfig - #185

Merged
GeekyEggo merged 41 commits into
mainfrom
tsconfig-schemas
Oct 23, 2026
Merged

GeekyEggo merged 41 commits into
mainfrom
tsconfig-schemas

Conversation

@GeekyEggo

Copy link
Copy Markdown
Member

No description provided.

… for both apps and libs, and Stream Deck plugins for node (WIP)
@changeset-bot

changeset-bot Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 22d42e7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@elgato/schemas Minor
@elgato/cli Patch
@elgato/streamdeck Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Wireit omits the new build configuration from its tracked inputs, allowing configuration-only changes to reuse stale compiled artifacts.

1 open issue
1 file not reviewed
  • pnpm-lock.yaml: Generated file
What changed in this PR

Migrates @elgato/schemas to the shared TypeScript configuration and compiler-based ES module output, updating CLI consumers and package publishing rules.

Changes:

  • Replaces Rollup with TypeScript compilation and updates imports and tests for the shared configuration.
  • Removes CommonJS output and bundled JSON exports; updates the CLI to import JSON schemas directly.
  • Adjusts build caching, published file patterns, dependencies, documentation, and release notes.
File Description
turbo.json Caches generated schema files alongside compiled output.
pnpm-lock.yaml Updates configuration dependencies and removes unused Rollup tooling.
packages/​schemas/​tsconfig.json Adopts shared configuration for source and tests.
packages/​schemas/​tsconfig.build.json Adds a dedicated compilation configuration.
packages/​schemas/​tests/​validate.ts Updates Ajv and relative imports.
packages/​schemas/​tests/​setup.ts Adds an explicit module extension.
packages/​schemas/​src/​streamdeck/​plugins/​schemas.ts Updates schema type imports for ES modules.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​v7.6.ts Updates the manifest import extension.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​v7.1.ts Updates type import extensions.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​v7.0.ts Updates type import extensions.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​v6.9.ts Updates type import extensions.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​v6.6.ts Updates type import extensions.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​v6.5.ts Updates type import extensions.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​v6.4.ts Updates the manifest import extension.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​latest.ts Uses explicit extensions and a type-only device import.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​__tests__/​v7.1.test.ts Adds a fixture array non-null assertion.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​__tests__/​v7.0.test.ts Adds fixture array non-null assertions.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​__tests__/​v6.9.test.ts Adds a fixture array non-null assertion.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​__tests__/​v6.6.test.ts Adds fixture array non-null assertions.
packages/​schemas/​src/​streamdeck/​plugins/​manifest/​__tests__/​all.test.ts Updates fixture access for stricter type checking.
packages/​schemas/​src/​streamdeck/​plugins/​layout/​stream-deck-plus.ts Updates layout type import extensions.
packages/​schemas/​src/​streamdeck/​plugins/​layout/​stream-deck-neo.ts Updates layout type import extensions.
packages/​schemas/​src/​streamdeck/​plugins/​layout/​layout.ts Updates shared layout import extensions.
packages/​schemas/​src/​streamdeck/​plugins/​layout/​__tests__/​stream-deck-plus.test.ts Adds non-null and tuple type assertions.
packages/​schemas/​src/​streamdeck/​plugins/​layout/​__tests__/​stream-deck-neo.test.ts Adds non-null and tuple type assertions.
packages/​schemas/​src/​streamdeck/​plugins/​json.ts Removes bundled JSON re-exports.
packages/​schemas/​src/​streamdeck/​plugins/​index.ts Updates public export extensions.
packages/​schemas/​rollup.config.ts Removes the Rollup build configuration.
packages/​schemas/​README.md Documents direct JSON imports instead of bundled exports.
packages/​schemas/​package.json Switches compilation, exports, and dependencies.
packages/​plugin/​package.json Consolidates published file patterns.
packages/​cli/​tsup.config.ts Bundles imported schema JSON files.
packages/​cli/​tsconfig.json Enables JSON module resolution.
packages/​cli/​src/​validation/​plugin/​schemas.ts Imports schema JSON with import attributes.
packages/​cli/​package.json Updates published CLI file patterns.
.changeset/​fiery-cooks-sniff.md Records removal of older CommonJS support.
.changeset/​fair-suns-drum.md Records the shared TypeScript configuration migration.
.changeset/​fair-ants-smash.md Records removal of pre-bundled JSON exports.

Review effort: Balanced

Comment thread packages/schemas/package.json

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Missing Wireit schema inputs and task dependencies can leave the CLI library using stale bundled validation schemas.

1 open issue
1 resolved since last review
1 file not reviewed
  • pnpm-lock.yaml: Generated file

Review effort: Balanced

Comment thread packages/cli/tsup.config.ts
Copilot AI balanced review requested due to automatic review settings October 23, 2026 14:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The export build does not track tsconfig.build.json as an input, allowing configuration changes to leave stale compiled output.

1 open issue
1 file not reviewed
  • pnpm-lock.yaml: Generated file

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 23, 2026 16:46
@GeekyEggo
GeekyEggo requested a review from ChekTek October 23, 2026 16:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The export build still omits its new compiler configuration from tracked inputs, allowing stale build artifacts after configuration changes.

No open issues 🎉

1 resolved since last review
1 file not reviewed
  • pnpm-lock.yaml: Generated file

Review effort: Balanced

@GeekyEggo
GeekyEggo merged commit 835f07a into main Oct 23, 2026
5 checks passed
@GeekyEggo
GeekyEggo deleted the tsconfig-schemas branch October 23, 2026 20:17
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.

3 participants