Skip to content

Commit 3e27606

Browse files
authored
Merge pull request #512 from appuniversum/feat/newest-concurrency-power-select-support
Add support for ember-concurrency v4 and ember-power-select v8
2 parents 234d960 + ff9715c commit 3e27606

File tree

10 files changed

+599
-2504
lines changed

10 files changed

+599
-2504
lines changed

.github/workflows/ci.yml

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ jobs:
6767
- ember-canary
6868
- embroider-safe
6969
- embroider-optimized
70+
- ember-concurrency-v3
7071

7172
steps:
7273
- uses: actions/checkout@v3

index.js

+18
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,22 @@ module.exports = {
2121
},
2222
'ember-cli-babel': { enableTypeScriptTransform: true },
2323
},
24+
25+
init() {
26+
this._super.init.apply(this, arguments);
27+
this.maybeAddConcurrencyPlugin();
28+
},
29+
30+
maybeAddConcurrencyPlugin() {
31+
const VersionChecker = require('ember-cli-version-checker');
32+
const checker = new VersionChecker(this.project);
33+
const dep = checker.for('ember-concurrency');
34+
35+
if (dep.gte('4.0.0')) {
36+
// ember-concurrency v4+ requires a custom babel transform. Once we drop ember-concurrency v3 support we can remove this conditional registration.
37+
this.options.babel.plugins.push(
38+
require.resolve('ember-concurrency/async-arrow-task-transform'),
39+
);
40+
}
41+
},
2442
};

package-lock.json

+547-2,501
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+5-3
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@
8989
"ember-auto-import": "^2.6.3",
9090
"ember-cli-babel": "^8.2.0",
9191
"ember-cli-htmlbars": "^6.3.0",
92-
"ember-concurrency": "^3.1.0",
92+
"ember-cli-version-checker": "^5.1.2",
93+
"ember-concurrency": "^3.1.0 || ^4.0.2",
9394
"ember-data-table": "^2.1.0",
9495
"ember-file-upload": "^8.4.0",
9596
"ember-focus-trap": "^1.1.0",
@@ -138,6 +139,7 @@
138139
"chromatic": "^6.5.4",
139140
"concurrently": "^8.2.2",
140141
"ember-auto-import": "^2.7.0",
142+
"ember-basic-dropdown": "^8.3.0",
141143
"ember-cli": "~5.5.0",
142144
"ember-cli-autoprefixer": "^2.0.0",
143145
"ember-cli-clean-css": "^3.0.0",
@@ -148,7 +150,7 @@
148150
"ember-cli-terser": "^4.0.2",
149151
"ember-load-initializers": "^2.1.2",
150152
"ember-page-title": "^8.1.0",
151-
"ember-power-select": "^7.2.0",
153+
"ember-power-select": "^8.0.0",
152154
"ember-qunit": "^8.0.2",
153155
"ember-resolver": "^11.0.1",
154156
"ember-root-url": "^1.0.1",
@@ -180,7 +182,7 @@
180182
"webpack": "^5.89.0"
181183
},
182184
"optionalDependencies": {
183-
"ember-power-select": "2.x || 3.x || 4.x || 5.x || 6.x || 7.x"
185+
"ember-power-select": "2.x || 3.x || 4.x || 5.x || 6.x || 7.x || 8.x"
184186
},
185187
"peerDependencies": {
186188
"ember-source": "^4.12.0 || ^5.0.0",

stories/5-components/Content/AuModal.stories.js

+1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ const Template = (args) => ({
7979

8080
const OverflowTemplate = (args) => ({
8181
template: hbs`
82+
<BasicDropdownWormhole />
8283
<AuModalContainer />
8384
<AuModal
8485
@modalOpen={{this.modalOpen}}

stories/5-components/Forms/PowerSelect/MultipleSelect.stories.js

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export default {
2424

2525
const Template = (args) => ({
2626
template: hbs`
27+
<BasicDropdownWormhole />
2728
<PowerSelectMultiple
2829
@allowClear={{this.allowClear}}
2930
@renderInPlace={{this.renderInPlace}}

stories/5-components/Forms/PowerSelect/SingleSelect.stories.js

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export default {
2222

2323
const Template = (args) => ({
2424
template: hbs`
25+
<BasicDropdownWormhole />
2526
<PowerSelect
2627
@allowClear={{this.allowClear}}
2728
@renderInPlace={{this.renderInPlace}}

styles/plugins/_p-ember-power-select.scss

+8
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,14 @@ $ember-power-select-multiple-option-line-height: 1.45;
581581
}
582582
}
583583

584+
.ember-power-select-visually-hidden {
585+
height: 1px;
586+
left: -9999px;
587+
overflow: hidden;
588+
position: absolute;
589+
width: 1px;
590+
}
591+
584592
// RTL styles
585593
.ember-power-select-trigger[dir="rtl"] {
586594
padding: $ember-power-select-trigger-rtl-padding;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{{#if
2+
(macroCondition (macroDependencySatisfies "ember-basic-dropdown" "^8.0.0"))
3+
}}
4+
<BasicDropdownWormhole />
5+
{{/if}}

tests/dummy/config/ember-try.js

+12
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,18 @@ module.exports = async function () {
4040
},
4141
embroiderSafe(),
4242
embroiderOptimized(),
43+
{
44+
name: 'ember-concurrency-v3',
45+
npm: {
46+
dependencies: {
47+
'ember-concurrency': '^3.0.0',
48+
},
49+
devDependencies: {
50+
'ember-basic-dropdown': null,
51+
'ember-power-select': '^7.0.0',
52+
},
53+
},
54+
},
4355
],
4456
};
4557
};

0 commit comments

Comments
 (0)