Skip to content

Make Bun workflows idiomatic for Mill and Scala.js - #13

Draft
arcaputo3 wants to merge 1 commit into
mainfrom
agent/idiomatic-scalajs-mill-workflows
Draft

Make Bun workflows idiomatic for Mill and Scala.js#13
arcaputo3 wants to merge 1 commit into
mainfrom
agent/idiomatic-scalajs-mill-workflows

Conversation

@arcaputo3

Copy link
Copy Markdown
Contributor

Summary

  • add checksum-verified managed Bun 1.3.14 across macOS, Linux, and Windows, while retaining an explicit system-Bun override and a diagnostic bunDoctor task
  • make Scala.js linking and Mill task names idiomatic, add strict lockfile workflows, and evolve dependency manifests to schema v2
  • add reusable Scala.js and TypeScript web modules plus mixed Bun workspace support
  • expand unit/integration coverage, CI, examples, README guidance, changelog entries, and a 0.3 migration guide

Why

The plugin was useful but still required application-specific glue around Bun installation, Scala.js linking, web asset assembly, workspaces, and reproducible installs. This change turns those recurring patterns into supported Mill modules and canonical tasks so Scala.js and TypeScript projects can use Bun with less custom build code.

Developer impact

This is the planned 0.3 API surface. Existing aliases remain deprecated for migration, while projects should move to the canonical task names and declare scalaJSVersion explicitly. Lockfiles are required by default, and dependency fields are now generated from typed inputs rather than overridden through package-json extras. See docs/MIGRATING-0.3.md for the complete migration path.

Validation

  • ./mill --no-server millbun.compile
  • ./mill --no-server millbun.test.testForked — 51 tests passed
  • ./mill --no-server millbun.integration — 35 integration scenarios passed
  • env MILL_BUN_USE_SYSTEM=false ./mill --no-server millbun.integration.testOnly mill.bun.BunManagedToolchainIntegrationTests — managed download smoke test passed
  • git diff --cached --check passed before commit

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