Skip to content

Commit 3010b4e

Browse files
committed
Remove Support for Older Ember Versions
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 3010b4e

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)