ember-sortable 3.0.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +32 -30
- package/RELEASE.md +60 -0
- package/addon/modifiers/sortable-group.js +33 -20
- package/addon/modifiers/sortable-handle.js +10 -5
- package/addon/modifiers/sortable-item.js +28 -11
- package/app/services/ember-sortable-internal-state.js +1 -0
- package/package.json +40 -31
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -25
- package/.github/workflows/github_ci.yml +0 -71
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,24 @@ Please upgrade or ask whatever dependency you are using to upgrade.
|
|
|
3
3
|
https://github.com/highlightjs/highlight.js/issues/2877
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
|
|
7
|
+
## v4.0.0 (2022-05-16)
|
|
8
|
+
|
|
9
|
+
#### :boom: Breaking Change
|
|
10
|
+
* [#479](https://github.com/adopted-ember-addons/ember-sortable/pull/479) Drop node 12 and Ember 3.20 support ([@BnitoBzh](https://github.com/BnitoBzh))
|
|
11
|
+
* [#476](https://github.com/adopted-ember-addons/ember-sortable/pull/476) Update ember-modifier to 3.2.0 (drop Ember < 3.24) ([@BnitoBzh](https://github.com/BnitoBzh))
|
|
12
|
+
|
|
13
|
+
#### :rocket: Enhancement
|
|
14
|
+
* [#477](https://github.com/adopted-ember-addons/ember-sortable/pull/477) perf: avoid creating callbacks for the destructor ([@BnitoBzh](https://github.com/BnitoBzh))
|
|
15
|
+
|
|
16
|
+
#### :house: Internal
|
|
17
|
+
* [#478](https://github.com/adopted-ember-addons/ember-sortable/pull/478) chore: update release process to match adopted standards ([@knownasilya](https://github.com/knownasilya))
|
|
18
|
+
|
|
19
|
+
#### Committers: 3
|
|
20
|
+
- Ewan McDougall ([@mrloop](https://github.com/mrloop))
|
|
21
|
+
- Ilya Radchenko ([@knownasilya](https://github.com/knownasilya))
|
|
22
|
+
- [@BnitoBzh](https://github.com/BnitoBzh)
|
|
23
|
+
|
|
6
24
|
## v3.0.1 (2022-03-16)
|
|
7
25
|
|
|
8
26
|
#### :bug: Bug Fix
|
package/README.md
CHANGED
|
@@ -25,6 +25,8 @@ For modifiers, please read this [migration guide](/MIGRATION_GUIDE_MODIFIERS.md)
|
|
|
25
25
|
|
|
26
26
|
## Requirements
|
|
27
27
|
|
|
28
|
+
In version 3.0.0+, Node.js v12 or above And Ember.js v3.24 or above
|
|
29
|
+
|
|
28
30
|
In version 2.0.0+, our `closest` polyfill seems to break some app's `production` build. To mitigate this, the `closest` polyfill will only enabled if it doesn't break the `production` build (if the `polyfill` file is recognized by the build). Affected apps will need to supply their own [closest](https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill) polyfill to ensure compatibility with IE. This issue is tracked [here](https://github.com/adopted-ember-addons/ember-sortable/issues/333).
|
|
29
31
|
|
|
30
32
|
We require the `ember-decorators-polyfill` to be installed if you are using this addon with versions of Ember < 3.10.0.
|
|
@@ -42,16 +44,18 @@ $ ember install ember-sortable
|
|
|
42
44
|
## Usage
|
|
43
45
|
|
|
44
46
|
```hbs
|
|
45
|
-
{{! app/
|
|
47
|
+
{{! app/components/my-list/template.hbs }}
|
|
46
48
|
|
|
47
49
|
<ol {{sortable-group onChange=this.reorderItems}}>
|
|
48
|
-
{{#each
|
|
49
|
-
<li {{sortable-item model=
|
|
50
|
-
{{
|
|
50
|
+
{{#each this.items as |item|}}
|
|
51
|
+
<li {{sortable-item model=item}}>
|
|
52
|
+
{{item}}
|
|
51
53
|
<span class='handle' {{sortable-handle}}>↕</span>
|
|
52
54
|
</li>
|
|
53
55
|
{{/each}}
|
|
54
56
|
</ol>
|
|
57
|
+
|
|
58
|
+
<p>The last dragged item was: {{this.lastDragged}}</p>
|
|
55
59
|
```
|
|
56
60
|
|
|
57
61
|
The `onChange` action is called with two arguments:
|
|
@@ -60,13 +64,16 @@ The `onChange` action is called with two arguments:
|
|
|
60
64
|
- The model you just dragged
|
|
61
65
|
|
|
62
66
|
```js
|
|
63
|
-
// app/
|
|
67
|
+
// app/components/my-list/component.js
|
|
68
|
+
|
|
69
|
+
export default class MyList extends Component {
|
|
70
|
+
@tracked lastDragged;
|
|
71
|
+
@tracked items = ['Coal Ila', 'Askaig', 'Bowmore'];
|
|
64
72
|
|
|
65
|
-
export default class MyRoute extends Route {
|
|
66
73
|
@action
|
|
67
74
|
reorderItems(itemModels, draggedModel) {
|
|
68
|
-
this.
|
|
69
|
-
this.
|
|
75
|
+
this.items = itemModels;
|
|
76
|
+
this.lastDragged = draggedModel;
|
|
70
77
|
}
|
|
71
78
|
}
|
|
72
79
|
```
|
|
@@ -74,12 +81,12 @@ export default class MyRoute extends Route {
|
|
|
74
81
|
The modifier version does not support `groupModel`, use the currying of `action` or the `fn` helper.
|
|
75
82
|
|
|
76
83
|
```hbs
|
|
77
|
-
{{! app/
|
|
84
|
+
{{! app/components/my-list/template.hbs }}
|
|
78
85
|
|
|
79
86
|
<ol {{sortable-group onChange=(fn this.reorderItems model)}}>
|
|
80
|
-
{{#each
|
|
81
|
-
<li {{sortable-item model=
|
|
82
|
-
{{
|
|
87
|
+
{{#each this.items as |item|}}
|
|
88
|
+
<li {{sortable-item model=item}}>
|
|
89
|
+
{{item}}
|
|
83
90
|
<span class='handle' {{sortable-handle}}>↕</span>
|
|
84
91
|
</li>
|
|
85
92
|
{{/each}}
|
|
@@ -187,30 +194,25 @@ When the action is called, the item's model will be provided as the only
|
|
|
187
194
|
argument.
|
|
188
195
|
|
|
189
196
|
```js
|
|
190
|
-
// app/
|
|
197
|
+
// app/components/my-list/component.js
|
|
191
198
|
|
|
192
199
|
export default class MyRoute extends Route {
|
|
193
200
|
@action
|
|
194
201
|
dragStarted(item) {
|
|
195
|
-
console.log(`Item started dragging: ${item
|
|
202
|
+
console.log(`Item started dragging: ${item}`);
|
|
196
203
|
},
|
|
197
204
|
@action
|
|
198
205
|
dragStopped(item) {
|
|
199
|
-
console.log(`Item stopped dragging: ${item
|
|
206
|
+
console.log(`Item stopped dragging: ${item}`);
|
|
200
207
|
}
|
|
201
208
|
}
|
|
202
209
|
```
|
|
203
210
|
|
|
204
211
|
```hbs
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}}
|
|
210
|
-
>
|
|
211
|
-
{{modelItem.name}}
|
|
212
|
-
<span class="handle" {{sortable-handle}}>↕</span>
|
|
213
|
-
</li>
|
|
212
|
+
<li {{sortable-item onDragStart=this.dragStarted onDragStop=this.dragStopped model=item}}>
|
|
213
|
+
{{item}}
|
|
214
|
+
<span class='handle' {{sortable-handle}}>↕</span>
|
|
215
|
+
</li>
|
|
214
216
|
```
|
|
215
217
|
|
|
216
218
|
### Multiple Ember-Sortables renders simultaneously
|
|
@@ -221,9 +223,9 @@ Both the `{{sortable-group}}` and `{{sortable-item}}` take an additional argumen
|
|
|
221
223
|
|
|
222
224
|
```hbs
|
|
223
225
|
<ol {{sortable-group groupName='products' onChange=this.reorderItems}}>
|
|
224
|
-
{{#each
|
|
225
|
-
<li {{sortable-item groupName='products' model=
|
|
226
|
-
{{
|
|
226
|
+
{{#each this.items as |item|}}
|
|
227
|
+
<li {{sortable-item groupName='products' model=item}}>
|
|
228
|
+
{{item}}
|
|
227
229
|
<span class='handle' {{sortable-handle}}>↕</span>
|
|
228
230
|
</li>
|
|
229
231
|
{{/each}}
|
|
@@ -235,9 +237,9 @@ Ensure that the same name is passed to both the group and the items, this would
|
|
|
235
237
|
```hbs
|
|
236
238
|
{{#let 'products' as |myGroupName|}}
|
|
237
239
|
<ol {{sortable-group groupName=myGroupName onChange=this.reorderItems}}>
|
|
238
|
-
{{#each
|
|
239
|
-
<li {{sortable-item groupName=myGroupName model=
|
|
240
|
-
{{
|
|
240
|
+
{{#each this.items as |item|}}
|
|
241
|
+
<li {{sortable-item groupName=myGroupName model=item}}>
|
|
242
|
+
{{item}}
|
|
241
243
|
<span class='handle' {{sortable-handle}}>↕</span>
|
|
242
244
|
</li>
|
|
243
245
|
{{/each}}
|
package/RELEASE.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Release Process
|
|
2
|
+
|
|
3
|
+
Releases are mostly automated using
|
|
4
|
+
[release-it](https://github.com/release-it/release-it/) and
|
|
5
|
+
[lerna-changelog](https://github.com/lerna/lerna-changelog/).
|
|
6
|
+
|
|
7
|
+
## Preparation
|
|
8
|
+
|
|
9
|
+
Since the majority of the actual release process is automated, the primary
|
|
10
|
+
remaining task prior to releasing is confirming that all pull requests that
|
|
11
|
+
have been merged since the last release have been labeled with the appropriate
|
|
12
|
+
`lerna-changelog` labels and the titles have been updated to ensure they
|
|
13
|
+
represent something that would make sense to our users. Some great information
|
|
14
|
+
on why this is important can be found at
|
|
15
|
+
[keepachangelog.com](https://keepachangelog.com/en/1.0.0/), but the overall
|
|
16
|
+
guiding principle here is that changelogs are for humans, not machines.
|
|
17
|
+
|
|
18
|
+
When reviewing merged PR's the labels to be used are:
|
|
19
|
+
|
|
20
|
+
* breaking - Used when the PR is considered a breaking change.
|
|
21
|
+
* enhancement - Used when the PR adds a new feature or enhancement.
|
|
22
|
+
* bug - Used when the PR fixes a bug included in a previous release.
|
|
23
|
+
* documentation - Used when the PR adds or updates documentation.
|
|
24
|
+
* internal - Used for internal changes that still require a mention in the
|
|
25
|
+
changelog/release notes.
|
|
26
|
+
|
|
27
|
+
## Release
|
|
28
|
+
|
|
29
|
+
Once the prep work is completed, the actual release is straight forward:
|
|
30
|
+
|
|
31
|
+
* First, ensure that you have installed your projects dependencies:
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
yarn install
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
* Second, ensure that you have obtained a
|
|
38
|
+
[GitHub personal access token][generate-token] with the `repo` scope (no
|
|
39
|
+
other permissions are needed). Make sure the token is available as the
|
|
40
|
+
`GITHUB_AUTH` environment variable.
|
|
41
|
+
|
|
42
|
+
For instance:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
export GITHUB_AUTH=abc123def456
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
[generate-token]: https://github.com/settings/tokens/new?scopes=repo&description=GITHUB_AUTH+env+variable
|
|
49
|
+
|
|
50
|
+
* And last (but not least 😁) do your release.
|
|
51
|
+
|
|
52
|
+
```sh
|
|
53
|
+
npx release-it
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
[release-it](https://github.com/release-it/release-it/) manages the actual
|
|
57
|
+
release process. It will prompt you to to choose the version number after which
|
|
58
|
+
you will have the chance to hand tweak the changelog to be used (for the
|
|
59
|
+
`CHANGELOG.md` and GitHub release), then `release-it` continues on to tagging,
|
|
60
|
+
pushing the tag and commits, etc.
|
|
@@ -15,6 +15,7 @@ import { ANNOUNCEMENT_ACTION_TYPES } from '../utils/constant';
|
|
|
15
15
|
import { defaultA11yAnnouncementConfig } from '../utils/defaults';
|
|
16
16
|
import { next, schedule, scheduleOnce, later } from '@ember/runloop';
|
|
17
17
|
import { inject as service } from '@ember/service';
|
|
18
|
+
import { registerDestructor, isDestroyed } from '@ember/destroyable';
|
|
18
19
|
|
|
19
20
|
const NO_MODEL = {};
|
|
20
21
|
|
|
@@ -488,7 +489,7 @@ export default class SortableGroupModifier extends Modifier {
|
|
|
488
489
|
return this.args.named.onChange;
|
|
489
490
|
}
|
|
490
491
|
|
|
491
|
-
@service('ember-sortable
|
|
492
|
+
@service('ember-sortable-internal-state')
|
|
492
493
|
sortableService;
|
|
493
494
|
|
|
494
495
|
/**
|
|
@@ -620,7 +621,7 @@ export default class SortableGroupModifier extends Modifier {
|
|
|
620
621
|
let dimension;
|
|
621
622
|
let direction = this.direction;
|
|
622
623
|
|
|
623
|
-
if (!item.isDragging) {
|
|
624
|
+
if (!isDestroyed(item) && !item.isDragging) {
|
|
624
625
|
set(item, direction, position);
|
|
625
626
|
}
|
|
626
627
|
|
|
@@ -710,32 +711,44 @@ export default class SortableGroupModifier extends Modifier {
|
|
|
710
711
|
this.element.removeEventListener('focusout', this.focusOut);
|
|
711
712
|
}
|
|
712
713
|
|
|
713
|
-
|
|
714
|
+
element;
|
|
715
|
+
didSetup = false;
|
|
716
|
+
|
|
717
|
+
constructor(owner, args) {
|
|
718
|
+
super(owner, args);
|
|
719
|
+
registerDestructor(this, cleanup);
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
modify(element /*, positional, named*/) {
|
|
723
|
+
this.element = element;
|
|
724
|
+
|
|
714
725
|
this.removeEventListener();
|
|
715
726
|
|
|
727
|
+
if (!this.didSetup) {
|
|
728
|
+
this.announcer = this._createAnnouncer();
|
|
729
|
+
this.element.insertAdjacentElement('afterend', this.announcer);
|
|
730
|
+
this.sortableService.registerGroup(this.groupName, this);
|
|
731
|
+
|
|
732
|
+
this.didSetup = true;
|
|
733
|
+
}
|
|
734
|
+
|
|
716
735
|
if (this.disabled) {
|
|
717
736
|
return;
|
|
718
737
|
}
|
|
719
738
|
|
|
720
739
|
this.addEventListener();
|
|
721
740
|
}
|
|
741
|
+
}
|
|
722
742
|
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
willRemove() {
|
|
733
|
-
// todo cleanup the announcer
|
|
734
|
-
if (this.announcer.parentNode) {
|
|
735
|
-
this.announcer.parentNode.removeChild(this.announcer);
|
|
736
|
-
}
|
|
737
|
-
this.removeEventListener();
|
|
738
|
-
|
|
739
|
-
this.sortableService.deregisterGroup(this.groupName, this);
|
|
743
|
+
/**
|
|
744
|
+
*
|
|
745
|
+
* @param {SortableGroupModifier} instance
|
|
746
|
+
*/
|
|
747
|
+
function cleanup(instance) {
|
|
748
|
+
// todo cleanup the announcer
|
|
749
|
+
if (instance.announcer.parentNode) {
|
|
750
|
+
instance.announcer.parentNode.removeChild(instance.announcer);
|
|
740
751
|
}
|
|
752
|
+
instance.removeEventListener();
|
|
753
|
+
instance.sortableService.deregisterGroup(instance.groupName, instance);
|
|
741
754
|
}
|
|
@@ -15,10 +15,15 @@ import Modifier from 'ember-modifier';
|
|
|
15
15
|
* </ol>
|
|
16
16
|
*/
|
|
17
17
|
export default class SortableHandleModifier extends Modifier {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.
|
|
22
|
-
|
|
18
|
+
didSetup = false;
|
|
19
|
+
|
|
20
|
+
modify(element /*, positional, named*/) {
|
|
21
|
+
if (!this.didSetup) {
|
|
22
|
+
// take the model and look up the registered element, the tell that element you are the handle
|
|
23
|
+
element.dataset.sortableHandle = true;
|
|
24
|
+
element.tabIndex = '0';
|
|
25
|
+
element.setAttribute('role', 'button');
|
|
26
|
+
this.didSetup = true;
|
|
27
|
+
}
|
|
23
28
|
}
|
|
24
29
|
}
|
|
@@ -13,6 +13,7 @@ import { buildWaiter } from '@ember/test-waiters';
|
|
|
13
13
|
import { inject as service } from '@ember/service';
|
|
14
14
|
import { assert, deprecate } from '@ember/debug';
|
|
15
15
|
import config from 'ember-get-config';
|
|
16
|
+
import { registerDestructor } from '@ember/destroyable';
|
|
16
17
|
|
|
17
18
|
const { environment } = config;
|
|
18
19
|
const isTesting = environment === 'test';
|
|
@@ -41,7 +42,7 @@ const sortableItemWaiter = buildWaiter('sortable-item-waiter');
|
|
|
41
42
|
export default class SortableItemModifier extends Modifier {
|
|
42
43
|
className = 'sortable-item';
|
|
43
44
|
|
|
44
|
-
@service('ember-sortable
|
|
45
|
+
@service('ember-sortable-internal-state') sortableService;
|
|
45
46
|
|
|
46
47
|
_sortableGroup;
|
|
47
48
|
/**
|
|
@@ -810,27 +811,43 @@ export default class SortableItemModifier extends Modifier {
|
|
|
810
811
|
this.element.removeEventListener('touchstart', this.touchStart);
|
|
811
812
|
}
|
|
812
813
|
|
|
813
|
-
|
|
814
|
+
element;
|
|
815
|
+
didSetup = false;
|
|
816
|
+
|
|
817
|
+
constructor(owner, args) {
|
|
818
|
+
super(owner, args);
|
|
819
|
+
registerDestructor(this, cleanup);
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
modify(element /*, positional, named*/) {
|
|
823
|
+
this.element = element;
|
|
824
|
+
|
|
814
825
|
this.element.classList.add(this.className);
|
|
815
826
|
|
|
816
827
|
// Instead of using `event.preventDefault()` in the 'primeDrag' event,
|
|
817
828
|
// (doesn't work in Chrome 56), we set touch-action: none as a workaround.
|
|
818
829
|
this.handleElement = this.element.querySelector(this.handle);
|
|
830
|
+
|
|
819
831
|
if (this.handleElement) {
|
|
820
832
|
this.handleElement.style['touch-action'] = 'none';
|
|
821
833
|
} else {
|
|
822
834
|
this.element.style['touch-action'] = 'none';
|
|
823
835
|
}
|
|
824
|
-
}
|
|
825
836
|
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
837
|
+
if (!this.didSetup) {
|
|
838
|
+
this.addEventListener();
|
|
839
|
+
this.element.dataset.sortableItem = true;
|
|
840
|
+
this.sortableService.registerItem(this.groupName, this);
|
|
841
|
+
this.didSetup = true;
|
|
842
|
+
}
|
|
830
843
|
}
|
|
844
|
+
}
|
|
831
845
|
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
846
|
+
/**
|
|
847
|
+
*
|
|
848
|
+
* @param {SortableItemModifier} instance
|
|
849
|
+
*/
|
|
850
|
+
function cleanup(instance) {
|
|
851
|
+
instance.removeEventListener();
|
|
852
|
+
instance.sortableService.deregisterItem(instance.groupName, instance);
|
|
836
853
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from 'ember-sortable/services/ember-sortable';
|
package/package.json
CHANGED
|
@@ -1,81 +1,84 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ember-sortable",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Sortable UI primitives for Ember.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon",
|
|
7
7
|
"sortable"
|
|
8
8
|
],
|
|
9
|
+
"repository": "https://github.com/adopted-ember-addons/ember-sortable",
|
|
9
10
|
"license": "MIT",
|
|
10
11
|
"author": "",
|
|
11
12
|
"directories": {
|
|
12
13
|
"doc": "doc",
|
|
13
14
|
"test": "tests"
|
|
14
15
|
},
|
|
15
|
-
"repository": "https://github.com/adopted-ember-addons/ember-sortable",
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "ember build",
|
|
18
18
|
"lint:hbs": "ember-template-lint .",
|
|
19
19
|
"lint:js": "eslint .",
|
|
20
20
|
"start": "ember serve",
|
|
21
|
-
"test": "ember test",
|
|
21
|
+
"test:ember": "ember test",
|
|
22
22
|
"test:all": "ember try:each",
|
|
23
23
|
"lint": "yarn lint:hbs && yarn lint:js",
|
|
24
24
|
"release": "release-it"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@ember/render-modifiers": "^1.0.2 || ^2.0.0",
|
|
28
|
-
"@ember/test-waiters": "^
|
|
29
|
-
"ember-cli-babel": "^7.26.
|
|
30
|
-
"ember-cli-htmlbars": "^
|
|
28
|
+
"@ember/test-waiters": "^3.0.1",
|
|
29
|
+
"ember-cli-babel": "^7.26.11",
|
|
30
|
+
"ember-cli-htmlbars": "^6.0.1",
|
|
31
31
|
"ember-cli-version-checker": "^5.1.2",
|
|
32
|
-
"ember-get-config": "^0.
|
|
33
|
-
"ember-modifier": "^2.
|
|
32
|
+
"ember-get-config": "^2.0.0",
|
|
33
|
+
"ember-modifier": "^3.2.0",
|
|
34
34
|
"ember-test-selectors": "^6.0.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@ember/optional-features": "^2.0.0",
|
|
38
|
-
"@ember/test-helpers": "^2.
|
|
39
|
-
"@embroider/test-setup": "^
|
|
38
|
+
"@ember/test-helpers": "^2.6.0",
|
|
39
|
+
"@embroider/test-setup": "^1.2.0",
|
|
40
40
|
"@glimmer/component": "^1.0.4",
|
|
41
41
|
"@glimmer/tracking": "^1.0.4",
|
|
42
42
|
"babel-eslint": "^10.0.3",
|
|
43
|
-
"broccoli-asset-rev": "^
|
|
44
|
-
"ember-a11y-testing": "^
|
|
45
|
-
"ember-
|
|
43
|
+
"broccoli-asset-rev": "^3.0.0",
|
|
44
|
+
"ember-a11y-testing": "^5.0.0",
|
|
45
|
+
"ember-auto-import": "^2.4.0",
|
|
46
|
+
"ember-cli": "^4.2.0",
|
|
46
47
|
"ember-cli-dependency-checker": "^3.0.0",
|
|
47
|
-
"ember-cli-
|
|
48
|
-
"ember-cli-inject-live-reload": "^1.8.2",
|
|
48
|
+
"ember-cli-inject-live-reload": "^2.0.0",
|
|
49
49
|
"ember-cli-sri": "^2.1.1",
|
|
50
50
|
"ember-cli-terser": "^4.0.2",
|
|
51
51
|
"ember-disable-prototype-extensions": "^1.1.3",
|
|
52
52
|
"ember-export-application-global": "^2.0.0",
|
|
53
53
|
"ember-load-initializers": "^2.1.2",
|
|
54
|
-
"ember-
|
|
55
|
-
"ember-qunit": "^5.1.4",
|
|
54
|
+
"ember-qunit": "mydea/ember-qunit#fn/ember-auto-import-v2-node-12",
|
|
56
55
|
"ember-resolver": "^8.0.3",
|
|
57
|
-
"ember-source": "^
|
|
56
|
+
"ember-source": "^4.2.0",
|
|
58
57
|
"ember-source-channel-url": "^3.0.0",
|
|
59
|
-
"ember-template-lint": "^
|
|
60
|
-
"ember-try": "^
|
|
58
|
+
"ember-template-lint": "^4.2.0",
|
|
59
|
+
"ember-try": "^2.0.0",
|
|
61
60
|
"eslint": "^7.32.0",
|
|
62
|
-
"eslint-config-prettier": "^8.
|
|
63
|
-
"eslint-plugin-ember": "
|
|
61
|
+
"eslint-config-prettier": "^8.4.0",
|
|
62
|
+
"eslint-plugin-ember": "^10.5.9",
|
|
64
63
|
"eslint-plugin-node": "^11.1.0",
|
|
65
|
-
"eslint-plugin-prettier": "^
|
|
66
|
-
"eslint-plugin-qunit": "^
|
|
64
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
65
|
+
"eslint-plugin-qunit": "^7.2.0",
|
|
67
66
|
"husky": "^3.0.8",
|
|
68
67
|
"lerna-changelog": "^0.8.2",
|
|
69
68
|
"loader.js": "^4.7.0",
|
|
70
69
|
"npm-run-all": "^4.1.5",
|
|
71
|
-
"prettier": "^2.
|
|
72
|
-
"qunit": "^2.
|
|
73
|
-
"qunit-dom": "^
|
|
70
|
+
"prettier": "^2.5.1",
|
|
71
|
+
"qunit": "^2.18.0",
|
|
72
|
+
"qunit-dom": "^2.0.0",
|
|
74
73
|
"release-it": "^14.11.8",
|
|
75
|
-
"release-it-lerna-changelog": "^4.0.1"
|
|
74
|
+
"release-it-lerna-changelog": "^4.0.1",
|
|
75
|
+
"webpack": "^5.69.1"
|
|
76
76
|
},
|
|
77
77
|
"engines": {
|
|
78
|
-
"node": "
|
|
78
|
+
"node": "14.* || >= 16"
|
|
79
|
+
},
|
|
80
|
+
"publishConfig": {
|
|
81
|
+
"registry": "https://registry.npmjs.org"
|
|
79
82
|
},
|
|
80
83
|
"ember": {
|
|
81
84
|
"edition": "octane"
|
|
@@ -87,14 +90,20 @@
|
|
|
87
90
|
"release-it": {
|
|
88
91
|
"plugins": {
|
|
89
92
|
"release-it-lerna-changelog": {
|
|
90
|
-
"infile": "CHANGELOG.md"
|
|
93
|
+
"infile": "CHANGELOG.md",
|
|
94
|
+
"launchEditor": false
|
|
91
95
|
}
|
|
92
96
|
},
|
|
93
97
|
"git": {
|
|
94
98
|
"tagName": "v${version}"
|
|
95
99
|
},
|
|
96
100
|
"github": {
|
|
97
|
-
"release": true
|
|
101
|
+
"release": true,
|
|
102
|
+
"tokenRef": "GITHUB_AUTH"
|
|
98
103
|
}
|
|
104
|
+
},
|
|
105
|
+
"volta": {
|
|
106
|
+
"node": "14.19.2",
|
|
107
|
+
"yarn": "1.22.18"
|
|
99
108
|
}
|
|
100
109
|
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Bug report
|
|
3
|
-
about: Create a report to help us improve
|
|
4
|
-
labels:
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
**Describe the bug**
|
|
8
|
-
A clear and concise description of what the bug is.
|
|
9
|
-
|
|
10
|
-
**To Reproduce**
|
|
11
|
-
Steps to reproduce the behavior:
|
|
12
|
-
|
|
13
|
-
1. Go to '...'
|
|
14
|
-
2. Click on '....'
|
|
15
|
-
3. Scroll down to '....'
|
|
16
|
-
4. See error
|
|
17
|
-
|
|
18
|
-
**Expected behavior**
|
|
19
|
-
A clear and concise description of what you expected to happen.
|
|
20
|
-
|
|
21
|
-
**Screenshots**
|
|
22
|
-
If applicable, add screenshots to help explain your problem.
|
|
23
|
-
|
|
24
|
-
**Additional context**
|
|
25
|
-
Add any other context about the problem here.
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
|
2
|
-
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
|
3
|
-
|
|
4
|
-
name: build
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
workflow_dispatch:
|
|
8
|
-
push:
|
|
9
|
-
branches: [master]
|
|
10
|
-
pull_request:
|
|
11
|
-
branches: [master]
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
main-test:
|
|
15
|
-
name: Main test
|
|
16
|
-
runs-on: ubuntu-latest
|
|
17
|
-
steps:
|
|
18
|
-
- uses: actions/checkout@v2
|
|
19
|
-
- name: Use Node.js 12
|
|
20
|
-
uses: actions/setup-node@v2
|
|
21
|
-
with:
|
|
22
|
-
node-version: 12
|
|
23
|
-
cache: yarn
|
|
24
|
-
- name: Install Dependencies
|
|
25
|
-
run: yarn install --frozen-lockfile
|
|
26
|
-
- name: Running tests
|
|
27
|
-
run: yarn test
|
|
28
|
-
|
|
29
|
-
ember-try-required:
|
|
30
|
-
name: Ember try ember-${{matrix.scenario}}
|
|
31
|
-
|
|
32
|
-
runs-on: ubuntu-latest
|
|
33
|
-
|
|
34
|
-
strategy:
|
|
35
|
-
fail-fast: false
|
|
36
|
-
matrix:
|
|
37
|
-
scenario: [ember-lts-3.20, ember-lts-3.24, ember-lts-3.28]
|
|
38
|
-
steps:
|
|
39
|
-
- uses: actions/checkout@v2
|
|
40
|
-
- name: Use Node.js 12
|
|
41
|
-
uses: actions/setup-node@v2
|
|
42
|
-
with:
|
|
43
|
-
node-version: 12
|
|
44
|
-
cache: yarn
|
|
45
|
-
- name: Install Dependencies
|
|
46
|
-
run: yarn install --frozen-lockfile
|
|
47
|
-
- name: Running test
|
|
48
|
-
run: yarn ember try:one ${{ matrix.scenario }}
|
|
49
|
-
|
|
50
|
-
ember-try-optional:
|
|
51
|
-
name: Ember try ember-${{matrix.scenario}}
|
|
52
|
-
|
|
53
|
-
runs-on: ubuntu-latest
|
|
54
|
-
|
|
55
|
-
strategy:
|
|
56
|
-
fail-fast: false
|
|
57
|
-
max-parallel: 1
|
|
58
|
-
matrix:
|
|
59
|
-
scenario: [ember-beta, ember-release, ember-canary]
|
|
60
|
-
steps:
|
|
61
|
-
- uses: actions/checkout@v2
|
|
62
|
-
- name: Use Node.js 12
|
|
63
|
-
uses: actions/setup-node@v2
|
|
64
|
-
with:
|
|
65
|
-
node-version: 12
|
|
66
|
-
cache: yarn
|
|
67
|
-
- name: Install Dependencies
|
|
68
|
-
run: yarn install --frozen-lockfile
|
|
69
|
-
- name: Running test
|
|
70
|
-
run: yarn ember try:one ${{ matrix.scenario }}
|
|
71
|
-
continue-on-error: true
|