File tree Expand file tree Collapse file tree 2 files changed +60
-3
lines changed
Expand file tree Collapse file tree 2 files changed +60
-3
lines changed Original file line number Diff line number Diff line change @@ -26,10 +26,24 @@ const compatDeps = {
2626export default {
2727 scenarios : [
2828 {
29- name : 'ember-lts-5.8 ' ,
29+ name : 'ember-lts-3.28 ' ,
3030 npm : {
3131 devDependencies : {
32- 'ember-source' : '~5.8.0' ,
32+ 'ember-source' : '~3.28.0' ,
33+ 'ember-cli' : '^4.12' ,
34+ ...compatDeps ,
35+ } ,
36+ } ,
37+ env : {
38+ ENABLE_COMPAT_BUILD : true ,
39+ } ,
40+ files : compatFiles ,
41+ } ,
42+ {
43+ name : 'ember-lts-4.12' ,
44+ npm : {
45+ devDependencies : {
46+ 'ember-source' : '~4.12.0' ,
3347 ...compatDeps ,
3448 } ,
3549 } ,
@@ -59,6 +73,22 @@ export default {
5973 } ,
6074 } ,
6175 } ,
76+ {
77+ name : 'ember-lts-6.8' ,
78+ npm : {
79+ devDependencies : {
80+ 'ember-source' : 'npm:ember-source@~6.8.0' ,
81+ } ,
82+ } ,
83+ } ,
84+ {
85+ name : 'ember-lts-6.12' ,
86+ npm : {
87+ devDependencies : {
88+ 'ember-source' : 'npm:ember-source@~6.12.0' ,
89+ } ,
90+ } ,
91+ } ,
6292 {
6393 name : 'ember-latest' ,
6494 npm : {
Original file line number Diff line number Diff line change 11import { setModifierManager , capabilities } from '@ember/modifier' ;
2- import { untrack } from '@glimmer/validator' ;
2+ import {
3+ macroCondition ,
4+ dependencySatisfies ,
5+ importSync ,
6+ } from '@embroider/macros' ;
7+
8+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
9+ const untrack : ( fn : ( ) => void ) => void = ( function ( ) {
10+ if ( macroCondition ( dependencySatisfies ( 'ember-source' , '> 3.27.0-beta.1' ) ) ) {
11+ // ember-source@3.27 shipped "real modules" by default, so we can just use
12+ // importSync to get @glimmer /validator directly
13+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
14+ const module = importSync ( '@glimmer/validator' ) as any ;
15+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
16+ return module . untrack as unknown as ( fn : ( ) => void ) => void ;
17+ } else if (
18+ macroCondition ( dependencySatisfies ( 'ember-source' , '>= 3.22.0-alpha.1' ) )
19+ ) {
20+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
21+ const module = importSync ( 'ember' ) as any ;
22+ // we can access `window.Ember` here because it wasn't deprecated until at least 3.27
23+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
24+ return module . __loader . require ( '@glimmer/validator' ) . untrack ;
25+ } else {
26+ // we do not call `untrack` when ember-source < 3.22
27+ // (we don't suport ember-source < 3.22)
28+ }
29+ } ) ( ) ;
330
431import type {
532 ModifierArgs ,
You can’t perform that action at this time.
0 commit comments