Skip to content

Upgrade glimmer-vm #20842

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Feb 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a3c588a
Upgrade the deps
NullVoxPopuli Feb 7, 2025
9f70ea3
moduleResolution: node (10) is wrong, use bundler
NullVoxPopuli Feb 7, 2025
d0ab525
Update deps
NullVoxPopuli Feb 7, 2025
9250dc2
Copy unwrapTemplate from glimmer-vm, as glimmer-vm doesn't include it…
NullVoxPopuli Feb 7, 2025
8e000f3
Fix the owner type
NullVoxPopuli Feb 7, 2025
423a04f
Update the debugKey type usage
NullVoxPopuli Feb 7, 2025
0b42359
Update usages of CurriedType.Component to 0 as CurriedComponent
NullVoxPopuli Feb 7, 2025
5593eec
Fix unwrapTemplate in curly.ts
NullVoxPopuli Feb 7, 2025
17e374a
Fix type errors that aren't @glimmer/component related
NullVoxPopuli Feb 7, 2025
ebadd26
Update @glimmer/compiler
NullVoxPopuli Feb 8, 2025
4015dd1
Remove skipLibCheck now that most of the migration is done. Now we ne…
NullVoxPopuli Feb 10, 2025
479f57b
Upgrade deps
NullVoxPopuli Feb 10, 2025
93b4286
Reverse exports?
NullVoxPopuli Feb 10, 2025
763b51c
Upgrade Glimmer
NullVoxPopuli Feb 10, 2025
db5c75a
Closer?
NullVoxPopuli Feb 10, 2025
d2ed925
Build fixed?
NullVoxPopuli Feb 10, 2025
c495bd1
ugh, cjs
NullVoxPopuli Feb 11, 2025
1500885
Tell import/no-unresolved to ignore @glimmer
NullVoxPopuli Feb 11, 2025
a9081ef
Disable import resolve entirely
NullVoxPopuli Feb 11, 2025
9d69734
Significantly reduce type erros by upgrading the @tsconfig/ember package
NullVoxPopuli Feb 11, 2025
e9addd8
Fix type tests
NullVoxPopuli Feb 11, 2025
c4f99ae
Drop TS 4.9
NullVoxPopuli Feb 11, 2025
94ae527
Fix test summary output
NullVoxPopuli Feb 11, 2025
08b1d59
Upgrade deps again
NullVoxPopuli Feb 11, 2025
7c9de30
error is specific enough?
NullVoxPopuli Feb 11, 2025
b44b166
Well, that's goofy
NullVoxPopuli Feb 12, 2025
13ffeae
Revert "Well, that's goofy"
NullVoxPopuli Feb 12, 2025
64fc979
@glimmer/debug was accidentally introduced in 5.9 or 5.11, but it is …
NullVoxPopuli Feb 12, 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
8 changes: 2 additions & 6 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,8 @@ module.exports = {

'disable-features/disable-async-await': 'error',
'disable-features/disable-generator-functions': 'error',
'import/no-unresolved': [
'error',
{
ignore: ['@ember/template-compiler'],
},
],
// Doesn't work with package.json#exports
'import/no-unresolved': 'off',
},

settings: {
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
matrix:
# I removed 'next' from this list because we're seeing buggy behavior in
# the so-far unreleased 5.4. -ef4
ts-version: ['4.9', '5.0', '5.1', '5.2', '5.3']
ts-version: ['5.0', '5.1', '5.2', '5.3', '5.4', '5.5', '5.6', '5.7']
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
Expand Down
12 changes: 11 additions & 1 deletion bin/run-tests-browser-runner.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,17 @@ module.exports = class BrowserRunner {
}

async newBrowser() {
let browser = await puppeteer.launch({ dumpio: true, headless: 'new' });
let browser = await puppeteer.launch({
dumpio: true,
headless: 'new',
userDataDir: '/tmp/new-profile',
args: [
'--no-sandbox',
'--disable-dev-shm-usage',
'--disable-software-rasterizer',
'--mute-audio',
],
});
return browser;
}

Expand Down
8 changes: 7 additions & 1 deletion bin/run-tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,13 @@ run()
process.exit(0); // eslint-disable-line n/no-process-exit
})
.catch(function (err) {
console.error(chalk.red(err.toString()));
console.error(chalk.red(`Error!`));

if ('passed' in err) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change will print out:

{ passed: 40140, failed: 4, total: 40144, runtime: 47482 }

where as before it would print out [object Object]

console.error(err);
} else {
console.error(chalk.red(err.toString()));
}
console.error(chalk.red('Failed!'));
process.exit(1); // eslint-disable-line n/no-process-exit
});
3 changes: 0 additions & 3 deletions broccoli/amd-compat-entrypoints/ember.debug.js
Original file line number Diff line number Diff line change
Expand Up @@ -419,9 +419,6 @@ d('@ember/utils/lib/type-of', emberUtilsLibTypeOf);
import * as emberVersionIndex from '@ember/version/index';
d('@ember/version/index', emberVersionIndex);

import * as glimmerDebug from '@glimmer/debug';
d('@glimmer/debug', glimmerDebug);

import * as glimmerDestroyable from '@glimmer/destroyable';
d('@glimmer/destroyable', glimmerDestroyable);

Expand Down
40 changes: 20 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,23 +66,23 @@
"@babel/core": "^7.24.4",
"@ember/edition-utils": "^1.2.0",
"@embroider/addon-shim": "^1.9.0",
"@glimmer/compiler": "0.92.4",
"@glimmer/destroyable": "0.92.3",
"@glimmer/compiler": "0.94.8",
"@glimmer/destroyable": "0.94.6",
"@glimmer/env": "^0.1.7",
"@glimmer/global-context": "0.92.3",
"@glimmer/interfaces": "0.92.3",
"@glimmer/manager": "0.92.4",
"@glimmer/node": "0.92.4",
"@glimmer/opcode-compiler": "0.92.4",
"@glimmer/owner": "0.92.3",
"@glimmer/program": "0.92.4",
"@glimmer/reference": "0.92.3",
"@glimmer/runtime": "0.92.4",
"@glimmer/syntax": "0.92.3",
"@glimmer/util": "0.92.3",
"@glimmer/validator": "0.92.3",
"@glimmer/vm": "0.92.3",
"@glimmer/vm-babel-plugins": "0.92.3",
"@glimmer/global-context": "0.93.2",
"@glimmer/interfaces": "0.94.5",
"@glimmer/manager": "0.94.7",
"@glimmer/node": "0.94.7",
"@glimmer/opcode-compiler": "0.94.7",
"@glimmer/owner": "0.93.2",
"@glimmer/program": "0.94.7",
"@glimmer/reference": "0.94.6",
"@glimmer/runtime": "0.94.7",
"@glimmer/syntax": "0.94.7",
"@glimmer/util": "0.94.6",
"@glimmer/validator": "0.94.6",
"@glimmer/vm": "0.94.6",
"@glimmer/vm-babel-plugins": "0.93.3",
"@simple-dom/interface": "^1.4.0",
"backburner.js": "^2.8.0",
"broccoli-file-creator": "^2.1.1",
Expand Down Expand Up @@ -117,7 +117,7 @@
"@simple-dom/document": "^1.4.0",
"@swc-node/register": "^1.6.8",
"@swc/core": "^1.3.100",
"@tsconfig/ember": "^2.0.0",
"@tsconfig/ember": "3.0.8",
"@types/qunit": "^2.19.4",
"@types/rsvp": "^4.0.4",
"@typescript-eslint/eslint-plugin": "^5.59.8",
Expand Down Expand Up @@ -153,9 +153,10 @@
"mocha": "^10.2.0",
"npm-run-all2": "^6.0.6",
"prettier": "^2.8.0",
"puppeteer": "^24.1.0",
"puppeteer": "^24.2.0",
"qunit": "^2.19.4",
"recast": "^0.22.0",
"resolve.exports": "^2.0.3",
"rollup": "^4.2.0",
"rsvp": "^4.8.5",
"serve-static": "^1.14.2",
Expand Down Expand Up @@ -331,7 +332,6 @@
"@ember/utils/lib/is_present.js": "ember-source/@ember/utils/lib/is_present.js",
"@ember/utils/lib/type-of.js": "ember-source/@ember/utils/lib/type-of.js",
"@ember/version/index.js": "ember-source/@ember/version/index.js",
"@glimmer/debug/index.js": "ember-source/@glimmer/debug/index.js",
"@glimmer/destroyable/index.js": "ember-source/@glimmer/destroyable/index.js",
"@glimmer/encoder/index.js": "ember-source/@glimmer/encoder/index.js",
"@glimmer/env/index.js": "ember-source/@glimmer/env/index.js",
Expand Down Expand Up @@ -399,4 +399,4 @@
"node": "16.20.0",
"pnpm": "8.10.0"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ import type {
import type { Reference } from '@glimmer/reference';
import { childRefFor, createComputeRef, createPrimitiveRef, valueForRef } from '@glimmer/reference';
import { reifyPositional } from '@glimmer/runtime';
import { EMPTY_ARRAY, unwrapTemplate } from '@glimmer/util';
import { EMPTY_ARRAY } from '@glimmer/util';
import { unwrapTemplate } from './unwrap-template';
import {
beginTrackFrame,
beginUntrackFrame,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import type { Nullable } from '@ember/-internals/utility-types';
import { capabilityFlagsFrom } from '@glimmer/manager';
import type { Reference } from '@glimmer/reference';
import { createConstRef, valueForRef } from '@glimmer/reference';
import { unwrapTemplate } from '@glimmer/util';
import { unwrapTemplate } from './unwrap-template';
import type RuntimeResolver from '../resolver';

interface EngineState {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { capabilityFlagsFrom } from '@glimmer/manager';
import type { Reference } from '@glimmer/reference';
import { UNDEFINED_REFERENCE, valueForRef } from '@glimmer/reference';
import { EMPTY_ARGS } from '@glimmer/runtime';
import { unwrapTemplate } from '@glimmer/util';
import { unwrapTemplate } from './unwrap-template';

import type { DynamicScope } from '../renderer';
import type { OutletState } from '../utils/outlet';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import type {
CapturedArguments,
CompilableProgram,
ComponentDefinition,
CurriedComponent,
CustomRenderNode,
Destroyable,
InternalComponentCapabilities,
Expand All @@ -18,8 +19,7 @@ import { capabilityFlagsFrom } from '@glimmer/manager';
import type { Reference } from '@glimmer/reference';
import { createDebugAliasRef, valueForRef } from '@glimmer/reference';
import { curry, type CurriedValue } from '@glimmer/runtime';
import { unwrapTemplate } from '@glimmer/util';
import { CurriedType } from '@glimmer/vm';
import { unwrapTemplate } from './unwrap-template';

interface RouteTemplateInstanceState {
self: Reference;
Expand Down Expand Up @@ -158,5 +158,5 @@ export function makeRouteTemplate(
template: Template
): CurriedValue {
let routeTemplate = new RouteTemplate(name, template);
return curry(CurriedType.Component, routeTemplate, owner, null, true);
return curry(0 as CurriedComponent, routeTemplate, owner, null, true);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import type { Template, TemplateOk } from '@glimmer/interfaces';

/**
* @deprecated
*/
export function unwrapTemplate(template: Template): TemplateOk {
if (template.result === 'error') {
throw new Error(
`Compile Error: ${template.problem} @ ${template.span.start}..${template.span.end}`
);
}

return template;
}
6 changes: 3 additions & 3 deletions packages/@ember/-internals/glimmer/lib/helpers/action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ export default internalHelper((args: CapturedArguments): Reference<Function> =>
let [context, action, ...restArgs] = positional;
assert('hash position arguments', context && action);

let debugKey: string = action.debugLabel!;
let debugKey = action.debugLabel!;

let target = 'target' in named ? named['target'] : context;
let processArgs = makeArgsProcessor(('value' in named && named['value']) || false, restArgs);
Expand Down Expand Up @@ -362,7 +362,7 @@ function makeDynamicClosureAction(
targetRef: Reference<unknown>,
actionRef: Reference<unknown>,
processArgs: (args: unknown[]) => unknown[],
debugKey: string
debugKey: false | string
) {
const action = valueForRef(actionRef);

Expand Down Expand Up @@ -391,7 +391,7 @@ function makeClosureAction(
target: unknown,
action: unknown | null | undefined | string | Function,
processArgs: (args: unknown[]) => unknown[],
debugKey: string
debugKey: string | false
) {
let self: object;
let fn: Function;
Expand Down
Loading