Skip to content

Commit 157f511

Browse files
authored
new: Improve JavaScript integration. (#2085)
* Fix test utils. * chore: Release * Move things around. * Update proto. * chore: Release * Add tests. * Fix builders. * Polish. * Fix action graph. * Polish. * Update plugins. * Polish. * Fix ag order. * Fix edges. * Only run in node version.
1 parent 635c745 commit 157f511

59 files changed

Lines changed: 1511 additions & 1005 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/moon.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ jobs:
3030
strategy:
3131
matrix:
3232
os: [ubuntu-latest, windows-latest]
33-
node-version: [18, 20, 22]
3433
steps:
3534
- uses: actions/checkout@v4
3635
with:
@@ -43,7 +42,7 @@ jobs:
4342
env:
4443
DEPOT_TOKEN: ${{ secrets.DEPOT_TOKEN }}
4544
MOON_DEBUG_REMOTE: true
46-
MOON_NODE_VERSION: ${{ matrix.node-version }}
45+
MOON_DEBUG_PROCESS_ENV: true
4746
RUST_BACKTRACE: '1'
4847
- uses: moonrepo/run-report-action@v1
4948
if: success() || failure()

.github/workflows/rust.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ concurrency:
1111
cancel-in-progress: true
1212

1313
env:
14+
WARPGATE_PLUGINS_DIR: ${{ github.workspace }}/wasm
1415
# RUST_LOG: trace
1516
# setup-rust
1617
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -110,7 +111,7 @@ jobs:
110111
with:
111112
auto-install: true
112113
cache: true
113-
proto-version: '0.51.6' # Keep in sync
114+
proto-version: '0.52.1' # Keep in sync
114115
- uses: mozilla-actions/sccache-action@v0.0.7
115116
if: ${{ vars.ENABLE_SCCACHE == 'true' }}
116117
# Fixes issues where proto can't find a version because nothing is pinned globally

.moon/toolchain.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
$schema: './cache/schemas/toolchain.json'
22

3-
# rust:
4-
# version: '1.86.0'
5-
# bins:
6-
# - 'cargo-nextest'
7-
# syncToolchainConfig: true
8-
9-
node:
10-
version: '22.14.0'
3+
unstable_javascript:
114
packageManager: 'yarn'
12-
yarn:
13-
version: '4.8.0'
14-
addEnginesConstraint: false
155
inferTasksFromScripts: false
6+
syncPackageManagerField: true
7+
syncProjectWorkspaceDependencies: true
8+
9+
unstable_node:
10+
version: '22.14.0'
11+
12+
unstable_yarn:
13+
version: '4.8.0'
1614

1715
typescript:
1816
routeOutDirToCache: true

CHANGELOG.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,22 @@
22

33
## Unreleased
44

5+
#### 💥 Breaking
6+
7+
- The legacy toolchains (bun, node, python, etc) will no longer automatically enable if there's a
8+
version defined in `.prototools`, as there's no way to differentiate between the legacy and modern
9+
toolchains.
10+
- The `task.toolchain` setting now merges with detected toolchains, instead of entirely overriding
11+
it. This change was made to properly support how toolchain plugins function going forward.
12+
513
#### 🚀 Updates
614

715
- Added new JavaScript ecosystem toolchain WASM plugins. This was a large feature that required
816
extensive work, as the JavaScript ecosystem is quite unique. The following plugins are being
917
introduced:
1018
- `unstable_javascript`
11-
- A new JavaScript specific plugin that is a superset of all JavaScript runtimes (Deno coming
12-
soon).
19+
- A new JavaScript specific plugin that is a superset of all JavaScript runtimes (Bun & Node,
20+
with Deno coming soon).
1321
- Implements tier 1 and 2 features, and is now in charge of defining the package manager,
1422
installing dependencies, extending the project graph (aliases and tasks), parsing
1523
lockfiles/manifests, and much more.
@@ -34,6 +42,8 @@
3442
#### 🧩 Plugins
3543

3644
- WASM API
45+
- Added a new `define_requirements` plugin API for tier 2.
46+
- Added `DefineRequirementsInput` and `DefineRequirementsOutput` types.
3747
- Added `MoonContext.get_project_root` and `get_project_root_from_source` methods.
3848
- Added `ExtendProjectGraphInput.toolchain_config` field.
3949
- Added `ExtendTaskCommandInput.toolchain_config` and `project` fields.
@@ -43,7 +53,8 @@
4353

4454
#### ⚙️ Internal
4555

46-
- Updated Rust to v1.88.0.
56+
- Updated proto to [v0.52.1](https://github.com/moonrepo/proto/releases/tag/v0.52.0) (from 0.51.4).
57+
- Updated Rust to v1.89.0.
4758

4859
## 1.39.4
4960

0 commit comments

Comments
 (0)