From cbe994bbad097794d5cc9ea459ea3f87b32d4b2d Mon Sep 17 00:00:00 2001 From: sagarokcredit Date: Tue, 12 Jan 2021 14:23:30 +0530 Subject: [PATCH 1/7] feat(signup.js): Patch user details API integrated --- README.md | 20 +- _redirects | 1 + app/components/form-input.js | 13 +- app/controllers/signup.js | 259 +-- app/templates/index.hbs | 1 + app/templates/signup.hbs | 31 +- package-lock.json | 2875 +++++++++++++++++++--------------- package.json | 44 +- 8 files changed, 1783 insertions(+), 1461 deletions(-) create mode 100644 _redirects create mode 100644 app/templates/index.hbs diff --git a/README.md b/README.md index bbc0b4a..9ee1a50 100644 --- a/README.md +++ b/README.md @@ -20,18 +20,29 @@ You will need the following things properly installed on your computer. ## Running / Development -* `ember serve` +* `npm run dev` +* (or `ember s`) * Visit your app at [http://localhost:4200](http://localhost:4200). * Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests). +> ℹ️ Use `npx` command to run the installed ember version locally. + ### Code Generators Make use of the many generators for code, try `ember help generate` for more details ### Running Tests -* `ember test` -* `ember test --server` +* `npm test` +* `npm run test:ember` +* `npm run test:ember:server` +* (or `ember test` and `ember test --server`) +* You can also visit the `/tests` route when running dev server + +### Available run commands + +* `npx ntl` +* (or `npm run` to see the list) ### Linting @@ -41,8 +52,9 @@ Make use of the many generators for code, try `ember help generate` for more det ### Building +* `npm run build` (production) +* (or `ember build --environment production`) * `ember build` (development) -* `ember build --environment production` (production) ### Deploying diff --git a/_redirects b/_redirects new file mode 100644 index 0000000..7797f7c --- /dev/null +++ b/_redirects @@ -0,0 +1 @@ +/* /index.html 200 diff --git a/app/components/form-input.js b/app/components/form-input.js index 6cc4ec7..499fece 100644 --- a/app/components/form-input.js +++ b/app/components/form-input.js @@ -1,17 +1,14 @@ -import Component from '@glimmer/component'; -import { action } from '@ember/object'; +import Component from "@glimmer/component"; +import { action } from "@ember/object"; export default class FormInputComponent extends Component { @action inputFieldChanged(event) { - const { - id, - onChange, - validator - } = this.args; + const { id, onChange, validator } = this.args; const value = event.target.value; + if (validator) { - validator(value) + validator(value); } onChange(id, value, validator); } diff --git a/app/controllers/signup.js b/app/controllers/signup.js index af5db04..7f54740 100644 --- a/app/controllers/signup.js +++ b/app/controllers/signup.js @@ -1,194 +1,219 @@ -import Controller from '@ember/controller'; -import { tracked } from '@glimmer/tracking'; -import { action, set } from '@ember/object'; +import Controller from "@ember/controller"; +import { tracked } from "@glimmer/tracking"; +import { action, set } from "@ember/object"; +import HistoryLocation from "@ember/routing/history-location"; + +// const BASE_URL = "https://staging-api.realdevsquad.com"; +const BASE_URL = "http://localhost:3000"; export default class SignupController extends Controller { - @tracked isSubmitDisabled = true - @tracked title = 'Account Details' + @tracked isSubmitDisabled = true; + @tracked title = "Account Details"; @tracked formData = { - firstName: '', - lastName: '', - username: '', - email: '', - phoneNumber: '', - experience: '', - companyName: '', - designation: '', - github: '', - linkedIn: '', - twitter: '', + first_name: "", + last_name: "", + username: "", + email: "", + phone_number: "", + yoe: "", + company_name: "", + designation: "", + github_id: "", + linkedin_id: "", + twitter_id: "", }; @tracked formErrors = { - firstName: false, - lastName: false, + first_name: false, + last_name: false, username: false, email: false, - phoneNumber: false, - experience: false, - companyName: false, + phone_number: false, + yoe: false, + company_name: false, designation: false, - github: false, - linkedIn: false, - twitter: false, + github_id: false, + linkedin_id: false, + twitter_id: false, }; @tracked fields = [ { - id: 'firstName', - label: 'First Name', - type: 'text', - errorMessage: 'First name is required', + id: "first_name", + label: "First Name", + type: "text", + errorMessage: "First name is required", required: true, - showError: false + showError: false, }, { - id: 'lastName', - label: 'Last Name', - type: 'text', - errorMessage: 'Last name is required', + id: "last_name", + label: "Last Name", + type: "text", + errorMessage: "Last name is required", required: true, - showError: false + showError: false, }, { - id: 'username', - label: 'Choose a username', - type: 'text', - errorMessage: 'Username is required', + id: "username", + label: "Choose a username", + type: "text", + errorMessage: "Username is required", required: true, - showError: false + showError: false, }, { - id: 'email', - label: 'Email', - type: 'email', - errorMessage: 'Valid Email is required', + id: "email", + label: "Email", + type: "email", + errorMessage: "Valid Email is required", required: true, showError: false, - validator: this.emailValidator + validator: this.emailValidator, }, { - id: 'phoneNumber', - label: 'Phone Number', - type: 'string', - value: '+91-', - errorMessage: 'Enter a valid phone number', + id: "phone_number", + label: "Phone Number", + type: "string", + value: "+91-", + errorMessage: "Enter a valid phone number", required: false, showError: false, - validator: this.phoneNumberValidator + validator: this.phone_numberValidator, }, { - id: 'experience', - label: 'Experience', - type: 'number', - errorMessage: 'Number of experience is required', + id: "yoe", + label: "yoe", + type: "number", + errorMessage: "Number of yoe is required", required: true, - showError: false + showError: false, }, { - id: 'companyName', - label: 'Company Name ', - type: 'text', - errorMessage: '', + id: "company_name", + label: "Company Name ", + type: "text", + errorMessage: "", required: false, - showError: false + showError: false, }, { - id: 'designation', - label: 'Designation ', - type: 'text', - errorMessage: '', + id: "designation", + label: "Designation ", + type: "text", + errorMessage: "", required: false, - showError: false + showError: false, }, { - id: 'github', - label: 'Github ', - type: 'text', - errorMessage: 'GitHub username is required', + id: "github_id", + label: "Github_id ", + type: "text", + errorMessage: "GitHub_id username is required", required: true, - showError: false + showError: false, }, { - id: 'linkedIn', - label: 'LinkedIn ', - type: 'text', - errorMessage: 'LinkedIn username is required', + id: "linkedin_id", + label: "linkedin_id ", + type: "text", + errorMessage: "linkedin_id username is required", required: true, - showError: false + showError: false, }, { - id: 'twitter', - label: 'Twitter ', - type: 'text', - errorMessage: 'Twitter handle is required', + id: "twitter_id", + label: "twitter_id ", + type: "text", + errorMessage: "twitter_id handle is required", required: true, - showError: false + showError: false, }, { - id: 'website', - label: 'Website ', - type: 'text', - errorMessage: '', + id: "website", + label: "Website ", + type: "text", + errorMessage: "", required: false, - showError: false + showError: false, }, - ] + ]; @action handleFieldChange(name, value) { - const index = this.fields.findIndex(field => field.id === name) - - set(this.formData, name, value) - + const index = this.fields.findIndex((field) => field.id === name); + set(this.formData, name, value); + if (this.fields[index].required && !value) { - this.isSubmitDisabled = true - return set(this.fields[index], 'showError', true) + this.isSubmitDisabled = true; + set(this.fields[index], "showError", true); } else if (!this.fields[index].validator) { - return set(this.fields[index], 'showError', false) + set(this.fields[index], "showError", false); } - const anyErrors = this.fields.reduce((prev, field) => { - if (prev) { - return prev + const anyErrors = this.fields.map((field) => { + if (field.required && this.formData[field.id] === "") { + return true; } - if (field.required && this.formData[field.id] === '') { - return true - } - return false - }, false) + return false; + }); - if (anyErrors) { - this.isSubmitDisabled = true + if (anyErrors.filter(Boolean).length) { + this.isSubmitDisabled = true; + } else { + this.isSubmitDisabled = false; } } - @action phoneNumberValidator(phoneNumber) { - if (typeof phoneNumber !== 'string'){ return false } + @action phoneNumberValidator(phone_number) { + if (typeof phone_number !== "string") { + return false; + } - const pattern=/^(0|[+91]{3})?[7-9][0-9]{9}$/; - const index = this.fields.findIndex((field) => field.id === 'phoneNumber') + const pattern = /^(0|[+91]{3})?[7-9][0-9]{9}$/; + const index = this.fields.findIndex((field) => field.id === "phone_number"); - if (pattern.test(phoneNumber)) { - set(this.fields[index], 'showError', false); + if (pattern.test(phone_number)) { + set(this.fields[index], "showError", false); } else { - set(this.fields[index], 'showError', true); + set(this.fields[index], "showError", true); } } @action emailValidator(email) { - if (typeof email !== 'string') return false; - - const pattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ - const index = this.fields.findIndex((field) => field.type === 'email') + if (typeof email !== "string") return false; + + const pattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; + const index = this.fields.findIndex((field) => field.type === "email"); if (pattern.test(email)) { - set(this.fields[index], 'showError', false); + set(this.fields[index], "showError", false); } else { - set(this.fields[index], 'showError', true); + set(this.fields[index], "showError", true); } + return; } - @action handleSubmit() { + @action async handleSubmit(e) { // submit + // https://github.com/Real-Dev-Squad/website-api-contracts/tree/main/users#patch-usersself + e.preventDefault(); + try { + const response = await fetch(`${BASE_URL}/users/self`, { + method: "PATCH", + body: JSON.stringify(this.formData), + headers: { + "Content-Type": "application/json", + }, + credentials: "include", + }); + const data = await response.json(); + const { statusCode } = data; + if (statusCode === 204) { + return window.open("https://www.realdevsquad.com/goto", "_self"); + } + alert("Something went wrong"); + } catch (error) { + console.log("Error : ", error); + } } } diff --git a/app/templates/index.hbs b/app/templates/index.hbs new file mode 100644 index 0000000..cd66b62 --- /dev/null +++ b/app/templates/index.hbs @@ -0,0 +1 @@ +Index page works! \ No newline at end of file diff --git a/app/templates/signup.hbs b/app/templates/signup.hbs index 1005156..c76ee90 100644 --- a/app/templates/signup.hbs +++ b/app/templates/signup.hbs @@ -1,27 +1,38 @@

{{this.title}}

{{#each this.fields as |field|}} + {{#let this.formData as | myFormData |}} + {{/let}} {{/each}} - + {{#if this.isSubmitDisabled }} + + {{else}} + + {{/if}} {{outlet}} diff --git a/package-lock.json b/package-lock.json index 3012a27..a57f80b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1194,14 +1194,15 @@ } }, "@ember-data/adapter": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@ember-data/adapter/-/adapter-3.23.0.tgz", - "integrity": "sha512-bk2UoaAUukZelnXvkwIZ4d7V55UtRJZQWw2eYld/Eeu5erDLKA6+28bOBv96aXovmeEooI1Qi5tfAmQGZD8BNA==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@ember-data/adapter/-/adapter-3.24.0.tgz", + "integrity": "sha512-vdDvvHF2QyAfLLvJPeREAVUr3M5LsjaZDJJ6Ernf8gJDZBwYvTcYGQEk39GeCzd1Qhw8F7tUTz1DGZXQQRDCrw==", "dev": true, "requires": { - "@ember-data/private-build-infra": "3.23.0", - "@ember-data/store": "3.23.0", + "@ember-data/private-build-infra": "3.24.0", + "@ember-data/store": "3.24.0", "@ember/edition-utils": "^1.2.0", + "@ember/string": "^1.0.0", "ember-cli-babel": "^7.18.0", "ember-cli-test-info": "^1.0.0", "ember-cli-typescript": "^3.1.3" @@ -1330,9 +1331,9 @@ } }, "@ember-data/canary-features": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@ember-data/canary-features/-/canary-features-3.23.0.tgz", - "integrity": "sha512-vATwZTAtHTu7LRulI6vNj2DLjeUsJlNpdCtIq1KnX41Ho/sJirpod4y9roExi9xQQgttnvpxl+yBa0Bpnp6wqA==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@ember-data/canary-features/-/canary-features-3.24.0.tgz", + "integrity": "sha512-49vhKL0pCfgK1maZofrZqKu1L0JGwDK/cjX5Z6NgY6495OFUuTUxIY8nobHRJRtVE3olLMh3YBQg0i7Iv1dKgw==", "dev": true, "requires": { "ember-cli-babel": "^7.18.0", @@ -1462,13 +1463,14 @@ } }, "@ember-data/debug": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@ember-data/debug/-/debug-3.23.0.tgz", - "integrity": "sha512-wU9rnYQIfPihHIUYk8Jy/RuzsO9UVM4N0iEkTsIYeoyYuCXWM+LEY8q6SyX27G/Mxd8AXzqYsLlQWnwzOhL3wQ==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@ember-data/debug/-/debug-3.24.0.tgz", + "integrity": "sha512-+3YZkr7NBRs7mgi6XayCIpjv+EmfmGwuvBQ96cMBzKSGRPyI1swhM59WVP1fobLECAnCNb1pX0Mx484rT5L2kw==", "dev": true, "requires": { - "@ember-data/private-build-infra": "3.23.0", + "@ember-data/private-build-infra": "3.24.0", "@ember/edition-utils": "^1.2.0", + "@ember/string": "^1.0.0", "ember-cli-babel": "^7.18.0", "ember-cli-test-info": "^1.0.0", "ember-cli-typescript": "^3.1.3" @@ -1597,15 +1599,16 @@ } }, "@ember-data/model": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@ember-data/model/-/model-3.23.0.tgz", - "integrity": "sha512-hCww1CRZQRjIKWRBF+Ew8+9viwrrhXV2vaKlIPdoxbZ+c3AnSHMEpnrxbEcmgoHb4QonXml2NtjlHmjsswuZjA==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@ember-data/model/-/model-3.24.0.tgz", + "integrity": "sha512-lW4+35TQj6cyPNh5MxVxHHQaauQIhaCuHQYgpMinw7hPCaVhVhm1RhW5Zem6YJA/iDB7+4ffNSJZamb3jBZ8aA==", "dev": true, "requires": { - "@ember-data/canary-features": "3.23.0", - "@ember-data/private-build-infra": "3.23.0", - "@ember-data/store": "3.23.0", + "@ember-data/canary-features": "3.24.0", + "@ember-data/private-build-infra": "3.24.0", + "@ember-data/store": "3.24.0", "@ember/edition-utils": "^1.2.0", + "@ember/string": "^1.0.0", "ember-cli-babel": "^7.18.0", "ember-cli-string-utils": "^1.1.0", "ember-cli-test-info": "^1.0.0", @@ -1737,13 +1740,13 @@ } }, "@ember-data/private-build-infra": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@ember-data/private-build-infra/-/private-build-infra-3.23.0.tgz", - "integrity": "sha512-p8c2+N/P698J90/Zy+i9vklmqqnDrgcsmhAyGrWleLXD9TOyVNh9nH2ENNgrmBf7UY32nAAOC/VoDGngYLZZ7g==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@ember-data/private-build-infra/-/private-build-infra-3.24.0.tgz", + "integrity": "sha512-SEJ+hdjVK5y0NM6DpkSVKHqCxOvR2QXPQdJ0PXxbgFTxhyq4jGqT8N1Rl1zRKr9mg2WXFFwt4Lg9SBlYjqVHWg==", "dev": true, "requires": { "@babel/plugin-transform-block-scoping": "^7.8.3", - "@ember-data/canary-features": "3.23.0", + "@ember-data/canary-features": "3.24.0", "@ember/edition-utils": "^1.2.0", "babel-plugin-debug-macros": "^0.3.3", "babel-plugin-filter-imports": "^4.0.0", @@ -1929,16 +1932,16 @@ } }, "@ember-data/record-data": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@ember-data/record-data/-/record-data-3.23.0.tgz", - "integrity": "sha512-8eLKTCUfwqfls0cqXgvetk0tVOS8wyvEeNQfTVJ3AlSgjqQl8XMUcr0jQ0T+ZD0r1bsUrCLRdSQud2mqbFuuaQ==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@ember-data/record-data/-/record-data-3.24.0.tgz", + "integrity": "sha512-hlk86tXo6v0h6JXg4B9OPl0lYWMHVNsoZ6i0qpmBHKuZKBI5cNmbmkPx9L2rs4lawy6Vf7NuYCm+QfuyG1IqCA==", "dev": true, "requires": { - "@ember-data/canary-features": "3.23.0", - "@ember-data/private-build-infra": "3.23.0", - "@ember-data/store": "3.23.0", + "@ember-data/canary-features": "3.24.0", + "@ember-data/private-build-infra": "3.24.0", + "@ember-data/store": "3.24.0", "@ember/edition-utils": "^1.2.0", - "@ember/ordered-set": "^2.0.3", + "@ember/ordered-set": "^4.0.0", "ember-cli-babel": "^7.18.0", "ember-cli-test-info": "^1.0.0", "ember-cli-typescript": "^3.1.3" @@ -2073,13 +2076,13 @@ "dev": true }, "@ember-data/serializer": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@ember-data/serializer/-/serializer-3.23.0.tgz", - "integrity": "sha512-WzEOx9J2B2cq2lSIXMuKc2rxZCL8zePS0h8b5WMahgjGut2M45HCNun+yPX9DNVr0jSvrK1N5kEsJ9sj+Nraqw==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@ember-data/serializer/-/serializer-3.24.0.tgz", + "integrity": "sha512-nUCVJzIlTFQPVKqiODEZA6i7daPlnsPlWHyOOqcNbYnARTUCgRe8cnjehGtijYSrjXhvfy4iA7cPbw08dmtOhQ==", "dev": true, "requires": { - "@ember-data/private-build-infra": "3.23.0", - "@ember-data/store": "3.23.0", + "@ember-data/private-build-infra": "3.24.0", + "@ember-data/store": "3.24.0", "ember-cli-babel": "^7.18.0", "ember-cli-test-info": "^1.0.0", "ember-cli-typescript": "^3.1.3" @@ -2208,13 +2211,14 @@ } }, "@ember-data/store": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@ember-data/store/-/store-3.23.0.tgz", - "integrity": "sha512-pshDJfh6BZNtOaCMJma8sOazDqatssrU8W5zGptDW3begfPzNmnrW0eeF+SBndtvyO04Ap72xFHOWE7YGXC0PQ==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@ember-data/store/-/store-3.24.0.tgz", + "integrity": "sha512-eyzHvqBDcQ/iVhYL82rP6YDiXy6H6w/ULGCwU8dr0ZAIDSKrWm5Nu4O3pSuhzNgxRTTE3JDCmMRDnGyeCJKKUQ==", "dev": true, "requires": { - "@ember-data/canary-features": "3.23.0", - "@ember-data/private-build-infra": "3.23.0", + "@ember-data/canary-features": "3.24.0", + "@ember-data/private-build-infra": "3.24.0", + "@ember/string": "^1.0.0", "ember-cli-babel": "^7.18.0", "ember-cli-path-utils": "^1.0.0", "ember-cli-typescript": "^3.1.3", @@ -2381,190 +2385,271 @@ } }, "@ember/ordered-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@ember/ordered-set/-/ordered-set-2.0.3.tgz", - "integrity": "sha512-F4yfVk6WMc4AUHxeZsC3CaKyTvO0qSZJy7WWHCFTlVDQw6vubn+FvnGdhzpN1F00EiXMI4Tv1tJdSquHcCnYrA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ember/ordered-set/-/ordered-set-4.0.0.tgz", + "integrity": "sha512-cUCcme4R5H37HyK8w0qzdG5+lpb3XVr2RQHLyWEP4JsKI66Ob4tizoJOs8rb/XdHCv+F5WeA321hfPMi3DrZbg==", "dev": true, "requires": { - "ember-cli-babel": "^6.16.0", + "ember-cli-babel": "^7.22.1", "ember-compatibility-helpers": "^1.1.1" + } + }, + "@ember/string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@ember/string/-/string-1.0.0.tgz", + "integrity": "sha512-KZ+CcIXFdyIBMztxDMgza4SdLJgIeUgTjDAoHk6M50C2u1X/BK7KWUIN7MIK2LNTOMvbib9lWwEzKboxdI4lBw==", + "dev": true, + "requires": { + "ember-cli-babel": "^7.4.0" + } + }, + "@ember/test-helpers": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@ember/test-helpers/-/test-helpers-2.1.4.tgz", + "integrity": "sha512-CcDAWfzYE4r1YApufPPINm0IZL223yv/JiG61rjZr0KPyGBCOWjA9b//bY+jdAwZIEsmoMDfMbSS3p1u3c6i5w==", + "dev": true, + "requires": { + "@ember/test-waiters": "^2.3.2", + "broccoli-debug": "^0.6.5", + "broccoli-funnel": "^3.0.3", + "ember-auto-import": "^1.10.0", + "ember-cli-babel": "^7.22.1", + "ember-cli-htmlbars": "^5.2.0", + "ember-destroyable-polyfill": "^2.0.2", + "es6-promise": "^4.2.8" }, "dependencies": { - "amd-name-resolver": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", - "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", + "broccoli-funnel": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-3.0.3.tgz", + "integrity": "sha512-LPzZ91BwStoHZXdXHQAJeYORl189OrRKM5NdIi86SDU9wZ4s/3lV1PRFOiobDT/jKM10voM7CDzfvicHbCYxAQ==", "dev": true, "requires": { - "ensure-posix-path": "^1.0.1" + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^4.0.1", + "debug": "^4.1.1", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^2.0.1", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "path-posix": "^1.0.0", + "walk-sync": "^2.0.2" } }, - "babel-plugin-debug-macros": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.2.0.tgz", - "integrity": "sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==", + "broccoli-plugin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.3.tgz", + "integrity": "sha512-CtAIEYq5K+4yQv8c/BHymOteuyjDAJfvy/asu4LudIWcMSS7dTn3yGI5gNBkwHG+qlRangYkHJNVAcDZMQbSVQ==", "dev": true, "requires": { - "semver": "^5.3.0" + "broccoli-node-api": "^1.6.0", + "broccoli-output-wrapper": "^3.2.1", + "fs-merger": "^3.1.0", + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^3.0.0", + "symlink-or-copy": "^1.3.0" } }, - "babel-plugin-ember-modules-api-polyfill": { - "version": "2.13.4", - "resolved": "https://registry.npmjs.org/babel-plugin-ember-modules-api-polyfill/-/babel-plugin-ember-modules-api-polyfill-2.13.4.tgz", - "integrity": "sha512-uxQPkEQAzCYdwhZk16O9m1R4xtCRNy4oEUTBrccOPfzlIahRZJic/JeP/ZEL0BC6Mfq6r55eOg6gMF/zdFoCvA==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ember-rfc176-data": "^0.3.13" + "ms": "2.1.2" } }, - "broccoli-babel-transpiler": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.1.tgz", - "integrity": "sha512-w6GcnkxvHcNCte5FcLGEG1hUdQvlfvSN/6PtGWU/otg69Ugk8rUk51h41R0Ugoc+TNxyeFG1opRt2RlA87XzNw==", + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", "dev": true, "requires": { - "babel-core": "^6.26.0", - "broccoli-funnel": "^2.0.1", - "broccoli-merge-trees": "^2.0.0", - "broccoli-persistent-filter": "^1.4.3", - "clone": "^2.0.0", - "hash-for-dep": "^1.2.3", + "@types/symlink-or-copy": "^1.2.0", "heimdalljs-logger": "^0.1.7", - "json-stable-stringify": "^1.0.0", - "rsvp": "^4.8.2", - "workerpool": "^2.3.0" + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" } }, - "broccoli-merge-trees": { + "matcher-collection": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", - "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", "dev": true, "requires": { - "broccoli-plugin": "^1.3.0", - "merge-trees": "^1.0.1" + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" } }, - "broccoli-persistent-filter": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.6.tgz", - "integrity": "sha512-0RejLwoC95kv4kta8KAa+FmECJCK78Qgm8SRDEK7YyU0N9Cx6KpY3UCDy9WELl3mCXLN8TokNxc7/hp3lL4lfw==", + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "async-disk-cache": "^1.2.1", - "async-promise-queue": "^1.0.3", - "broccoli-plugin": "^1.0.0", - "fs-tree-diff": "^0.5.2", - "hash-for-dep": "^1.0.2", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "mkdirp": "^0.5.1", - "promise-map-series": "^0.2.1", - "rimraf": "^2.6.1", - "rsvp": "^3.0.18", - "symlink-or-copy": "^1.0.1", - "walk-sync": "^0.3.1" - }, - "dependencies": { - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", - "dev": true - } + "glob": "^7.1.3" } }, - "ember-cli-babel": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz", - "integrity": "sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA==", + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", "dev": true, "requires": { - "amd-name-resolver": "1.2.0", - "babel-plugin-debug-macros": "^0.2.0-beta.6", - "babel-plugin-ember-modules-api-polyfill": "^2.6.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.7.0", - "broccoli-babel-transpiler": "^6.5.0", - "broccoli-debug": "^0.6.4", - "broccoli-funnel": "^2.0.0", - "broccoli-source": "^1.1.0", - "clone": "^2.0.0", - "ember-cli-version-checker": "^2.1.2", - "semver": "^5.5.0" + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" } - }, - "ember-cli-version-checker": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", - "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", + } + } + }, + "@ember/test-waiters": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@ember/test-waiters/-/test-waiters-2.3.2.tgz", + "integrity": "sha512-4zDQd14br6VzvBf0PD/dm6Vg9nG33WUW14UGI26k+iOGG9iY++pHL5+PnrvCxxrZ9867EPTULy8K2oneenAtSw==", + "dev": true, + "requires": { + "calculate-cache-key-for-tree": "^2.0.0", + "ember-cli-babel": "^7.21.0", + "ember-cli-typescript": "^3.1.4", + "ember-cli-version-checker": "^5.1.1", + "semver": "^7.3.2" + }, + "dependencies": { + "@babel/plugin-transform-typescript": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.8.7.tgz", + "integrity": "sha512-7O0UsPQVNKqpHeHLpfvOG4uXmlw+MOxYvUv6Otc9uH5SYMIxvF6eBdjkWvC3f9G+VXe0RsNExyAQBeTRug/wqQ==", "dev": true, "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" + "@babel/helper-create-class-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-typescript": "^7.8.3" } }, - "merge-trees": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", - "integrity": "sha1-zL5nRWl4f53vF/1G5lJfVwC70j4=", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "can-symlink": "^1.0.0", - "fs-tree-diff": "^0.5.4", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0" + "ms": "2.1.2" } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "ember-cli-typescript": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.1.4.tgz", + "integrity": "sha512-HJ73kL45OGRmIkPhBNFt31I1SGUvdZND+LCH21+qpq3pPlFpJG8GORyXpP+2ze8PbnITNLzwe5AwUrpyuRswdQ==", "dev": true, "requires": { - "minimist": "^1.2.5" + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.4.4", + "@babel/plugin-proposal-optional-chaining": "^7.6.0", + "@babel/plugin-transform-typescript": "~7.8.0", + "ansi-to-html": "^0.6.6", + "broccoli-stew": "^3.0.0", + "debug": "^4.0.0", + "ember-cli-babel-plugin-helpers": "^1.0.0", + "execa": "^3.0.0", + "fs-extra": "^8.0.0", + "resolve": "^1.5.0", + "rsvp": "^4.8.1", + "semver": "^6.3.0", + "stagehand": "^1.0.0", + "walk-sync": "^2.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "workerpool": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-2.3.3.tgz", - "integrity": "sha512-L1ovlYHp6UObYqElXXpbd214GgbEKDED0d3sj7pRdFXjNkb2+un/AUcCkceHizO0IVI6SOGGncrcjozruCkRgA==", + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", "dev": true, "requires": { - "object-assign": "4.1.1" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "matcher-collection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" } } } }, - "@ember/test-helpers": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@ember/test-helpers/-/test-helpers-1.7.2.tgz", - "integrity": "sha512-FEJBpbFNIaWAsCSnataiNwYFvmcpoymL/B7fXLruuJ/46BnJjzLaRPtpUIZ91w4GNTK6knxbHWXW76aVb3Aezg==", - "dev": true, - "requires": { - "broccoli-debug": "^0.6.5", - "broccoli-funnel": "^2.0.2", - "ember-assign-polyfill": "^2.6.0", - "ember-cli-babel": "^7.7.3", - "ember-cli-htmlbars-inline-precompile": "^2.1.0", - "ember-test-waiters": "^1.1.1" - } - }, "@embroider/core": { "version": "0.33.0", "resolved": "https://registry.npmjs.org/@embroider/core/-/core-0.33.0.tgz", @@ -3150,15 +3235,6 @@ "integrity": "sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==", "dev": true }, - "@types/acorn": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.5.tgz", - "integrity": "sha512-603sPiZ4GVRHPvn6vNgEAvJewKsy+zwRWYS2MeIMemgoAtcjlw2G3lALxrb9OPA17J28bkB71R33yXlQbUatCA==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, "@types/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", @@ -3271,6 +3347,12 @@ "integrity": "sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==", "dev": true }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, "@types/qs": { "version": "6.9.5", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz", @@ -3509,9 +3591,9 @@ "dev": true }, "abortcontroller-polyfill": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.5.0.tgz", - "integrity": "sha512-O6Xk757Jb4o0LMzMOMdWvxpHWrQzruYBaUruFaIOfAQRnWFxfdXYobw12jrVHGtoXk6WiiyYzc0QWN9aL62HQA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.1.tgz", + "integrity": "sha512-yml9NiDEH4M4p0G4AcPkg8AAa4mF3nfYF28VQxaokpO67j9H7gWgmsVWJ/f1Rn+PzsnDYvzJzWIQzCqDKRvWlA==", "dev": true }, "accepts": { @@ -3530,23 +3612,6 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, - "acorn-dynamic-import": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", - "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", - "dev": true, - "requires": { - "acorn": "^5.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true - } - } - }, "acorn-globals": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", @@ -3683,6 +3748,12 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, "are-we-there-yet": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", @@ -5011,6 +5082,16 @@ "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bl": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", @@ -6303,19 +6384,6 @@ } } }, - "broccoli-templater": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/broccoli-templater/-/broccoli-templater-2.0.2.tgz", - "integrity": "sha512-71KpNkc7WmbEokTQpGcbGzZjUIY1NSVa3GB++KFKAfx5SZPUozCOsBlSTwxcv8TLoCAqbBnsX5AQPgg6vJ2l9g==", - "dev": true, - "requires": { - "broccoli-plugin": "^1.3.1", - "fs-tree-diff": "^0.5.9", - "lodash.template": "^4.4.0", - "rimraf": "^2.6.2", - "walk-sync": "^0.3.3" - } - }, "broccoli-terser-sourcemap": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/broccoli-terser-sourcemap/-/broccoli-terser-sourcemap-4.1.0.tgz", @@ -6719,6 +6787,12 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, "can-symlink": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/can-symlink/-/can-symlink-1.0.0.tgz", @@ -6739,18 +6813,6 @@ } } }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, "caniuse-lite": { "version": "1.0.30001173", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz", @@ -7067,6 +7129,122 @@ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -7856,15 +8034,6 @@ "whatwg-url": "^8.0.0" } }, - "date-time": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", - "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", - "dev": true, - "requires": { - "time-zone": "^1.0.0" - } - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -7874,6 +8043,12 @@ "ms": "2.0.0" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, "decimal.js": { "version": "10.2.1", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", @@ -8202,34 +8377,6 @@ } } }, - "ember-assign-polyfill": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/ember-assign-polyfill/-/ember-assign-polyfill-2.7.2.tgz", - "integrity": "sha512-hDSaKIZyFS0WRQsWzxUgO6pJPFfmcpfdM7CbGoMgYGriYbvkKn+k8zTXSKpTFVGehhSmsLE9YPqisQ9QpPisfA==", - "dev": true, - "requires": { - "ember-cli-babel": "^7.20.5", - "ember-cli-version-checker": "^2.0.0" - }, - "dependencies": { - "ember-cli-version-checker": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", - "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", - "dev": true, - "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, "ember-auto-import": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/ember-auto-import/-/ember-auto-import-1.10.1.tgz", @@ -8353,18 +8500,18 @@ } }, "ember-cli": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-3.23.0.tgz", - "integrity": "sha512-Z9WhuID3Y0u5/URolinp6AAuo3eDNVJ0P3KbyTtbTtI/+QT6sNdjWUggfwQKSGl0IrfdLzoSBnbTcBXod1eO3g==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-3.24.0.tgz", + "integrity": "sha512-dLurYpluRcE+XjCHy/JzUBcW4dBKhjmXH3zUjyof89gFjj+8EFjB0b2tqyS6buKqBasinVaX8lZZVIXYCdFtNA==", "dev": true, "requires": { - "@babel/core": "^7.12.3", + "@babel/core": "^7.12.9", "@babel/plugin-transform-modules-amd": "^7.12.1", "amd-name-resolver": "^1.3.1", "babel-plugin-module-resolver": "^4.0.0", "bower-config": "^1.4.3", "bower-endpoint-parser": "0.2.2", - "broccoli": "^3.4.2", + "broccoli": "^3.5.0", "broccoli-amd-funnel": "^2.0.1", "broccoli-babel-transpiler": "^7.8.0", "broccoli-builder": "^0.18.14", @@ -8386,7 +8533,7 @@ "clean-base-url": "^1.0.0", "compression": "^1.7.4", "configstore": "^5.0.1", - "console-ui": "^3.1.1", + "console-ui": "^3.1.2", "core-object": "^3.1.5", "dag-map": "^2.0.2", "diff": "^4.0.2", @@ -8397,14 +8544,14 @@ "ember-cli-string-utils": "^1.1.0", "ember-source-channel-url": "^3.0.0", "ensure-posix-path": "^1.1.1", - "execa": "^4.0.3", + "execa": "^4.1.0", "exit": "^0.1.2", "express": "^4.17.1", "filesize": "^6.1.0", "find-up": "^5.0.0", "find-yarn-workspace-root": "^2.0.0", "fixturify-project": "^2.1.0", - "fs-extra": "^9.0.0", + "fs-extra": "^9.0.1", "fs-tree-diff": "^2.0.1", "get-caller-file": "^2.0.5", "git-repo-info": "^2.1.1", @@ -8416,13 +8563,13 @@ "http-proxy": "^1.18.1", "inflection": "^1.12.0", "is-git-url": "^1.0.0", - "is-language-code": "^1.0.12", + "is-language-code": "^2.0.0", "isbinaryfile": "^4.0.6", "js-yaml": "^3.14.0", "json-stable-stringify": "^1.0.1", "leek": "0.0.24", "lodash.template": "^4.5.0", - "markdown-it": "^12.0.1", + "markdown-it": "^12.0.2", "markdown-it-terminal": "0.2.1", "minimatch": "^3.0.4", "morgan": "^1.10.0", @@ -8433,21 +8580,21 @@ "promise-map-series": "^0.3.0", "promise.hash.helper": "^1.0.7", "quick-temp": "^0.1.8", - "resolve": "^1.17.0", - "resolve-package-path": "^3.0.1", + "resolve": "^1.19.0", + "resolve-package-path": "^3.1.0", "sane": "^4.1.0", "semver": "^7.3.2", "silent-error": "^1.1.1", - "sort-package-json": "^1.46.0", + "sort-package-json": "^1.48.0", "symlink-or-copy": "^1.3.1", - "temp": "0.9.1", + "temp": "0.9.4", "testem": "^3.2.0", "tiny-lr": "^2.0.0", "tree-sync": "^2.1.0", "uuid": "^8.3.1", "walk-sync": "^2.2.0", "watch-detector": "^1.0.0", - "workerpool": "^6.0.2", + "workerpool": "^6.0.3", "yam": "^1.0.0" }, "dependencies": { @@ -8920,599 +9067,63 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "find-yarn-workspace-root": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz", - "integrity": "sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q==", - "dev": true, - "requires": { - "fs-extra": "^4.0.3", - "micromatch": "^3.1.4" - } - }, - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ember-cli-get-component-path-option": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz", - "integrity": "sha1-DXtZVVni+QUKvtgE8djv8bCLx3E=", - "dev": true - }, - "ember-cli-htmlbars": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-5.3.1.tgz", - "integrity": "sha512-ZjQTt44euDoqLvUkWbt1svgNCXgLzOztEbc2qqYMQvhQig416LMrWK7l3SSbNU+BtLD5UIxmwvLfF1tsO2CVyA==", - "dev": true, - "requires": { - "@ember/edition-utils": "^1.2.0", - "babel-plugin-htmlbars-inline-precompile": "^4.2.0", - "broccoli-debug": "^0.6.5", - "broccoli-persistent-filter": "^3.1.0", - "broccoli-plugin": "^4.0.3", - "common-tags": "^1.8.0", - "ember-cli-babel-plugin-helpers": "^1.1.0", - "fs-tree-diff": "^2.0.1", - "hash-for-dep": "^1.5.1", - "heimdalljs-logger": "^0.1.10", - "json-stable-stringify": "^1.0.1", - "semver": "^7.3.2", - "silent-error": "^1.1.1", - "strip-bom": "^4.0.0", - "walk-sync": "^2.2.0" - }, - "dependencies": { - "async-disk-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/async-disk-cache/-/async-disk-cache-2.1.0.tgz", - "integrity": "sha512-iH+boep2xivfD9wMaZWkywYIURSmsL96d6MoqrC94BnGSvXE4Quf8hnJiHGFYhw/nLeIa1XyRaf4vvcvkwAefg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "heimdalljs": "^0.2.3", - "istextorbinary": "^2.5.1", - "mkdirp": "^0.5.0", - "rimraf": "^3.0.0", - "rsvp": "^4.8.5", - "username-sync": "^1.0.2" - } - }, - "broccoli-persistent-filter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-3.1.2.tgz", - "integrity": "sha512-CbU95RXXVyy+eJV9XTiHUC7NnsY3EvdVrGzp3YgyvO2bzXZFE5/GzDp4X/VQqX+jsk4qyT1HvMOF0sD1DX68TQ==", - "dev": true, - "requires": { - "async-disk-cache": "^2.0.0", - "async-promise-queue": "^1.0.3", - "broccoli-plugin": "^4.0.3", - "fs-tree-diff": "^2.0.0", - "hash-for-dep": "^1.5.0", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "promise-map-series": "^0.2.1", - "rimraf": "^3.0.0", - "symlink-or-copy": "^1.0.1", - "sync-disk-cache": "^2.0.0" - } - }, - "broccoli-plugin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.3.tgz", - "integrity": "sha512-CtAIEYq5K+4yQv8c/BHymOteuyjDAJfvy/asu4LudIWcMSS7dTn3yGI5gNBkwHG+qlRangYkHJNVAcDZMQbSVQ==", - "dev": true, - "requires": { - "broccoli-node-api": "^1.6.0", - "broccoli-output-wrapper": "^3.2.1", - "fs-merger": "^3.1.0", - "promise-map-series": "^0.2.1", - "quick-temp": "^0.1.3", - "rimraf": "^3.0.0", - "symlink-or-copy": "^1.3.0" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "editions": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz", - "integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==", - "dev": true, - "requires": { - "errlop": "^2.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "fs-tree-diff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", - "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", - "dev": true, - "requires": { - "@types/symlink-or-copy": "^1.2.0", - "heimdalljs-logger": "^0.1.7", - "object-assign": "^4.1.0", - "path-posix": "^1.0.0", - "symlink-or-copy": "^1.1.8" - } - }, - "istextorbinary": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.6.0.tgz", - "integrity": "sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==", - "dev": true, - "requires": { - "binaryextensions": "^2.1.2", - "editions": "^2.2.0", - "textextensions": "^2.5.0" - } - }, - "matcher-collection": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", - "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", - "dev": true, - "requires": { - "@types/minimatch": "^3.0.3", - "minimatch": "^3.0.2" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "sync-disk-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sync-disk-cache/-/sync-disk-cache-2.1.0.tgz", - "integrity": "sha512-vngT2JmkSapgq0z7uIoYtB9kWOOzMihAAYq/D3Pjm/ODOGMgS4r++B+OZ09U4hWR6EaOdy9eqQ7/8ygbH3wehA==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "heimdalljs": "^0.2.6", - "mkdirp": "^0.5.0", - "rimraf": "^3.0.0", - "username-sync": "^1.0.2" - } - }, - "walk-sync": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", - "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", - "dev": true, - "requires": { - "@types/minimatch": "^3.0.3", - "ensure-posix-path": "^1.1.0", - "matcher-collection": "^2.0.0", - "minimatch": "^3.0.4" - } - } - } - }, - "ember-cli-htmlbars-inline-precompile": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ember-cli-htmlbars-inline-precompile/-/ember-cli-htmlbars-inline-precompile-2.1.0.tgz", - "integrity": "sha512-BylIHduwQkncPhnj0ZyorBuljXbTzLgRo6kuHf1W+IHFxThFl2xG+r87BVwsqx4Mn9MTgW9SE0XWjwBJcSWd6Q==", - "dev": true, - "requires": { - "babel-plugin-htmlbars-inline-precompile": "^1.0.0", - "ember-cli-version-checker": "^2.1.2", - "hash-for-dep": "^1.2.3", - "heimdalljs-logger": "^0.1.9", - "silent-error": "^1.1.0" - }, - "dependencies": { - "babel-plugin-htmlbars-inline-precompile": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-1.0.0.tgz", - "integrity": "sha512-4jvKEHR1bAX03hBDZ94IXsYCj3bwk9vYsn6ux6JZNL2U5pvzCWjqyrGahfsGNrhERyxw8IqcirOi9Q6WCo3dkQ==", - "dev": true - }, - "ember-cli-version-checker": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", - "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", - "dev": true, - "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "ember-cli-inject-live-reload": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-2.0.2.tgz", - "integrity": "sha512-HDD6o/kBHT/kUtazklU0OW23q2jigIN42QmcpFdXUSvJ2/2SYA6yIqSUxWfJgISmtn5gTNZ2KPq1p3dLkhJxSQ==", - "dev": true, - "requires": { - "clean-base-url": "^1.0.0", - "ember-cli-version-checker": "^3.1.3" - }, - "dependencies": { - "ember-cli-version-checker": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-3.1.3.tgz", - "integrity": "sha512-PZNSvpzwWgv68hcXxyjREpj3WWb81A7rtYNQq1lLEgrWIchF8ApKJjWP3NBpHjaatwILkZAV8klair5WFlXAKg==", - "dev": true, - "requires": { - "resolve-package-path": "^1.2.6", - "semver": "^5.6.0" - } - }, - "resolve-package-path": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-1.2.7.tgz", - "integrity": "sha512-fVEKHGeK85bGbVFuwO9o1aU0n3vqQGrezPc51JGu9UTXpFQfWq5qCeKxyaRUSvephs+06c5j5rPq/dzHGEo8+Q==", - "dev": true, - "requires": { - "path-root": "^0.1.1", - "resolve": "^1.10.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "ember-cli-is-package-missing": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-is-package-missing/-/ember-cli-is-package-missing-1.0.0.tgz", - "integrity": "sha1-bmGEyvuSY13ZPKbJRrEEKS1OM5A=", - "dev": true - }, - "ember-cli-lodash-subset": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ember-cli-lodash-subset/-/ember-cli-lodash-subset-2.0.1.tgz", - "integrity": "sha1-IMtop5D+D94kiN39jvu332/nZvI=", - "dev": true - }, - "ember-cli-normalize-entity-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz", - "integrity": "sha1-CxT3vLxZmqEXtf3cgeT9A8S61bc=", - "dev": true, - "requires": { - "silent-error": "^1.0.0" - } - }, - "ember-cli-path-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-path-utils/-/ember-cli-path-utils-1.0.0.tgz", - "integrity": "sha1-Tjmvi1UwHN3FAXc5t3qAT7ogce0=", - "dev": true - }, - "ember-cli-preprocess-registry": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ember-cli-preprocess-registry/-/ember-cli-preprocess-registry-3.3.0.tgz", - "integrity": "sha512-60GYpw7VPeB7TvzTLZTuLTlHdOXvayxjAQ+IxM2T04Xkfyu75O2ItbWlftQW7NZVGkaCsXSRAmn22PG03VpLMA==", - "dev": true, - "requires": { - "broccoli-clean-css": "^1.1.0", - "broccoli-funnel": "^2.0.1", - "debug": "^3.0.1", - "process-relative-require": "^1.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "ember-cli-sri": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ember-cli-sri/-/ember-cli-sri-2.1.1.tgz", - "integrity": "sha1-lxYgk0pLkYPPeSPMA+F4uDqpB/0=", - "dev": true, - "requires": { - "broccoli-sri-hash": "^2.1.0" - } - }, - "ember-cli-string-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz", - "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=", - "dev": true - }, - "ember-cli-terser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ember-cli-terser/-/ember-cli-terser-4.0.1.tgz", - "integrity": "sha512-vvp0uVl8reYeW9EZjSXRPR3Bq7y4u9CYlUdI7j/WzMPDj3/gUHU4Z7CHYOCrftrClQvFfqO2eXmHwDA6F7SLug==", - "dev": true, - "requires": { - "broccoli-terser-sourcemap": "^4.1.0" - } - }, - "ember-cli-test-info": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-test-info/-/ember-cli-test-info-1.0.0.tgz", - "integrity": "sha1-7U6WDySel1I8+JHkrtIHLOhFd7Q=", - "dev": true, - "requires": { - "ember-cli-string-utils": "^1.0.0" - } - }, - "ember-cli-test-loader": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ember-cli-test-loader/-/ember-cli-test-loader-2.2.0.tgz", - "integrity": "sha512-mlSXX9SciIRwGkFTX6XGyJYp4ry6oCFZRxh5jJ7VH8UXLTNx2ZACtDTwaWtNhYrWXgKyiDUvmD8enD56aePWRA==", - "dev": true, - "requires": { - "ember-cli-babel": "^6.8.1" - }, - "dependencies": { - "amd-name-resolver": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.2.0.tgz", - "integrity": "sha512-hlSTWGS1t6/xq5YCed7YALg7tKZL3rkl7UwEZ/eCIkn8JxmM6fU6Qs/1hwtjQqfuYxlffuUcgYEm0f5xP4YKaA==", - "dev": true, - "requires": { - "ensure-posix-path": "^1.0.1" - } - }, - "babel-plugin-debug-macros": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.2.0.tgz", - "integrity": "sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==", - "dev": true, - "requires": { - "semver": "^5.3.0" - } - }, - "babel-plugin-ember-modules-api-polyfill": { - "version": "2.13.4", - "resolved": "https://registry.npmjs.org/babel-plugin-ember-modules-api-polyfill/-/babel-plugin-ember-modules-api-polyfill-2.13.4.tgz", - "integrity": "sha512-uxQPkEQAzCYdwhZk16O9m1R4xtCRNy4oEUTBrccOPfzlIahRZJic/JeP/ZEL0BC6Mfq6r55eOg6gMF/zdFoCvA==", - "dev": true, - "requires": { - "ember-rfc176-data": "^0.3.13" - } - }, - "broccoli-babel-transpiler": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.5.1.tgz", - "integrity": "sha512-w6GcnkxvHcNCte5FcLGEG1hUdQvlfvSN/6PtGWU/otg69Ugk8rUk51h41R0Ugoc+TNxyeFG1opRt2RlA87XzNw==", - "dev": true, - "requires": { - "babel-core": "^6.26.0", - "broccoli-funnel": "^2.0.1", - "broccoli-merge-trees": "^2.0.0", - "broccoli-persistent-filter": "^1.4.3", - "clone": "^2.0.0", - "hash-for-dep": "^1.2.3", - "heimdalljs-logger": "^0.1.7", - "json-stable-stringify": "^1.0.0", - "rsvp": "^4.8.2", - "workerpool": "^2.3.0" - } - }, - "broccoli-merge-trees": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.1.tgz", - "integrity": "sha512-WjaexJ+I8BxP5V5RNn6um/qDRSmKoiBC/QkRi79FT9ClHfldxRyCDs9mcV7mmoaPlsshmmPaUz5jdtcKA6DClQ==", - "dev": true, - "requires": { - "broccoli-plugin": "^1.3.0", - "merge-trees": "^1.0.1" - } - }, - "broccoli-persistent-filter": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.6.tgz", - "integrity": "sha512-0RejLwoC95kv4kta8KAa+FmECJCK78Qgm8SRDEK7YyU0N9Cx6KpY3UCDy9WELl3mCXLN8TokNxc7/hp3lL4lfw==", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "async-disk-cache": "^1.2.1", - "async-promise-queue": "^1.0.3", - "broccoli-plugin": "^1.0.0", - "fs-tree-diff": "^0.5.2", - "hash-for-dep": "^1.0.2", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "mkdirp": "^0.5.1", - "promise-map-series": "^0.2.1", - "rimraf": "^2.6.1", - "rsvp": "^3.0.18", - "symlink-or-copy": "^1.0.1", - "walk-sync": "^0.3.1" - }, - "dependencies": { - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", - "dev": true - } + "color-convert": "^1.9.0" } }, - "ember-cli-babel": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz", - "integrity": "sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA==", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "amd-name-resolver": "1.2.0", - "babel-plugin-debug-macros": "^0.2.0-beta.6", - "babel-plugin-ember-modules-api-polyfill": "^2.6.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.7.0", - "broccoli-babel-transpiler": "^6.5.0", - "broccoli-debug": "^0.6.4", - "broccoli-funnel": "^2.0.0", - "broccoli-source": "^1.1.0", - "clone": "^2.0.0", - "ember-cli-version-checker": "^2.1.2", - "semver": "^5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "ember-cli-version-checker": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz", - "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==", + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "resolve": "^1.3.3", - "semver": "^5.3.0" + "color-name": "1.1.3" } }, - "merge-trees": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-1.0.1.tgz", - "integrity": "sha1-zL5nRWl4f53vF/1G5lJfVwC70j4=", + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "find-yarn-workspace-root": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz", + "integrity": "sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q==", "dev": true, "requires": { - "can-symlink": "^1.0.0", - "fs-tree-diff": "^0.5.4", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "rimraf": "^2.4.3", - "symlink-or-copy": "^1.0.0" + "fs-extra": "^4.0.3", + "micromatch": "^3.1.4" } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "minimist": "^1.2.5" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "semver": { @@ -9521,45 +9132,93 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, - "workerpool": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-2.3.3.tgz", - "integrity": "sha512-L1ovlYHp6UObYqElXXpbd214GgbEKDED0d3sj7pRdFXjNkb2+un/AUcCkceHizO0IVI6SOGGncrcjozruCkRgA==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "object-assign": "4.1.1" + "has-flag": "^3.0.0" } } } }, - "ember-cli-typescript": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.0.0.tgz", - "integrity": "sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==", + "ember-cli-get-component-path-option": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz", + "integrity": "sha1-DXtZVVni+QUKvtgE8djv8bCLx3E=", + "dev": true + }, + "ember-cli-htmlbars": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-5.3.1.tgz", + "integrity": "sha512-ZjQTt44euDoqLvUkWbt1svgNCXgLzOztEbc2qqYMQvhQig416LMrWK7l3SSbNU+BtLD5UIxmwvLfF1tsO2CVyA==", "dev": true, "requires": { - "@babel/plugin-transform-typescript": "~7.5.0", - "ansi-to-html": "^0.6.6", - "debug": "^4.0.0", - "ember-cli-babel-plugin-helpers": "^1.0.0", - "execa": "^2.0.0", - "fs-extra": "^8.0.0", - "resolve": "^1.5.0", - "rsvp": "^4.8.1", - "semver": "^6.0.0", - "stagehand": "^1.0.0", - "walk-sync": "^2.0.0" + "@ember/edition-utils": "^1.2.0", + "babel-plugin-htmlbars-inline-precompile": "^4.2.0", + "broccoli-debug": "^0.6.5", + "broccoli-persistent-filter": "^3.1.0", + "broccoli-plugin": "^4.0.3", + "common-tags": "^1.8.0", + "ember-cli-babel-plugin-helpers": "^1.1.0", + "fs-tree-diff": "^2.0.1", + "hash-for-dep": "^1.5.1", + "heimdalljs-logger": "^0.1.10", + "json-stable-stringify": "^1.0.1", + "semver": "^7.3.2", + "silent-error": "^1.1.1", + "strip-bom": "^4.0.0", + "walk-sync": "^2.2.0" }, "dependencies": { - "@babel/plugin-transform-typescript": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz", - "integrity": "sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w==", + "async-disk-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/async-disk-cache/-/async-disk-cache-2.1.0.tgz", + "integrity": "sha512-iH+boep2xivfD9wMaZWkywYIURSmsL96d6MoqrC94BnGSvXE4Quf8hnJiHGFYhw/nLeIa1XyRaf4vvcvkwAefg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.5.5", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.2.0" + "debug": "^4.1.1", + "heimdalljs": "^0.2.3", + "istextorbinary": "^2.5.1", + "mkdirp": "^0.5.0", + "rimraf": "^3.0.0", + "rsvp": "^4.8.5", + "username-sync": "^1.0.2" + } + }, + "broccoli-persistent-filter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-3.1.2.tgz", + "integrity": "sha512-CbU95RXXVyy+eJV9XTiHUC7NnsY3EvdVrGzp3YgyvO2bzXZFE5/GzDp4X/VQqX+jsk4qyT1HvMOF0sD1DX68TQ==", + "dev": true, + "requires": { + "async-disk-cache": "^2.0.0", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^4.0.3", + "fs-tree-diff": "^2.0.0", + "hash-for-dep": "^1.5.0", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "promise-map-series": "^0.2.1", + "rimraf": "^3.0.0", + "symlink-or-copy": "^1.0.1", + "sync-disk-cache": "^2.0.0" + } + }, + "broccoli-plugin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.3.tgz", + "integrity": "sha512-CtAIEYq5K+4yQv8c/BHymOteuyjDAJfvy/asu4LudIWcMSS7dTn3yGI5gNBkwHG+qlRangYkHJNVAcDZMQbSVQ==", + "dev": true, + "requires": { + "broccoli-node-api": "^1.6.0", + "broccoli-output-wrapper": "^3.2.1", + "fs-merger": "^3.1.0", + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^3.0.0", + "symlink-or-copy": "^1.3.0" } }, "debug": { @@ -9571,15 +9230,46 @@ "ms": "2.1.2" } }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "editions": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz", + "integrity": "sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==", "dev": true, "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "errlop": "^2.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "istextorbinary": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.6.0.tgz", + "integrity": "sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA==", + "dev": true, + "requires": { + "binaryextensions": "^2.1.2", + "editions": "^2.2.0", + "textextensions": "^2.5.0" } }, "matcher-collection": { @@ -9592,24 +9282,55 @@ "minimatch": "^3.0.2" } }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true }, + "sync-disk-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sync-disk-cache/-/sync-disk-cache-2.1.0.tgz", + "integrity": "sha512-vngT2JmkSapgq0z7uIoYtB9kWOOzMihAAYq/D3Pjm/ODOGMgS4r++B+OZ09U4hWR6EaOdy9eqQ7/8ygbH3wehA==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "heimdalljs": "^0.2.6", + "mkdirp": "^0.5.0", + "rimraf": "^3.0.0", + "username-sync": "^1.0.2" + } + }, "walk-sync": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", @@ -9624,35 +9345,34 @@ } } }, - "ember-cli-version-checker": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-5.1.1.tgz", - "integrity": "sha512-YziSW1MgOuVdJSyUY2CKSC4vXrGQIHF6FgygHkJOxYGjZNQYwf5MK0sbliKatvJf7kzDSnXs+r8JLrD74W/A8A==", - "dev": true, - "requires": { - "resolve-package-path": "^2.0.0", - "semver": "^7.3.2", - "silent-error": "^1.1.1" - } - }, - "ember-compatibility-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ember-compatibility-helpers/-/ember-compatibility-helpers-1.2.2.tgz", - "integrity": "sha512-EKyCGOGBvKkBsk6wKfg3GhjTvTTkcEwzl/cv4VYvZM18cihmjGNpliR4BymWsKRWrv4VJLyq15Vhk3NHkSNBag==", + "ember-cli-inject-live-reload": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-2.0.2.tgz", + "integrity": "sha512-HDD6o/kBHT/kUtazklU0OW23q2jigIN42QmcpFdXUSvJ2/2SYA6yIqSUxWfJgISmtn5gTNZ2KPq1p3dLkhJxSQ==", "dev": true, "requires": { - "babel-plugin-debug-macros": "^0.2.0", - "ember-cli-version-checker": "^5.1.1", - "semver": "^5.4.1" + "clean-base-url": "^1.0.0", + "ember-cli-version-checker": "^3.1.3" }, "dependencies": { - "babel-plugin-debug-macros": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.2.0.tgz", - "integrity": "sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==", + "ember-cli-version-checker": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-3.1.3.tgz", + "integrity": "sha512-PZNSvpzwWgv68hcXxyjREpj3WWb81A7rtYNQq1lLEgrWIchF8ApKJjWP3NBpHjaatwILkZAV8klair5WFlXAKg==", "dev": true, "requires": { - "semver": "^5.3.0" + "resolve-package-path": "^1.2.6", + "semver": "^5.6.0" + } + }, + "resolve-package-path": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-1.2.7.tgz", + "integrity": "sha512-fVEKHGeK85bGbVFuwO9o1aU0n3vqQGrezPc51JGu9UTXpFQfWq5qCeKxyaRUSvephs+06c5j5rPq/dzHGEo8+Q==", + "dev": true, + "requires": { + "path-root": "^0.1.1", + "resolve": "^1.10.0" } }, "semver": { @@ -9663,62 +9383,132 @@ } } }, - "ember-data": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/ember-data/-/ember-data-3.23.0.tgz", - "integrity": "sha512-LTrgs+So1ONJ/q0gbP3qhkoFsJ3upJojbrgcC6Zd/+AaUc1yCj8d4StIU5fUS4oOFZqfTkmFFV9HttUVKt7fGw==", - "dev": true, - "requires": { - "@ember-data/adapter": "3.23.0", - "@ember-data/debug": "3.23.0", - "@ember-data/model": "3.23.0", - "@ember-data/private-build-infra": "3.23.0", - "@ember-data/record-data": "3.23.0", - "@ember-data/serializer": "3.23.0", - "@ember-data/store": "3.23.0", - "@ember/edition-utils": "^1.2.0", - "@ember/ordered-set": "^2.0.3", - "@glimmer/env": "^0.1.7", - "broccoli-merge-trees": "^4.2.0", - "ember-cli-babel": "^7.18.0", - "ember-cli-typescript": "^3.1.3", - "ember-inflector": "^3.0.1" + "ember-cli-is-package-missing": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-is-package-missing/-/ember-cli-is-package-missing-1.0.0.tgz", + "integrity": "sha1-bmGEyvuSY13ZPKbJRrEEKS1OM5A=", + "dev": true + }, + "ember-cli-lodash-subset": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ember-cli-lodash-subset/-/ember-cli-lodash-subset-2.0.1.tgz", + "integrity": "sha1-IMtop5D+D94kiN39jvu332/nZvI=", + "dev": true + }, + "ember-cli-normalize-entity-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz", + "integrity": "sha1-CxT3vLxZmqEXtf3cgeT9A8S61bc=", + "dev": true, + "requires": { + "silent-error": "^1.0.0" + } + }, + "ember-cli-path-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-path-utils/-/ember-cli-path-utils-1.0.0.tgz", + "integrity": "sha1-Tjmvi1UwHN3FAXc5t3qAT7ogce0=", + "dev": true + }, + "ember-cli-preprocess-registry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ember-cli-preprocess-registry/-/ember-cli-preprocess-registry-3.3.0.tgz", + "integrity": "sha512-60GYpw7VPeB7TvzTLZTuLTlHdOXvayxjAQ+IxM2T04Xkfyu75O2ItbWlftQW7NZVGkaCsXSRAmn22PG03VpLMA==", + "dev": true, + "requires": { + "broccoli-clean-css": "^1.1.0", + "broccoli-funnel": "^2.0.1", + "debug": "^3.0.1", + "process-relative-require": "^1.0.0" }, "dependencies": { - "@babel/plugin-transform-typescript": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.8.7.tgz", - "integrity": "sha512-7O0UsPQVNKqpHeHLpfvOG4uXmlw+MOxYvUv6Otc9uH5SYMIxvF6eBdjkWvC3f9G+VXe0RsNExyAQBeTRug/wqQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-typescript": "^7.8.3" - } - }, - "broccoli-merge-trees": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-4.2.0.tgz", - "integrity": "sha512-nTrQe5AQtCrW4enLRvbD/vTLHqyW2tz+vsLXQe4IEaUhepuMGVKJJr+I8n34Vu6fPjmPLwTjzNC8izMIDMtHPw==", + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "broccoli-plugin": "^4.0.2", - "merge-trees": "^2.0.0" + "ms": "^2.1.1" } }, - "broccoli-plugin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.3.tgz", - "integrity": "sha512-CtAIEYq5K+4yQv8c/BHymOteuyjDAJfvy/asu4LudIWcMSS7dTn3yGI5gNBkwHG+qlRangYkHJNVAcDZMQbSVQ==", + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "ember-cli-sri": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ember-cli-sri/-/ember-cli-sri-2.1.1.tgz", + "integrity": "sha1-lxYgk0pLkYPPeSPMA+F4uDqpB/0=", + "dev": true, + "requires": { + "broccoli-sri-hash": "^2.1.0" + } + }, + "ember-cli-string-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz", + "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=", + "dev": true + }, + "ember-cli-terser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ember-cli-terser/-/ember-cli-terser-4.0.1.tgz", + "integrity": "sha512-vvp0uVl8reYeW9EZjSXRPR3Bq7y4u9CYlUdI7j/WzMPDj3/gUHU4Z7CHYOCrftrClQvFfqO2eXmHwDA6F7SLug==", + "dev": true, + "requires": { + "broccoli-terser-sourcemap": "^4.1.0" + } + }, + "ember-cli-test-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-test-info/-/ember-cli-test-info-1.0.0.tgz", + "integrity": "sha1-7U6WDySel1I8+JHkrtIHLOhFd7Q=", + "dev": true, + "requires": { + "ember-cli-string-utils": "^1.0.0" + } + }, + "ember-cli-test-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-test-loader/-/ember-cli-test-loader-3.0.0.tgz", + "integrity": "sha512-wfFRBrfO9gaKScYcdQxTfklx9yp1lWK6zv1rZRpkas9z2SHyJojF7NOQRWQgSB3ypm7vfpiF8VsFFVVr7VBzAQ==", + "dev": true, + "requires": { + "ember-cli-babel": "^7.13.2" + } + }, + "ember-cli-typescript": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.0.0.tgz", + "integrity": "sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==", + "dev": true, + "requires": { + "@babel/plugin-transform-typescript": "~7.5.0", + "ansi-to-html": "^0.6.6", + "debug": "^4.0.0", + "ember-cli-babel-plugin-helpers": "^1.0.0", + "execa": "^2.0.0", + "fs-extra": "^8.0.0", + "resolve": "^1.5.0", + "rsvp": "^4.8.1", + "semver": "^6.0.0", + "stagehand": "^1.0.0", + "walk-sync": "^2.0.0" + }, + "dependencies": { + "@babel/plugin-transform-typescript": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz", + "integrity": "sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w==", "dev": true, "requires": { - "broccoli-node-api": "^1.6.0", - "broccoli-output-wrapper": "^3.2.1", - "fs-merger": "^3.1.0", - "promise-map-series": "^0.2.1", - "quick-temp": "^0.1.3", - "rimraf": "^3.0.0", - "symlink-or-copy": "^1.3.0" + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.0" } }, "debug": { @@ -9727,47 +9517,7 @@ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "2.1.2" - } - }, - "ember-cli-typescript": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.1.4.tgz", - "integrity": "sha512-HJ73kL45OGRmIkPhBNFt31I1SGUvdZND+LCH21+qpq3pPlFpJG8GORyXpP+2ze8PbnITNLzwe5AwUrpyuRswdQ==", - "dev": true, - "requires": { - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.4.4", - "@babel/plugin-proposal-optional-chaining": "^7.6.0", - "@babel/plugin-transform-typescript": "~7.8.0", - "ansi-to-html": "^0.6.6", - "broccoli-stew": "^3.0.0", - "debug": "^4.0.0", - "ember-cli-babel-plugin-helpers": "^1.0.0", - "execa": "^3.0.0", - "fs-extra": "^8.0.0", - "resolve": "^1.5.0", - "rsvp": "^4.8.1", - "semver": "^6.3.0", - "stagehand": "^1.0.0", - "walk-sync": "^2.0.0" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "ms": "2.1.2" } }, "fs-extra": { @@ -9797,24 +9547,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", @@ -9841,31 +9573,66 @@ } } }, - "ember-export-application-global": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ember-export-application-global/-/ember-export-application-global-2.0.1.tgz", - "integrity": "sha512-B7wiurPgsxsSGzJuPFkpBWnaeuCu2PGpG2BjyrfA1VcL7//o+5RSnZqiCEY326y7qmxb2GoCgo0ft03KBU0rRw==", - "dev": true + "ember-cli-version-checker": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-5.1.1.tgz", + "integrity": "sha512-YziSW1MgOuVdJSyUY2CKSC4vXrGQIHF6FgygHkJOxYGjZNQYwf5MK0sbliKatvJf7kzDSnXs+r8JLrD74W/A8A==", + "dev": true, + "requires": { + "resolve-package-path": "^2.0.0", + "semver": "^7.3.2", + "silent-error": "^1.1.1" + } }, - "ember-fetch": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/ember-fetch/-/ember-fetch-8.0.2.tgz", - "integrity": "sha512-BMwm8jLP5LCeT8Jbgz0jA04RsRyt06ZGMaC3Tx2DbHgoWOPlLMfkEKlCFE0dZVW8ZhuICKuyRZTzt4e8GrnnNA==", + "ember-compatibility-helpers": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ember-compatibility-helpers/-/ember-compatibility-helpers-1.2.2.tgz", + "integrity": "sha512-EKyCGOGBvKkBsk6wKfg3GhjTvTTkcEwzl/cv4VYvZM18cihmjGNpliR4BymWsKRWrv4VJLyq15Vhk3NHkSNBag==", "dev": true, "requires": { - "abortcontroller-polyfill": "^1.4.0", - "broccoli-concat": "^4.2.4", - "broccoli-debug": "^0.6.5", + "babel-plugin-debug-macros": "^0.2.0", + "ember-cli-version-checker": "^5.1.1", + "semver": "^5.4.1" + }, + "dependencies": { + "babel-plugin-debug-macros": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.2.0.tgz", + "integrity": "sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "ember-data": { + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/ember-data/-/ember-data-3.24.0.tgz", + "integrity": "sha512-DdoJ573ucwXBBx3mR3eYwSCBChDGv3cDWaCu4x6lGmvHjropvoOVJmuXDhCuxtI17Zly7ATlXarfPZdmPA95QQ==", + "dev": true, + "requires": { + "@ember-data/adapter": "3.24.0", + "@ember-data/debug": "3.24.0", + "@ember-data/model": "3.24.0", + "@ember-data/private-build-infra": "3.24.0", + "@ember-data/record-data": "3.24.0", + "@ember-data/serializer": "3.24.0", + "@ember-data/store": "3.24.0", + "@ember/edition-utils": "^1.2.0", + "@ember/ordered-set": "^4.0.0", + "@ember/string": "^1.0.0", + "@glimmer/env": "^0.1.7", "broccoli-merge-trees": "^4.2.0", - "broccoli-rollup": "^2.1.1", - "broccoli-stew": "^3.0.0", - "broccoli-templater": "^2.0.1", - "calculate-cache-key-for-tree": "^2.0.0", - "caniuse-api": "^3.0.0", - "ember-cli-babel": "^7.19.0", + "ember-cli-babel": "^7.18.0", "ember-cli-typescript": "^3.1.3", - "node-fetch": "^2.6.0", - "whatwg-fetch": "^3.4.0" + "ember-inflector": "^3.0.1" }, "dependencies": { "@babel/plugin-transform-typescript": { @@ -9879,18 +9646,6 @@ "@babel/plugin-syntax-typescript": "^7.8.3" } }, - "@types/node": { - "version": "9.6.61", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.61.tgz", - "integrity": "sha512-/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==", - "dev": true - }, - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true - }, "broccoli-merge-trees": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-4.2.0.tgz", @@ -9916,48 +9671,6 @@ "symlink-or-copy": "^1.3.0" } }, - "broccoli-rollup": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/broccoli-rollup/-/broccoli-rollup-2.1.1.tgz", - "integrity": "sha512-aky/Ovg5DbsrsJEx2QCXxHLA6ZR+9u1TNVTf85soP4gL8CjGGKQ/JU8R3BZ2ntkWzo6/83RCKzX6O+nlNKR5MQ==", - "dev": true, - "requires": { - "@types/node": "^9.6.0", - "amd-name-resolver": "^1.2.0", - "broccoli-plugin": "^1.2.1", - "fs-tree-diff": "^0.5.2", - "heimdalljs": "^0.2.1", - "heimdalljs-logger": "^0.1.7", - "magic-string": "^0.24.0", - "node-modules-path": "^1.0.1", - "rollup": "^0.57.1", - "symlink-or-copy": "^1.1.8", - "walk-sync": "^0.3.1" - }, - "dependencies": { - "broccoli-plugin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz", - "integrity": "sha512-DW8XASZkmorp+q7J4EeDEZz+LoyKLAd2XZULXyD9l4m9/hAKV3vjHmB1kiUshcWAYMgTP1m2i4NnqCE/23h6AQ==", - "dev": true, - "requires": { - "promise-map-series": "^0.2.1", - "quick-temp": "^0.1.3", - "rimraf": "^2.3.4", - "symlink-or-copy": "^1.1.8" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -9987,20 +9700,6 @@ "semver": "^6.3.0", "stagehand": "^1.0.0", "walk-sync": "^2.0.0" - }, - "dependencies": { - "walk-sync": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", - "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", - "dev": true, - "requires": { - "@types/minimatch": "^3.0.3", - "ensure-posix-path": "^1.1.0", - "matcher-collection": "^2.0.0", - "minimatch": "^3.0.4" - } - } } }, "execa": { @@ -10066,25 +9765,6 @@ "glob": "^7.1.3" } }, - "rollup": { - "version": "0.57.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.57.1.tgz", - "integrity": "sha512-I18GBqP0qJoJC1K1osYjreqA8VAKovxuI3I81RSk0Dmr4TgloI0tAULjZaox8OsJ+n7XRrhH6i0G2By/pj1LCA==", - "dev": true, - "requires": { - "@types/acorn": "^4.0.3", - "acorn": "^5.5.3", - "acorn-dynamic-import": "^3.0.0", - "date-time": "^2.1.0", - "is-reference": "^1.1.0", - "locate-character": "^2.0.5", - "pretty-ms": "^3.1.0", - "require-relative": "^0.8.7", - "rollup-pluginutils": "^2.0.1", - "signal-exit": "^3.0.2", - "sourcemap-codec": "^1.4.1" - } - }, "rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", @@ -10096,9 +9776,38 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + } } } }, + "ember-destroyable-polyfill": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ember-destroyable-polyfill/-/ember-destroyable-polyfill-2.0.2.tgz", + "integrity": "sha512-9t+ya+9c+FkNM5IAyJIv6ETG8jfZQaUnFCO5SeLlV0wkSw7TOexyb61jh5GVee0KmknfRhrRGGAyT4Y0TwkZ+w==", + "dev": true, + "requires": { + "ember-cli-babel": "^7.22.1", + "ember-cli-version-checker": "^5.1.1", + "ember-compatibility-helpers": "^1.2.1" + } + }, + "ember-export-application-global": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ember-export-application-global/-/ember-export-application-global-2.0.1.tgz", + "integrity": "sha512-B7wiurPgsxsSGzJuPFkpBWnaeuCu2PGpG2BjyrfA1VcL7//o+5RSnZqiCEY326y7qmxb2GoCgo0ft03KBU0rRw==", + "dev": true + }, "ember-inflector": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ember-inflector/-/ember-inflector-3.0.1.tgz", @@ -10708,19 +10417,134 @@ } } }, + "ember-page-title": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ember-page-title/-/ember-page-title-6.0.3.tgz", + "integrity": "sha512-sXT+XrWWYkqCpwOXj1nGRdxDE4J1SbPcA9lSwtQEP0qDGenhp/GNTcLN8v3cpeyao75jAPxjgYN3YzFtvUB01Q==", + "dev": true, + "requires": { + "ember-cli-babel": "^7.22.1" + } + }, "ember-qunit": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/ember-qunit/-/ember-qunit-4.6.0.tgz", - "integrity": "sha512-i5VOGn0RP8XH+5qkYDOZshbqAvO6lHgF65D0gz8vRx4DszCIvJMJO+bbftBTfYMxp6rqG85etAA6pfNxE0DqsQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/ember-qunit/-/ember-qunit-5.1.1.tgz", + "integrity": "sha512-6kWWKPeqGtPu0AwrV3ZyVp2Z9EKykKx6B5pclOHoGcmcUy93UUGG8micicPSO//8pLnnFx4R34RvuKJd/Scifw==", "dev": true, "requires": { - "@ember/test-helpers": "^1.7.1", - "broccoli-funnel": "^2.0.2", + "broccoli-funnel": "^3.0.3", "broccoli-merge-trees": "^3.0.2", - "common-tags": "^1.4.0", - "ember-cli-babel": "^7.12.0", - "ember-cli-test-loader": "^2.2.0", - "qunit": "^2.9.3" + "common-tags": "^1.8.0", + "ember-auto-import": "^1.10.0", + "ember-cli-babel": "^7.23.0", + "ember-cli-test-loader": "^3.0.0", + "resolve-package-path": "^3.1.0", + "silent-error": "^1.1.1", + "validate-peer-dependencies": "^1.1.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-3.0.3.tgz", + "integrity": "sha512-LPzZ91BwStoHZXdXHQAJeYORl189OrRKM5NdIi86SDU9wZ4s/3lV1PRFOiobDT/jKM10voM7CDzfvicHbCYxAQ==", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^4.0.1", + "debug": "^4.1.1", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^2.0.1", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "path-posix": "^1.0.0", + "walk-sync": "^2.0.2" + } + }, + "broccoli-plugin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/broccoli-plugin/-/broccoli-plugin-4.0.3.tgz", + "integrity": "sha512-CtAIEYq5K+4yQv8c/BHymOteuyjDAJfvy/asu4LudIWcMSS7dTn3yGI5gNBkwHG+qlRangYkHJNVAcDZMQbSVQ==", + "dev": true, + "requires": { + "broccoli-node-api": "^1.6.0", + "broccoli-output-wrapper": "^3.2.1", + "fs-merger": "^3.1.0", + "promise-map-series": "^0.2.1", + "quick-temp": "^0.1.3", + "rimraf": "^3.0.0", + "symlink-or-copy": "^1.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-tree-diff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fs-tree-diff/-/fs-tree-diff-2.0.1.tgz", + "integrity": "sha512-x+CfAZ/lJHQqwlD64pYM5QxWjzWhSjroaVsr8PW831zOApL55qPibed0c+xebaLWVr2BnHFoHdrwOv8pzt8R5A==", + "dev": true, + "requires": { + "@types/symlink-or-copy": "^1.2.0", + "heimdalljs-logger": "^0.1.7", + "object-assign": "^4.1.0", + "path-posix": "^1.0.0", + "symlink-or-copy": "^1.1.8" + } + }, + "matcher-collection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "resolve-package-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-3.1.0.tgz", + "integrity": "sha512-2oC2EjWbMJwvSN6Z7DbDfJMnD8MYEouaLn5eIX0j8XwPsYCVIyY9bbnX88YHVkbr8XHqvZrYbxaLPibfTYKZMA==", + "dev": true, + "requires": { + "path-root": "^0.1.1", + "resolve": "^1.17.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + } + } } }, "ember-resolver": { @@ -10859,9 +10683,9 @@ } }, "ember-source": { - "version": "3.23.1", - "resolved": "https://registry.npmjs.org/ember-source/-/ember-source-3.23.1.tgz", - "integrity": "sha512-KWeKSF9y0Ohmrnw8CKAs4zwMzzxwrS+AX9pPrQNPKNG0gcJpeREdAXnUWAFZEHZlUPJgZPwaSL2APpZ5tWNQJA==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/ember-source/-/ember-source-3.24.0.tgz", + "integrity": "sha512-tFNwicD33IQ9LRIc0tkS0xqKbz7w0P5x799DH4DjP+VEpHAn77AaBR5Cfs3oEFbVqMFFBl88M8V4zlI4Akwwhw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.8.3", @@ -10875,7 +10699,7 @@ "broccoli-funnel": "^2.0.2", "broccoli-merge-trees": "^4.2.0", "chalk": "^4.0.0", - "ember-cli-babel": "^7.19.0", + "ember-cli-babel": "^7.23.0", "ember-cli-get-component-path-option": "^1.0.0", "ember-cli-is-package-missing": "^1.0.0", "ember-cli-normalize-entity-name": "^1.0.0", @@ -10942,9 +10766,9 @@ } }, "ember-template-lint": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/ember-template-lint/-/ember-template-lint-2.15.0.tgz", - "integrity": "sha512-hARl20XxqDbAPC68He1GBi0nDenJuy13Czo4NKaD72Vro+M3AxXOkKoSibeup1hxMAfuY/mWQYfqRij+bKWOhA==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/ember-template-lint/-/ember-template-lint-2.16.0.tgz", + "integrity": "sha512-RmQCFMHWPG3CDByAu0R4XP/edKhha6dl4oA9vqU6+kIuGt0WyHy3nHIJuXmVvLSosmK8KEHuWKgpWgNr//9ckg==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -11224,50 +11048,6 @@ } } }, - "ember-test-waiters": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ember-test-waiters/-/ember-test-waiters-1.2.0.tgz", - "integrity": "sha512-aEw7YuutLuJT4NUuPTNiGFwgTYl23ThqmBxSkfFimQAn+keWjAftykk3dlFELuhsJhYW/S8YoVjN0bSAQRLNtw==", - "dev": true, - "requires": { - "ember-cli-babel": "^7.11.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "ember-welcome-page": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ember-welcome-page/-/ember-welcome-page-4.0.0.tgz", - "integrity": "sha512-2lpElRFDjFVE0LohJn9j7FWYt5rGHZ7TmiPgknsS+9BYFFmaJnBQKAz9KZXxWRmS/mCjVUuUec1YhojtOJJ/Sg==", - "dev": true, - "requires": { - "broccoli-funnel": "^2.0.2", - "ember-cli-babel": "^7.4.1", - "ember-cli-htmlbars": "^3.0.1", - "ember-compatibility-helpers": "^1.1.2" - }, - "dependencies": { - "ember-cli-htmlbars": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-3.1.0.tgz", - "integrity": "sha512-cgvRJM73IT0aePUG7oQ/afB7vSRBV3N0wu9BrWhHX2zkR7A7cUBI7KC9VPk6tbctCXoM7BRGsCC4aIjF7yrfXA==", - "dev": true, - "requires": { - "broccoli-persistent-filter": "^2.3.1", - "hash-for-dep": "^1.5.1", - "json-stable-stringify": "^1.0.1", - "strip-bom": "^3.0.0" - } - } - } - }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -11407,6 +11187,12 @@ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, + "env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "dev": true + }, "errlop": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/errlop/-/errlop-2.2.0.tgz", @@ -11471,6 +11257,12 @@ "is-symbol": "^1.0.2" } }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -11649,6 +11441,12 @@ } } }, + "eslint-config-prettier": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz", + "integrity": "sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA==", + "dev": true + }, "eslint-plugin-ember": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-ember/-/eslint-plugin-ember-10.1.1.tgz", @@ -11695,6 +11493,15 @@ } } }, + "eslint-plugin-prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -12063,6 +11870,23 @@ } } }, + "extract-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/extract-path/-/extract-path-2.0.0.tgz", + "integrity": "sha512-EQrwJL8rfZti2iCL7NvXrK3AN6jh7SjgCfDfQyCeuL6nEzsbDEVfxMQzhZeTPjStLcoWzLbyddulJ01YaZjk4g==", + "dev": true, + "requires": { + "untildify": "^4.0.0" + }, + "dependencies": { + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + } + } + }, "extract-stack": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz", @@ -12081,6 +11905,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "fast-glob": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", @@ -12309,6 +12139,13 @@ "flat-cache": "^3.0.4" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "filesize": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-4.2.1.tgz", @@ -12860,6 +12697,12 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "fuzzysearch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fuzzysearch/-/fuzzysearch-1.0.3.tgz", + "integrity": "sha1-3/yA9tawQiPyImqnndGUIxCW0Ag=", + "dev": true + }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -13594,59 +13437,263 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "inquirer-autocomplete-prompt-ipt": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt-ipt/-/inquirer-autocomplete-prompt-ipt-2.0.0.tgz", + "integrity": "sha512-2qkl1lWeXbFN/O3+xdqJUdMfnNirvWKqgsgmhOjpOiVCcnJf+XYSEjFfdTgk+MDTtVt5AZiWR9Ji+f4YsWBdUw==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "figures": "^3.1.0", + "run-async": "^2.3.0", + "rxjs": "^6.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "inquirer-ordinal-prompt": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/inquirer-ordinal-prompt/-/inquirer-ordinal-prompt-1.0.0.tgz", + "integrity": "sha512-2FNfNlRc0ak1EmviINSzN1famoafoU4+93NoQg/6+pFCyCcxSZGOyJEeOPRcJ/CXkSP0y8IIcQzCN6XAkiO3eA==", + "dev": true, + "requires": { + "chalk": ">= 4", + "cli-cursor": ">= 3", + "figures": ">= 3", + "rxjs": ">= 6" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "ipt": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ipt/-/ipt-3.1.1.tgz", + "integrity": "sha512-MJ6ul0uzhWpoQRMQXk0oi+j9tz/WL/kGBsAuqReUQqCbNUVLDQSupq8pfFMJlcxvrMWR9zCZgMGtIp8SG78KlQ==", + "dev": true, + "requires": { + "cli-width": "^3.0.0", + "clipboardy": "^2.3.0", + "extract-path": "^2.0.0", + "fuzzysearch": "^1.0.3", + "get-stdin": "^8.0.0", + "inquirer": "^7.2.0", + "inquirer-autocomplete-prompt-ipt": "^2.0.0", + "inquirer-ordinal-prompt": "^1.0.0", + "reopen-tty": "^1.1.2", + "string-width": "~4.2.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -13749,6 +13796,12 @@ } } }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -13795,9 +13848,9 @@ "dev": true }, "is-language-code": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/is-language-code/-/is-language-code-1.0.13.tgz", - "integrity": "sha512-yEJ8Am1oh+bp596dgtfVFrYzx7d3W3k6LZDSLL3fBgk+YI30zT+tYO/pdNimONtCLc4pAmnCvE6s+aNxMOAmlQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-language-code/-/is-language-code-2.0.0.tgz", + "integrity": "sha512-6xKmRRcP2YdmMBZMVS3uiJRPQgcMYolkD6hFw2Y4KjqyIyaJlCGxUt56tuu0iIV8q9r8kMEo0Gjd/GFwKrgjbw==", "dev": true }, "is-negative-zero": { @@ -13853,15 +13906,6 @@ "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", "dev": true }, - "is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, "is-regex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", @@ -14040,6 +14084,12 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -14136,6 +14186,12 @@ "type-check": "~0.3.2" } }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, "linkify-it": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", @@ -14205,12 +14261,6 @@ "integrity": "sha512-9M2KvGT6duzGMgkOcTkWb+PR/Q2Oe54df/tLgHGVmFpAmtqJ553xJh6N63iFYI2yjo2PeJXbS5skHi/QpJq4vA==", "dev": true }, - "locate-character": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-2.0.5.tgz", - "integrity": "sha512-n2GmejDXtOPBAZdIiEFy5dJ5N38xBCXLNOtw2WpB9kGh6pnrEuKlwYI+Tkpofc4wDtVXHtoAOJaMRlYG/oYaxg==", - "dev": true - }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -14383,12 +14433,6 @@ "lodash.isarray": "^3.0.0" } }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -14540,13 +14584,31 @@ "yallist": "^4.0.0" } }, - "magic-string": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.24.1.tgz", - "integrity": "sha512-YBfNxbJiixMzxW40XqJEIldzHyh5f7CZKalo1uZffevyrPEX8Qgo9s0dmcORLHdV47UyvJg8/zD+6hQG3qvJrA==", + "lru-cache-fs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lru-cache-fs/-/lru-cache-fs-2.0.1.tgz", + "integrity": "sha512-O/f262s36nuk4Y18ijTfc0mQbPmJvf09AnvjrSNmIMrE9PkK9Zd2JRNe0Kit1Js7z/IpCh21RLvauzEnbeYVDQ==", "dev": true, "requires": { - "sourcemap-codec": "^1.4.1" + "env-paths": "^2.2.0", + "lru-cache": "^5.1.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, "make-dir": { @@ -15039,6 +15101,13 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true, + "optional": true + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -15446,6 +15515,151 @@ "set-blocking": "~2.0.0" } }, + "ntl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ntl/-/ntl-5.1.0.tgz", + "integrity": "sha512-IE6lJnQoIFg0i1S7TN5qSLiKz1qU3iSl+drmAg0Ltxqb3+JqNcZ86x9tUa4XvqqpSGCKerAxGs+LXj7s7s3ySw==", + "dev": true, + "requires": { + "ipt": "^3.1.1", + "lru-cache-fs": "^2.0.1", + "read-pkg": "^5.2.0", + "simple-output": "^2.1.1", + "yargs": "^15.3.1" + }, + "dependencies": { + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -15856,12 +16070,6 @@ "json-parse-better-errors": "^1.0.1" } }, - "parse-ms": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", - "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", - "dev": true - }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -16138,13 +16346,19 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "pretty-ms": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.2.0.tgz", - "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", + "prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "fast-diff": "^1.1.2" } }, "printf": { @@ -16701,6 +16915,12 @@ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, + "reopen-tty": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/reopen-tty/-/reopen-tty-1.1.2.tgz", + "integrity": "sha512-MZaeHYPFK+vfM8VoqdDj9vR7H2A/nX+I2SvS5U82RocjtvPI8Y6xVf5NFxpHIUuo9urTosrRLyA89ZsY+prfqg==", + "dev": true + }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", @@ -16806,10 +17026,10 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, - "require-relative": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "requires-port": { @@ -17329,6 +17549,27 @@ "integrity": "sha512-1DHMUmvUOGuUZ9/+cX/+hOhWhRD5dEw6lodn8WuV+T+cQ31hhBcCu1dcDsNotowi4mMaNhrLyKoS+DtB81HdDA==", "dev": true }, + "simple-output": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/simple-output/-/simple-output-2.2.1.tgz", + "integrity": "sha512-kHG/VCK+OqJ4t4yyC5fxUQGLEyIsXrXsL8OLWCPuUPFNopNVUsfiYXdrRdPO93HpudYMEiXNG7A+yXmKm4rkig==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "log-symbols": "^4.0.0" + }, + "dependencies": { + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + } + } + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -17472,9 +17713,9 @@ } }, "socket.io": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz", - "integrity": "sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz", + "integrity": "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==", "dev": true, "requires": { "debug": "~4.1.0", @@ -17543,9 +17784,9 @@ "dev": true }, "socket.io-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.1.tgz", - "integrity": "sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", "dev": true, "requires": { "component-emitter": "~1.3.0", @@ -17671,12 +17912,6 @@ "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=", "dev": true }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, "sourcemap-validator": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/sourcemap-validator/-/sourcemap-validator-1.1.1.tgz", @@ -18192,14 +18427,24 @@ "dev": true }, "temp": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz", - "integrity": "sha512-WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "dev": true, "requires": { + "mkdirp": "^0.5.1", "rimraf": "~2.6.2" }, "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -18557,12 +18802,6 @@ } } }, - "time-zone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", - "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", - "dev": true - }, "timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", @@ -19092,6 +19331,28 @@ "builtins": "^1.0.3" } }, + "validate-peer-dependencies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/validate-peer-dependencies/-/validate-peer-dependencies-1.1.0.tgz", + "integrity": "sha512-eHHxI3fNMqu8bzWPRWWgV72kBJkWwRCeEua7yC7UI6dsqC55orhxKAC3uyQfCjjToOyAZ8mpNrbQH+NMoYBn1w==", + "dev": true, + "requires": { + "resolve-package-path": "^3.1.0", + "semver": "^7.3.2" + }, + "dependencies": { + "resolve-package-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-3.1.0.tgz", + "integrity": "sha512-2oC2EjWbMJwvSN6Z7DbDfJMnD8MYEouaLn5eIX0j8XwPsYCVIyY9bbnX88YHVkbr8XHqvZrYbxaLPibfTYKZMA==", + "dev": true, + "requires": { + "path-root": "^0.1.1", + "resolve": "^1.17.0" + } + } + } + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -19259,7 +19520,11 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, - "optional": true + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } }, "glob-parent": { "version": "3.1.0", @@ -19499,12 +19764,6 @@ "iconv-lite": "0.4.24" } }, - "whatwg-fetch": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz", - "integrity": "sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==", - "dev": true - }, "whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", @@ -19531,6 +19790,12 @@ "isexe": "^2.0.0" } }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", diff --git a/package.json b/package.json index fef625c..0c06367 100644 --- a/package.json +++ b/package.json @@ -11,22 +11,28 @@ "test": "tests" }, "scripts": { - "build": "ember build --environment=production", - "lint": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*", + "dev": "ember serve", + "build": "ember build --environment production && cp _redirects dist/_redirects", + "lint": "npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'", + "lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix", "lint:hbs": "ember-template-lint .", - "lint:js": "eslint .", + "lint:hbs:fix": "ember-template-lint . --fix", + "lint:js": "eslint . --cache", + "lint:js:fix": "eslint . --fix", "start": "ember serve", - "test": "npm-run-all lint:* test:*", - "test:ember": "ember test" + "test": "npm-run-all lint test:*", + "test:ember": "ember test", + "test:ember:server": "ember test --server" }, "devDependencies": { "@ember/optional-features": "^2.0.0", - "@glimmer/component": "^1.0.2", - "@glimmer/tracking": "^1.0.2", + "@ember/test-helpers": "^2.1.4", + "@glimmer/component": "^1.0.3", + "@glimmer/tracking": "^1.0.3", "babel-eslint": "^10.1.0", "broccoli-asset-rev": "^3.0.0", - "ember-auto-import": "^1.8.0", - "ember-cli": "~3.23.0", + "ember-auto-import": "^1.10.1", + "ember-cli": "~3.24.0", "ember-cli-app-version": "^4.0.0", "ember-cli-babel": "^7.23.0", "ember-cli-dependency-checker": "^3.2.0", @@ -34,21 +40,25 @@ "ember-cli-inject-live-reload": "^2.0.2", "ember-cli-sri": "^2.1.1", "ember-cli-terser": "^4.0.1", - "ember-data": "~3.23.0", + "ember-data": "~3.24.0", "ember-export-application-global": "^2.0.1", - "ember-fetch": "^8.0.2", "ember-load-initializers": "^2.1.2", "ember-maybe-import-regenerator": "^0.1.6", - "ember-qunit": "^4.6.0", + "ember-page-title": "^6.0.3", + "ember-qunit": "^5.1.1", "ember-resolver": "^8.0.2", - "ember-source": "~3.23.1", - "ember-template-lint": "^2.14.0", - "ember-welcome-page": "^4.0.0", - "eslint": "^7.15.0", - "eslint-plugin-ember": "^10.0.2", + "ember-source": "~3.24.0", + "ember-template-lint": "^2.16.0", + "eslint": "^7.17.0", + "eslint-config-prettier": "^7.1.0", + "eslint-plugin-ember": "^10.1.1", "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^3.3.1", "loader.js": "^4.7.0", "npm-run-all": "^4.1.5", + "ntl": "^5.1.0", + "prettier": "^2.2.1", + "qunit": "^2.13.0", "qunit-dom": "^1.6.0" }, "engines": { From 2bc39e0473c5d29870a54f282354f381d22be25f Mon Sep 17 00:00:00 2001 From: sagarokcredit Date: Tue, 12 Jan 2021 15:59:18 +0530 Subject: [PATCH 2/7] Ref(signup.js): Chnages suggested in PR --- app/controllers/signup.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/controllers/signup.js b/app/controllers/signup.js index 7f54740..af2d3be 100644 --- a/app/controllers/signup.js +++ b/app/controllers/signup.js @@ -3,8 +3,7 @@ import { tracked } from "@glimmer/tracking"; import { action, set } from "@ember/object"; import HistoryLocation from "@ember/routing/history-location"; -// const BASE_URL = "https://staging-api.realdevsquad.com"; -const BASE_URL = "http://localhost:3000"; +const BASE_URL = "https://staging-api.realdevsquad.com"; export default class SignupController extends Controller { @tracked isSubmitDisabled = true; @@ -85,13 +84,13 @@ export default class SignupController extends Controller { id: "yoe", label: "yoe", type: "number", - errorMessage: "Number of yoe is required", + errorMessage: "Number of years of experience is required", required: true, showError: false, }, { id: "company_name", - label: "Company Name ", + label: "Company Name / College Name ", type: "text", errorMessage: "", required: false, @@ -109,7 +108,7 @@ export default class SignupController extends Controller { id: "github_id", label: "Github_id ", type: "text", - errorMessage: "GitHub_id username is required", + errorMessage: "GitHub username is required", required: true, showError: false, }, @@ -117,7 +116,7 @@ export default class SignupController extends Controller { id: "linkedin_id", label: "linkedin_id ", type: "text", - errorMessage: "linkedin_id username is required", + errorMessage: "linkedIn username is required", required: true, showError: false, }, @@ -125,7 +124,7 @@ export default class SignupController extends Controller { id: "twitter_id", label: "twitter_id ", type: "text", - errorMessage: "twitter_id handle is required", + errorMessage: "Twitter handle is required", required: true, showError: false, }, From 66b66ac7d6e06610af2833eb3f0e796751c286d5 Mon Sep 17 00:00:00 2001 From: Swaraj Rajpure Date: Wed, 13 Jan 2021 12:33:07 +0530 Subject: [PATCH 3/7] updated ember-cli from 3.23 to 3.24 --- .eslintignore | 1 + .eslintrc.js | 28 ++++++++++++++-------------- .gitignore | 1 + .prettierignore | 21 +++++++++++++++++++++ .prettierrc.js | 5 +++++ .template-lintrc.js | 2 +- app/templates/application.hbs | 1 + config/ember-cli-update.json | 5 ++--- config/environment.js | 8 ++++---- config/targets.js | 4 ++-- ember-cli-build.js | 2 +- testem.js | 16 ++++++---------- tests/index.html | 7 +++++++ tests/test-helper.js | 4 ++++ 14 files changed, 70 insertions(+), 35 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc.js diff --git a/.eslintignore b/.eslintignore index 72df373..9221655 100644 --- a/.eslintignore +++ b/.eslintignore @@ -13,6 +13,7 @@ # misc /coverage/ !.* +.eslintcache # ember-try /.node_modules.ember-try/ diff --git a/.eslintrc.js b/.eslintrc.js index 26d7078..da079e3 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -7,18 +7,17 @@ module.exports = { ecmaVersion: 2018, sourceType: 'module', ecmaFeatures: { - legacyDecorators: true - } + legacyDecorators: true, + }, }, - plugins: [ - 'ember' - ], + plugins: ['ember'], extends: [ 'eslint:recommended', - 'plugin:ember/recommended' + 'plugin:ember/recommended', + 'plugin:prettier/recommended', ], env: { - browser: true + browser: true, }, rules: {}, overrides: [ @@ -26,28 +25,29 @@ module.exports = { { files: [ '.eslintrc.js', + '.prettierrc.js', '.template-lintrc.js', 'ember-cli-build.js', 'testem.js', 'blueprints/*/index.js', 'config/**/*.js', 'lib/*/index.js', - 'server/**/*.js' + 'server/**/*.js', ], parserOptions: { - sourceType: 'script' + sourceType: 'script', }, env: { browser: false, - node: true + node: true, }, plugins: ['node'], extends: ['plugin:node/recommended'], rules: { // this can be removed once the following is fixed // https://github.com/mysticatea/eslint-plugin-node/issues/77 - 'node/no-unpublished-require': 'off' - } - } - ] + 'node/no-unpublished-require': 'off', + }, + }, + ], }; diff --git a/.gitignore b/.gitignore index c40a1b2..7e0f7dd 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ /.env* /.pnp* /.sass-cache +/.eslintcache /connect.lock /coverage/ /libpeerconnection.log diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..9221655 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,21 @@ +# unconventional js +/blueprints/*/files/ +/vendor/ + +# compiled output +/dist/ +/tmp/ + +# dependencies +/bower_components/ +/node_modules/ + +# misc +/coverage/ +!.* +.eslintcache + +# ember-try +/.node_modules.ember-try/ +/bower.json.ember-try +/package.json.ember-try diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..534e6d3 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = { + singleQuote: true, +}; diff --git a/.template-lintrc.js b/.template-lintrc.js index f387370..3b0b9af 100644 --- a/.template-lintrc.js +++ b/.template-lintrc.js @@ -1,5 +1,5 @@ 'use strict'; module.exports = { - extends: 'octane' + extends: 'octane', }; diff --git a/app/templates/application.hbs b/app/templates/application.hbs index ea606ce..840d620 100644 --- a/app/templates/application.hbs +++ b/app/templates/application.hbs @@ -1,3 +1,4 @@ +{{page-title "WebsiteMy"}}
{{outlet}}
diff --git a/config/ember-cli-update.json b/config/ember-cli-update.json index 2f5d8c7..c408f46 100644 --- a/config/ember-cli-update.json +++ b/config/ember-cli-update.json @@ -3,14 +3,13 @@ "packages": [ { "name": "ember-cli", - "version": "3.23.0", + "version": "3.24.0", "blueprints": [ { "name": "app", "outputRepo": "https://github.com/ember-cli/ember-new-output", "codemodsSource": "ember-app-codemods-manifest@1", - "isBaseBlueprint": true, - "options": [] + "isBaseBlueprint": true } ] } diff --git a/config/environment.js b/config/environment.js index 3f047ba..c4de1c3 100644 --- a/config/environment.js +++ b/config/environment.js @@ -1,6 +1,6 @@ 'use strict'; -module.exports = function(environment) { +module.exports = function (environment) { let ENV = { modulePrefix: 'website-my', environment, @@ -13,14 +13,14 @@ module.exports = function(environment) { }, EXTEND_PROTOTYPES: { // Prevent Ember Data from overriding Date.parse. - Date: false - } + Date: false, + }, }, APP: { // Here you can pass flags/options to your application instance // when it is created - } + }, }; if (environment === 'development') { diff --git a/config/targets.js b/config/targets.js index 228a078..4b33327 100644 --- a/config/targets.js +++ b/config/targets.js @@ -3,7 +3,7 @@ const browsers = [ 'last 1 Chrome versions', 'last 1 Firefox versions', - 'last 1 Safari versions' + 'last 1 Safari versions', ]; const isCI = Boolean(process.env.CI); @@ -14,5 +14,5 @@ if (isCI || isProduction) { } module.exports = { - browsers + browsers, }; diff --git a/ember-cli-build.js b/ember-cli-build.js index d690a25..48e94e9 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -2,7 +2,7 @@ const EmberApp = require('ember-cli/lib/broccoli/ember-app'); -module.exports = function(defaults) { +module.exports = function (defaults) { let app = new EmberApp(defaults, { // Add options here }); diff --git a/testem.js b/testem.js index 49f53fe..ed2f371 100644 --- a/testem.js +++ b/testem.js @@ -3,12 +3,8 @@ module.exports = { test_page: 'tests/index.html?hidepassed', disable_watching: true, - launch_in_ci: [ - 'Chrome' - ], - launch_in_dev: [ - 'Chrome' - ], + launch_in_ci: ['Chrome'], + launch_in_dev: ['Chrome'], browser_start_timeout: 120, browser_args: { Chrome: { @@ -20,8 +16,8 @@ module.exports = { '--disable-software-rasterizer', '--mute-audio', '--remote-debugging-port=0', - '--window-size=1440,900' - ].filter(Boolean) - } - } + '--window-size=1440,900', + ].filter(Boolean), + }, + }, }; diff --git a/tests/index.html b/tests/index.html index ad8ac98..546afef 100644 --- a/tests/index.html +++ b/tests/index.html @@ -21,6 +21,13 @@ {{content-for "body"}} {{content-for "test-body"}} +
+
+
+
+
+
+ diff --git a/tests/test-helper.js b/tests/test-helper.js index cb044df..617d1ef 100644 --- a/tests/test-helper.js +++ b/tests/test-helper.js @@ -1,8 +1,12 @@ import Application from 'website-my/app'; import config from 'website-my/config/environment'; +import * as QUnit from 'qunit'; import { setApplication } from '@ember/test-helpers'; +import { setup } from 'qunit-dom'; import { start } from 'ember-qunit'; setApplication(Application.create(config.APP)); +setup(QUnit.assert); + start(); From 98349798ddc4ea52a31be1165b8d7156a2121a1f Mon Sep 17 00:00:00 2001 From: sagarokcredit Date: Tue, 12 Jan 2021 14:23:30 +0530 Subject: [PATCH 4/7] feat(signup.js): Patch user details API integrated --- app/components/form-input.js | 13 +- app/controllers/signup.js | 259 +++++++++++++++++++---------------- app/templates/signup.hbs | 31 +++-- package-lock.json | 6 + 4 files changed, 174 insertions(+), 135 deletions(-) diff --git a/app/components/form-input.js b/app/components/form-input.js index 6cc4ec7..499fece 100644 --- a/app/components/form-input.js +++ b/app/components/form-input.js @@ -1,17 +1,14 @@ -import Component from '@glimmer/component'; -import { action } from '@ember/object'; +import Component from "@glimmer/component"; +import { action } from "@ember/object"; export default class FormInputComponent extends Component { @action inputFieldChanged(event) { - const { - id, - onChange, - validator - } = this.args; + const { id, onChange, validator } = this.args; const value = event.target.value; + if (validator) { - validator(value) + validator(value); } onChange(id, value, validator); } diff --git a/app/controllers/signup.js b/app/controllers/signup.js index af5db04..7f54740 100644 --- a/app/controllers/signup.js +++ b/app/controllers/signup.js @@ -1,194 +1,219 @@ -import Controller from '@ember/controller'; -import { tracked } from '@glimmer/tracking'; -import { action, set } from '@ember/object'; +import Controller from "@ember/controller"; +import { tracked } from "@glimmer/tracking"; +import { action, set } from "@ember/object"; +import HistoryLocation from "@ember/routing/history-location"; + +// const BASE_URL = "https://staging-api.realdevsquad.com"; +const BASE_URL = "http://localhost:3000"; export default class SignupController extends Controller { - @tracked isSubmitDisabled = true - @tracked title = 'Account Details' + @tracked isSubmitDisabled = true; + @tracked title = "Account Details"; @tracked formData = { - firstName: '', - lastName: '', - username: '', - email: '', - phoneNumber: '', - experience: '', - companyName: '', - designation: '', - github: '', - linkedIn: '', - twitter: '', + first_name: "", + last_name: "", + username: "", + email: "", + phone_number: "", + yoe: "", + company_name: "", + designation: "", + github_id: "", + linkedin_id: "", + twitter_id: "", }; @tracked formErrors = { - firstName: false, - lastName: false, + first_name: false, + last_name: false, username: false, email: false, - phoneNumber: false, - experience: false, - companyName: false, + phone_number: false, + yoe: false, + company_name: false, designation: false, - github: false, - linkedIn: false, - twitter: false, + github_id: false, + linkedin_id: false, + twitter_id: false, }; @tracked fields = [ { - id: 'firstName', - label: 'First Name', - type: 'text', - errorMessage: 'First name is required', + id: "first_name", + label: "First Name", + type: "text", + errorMessage: "First name is required", required: true, - showError: false + showError: false, }, { - id: 'lastName', - label: 'Last Name', - type: 'text', - errorMessage: 'Last name is required', + id: "last_name", + label: "Last Name", + type: "text", + errorMessage: "Last name is required", required: true, - showError: false + showError: false, }, { - id: 'username', - label: 'Choose a username', - type: 'text', - errorMessage: 'Username is required', + id: "username", + label: "Choose a username", + type: "text", + errorMessage: "Username is required", required: true, - showError: false + showError: false, }, { - id: 'email', - label: 'Email', - type: 'email', - errorMessage: 'Valid Email is required', + id: "email", + label: "Email", + type: "email", + errorMessage: "Valid Email is required", required: true, showError: false, - validator: this.emailValidator + validator: this.emailValidator, }, { - id: 'phoneNumber', - label: 'Phone Number', - type: 'string', - value: '+91-', - errorMessage: 'Enter a valid phone number', + id: "phone_number", + label: "Phone Number", + type: "string", + value: "+91-", + errorMessage: "Enter a valid phone number", required: false, showError: false, - validator: this.phoneNumberValidator + validator: this.phone_numberValidator, }, { - id: 'experience', - label: 'Experience', - type: 'number', - errorMessage: 'Number of experience is required', + id: "yoe", + label: "yoe", + type: "number", + errorMessage: "Number of yoe is required", required: true, - showError: false + showError: false, }, { - id: 'companyName', - label: 'Company Name ', - type: 'text', - errorMessage: '', + id: "company_name", + label: "Company Name ", + type: "text", + errorMessage: "", required: false, - showError: false + showError: false, }, { - id: 'designation', - label: 'Designation ', - type: 'text', - errorMessage: '', + id: "designation", + label: "Designation ", + type: "text", + errorMessage: "", required: false, - showError: false + showError: false, }, { - id: 'github', - label: 'Github ', - type: 'text', - errorMessage: 'GitHub username is required', + id: "github_id", + label: "Github_id ", + type: "text", + errorMessage: "GitHub_id username is required", required: true, - showError: false + showError: false, }, { - id: 'linkedIn', - label: 'LinkedIn ', - type: 'text', - errorMessage: 'LinkedIn username is required', + id: "linkedin_id", + label: "linkedin_id ", + type: "text", + errorMessage: "linkedin_id username is required", required: true, - showError: false + showError: false, }, { - id: 'twitter', - label: 'Twitter ', - type: 'text', - errorMessage: 'Twitter handle is required', + id: "twitter_id", + label: "twitter_id ", + type: "text", + errorMessage: "twitter_id handle is required", required: true, - showError: false + showError: false, }, { - id: 'website', - label: 'Website ', - type: 'text', - errorMessage: '', + id: "website", + label: "Website ", + type: "text", + errorMessage: "", required: false, - showError: false + showError: false, }, - ] + ]; @action handleFieldChange(name, value) { - const index = this.fields.findIndex(field => field.id === name) - - set(this.formData, name, value) - + const index = this.fields.findIndex((field) => field.id === name); + set(this.formData, name, value); + if (this.fields[index].required && !value) { - this.isSubmitDisabled = true - return set(this.fields[index], 'showError', true) + this.isSubmitDisabled = true; + set(this.fields[index], "showError", true); } else if (!this.fields[index].validator) { - return set(this.fields[index], 'showError', false) + set(this.fields[index], "showError", false); } - const anyErrors = this.fields.reduce((prev, field) => { - if (prev) { - return prev + const anyErrors = this.fields.map((field) => { + if (field.required && this.formData[field.id] === "") { + return true; } - if (field.required && this.formData[field.id] === '') { - return true - } - return false - }, false) + return false; + }); - if (anyErrors) { - this.isSubmitDisabled = true + if (anyErrors.filter(Boolean).length) { + this.isSubmitDisabled = true; + } else { + this.isSubmitDisabled = false; } } - @action phoneNumberValidator(phoneNumber) { - if (typeof phoneNumber !== 'string'){ return false } + @action phoneNumberValidator(phone_number) { + if (typeof phone_number !== "string") { + return false; + } - const pattern=/^(0|[+91]{3})?[7-9][0-9]{9}$/; - const index = this.fields.findIndex((field) => field.id === 'phoneNumber') + const pattern = /^(0|[+91]{3})?[7-9][0-9]{9}$/; + const index = this.fields.findIndex((field) => field.id === "phone_number"); - if (pattern.test(phoneNumber)) { - set(this.fields[index], 'showError', false); + if (pattern.test(phone_number)) { + set(this.fields[index], "showError", false); } else { - set(this.fields[index], 'showError', true); + set(this.fields[index], "showError", true); } } @action emailValidator(email) { - if (typeof email !== 'string') return false; - - const pattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ - const index = this.fields.findIndex((field) => field.type === 'email') + if (typeof email !== "string") return false; + + const pattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; + const index = this.fields.findIndex((field) => field.type === "email"); if (pattern.test(email)) { - set(this.fields[index], 'showError', false); + set(this.fields[index], "showError", false); } else { - set(this.fields[index], 'showError', true); + set(this.fields[index], "showError", true); } + return; } - @action handleSubmit() { + @action async handleSubmit(e) { // submit + // https://github.com/Real-Dev-Squad/website-api-contracts/tree/main/users#patch-usersself + e.preventDefault(); + try { + const response = await fetch(`${BASE_URL}/users/self`, { + method: "PATCH", + body: JSON.stringify(this.formData), + headers: { + "Content-Type": "application/json", + }, + credentials: "include", + }); + const data = await response.json(); + const { statusCode } = data; + if (statusCode === 204) { + return window.open("https://www.realdevsquad.com/goto", "_self"); + } + alert("Something went wrong"); + } catch (error) { + console.log("Error : ", error); + } } } diff --git a/app/templates/signup.hbs b/app/templates/signup.hbs index 1005156..c76ee90 100644 --- a/app/templates/signup.hbs +++ b/app/templates/signup.hbs @@ -1,27 +1,38 @@

{{this.title}}

{{#each this.fields as |field|}} + {{#let this.formData as | myFormData |}} + {{/let}} {{/each}} - + {{#if this.isSubmitDisabled }} + + {{else}} + + {{/if}} {{outlet}} diff --git a/package-lock.json b/package-lock.json index 7f9f265..a57f80b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3590,6 +3590,12 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, + "abortcontroller-polyfill": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.1.tgz", + "integrity": "sha512-yml9NiDEH4M4p0G4AcPkg8AAa4mF3nfYF28VQxaokpO67j9H7gWgmsVWJ/f1Rn+PzsnDYvzJzWIQzCqDKRvWlA==", + "dev": true + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", From cd4a5d426cb57ebdd029ed5d4c99761c1a8ca76c Mon Sep 17 00:00:00 2001 From: sagarokcredit Date: Tue, 12 Jan 2021 15:59:18 +0530 Subject: [PATCH 5/7] Ref(signup.js): Chnages suggested in PR --- app/controllers/signup.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/controllers/signup.js b/app/controllers/signup.js index 7f54740..af2d3be 100644 --- a/app/controllers/signup.js +++ b/app/controllers/signup.js @@ -3,8 +3,7 @@ import { tracked } from "@glimmer/tracking"; import { action, set } from "@ember/object"; import HistoryLocation from "@ember/routing/history-location"; -// const BASE_URL = "https://staging-api.realdevsquad.com"; -const BASE_URL = "http://localhost:3000"; +const BASE_URL = "https://staging-api.realdevsquad.com"; export default class SignupController extends Controller { @tracked isSubmitDisabled = true; @@ -85,13 +84,13 @@ export default class SignupController extends Controller { id: "yoe", label: "yoe", type: "number", - errorMessage: "Number of yoe is required", + errorMessage: "Number of years of experience is required", required: true, showError: false, }, { id: "company_name", - label: "Company Name ", + label: "Company Name / College Name ", type: "text", errorMessage: "", required: false, @@ -109,7 +108,7 @@ export default class SignupController extends Controller { id: "github_id", label: "Github_id ", type: "text", - errorMessage: "GitHub_id username is required", + errorMessage: "GitHub username is required", required: true, showError: false, }, @@ -117,7 +116,7 @@ export default class SignupController extends Controller { id: "linkedin_id", label: "linkedin_id ", type: "text", - errorMessage: "linkedin_id username is required", + errorMessage: "linkedIn username is required", required: true, showError: false, }, @@ -125,7 +124,7 @@ export default class SignupController extends Controller { id: "twitter_id", label: "twitter_id ", type: "text", - errorMessage: "twitter_id handle is required", + errorMessage: "Twitter handle is required", required: true, showError: false, }, From 731a9ed384e83f8115bc9a8f8f794d9873da82de Mon Sep 17 00:00:00 2001 From: sagarokcredit Date: Fri, 15 Jan 2021 10:47:22 +0530 Subject: [PATCH 6/7] Ref(signup.js): Double Quotes replaced --- app/controllers/signup.js | 166 +++++++++++++++++++------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/app/controllers/signup.js b/app/controllers/signup.js index af2d3be..1e3ed7a 100644 --- a/app/controllers/signup.js +++ b/app/controllers/signup.js @@ -1,25 +1,25 @@ -import Controller from "@ember/controller"; -import { tracked } from "@glimmer/tracking"; -import { action, set } from "@ember/object"; -import HistoryLocation from "@ember/routing/history-location"; +import Controller from '@ember/controller'; +import { tracked } from '@glimmer/tracking'; +import { action, set } from '@ember/object'; +import HistoryLocation from '@ember/routing/history-location'; -const BASE_URL = "https://staging-api.realdevsquad.com"; +const BASE_URL = 'https://staging-api.realdevsquad.com'; export default class SignupController extends Controller { @tracked isSubmitDisabled = true; - @tracked title = "Account Details"; + @tracked title = 'Account Details'; @tracked formData = { - first_name: "", - last_name: "", - username: "", - email: "", - phone_number: "", - yoe: "", - company_name: "", - designation: "", - github_id: "", - linkedin_id: "", - twitter_id: "", + first_name: '', + last_name: '', + username: '', + email: '', + phone_number: '', + yoe: '', + company_name: '', + designation: '', + github_id: '', + linkedin_id: '', + twitter_id: '', }; @tracked formErrors = { @@ -38,101 +38,101 @@ export default class SignupController extends Controller { @tracked fields = [ { - id: "first_name", - label: "First Name", - type: "text", - errorMessage: "First name is required", + id: 'first_name', + label: 'First Name', + type: 'text', + errorMessage: 'First name is required', required: true, showError: false, }, { - id: "last_name", - label: "Last Name", - type: "text", - errorMessage: "Last name is required", + id: 'last_name', + label: 'Last Name', + type: 'text', + errorMessage: 'Last name is required', required: true, showError: false, }, { - id: "username", - label: "Choose a username", - type: "text", - errorMessage: "Username is required", + id: 'username', + label: 'Choose a username', + type: 'text', + errorMessage: 'Username is required', required: true, showError: false, }, { - id: "email", - label: "Email", - type: "email", - errorMessage: "Valid Email is required", + id: 'email', + label: 'Email', + type: 'email', + errorMessage: 'Valid Email is required', required: true, showError: false, validator: this.emailValidator, }, { - id: "phone_number", - label: "Phone Number", - type: "string", - value: "+91-", - errorMessage: "Enter a valid phone number", + id: 'phone_number', + label: 'Phone Number', + type: 'string', + value: '+91-', + errorMessage: 'Enter a valid phone number', required: false, showError: false, validator: this.phone_numberValidator, }, { - id: "yoe", - label: "yoe", - type: "number", - errorMessage: "Number of years of experience is required", + id: 'yoe', + label: 'yoe', + type: 'number', + errorMessage: 'Number of years of experience is required', required: true, showError: false, }, { - id: "company_name", - label: "Company Name / College Name ", - type: "text", - errorMessage: "", + id: 'company_name', + label: 'Company Name / College Name ', + type: 'text', + errorMessage: '', required: false, showError: false, }, { - id: "designation", - label: "Designation ", - type: "text", - errorMessage: "", + id: 'designation', + label: 'Designation ', + type: 'text', + errorMessage: '', required: false, showError: false, }, { - id: "github_id", - label: "Github_id ", - type: "text", - errorMessage: "GitHub username is required", + id: 'github_id', + label: 'Github_id ', + type: 'text', + errorMessage: 'GitHub username is required', required: true, showError: false, }, { - id: "linkedin_id", - label: "linkedin_id ", - type: "text", - errorMessage: "linkedIn username is required", + id: 'linkedin_id', + label: 'linkedin_id ', + type: 'text', + errorMessage: 'linkedIn username is required', required: true, showError: false, }, { - id: "twitter_id", - label: "twitter_id ", - type: "text", - errorMessage: "Twitter handle is required", + id: 'twitter_id', + label: 'twitter_id ', + type: 'text', + errorMessage: 'Twitter handle is required', required: true, showError: false, }, { - id: "website", - label: "Website ", - type: "text", - errorMessage: "", + id: 'website', + label: 'Website ', + type: 'text', + errorMessage: '', required: false, showError: false, }, @@ -144,13 +144,13 @@ export default class SignupController extends Controller { if (this.fields[index].required && !value) { this.isSubmitDisabled = true; - set(this.fields[index], "showError", true); + set(this.fields[index], 'showError', true); } else if (!this.fields[index].validator) { - set(this.fields[index], "showError", false); + set(this.fields[index], 'showError', false); } const anyErrors = this.fields.map((field) => { - if (field.required && this.formData[field.id] === "") { + if (field.required && this.formData[field.id] === '') { return true; } return false; @@ -164,30 +164,30 @@ export default class SignupController extends Controller { } @action phoneNumberValidator(phone_number) { - if (typeof phone_number !== "string") { + if (typeof phone_number !== 'string') { return false; } const pattern = /^(0|[+91]{3})?[7-9][0-9]{9}$/; - const index = this.fields.findIndex((field) => field.id === "phone_number"); + const index = this.fields.findIndex((field) => field.id === 'phone_number'); if (pattern.test(phone_number)) { - set(this.fields[index], "showError", false); + set(this.fields[index], 'showError', false); } else { - set(this.fields[index], "showError", true); + set(this.fields[index], 'showError', true); } } @action emailValidator(email) { - if (typeof email !== "string") return false; + if (typeof email !== 'string') return false; const pattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/; - const index = this.fields.findIndex((field) => field.type === "email"); + const index = this.fields.findIndex((field) => field.type === 'email'); if (pattern.test(email)) { - set(this.fields[index], "showError", false); + set(this.fields[index], 'showError', false); } else { - set(this.fields[index], "showError", true); + set(this.fields[index], 'showError', true); } return; } @@ -198,21 +198,21 @@ export default class SignupController extends Controller { e.preventDefault(); try { const response = await fetch(`${BASE_URL}/users/self`, { - method: "PATCH", + method: 'PATCH', body: JSON.stringify(this.formData), headers: { - "Content-Type": "application/json", + 'Content-Type': 'application/json', }, - credentials: "include", + credentials: 'include', }); const data = await response.json(); const { statusCode } = data; if (statusCode === 204) { - return window.open("https://www.realdevsquad.com/goto", "_self"); + return window.open('https://www.realdevsquad.com/goto', '_self'); } - alert("Something went wrong"); + alert('Something went wrong'); } catch (error) { - console.log("Error : ", error); + console.log('Error : ', error); } } } From 46aab334b790af92a5e9017a00ba9b73e9cd62fd Mon Sep 17 00:00:00 2001 From: sagarokcredit Date: Fri, 22 Jan 2021 00:51:24 +0530 Subject: [PATCH 7/7] Ref(signup): minor changes --- app/controllers/signup.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/controllers/signup.js b/app/controllers/signup.js index 8b272f0..e2cace0 100644 --- a/app/controllers/signup.js +++ b/app/controllers/signup.js @@ -14,13 +14,14 @@ export default class SignupController extends Controller { last_name: '', username: '', email: '', - phone_number: '', + phone: '', yoe: '', company_name: '', designation: '', github_id: '', linkedin_id: '', twitter_id: '', + website: '' }; @tracked formErrors = { @@ -28,13 +29,14 @@ export default class SignupController extends Controller { last_name: false, username: false, email: false, - phone_number: false, + phone: false, yoe: false, company_name: false, designation: false, github_id: false, linkedin_id: false, twitter_id: false, + website: false }; @tracked fields = [ @@ -72,14 +74,14 @@ export default class SignupController extends Controller { validator: this.emailValidator, }, { - id: 'phone_number', + id: 'phone', label: 'Phone Number', type: 'string', value: '+91-', errorMessage: 'Enter a valid phone number', required: false, showError: false, - validator: this.phone_numberValidator, + validator: this.phoneValidator, }, { id: 'yoe', @@ -164,15 +166,15 @@ export default class SignupController extends Controller { } } - @action phoneNumberValidator(phone_number) { - if (typeof phone_number !== 'string') { + @action phoneNumberValidator(phone) { + if (typeof phone !== 'string') { return false; } const pattern = /^(0|[+91]{3})?[7-9][0-9]{9}$/; - const index = this.fields.findIndex((field) => field.id === 'phone_number'); + const index = this.fields.findIndex((field) => field.id === 'phone'); - if (pattern.test(phone_number)) { + if (pattern.test(phone)) { set(this.fields[index], 'showError', false); } else { set(this.fields[index], 'showError', true);