Skip to content
Closed
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
15 changes: 10 additions & 5 deletions packages/v2-app-template/babel.config.cjs
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
const {
babelCompatSupport,
templateCompatSupport,
} = require('@embroider/compat/babel');
const { babelCompatSupport, templateCompatSupport } = require('@embroider/compat/babel');

let needsCompiler = require('./package.json')
.devDependencies['babel-plugin-ember-template-compilation'].split('.')[0]
.includes('2');

module.exports = {
plugins: [
[
'babel-plugin-ember-template-compilation',
{
compilerPath: 'ember-source/dist/ember-template-compiler.js',
...(needsCompiler
? {
compilerPath: 'ember-source/dist/ember-template-compiler.js',
}
: {}),
enableLegacyModules: [
'ember-cli-htmlbars',
'ember-cli-htmlbars-inline-precompile',
Expand Down
2 changes: 1 addition & 1 deletion packages/v2-app-template/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"qunit": "^2.24.2",
"qunit-dom": "^3.5.0",
"testem": "^3.16.0",
"tracked-built-ins": "^4.0.0",
"tracked-built-ins": "^4.1.2",
"vite": "^7.1.9"
},
"engines": {
Expand Down
494 changes: 275 additions & 219 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions test-scenarios/dynamic-import-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ import { CHECK_SCRIPTS_MODULE } from './static-import-test';
const { module: Qmodule, test } = QUnit;

appScenarios
// ember-cli-fastboot 4.1.5 (latest) imports the AMD `ember` module and the
// removed `inject as service` shape, neither of which work on ember-source 7+
.skip('canary')
.skip('beta')
.map('dynamic-import', project => {
project.linkDependency('ember-cli-fastboot', { baseDir: __dirname });

Expand Down
Binary file not shown.
4 changes: 4 additions & 0 deletions test-scenarios/import-sync-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ import { setupFastboot } from './fastboot-helper';
const { module: Qmodule, test } = QUnit;

appScenarios
// ember-cli-fastboot 4.1.5 (latest) imports the AMD `ember` module and the
// removed `inject as service` shape, neither of which work on ember-source 7+
.skip('canary')
.skip('beta')
.map('import-sync', project => {
project.linkDependency('ember-cli-fastboot', { baseDir: __dirname });
project.linkDependency('@embroider/macros', { baseDir: __dirname });
Expand Down
5 changes: 5 additions & 0 deletions test-scenarios/merged-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ import merge from 'lodash/merge';
const { module: Qmodule, test } = QUnit;

appScenarios
// the synthesized addon uses classic `Component.extend({ layout })`, which
// ember-source 7 no longer auto-associates with the classic component
// manager
.skip('canary')
.skip('beta')
.map('merged', project => {
let innerLib = project.addDevDependency('inner-lib', {
files: {
Expand Down
36 changes: 20 additions & 16 deletions test-scenarios/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
"private": true,
"dependencies": {
"@types/qunit": "^2.11.1",
"jsdom": "^11.11.0",
"qunit": "^2.6.1",
"scenario-tester": "^4.0.0",
"ts-node": "^10.9.2",
"jsdom": "^11.11.0"
"ts-node": "^10.9.2"
},
"scripts": {
"test": "qunit --require ts-node/register *-test.ts",
Expand All @@ -17,47 +17,51 @@
"license": "MIT",
"devDependencies": {
"@ef4/addon-template": "workspace:*",
"@ef4/v2-addon-template": "workspace:*",
"@ef4/app-template": "workspace:*",
"@embroider/macros": "npm:@embroider/macros@latest",
"@ef4/v2-addon-template": "workspace:*",
"@embroider/addon-shim": "npm:@embroider/addon-shim@latest",
"@embroider/macros": "npm:@embroider/macros@latest",
"@types/fs-extra": "^5.0.4",
"@types/lodash": "^4.14.110",
"@types/resolve": "^0.0.8",
"babel-plugin-ember-template-compilation": "^4.0.0",
"broccoli-funnel": "^3.0.8",
"ember-auto-import": "workspace:*",
"execa": "^5.0.0",
"fs-extra": "^6.0.1",
"leader-v1": "npm:ember-auto-import@1.7",
"leader-v2": "npm:ember-auto-import@1.11",
"old-analyzer": "npm:ember-auto-import@2.1.0",
"ember-cli-babel-older": "npm:ember-cli-babel@7.11.1",
"ember-cli": "npm:ember-cli@alpha",
"ember-cli-3": "npm:ember-cli@^3.0.0",
"ember-cli-lts": "npm:ember-cli@~3.4.0",
"ember-cli-latest": "npm:ember-cli@latest",
"ember-cli-app-version": "^7.0.0",
"ember-cli-babel-older": "npm:ember-cli-babel@7.11.1",
"ember-cli-beta": "npm:ember-cli@beta",
"ember-cli": "npm:ember-cli@alpha",
"ember-cli-fastboot": "npm:ember-cli-fastboot@^4.1.0",
"ember-cli-htmlbars6": "npm:ember-cli-htmlbars@^6.0.0",
"ember-cli-htmlbars7": "npm:ember-cli-htmlbars@^7.0.0",
"ember-cli-latest": "npm:ember-cli@latest",
"ember-cli-lts": "npm:ember-cli@~3.4.0",
"ember-cli-typescript-2": "npm:ember-cli-typescript@^2.0.0-beta.3",
"ember-cli-typescript-3": "npm:ember-cli-typescript@^3.0.0",
"ember-cli-typescript-4": "npm:ember-cli-typescript@^4.0.0-alpha.1",
"ember-qunit-5": "npm:ember-qunit@^5.0.0",
"ember-resolver": "^13.2.0",
"ember-source-3": "npm:ember-source@^3.0.0",
"ember-source-lts": "npm:ember-source@~3.4.0",
"ember-source-beta": "npm:ember-source@beta",
"ember-source-canary": "npm:ember-source@alpha",
"ember-source-canary": "file:ember-source-side-effects-false.tgz",
"ember-source-latest": "npm:ember-source@latest",
"ember-source-lts": "npm:ember-source@~3.4.0",
"ember-test-helpers-lts": "npm:@ember/test-helpers@2.6.0",
"ember-welcome-page5": "npm:ember-welcome-page@^5.0.0",
"ember-welcome-page8": "npm:ember-welcome-page@^8.0.0",
"execa": "^5.0.0",
"fs-extra": "^6.0.1",
"glimmer-component-2": "npm:@glimmer/component@^2.0.0",
"js-string-escape": "^1.0.1",
"leader-v1": "npm:ember-auto-import@1.7",
"leader-v2": "npm:ember-auto-import@1.11",
"lodash": "^4.17.20",
"lodash-es": "^4.17.10",
"moment": "^2.22.1",
"typescript-4": "npm:typescript@^4.1.2",
"old-analyzer": "npm:ember-auto-import@2.1.0",
"tracked-built-ins-4": "npm:tracked-built-ins@^4.1.2",
"typescript-4": "npm:typescript@^4.1.2",
"v2-app-template": "workspace:*"
}
}
8 changes: 8 additions & 0 deletions test-scenarios/scenarios.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,21 @@ function releaseWithModules(mode: 'app' | 'addon') {
async function beta(project: Project) {
project.linkDevDependency('ember-cli', { baseDir: __dirname, resolveName: 'ember-cli-beta' });
project.linkDevDependency('ember-source', { baseDir: __dirname, resolveName: 'ember-source-beta' });
project.linkDevDependency('ember-resolver', { baseDir: __dirname, resolveName: 'ember-resolver' });
project.linkDevDependency('ember-cli-app-version', { baseDir: __dirname, resolveName: 'ember-cli-app-version' });
}

async function canary(project: Project) {
// ember-cli canary is not aliased in our package.json, because NPM doesn't support
// aliasing of non-registry deps
project.linkDevDependency('ember-cli', { baseDir: __dirname, resolveName: 'ember-cli' });
project.linkDevDependency('ember-source', { baseDir: __dirname, resolveName: 'ember-source-canary' });
project.linkDevDependency('babel-plugin-ember-template-compilation', {
baseDir: __dirname,
resolveName: 'babel-plugin-ember-template-compilation',
});
project.linkDevDependency('ember-resolver', { baseDir: __dirname, resolveName: 'ember-resolver' });
project.linkDevDependency('ember-cli-app-version', { baseDir: __dirname, resolveName: 'ember-cli-app-version' });
}

export function supportMatrix(scenarios: Scenarios, mode: 'app' | 'addon') {
Expand Down
4 changes: 3 additions & 1 deletion test-scenarios/v2-addon-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,9 @@ function buildV2AddonWithDevDep() {
return addon;
}

let scenarios = appScenarios.skip('lts').map('v2-addon', project => {
// ember-cli-fastboot 4.1.5 (latest) imports the AMD `ember` module and the
// removed `inject as service` shape, neither of which work on ember-source 7+
let scenarios = appScenarios.skip('lts').skip('canary').skip('beta').map('v2-addon', project => {
project.addDevDependency(buildV2Addon(project));
project.addDevDependency(buildIntermediateV1Addon(project));
project.addDevDependency(buildV2AddonWithExports('fourth-v2-addon'));
Expand Down
Loading