Skip to content

feat: add explicit app build configuration - #670

Draft
jeroenwienk wants to merge 1 commit into
developfrom
codex/explicit-app-builds
Draft

jeroenwienk wants to merge 1 commit into
developfrom
codex/explicit-app-builds

Conversation

@jeroenwienk

Copy link
Copy Markdown
Contributor

JavaScript apps that install TypeScript only for JSDoc checking currently trigger compilation and TypeScript driver templates. Add a boolean homey.build setting in the app's package.json so apps can control their build step independently of their source language.

  • true runs npm run build from the app directory without TypeScript-specific checks. Scripts write generated deployment files into the prepared .homeybuild directory.
  • false skips the app build script while preserving Compose, source/dependency copying, and normal validation.
  • Omitted settings retain legacy TypeScript dependency detection and configuration checks. Invalid explicit settings fail before preprocessing changes files.

Driver templates infer the source language from the entry file or root app files, with the existing dependency fallback and ESM branch preserved. New JavaScript apps set homey.build: false; new TypeScript apps set it to true. The README documents the build contract and JSDoc use case. Native TypeScript execution and a future opt-in default remain separate work.

Validation: all 323 tests pass with npm run test:coverage, including CI coverage thresholds. Focused fixtures cover real npm build execution, failures, legacy configuration checks, preprocessing, templates, and scaffolding. npm run lint and npm run prettier:check also pass.

@jeroenwienk jeroenwienk self-assigned this Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant