Skip to content

Commit 13e4ba7

Browse files
authored
Merge pull request #2397 from embroider-build/ember-4.8
Add support for Ember 4.8
2 parents cd221ee + ae4dbe5 commit 13e4ba7

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

packages/compat/src/compat-adapters/ember-source.ts

+13
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,10 @@ function updateFileWithTransform(
404404
file: string,
405405
transformFunction: Babel.PluginItem | Babel.PluginItem[]
406406
) {
407+
// only update the file if it exists - this helps the codemods to work across many different versions
408+
if (!existsSync(resolve(context.inputPaths[0], file))) {
409+
return;
410+
}
407411
let inSource = readFileSync(resolve(context.inputPaths[0], file), 'utf8');
408412

409413
let plugins = Array.isArray(transformFunction) ? transformFunction : [transformFunction];
@@ -464,6 +468,15 @@ class FixCycleImports extends Plugin {
464468
path.node.source = t.stringLiteral('@ember/array/make');
465469
path.node.specifiers = [t.importDefaultSpecifier(t.identifier('makeArray'))];
466470
}
471+
472+
if (path.node.source.value === '@ember/-internals/runtime') {
473+
path.replaceWith(
474+
t.importDeclaration(
475+
[t.importSpecifier(t.identifier('ActionHandler'), t.identifier('default'))],
476+
t.stringLiteral('@ember/-internals/runtime/lib/mixins/action_handler')
477+
)
478+
);
479+
}
467480
},
468481
},
469482
};

tests/scenarios/scenarios.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ async function lts_4_4(project: Project) {
1717

1818
async function lts_4_8(project: Project) {
1919
project.linkDevDependency('ember-source', { baseDir: __dirname, resolveName: 'ember-source-4.8' });
20-
project.linkDevDependency('ember-cli', { baseDir: __dirname, resolveName: 'ember-cli-4.8' });
21-
project.linkDevDependency('ember-data', { baseDir: __dirname, resolveName: 'ember-data-4.8' });
20+
// ember-cli 4.12 is the earliest version that can have an async function
21+
project.linkDevDependency('ember-cli', { baseDir: __dirname, resolveName: 'ember-cli-4.12' });
22+
project.linkDevDependency('ember-data', { baseDir: __dirname, resolveName: 'ember-data-5.3' });
2223
}
2324

2425
async function lts_4_12(project: Project) {
@@ -112,7 +113,6 @@ export function fullSupportMatrix(scenarios: Scenarios) {
112113
// new vite based system is working as we like
113114
.skip('lts_3_28')
114115
.skip('lts_4_4')
115-
.skip('lts_4_8')
116116
);
117117
}
118118

0 commit comments

Comments
 (0)