Skip to content

Commit e398557

Browse files
jkusaoliverljcharlesfries
authored
chore: support ember-modifier 3.x and 4.x
* refactor: ember-modifier 4 depreciations * chore: upgrade to ember-modifier 4.x * chore: support ember-modifier 3.x and 4.x (#396) * test: fixing compatibility tests --------- Co-authored-by: oliverlj <[email protected]> Co-authored-by: Charles Fries <[email protected]>
1 parent 1f79ea4 commit e398557

File tree

7 files changed

+1133
-1909
lines changed

7 files changed

+1133
-1909
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,10 @@ jobs:
5757
fail-fast: false
5858
matrix:
5959
try-scenario:
60-
- ember-lts-3.24
6160
- ember-lts-3.28
61+
- ember-lts-4.4
62+
- ember-lts-4.8
63+
- ember-lts-4.12
6264
- ember-release
6365
- ember-beta
6466
- ember-canary
@@ -71,7 +73,7 @@ jobs:
7173
- name: Install Node
7274
uses: actions/setup-node@v3
7375
with:
74-
node-version: 14.x
76+
node-version: 16.x
7577
cache: npm
7678
- name: Install Dependencies
7779
run: npm ci

addon/modifiers/clipboard.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ import ClipboardJS from 'clipboard';
33
import { isBlank } from '@ember/utils';
44
import { capitalize } from '@ember/string';
55
import { guidFor } from '@ember/object/internals';
6+
import { macroCondition, dependencySatisfies } from '@embroider/macros';
67

78
const CLIPBOARD_EVENTS = ['success', 'error'];
89

9-
export default modifier(function clipboard(element, params, hash) {
10+
function clipboard(element, params, hash) {
1011
const {
1112
action = 'copy',
1213
container,
@@ -56,4 +57,14 @@ export default modifier(function clipboard(element, params, hash) {
5657
});
5758

5859
return () => clipboard.destroy();
59-
});
60+
}
61+
62+
let clipboardModifier;
63+
64+
if (macroCondition(dependencySatisfies('ember-modifier', '4.x'))) {
65+
clipboardModifier = modifier(clipboard, { eager: false });
66+
} else {
67+
clipboardModifier = modifier(clipboard);
68+
}
69+
70+
export default clipboardModifier;

config/ember-try.js

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,38 @@ module.exports = async function () {
77
return {
88
scenarios: [
99
{
10-
name: 'ember-lts-3.24',
10+
name: 'ember-lts-3.28',
1111
npm: {
1212
devDependencies: {
13-
'ember-source': '~3.24.3',
13+
'ember-resolver': '^8.0.0',
14+
'ember-source': '~3.28.0',
15+
'@ember/test-helpers': '^2.9.3',
16+
'ember-qunit': '^6.2.0',
1417
},
1518
},
1619
},
1720
{
18-
name: 'ember-lts-3.28',
21+
name: 'ember-lts-4.4',
1922
npm: {
2023
devDependencies: {
21-
'ember-source': '~3.28.0',
24+
'ember-resolver': '^8.0.0',
25+
'ember-source': '~4.4.0',
26+
},
27+
},
28+
},
29+
{
30+
name: 'ember-lts-4.8',
31+
npm: {
32+
devDependencies: {
33+
'ember-source': '~4.8.0',
34+
},
35+
},
36+
},
37+
{
38+
name: 'ember-lts-4.12',
39+
npm: {
40+
devDependencies: {
41+
'ember-source': '~4.12.0',
2242
},
2343
},
2444
},
@@ -57,7 +77,10 @@ module.exports = async function () {
5777
},
5878
npm: {
5979
devDependencies: {
80+
'ember-resolver': '^8.0.0',
6081
'ember-source': '~3.28.0',
82+
'@ember/test-helpers': '^2.9.3',
83+
'ember-qunit': '^6.2.0',
6184
},
6285
ember: {
6386
edition: 'classic',

0 commit comments

Comments
 (0)