Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,31 @@ jobs:

- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
bun-version: 1.3.14

- name: Compile
run: ./mill millbun.compile
run: ./mill --no-server millbun.compile

- name: Unit Tests
run: ./mill millbun.test
run: ./mill --no-server millbun.test

- name: Integration Tests
run: ./mill millbun.integration
run: ./mill --no-server millbun.integration

managed-bun:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'

- name: Managed Bun smoke test
env:
MILL_BUN_USE_SYSTEM: 'false'
run: ./mill --no-server millbun.integration.testOnly mill.bun.BunManagedToolchainIntegrationTests
4 changes: 3 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
bun-version: 1.3.14

- name: Cache Coursier
uses: actions/cache@v4
Expand Down Expand Up @@ -91,6 +91,8 @@ jobs:
run: ./mill --no-server millbun.test

- name: Integration tests
env:
MILL_BUN_USE_SYSTEM: "true"
run: ./mill --no-server millbun.integration

- name: Reset cached publish metadata
Expand Down
23 changes: 22 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Tag-driven release workflow for Maven Central publishing and GitHub releases.
- Release runbook covering secrets, version sweep, annotated tags, and verification.
- Checksum-verified managed Bun 1.3.14 for macOS, Linux, and Windows on x64 and arm64.
- Strict text-lockfile workflow with `bunLock`, frozen installs, and actionable missing-lock failures.
- Canonical `bundle`, `bundleFast`, `compileExecutable`, and `compileExecutables` task names.
- Paired `BunScalaJSWebModule` and `BunTypeScriptWebModule` HTML workflows.
- `npmOptionalDeps`, `npmPeerDeps`, `npmOverrides`, and deterministic dependency conflict detection.
- `BunWorkspaceModule` for one install and lockfile across mixed Scala.js/TypeScript packages.
- Published dependency manifest schema v2 with runtime, optional, and peer requirements.
- `bunDoctor` diagnostics and managed-toolchain CI smoke coverage.

### Changed

- Scala.js linking delegates to Mill's standard linker hooks; applications now choose `scalaJSVersion` explicitly.
- Development dependencies are local tooling inputs and are no longer published transitively.
- `bunPackageJsonExtras` rejects dependency fields now represented by typed settings.
- Missing dependency versions are represented as `latest` instead of an empty package.json value.

### Deprecated

- Scala.js `bunBundle*` and `bunCompile*` task names in favor of their canonical aliases.
- `bunOptionalDeps` in favor of `npmOptionalDeps`.
- `managedBunExecutable` in favor of `bunExecutableOverride`.
- The TypeScript `bunCompileExecutable: Boolean` switch in favor of the `compileExecutable` task.

## [0.2.1] - Overridable test-time JS env (2026-04-17)

Expand Down Expand Up @@ -40,4 +62,3 @@ object test extends BunScalaJSTests:
super.bunTestJsEnv() + ("NODE_ENV" -> "production")
}
```

Loading
Loading