@@ -3,61 +3,89 @@ export default scenarios();
33function scenarios ( ) {
44 return {
55 scenarios : [
6- compatEmberScenario ( 'ember-lts-5.8' , '~5.4.0' ) ,
7- compatEmberScenario ( 'ember-lts-5.12' , '~5.12.0' ) ,
8- emberScenario ( '~6.4.0' ) ,
9- emberScenario ( 'latest' ) ,
10- emberScenario ( 'beta' ) ,
11- emberScenario ( 'alpha' ) ,
12- ] ,
13- } ;
14- }
15-
16- function emberScenario ( tag ) {
17- return {
18- name : `ember-${ tag } ` ,
19- npm : {
20- devDependencies : {
21- 'ember-source' : `npm:ember-source@${ tag } ` ,
6+ {
7+ name : 'ember-lts-5.8' ,
8+ npm : {
9+ devDependencies : {
10+ 'ember-source' : '~5.8.0' ,
11+ ...compatDeps ,
12+ } ,
13+ } ,
14+ env : {
15+ ENABLE_COMPAT_BUILD : true ,
16+ } ,
17+ files : compatFiles ,
18+ } ,
19+ {
20+ name : 'ember-lts-5.12' ,
21+ npm : {
22+ devDependencies : {
23+ 'ember-source' : '~5.12.0' ,
24+ ...compatDeps
25+ } ,
26+ } ,
27+ env : {
28+ ENABLE_COMPAT_BUILD : true ,
29+ } ,
30+ files : compatFiles ,
31+ } ,
32+ {
33+ name : `ember-lts-6.4` ,
34+ npm : {
35+ devDependencies : {
36+ 'ember-source' : `npm:ember-source@~6.4.0` ,
37+ } ,
38+ } ,
39+ } ,
40+ {
41+ name : `ember-latest` ,
42+ npm : {
43+ devDependencies : {
44+ 'ember-source' : `npm:ember-source@latest` ,
45+ } ,
46+ } ,
2247 } ,
23- } ,
48+ {
49+ name : `ember-beta` ,
50+ npm : {
51+ devDependencies : {
52+ 'ember-source' : `npm:ember-source@beta` ,
53+ } ,
54+ } ,
55+ } ,
56+ {
57+ name : `ember-alpha` ,
58+ npm : {
59+ devDependencies : {
60+ 'ember-source' : `npm:ember-source@alpha` ,
61+ } ,
62+ } ,
63+ } ,
64+ ] ,
2465 } ;
2566}
2667
27- function emberCliBuildJS ( ) {
28- return `const EmberApp = require('ember-cli/lib/broccoli/ember-app');
68+ // When building your addon for older Ember versions you need to have the required files
69+ const compatFiles = {
70+ 'ember-cli-build.js' : `const EmberApp = require('ember-cli/lib/broccoli/ember-app');
2971const { compatBuild } = require('@embroider/compat');
3072module.exports = async function (defaults) {
3173 const { buildOnce } = await import('@embroider/vite');
3274 let app = new EmberApp(defaults);
3375 return compatBuild(app, buildOnce);
34- };` ;
35- }
76+ };` ,
77+ 'config/optional-features.json' : JSON . stringify ( {
78+ 'application-template-wrapper' : false ,
79+ 'default-async-observers' : true ,
80+ 'jquery-integration' : false ,
81+ 'template-only-glimmer-components' : true ,
82+ 'no-implicit-route-model' : true ,
83+ } ) ,
84+ } ;
3685
37- function compatEmberScenario ( name , emberVersion ) {
38- return {
39- name,
40- npm : {
41- devDependencies : {
42- 'ember-source' : emberVersion ,
43- '@embroider/compat' : '^4.0.3' ,
44- 'ember-cli' : '^5.12.0' ,
45- 'ember-auto-import' : '^2.10.0' ,
46- '@ember/optional-features' : '^2.2.0' ,
47- } ,
48- } ,
49- env : {
50- ENABLE_COMPAT_BUILD : true ,
51- } ,
52- files : {
53- 'ember-cli-build.js' : emberCliBuildJS ( ) ,
54- 'config/optional-features.json' : JSON . stringify ( {
55- 'application-template-wrapper' : false ,
56- 'default-async-observers' : true ,
57- 'jquery-integration' : false ,
58- 'template-only-glimmer-components' : true ,
59- 'no-implicit-route-model' : true ,
60- } ) ,
61- } ,
62- } ;
63- }
86+ const compatDeps = {
87+ '@embroider/compat' : '^4.0.3' ,
88+ 'ember-cli' : '^5.12.0' ,
89+ 'ember-auto-import' : '^2.10.0' ,
90+ '@ember/optional-features' : '^2.2.0' ,
91+ } ;
0 commit comments