0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-04-01 02:41:39 -05:00

Updated Ember dependencies to 3.22 (#2220)

no issue

- bumped `ember-source`, `ember-data`, and `ember-cli` to latest 3.22.x versions
- fixed errors caused by updating properties inside of a render
  - `<GhPublishMenu>` removed insta-call of `@setSaveType` when rendering sub-components in favour of pre-setting the default `@saveType` value when the underlying post status changes
  - updated `<GhNavMenu>` to use the run-loop to update the `firstRender` property once rendering has finished rather than mid-render
This commit is contained in:
Kevin Ansfield 2022-01-22 00:05:05 +00:00 committed by GitHub
parent 7376167d0a
commit b71babfc51
9 changed files with 229 additions and 131 deletions

View file

@ -1,4 +1,4 @@
<nav class="gh-nav {{if this.ui.contextualNavMenu "gh-nav-contextual"}}" {{did-insert (fn (mut this.firstRender) false)}} ...attributes>
<nav class="gh-nav {{if this.ui.contextualNavMenu "gh-nav-contextual"}}" {{did-insert this.updateFirstRender}} ...attributes>
{{#if this.ui.contextualNavMenu}}
{{component (concat "gh-nav-menu/" ui.contextualNavMenu)}}
{{else}}

View file

@ -1,4 +1,6 @@
import Component from '@glimmer/component';
import {action} from '@ember/object';
import {schedule} from '@ember/runloop';
import {inject as service} from '@ember/service';
import {tracked} from '@glimmer/tracking';
@ -7,4 +9,11 @@ export default class GhNavMenuComponent extends Component {
@service ui;
@tracked firstRender = true;
@action
updateFirstRender() {
schedule('afterRender', this, () => {
this.firstRender = false;
});
}
}

View file

@ -1,4 +1,4 @@
<div {{did-insert (fn this.setSaveType "publish")}} ...attributes>
<div ...attributes>
<header class="gh-publishmenu-heading">Ready to
{{#if @canSendEmail}}
<GhDistributionActionSelect

View file

@ -31,36 +31,15 @@ export default class GhPublishMenuDraftComponent extends Component {
constructor() {
super(...arguments);
this.args.post.set('publishedAtBlogTZ', this.args.post.publishedAtUTC);
this._updateDatesForSaveType(this.args.saveType);
}
@action
setSaveType(type) {
if (this.args.saveType !== type) {
let hasDateError = !isEmpty(this.args.post.errors.errorsFor('publishedAtBlogDate'));
let hasTimeError = !isEmpty(this.args.post.errors.errorsFor('publishedAtBlogTime'));
let minDate = this._getMinDate();
this._minDate = minDate;
this._updateDatesForSaveType(type);
this.args.setSaveType(type);
// when publish: switch to now to avoid validation errors
// when schedule: switch to last valid or new minimum scheduled date
if (type === 'publish') {
if (!hasDateError && !hasTimeError) {
this._publishedAtBlogTZ = this.args.post.publishedAtBlogTZ;
} else {
this._publishedAtBlogTZ = this.args.post.publishedAtUTC;
}
this.args.post.set('publishedAtBlogTZ', this.args.post.publishedAtUTC);
} else {
if (!this._publishedAtBlogTZ || moment(this._publishedAtBlogTZ).isBefore(minDate)) {
this.args.post.set('publishedAtBlogTZ', minDate);
} else {
this.args.post.set('publishedAtBlogTZ', this._publishedAtBlogTZ);
}
}
this.args.post.validate();
}
}
@ -97,6 +76,32 @@ export default class GhPublishMenuDraftComponent extends Component {
}
}
_updateDatesForSaveType(type) {
let hasDateError = !isEmpty(this.args.post.errors.errorsFor('publishedAtBlogDate'));
let hasTimeError = !isEmpty(this.args.post.errors.errorsFor('publishedAtBlogTime'));
let minDate = this._getMinDate();
this._minDate = minDate;
// when publish: switch to now to avoid validation errors
// when schedule: switch to last valid or new minimum scheduled date
if (type === 'publish') {
if (!hasDateError && !hasTimeError) {
this._publishedAtBlogTZ = this.args.post.publishedAtBlogTZ;
} else {
this._publishedAtBlogTZ = this.args.post.publishedAtUTC;
}
this.args.post.set('publishedAtBlogTZ', this.args.post.publishedAtUTC);
} else {
if (!this._publishedAtBlogTZ || moment(this._publishedAtBlogTZ).isBefore(minDate)) {
this.args.post.set('publishedAtBlogTZ', minDate);
} else {
this.args.post.set('publishedAtBlogTZ', this._publishedAtBlogTZ);
}
}
}
// API only accepts dates at least 2 mins in the future, default the
// scheduled date 5 mins in the future to avoid immediate validation errors
_getMinDate() {

View file

@ -1,4 +1,4 @@
<div {{did-insert (fn @setSaveType "publish")}} data-test-publishmenu-published="true" ...attributes>
<div data-test-publishmenu-published="true" ...attributes>
<header class="gh-publishmenu-heading">Update {{@post.displayName}} status</header>
<section class="gh-publishmenu-content gh-publishmenu-section">
<div class="gh-publishmenu-radio {{if (eq @saveType "draft") "active"}}" {{on "click" (fn @setSaveType "draft")}}>

View file

@ -1,4 +1,4 @@
<div {{did-insert (fn this.setSaveType "schedule")}} data-test-publishmenu-scheduled="true" ...attributes>
<div data-test-publishmenu-scheduled="true" ...attributes>
<header class="gh-publishmenu-heading">Will be published in {{this.timeToPublished}}</header>
<div class="gh-publishmenu-content">
<section class="gh-publishmenu-section">

View file

@ -21,6 +21,7 @@ export default Component.extend({
classNames: 'gh-publishmenu',
displayState: 'draft',
saveType: 'publish',
post: null,
postStatus: 'draft',
distributionAction: 'publish_send',
@ -191,6 +192,15 @@ export default Component.extend({
didReceiveAttrs() {
this._super(...arguments);
const updateSaveTypeForPostStatus = (status) => {
if (status === 'draft' || status === 'published') {
this.set('saveType', 'publish');
}
if (status === 'scheduled') {
this.set('saveType', 'schedule');
}
};
// update the displayState based on the post status but only after a
// save has finished to avoid swapping the menu prematurely and triggering
// calls to `setSaveType` due to the component re-rendering
@ -201,9 +211,11 @@ export default Component.extend({
if (this.get('saveTask.isRunning')) {
this.get('saveTask.last').then(() => {
this.set('displayState', postStatus);
updateSaveTypeForPostStatus(postStatus);
});
} else {
this.set('displayState', postStatus);
updateSaveTypeForPostStatus(postStatus);
}
}

View file

@ -60,7 +60,7 @@
"ember-assign-helper": "0.4.0",
"ember-auto-import": "1.12.1",
"ember-classic-decorator": "2.0.1",
"ember-cli": "3.21.2",
"ember-cli": "3.22.0",
"ember-cli-app-version": "5.0.0",
"ember-cli-babel": "7.26.11",
"ember-cli-chart": "3.7.2",
@ -82,7 +82,7 @@
"ember-concurrency": "2.2.0",
"ember-concurrency-decorators": "2.0.3",
"ember-css-transitions": "2.1.1",
"ember-data": "3.21.2",
"ember-data": "3.22.0",
"ember-decorators": "6.1.1",
"ember-drag-drop": "0.4.8",
"ember-ella-sparse": "0.16.0",
@ -106,7 +106,7 @@
"ember-route-action-helper": "2.0.8",
"ember-simple-auth": "4.1.1",
"ember-sinon": "5.0.0",
"ember-source": "3.21.3",
"ember-source": "3.22.1",
"ember-svg-jar": "2.3.4",
"ember-test-selectors": "6.0.0",
"ember-tooltips": "3.5.1",

View file

@ -21,7 +21,7 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e"
integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==
"@babel/core@^7.0.0", "@babel/core@^7.1.6", "@babel/core@^7.11.0", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.10", "@babel/core@^7.3.4":
"@babel/core@^7.0.0", "@babel/core@^7.1.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.10", "@babel/core@^7.3.4":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf"
integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==
@ -42,6 +42,27 @@
semver "^6.3.0"
source-map "^0.5.0"
"@babel/core@^7.11.6":
version "7.16.10"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.10.tgz#ebd034f8e7ac2b6bfcdaa83a161141a646f74b50"
integrity sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==
dependencies:
"@babel/code-frame" "^7.16.7"
"@babel/generator" "^7.16.8"
"@babel/helper-compilation-targets" "^7.16.7"
"@babel/helper-module-transforms" "^7.16.7"
"@babel/helpers" "^7.16.7"
"@babel/parser" "^7.16.10"
"@babel/template" "^7.16.7"
"@babel/traverse" "^7.16.10"
"@babel/types" "^7.16.8"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.1.2"
semver "^6.3.0"
source-map "^0.5.0"
"@babel/generator@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.7.tgz#b42bf46a3079fa65e1544135f32e7958f048adbb"
@ -51,6 +72,15 @@
jsesc "^2.5.1"
source-map "^0.5.0"
"@babel/generator@^7.16.8":
version "7.16.8"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe"
integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==
dependencies:
"@babel/types" "^7.16.8"
jsesc "^2.5.1"
source-map "^0.5.0"
"@babel/helper-annotate-as-pure@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
@ -272,6 +302,11 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.7.tgz#d372dda9c89fcec340a82630a9f533f2fe15877e"
integrity sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA==
"@babel/parser@^7.16.10":
version "7.16.10"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.10.tgz#aba1b1cb9696a24a19f59c41af9cf17d1c716a88"
integrity sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050"
@ -979,6 +1014,22 @@
debug "^4.1.0"
globals "^11.1.0"
"@babel/traverse@^7.16.10":
version "7.16.10"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f"
integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==
dependencies:
"@babel/code-frame" "^7.16.7"
"@babel/generator" "^7.16.8"
"@babel/helper-environment-visitor" "^7.16.7"
"@babel/helper-function-name" "^7.16.7"
"@babel/helper-hoist-variables" "^7.16.7"
"@babel/helper-split-export-declaration" "^7.16.7"
"@babel/parser" "^7.16.10"
"@babel/types" "^7.16.8"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.1.6", "@babel/types@^7.12.1", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.7.2":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.7.tgz#4ed19d51f840ed4bd5645be6ce40775fecf03159"
@ -987,6 +1038,14 @@
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
"@babel/types@^7.16.8":
version "7.16.8"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1"
integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==
dependencies:
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
"@cnakazawa/watch@^1.0.3":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
@ -1000,45 +1059,45 @@
resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
"@ember-data/adapter@3.21.2":
version "3.21.2"
resolved "https://registry.yarnpkg.com/@ember-data/adapter/-/adapter-3.21.2.tgz#effa7c7036739cc5ee5506c23cb41dd31855333b"
integrity sha512-bqc+HaYEdwX4HYm9a0GE8hZ8sc51z35qLsRb97ziwFpA6hDXhZqMg6kdPymmUD6BBnN80Og7vH+OR6MdPkQDzA==
"@ember-data/adapter@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@ember-data/adapter/-/adapter-3.22.0.tgz#6b67062fd243a1d51378419f0a2fdcde97700972"
integrity sha512-E30t06ae221t6C3TYOrzWiTPb8lDLns8v5dMbI6X82XDx555ec2UNNE6fPLlRZRcnmFTn6MIWbwSFUSDb4AjkQ==
dependencies:
"@ember-data/private-build-infra" "3.21.2"
"@ember-data/store" "3.21.2"
"@ember-data/private-build-infra" "3.22.0"
"@ember-data/store" "3.22.0"
"@ember/edition-utils" "^1.2.0"
ember-cli-babel "^7.18.0"
ember-cli-test-info "^1.0.0"
ember-cli-typescript "^3.1.3"
"@ember-data/canary-features@3.21.2":
version "3.21.2"
resolved "https://registry.yarnpkg.com/@ember-data/canary-features/-/canary-features-3.21.2.tgz#9cb05922cc8f1fdd236c6d336e3de62de2541085"
integrity sha512-7iRqPGt4ccNquJ+oDEM66v3v/gLSdi0dKgej1YaG7iRqtsHS2ShojuQsAilZh4Rtmy/vv7bZFZjiBDz4bTf48A==
"@ember-data/canary-features@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@ember-data/canary-features/-/canary-features-3.22.0.tgz#53254a6155fc5a40fa2d2235c9162af1dbaecc56"
integrity sha512-oV+1njqd1cWsydNYIg2z2zmVOfVq2DhXIbYMBT9m4DxZxaogoSLXi9FjyhHlCWTI6Zkb+9rZa+wncw3EfpfuWA==
dependencies:
ember-cli-babel "^7.18.0"
ember-cli-typescript "^3.1.3"
"@ember-data/debug@3.21.2":
version "3.21.2"
resolved "https://registry.yarnpkg.com/@ember-data/debug/-/debug-3.21.2.tgz#b0370df4e85acf74a7bfe8d86e39c2c90ff56380"
integrity sha512-T17yTfrqLhP7ayzX8mat7yA4tFsxCW3k1E8nxuKFWsVfhMPUOKvnaS743VmJdWXmHdm4SuxD17t2ajGPAmz1Vw==
"@ember-data/debug@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@ember-data/debug/-/debug-3.22.0.tgz#53df882872bf6b9914c7e55d30e947919a88e7fc"
integrity sha512-HRzUF02oXBHQ+4PrbP+NUmbLiFiiEK3VPTp6Jh7JhDtvHGN4BdQkS1bdnnIdV+z4kYghup9+rCXu4a8YK7Jidw==
dependencies:
"@ember-data/private-build-infra" "3.21.2"
"@ember-data/private-build-infra" "3.22.0"
"@ember/edition-utils" "^1.2.0"
ember-cli-babel "^7.18.0"
ember-cli-test-info "^1.0.0"
ember-cli-typescript "^3.1.3"
"@ember-data/model@3.21.2":
version "3.21.2"
resolved "https://registry.yarnpkg.com/@ember-data/model/-/model-3.21.2.tgz#ebcbaee9bcb75489ef4be7687a17d266fb908aa2"
integrity sha512-+Z4inXkeNbz7tKI4EaiurN35yTJ/B6KTRIZyjx/cpULooJ9pyAYLsVHDYYqxw622izDQ9JWSftqJl8vhva5F3A==
"@ember-data/model@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@ember-data/model/-/model-3.22.0.tgz#9127af041ec4059b5e47e4d587fe8c9647af8cfb"
integrity sha512-gsouYusYtPuKXqSYVEbwb+VzAtMoN2S3PBTgI8mzmF2orEwZSy5tDB+UzpJvmB9QtysI0iMK0S0pgkvN7kKlmA==
dependencies:
"@ember-data/canary-features" "3.21.2"
"@ember-data/private-build-infra" "3.21.2"
"@ember-data/store" "3.21.2"
"@ember-data/canary-features" "3.22.0"
"@ember-data/private-build-infra" "3.22.0"
"@ember-data/store" "3.22.0"
"@ember/edition-utils" "^1.2.0"
ember-cli-babel "^7.18.0"
ember-cli-string-utils "^1.1.0"
@ -1047,13 +1106,13 @@
ember-compatibility-helpers "^1.2.0"
inflection "1.12.0"
"@ember-data/private-build-infra@3.21.2":
version "3.21.2"
resolved "https://registry.yarnpkg.com/@ember-data/private-build-infra/-/private-build-infra-3.21.2.tgz#9ba22e5c3624462a5397c45728e1cfadf1f1da5b"
integrity sha512-eg2M0IJYghdkNwnf9J/SF23pCh/hjun0dG9AfPJWUGpvJM4DlEAjex1Zh+JB71e7CVxx2a9yLsPuHe86R89jJg==
"@ember-data/private-build-infra@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@ember-data/private-build-infra/-/private-build-infra-3.22.0.tgz#967867a3481e5df9491f3a7cdf910d9b2baaaaf5"
integrity sha512-XhYXkb2syHHbsQSqb3ktNChTOVc8PN0z9Hnks4waugG3EK1zf/3aK/gqwZH5T/kq+cSkpfbloz/GeS7PJ7E3xw==
dependencies:
"@babel/plugin-transform-block-scoping" "^7.8.3"
"@ember-data/canary-features" "3.21.2"
"@ember-data/canary-features" "3.22.0"
"@ember/edition-utils" "^1.2.0"
babel-plugin-debug-macros "^0.3.3"
babel-plugin-filter-imports "^4.0.0"
@ -1079,14 +1138,14 @@
semver "^7.1.3"
silent-error "^1.1.1"
"@ember-data/record-data@3.21.2":
version "3.21.2"
resolved "https://registry.yarnpkg.com/@ember-data/record-data/-/record-data-3.21.2.tgz#0e7b53451f70aa20f48fbc046786999633d278a4"
integrity sha512-MJKvsHNIrHVJze3iQdlHfsCGRwrm4WbI6qlh9ecTOMhrhjLQufJCW+Ea2mLNg8pB9rNhhL4tqTNUByNc6DtmGw==
"@ember-data/record-data@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@ember-data/record-data/-/record-data-3.22.0.tgz#ce0682a0c5fb5b41e840c009f5638f5c5945362f"
integrity sha512-J7spAi7nDxcA3jrJ8RC7CMqNLNwgeP60ZxfNb4B3+g58uJJUWSNDUExRqdtYegalG0C2jZNpb2ccGHdjf8liRg==
dependencies:
"@ember-data/canary-features" "3.21.2"
"@ember-data/private-build-infra" "3.21.2"
"@ember-data/store" "3.21.2"
"@ember-data/canary-features" "3.22.0"
"@ember-data/private-build-infra" "3.22.0"
"@ember-data/store" "3.22.0"
"@ember/edition-utils" "^1.2.0"
"@ember/ordered-set" "^2.0.3"
ember-cli-babel "^7.18.0"
@ -1098,24 +1157,24 @@
resolved "https://registry.yarnpkg.com/@ember-data/rfc395-data/-/rfc395-data-0.0.4.tgz#ecb86efdf5d7733a76ff14ea651a1b0ed1f8a843"
integrity sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==
"@ember-data/serializer@3.21.2":
version "3.21.2"
resolved "https://registry.yarnpkg.com/@ember-data/serializer/-/serializer-3.21.2.tgz#0c893dc57f6d4c965e5f40f30a40b7b6b36a7558"
integrity sha512-rjdLMNg8j+pNpTgNT0SIFM6mLYYWeMEMt7sIU1Cz7sRi/Wg37lomo3WJ2V3BoS/TEXKqzv30Ibjr7tfIJgCsUg==
"@ember-data/serializer@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@ember-data/serializer/-/serializer-3.22.0.tgz#156abcb043c052e3388497e1e01017e02e3ba172"
integrity sha512-fJoO+17Y8Zzup3E6Q80excJQdkx9uEE+F9Aa+Q9uEyqfEO2wlXCks6yz+JKAzUdrQC+OWeyajdPo/3d5yj2CXw==
dependencies:
"@ember-data/private-build-infra" "3.21.2"
"@ember-data/store" "3.21.2"
"@ember-data/private-build-infra" "3.22.0"
"@ember-data/store" "3.22.0"
ember-cli-babel "^7.18.0"
ember-cli-test-info "^1.0.0"
ember-cli-typescript "^3.1.3"
"@ember-data/store@3.21.2":
version "3.21.2"
resolved "https://registry.yarnpkg.com/@ember-data/store/-/store-3.21.2.tgz#fe3139a33059a872cf3036d08a8a334ec30c414e"
integrity sha512-aA9SogU8OZsKSoKuh7qgvSqSM9uAdumGWhaPQEgXhIp5EKB5TVK4COHUSG9AWY/4DMOq95xEsu/4+d03jnakBg==
"@ember-data/store@3.22.0":
version "3.22.0"
resolved "https://registry.yarnpkg.com/@ember-data/store/-/store-3.22.0.tgz#1f8098bb5eec95efe9c61205c4f58e9c14ee030f"
integrity sha512-tqtV29JdSeJ+20jWQQH1S542l3sIM8D89PmycFoZt5kAq372/zDgHMCmkeWVPr4aJ8y24ErEedPmwbzOahyarQ==
dependencies:
"@ember-data/canary-features" "3.21.2"
"@ember-data/private-build-infra" "3.21.2"
"@ember-data/canary-features" "3.22.0"
"@ember-data/private-build-infra" "3.22.0"
ember-cli-babel "^7.18.0"
ember-cli-path-utils "^1.0.0"
ember-cli-typescript "^3.1.3"
@ -4599,7 +4658,7 @@ callsites@^2.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
callsites@^3.0.0:
callsites@^3.0.0, callsites@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
@ -4864,6 +4923,11 @@ clean-regexp@^1.0.0:
dependencies:
escape-string-regexp "^1.0.5"
clean-stack@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
clean-up-path@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clean-up-path/-/clean-up-path-1.0.0.tgz#de9e8196519912e749c9eaf67c13d64fac72a3e5"
@ -6554,12 +6618,12 @@ ember-cli-version-checker@^5.1.1, ember-cli-version-checker@^5.1.2:
semver "^7.3.4"
silent-error "^1.1.1"
ember-cli@3.21.2:
version "3.21.2"
resolved "https://registry.yarnpkg.com/ember-cli/-/ember-cli-3.21.2.tgz#af99af5eba9882a326d8528fda31f219300d5591"
integrity sha512-sWOFy74DJ1dZqct0BxGEeGBAEjQUk4ZYZOj+J/PCy3JhDBYHnyBthE+4DdMj4Q211TInoI1UBetpt7x57M7JrA==
ember-cli@3.22.0:
version "3.22.0"
resolved "https://registry.yarnpkg.com/ember-cli/-/ember-cli-3.22.0.tgz#bf073ce6b755fb9bc77a81acee41ff0a5b30d8d6"
integrity sha512-7MbQ6r29MVW4I/IDTvTL2oDHK8kSL2l9bhfXKfc/sIbT0bnTgyhvRFSa0dPA8Q3FLx3FYAZ2jJPaPG0wpYzCrw==
dependencies:
"@babel/core" "^7.11.0"
"@babel/core" "^7.11.6"
"@babel/plugin-transform-modules-amd" "^7.10.5"
amd-name-resolver "^1.3.1"
babel-plugin-module-resolver "^4.0.0"
@ -6602,7 +6666,7 @@ ember-cli@3.21.2:
exit "^0.1.2"
express "^4.17.1"
filesize "^6.1.0"
find-up "^4.1.0"
find-up "^5.0.0"
find-yarn-workspace-root "^2.0.0"
fixturify-project "^2.1.0"
fs-extra "^9.0.0"
@ -6611,13 +6675,13 @@ ember-cli@3.21.2:
git-repo-info "^2.1.1"
glob "^7.1.6"
heimdalljs "^0.2.6"
heimdalljs-fs-monitor "^0.2.3"
heimdalljs-fs-monitor "^1.1.0"
heimdalljs-graph "^1.0.0"
heimdalljs-logger "^0.1.10"
http-proxy "^1.18.1"
inflection "^1.12.0"
is-git-url "^1.0.0"
is-language-code "^1.0.9"
is-language-code "^1.0.12"
isbinaryfile "^4.0.6"
js-yaml "^3.13.1"
json-stable-stringify "^1.0.1"
@ -6639,16 +6703,16 @@ ember-cli@3.21.2:
sane "^4.1.0"
semver "^7.3.2"
silent-error "^1.1.1"
sort-package-json "^1.44.0"
sort-package-json "^1.46.0"
symlink-or-copy "^1.3.1"
temp "0.9.1"
testem "^3.2.0"
tiny-lr "^1.1.1"
tiny-lr "^2.0.0"
tree-sync "^2.1.0"
uuid "^8.3.0"
walk-sync "^2.2.0"
watch-detector "^1.0.0"
workerpool "^6.0.0"
workerpool "^6.0.1"
yam "^1.0.0"
ember-compatibility-helpers@^1.1.1, ember-compatibility-helpers@^1.1.2, ember-compatibility-helpers@^1.2.0, ember-compatibility-helpers@^1.2.1, ember-compatibility-helpers@^1.2.4, ember-compatibility-helpers@^1.2.5:
@ -6718,18 +6782,18 @@ ember-css-transitions@2.1.1:
ember-cli-htmlbars "^5.3.1"
ember-modifier "^2.1.0"
ember-data@3.21.2:
version "3.21.2"
resolved "https://registry.yarnpkg.com/ember-data/-/ember-data-3.21.2.tgz#d3537319a8d1c80a8a567f08d86b740722d502fe"
integrity sha512-Z+DCWczMBC04ahANj+AqOwXeXrqPmtwaJ+2SnomM9s8PaUcILVZPToTudUBU2rdnS2MjkpmcUVIIYiXEvAetgg==
ember-data@3.22.0:
version "3.22.0"
resolved "https://registry.yarnpkg.com/ember-data/-/ember-data-3.22.0.tgz#3cce46e5d4d660b022e047592f1dd1cf2270d1a4"
integrity sha512-T8n3tV7bIx3vrc3y39luBE+OyEWoj8POYWA38dSSvYk6QDsqPgbfcIz9RMdbl74ywTyIZq8+lGsxdidvqVTucw==
dependencies:
"@ember-data/adapter" "3.21.2"
"@ember-data/debug" "3.21.2"
"@ember-data/model" "3.21.2"
"@ember-data/private-build-infra" "3.21.2"
"@ember-data/record-data" "3.21.2"
"@ember-data/serializer" "3.21.2"
"@ember-data/store" "3.21.2"
"@ember-data/adapter" "3.22.0"
"@ember-data/debug" "3.22.0"
"@ember-data/model" "3.22.0"
"@ember-data/private-build-infra" "3.22.0"
"@ember-data/record-data" "3.22.0"
"@ember-data/serializer" "3.22.0"
"@ember-data/store" "3.22.0"
"@ember/edition-utils" "^1.2.0"
"@ember/ordered-set" "^2.0.3"
"@glimmer/env" "^0.1.7"
@ -7059,7 +7123,6 @@ ember-power-calendar@^0.16.3:
ember-power-datepicker@cibernox/ember-power-datepicker:
version "0.8.1"
uid da580474a2c449b715444934ddb626b7c07f46a7
resolved "https://codeload.github.com/cibernox/ember-power-datepicker/tar.gz/da580474a2c449b715444934ddb626b7c07f46a7"
dependencies:
ember-basic-dropdown "^3.0.11"
@ -7086,8 +7149,7 @@ ember-power-select@4.1.5:
ember-truth-helpers "^2.1.0 || ^3.0.0"
ember-promise-modals@TryGhost/ember-promise-modals#v2.0.0+ghost.3:
version "2.0.0+ghost.3"
uid "7849fe130359f765673d0eb6b3355100f94129d2"
version "2.0.0"
resolved "https://codeload.github.com/TryGhost/ember-promise-modals/tar.gz/7849fe130359f765673d0eb6b3355100f94129d2"
dependencies:
"@ember/test-waiters" "^3.0.0"
@ -7172,10 +7234,10 @@ ember-source-channel-url@^2.0.1:
dependencies:
got "^8.0.1"
ember-source@3.21.3:
version "3.21.3"
resolved "https://registry.yarnpkg.com/ember-source/-/ember-source-3.21.3.tgz#c85fae070566468a1e479b1817bc690fe3d03207"
integrity sha512-wb9vkm2OLax7D6zo5NqB4/Da78LIsa8t74XGPcHtCg4hv5NhipIIgQEtGgWRgdQAp+vMMeZGwNWxw0Lra8MejA==
ember-source@3.22.1:
version "3.22.1"
resolved "https://registry.yarnpkg.com/ember-source/-/ember-source-3.22.1.tgz#41ab15534f3936454321698d176fc28221f27b90"
integrity sha512-wcevt5CIOQFOv69Cd/EfoyK7+w2PirBJt5ZoTLnVqYliJWktTbF6T2awz6IABNT/Lm+WrDOCEWGtykbQ2k0Kdg==
dependencies:
"@babel/helper-module-imports" "^7.8.3"
"@babel/plugin-transform-block-scoping" "^7.8.3"
@ -7985,6 +8047,11 @@ extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
extract-stack@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b"
integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
@ -8086,10 +8153,10 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
faye-websocket@~0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=
faye-websocket@^0.11.3:
version "0.11.4"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da"
integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==
dependencies:
websocket-driver ">=0.5.1"
@ -8848,7 +8915,6 @@ gonzales-pe@4.2.4:
"google-caja-bower@https://github.com/acburdine/google-caja-bower#ghost":
version "6011.0.0"
uid "275cb75249f038492094a499756a73719ae071fd"
resolved "https://github.com/acburdine/google-caja-bower#275cb75249f038492094a499756a73719ae071fd"
got@^8.0.1:
@ -9121,11 +9187,14 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
heimdalljs-fs-monitor@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/heimdalljs-fs-monitor/-/heimdalljs-fs-monitor-0.2.3.tgz#1aedd4b1c61d86c51f6141fb75c5a3350dc41b15"
integrity sha512-fYAvqSP0CxeOjLrt61B4wux/jqZzdZnS2xfb2oc14NP6BTZ8gtgtR2op6gKFakOR8lm8GN9Xhz1K4A1ZvJ4RQw==
heimdalljs-fs-monitor@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/heimdalljs-fs-monitor/-/heimdalljs-fs-monitor-1.1.1.tgz#bb4021007e88484202402cdf594e3962d70dc4f4"
integrity sha512-BHB8oOXLRlrIaON0MqJSEjGVPDyqt2Y6gu+w2PaEZjrCxeVtZG7etEZp7M4ZQ80HNvnr66KIQ2lot2qdeG8HgQ==
dependencies:
callsites "^3.1.0"
clean-stack "^2.2.0"
extract-stack "^2.0.0"
heimdalljs "^0.2.3"
heimdalljs-logger "^0.1.7"
@ -9725,7 +9794,7 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
is-language-code@^1.0.9:
is-language-code@^1.0.12:
version "1.0.13"
resolved "https://registry.yarnpkg.com/is-language-code/-/is-language-code-1.0.13.tgz#599988536481315914e2b4b35d3eac6dfadd933c"
integrity sha512-yEJ8Am1oh+bp596dgtfVFrYzx7d3W3k6LZDSLL3fBgk+YI30zT+tYO/pdNimONtCLc4pAmnCvE6s+aNxMOAmlQ==
@ -10210,7 +10279,6 @@ just-extend@^4.0.2:
"keymaster@https://github.com/madrobby/keymaster.git":
version "1.6.3"
uid f8f43ddafad663b505dc0908e72853bcf8daea49
resolved "https://github.com/madrobby/keymaster.git#f8f43ddafad663b505dc0908e72853bcf8daea49"
keyv@3.0.0:
@ -10336,10 +10404,10 @@ liquid-wormhole@2.1.5:
ember-getowner-polyfill "^2.0.1"
perf-primitives "^0.0.6"
livereload-js@^2.3.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c"
integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==
livereload-js@^3.3.1:
version "3.3.2"
resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-3.3.2.tgz#c88b009c6e466b15b91faa26fd7c99d620e12651"
integrity sha512-w677WnINxFkuixAoUEXOStewzLYGI76XVag+0JWMMEyjJQKs0ibWZMxkTlB96Lm3EjZ7IeOxVziBEbtxVQqQZA==
loader-runner@^2.4.0:
version "2.4.0"
@ -13811,7 +13879,6 @@ simple-swizzle@^0.2.2:
"simplemde@https://github.com/kevinansfield/simplemde-markdown-editor.git#ghost":
version "1.11.2"
uid "4c39702de7d97f9b32d5c101f39237b6dab7c3ee"
resolved "https://github.com/kevinansfield/simplemde-markdown-editor.git#4c39702de7d97f9b32d5c101f39237b6dab7c3ee"
sinon@^9.0.0:
@ -13930,7 +13997,7 @@ sort-object-keys@^1.1.3:
resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45"
integrity sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==
sort-package-json@^1.44.0:
sort-package-json@^1.46.0:
version "1.53.1"
resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-1.53.1.tgz#8f2672b06314cf04d9a6bcefc75a5f38d600b811"
integrity sha512-ltLORrQuuPMpy23YkWCA8fO7zBOxM4P1j9LcGxci4K2Fk8jmSyCA/ATU6CFyy8qR2HQRx4RBYWzoi78FU/Anuw==
@ -14620,15 +14687,15 @@ tiny-emitter@^2.1.0:
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
tiny-lr@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab"
integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==
tiny-lr@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-2.0.0.tgz#863659d7ce1ed201a117d8197d7f8b9a27bdc085"
integrity sha512-f6nh0VMRvhGx4KCeK1lQ/jaL0Zdb5WdR+Jk8q9OSUQnaSDxAEGH1fgqLZ+cMl5EW3F2MGnCsalBO1IsnnogW1Q==
dependencies:
body "^5.1.0"
debug "^3.1.0"
faye-websocket "~0.10.0"
livereload-js "^2.3.0"
faye-websocket "^0.11.3"
livereload-js "^3.3.1"
object-assign "^4.1.0"
qs "^6.4.0"
@ -15514,6 +15581,11 @@ workerpool@^6.0.0:
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.5.tgz#0f7cf076b6215fd7e1da903ff6f22ddd1886b581"
integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==
workerpool@^6.0.1:
version "6.2.0"
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b"
integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==
wrap-legacy-hbs-plugin-if-needed@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wrap-legacy-hbs-plugin-if-needed/-/wrap-legacy-hbs-plugin-if-needed-1.0.1.tgz#6683eb74747f33e7caea54bb2ed85106ef9006b4"