Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
58e059c
starting to submodule glimmer-vm
ef4 Mar 17, 2025
959440a
committing other side
ef4 Mar 17, 2025
1442a7c
include glimmer-vm/packages in build
ef4 Mar 17, 2025
e4c26cf
working on directly loading @glimmer/compiler into node
ef4 Mar 17, 2025
49a1bb4
progress
ef4 Apr 29, 2025
8e06a94
Merge remote-tracking branch 'origin/main' into glimmervm-submodule
ef4 May 6, 2025
f4462e9
Merge remote-tracking branch 'origin/main' into glimmervm-submodule
ef4 Aug 12, 2025
f40db2f
post-merge dep update
ef4 Aug 12, 2025
c6cbe78
progress on running the glimmer-vm tests
ef4 Aug 12, 2025
581650f
back out the change that made the top-level vm dir a package
ef4 Aug 12, 2025
c959bda
update submodule ref
ef4 Aug 19, 2025
1ea8bbf
provide VM_LOCAL_DEV
ef4 Sep 2, 2025
699eebb
getting type-checking for glimmer-vm working here
ef4 Sep 2, 2025
b70be1f
adding separate type publishing config for vm
ef4 Sep 9, 2025
3974034
Merge branch 'main' into glimmervm-submodule
ef4 Sep 30, 2025
8038bf8
update glimmer-vm ref
ef4 Sep 30, 2025
1492d43
post-merge fixes
ef4 Sep 30, 2025
0235065
progress on build:types
ef4 Sep 30, 2025
28a0ac1
adding missing type dependencies
ef4 Sep 30, 2025
d54fc80
type tests are passing now
ef4 Sep 30, 2025
e950eb6
fix resolution of glimmer-vm packages during build
ef4 Sep 30, 2025
b5b0b7d
merged upstream
ef4 Oct 7, 2025
931104e
don't need this anymore
ef4 Oct 7, 2025
6dce10a
add submodule to type-checking ci
ef4 Oct 7, 2025
bfd8748
enabling submodules for more steps
ef4 Oct 7, 2025
cea0651
Merge remote-tracking branch 'origin/main' into glimmervm-submodule
ef4 Oct 7, 2025
c1ce12c
don't error on test entrypoints
ef4 Oct 7, 2025
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
1 change: 1 addition & 0 deletions .env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VM_LOCAL_DEV = true
30 changes: 25 additions & 5 deletions .github/workflows/ci-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

permissions:
contents: read

jobs:
lint:
name: Linting
Expand All @@ -14,6 +14,8 @@ jobs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: linting
run: pnpm lint
Expand All @@ -28,12 +30,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build types
run: pnpm build:types
- name: Check published and internal types
run: pnpm type-check

types-range:
name: Type Checking (other supported versions)
runs-on: ubuntu-latest
Expand All @@ -43,25 +47,29 @@ jobs:
ts-version: [ '5.2', '5.3', '5.4', '5.5', '5.6', '5.7', '5.8', '5.9' ]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build stable type definitions
run: pnpm build:types
- name: install TS@${{matrix.ts-version}}
run: pnpm add --save-dev --workspace-root typescript@${{ matrix.ts-version }}
- name: Check published and internal types with TS@${{matrix.ts-version}}
run: pnpm type-check

basic-test:
name: Basic Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build
run: pnpm vite build --mode=development
- name: test
run: pnpm test

variant-tests:
name: ${{ matrix.name }}
runs-on: ubuntu-latest
Expand All @@ -87,6 +95,8 @@ jobs:

steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build
run: pnpm vite build --mode=${{ matrix.BUILD || 'development' }}
Expand All @@ -98,13 +108,15 @@ jobs:
RAISE_ON_DEPRECATION: ${{ matrix.RAISE_ON_DEPRECATION }}

run: pnpm test

browserstack-test:
name: Browserstack Tests (Safari, Edge)
runs-on: ubuntu-latest
needs: [ basic-test, lint, types ]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build
env:
Expand Down Expand Up @@ -134,6 +146,8 @@ jobs:
matrix: ${{fromJson(needs.lint.outputs.matrix)}}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
with:
use_lockfile: "false"
Expand All @@ -150,6 +164,8 @@ jobs:
needs: [basic-test, lint, types]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build
env:
Expand All @@ -164,6 +180,8 @@ jobs:
needs: [lint]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: test
run: pnpm test:blueprints
Expand All @@ -174,6 +192,8 @@ jobs:
needs: [basic-test, lint, types]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build
run: pnpm vite build --mode=development
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ jobs:
if: github.event_name == 'push' && contains(github.ref, 'cron') != true
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build for publish
run: node bin/build-for-publishing.js
Expand All @@ -47,6 +49,8 @@ jobs:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ./.github/actions/setup
- name: build for publish
run: node bin/build-for-publishing.js
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "glimmer-vm"]
path = glimmer-vm
url = [email protected]:glimmerjs/glimmer-vm.git
2 changes: 1 addition & 1 deletion babel.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export default {
{
compilerPath: resolve(
dirname(fileURLToPath(import.meta.url)),
'./broccoli/glimmer-template-compiler'
'./broccoli/glimmer-template-compiler.mjs'
),
},
],
Expand Down
7 changes: 1 addition & 6 deletions babel.test.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
*/

import { createRequire } from 'node:module';
import vmBabelPlugins from '@glimmer/vm-babel-plugins';
import baseConfig from './babel.config.mjs';

// eslint-disable-next-line no-redeclare
Expand All @@ -28,9 +27,5 @@ export default {
],
],

plugins: [
...baseConfig.plugins,
buildDebugMacroPlugin(!isProduction),
...vmBabelPlugins({ isDebug: !isProduction }),
],
plugins: [...baseConfig.plugins, buildDebugMacroPlugin(!isProduction)],
};
4 changes: 0 additions & 4 deletions broccoli/glimmer-template-compiler.js

This file was deleted.

8 changes: 8 additions & 0 deletions broccoli/glimmer-template-compiler.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import '@swc-node/register/esm-register';

// this needs to be async because otherwise the esm-register above hasn't taken
// effect yet.
const minimal = await import('../packages/ember-template-compiler/minimal.ts');

const { precompile, _buildCompileOptions, _preprocess, _print } = minimal;
export { precompile, _buildCompileOptions, _preprocess, _print };
1 change: 1 addition & 0 deletions glimmer-vm
Submodule glimmer-vm added at fa05a1
22 changes: 3 additions & 19 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,22 +68,6 @@
"@babel/core": "^7.24.4",
"@ember/edition-utils": "^1.2.0",
"@embroider/addon-shim": "^1.9.0",
"@glimmer/compiler": "0.94.11",
"@glimmer/destroyable": "0.94.8",
"@glimmer/global-context": "0.93.4",
"@glimmer/interfaces": "0.94.6",
"@glimmer/manager": "0.94.10",
"@glimmer/node": "0.94.10",
"@glimmer/opcode-compiler": "0.94.10",
"@glimmer/owner": "0.93.4",
"@glimmer/program": "0.94.10",
"@glimmer/reference": "0.94.9",
"@glimmer/runtime": "0.94.11",
"@glimmer/syntax": "0.95.0",
"@glimmer/util": "0.94.8",
"@glimmer/validator": "0.95.0",
"@glimmer/vm": "0.94.8",
"@glimmer/vm-babel-plugins": "0.93.5",
"@simple-dom/interface": "^1.4.0",
"backburner.js": "^2.8.0",
"broccoli-file-creator": "^2.1.1",
Expand Down Expand Up @@ -114,7 +98,7 @@
"@embroider/macros": "^1.18.0",
"@embroider/shared-internals": "^2.5.0",
"@eslint/js": "^9.21.0",
"@glimmer/component": "workspace:^",
"@glimmer/component": "workspace:*",
"@rollup/plugin-babel": "^6.0.4",
"@simple-dom/document": "^1.4.0",
"@swc-node/register": "^1.6.8",
Expand All @@ -125,7 +109,7 @@
"ast-types": "^0.14.2",
"auto-dist-tag": "^2.1.1",
"babel-plugin-debug-macros": "1.0.0",
"babel-plugin-ember-template-compilation": "^2.1.1",
"babel-plugin-ember-template-compilation": "3.0.0-alpha.4",
"brotli": "^1.3.3",
"dag-map": "^2.0.2",
"decorator-transforms": "2.0.0",
Expand Down Expand Up @@ -167,7 +151,7 @@
"terser": "^5.42.0",
"testem": "^3.10.1",
"testem-failure-only-reporter": "^1.0.0",
"typescript": "5.2",
"typescript": "^5.7.3",
"typescript-eslint": "^8.26.0",
"vite": "^5.4.12"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import Service, { service } from '@ember/service';
import type Owner from '@ember/owner';

class RenderComponentTestCase extends AbstractStrictTestCase {
component: (RenderResult & { rerender: () => void }) | undefined;
declare component: (RenderResult & { rerender: () => void }) | undefined;
owner: Owner;

constructor(assert: QUnit['assert']) {
Expand Down
36 changes: 19 additions & 17 deletions packages/@ember/-internals/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,29 +37,31 @@
"@ember/modifier": "workspace:*",
"@ember/object": "workspace:*",
"@ember/owner": "workspace:*",
"@ember/reactive": "workspace:*",
"@ember/routing": "workspace:*",
"@ember/runloop": "workspace:*",
"@ember/service": "workspace:*",
"@ember/template-factory": "workspace:*",
"@ember/utils": "workspace:*",
"@ember/version": "workspace:*",
"@glimmer/compiler": "0.94.11",
"@glimmer/component": "workspace:^",
"@glimmer/destroyable": "0.94.8",
"@glimmer/env": "^0.1.7",
"@glimmer/global-context": "0.93.4",
"@glimmer/interfaces": "0.94.6",
"@glimmer/manager": "0.94.10",
"@glimmer/node": "0.94.10",
"@glimmer/opcode-compiler": "0.94.10",
"@glimmer/owner": "0.93.4",
"@glimmer/program": "0.94.10",
"@glimmer/reference": "0.94.9",
"@glimmer/runtime": "0.94.11",
"@glimmer/syntax": "0.95.0",
"@glimmer/util": "0.94.8",
"@glimmer/validator": "0.95.0",
"@glimmer/vm": "0.94.8",
"@glimmer/compiler": "workspace:*",
"@glimmer/component": "workspace:*",
"@glimmer/destroyable": "workspace:*",
"@glimmer/env": "workspace:*",
"@glimmer/global-context": "workspace:*",
"@glimmer/interfaces": "workspace:*",
"@glimmer/manager": "workspace:*",
"@glimmer/node": "workspace:*",
"@glimmer/opcode-compiler": "workspace:*",
"@glimmer/owner": "workspace:*",
"@glimmer/program": "workspace:*",
"@glimmer/reference": "workspace:*",
"@glimmer/runtime": "workspace:*",
"@glimmer/syntax": "workspace:*",
"@glimmer/tracking": "workspace:*",
"@glimmer/util": "workspace:*",
"@glimmer/validator": "workspace:*",
"@glimmer/vm": "workspace:*",
"@simple-dom/interface": "^1.4.0",
"backburner.js": "^2.7.0",
"dag-map": "^2.0.2",
Expand Down
10 changes: 5 additions & 5 deletions packages/@ember/application/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
"@ember/runloop": "workspace:*",
"@ember/service": "workspace:*",
"@ember/utils": "workspace:*",
"@glimmer/destroyable": "0.94.8",
"@glimmer/env": "^0.1.7",
"@glimmer/owner": "0.93.4",
"@glimmer/util": "0.94.8",
"@glimmer/validator": "0.95.0",
"@glimmer/destroyable": "workspace:*",
"@glimmer/env": "workspace:*",
"@glimmer/owner": "workspace:*",
"@glimmer/util": "workspace:*",
"@glimmer/validator": "workspace:*",
"backburner.js": "^2.7.0",
"dag-map": "^2.0.2",
"ember": "workspace:*",
Expand Down
12 changes: 6 additions & 6 deletions packages/@ember/array/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
"@ember/object": "workspace:*",
"@ember/runloop": "workspace:*",
"@ember/utils": "workspace:*",
"@glimmer/destroyable": "0.94.8",
"@glimmer/env": "^0.1.7",
"@glimmer/manager": "0.94.10",
"@glimmer/owner": "0.93.4",
"@glimmer/util": "0.94.8",
"@glimmer/validator": "0.95.0",
"@glimmer/destroyable": "workspace:*",
"@glimmer/env": "workspace:*",
"@glimmer/manager": "workspace:*",
"@glimmer/owner": "workspace:*",
"@glimmer/util": "workspace:*",
"@glimmer/validator": "workspace:*",
"expect-type": "^0.15.0",
"internal-test-helpers": "workspace:*"
}
Expand Down
7 changes: 4 additions & 3 deletions packages/@ember/component/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@
},
"dependencies": {
"@ember/-internals": "workspace:*",
"@glimmer/manager": "0.94.10",
"@glimmer/runtime": "0.94.11",
"@glimmer/manager": "workspace:*",
"@glimmer/runtime": "workspace:*",
"expect-type": "^0.15.0"
},
"devDependencies": {
"@ember/object": "workspace:*",
"@ember/owner": "workspace:*"
"@ember/owner": "workspace:*",
"@glimmer/interfaces": "workspace:*"
}
}
10 changes: 5 additions & 5 deletions packages/@ember/controller/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
"@ember/object": "workspace:*",
"@ember/routing": "workspace:*",
"@ember/service": "workspace:*",
"@glimmer/destroyable": "0.94.8",
"@glimmer/env": "^0.1.7",
"@glimmer/owner": "0.93.4",
"@glimmer/util": "0.94.8",
"@glimmer/validator": "0.95.0",
"@glimmer/destroyable": "workspace:*",
"@glimmer/env": "workspace:*",
"@glimmer/owner": "workspace:*",
"@glimmer/util": "workspace:*",
"@glimmer/validator":"workspace:*",
"expect-type": "^0.15.0",
"internal-test-helpers": "workspace:*"
},
Expand Down
13 changes: 7 additions & 6 deletions packages/@ember/debug/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@
"@ember/routing": "workspace:*",
"@ember/runloop": "workspace:*",
"@ember/utils": "workspace:*",
"@glimmer/destroyable": "0.94.8",
"@glimmer/env": "^0.1.7",
"@glimmer/manager": "0.94.10",
"@glimmer/owner": "0.93.4",
"@glimmer/util": "0.94.8",
"@glimmer/validator": "0.95.0",
"@glimmer/destroyable": "workspace:*",
"@glimmer/env": "workspace:*",
"@glimmer/interfaces": "workspace:*",
"@glimmer/manager": "workspace:*",
"@glimmer/owner": "workspace:*",
"@glimmer/util": "workspace:*",
"@glimmer/validator": "workspace:*",
"backburner.js": "^2.7.0",
"expect-type": "^0.15.0",
"internal-test-helpers": "workspace:*"
Expand Down
Loading
Loading