Skip to content

Commit 546efdb

Browse files
authored
Remove Support for Older Ember Versions (#86)
This addon has dropped support form Ember versions before 4.x so we can remove the polyfill and the conditional support for earlier versions.
1 parent d236d21 commit 546efdb

File tree

6 files changed

+1141
-1152
lines changed

6 files changed

+1141
-1152
lines changed

addon/modifiers/did-insert.js

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { setModifierManager, capabilities } from '@ember/modifier';
2-
import { macroCondition, dependencySatisfies } from '@embroider/macros';
32

43
/**
54
The `{{did-insert}}` element modifier is activated when an element is
@@ -47,12 +46,7 @@ import { macroCondition, dependencySatisfies } from '@embroider/macros';
4746
*/
4847
export default setModifierManager(
4948
() => ({
50-
capabilities: capabilities(
51-
macroCondition(dependencySatisfies('ember-source', '>= 3.22.0-beta.1'))
52-
? '3.22'
53-
: '3.13',
54-
{ disableAutoTracking: true },
55-
),
49+
capabilities: capabilities('3.22', { disableAutoTracking: true }),
5650

5751
createModifier() {},
5852

addon/modifiers/did-update.js

+14-49
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,5 @@
11
import { setModifierManager, capabilities } from '@ember/modifier';
2-
import {
3-
macroCondition,
4-
dependencySatisfies,
5-
importSync,
6-
} from '@embroider/macros';
7-
8-
const untrack = (function () {
9-
if (macroCondition(dependencySatisfies('ember-source', '> 3.27.0-beta.1'))) {
10-
// ember-source@3.27 shipped "real modules" by default, so we can just use
11-
// importSync to get @glimmer/validator directly
12-
return importSync('@glimmer/validator').untrack;
13-
} else if (
14-
macroCondition(dependencySatisfies('ember-source', '>= 3.22.0-alpha.1'))
15-
) {
16-
// we can access `window.Ember` here because it wasn't deprecated until at least 3.27
17-
// eslint-disable-next-line no-undef
18-
return Ember.__loader.require('@glimmer/validator').untrack;
19-
} else {
20-
// nothing needed here, we do not call `untrack` in this case
21-
}
22-
})();
2+
import { untrack } from '@glimmer/validator';
233

244
/**
255
The `{{did-update}}` element modifier is activated when any of its arguments
@@ -79,47 +59,32 @@ const untrack = (function () {
7959
*/
8060
export default setModifierManager(
8161
() => ({
82-
capabilities: macroCondition(
83-
dependencySatisfies('ember-source', '>= 3.22.0-alpha.1'),
84-
)
85-
? capabilities('3.22', { disableAutoTracking: false })
86-
: capabilities('3.13', { disableAutoTracking: true }),
87-
62+
capabilities: capabilities('3.22', { disableAutoTracking: false }),
8863
createModifier() {
8964
return { element: null };
9065
},
9166
installModifier(state, element, args) {
9267
// save element into state bucket
9368
state.element = element;
9469

95-
if (
96-
macroCondition(dependencySatisfies('ember-source', '>= 3.22.0-alpha.1'))
97-
) {
98-
// Consume individual properties to entangle tracking.
99-
// https://github.com/emberjs/ember.js/issues/19277
100-
// https://github.com/ember-modifier/ember-modifier/pull/63#issuecomment-815908201
101-
args.positional.forEach(() => {});
102-
args.named && Object.values(args.named);
103-
}
70+
// Consume individual properties to entangle tracking.
71+
// https://github.com/emberjs/ember.js/issues/19277
72+
// https://github.com/ember-modifier/ember-modifier/pull/63#issuecomment-815908201
73+
args.positional.forEach(() => {});
74+
args.named && Object.values(args.named);
10475
},
10576

10677
updateModifier({ element }, args) {
10778
let [fn, ...positional] = args.positional;
10879

109-
if (
110-
macroCondition(dependencySatisfies('ember-source', '>= 3.22.0-alpha.1'))
111-
) {
112-
// Consume individual properties to entangle tracking.
113-
// https://github.com/emberjs/ember.js/issues/19277
114-
// https://github.com/ember-modifier/ember-modifier/pull/63#issuecomment-815908201
115-
args.positional.forEach(() => {});
116-
args.named && Object.values(args.named);
117-
untrack(() => {
118-
fn(element, positional, args.named);
119-
});
120-
} else {
80+
// Consume individual properties to entangle tracking.
81+
// https://github.com/emberjs/ember.js/issues/19277
82+
// https://github.com/ember-modifier/ember-modifier/pull/63#issuecomment-815908201
83+
args.positional.forEach(() => {});
84+
args.named && Object.values(args.named);
85+
untrack(() => {
12186
fn(element, positional, args.named);
122-
}
87+
});
12388
},
12489

12590
destroyModifier() {},

addon/modifiers/will-destroy.js

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { setModifierManager, capabilities } from '@ember/modifier';
2-
import { macroCondition, dependencySatisfies } from '@embroider/macros';
32

43
/**
54
The `{{will-destroy}}` element modifier is activated immediately before the element
@@ -41,13 +40,7 @@ import { macroCondition, dependencySatisfies } from '@embroider/macros';
4140
*/
4241
export default setModifierManager(
4342
() => ({
44-
capabilities: capabilities(
45-
macroCondition(dependencySatisfies('ember-source', '>= 3.22.0-beta.1'))
46-
? '3.22'
47-
: '3.13',
48-
{ disableAutoTracking: true },
49-
),
50-
43+
capabilities: capabilities('3.22', { disableAutoTracking: true }),
5144
createModifier() {
5245
return { element: null };
5346
},

package.json

+1-3
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@
3333
},
3434
"dependencies": {
3535
"@babel/core": "^7.25.2",
36-
"@embroider/macros": "^1.0.0",
37-
"ember-cli-babel": "^8.2.0",
38-
"ember-modifier-manager-polyfill": "^1.2.0"
36+
"ember-cli-babel": "^8.2.0"
3937
},
4038
"devDependencies": {
4139
"@babel/eslint-parser": "^7.25.1",

0 commit comments

Comments
 (0)