diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fda5c526..cda9f03c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -50,16 +50,11 @@ jobs:
matrix:
ember-version:
[
- ember-lts-2.18,
- ember-lts-3.4,
- ember-lts-3.8,
ember-lts-3.12,
ember-lts-3.16,
ember-lts-3.20,
- ember-lts-3.24,
ember-lts-3.28,
ember-lts-4.4,
- ember-4.5,
ember-release,
ember-beta,
ember-canary,
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 19236580..b360abbe 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,33 @@ Changelog
=========
+## v4.0.0 (2022-09-12)
+
+* Drops support for Ember < 3.12-LTS.
+* Drops support for Ember CLI 2.x. https://github.com/html-next/vertical-collection/pull/379
+* No change in Node support.
+* Drop the positional param for `items` on the vertical collection component.
+* Drop ember-compatibility-helpers https://github.com/html-next/vertical-collection/pull/375
+* Refactor a bunch of debug code to DEBUG https://github.com/html-next/vertical-collection/pull/388
+* Adopt angle bracket invocation
+* Adopt native getters
+
+
+## v4.0.0-beta.2 (2022-09-08)
+
+
+## v4.0.0-beta.1 (2022-09-07)
+
+
+## v4.0.0-beta.0 (2022-08-28)
+
+* Drop support for Ember versions prior to 3.12
+* Drop support for Ember CLI 2.x
+* Adopt native getters
+* Adopt angle bracket invocation
+* Drop positional param argument for `item`
+
+
## v3.1.0 (2022-08-04)
#### :rocket: Enhancement
diff --git a/README.md b/README.md
index 2ec8d2e5..d5eb02be 100644
--- a/README.md
+++ b/README.md
@@ -30,24 +30,24 @@ ember install @html-next/vertical-collection
## Usage
```htmlbars
-{{#vertical-collection
- items
- tagName='ul'
- estimateHeight=50
- staticHeight=false
- bufferSize=1
- renderAll=false
- renderFromLast=false
- idForFirstItem=idForFirstItem
- firstReached=(action firstReached)
- lastReached=(action lastReached)
- firstVisibleChanged=(action firstVisibleChanged)
- lastVisibleChanged=(action lastVisibleChanged)
- as |item i|}}
+
{{item.number}} {{i}}
-{{/vertical-collection}}
+
```
### Actions
@@ -67,6 +67,7 @@ ember install @html-next/vertical-collection
| `^v1.x.x` | `v1.12.0 - v3.8.x` | `?` |
| `^v2.x.x` | `v2.8.0 - v3.26.x` | `v12 - ?` |
| `^v3.x.x` | `v2.18.0+` | `v14+` |
+| `^v4.x.x` | `v3.12.0+` | `v14+` |
## Support, Questions, Collaboration
diff --git a/RELEASE.md b/RELEASE.md
index 55e91ed6..7ef65e74 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -58,3 +58,17 @@ release process. It will prompt you to to choose the version number after which
you will have the chance to hand tweak the changelog to be used (for the
`CHANGELOG.md` and GitHub release), then `release-it` continues on to tagging,
pushing the tag and commits, etc.
+
+To start a prerelease branch for a new major use:
+
+```sh
+npx release-it major --preRelease=beta
+```
+
+On subsequent prerelease run:
+
+```sh
+npx release-it --preRelease
+```
+
+For more guidance see https://github.com/release-it/release-it/blob/master/docs/pre-releases.md
diff --git a/addon/-debug/edge-visualization/debug-mixin.js b/addon/-debug/edge-visualization/debug-mixin.js
deleted file mode 100644
index 407595a8..00000000
--- a/addon/-debug/edge-visualization/debug-mixin.js
+++ /dev/null
@@ -1,93 +0,0 @@
-import { assert } from '@ember/debug';
-import Mixin from '@ember/object/mixin';
-import Visualization from './visualization';
-import { ViewportContainer } from '../../-private';
-
-import {
- styleIsOneOf,
- hasStyleValue,
- hasStyleWithNonZeroValue
-} from '../utils/validate-style';
-
-export default Mixin.create({
- debugVis: false,
- debugCSS: false,
-
- __visualization: null,
-
- init() {
- this._super(...arguments);
-
- this._radar._debugDidUpdate = () => {
- this.updateVisualization();
- this.detectIssuesWithCSS();
- };
- },
-
- detectIssuesWithCSS() {
- if (this.get('debugCSS') === false) {
- return;
- }
-
- let radar = this._radar;
- let styles;
-
- // check telescope
- if (radar.scrollContainer !== ViewportContainer) {
- styles = window.getComputedStyle(radar.scrollContainer);
- } else {
- styles = window.getComputedStyle(document.body);
- }
-
- assert(`scrollContainer cannot be inline.`, styleIsOneOf(styles, 'display', ['block', 'inline-block', 'flex', 'inline-flex']));
- assert(`scrollContainer must define position`, styleIsOneOf(styles, 'position', ['static', 'relative', 'absolute']));
- assert(`scrollContainer must define height or max-height`, hasStyleWithNonZeroValue(styles, 'height') || hasStyleWithNonZeroValue(styles, 'max-height'));
-
- // conditional perf check for non-body scrolling
- if (radar.scrollContainer !== ViewportContainer) {
- assert(`scrollContainer must define overflow-y`, hasStyleValue(styles, 'overflow-y', 'scroll') || hasStyleValue(styles, 'overflow', 'scroll'));
- }
-
- // check itemContainer
- styles = window.getComputedStyle(radar.itemContainer);
-
- assert(`itemContainer cannot be inline.`, styleIsOneOf(styles, 'display', ['block', 'inline-block', 'flex', 'inline-flex']));
- assert(`itemContainer must define position`, styleIsOneOf(styles, 'position', ['static', 'relative', 'absolute']));
-
- // check item defaults
- assert(`You must supply at least one item to the collection to debug it's CSS.`, this.get('items.length'));
-
- let element = radar._itemContainer.firstElementChild;
-
- styles = window.getComputedStyle(element);
-
- assert(`Item cannot be inline.`, styleIsOneOf(styles, 'display', ['block', 'inline-block', 'flex', 'inline-flex']));
- assert(`Item must define position`, styleIsOneOf(styles, 'position', ['static', 'relative', 'absolute']));
- },
-
- updateVisualization() {
- if (this.get('debugVis') === false) {
- if (this.__visualization !== null) {
- console.info('tearing down existing visualization'); // eslint-disable-line no-console
- this.__visualization.destroy();
- this.__visualization = null;
- }
- return;
- }
-
- if (this.__visualization === null) {
- this.__visualization = new Visualization(this._radar);
- }
-
- this.__visualization.render();
- },
-
- willDestroy() {
- this._super();
- if (this.__visualization) {
- console.info('destroying visualization'); // eslint-disable-line no-console
- this.__visualization.destroy();
- this.__visualization = null;
- }
- }
-});
diff --git a/addon/-debug/edge-visualization/visualization.js b/addon/-debug/edge-visualization/visualization.js
deleted file mode 100644
index 1c780dce..00000000
--- a/addon/-debug/edge-visualization/visualization.js
+++ /dev/null
@@ -1,134 +0,0 @@
-import { ViewportContainer } from '../../-private';
-
-function applyVerticalStyles(element, geography) {
- element.style.height = `${geography.height}px`;
- element.style.top = `${geography.top}px`;
-}
-
-export default class Visualization {
- constructor(radar) {
- this.radar = radar;
- this.satellites = [];
- this.cache = [];
-
- this.wrapper = document.createElement('div');
- this.wrapper.className = 'vertical-collection-visual-debugger';
-
- this.container = document.createElement('div');
- this.container.className = 'vc_visualization-container';
- this.wrapper.appendChild(this.container);
-
- this.itemContainer = document.createElement('div');
- this.itemContainer.className = 'vc_visualization-item-container';
- this.container.appendChild(this.itemContainer);
-
- this.scrollContainer = document.createElement('div');
- this.scrollContainer.className = 'vc_visualization-scroll-container';
- this.container.appendChild(this.scrollContainer);
-
- this.screen = document.createElement('div');
- this.screen.className = 'vc_visualization-screen';
- this.container.appendChild(this.screen);
-
- document.body.appendChild(this.wrapper);
- }
-
- render() {
- this.styleViewport();
- this.updateSatellites();
- }
-
- styleViewport() {
- const { _scrollContainer } = this.radar;
- this.container.style.height = `${_scrollContainer.getBoundingClientRect().height}px`;
-
- applyVerticalStyles(this.scrollContainer, _scrollContainer.getBoundingClientRect());
- applyVerticalStyles(this.screen, ViewportContainer.getBoundingClientRect());
- }
-
- makeSatellite() {
- let satellite;
-
- if (this.cache.length) {
- satellite = this.cache.pop();
- } else {
- satellite = document.createElement('div');
- satellite.className = 'vc_visualization-virtual-component';
- }
-
- this.satellites.push(satellite);
- this.itemContainer.append(satellite);
- }
-
- updateSatellites() {
- const { satellites: sats } = this;
- let {
- firstItemIndex,
- lastItemIndex,
-
- totalItems,
-
- totalBefore,
- totalAfter,
- skipList,
- _calculatedEstimateHeight
- } = this.radar;
-
- const isDynamic = !!skipList;
- const itemHeights = isDynamic && skipList.values;
-
- const firstVisualizedIndex = Math.max(firstItemIndex - 10, 0);
- const lastVisualizedIndex = Math.min(lastItemIndex + 10, totalItems - 1);
-
- const lengthWithBuffer = lastVisualizedIndex - firstVisualizedIndex + 1;
- const isShrinking = sats.length > lengthWithBuffer;
-
- while (sats.length !== lengthWithBuffer) {
- if (isShrinking) {
- const satellite = sats.pop();
-
- satellite.parentNode.removeChild(satellite);
- this.cache.push(satellite);
- } else {
- this.makeSatellite();
- }
- }
-
- for (let itemIndex = firstVisualizedIndex, i = 0; itemIndex <= lastVisualizedIndex; itemIndex++, i++) {
- const element = sats[i];
-
- const itemHeight = isDynamic ? itemHeights[itemIndex] : _calculatedEstimateHeight;
-
- element.style.height = `${itemHeight}px`;
- element.setAttribute('index', String(itemIndex));
- element.innerText = String(itemIndex);
-
- if (itemIndex < firstItemIndex) {
- element.classList.add('culled');
- totalBefore -= itemHeight;
- } else if (itemIndex > lastItemIndex) {
- element.classList.add('culled');
- totalAfter -= itemHeight;
- } else {
- element.classList.remove('culled');
- }
- }
-
- this.itemContainer.style.paddingTop = `${totalBefore}px`;
- this.itemContainer.style.paddingBottom = `${totalAfter}px`;
- }
-
- destroy() {
- this.wrapper.parentNode.removeChild(this.wrapper);
- this.wrapper = null;
- this.radar = null;
- this.component = null;
- this.satellites.forEach((satellite) => {
- if (satellite.parentNode) {
- satellite.parentNode.removeChild(satellite);
- }
- });
- this.satellites = null;
- this.cache = null;
- }
-}
diff --git a/addon/-debug/index.js b/addon/-debug/index.js
deleted file mode 100644
index 4f976531..00000000
--- a/addon/-debug/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import DebugMixin from './edge-visualization/debug-mixin';
-import Collection from '../components/vertical-collection/component';
-
-Collection.reopen(DebugMixin);
diff --git a/addon/-debug/utils/validate-css.js b/addon/-debug/utils/validate-css.js
deleted file mode 100644
index 92a2a134..00000000
--- a/addon/-debug/utils/validate-css.js
+++ /dev/null
@@ -1,12 +0,0 @@
-export function hasCSSRule(rules, prop, value) {
- let styleStr = `${prop}:\\s*${value}`;
- let expr = new RegExp(styleStr, ['i']);
-
- for (let i = 0; i < rules.length; i++) {
- if (expr.test(rules[i].cssText)) {
- return true;
- }
- }
-
- return false;
-}
diff --git a/addon/-debug/utils/validate-rect.js b/addon/-debug/utils/validate-rect.js
deleted file mode 100644
index 6ed4e936..00000000
--- a/addon/-debug/utils/validate-rect.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import { isNonZero } from './validate-style';
-
-export function hasDimension(rect, prop) {
- return isNonZero(rect[prop]);
-}
-
-export function hasDimensionAbove(rect, prop, amount) {
- return hasDimension(rect, prop) && rect[prop] >= amount;
-}
-
-export function hasDimensionEqual(rect, prop, amount) {
- return hasDimension(rect, prop) && rect[prop] === amount;
-}
diff --git a/addon/-debug/utils/validate-style.js b/addon/-debug/utils/validate-style.js
deleted file mode 100644
index c99710b9..00000000
--- a/addon/-debug/utils/validate-style.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
-export function hasStyleValue(styles, key, value) {
- return styles[key] === value;
-}
-
-export function isNonZero(value) {
- let int = parseInt(value, 10);
- let float = parseFloat(value);
-
- return !isNaN(int) && (int !== 0 || float !== 0);
-}
-
-export function hasStyleWithNonZeroValue(styles, key) {
- return isNonZero(styles[key]);
-}
-
-export function styleIsOneOf(styles, key, values) {
- return styles[key] && values.indexOf(styles[key]) !== -1;
-}
-
-export function containsStyleValue(styles, key, value) {
- return styles[key] && styles[key].indexOf(value) !== -1;
-}
diff --git a/addon/-private/data-view/elements/occluded-content.js b/addon/-private/data-view/elements/occluded-content.js
index 66a71ddf..c77c1062 100644
--- a/addon/-private/data-view/elements/occluded-content.js
+++ b/addon/-private/data-view/elements/occluded-content.js
@@ -1,6 +1,5 @@
import { set } from '@ember/object';
import { DEBUG } from '@glimmer/env';
-import { IS_GLIMMER_2, gte as emberVersionGTE } from 'ember-compatibility-helpers';
import document from '../../utils/document-shim';
@@ -27,12 +26,6 @@ export default class OccludedContent {
this.isOccludedContent = true;
this.rendered = false;
- if (!emberVersionGTE('3.0.0')) {
- // In older versions of Ember, binding anything on an object in the template
- // adds observers which creates __ember_meta__
- this.__ember_meta__ = null; // eslint-disable-line camelcase
- }
-
if (DEBUG) {
Object.preventExtensions(this);
}
@@ -57,11 +50,11 @@ export default class OccludedContent {
}
get realUpperBound() {
- return IS_GLIMMER_2 ? this.upperBound : this.upperBound.previousSibling;
+ return this.upperBound;
}
get realLowerBound() {
- return IS_GLIMMER_2 ? this.lowerBound : this.lowerBound.nextSibling;
+ return this.lowerBound;
}
get parentNode() {
diff --git a/addon/-private/data-view/elements/virtual-component.js b/addon/-private/data-view/elements/virtual-component.js
index b0d5f5cf..878ba3d9 100644
--- a/addon/-private/data-view/elements/virtual-component.js
+++ b/addon/-private/data-view/elements/virtual-component.js
@@ -1,7 +1,6 @@
import { set } from '@ember/object';
import { assert } from '@ember/debug';
import { DEBUG } from '@glimmer/env';
-import { IS_GLIMMER_2, gte as emberVersionGTE } from 'ember-compatibility-helpers';
import document from '../../utils/document-shim';
@@ -22,23 +21,17 @@ export default class VirtualComponent {
this.rendered = false;
- if (!emberVersionGTE('3.0.0')) {
- // In older versions of Ember, binding anything on an object in the template
- // adds observers which creates __ember_meta__
- this.__ember_meta__ = null; // eslint-disable-line camelcase
- }
-
if (DEBUG) {
Object.preventExtensions(this);
}
}
get realUpperBound() {
- return IS_GLIMMER_2 ? this.upperBound : this.upperBound.previousSibling;
+ return this.upperBound;
}
get realLowerBound() {
- return IS_GLIMMER_2 ? this.lowerBound : this.lowerBound.nextSibling;
+ return this.lowerBound;
}
getBoundingClientRect() {
diff --git a/addon/-private/data-view/radar/radar.js b/addon/-private/data-view/radar/radar.js
index f7a0e38f..5b1c919e 100644
--- a/addon/-private/data-view/radar/radar.js
+++ b/addon/-private/data-view/radar/radar.js
@@ -582,7 +582,7 @@ export default class Radar {
if (component.rendered === true) {
insertRangeBefore(_itemContainer, relativeNode, component.realUpperBound, component.realLowerBound);
} else {
- virtualComponents.insertAt(virtualComponents.get('length') - 1, component);
+ virtualComponents.insertAt(virtualComponents.length - 1, component);
component.rendered = true;
// shouldRecycle=false breaks UI when scrolling the elements fast.
@@ -623,7 +623,7 @@ export default class Radar {
if (component.rendered === true) {
insertRangeBefore(_itemContainer, relativeNode, component.realUpperBound, component.realLowerBound);
} else {
- virtualComponents.insertAt(virtualComponents.get('length') - 1, component);
+ virtualComponents.insertAt(virtualComponents.length - 1, component);
component.rendered = true;
// Components that are both new and prepended still need to be rendered at the end because Glimmer.
diff --git a/addon/components/vertical-collection/component.js b/addon/components/vertical-collection/component.js
index 42c210b6..c81ac2ed 100644
--- a/addon/components/vertical-collection/component.js
+++ b/addon/components/vertical-collection/component.js
@@ -1,9 +1,13 @@
+import { DEBUG } from '@glimmer/env';
+import { assert } from '@ember/debug';
+
import { empty, readOnly } from '@ember/object/computed';
import Component from '@ember/component';
import { get, computed } from '@ember/object';
import { run } from '@ember/runloop';
import layout from './template';
+import { ViewportContainer } from '../../-private';
import { scheduler, Token } from 'ember-raf-scheduler';
@@ -14,6 +18,166 @@ import {
objectAt
} from '../../-private';
+/*
+ * BEGIN DEBUG HELPERS
+ *
+ * These methods and the Visualization class are used by DEBUG code paths.
+ */
+function isNonZero(value) {
+ let int = parseInt(value, 10);
+ let float = parseFloat(value);
+
+ return !isNaN(int) && (int !== 0 || float !== 0);
+}
+
+function hasStyleValue(styles, key, value) {
+ return styles[key] === value;
+}
+
+function hasStyleWithNonZeroValue(styles, key) {
+ return isNonZero(styles[key]);
+}
+
+function styleIsOneOf(styles, key, values) {
+ return styles[key] && values.indexOf(styles[key]) !== -1;
+}
+
+function applyVerticalStyles(element, geography) {
+ element.style.height = `${geography.height}px`;
+ element.style.top = `${geography.top}px`;
+}
+
+class Visualization {
+ constructor(radar) {
+ this.radar = radar;
+ this.satellites = [];
+ this.cache = [];
+
+ this.wrapper = document.createElement('div');
+ this.wrapper.className = 'vertical-collection-visual-debugger';
+
+ this.container = document.createElement('div');
+ this.container.className = 'vc_visualization-container';
+ this.wrapper.appendChild(this.container);
+
+ this.itemContainer = document.createElement('div');
+ this.itemContainer.className = 'vc_visualization-item-container';
+ this.container.appendChild(this.itemContainer);
+
+ this.scrollContainer = document.createElement('div');
+ this.scrollContainer.className = 'vc_visualization-scroll-container';
+ this.container.appendChild(this.scrollContainer);
+
+ this.screen = document.createElement('div');
+ this.screen.className = 'vc_visualization-screen';
+ this.container.appendChild(this.screen);
+
+ document.body.appendChild(this.wrapper);
+ }
+
+ render() {
+ this.styleViewport();
+ this.updateSatellites();
+ }
+
+ styleViewport() {
+ const { _scrollContainer } = this.radar;
+ this.container.style.height = `${_scrollContainer.getBoundingClientRect().height}px`;
+
+ applyVerticalStyles(this.scrollContainer, _scrollContainer.getBoundingClientRect());
+ applyVerticalStyles(this.screen, ViewportContainer.getBoundingClientRect());
+ }
+
+ makeSatellite() {
+ let satellite;
+
+ if (this.cache.length) {
+ satellite = this.cache.pop();
+ } else {
+ satellite = document.createElement('div');
+ satellite.className = 'vc_visualization-virtual-component';
+ }
+
+ this.satellites.push(satellite);
+ this.itemContainer.append(satellite);
+ }
+
+ updateSatellites() {
+ const { satellites: sats } = this;
+ let {
+ firstItemIndex,
+ lastItemIndex,
+
+ totalItems,
+
+ totalBefore,
+ totalAfter,
+ skipList,
+ _calculatedEstimateHeight
+ } = this.radar;
+
+ const isDynamic = !!skipList;
+ const itemHeights = isDynamic && skipList.values;
+
+ const firstVisualizedIndex = Math.max(firstItemIndex - 10, 0);
+ const lastVisualizedIndex = Math.min(lastItemIndex + 10, totalItems - 1);
+
+ const lengthWithBuffer = lastVisualizedIndex - firstVisualizedIndex + 1;
+ const isShrinking = sats.length > lengthWithBuffer;
+
+ while (sats.length !== lengthWithBuffer) {
+ if (isShrinking) {
+ const satellite = sats.pop();
+
+ satellite.parentNode.removeChild(satellite);
+ this.cache.push(satellite);
+ } else {
+ this.makeSatellite();
+ }
+ }
+
+ for (let itemIndex = firstVisualizedIndex, i = 0; itemIndex <= lastVisualizedIndex; itemIndex++, i++) {
+ const element = sats[i];
+
+ const itemHeight = isDynamic ? itemHeights[itemIndex] : _calculatedEstimateHeight;
+
+ element.style.height = `${itemHeight}px`;
+ element.setAttribute('index', String(itemIndex));
+ element.innerText = String(itemIndex);
+
+ if (itemIndex < firstItemIndex) {
+ element.classList.add('culled');
+ totalBefore -= itemHeight;
+ } else if (itemIndex > lastItemIndex) {
+ element.classList.add('culled');
+ totalAfter -= itemHeight;
+ } else {
+ element.classList.remove('culled');
+ }
+ }
+
+ this.itemContainer.style.paddingTop = `${totalBefore}px`;
+ this.itemContainer.style.paddingBottom = `${totalAfter}px`;
+ }
+
+ destroy() {
+ this.wrapper.parentNode.removeChild(this.wrapper);
+ this.wrapper = null;
+ this.radar = null;
+ this.component = null;
+ this.satellites.forEach((satellite) => {
+ if (satellite.parentNode) {
+ satellite.parentNode.removeChild(satellite);
+ }
+ });
+ this.satellites = null;
+ this.cache = null;
+ }
+}
+/*
+ * END DEBUG HELPERS
+ */
+
const VerticalCollection = Component.extend({
layout,
@@ -43,7 +207,7 @@ const VerticalCollection = Component.extend({
/**
* List of objects to svelte-render.
- * Can be called like `{{#vertical-collection }}`, since it's the first positional parameter of this component.
+ * Can be called like ``.
*
* @property items
* @type Array
@@ -155,12 +319,12 @@ const VerticalCollection = Component.extend({
virtualComponents: computed('items.[]', 'renderAll', 'estimateHeight', 'bufferSize', function() {
const { _radar } = this;
- const items = this.get('items');
+ const items = this.items;
_radar.items = items === null || items === undefined ? [] : items;
- _radar.estimateHeight = this.get('estimateHeight');
- _radar.renderAll = this.get('renderAll');
- _radar.bufferSize = this.get('bufferSize');
+ _radar.estimateHeight = this.estimateHeight;
+ _radar.renderAll = this.renderAll;
+ _radar.bufferSize = this.bufferSize;
_radar.scheduleUpdate(true);
@@ -179,8 +343,8 @@ const VerticalCollection = Component.extend({
this._nextSendActions = null;
run(() => {
- const items = this.get('items');
- const keyPath = this.get('key');
+ const items = this.items;
+ const keyPath = this.key;
this._scheduledActions.forEach(([action, index]) => {
const item = objectAt(items, index);
@@ -200,7 +364,7 @@ const VerticalCollection = Component.extend({
}
},
- /* Public API Methods
+ /* Public API Methods
@index => number
This will return offset height of the indexed item.
*/
@@ -228,11 +392,19 @@ const VerticalCollection = Component.extend({
willDestroy() {
this.token.cancel();
this._radar.destroy();
- let registerAPI = this.get('registerAPI');
+ let registerAPI = this.registerAPI;
if (registerAPI) {
registerAPI(null);
}
clearTimeout(this._nextSendActions);
+
+ if (DEBUG) {
+ if (this.__visualization) {
+ console.info('destroying visualization'); // eslint-disable-line no-console
+ this.__visualization.destroy();
+ this.__visualization = null;
+ }
+ }
},
init() {
@@ -241,19 +413,20 @@ const VerticalCollection = Component.extend({
this.token = new Token();
const RadarClass = this.staticHeight ? StaticRadar : DynamicRadar;
- const items = this.get('items') || [];
-
- const bufferSize = this.get('bufferSize');
- const containerSelector = this.get('containerSelector');
- const estimateHeight = this.get('estimateHeight');
- const initialRenderCount = this.get('initialRenderCount');
- const renderAll = this.get('renderAll');
- const renderFromLast = this.get('renderFromLast');
- const shouldRecycle = this.get('shouldRecycle');
- const occlusionTagName = this.get('occlusionTagName');
-
- const idForFirstItem = this.get('idForFirstItem');
- const key = this.get('key');
+ const items = this.items || [];
+
+ const {
+ bufferSize,
+ containerSelector,
+ estimateHeight,
+ initialRenderCount,
+ renderAll,
+ renderFromLast,
+ shouldRecycle,
+ occlusionTagName,
+ idForFirstItem,
+ key
+ } = this;
const startingIndex = calculateStartingIndex(items, idForFirstItem, key, renderFromLast);
@@ -303,24 +476,24 @@ const VerticalCollection = Component.extend({
};
}
- /* Public methods to Expose to parent
+ /* Public methods to Expose to parent
Usage:
Template:
- {{vertical-collection registerAPI=(action "registerAPI")}}
+
Component:
- export default Component.extend({
+ export default Component.extend({
actions: {
registerAPI(api) {
this.set('collectionAPI', api);
}
},
scrollToItem() {
- let collectionAPI = this.get('collectionAPI');
+ let collectionAPI = this.collectionAPI;
collectionAPI.scrollToItem(index);
}
});
@@ -339,11 +512,77 @@ const VerticalCollection = Component.extend({
};
registerAPI(publicAPI);
}
- }
-});
-VerticalCollection.reopenClass({
- positionalParams: ['items']
+ if (DEBUG) {
+ this.__visualization = null;
+ this._radar._debugDidUpdate = () => {
+
+ // Update visualization
+ //
+ // This debugging mode can be controlled via the argument
+ // `@debugVis={{true}}` at component invocation.
+ //
+ if (this.debugVis !== true) {
+ if (this.__visualization !== null) {
+ console.info('tearing down existing visualization'); // eslint-disable-line no-console
+ this.__visualization.destroy();
+ this.__visualization = null;
+ }
+ return;
+ }
+
+ if (this.__visualization === null) {
+ this.__visualization = new Visualization(this._radar);
+ }
+
+ this.__visualization.render();
+
+ // Detect issues with CSS
+ //
+ // This debugging mode can be controlled via the argument
+ // `@debugCSS={{true}}` at component invocation.
+ //
+ if (this.debugCSS !== true) {
+ return;
+ }
+
+ let radar = this._radar;
+ let styles;
+
+ // check telescope
+ if (radar.scrollContainer !== ViewportContainer) {
+ styles = window.getComputedStyle(radar.scrollContainer);
+ } else {
+ styles = window.getComputedStyle(document.body);
+ }
+
+ assert(`scrollContainer cannot be inline.`, styleIsOneOf(styles, 'display', ['block', 'inline-block', 'flex', 'inline-flex']));
+ assert(`scrollContainer must define position`, styleIsOneOf(styles, 'position', ['static', 'relative', 'absolute']));
+ assert(`scrollContainer must define height or max-height`, hasStyleWithNonZeroValue(styles, 'height') || hasStyleWithNonZeroValue(styles, 'max-height'));
+
+ // conditional perf check for non-body scrolling
+ if (radar.scrollContainer !== ViewportContainer) {
+ assert(`scrollContainer must define overflow-y`, hasStyleValue(styles, 'overflow-y', 'scroll') || hasStyleValue(styles, 'overflow', 'scroll'));
+ }
+
+ // check itemContainer
+ styles = window.getComputedStyle(radar.itemContainer);
+
+ assert(`itemContainer cannot be inline.`, styleIsOneOf(styles, 'display', ['block', 'inline-block', 'flex', 'inline-flex']));
+ assert(`itemContainer must define position`, styleIsOneOf(styles, 'position', ['static', 'relative', 'absolute']));
+
+ // check item defaults
+ assert(`You must supply at least one item to the collection to debug it's CSS.`, this.items.length);
+
+ let element = radar._itemContainer.firstElementChild;
+
+ styles = window.getComputedStyle(element);
+
+ assert(`Item cannot be inline.`, styleIsOneOf(styles, 'display', ['block', 'inline-block', 'flex', 'inline-flex']));
+ assert(`Item must define position`, styleIsOneOf(styles, 'position', ['static', 'relative', 'absolute']));
+ };
+ }
+ }
});
function calculateStartingIndex(items, idForFirstItem, key, renderFromLast) {
@@ -366,4 +605,4 @@ function calculateStartingIndex(items, idForFirstItem, key, renderFromLast) {
return startingIndex;
}
-export default VerticalCollection;
\ No newline at end of file
+export default VerticalCollection;
diff --git a/app/initializers/debug.js b/app/initializers/debug.js
deleted file mode 100644
index 6d06e55d..00000000
--- a/app/initializers/debug.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import '@html-next/vertical-collection/-debug';
-
-export default {
- name: 'vertical-collection-debug',
- initialize() {}
-};
diff --git a/config/ember-try.js b/config/ember-try.js
index 60ead11b..b5b75317 100644
--- a/config/ember-try.js
+++ b/config/ember-try.js
@@ -6,37 +6,6 @@ module.exports = async function() {
return {
useYarn: true,
scenarios: [
- {
- name: 'ember-lts-2.18',
- npm: {
- devDependencies: {
- '@ember/jquery': '^1.1.0',
- '@ember/test-helpers': '^1.7.0',
- 'ember-angle-bracket-invocation-polyfill': '^3.0.1',
- 'ember-qunit': '^4.0.0',
- 'ember-source': '~2.18.0',
- 'qunit': null
- },
- },
- },
- {
- name: 'ember-lts-3.4',
- npm: {
- devDependencies: {
- 'ember-angle-bracket-invocation-polyfill': '^3.0.1',
- 'ember-source': '~3.4.0'
- }
- }
- },
- {
- name: 'ember-lts-3.8',
- npm: {
- devDependencies: {
- 'ember-angle-bracket-invocation-polyfill': '^3.0.1',
- 'ember-source': '~3.8.0'
- }
- }
- },
{
name: 'ember-lts-3.12',
npm: {
@@ -62,15 +31,6 @@ module.exports = async function() {
}
}
},
- {
- name: 'ember-lts-3.24',
- npm: {
- devDependencies: {
- 'ember-data': '~3.24.0',
- 'ember-source': '~3.24.0'
- }
- }
- },
{
name: 'ember-lts-3.28',
npm: {
@@ -99,25 +59,6 @@ module.exports = async function() {
})
}
},
- {
- name: 'ember-4.5',
- npm: {
- devDependencies: {
- 'ember-cli-fastboot': '3.2.0-beta.5',
- 'ember-data': '~3.28.0',
- 'ember-source': '~4.5.0'
- },
- ember: {
- edition: 'octane'
- }
- },
- env: {
- EMBER_OPTIONAL_FEATURES: JSON.stringify({
- 'application-template-wrapper': false,
- 'template-only-glimmer-components': true,
- })
- }
- },
{
name: 'ember-release',
npm: {
diff --git a/index.js b/index.js
index e4e9936e..1b0bb3fd 100644
--- a/index.js
+++ b/index.js
@@ -6,13 +6,6 @@ const Rollup = require('broccoli-rollup');
const merge = require('broccoli-merge-trees');
const VersionChecker = require('ember-cli-version-checker');
-function isProductionEnv() {
- const isProd = /production/.test(process.env.EMBER_ENV);
- const isTest = process.env.EMBER_CLI_TEST_COMMAND;
-
- return isProd && !isTest;
-}
-
module.exports = {
name: require('./package').name,
@@ -23,13 +16,7 @@ module.exports = {
},
getOutputDirForVersion() {
- let VersionChecker = require('ember-cli-version-checker');
- let checker = new VersionChecker(this);
- let emberCli = checker.for('ember-cli', 'npm');
-
- let requiresModulesDir = emberCli.satisfies('< 3.0.0');
-
- return requiresModulesDir ? 'modules' : '';
+ return '';
},
// Borrowed from ember-cli-babel
@@ -49,10 +36,8 @@ module.exports = {
let withoutPrivate = new Funnel(tree, {
exclude: [
'**/**.hbs',
- '-private',
- isProductionEnv() ? '-debug' : false
- ].filter(Boolean),
-
+ '-private'
+ ],
destDir: '@html-next/vertical-collection'
});
@@ -170,34 +155,7 @@ module.exports = {
this._setupBabelOptions(app.env);
if (!/production/.test(app.env) && !/test/.test(app.env)) {
- findImporter(this).import('vendor/debug.css');
+ this.import('vendor/debug.css');
}
- },
-
- treeForApp() {
- const tree = this._super.treeForApp.apply(this, arguments);
-
- const exclude = [];
-
- if (isProductionEnv()) {
- exclude.push('initializers/debug.js');
- }
-
- return new Funnel(tree, { exclude });
}
};
-
-function findImporter(addon) {
- if (typeof addon.import === 'function') {
- // If addon.import() is present (CLI 2.7+) use that
- return addon;
- } else {
- // Otherwise, reuse the _findHost implementation that would power addon.import()
- let current = addon;
- let app;
- do {
- app = current.app || app;
- } while (current.parent.parent && (current = current.parent));
- return app;
- }
-}
diff --git a/package.json b/package.json
index 049587c0..6af097e8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@html-next/vertical-collection",
- "version": "3.1.0",
+ "version": "4.0.0",
"description": "infinite-scroll, done right. done.",
"keywords": [
"occlusion",
@@ -52,22 +52,21 @@
},
"dependencies": {
"babel6-plugin-strip-class-callcheck": "^6.0.0",
- "broccoli-funnel": "^2.0.2",
- "broccoli-merge-trees": "^3.0.1",
- "broccoli-rollup": "^4.1.1",
+ "broccoli-funnel": "^3.0.8",
+ "broccoli-merge-trees": "^4.2.0",
+ "broccoli-rollup": "^5.0.0",
"ember-cli-babel": "^7.12.0",
- "ember-cli-htmlbars": "^5.0.0",
- "ember-cli-version-checker": "^3.1.3",
- "ember-compatibility-helpers": "^1.2.1",
+ "ember-cli-htmlbars": "^6.0.0",
+ "ember-cli-version-checker": "^5.1.2",
"ember-raf-scheduler": "^0.3.0"
},
"devDependencies": {
"@ember/optional-features": "^2.0.0",
- "@ember/test-helpers": "^2.4.0",
+ "@ember/test-helpers": "^2.8.1",
"babel-eslint": "^10.1.0",
"bootstrap": "~3.3.5",
"broccoli-asset-rev": "^3.0.0",
- "ember-auto-import": "^2.0.0",
+ "ember-auto-import": "^2.4.2",
"ember-cli": "~3.28.0",
"ember-cli-dependency-checker": "^3.2.0",
"ember-cli-eslint": "^5.1.0",
@@ -82,17 +81,17 @@
"ember-export-application-global": "^2.0.1",
"ember-load-initializers": "^2.1.2",
"ember-perf-timeline": "^2.0.0",
- "ember-qunit": "^5.0.0",
+ "ember-qunit": "^5.1.5",
"ember-resolver": "^8.0.2",
"ember-source": "~3.12.0",
"ember-source-channel-url": "^3.0.0",
- "ember-try": "^1.4.0",
+ "ember-try": "^2.0.0",
"eslint": "^7.32.0",
"eslint-plugin-ember": "^6.7.1",
"eslint-plugin-node": "^9.1.0",
"loader.js": "^4.7.0",
"npm-run-all": "^4.1.5",
- "qunit": "^2.0.0",
+ "qunit": "^2.19.1",
"qunit-dom": "^1.0.0",
"release-it": "^14.2.1",
"release-it-lerna-changelog": "^3.1.0",
diff --git a/tests/dummy/app/models/number-item.js b/tests/dummy/app/models/number-item.js
index 083b138a..4181dbe6 100644
--- a/tests/dummy/app/models/number-item.js
+++ b/tests/dummy/app/models/number-item.js
@@ -9,6 +9,6 @@ const {
export default Model.extend({
number: attr('number'),
prefixed: computed('number', function() {
- return `${this.get('number')}`;
+ return `${this.number}`;
})
});
diff --git a/tests/dummy/app/routes/acceptance-tests/record-array/controller.js b/tests/dummy/app/routes/acceptance-tests/record-array/controller.js
index 9c08f8df..3ef5ab31 100644
--- a/tests/dummy/app/routes/acceptance-tests/record-array/controller.js
+++ b/tests/dummy/app/routes/acceptance-tests/record-array/controller.js
@@ -8,8 +8,8 @@ export default Controller.extend({
actions: {
updateItems() {
- this.get('store').unloadAll('number-item');
- this.get('store').query('number-item', { length: 5 });
+ this.store.unloadAll('number-item');
+ this.store.query('number-item', { length: 5 });
},
partialUpdate() {
diff --git a/tests/dummy/app/routes/acceptance-tests/record-array/route.js b/tests/dummy/app/routes/acceptance-tests/record-array/route.js
index aa2797dd..5e434e44 100644
--- a/tests/dummy/app/routes/acceptance-tests/record-array/route.js
+++ b/tests/dummy/app/routes/acceptance-tests/record-array/route.js
@@ -5,6 +5,6 @@ export default Route.extend({
store: service(),
model() {
- return this.get('store').findAll('number-item');
+ return this.store.findAll('number-item');
}
});
diff --git a/tests/dummy/app/routes/acceptance-tests/record-array/template.hbs b/tests/dummy/app/routes/acceptance-tests/record-array/template.hbs
index cc5066b6..61ac9582 100644
--- a/tests/dummy/app/routes/acceptance-tests/record-array/template.hbs
+++ b/tests/dummy/app/routes/acceptance-tests/record-array/template.hbs
@@ -1,11 +1,11 @@
{{#if this.vcShown}}
- {{#vertical-collection this.model
- estimateHeight=50
- bufferSize=5
- as |item index|}}
- {{number-slide item=item itemIndex=index prefixed=this.prefixed}}
- {{/vertical-collection}}
+
+
+
{{/if}}
diff --git a/tests/dummy/app/routes/components/number-slide/component.js b/tests/dummy/app/routes/components/number-slide/component.js
index 1afb2a7f..5f65f308 100644
--- a/tests/dummy/app/routes/components/number-slide/component.js
+++ b/tests/dummy/app/routes/components/number-slide/component.js
@@ -23,8 +23,8 @@ export default Component.extend({
isDynamic: false,
prefixed: false,
style: computed('isDynamic', 'item', function() {
- let item = this.get('item');
- let isDynamic = this.get('isDynamic');
+ let item = this.item;
+ let isDynamic = this.isDynamic;
let {
height,
diff --git a/tests/dummy/app/routes/examples/dbmon/components/dbmon-row/component.js b/tests/dummy/app/routes/examples/dbmon/components/dbmon-row/component.js
index 3b6d4da0..787e8dea 100644
--- a/tests/dummy/app/routes/examples/dbmon/components/dbmon-row/component.js
+++ b/tests/dummy/app/routes/examples/dbmon/components/dbmon-row/component.js
@@ -9,7 +9,7 @@ export default Component.extend({
queries: alias('db.queries'),
topFiveQueries: computed('queries', function() {
- let queries = this.get('queries') || [];
+ let queries = this.queries || [];
let topFiveQueries = queries.slice(0, 5);
while (topFiveQueries.length < 5) {
@@ -28,7 +28,7 @@ export default Component.extend({
}),
countClassName: computed('queries', function() {
- let queries = this.get('queries') || [];
+ let queries = this.queries || [];
let countClassName = 'label';
if (queries.length >= 20) {
diff --git a/tests/dummy/app/routes/examples/dbmon/template.hbs b/tests/dummy/app/routes/examples/dbmon/template.hbs
index 47a14fe7..da397a16 100644
--- a/tests/dummy/app/routes/examples/dbmon/template.hbs
+++ b/tests/dummy/app/routes/examples/dbmon/template.hbs
@@ -7,17 +7,17 @@
- {{#vertical-collection
- model.databases
- containerSelector=".table-wrapper"
- key="id"
+
+
+
@@ -34,7 +34,7 @@
focusing only on what's on screen now.
Code for Demo
- {{code-snippet name="dbmon-example.hbs"}}
+
diff --git a/tests/dummy/app/routes/examples/flexible-layout/template.hbs b/tests/dummy/app/routes/examples/flexible-layout/template.hbs
index 49f3d6ed..6f38f33f 100644
--- a/tests/dummy/app/routes/examples/flexible-layout/template.hbs
+++ b/tests/dummy/app/routes/examples/flexible-layout/template.hbs
@@ -4,15 +4,14 @@
Demo
{{!- BEGIN-SNIPPET flexible-layout-example }}
- {{#vertical-collection
- this.model.numbers
- estimateHeight=270
- firstReached=(action "loadAbove")
- lastReached=(action "loadBelow")
- bufferSize=0 as |item index|
- }}
- {{number-slide isDynamic=true item=item index=index}}
- {{/vertical-collection}}
+
+
+
{{!- END-SNIPPET }}
@@ -27,7 +26,7 @@
with integration with the pre-render component.
Code for Demo
- {{code-snippet name="flexible-layout-example.hbs"}}
+
diff --git a/tests/dummy/app/routes/examples/infinite-scroll/controller.js b/tests/dummy/app/routes/examples/infinite-scroll/controller.js
index 47a36f33..bdf06a3a 100644
--- a/tests/dummy/app/routes/examples/infinite-scroll/controller.js
+++ b/tests/dummy/app/routes/examples/infinite-scroll/controller.js
@@ -10,18 +10,18 @@ export default Controller.extend({
actions: {
loadAbove() {
- let first = this.get('model.first');
+ let first = this.model.first;
let numbers = getNumbers(first - 20, 20);
- let model = this.get('model.numbers');
+ let model = this.model.numbers;
model.unshiftObjects(numbers);
// this.set('model.numbers', newModel);
this.set('model.first', first - 20);
},
loadBelow() {
- let last = this.get('model.last');
+ let last = this.model.last;
let numbers = getNumbers(last, 20);
- let model = this.get('model.numbers');
+ let model = this.model.numbers;
model.pushObjects(numbers);
// this.set('model.numbers', newModel);
this.set('model.last', last + 20);
diff --git a/tests/dummy/app/routes/examples/infinite-scroll/template.hbs b/tests/dummy/app/routes/examples/infinite-scroll/template.hbs
index a200714f..102dd18f 100644
--- a/tests/dummy/app/routes/examples/infinite-scroll/template.hbs
+++ b/tests/dummy/app/routes/examples/infinite-scroll/template.hbs
@@ -4,16 +4,16 @@
Demo
{{!- BEGIN-SNIPPET infinite-scroll-example }}
- {{#vertical-collection
- this.model.numbers
- estimateHeight=90
- staticHeight=true
- bufferSize=5
- firstReached=(action "loadAbove")
- lastReached=(action "loadBelow") as |item index|
- }}
- {{number-slide item=item index=index}}
- {{/vertical-collection}}
+
+
+
{{!- END-SNIPPET }}
diff --git a/tests/dummy/app/routes/examples/reduce-debug/controller.js b/tests/dummy/app/routes/examples/reduce-debug/controller.js
index 77b6a8a6..8c567758 100644
--- a/tests/dummy/app/routes/examples/reduce-debug/controller.js
+++ b/tests/dummy/app/routes/examples/reduce-debug/controller.js
@@ -6,7 +6,7 @@ export default Controller.extend({
actions: {
filter() {
- let model = this.get('model.numbers');
+ let model = this.model.numbers;
let isFiltered = this.toggleProperty('isFiltered');
if (!isFiltered) {
diff --git a/tests/dummy/app/routes/examples/reduce-debug/template.hbs b/tests/dummy/app/routes/examples/reduce-debug/template.hbs
index 8c956bda..7326150f 100644
--- a/tests/dummy/app/routes/examples/reduce-debug/template.hbs
+++ b/tests/dummy/app/routes/examples/reduce-debug/template.hbs
@@ -3,16 +3,15 @@
Demo
- {{#vertical-collection
- items=this.model.filtered
- defaultHeight=270
- useContentProxy=false
- as |item index|
- }}
+
- {{examples/infinite-scroll/components/number-slide number=item.number index=index}}
+
- {{/vertical-collection}}
+
diff --git a/tests/dummy/app/routes/examples/scrollable-body/template.hbs b/tests/dummy/app/routes/examples/scrollable-body/template.hbs
index cc233844..1319b54c 100644
--- a/tests/dummy/app/routes/examples/scrollable-body/template.hbs
+++ b/tests/dummy/app/routes/examples/scrollable-body/template.hbs
@@ -2,19 +2,19 @@
{{!- BEGIN-SNIPPET scrollable-body-example }}
- {{#vertical-collection
- this.model.numbers
- estimateHeight=40
- containerSelector="body" as |item index|
- }}
- {{number-slide isDynamic=true item=item index=index}}
- {{/vertical-collection}}
+
+
+
{{!- END-SNIPPET }}
Scrolling based on the whole page.
Code for Demo
- {{code-snippet name="scrollable-body-example.hbs"}}
+
diff --git a/tests/dummy/app/routes/settings/snippets/defaults.js b/tests/dummy/app/routes/settings/snippets/defaults.js
index 9b44f41e..d3b1c451 100644
--- a/tests/dummy/app/routes/settings/snippets/defaults.js
+++ b/tests/dummy/app/routes/settings/snippets/defaults.js
@@ -8,7 +8,7 @@ export default
// Positional parameter, e.g.
//
- // `{{#vertical-collection items as |item|}}`
+ // ``
//
// Note: An alias for this property named `content`
// exists solely for Ember 1.11 support. The alias
diff --git a/tests/dummy/app/routes/settings/template.hbs b/tests/dummy/app/routes/settings/template.hbs
index 3e92c515..f1503333 100644
--- a/tests/dummy/app/routes/settings/template.hbs
+++ b/tests/dummy/app/routes/settings/template.hbs
@@ -2,10 +2,10 @@
Available Settings (with defaults)
- {{code-snippet name="vertical-collection-defaults-example.js"}}
+
Vertical Collection
-
\ No newline at end of file
+
diff --git a/tests/helpers/array.js b/tests/helpers/array.js
index 37025a24..80e555d9 100644
--- a/tests/helpers/array.js
+++ b/tests/helpers/array.js
@@ -3,7 +3,7 @@ import { run } from '@ember/runloop';
import { settled } from '@ember/test-helpers';
export function prepend(context, itemsToPrepend) {
- const items = context.get('items');
+ const items = context.items;
run(() => {
if (items.unshiftObjects) {
@@ -17,7 +17,7 @@ export function prepend(context, itemsToPrepend) {
}
export function append(context, itemsToAppend) {
- const items = context.get('items');
+ const items = context.items;
run(() => {
if (items.pushObjects) {
@@ -31,7 +31,7 @@ export function append(context, itemsToAppend) {
}
export function emptyArray(context) {
- const items = context.get('items');
+ const items = context.items;
run(() => {
if (items.clear) {
@@ -45,7 +45,7 @@ export function emptyArray(context) {
}
export function replaceArray(context, items) {
- const oldItems = context.get('items');
+ const oldItems = context.items;
run(() => {
if (EmberArray.detect(oldItems)) {
@@ -59,7 +59,7 @@ export function replaceArray(context, items) {
}
export function move(context, sourceItemIdx, destItemIdx) {
- const items = context.get('items');
+ const items = context.items;
let destItem, sourceItem;
run(() => {
diff --git a/tests/helpers/test-scenarios.js b/tests/helpers/test-scenarios.js
index a6fa8486..89439b25 100644
--- a/tests/helpers/test-scenarios.js
+++ b/tests/helpers/test-scenarios.js
@@ -4,7 +4,7 @@ import { Promise } from 'rsvp';
import { test } from 'qunit';
import DS from 'ember-data';
import hbs from 'htmlbars-inline-precompile';
-import { settled } from '@ember/test-helpers';
+import { settled, render } from '@ember/test-helpers';
const {
PromiseArray
@@ -25,7 +25,7 @@ export function testScenarios(description, scenarios, template, testFn, preRende
await setValuesBeforeRender.call(this, assert);
}
- let renderCompletionPromise = this.render(template);
+ let renderCompletionPromise = render(template);
if (preRenderTestFn) {
await preRenderTestFn.call(this, assert);
@@ -78,32 +78,32 @@ export const scenariosFor = mergeScenarioGenerators(
export const standardTemplate = hbs`
`;
diff --git a/tests/integration/basic-test.js b/tests/integration/basic-test.js
index 144c924c..3bdd42f5 100644
--- a/tests/integration/basic-test.js
+++ b/tests/integration/basic-test.js
@@ -4,7 +4,8 @@ import hbs from 'htmlbars-inline-precompile';
import {
find,
findAll,
- settled
+ settled,
+ render
} from '@ember/test-helpers';
import scrollTo from '../helpers/scroll-to';
@@ -20,34 +21,12 @@ import {
standardTemplate
} from 'dummy/tests/helpers/test-scenarios';
-import { scheduler } from 'ember-raf-scheduler';
-import { gte as emberVersionGTE } from 'ember-compatibility-helpers';
-
-// Assert an odd timing: After initial render but before settledness. Because
-// of changes to the `render` helper in test-helpers, this should be done
-// differently in ember-test-helpers 1.x and 2.x.
-//
-// Use ember-compatibility-helpers < 3 as a proxy for identifying
-// ember-test-helpers 1.x.
-//
-// This helpers can be killed off when Ember 2.18 support is dropped. The
-// gte Ember 3 version can be inlined where the helper is used.
+// Assert an odd timing: After initial render but before settledness.
//
async function assertAfterInitialRender(renderFn, assertFn) {
- if (emberVersionGTE('3.0.0')) {
- renderFn();
- await new Promise(resolve => requestAnimationFrame(resolve));
- assertFn();
- } else {
- // After ember-raf-schedulers queues have flushed.
- // The schedule of sync inside measure starts a second flush.
- scheduler.schedule('measure', () => {
- scheduler.schedule('sync', () => {
- assertFn();
- });
- });
- renderFn();
- }
+ renderFn();
+ await new Promise(resolve => requestAnimationFrame(resolve));
+ assertFn();
}
module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
@@ -118,17 +97,17 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
hbs`
`,
@@ -146,17 +125,17 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
hbs`
`,
@@ -179,16 +158,16 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
hbs`
`,
@@ -210,11 +189,11 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
hbs`
- {{#vertical-collection this.items
- estimateHeight=10
- containerSelector="body"
+
Content
{{#if item.shouldRender}}
@@ -223,7 +202,7 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
{{/if}}
- {{/vertical-collection}}
+
`,
@@ -237,17 +216,17 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
this.set('items', getNumbers(0, 10));
assertAfterInitialRender(() => {
- this.render(hbs`
+ render(hbs`
- {{#vertical-collection this.items
- estimateHeight=50
- initialRenderCount=1
+
{{item.number}} {{i}}
- {{/vertical-collection}}
+
`);
}, () => {
@@ -267,19 +246,19 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
this.set('items', getNumbers(0, 100));
assertAfterInitialRender(() => {
- this.render(hbs`
+ render(hbs`
- {{#vertical-collection this.items
- estimateHeight=50
- initialRenderCount=1
- idForFirstItem="20"
- key="number"
+
{{item.number}} {{i}}
- {{/vertical-collection}}
+
`);
}, () => {
@@ -299,17 +278,17 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
this.set('items', getNumbers(0, 1));
assertAfterInitialRender(() => {
- this.render(hbs`
+ render(hbs`
- {{#vertical-collection this.items
- estimateHeight=50
- initialRenderCount=5
+
{{item.number}} {{i}}
- {{/vertical-collection}}
+
`);
}, () => {
@@ -330,16 +309,16 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
hbs`
`,
@@ -364,11 +343,11 @@ module('vertical-collection', 'Integration | Basic Tests', function(hooks) {
{{#if this.renderCollection}}
- {{#vertical-collection this.items estimateHeight="20" as |item|}}
+
Content
- {{/vertical-collection}}
+
{{/if}}
`,
diff --git a/tests/integration/measure-test.js b/tests/integration/measure-test.js
index b3dbeeaf..6209d730 100644
--- a/tests/integration/measure-test.js
+++ b/tests/integration/measure-test.js
@@ -147,15 +147,15 @@ module('vertical-collection', 'Integration | Measure Tests', function(hooks) {
hbs`
- {{#vertical-collection this.items
- estimateHeight=20
- bufferSize=0
+
{{item.number}} {{i}}
- {{/vertical-collection}}
+
`,
diff --git a/tests/integration/measurement-unit-test.js b/tests/integration/measurement-unit-test.js
index 5a5a23b0..58a34bf9 100644
--- a/tests/integration/measurement-unit-test.js
+++ b/tests/integration/measurement-unit-test.js
@@ -23,16 +23,16 @@ module('vertical-collection', 'Integration | Measurement Unit Tests', function(h
hbs`
- {{#vertical-collection this.items
- estimateHeight="2em"
- staticHeight=this.staticHeight
- bufferSize=0
+
{{item.number}} {{i}}
- {{/vertical-collection}}
+
`,
@@ -47,16 +47,16 @@ module('vertical-collection', 'Integration | Measurement Unit Tests', function(h
hbs`
- {{#vertical-collection this.items
- estimateHeight="2rem"
- staticHeight=this.staticHeight
- bufferSize=0
+
{{item.number}} {{i}}
- {{/vertical-collection}}
+
`,
@@ -71,16 +71,16 @@ module('vertical-collection', 'Integration | Measurement Unit Tests', function(h
hbs`
- {{#vertical-collection this.items
- estimateHeight="66%"
- staticHeight=this.staticHeight
- bufferSize=0
+
{{item.number}} {{i}}
- {{/vertical-collection}}
+
`,
@@ -95,16 +95,16 @@ module('vertical-collection', 'Integration | Measurement Unit Tests', function(h
hbs`
- {{#vertical-collection this.items
- estimateHeight="2em"
- staticHeight=this.staticHeight
- bufferSize=0
+
{{item.number}} {{i}}
- {{/vertical-collection}}
+
`,
@@ -120,17 +120,17 @@ module('vertical-collection', 'Integration | Measurement Unit Tests', function(h
hbs`
`,
@@ -148,17 +148,17 @@ module('vertical-collection', 'Integration | Measurement Unit Tests', function(h
@@ -177,17 +177,17 @@ module('vertical-collection', 'Integration | Measurement Unit Tests', function(h
@@ -205,17 +205,17 @@ module('vertical-collection', 'Integration | Measurement Unit Tests', function(h
hbs`
`,
diff --git a/tests/integration/modern-ember-test.js b/tests/integration/modern-ember-test.js
index fbee7888..d4fa985a 100644
--- a/tests/integration/modern-ember-test.js
+++ b/tests/integration/modern-ember-test.js
@@ -1,7 +1,7 @@
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
-import { find, settled } from '@ember/test-helpers';
+import { find, settled, render } from '@ember/test-helpers';
module('vertical-collection', 'Integration | Modern Ember Features Tests', function(hooks) {
setupRenderingTest(hooks);
@@ -10,14 +10,15 @@ module('vertical-collection', 'Integration | Modern Ember Features Tests', funct
assert.expect(1);
this.set('items', []);
- this.render(hbs`
+ await render(hbs`
- {{#vertical-collection this.items
+ {{#vertical-collection
+ items=this.items
estimateHeight=20
staticHeight=true
}}
- {{else}}
- Foobar
+ {{else}}
+ Foobar
{{/vertical-collection}}
`);
diff --git a/tests/integration/mutation-test.js b/tests/integration/mutation-test.js
index 983fd0bf..1450ca92 100644
--- a/tests/integration/mutation-test.js
+++ b/tests/integration/mutation-test.js
@@ -236,7 +236,7 @@ module('vertical-collection', 'Integration | Mutation Tests', function(hooks) {
assert.equal(find('.vertical-item:first-of-type').textContent.trim(), '1 1', 'first item rendered correctly after initial scroll set');
assert.equal(paddingBefore(itemContainer), 40, 'itemContainer padding correct before same items set');
- await replaceArray(this, this.get('items').slice());
+ await replaceArray(this, this.items.slice());
assert.equal(find('.vertical-item:first-of-type').textContent.trim(), '1 1', 'first item rendered correctly after same items set');
assert.equal(paddingBefore(itemContainer), 40, 'itemContainer padding correct after same items set');
diff --git a/tests/integration/recycle-test.js b/tests/integration/recycle-test.js
index d580ff87..51b0176b 100644
--- a/tests/integration/recycle-test.js
+++ b/tests/integration/recycle-test.js
@@ -25,18 +25,18 @@ module('vertical-collection', 'Integration | Recycle Tests', function(hooks) {
hbs`
`,
@@ -59,18 +59,18 @@ module('vertical-collection', 'Integration | Recycle Tests', function(hooks) {
hbs`
`,
diff --git a/tests/integration/scroll-test.js b/tests/integration/scroll-test.js
index 7d3057f9..edfc23d3 100644
--- a/tests/integration/scroll-test.js
+++ b/tests/integration/scroll-test.js
@@ -72,6 +72,8 @@ module('vertical-collection', 'Integration | Scroll Tests', function(hooks) {
count++;
called();
});
+
+ await settled();
}
);
@@ -98,6 +100,8 @@ module('vertical-collection', 'Integration | Scroll Tests', function(hooks) {
count++;
called();
});
+
+ await settled();
}
);
@@ -309,6 +313,8 @@ module('vertical-collection', 'Integration | Scroll Tests', function(hooks) {
assert.equal(index, 49, 'the lastReached item is correct');
called();
});
+
+ await settled();
}
);
@@ -404,18 +410,18 @@ module('vertical-collection', 'Integration | Scroll Tests', function(hooks) {
@@ -440,15 +446,15 @@ module('vertical-collection', 'Integration | Scroll Tests', function(hooks) {
hbs`
`,
@@ -470,15 +476,15 @@ module('vertical-collection', 'Integration | Scroll Tests', function(hooks) {
hbs`
`,
@@ -490,7 +496,7 @@ module('vertical-collection', 'Integration | Scroll Tests', function(hooks) {
},
false,
function() {
- let registerAPI = function(collection) {
+ let registerAPI = collection => {
this.set('collection', collection);
};
this.set('registerAPI', registerAPI);
diff --git a/tests/test-helper.js b/tests/test-helper.js
index f995812d..5c34a35c 100644
--- a/tests/test-helper.js
+++ b/tests/test-helper.js
@@ -1,4 +1,3 @@
-import '@html-next/vertical-collection/-debug';
import registerWaiter from 'ember-raf-scheduler/test-support/register-waiter';
import Application from '../app';
import config from '../config/environment';
diff --git a/yarn.lock b/yarn.lock
index 129823d1..65915479 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -981,6 +981,11 @@
exec-sh "^0.3.2"
minimist "^1.2.0"
+"@colors/colors@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
+ integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
+
"@ember-data/-build-infra@3.12.6":
version "3.12.6"
resolved "https://registry.yarnpkg.com/@ember-data/-build-infra/-/-build-infra-3.12.6.tgz#27071ea3a92a546947cf7f9b4cebf0326300fcd1"
@@ -1094,7 +1099,7 @@
ember-cli-babel "^6.16.0"
ember-compatibility-helpers "^1.1.1"
-"@ember/test-helpers@^2.4.0":
+"@ember/test-helpers@^2.8.1":
version "2.8.1"
resolved "https://registry.yarnpkg.com/@ember/test-helpers/-/test-helpers-2.8.1.tgz#20f2e30d48172c2ff713e1db7fbec5352f918d4e"
integrity sha512-jbsYwWyAdhL/pdPu7Gb3SG1gvIXY70FWMtC/Us0Kmvk82Y+5YUQ1SOC0io75qmOGYQmH7eQrd/bquEVd+4XtdQ==
@@ -1400,11 +1405,6 @@
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
-"@sindresorhus/is@^0.7.0":
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
- integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==
-
"@szmarczak/http-timer@^1.1.2":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
@@ -1430,6 +1430,13 @@
resolved "https://registry.yarnpkg.com/@types/broccoli-plugin/-/broccoli-plugin-1.3.0.tgz#38f8462fecaebc4e09a32e4d4ed1b9808f75bbca"
integrity sha512-SLk4/hFc2kGvgwNFrpn2O1juxFOllcHAywvlo7VwxfExLzoz1GGJ0oIZCwj5fwSpvHw4AWpZjJ1fUvb62PDayQ==
+"@types/broccoli-plugin@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/broccoli-plugin/-/broccoli-plugin-3.0.0.tgz#290fda2270c47a568edfd0cefab8bb840d8bb7b2"
+ integrity sha512-f+TcsARR2PovfFRKFdCX0kfH/QoM3ZVD2h1rl2mNvrKO0fq2uBNCBsTU3JanfU4COCt5cXpTfARyUsERlC8vIw==
+ dependencies:
+ broccoli-plugin "*"
+
"@types/chai-as-promised@^7.1.2":
version "7.1.5"
resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz#6e016811f6c7a64f2eed823191c3a6955094e255"
@@ -2532,7 +2539,7 @@ babel-helpers@^6.24.1:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
-babel-import-util@^1.1.0:
+babel-import-util@^1.1.0, babel-import-util@^1.2.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/babel-import-util/-/babel-import-util-1.2.2.tgz#1027560e143a4a68b1758e71d4fadc661614e495"
integrity sha512-8HgkHWt5WawRFukO30TuaL9EiDUOdvyKtDwLma4uBNeUSDbOO0/hiPfavrOWxSS6J6TKXfukWHZ3wiqZhJ8ONQ==
@@ -2603,6 +2610,16 @@ babel-plugin-ember-modules-api-polyfill@^3.5.0:
dependencies:
ember-rfc176-data "^0.3.17"
+babel-plugin-ember-template-compilation@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-ember-template-compilation/-/babel-plugin-ember-template-compilation-1.0.2.tgz#e0695b8ad5a8fe6b2cbdff1eadb01cf402731ad6"
+ integrity sha512-4HBMksmlYsWEf/C/n3uW5rkBRbUp4FNaspzdQTAHgLbfCJnkLze8R6i6sUSge48y/Wne7mx+vcImI1o6rlUwXQ==
+ dependencies:
+ babel-import-util "^1.2.0"
+ line-column "^1.0.2"
+ magic-string "^0.26.0"
+ string.prototype.matchall "^4.0.5"
+
babel-plugin-feature-flags@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/babel-plugin-feature-flags/-/babel-plugin-feature-flags-0.3.1.tgz#9c827cf9a4eb9a19f725ccb239e85cab02036fc1"
@@ -2616,7 +2633,7 @@ babel-plugin-filter-imports@^3.0.0:
"@babel/types" "^7.4.0"
lodash "^4.17.11"
-babel-plugin-htmlbars-inline-precompile@^5.0.0, babel-plugin-htmlbars-inline-precompile@^5.2.1:
+babel-plugin-htmlbars-inline-precompile@^5.0.0, babel-plugin-htmlbars-inline-precompile@^5.2.1, babel-plugin-htmlbars-inline-precompile@^5.3.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-5.3.1.tgz#5ba272e2e4b6221522401f5f1d98a73b1de38787"
integrity sha512-QWjjFgSKtSRIcsBhJmEwS2laIdrA6na8HAlc/pEAhjHgQsah/gMiBFRZvbQTy//hWxR4BMwV7/Mya7q5H8uHeA==
@@ -3040,11 +3057,6 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-base64-js@0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.2.tgz#024f0f72afa25b75f9c0ee73cd4f55ec1bed9784"
- integrity sha512-Pj9L87dCdGcKlSqPVUjD+q96pbIx1zQQLb2CUiWURfjiBELv84YX+0nGnKmyT/9KkC7PQk7UN1w+Al8bBozaxQ==
-
base64-js@^1.0.2, base64-js@^1.3.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
@@ -3176,14 +3188,6 @@ bootstrap@~3.3.5:
resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-3.3.7.tgz#5a389394549f23330875a3b150656574f8a9eb71"
integrity sha512-qcFaisBrcBhTFkz1IUnGDYnX6ZWfFzH8zOixUDtHW9Ip+r+7MfMFav2rzy7cIHc7rgIg7xjhWBoo1mS/U26j4g==
-bops@0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/bops/-/bops-0.0.3.tgz#c5cbf6fea8be7401ca5ea6d1679e6c4e8b407c79"
- integrity sha512-1khcWD+1vAEnl1GHqJ2KFeR4qG/WCj9yZZ3K/cwdnRUjy6hFOlUuyboy+cHHiFpx0ZqLcjMYouWv0USQsoQ6HA==
- dependencies:
- base64-js "0.0.2"
- to-utf8 "0.0.1"
-
bower-config@^1.4.3:
version "1.4.3"
resolved "https://registry.yarnpkg.com/bower-config/-/bower-config-1.4.3.tgz#3454fecdc5f08e7aa9cc6d556e492be0669689ae"
@@ -3643,6 +3647,19 @@ broccoli-persistent-filter@^3.1.2:
symlink-or-copy "^1.0.1"
sync-disk-cache "^2.0.0"
+broccoli-plugin@*, broccoli-plugin@^4.0.0, broccoli-plugin@^4.0.2, broccoli-plugin@^4.0.3, broccoli-plugin@^4.0.7:
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz#dd176a85efe915ed557d913744b181abe05047db"
+ integrity sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==
+ dependencies:
+ broccoli-node-api "^1.7.0"
+ broccoli-output-wrapper "^3.2.5"
+ fs-merger "^3.2.1"
+ promise-map-series "^0.3.0"
+ quick-temp "^0.1.8"
+ rimraf "^3.0.2"
+ symlink-or-copy "^1.3.1"
+
broccoli-plugin@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/broccoli-plugin/-/broccoli-plugin-1.1.0.tgz#73e2cfa05f8ea1e3fc1420c40c3d9e7dc724bf02"
@@ -3673,19 +3690,6 @@ broccoli-plugin@^2.0.0, broccoli-plugin@^2.1.0:
rimraf "^2.3.4"
symlink-or-copy "^1.1.8"
-broccoli-plugin@^4.0.0, broccoli-plugin@^4.0.2, broccoli-plugin@^4.0.3, broccoli-plugin@^4.0.7:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/broccoli-plugin/-/broccoli-plugin-4.0.7.tgz#dd176a85efe915ed557d913744b181abe05047db"
- integrity sha512-a4zUsWtA1uns1K7p9rExYVYG99rdKeGRymW0qOCNkvDPHQxVi3yVyJHhQbM3EZwdt2E0mnhr5e0c/bPpJ7p3Wg==
- dependencies:
- broccoli-node-api "^1.7.0"
- broccoli-output-wrapper "^3.2.5"
- fs-merger "^3.2.1"
- promise-map-series "^0.3.0"
- quick-temp "^0.1.8"
- rimraf "^3.0.2"
- symlink-or-copy "^1.3.1"
-
broccoli-rollup@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/broccoli-rollup/-/broccoli-rollup-4.1.1.tgz#7531a24d88ddab9f1bace1c6ee6e6ca74a38d36f"
@@ -3701,6 +3705,21 @@ broccoli-rollup@^4.1.1:
symlink-or-copy "^1.2.0"
walk-sync "^1.1.3"
+broccoli-rollup@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/broccoli-rollup/-/broccoli-rollup-5.0.0.tgz#a77b53bcef1b70e988913fee82265c0a4ca530da"
+ integrity sha512-QdMuXHwsdz/LOS8zu4HP91Sfi4ofimrOXoYP/lrPdRh7lJYD87Lfq4WzzUhGHsxMfzANIEvl/7qVHKD3cFJ4tA==
+ dependencies:
+ "@types/broccoli-plugin" "^3.0.0"
+ broccoli-plugin "^4.0.7"
+ fs-tree-diff "^2.0.1"
+ heimdalljs "^0.2.6"
+ node-modules-path "^1.0.1"
+ rollup "^2.50.0"
+ rollup-pluginutils "^2.8.1"
+ symlink-or-copy "^1.2.0"
+ walk-sync "^2.2.0"
+
broccoli-slow-trees@^3.0.1, broccoli-slow-trees@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/broccoli-slow-trees/-/broccoli-slow-trees-3.1.0.tgz#8e48903f59e061bf1213963733b9e61dec2ee5d7"
@@ -4044,19 +4063,6 @@ cache-base@^1.0.1:
union-value "^1.0.0"
unset-value "^1.0.0"
-cacheable-request@^2.1.1:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d"
- integrity sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==
- dependencies:
- clone-response "1.0.2"
- get-stream "3.0.0"
- http-cache-semantics "3.8.1"
- keyv "3.0.0"
- lowercase-keys "1.0.0"
- normalize-url "2.0.1"
- responselike "1.0.2"
-
cacheable-request@^6.0.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
@@ -4119,11 +4125,6 @@ capture-exit@^2.0.0:
dependencies:
rsvp "^4.8.4"
-capture-stack-trace@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d"
- integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==
-
cardinal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9"
@@ -4137,7 +4138,7 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
-chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1:
+chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -4342,15 +4343,14 @@ cli-spinners@^2.0.0, cli-spinners@^2.5.0:
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d"
integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==
-cli-table3@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202"
- integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==
+cli-table3@^0.6.0:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a"
+ integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==
dependencies:
- object-assign "^4.1.0"
- string-width "^2.1.1"
+ string-width "^4.2.0"
optionalDependencies:
- colors "^1.1.2"
+ "@colors/colors" "1.5.0"
cli-table@^0.3.1:
version "0.3.11"
@@ -4387,7 +4387,7 @@ cliui@^7.0.2:
strip-ansi "^6.0.0"
wrap-ansi "^7.0.0"
-clone-response@1.0.2, clone-response@^1.0.2:
+clone-response@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==
@@ -4446,11 +4446,6 @@ colors@1.0.3:
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==
-colors@^1.1.2:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
- integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
-
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -4703,13 +4698,6 @@ create-ecdh@^4.0.0:
bn.js "^4.1.0"
elliptic "^6.5.3"
-create-error-class@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
- integrity sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==
- dependencies:
- capture-stack-trace "^1.0.0"
-
create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
@@ -4825,7 +4813,7 @@ debug@2.6.9, debug@^2.1.0, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.3.
dependencies:
ms "2.0.0"
-debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@~4.3.1, debug@~4.3.2:
+debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@~4.3.1, debug@~4.3.2:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -5018,11 +5006,6 @@ dot-prop@^5.2.0:
dependencies:
is-obj "^2.0.0"
-duplex@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/duplex/-/duplex-1.0.0.tgz#6abc5c16ec17e4c578578727126700590d3a2dda"
- integrity sha512-6Urdl3FU6TU6TAbd9b46YsvYhxqWvuuvlDL1VaP4DJb9E1jbU9Y5E6KUIXt7+0CUgKhPveZ495kqVAzm/uynyg==
-
duplexer3@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
@@ -5117,7 +5100,7 @@ ember-auto-import@^1.11.3:
walk-sync "^0.3.3"
webpack "^4.43.0"
-ember-auto-import@^2.0.0:
+ember-auto-import@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/ember-auto-import/-/ember-auto-import-2.4.2.tgz#d4d3bc6885a11cf124f606f5c37169bdf76e37ae"
integrity sha512-REh+1aJWpTkvN42a/ga41OuRpUsSW7UQfPr2wPtYx56o/xoSNhVBXejy7yV9ObrkN7gogz6fs2xZwih5cOwpYg==
@@ -5270,7 +5253,7 @@ ember-cli-github-pages@^0.2.2:
ember-cli-version-checker "^2.1.0"
rsvp "^4.7.0"
-ember-cli-htmlbars@^5.0.0, ember-cli-htmlbars@^5.7.1:
+ember-cli-htmlbars@^5.7.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-5.7.2.tgz#e0cd2fb3c20d85fe4c3e228e6f0590ee1c645ba8"
integrity sha512-Uj6R+3TtBV5RZoJY14oZn/sNPnc+UgmC8nb5rI4P3fR/gYoyTFIZSXiIM7zl++IpMoIrocxOrgt+mhonKphgGg==
@@ -5292,6 +5275,26 @@ ember-cli-htmlbars@^5.0.0, ember-cli-htmlbars@^5.7.1:
strip-bom "^4.0.0"
walk-sync "^2.2.0"
+ember-cli-htmlbars@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-6.1.0.tgz#97150c2a6f9a981475599d74817df66f5d816c2b"
+ integrity sha512-kT+MA2JsNLk10HpxAjpB5HHtR0WCoxZEUwLsy/BBww5lXmsrf34QzmTw7SL6DabZVxs+YCb9RhU9KTmFygGxCg==
+ dependencies:
+ "@ember/edition-utils" "^1.2.0"
+ babel-plugin-ember-template-compilation "^1.0.0"
+ babel-plugin-htmlbars-inline-precompile "^5.3.0"
+ broccoli-debug "^0.6.5"
+ broccoli-persistent-filter "^3.1.2"
+ broccoli-plugin "^4.0.3"
+ ember-cli-version-checker "^5.1.2"
+ fs-tree-diff "^2.0.1"
+ hash-for-dep "^1.5.1"
+ heimdalljs-logger "^0.1.10"
+ js-string-escape "^1.0.1"
+ semver "^7.3.4"
+ silent-error "^1.1.1"
+ walk-sync "^2.2.0"
+
ember-cli-inject-live-reload@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-2.1.0.tgz#ef63c733c133024d5726405a3c247fa12e88a385"
@@ -5600,7 +5603,7 @@ ember-perf-timeline@^2.0.0:
ember-cli-babel "^7.11.1"
ember-env-macros "^0.3.1"
-ember-qunit@^5.0.0:
+ember-qunit@^5.1.5:
version "5.1.5"
resolved "https://registry.yarnpkg.com/ember-qunit/-/ember-qunit-5.1.5.tgz#24a7850f052be24189ff597dfc31b923e684c444"
integrity sha512-2cFA4oMygh43RtVcMaBrr086Tpdhgbn3fVZ2awLkzF/rnSN0D0PSRpd7hAD7OdBPerC/ZYRwzVyGXLoW/Zes4A==
@@ -5646,13 +5649,6 @@ ember-router-generator@^1.2.3:
dependencies:
recast "^0.11.3"
-ember-source-channel-url@^1.0.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/ember-source-channel-url/-/ember-source-channel-url-1.2.0.tgz#77eb9d0889e5f5370e6c70fcb2696c63ff4a34a1"
- integrity sha512-CLClcHzVf+8GoFk4176R16nwXoel70bd7DKVAY6D8M0m5fJJhbTrAPYpDA0lY8A60HZo9j/s8A8LWiGh1YmdZg==
- dependencies:
- got "^8.0.1"
-
ember-source-channel-url@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ember-source-channel-url/-/ember-source-channel-url-3.0.0.tgz#bcd5be72c63fa0b8c390b3121783b462063e2a1b"
@@ -5680,41 +5676,32 @@ ember-source@~3.12.0:
jquery "^3.4.1"
resolve "^1.11.1"
-ember-try-config@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ember-try-config/-/ember-try-config-3.0.0.tgz#012d8c90cae9eb624e2b62040bf7e76a1aa58edc"
- integrity sha512-pNwHS29O1ACczkrxBKRtDY0TzTb7uPnA5eHEe+4NF6qpLK5FVnL3EtgZ8+yVYtnm1If5mZ07rIubw45vaSek7w==
+ember-try-config@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/ember-try-config/-/ember-try-config-4.0.0.tgz#8dbdcc071e7acbcb34750b4ed7faf1ab009766f1"
+ integrity sha512-jAv7fqYJK7QYYekPc/8Nr7KOqDpv/asqM6F8xcRnbmf9UrD35BkSffY63qUuiD9e0aR5qiMNBIQzH8f65rGDqw==
dependencies:
- ember-source-channel-url "^1.0.1"
- lodash "^4.6.1"
- package-json "^4.0.1"
- remote-git-tags "^2.0.0"
- rsvp "^4.8.1"
- semver "^5.5.0"
+ ember-source-channel-url "^3.0.0"
+ lodash "^4.17.20"
+ package-json "^6.5.0"
+ remote-git-tags "^3.0.0"
+ semver "^7.3.2"
-ember-try@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/ember-try/-/ember-try-1.4.0.tgz#be15965bd1727c27a65a78c4c8392f03763cc565"
- integrity sha512-o0SoCH4K8umCf8etphla8FDygKfQGkwY+w47wEuYFVKaESrOZaK63ObnAK7DTKkjJU74Fss2abf+r+pAWpX43g==
+ember-try@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ember-try/-/ember-try-2.0.0.tgz#2671c221f5a0335fa2c189d00db7146e2e72a1dd"
+ integrity sha512-2N7Vic45sbAegA5fhdfDjVbEVS4r+ze+tTQs2/wkY+8fC5yAGHfCM5ocyoTfBN5m7EhznC3AyMsOy4hLPzHFSQ==
dependencies:
- chalk "^2.4.2"
- cli-table3 "^0.5.1"
+ chalk "^4.1.2"
+ cli-table3 "^0.6.0"
core-object "^3.1.5"
- debug "^4.1.1"
- ember-try-config "^3.0.0"
- execa "^1.0.0"
- extend "^3.0.0"
- fs-extra "^5.0.0"
- promise-map-series "^0.2.1"
- resolve "^1.10.1"
- rimraf "^2.6.3"
- rsvp "^4.7.0"
- walk-sync "^1.1.3"
-
-emit-function@0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/emit-function/-/emit-function-0.0.2.tgz#e3a50b3d61be1bf8ca88b924bf713157a5bec124"
- integrity sha512-WRHUvrW3lcV45D+IQ9F3Wro5jFjnJcX82IQHo0r47gkajeMEKpJPUeQ4BgbyUb1T1dT17XFkgPwwrg4owU0fRw==
+ debug "^4.3.2"
+ ember-try-config "^4.0.0"
+ execa "^4.1.0"
+ fs-extra "^9.0.1"
+ resolve "^1.20.0"
+ rimraf "^3.0.2"
+ walk-sync "^2.2.0"
emoji-regex@^7.0.1:
version "7.0.3"
@@ -6252,7 +6239,7 @@ execa@^1.0.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
-execa@^4.0.2, execa@^4.0.3:
+execa@^4.0.2, execa@^4.0.3, execa@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
@@ -6344,7 +6331,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
-extend@^3.0.0, extend@~3.0.2:
+extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
@@ -6818,7 +6805,7 @@ fresh@0.5.2:
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
-from2@^2.1.0, from2@^2.1.1:
+from2@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==
@@ -6890,7 +6877,7 @@ fs-extra@^8.0.1, fs-extra@^8.1.0:
jsonfile "^4.0.0"
universalify "^0.1.0"
-fs-extra@^9.1.0:
+fs-extra@^9.0.1, fs-extra@^9.1.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
@@ -7049,11 +7036,6 @@ get-stdin@^4.0.1:
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==
-get-stream@3.0.0, get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
- integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==
-
get-stream@^4.0.0, get-stream@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -7105,53 +7087,16 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
-git-fetch-pack@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/git-fetch-pack/-/git-fetch-pack-0.1.1.tgz#7703a32cf0db80f060d2766a34ac00d02cebcdf5"
- integrity sha512-B0frGXKWSVuq6e99mzeFkK33CMpsDTQQkC7FXKl5CkUBeCd9g0EUtZIj6zA73KmcUrHCwgo18wneZrJGZF4s4A==
- dependencies:
- bops "0.0.3"
- emit-function "0.0.2"
- git-packed-ref-parse "0.0.0"
- through "~2.2.7"
-
git-hooks-list@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/git-hooks-list/-/git-hooks-list-1.0.3.tgz#be5baaf78203ce342f2f844a9d2b03dba1b45156"
integrity sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==
-git-packed-ref-parse@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/git-packed-ref-parse/-/git-packed-ref-parse-0.0.0.tgz#b85046931f3e4a65679b5de54af3a5d3df372646"
- integrity sha512-wp+YhR4+qVSb8NXv2iFdmSPIh676Tqhuut7saS7CH0oEQA+PAT6Hx0bFvN2ej4PDxK+2aj4mVcvwjcH/sujxTA==
- dependencies:
- line-stream "0.0.0"
- through "~2.2.7"
-
-git-read-pkt-line@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/git-read-pkt-line/-/git-read-pkt-line-0.0.8.tgz#494037854ed57bd90cd55676540d86ab0cb36caa"
- integrity sha512-z4yqjcBcuTHqybHXq2VGOexlLKhqCrDMqgAGeHr84PmFym5OJnAFwmxShCu9yI4EsdeYkk+e9qKmRNLE41CiHw==
- dependencies:
- bops "0.0.3"
- through "~2.2.7"
-
git-repo-info@^2.0.0, git-repo-info@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/git-repo-info/-/git-repo-info-2.1.1.tgz#220ffed8cbae74ef8a80e3052f2ccb5179aed058"
integrity sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==
-git-transport-protocol@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/git-transport-protocol/-/git-transport-protocol-0.1.0.tgz#99f4dd6389b9161eded74a9e617d6ba5ed0a6c2c"
- integrity sha512-BiC0nA1C6HtpLDx0QG2TMX5k8WgXB+bIJKHUdDxuNTmcQsk13dKDTz83SlIw2V0PIw2N7PS2aANzpokSCZXZXA==
- dependencies:
- duplex "~1.0.0"
- emit-function "0.0.2"
- git-read-pkt-line "0.0.8"
- git-write-pkt-line "0.1.0"
- through "~2.2.7"
-
git-up@^4.0.0:
version "4.0.5"
resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759"
@@ -7167,14 +7112,6 @@ git-url-parse@11.6.0:
dependencies:
git-up "^4.0.0"
-git-write-pkt-line@0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/git-write-pkt-line/-/git-write-pkt-line-0.1.0.tgz#a84c1856c09011908389b2f06f911d91f6394694"
- integrity sha512-ECGM+SHCBhF1bwnOwTDxZhlbpWu1RqRJtTSEKyBcdV5ka/aScQPKuYNFhdxvTpVBPfLrdV1igThtP2yGeLDXnw==
- dependencies:
- bops "0.0.3"
- through "~2.2.7"
-
glob-parent@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
@@ -7315,46 +7252,6 @@ got@9.6.0, got@^9.6.0:
to-readable-stream "^1.0.0"
url-parse-lax "^3.0.0"
-got@^6.7.1:
- version "6.7.1"
- resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
- integrity sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg==
- dependencies:
- create-error-class "^3.0.0"
- duplexer3 "^0.1.4"
- get-stream "^3.0.0"
- is-redirect "^1.0.0"
- is-retry-allowed "^1.0.0"
- is-stream "^1.0.0"
- lowercase-keys "^1.0.0"
- safe-buffer "^5.0.1"
- timed-out "^4.0.0"
- unzip-response "^2.0.1"
- url-parse-lax "^1.0.0"
-
-got@^8.0.1:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937"
- integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==
- dependencies:
- "@sindresorhus/is" "^0.7.0"
- cacheable-request "^2.1.1"
- decompress-response "^3.3.0"
- duplexer3 "^0.1.4"
- get-stream "^3.0.0"
- into-stream "^3.1.0"
- is-retry-allowed "^1.1.0"
- isurl "^1.0.0-alpha5"
- lowercase-keys "^1.0.0"
- mimic-response "^1.0.0"
- p-cancelable "^0.4.0"
- p-timeout "^2.0.1"
- pify "^3.0.0"
- safe-buffer "^5.1.1"
- timed-out "^4.0.1"
- url-parse-lax "^3.0.0"
- url-to-options "^1.0.1"
-
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
@@ -7431,23 +7328,11 @@ has-property-descriptors@^1.0.0:
dependencies:
get-intrinsic "^1.1.1"
-has-symbol-support-x@^1.4.1:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
- integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==
-
has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-has-to-string-tag-x@^1.2.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d"
- integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==
- dependencies:
- has-symbol-support-x "^1.4.1"
-
has-tostringtag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
@@ -7611,11 +7496,6 @@ hosted-git-info@^4.0.1:
dependencies:
lru-cache "^6.0.0"
-http-cache-semantics@3.8.1:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"
- integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
-
http-cache-semantics@^4.0.0, http-cache-semantics@^4.0.3:
version "4.1.0"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
@@ -7932,14 +7812,6 @@ interpret@^1.0.0:
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
-into-stream@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6"
- integrity sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==
- dependencies:
- from2 "^2.1.1"
- p-is-promise "^1.1.0"
-
invariant@^2.2.2:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
@@ -8229,11 +8101,6 @@ is-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-is-object@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf"
- integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==
-
is-path-inside@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
@@ -8244,11 +8111,6 @@ is-plain-obj@2.1.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
-is-plain-obj@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
- integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
-
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
@@ -8261,11 +8123,6 @@ is-plain-object@^5.0.0:
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
-is-redirect@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
- integrity sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==
-
is-regex@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
@@ -8274,11 +8131,6 @@ is-regex@^1.1.4:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
-is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
- integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
-
is-set@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
@@ -8298,7 +8150,7 @@ is-ssh@^1.3.0:
dependencies:
protocols "^1.1.0"
-is-stream@^1.0.0, is-stream@^1.1.0:
+is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
@@ -8428,14 +8280,6 @@ istextorbinary@^2.5.1:
editions "^2.2.0"
textextensions "^2.5.0"
-isurl@^1.0.0-alpha5:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67"
- integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==
- dependencies:
- has-to-string-tag-x "^1.2.0"
- is-object "^1.0.1"
-
iterate-iterator@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.2.tgz#551b804c9eaa15b847ea6a7cdc2f5bf1ec150f91"
@@ -8618,13 +8462,6 @@ jsprim@^1.2.2:
json-schema "0.4.0"
verror "1.10.0"
-keyv@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373"
- integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==
- dependencies:
- json-buffer "3.0.0"
-
keyv@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
@@ -8710,13 +8547,6 @@ line-column@^1.0.2:
isarray "^1.0.0"
isobject "^2.0.0"
-line-stream@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/line-stream/-/line-stream-0.0.0.tgz#888b7cc7951c6a05ce4d696dd1e6b8262371bb45"
- integrity sha512-Sx68INB+sWLEHnpTyMHsqJV8hrnf9ZbyRASek5MInROlvYkZjnWLBMsFgIE57zG3SY1tpJhbJucpbrhNU3FIDg==
- dependencies:
- through "~2.2.0"
-
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
@@ -8987,7 +8817,7 @@ lodash.uniqby@^4.7.0:
resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302"
integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==
-lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.6.1:
+lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -9019,11 +8849,6 @@ lower-case@^1.1.1:
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==
-lowercase-keys@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
- integrity sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==
-
lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
@@ -9060,6 +8885,13 @@ magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
+magic-string@^0.26.0:
+ version "0.26.2"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
+ integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
+ dependencies:
+ sourcemap-codec "^1.4.8"
+
make-dir@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
@@ -9739,15 +9571,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-normalize-url@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6"
- integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==
- dependencies:
- prepend-http "^2.0.0"
- query-string "^5.0.1"
- sort-keys "^2.0.0"
-
normalize-url@^4.1.0:
version "4.5.1"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
@@ -9999,11 +9822,6 @@ osenv@^0.1.3:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
-p-cancelable@^0.4.0:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0"
- integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==
-
p-cancelable@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
@@ -10019,11 +9837,6 @@ p-finally@^1.0.0:
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
-p-is-promise@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
- integrity sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==
-
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
@@ -10080,13 +9893,6 @@ p-map@^3.0.0:
dependencies:
aggregate-error "^3.0.0"
-p-timeout@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038"
- integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==
- dependencies:
- p-finally "^1.0.0"
-
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
@@ -10121,17 +9927,7 @@ pac-resolver@^5.0.0:
ip "^1.1.5"
netmask "^2.0.2"
-package-json@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
- integrity sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA==
- dependencies:
- got "^6.7.1"
- registry-auth-token "^3.0.1"
- registry-url "^3.0.3"
- semver "^5.1.0"
-
-package-json@^6.3.0:
+package-json@^6.3.0, package-json@^6.5.0:
version "6.5.0"
resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
@@ -10494,11 +10290,6 @@ prelude-ls@~1.1.2:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
-prepend-http@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
- integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==
-
prepend-http@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
@@ -10691,15 +10482,6 @@ qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
-query-string@^5.0.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb"
- integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==
- dependencies:
- decode-uri-component "^0.2.0"
- object-assign "^4.1.0"
- strict-uri-encode "^1.0.0"
-
query-string@^6.13.8:
version "6.14.1"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a"
@@ -10744,7 +10526,7 @@ qunit-dom@^1.0.0:
ember-cli-babel "^7.23.0"
ember-cli-version-checker "^5.1.1"
-qunit@^2.0.0:
+qunit@^2.19.1:
version "2.19.1"
resolved "https://registry.yarnpkg.com/qunit/-/qunit-2.19.1.tgz#eb1afd188da9e47f07c13aa70461a1d9c4505490"
integrity sha512-gSGuw0vErE/rNjnlBW/JmE7NNubBlGrDPQvsug32ejYhcVFuZec9yoU0+C30+UgeCGwq6Ap89K65dMGo+kDGZQ==
@@ -10791,7 +10573,7 @@ raw-body@~1.1.0:
bytes "1"
string_decoder "0.10"
-rc@^1.0.1, rc@^1.1.6, rc@^1.2.8:
+rc@^1.2.8:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
@@ -10983,14 +10765,6 @@ regexpu-core@^5.0.1:
unicode-match-property-ecmascript "^2.0.0"
unicode-match-property-value-ecmascript "^2.0.0"
-registry-auth-token@^3.0.1:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e"
- integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==
- dependencies:
- rc "^1.1.6"
- safe-buffer "^5.0.1"
-
registry-auth-token@^4.0.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250"
@@ -10998,13 +10772,6 @@ registry-auth-token@^4.0.0:
dependencies:
rc "^1.2.8"
-registry-url@^3.0.3:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
- integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI=
- dependencies:
- rc "^1.0.1"
-
registry-url@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
@@ -11085,13 +10852,10 @@ release-it@^14.2.1:
yaml "1.10.2"
yargs-parser "20.2.9"
-remote-git-tags@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/remote-git-tags/-/remote-git-tags-2.0.0.tgz#1152f39cf8b5268ae0e4307636ef741ec341664c"
- integrity sha1-EVLznPi1Jorg5DB2Nu90HsNBZkw=
- dependencies:
- git-fetch-pack "^0.1.1"
- git-transport-protocol "^0.1.0"
+remote-git-tags@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/remote-git-tags/-/remote-git-tags-3.0.0.tgz#424f8ec2cdea00bb5af1784a49190f25e16983c3"
+ integrity sha512-C9hAO4eoEsX+OXA4rla66pXZQ+TLQ8T9dttgQj18yuKlPMTVkIkdYXvlMC55IuUsIkV6DpmQYi10JKFLaU+l7w==
remove-trailing-separator@^1.0.1:
version "1.1.0"
@@ -11242,7 +11006,7 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.12
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
-responselike@1.0.2, responselike@^1.0.2:
+responselike@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
@@ -11330,6 +11094,13 @@ rollup@^1.12.0:
"@types/node" "*"
acorn "^7.1.0"
+rollup@^2.50.0:
+ version "2.77.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.0.tgz#749eaa5ac09b6baa52acc076bc46613eddfd53f4"
+ integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
rsvp@^3.0.14, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.0.6, rsvp@^3.1.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
@@ -11464,7 +11235,7 @@ semver-diff@^3.1.1:
dependencies:
semver "^6.3.0"
-"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -11778,13 +11549,6 @@ socks@~2.3.2:
ip "1.1.5"
smart-buffer "^4.1.0"
-sort-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
- integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=
- dependencies:
- is-plain-obj "^1.0.0"
-
sort-object-keys@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45"
@@ -12032,11 +11796,6 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
-strict-uri-encode@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
- integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
-
strict-uri-encode@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
@@ -12056,7 +11815,7 @@ string-template@~0.2.1:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-string-width@^2.1.0, string-width@^2.1.1:
+string-width@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@@ -12454,16 +12213,6 @@ through@^2.3.6:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-through@~2.2.0, through@~2.2.7:
- version "2.2.7"
- resolved "https://registry.yarnpkg.com/through/-/through-2.2.7.tgz#6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd"
- integrity sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=
-
-timed-out@^4.0.0, timed-out@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
- integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
-
timers-browserify@^2.0.4:
version "2.0.12"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
@@ -12576,11 +12325,6 @@ to-regex@^3.0.1, to-regex@^3.0.2:
regex-not "^1.0.2"
safe-regex "^1.1.0"
-to-utf8@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/to-utf8/-/to-utf8-0.0.1.tgz#d17aea72ff2fba39b9e43601be7b3ff72e089852"
- integrity sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=
-
toidentifier@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
@@ -12841,11 +12585,6 @@ untildify@^2.1.0:
dependencies:
os-homedir "^1.0.0"
-unzip-response@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
- integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=
-
upath@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
@@ -12888,13 +12627,6 @@ url-join@4.0.1:
resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
-url-parse-lax@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
- integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
- dependencies:
- prepend-http "^1.0.1"
-
url-parse-lax@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
@@ -12902,11 +12634,6 @@ url-parse-lax@^3.0.0:
dependencies:
prepend-http "^2.0.0"
-url-to-options@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9"
- integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=
-
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"