From 9a8d3cde434dd5838588000b4212366682b32c9b Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Thu, 15 Mar 2018 22:05:58 -0700 Subject: [PATCH 01/11] Add Typescript addon etc --- app/config/environment.d.ts | 15 +++ package-lock.json | 250 ++++++++++++++++++++++++++++++++++++ package.json | 3 + tsconfig.json | 24 ++++ 4 files changed, 292 insertions(+) create mode 100644 app/config/environment.d.ts create mode 100644 tsconfig.json diff --git a/app/config/environment.d.ts b/app/config/environment.d.ts new file mode 100644 index 00000000..999045bd --- /dev/null +++ b/app/config/environment.d.ts @@ -0,0 +1,15 @@ +export default config; + +/** + * Type declarations for + * import config from './config/environment' + * + * For now these need to be managed by the developer + * since different ember addons can materialize new entries. + */ +declare namespace config { + export var environment: any; + export var modulePrefix: string; + export var podModulePrefix: string; + export var locationType: string; +} diff --git a/package-lock.json b/package-lock.json index 5dd2a489..ab9c6daa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,104 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@ember-decorators/babel-transforms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ember-decorators/babel-transforms/-/babel-transforms-2.0.0.tgz", + "integrity": "sha512-9rPJVNW1W4kzhGePpbx4MHar3RZji3zhvehpQD6HxScl4oz4hPFbX/aOVvhBdIK8PVK553Rtco5Z5PKBjOXZFg==", + "dev": true, + "requires": { + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators-legacy": "1.3.4", + "ember-cli-babel": "6.8.2", + "ember-cli-version-checker": "2.1.0" + }, + "dependencies": { + "ember-cli-version-checker": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.1.0.tgz", + "integrity": "sha512-ssiNyVTp+PphroFum8guHX9py4xU1PCxkRYgb25NxumgjpKTPjhkgTfpRRKXlIQe+/wVMmhf+Uv6w9vSLZKWKQ==", + "dev": true, + "requires": { + "resolve": "1.4.0", + "semver": "5.4.1" + } + } + } + }, + "@ember-decorators/component": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@ember-decorators/component/-/component-2.0.0-beta.2.tgz", + "integrity": "sha512-5HP3U47rm7ipOjx/Vv6rKzwrWpB77JP7t/Vy3vzpH5CI4gSI57m2JwOvQ+mTbtDAAX3AUhxQ/+puXZTci6Mtvw==", + "dev": true, + "requires": { + "@ember-decorators/utils": "2.0.0-beta.4", + "ember-cli-babel": "6.8.2" + } + }, + "@ember-decorators/controller": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@ember-decorators/controller/-/controller-2.0.0-beta.2.tgz", + "integrity": "sha1-4r7jXuhNoCfzYbrt0isrXkPtRkI=", + "dev": true, + "requires": { + "@ember-decorators/utils": "2.0.0-beta.4", + "ember-cli-babel": "6.8.2" + } + }, + "@ember-decorators/data": { + "version": "2.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@ember-decorators/data/-/data-2.0.0-beta.1.tgz", + "integrity": "sha512-ypF5sfZ7uu9wKh/3W+cYpuSTNUgMYc03FFOGl8upraCnE9ijPFsGWZAblUBy9uo4FJlf257Qorw/+eqx7aH4Lw==", + "dev": true, + "requires": { + "@ember-decorators/utils": "2.0.0-beta.4", + "ember-cli-babel": "6.8.2" + } + }, + "@ember-decorators/object": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@ember-decorators/object/-/object-2.0.0-beta.2.tgz", + "integrity": "sha1-4fRMHVVKdw/X2llgeUws1Noes1k=", + "dev": true, + "requires": { + "@ember-decorators/utils": "2.0.0-beta.4", + "ember-cli-babel": "6.8.2", + "ember-compatibility-helpers": "0.1.3" + }, + "dependencies": { + "ember-compatibility-helpers": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ember-compatibility-helpers/-/ember-compatibility-helpers-0.1.3.tgz", + "integrity": "sha512-3YBCYrbZ+HqQRSxbGl9jso1FBX6WjGS9FC7tgmmul3us6vtFPxjjnGN25H5ze2xk/mDCG373p0lm5xG+mVpKkA==", + "dev": true, + "requires": { + "babel-plugin-debug-macros": "0.1.11", + "ember-cli-version-checker": "2.0.0", + "semver": "5.4.1" + } + } + } + }, + "@ember-decorators/service": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@ember-decorators/service/-/service-2.0.0-beta.2.tgz", + "integrity": "sha1-2pihhvm9psiVfeQnj34BzLuEMOs=", + "dev": true, + "requires": { + "@ember-decorators/utils": "2.0.0-beta.4", + "ember-cli-babel": "6.8.2" + } + }, + "@ember-decorators/utils": { + "version": "2.0.0-beta.4", + "resolved": "https://registry.npmjs.org/@ember-decorators/utils/-/utils-2.0.0-beta.4.tgz", + "integrity": "sha512-mnsY/I3HEEylkBNE8pGCecT1U+JXXfygzflnHlsBWQmGvyVkuiAz7VRjBkRcCxUsWYEHUsqBhdHF7bTOs0/S/Q==", + "dev": true, + "requires": { + "ember-cli-babel": "6.8.2", + "ember-compatibility-helpers": "1.0.0-beta.1" + } + }, "@ember/test-helpers": { "version": "0.7.9", "resolved": "https://registry.npmjs.org/@ember/test-helpers/-/test-helpers-0.7.9.tgz", @@ -366,6 +464,12 @@ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, + "array-binsearch": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-binsearch/-/array-binsearch-1.0.1.tgz", + "integrity": "sha1-NVhtygTKmrJZxMRwhDWs0bq7CK0=", + "dev": true + }, "array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", @@ -1031,6 +1135,18 @@ "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", "dev": true }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", @@ -1054,6 +1170,29 @@ "babel-runtime": "6.26.0" } }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-decorators-legacy": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz", + "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=", + "dev": true, + "requires": { + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", @@ -2449,6 +2588,59 @@ } } }, + "broccoli-typescript-compiler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/broccoli-typescript-compiler/-/broccoli-typescript-compiler-2.1.0.tgz", + "integrity": "sha512-/CiSj5p0u8ayRwrm36XmOd6oTvoQZ+060D6HFA2VicE2s/Im7/p1Sjon+vtb2UhQB6sdwhQdFiZkkrl5QRwBIg==", + "dev": true, + "requires": { + "array-binsearch": "1.0.1", + "broccoli-funnel": "1.2.0", + "broccoli-merge-trees": "2.0.0", + "broccoli-plugin": "1.3.0", + "fs-tree-diff": "0.5.6", + "heimdalljs": "0.3.3", + "md5-hex": "2.0.0", + "typescript": "2.5.2", + "walk-sync": "0.3.2" + }, + "dependencies": { + "broccoli-merge-trees": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.0.tgz", + "integrity": "sha1-EK6kbdXOvMi499WlTwqEpPC7kLk=", + "dev": true, + "requires": { + "broccoli-plugin": "1.3.0", + "merge-trees": "1.0.1" + } + }, + "heimdalljs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.3.3.tgz", + "integrity": "sha1-6S0sb3f9RtW/ULYQ0orTF1UFTQs=", + "dev": true, + "requires": { + "rsvp": "3.2.1" + } + }, + "md5-hex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", + "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", + "dev": true, + "requires": { + "md5-o-matic": "0.1.1" + } + }, + "rsvp": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", + "integrity": "sha1-B8tKXfJa3Z6Cbrxn3Mn9idsn2Eo=", + "dev": true + } + } + }, "broccoli-uglify-sourcemap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/broccoli-uglify-sourcemap/-/broccoli-uglify-sourcemap-2.0.0.tgz", @@ -7017,6 +7209,24 @@ "ember-cli-babel": "6.8.2" } }, + "ember-cli-typescript": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.3.tgz", + "integrity": "sha512-aldpZqfRln2ykd/A3xO5N8mSxN8e+Pru+OM4SZEn5c2wan+urikwmo/qfKGK1l8mjWHgtNRyUPXpmX+R9AwIiw==", + "dev": true, + "requires": { + "broccoli-debug": "0.6.3", + "broccoli-funnel": "1.2.0", + "broccoli-merge-trees": "1.2.4", + "broccoli-plugin": "1.3.0", + "broccoli-source": "1.1.0", + "broccoli-stew": "1.5.0", + "broccoli-typescript-compiler": "2.1.0", + "debug": "2.6.8", + "ember-cli-babel": "6.8.2", + "silent-error": "1.1.0" + } + }, "ember-cli-uglify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ember-cli-uglify/-/ember-cli-uglify-2.0.0.tgz", @@ -7046,6 +7256,17 @@ "semver": "5.4.1" } }, + "ember-compatibility-helpers": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/ember-compatibility-helpers/-/ember-compatibility-helpers-1.0.0-beta.1.tgz", + "integrity": "sha512-WsC4tKxMHJNK+aZgmVT//6bAOaGFOI5S63gxsXlsw2I0Fea06AciNaL7sTn/773ld7Ej2ZJo59mpD+UKvNwzcQ==", + "dev": true, + "requires": { + "babel-plugin-debug-macros": "0.1.11", + "ember-cli-version-checker": "2.0.0", + "semver": "5.4.1" + } + }, "ember-composability-tools": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ember-composability-tools/-/ember-composability-tools-0.0.8.tgz", @@ -7949,6 +8170,29 @@ } } }, + "ember-decorators": { + "version": "2.0.0-beta.2", + "resolved": "https://registry.npmjs.org/ember-decorators/-/ember-decorators-2.0.0-beta.2.tgz", + "integrity": "sha1-GiIGeJrHsmH0+C104l3tES96LRk=", + "dev": true, + "requires": { + "@ember-decorators/component": "2.0.0-beta.2", + "@ember-decorators/controller": "2.0.0-beta.2", + "@ember-decorators/data": "2.0.0-beta.1", + "@ember-decorators/object": "2.0.0-beta.2", + "@ember-decorators/service": "2.0.0-beta.2", + "ember-cli-babel": "6.8.2", + "semver": "5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + } + } + }, "ember-export-application-global": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ember-export-application-global/-/ember-export-application-global-2.0.0.tgz", @@ -19251,6 +19495,12 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typescript": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.5.2.tgz", + "integrity": "sha1-A4qV99m7tCCxvzW6MdTFwd0//jQ=", + "dev": true + }, "uc.micro": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.3.tgz", diff --git a/package.json b/package.json index be3704c8..40e3ede9 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "test": "ember test" }, "devDependencies": { + "@ember-decorators/babel-transforms": "^2.0.0", "broccoli-asset-rev": "^2.4.5", "chrono-node": "^1.3.4", "coveralls": "^2.12.0", @@ -49,12 +50,14 @@ "ember-cli-sentry": "^3.0.0-beta", "ember-cli-shims": "^1.2.0", "ember-cli-sri": "^2.1.0", + "ember-cli-typescript": "^1.0.3", "ember-cli-uglify": "^2.0.0", "ember-composable-helpers": "^2.1.0", "ember-concurrency": "^0.8.13", "ember-cpm": "3.1.0", "ember-css-transitions": "^0.1.10", "ember-data": "~2.18.0", + "ember-decorators": "^2.0.0-beta.2", "ember-export-application-global": "^2.0.0", "ember-fetch": "^3.2.7", "ember-highcharts": "^0.5.4", diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..bd8d60ba --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es2017", + "allowJs": true, + "moduleResolution": "node", + "noEmitOnError": false, + "noEmit": true, + "sourceMap": true, + "baseUrl": ".", + "module": "es6", + "paths": { + "prison-rideshare-ui/tests/*": ["tests/*"], + "prison-rideshare-ui/*": [ + "app/*" + ] + } + }, + "exclude": [ + "tmp", + "dist", + "node_modules", + "bower_components" + ] +} From 8529d411517be08c11b430b79485fc3f88aabae8 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 21:52:21 -0500 Subject: [PATCH 02/11] Update Typescript addon --- app/config/environment.d.ts | 13 +- package-lock.json | 2137 ++++++++++++++++++++++++-- package.json | 12 +- tsconfig.json | 33 +- types/ember-data.d.ts | 8 + types/prison-rideshare-ui/index.d.ts | 10 + 6 files changed, 2087 insertions(+), 126 deletions(-) create mode 100644 types/ember-data.d.ts create mode 100644 types/prison-rideshare-ui/index.d.ts diff --git a/app/config/environment.d.ts b/app/config/environment.d.ts index 999045bd..3252cc3d 100644 --- a/app/config/environment.d.ts +++ b/app/config/environment.d.ts @@ -7,9 +7,10 @@ export default config; * For now these need to be managed by the developer * since different ember addons can materialize new entries. */ -declare namespace config { - export var environment: any; - export var modulePrefix: string; - export var podModulePrefix: string; - export var locationType: string; -} +declare const config: { + environment: any; + modulePrefix: string; + podModulePrefix: string; + locationType: string; + rootURL: string; +}; diff --git a/package-lock.json b/package-lock.json index ab9c6daa..f7ee1451 100644 --- a/package-lock.json +++ b/package-lock.json @@ -220,6 +220,88 @@ "@glimmer/di": "0.2.0" } }, + "@types/ember": { + "version": "2.8.23", + "resolved": "https://registry.npmjs.org/@types/ember/-/ember-2.8.23.tgz", + "integrity": "sha512-y1oqo5LGqdXKayZr4d9IR7MzP88HqnKBYsPCfIJqgGw2eahYVDsaiQYm5EKVY9rwr7lxB0scHuErUoab9/2fAg==", + "dev": true, + "requires": { + "@types/handlebars": "4.0.37", + "@types/jquery": "3.3.2", + "@types/rsvp": "4.0.1" + } + }, + "@types/ember-data": { + "version": "2.14.17", + "resolved": "https://registry.npmjs.org/@types/ember-data/-/ember-data-2.14.17.tgz", + "integrity": "sha512-OifX9oEItRIJ6LInPAeIzAV1vTBV0BPu9JkXM67/J8QMpHYtsl1Wv29axKx6EUlFButbplfVHHgNRd05HKjdgw==", + "dev": true, + "requires": { + "@types/rsvp": "4.0.1" + } + }, + "@types/ember-qunit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/ember-qunit/-/ember-qunit-3.0.2.tgz", + "integrity": "sha512-J2bvkFBpm9w9H1w2QaIqW/dYQybO86yxAcRCWBA1pfUt9ZLHJuz3VDwpr7mbRz3GXloW81rT1eINr4JIenl/4Q==", + "dev": true, + "requires": { + "@types/ember": "2.8.23", + "@types/ember-test-helpers": "0.7.1" + } + }, + "@types/ember-test-helpers": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@types/ember-test-helpers/-/ember-test-helpers-0.7.1.tgz", + "integrity": "sha512-ypEz7Hly/IU9pB2fq5riY+tS5CVmVMPf4Q6Ff7jaxMVOtxrD4ZuE2LmAHQzn2ofywAtnLla9j90aIU/WGPkdxg==", + "dev": true, + "requires": { + "@types/ember": "2.8.23", + "@types/htmlbars-inline-precompile": "1.0.0", + "@types/jquery": "3.3.2", + "@types/rsvp": "4.0.1" + } + }, + "@types/ember-testing-helpers": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/ember-testing-helpers/-/ember-testing-helpers-0.0.3.tgz", + "integrity": "sha512-QG3QBBR7PFzz3zhLTbsZWBgk3cNQIZYVG6rbXKMM36+YP3dcSkkWQ6CRTyQImUIfgAkYPMaWqGlGEtkuanq3Bg==", + "dev": true, + "requires": { + "@types/jquery": "3.3.2", + "@types/rsvp": "4.0.1" + } + }, + "@types/handlebars": { + "version": "4.0.37", + "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.0.37.tgz", + "integrity": "sha512-c/g99PQsJEFYdK3LT1qgPAZ61fu/oFOaEhov/6ZuUNMi1xQFbAOSThlX8fAQLf+QoGXtyv4S39OjIRXf3HkBtw==", + "dev": true + }, + "@types/htmlbars-inline-precompile": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/htmlbars-inline-precompile/-/htmlbars-inline-precompile-1.0.0.tgz", + "integrity": "sha512-J7+MkDbUl/Sb57OuniuvVr4HLlHV2ub2y31HmD9QiepLEMj0zGIv4hbyOfGHTKWCcU0r7lxcDdHdLyUjpuL21w==", + "dev": true + }, + "@types/jquery": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.2.tgz", + "integrity": "sha512-ByZwKSEqteAta4VrIalqGJZmMq9lWPD3H3f5Xs6RR8B7zQRDPGUtjoKBYNtKTz/7LgBEQMdlxVbbjQfUaEIItA==", + "dev": true + }, + "@types/qunit": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@types/qunit/-/qunit-2.5.1.tgz", + "integrity": "sha512-DkkiPc/QP9F9yeifr342t/wYBSDq96ISAgLCFNfWGIGfHkyC4GODtL2GPVvHdUvwOKF3xbrP6+JaUzF0hsNwuw==", + "dev": true + }, + "@types/rsvp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/rsvp/-/rsvp-4.0.1.tgz", + "integrity": "sha512-eYg/Voyrfw7QSryAUF4CVrYLHENWPinzCODgbbcD/7GLOa7xWK7O2avFq1zB5XJSO/Pfq45V3vDplpZ2NM0iIg==", + "dev": true + }, "JSONStream": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", @@ -464,10 +546,10 @@ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, - "array-binsearch": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-binsearch/-/array-binsearch-1.0.1.tgz", - "integrity": "sha1-NVhtygTKmrJZxMRwhDWs0bq7CK0=", + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-equal": { @@ -586,6 +668,12 @@ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, "ast-traverse": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz", @@ -651,6 +739,12 @@ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", "dev": true }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, "async-promise-queue": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/async-promise-queue/-/async-promise-queue-1.0.4.tgz", @@ -667,6 +761,12 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "dev": true + }, "autoprefixer": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.3.tgz", @@ -1635,6 +1735,79 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, "base64-arraybuffer": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", @@ -2588,59 +2761,6 @@ } } }, - "broccoli-typescript-compiler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/broccoli-typescript-compiler/-/broccoli-typescript-compiler-2.1.0.tgz", - "integrity": "sha512-/CiSj5p0u8ayRwrm36XmOd6oTvoQZ+060D6HFA2VicE2s/Im7/p1Sjon+vtb2UhQB6sdwhQdFiZkkrl5QRwBIg==", - "dev": true, - "requires": { - "array-binsearch": "1.0.1", - "broccoli-funnel": "1.2.0", - "broccoli-merge-trees": "2.0.0", - "broccoli-plugin": "1.3.0", - "fs-tree-diff": "0.5.6", - "heimdalljs": "0.3.3", - "md5-hex": "2.0.0", - "typescript": "2.5.2", - "walk-sync": "0.3.2" - }, - "dependencies": { - "broccoli-merge-trees": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.0.tgz", - "integrity": "sha1-EK6kbdXOvMi499WlTwqEpPC7kLk=", - "dev": true, - "requires": { - "broccoli-plugin": "1.3.0", - "merge-trees": "1.0.1" - } - }, - "heimdalljs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.3.3.tgz", - "integrity": "sha1-6S0sb3f9RtW/ULYQ0orTF1UFTQs=", - "dev": true, - "requires": { - "rsvp": "3.2.1" - } - }, - "md5-hex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", - "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", - "dev": true, - "requires": { - "md5-o-matic": "0.1.1" - } - }, - "rsvp": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", - "integrity": "sha1-B8tKXfJa3Z6Cbrxn3Mn9idsn2Eo=", - "dev": true - } - } - }, "broccoli-uglify-sourcemap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/broccoli-uglify-sourcemap/-/broccoli-uglify-sourcemap-2.0.0.tgz", @@ -2977,6 +3097,37 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "cached-path-relative": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz", @@ -3184,6 +3335,35 @@ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "clean-base-url": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clean-base-url/-/clean-base-url-1.0.0.tgz", @@ -3340,6 +3520,16 @@ "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", "dev": true }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, "color-convert": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", @@ -3667,6 +3857,12 @@ "integrity": "sha1-axMYZUIP2BtBO6mUtE02VTERUrY=", "dev": true }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, "core-js": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", @@ -3881,12 +4077,71 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -7210,61 +7465,1004 @@ } }, "ember-cli-typescript": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.3.tgz", - "integrity": "sha512-aldpZqfRln2ykd/A3xO5N8mSxN8e+Pru+OM4SZEn5c2wan+urikwmo/qfKGK1l8mjWHgtNRyUPXpmX+R9AwIiw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.1.tgz", + "integrity": "sha1-r5wA5fCjfdMRe6a3gVPgFvNIL9I=", "dev": true, "requires": { - "broccoli-debug": "0.6.3", - "broccoli-funnel": "1.2.0", - "broccoli-merge-trees": "1.2.4", + "broccoli-debug": "0.6.4", + "broccoli-funnel": "2.0.1", + "broccoli-merge-trees": "2.0.0", "broccoli-plugin": "1.3.0", - "broccoli-source": "1.1.0", "broccoli-stew": "1.5.0", - "broccoli-typescript-compiler": "2.1.0", - "debug": "2.6.8", - "ember-cli-babel": "6.8.2", - "silent-error": "1.1.0" - } - }, - "ember-cli-uglify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-uglify/-/ember-cli-uglify-2.0.0.tgz", - "integrity": "sha1-sJZyfX0XGKzJv+XRvIHOJsr99so=", - "dev": true, - "requires": { - "broccoli-uglify-sourcemap": "2.0.0", - "lodash.defaultsdeep": "4.6.0" - } - }, - "ember-cli-valid-component-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-valid-component-name/-/ember-cli-valid-component-name-1.0.0.tgz", - "integrity": "sha1-cVUM44fgIzBl8wswsVEKot++h+8=", - "dev": true, - "requires": { - "silent-error": "1.1.0" - } - }, - "ember-cli-version-checker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.0.0.tgz", - "integrity": "sha1-4ffY5M3NdSrDXxYR5Nqog220xMc=", - "dev": true, - "requires": { - "resolve": "1.4.0", - "semver": "5.4.1" - } - }, - "ember-compatibility-helpers": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/ember-compatibility-helpers/-/ember-compatibility-helpers-1.0.0-beta.1.tgz", - "integrity": "sha512-WsC4tKxMHJNK+aZgmVT//6bAOaGFOI5S63gxsXlsw2I0Fea06AciNaL7sTn/773ld7Ej2ZJo59mpD+UKvNwzcQ==", - "dev": true, - "requires": { - "babel-plugin-debug-macros": "0.1.11", - "ember-cli-version-checker": "2.0.0", - "semver": "5.4.1" + "chalk": "2.4.1", + "chokidar": "2.0.3", + "debug": "3.1.0", + "ember-cli": "2.18.2", + "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", + "ember-cli-path-utils": "1.0.0", + "ember-cli-string-utils": "1.1.0", + "ember-cli-test-info": "1.0.0", + "ember-cli-valid-component-name": "1.0.0", + "ember-cli-version-checker": "2.1.2", + "ember-router-generator": "1.2.3", + "escape-string-regexp": "1.0.5", + "execa": "0.9.0", + "exists-sync": "0.0.4", + "fs-extra": "5.0.0", + "inflection": "1.12.0", + "resolve": "1.7.1", + "rimraf": "2.6.2", + "rsvp": "4.8.2", + "silent-error": "1.1.0", + "symlink-or-copy": "1.1.8", + "walk-sync": "0.3.2" + }, + "dependencies": { + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", + "dev": true + }, + "amd-name-resolver": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/amd-name-resolver/-/amd-name-resolver-1.0.0.tgz", + "integrity": "sha1-Dlk7KNb6MyarF5gQftrqlhBG6Ng=", + "dev": true, + "requires": { + "ensure-posix-path": "1.0.2" + } + }, + "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" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", + "dev": true + }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", + "dev": true + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "broccoli-debug": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/broccoli-debug/-/broccoli-debug-0.6.4.tgz", + "integrity": "sha512-CixMUndBqTljCc26i6ubhBrGbAWXpWBsGJFce6ZOr76Tul2Ev1xxM0tmf7OjSzdYhkr5BrPd/CNbR9VMPi+NBg==", + "dev": true, + "requires": { + "broccoli-plugin": "1.3.0", + "fs-tree-diff": "0.5.6", + "heimdalljs": "0.2.5", + "heimdalljs-logger": "0.1.9", + "symlink-or-copy": "1.1.8", + "tree-sync": "1.2.2" + } + }, + "broccoli-funnel": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-2.0.1.tgz", + "integrity": "sha512-C8Lnp9TVsSSiZMGEF16C0dCiNg2oJqUKwuZ1K4kVC6qRPG/2Cj/rtB5kRCC9qEbwqhX71bDbfHROx0L3J7zXQg==", + "dev": true, + "requires": { + "array-equal": "1.0.0", + "blank-object": "1.0.2", + "broccoli-plugin": "1.3.0", + "debug": "2.6.9", + "fast-ordered-set": "1.0.3", + "fs-tree-diff": "0.5.6", + "heimdalljs": "0.2.5", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "path-posix": "1.0.0", + "rimraf": "2.6.2", + "symlink-or-copy": "1.1.8", + "walk-sync": "0.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "broccoli-merge-trees": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-2.0.0.tgz", + "integrity": "sha1-EK6kbdXOvMi499WlTwqEpPC7kLk=", + "dev": true, + "requires": { + "broccoli-plugin": "1.3.0", + "merge-trees": "1.0.1" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "chokidar": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz", + "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.1.3", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" + } + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "core-object": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/core-object/-/core-object-3.1.5.tgz", + "integrity": "sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==", + "dev": true, + "requires": { + "chalk": "2.4.1" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ember-cli": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-2.18.2.tgz", + "integrity": "sha1-uxUxOhUTmoUkiobSA2Q/kYukD1c=", + "dev": true, + "requires": { + "amd-name-resolver": "1.0.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "bower-config": "1.4.1", + "bower-endpoint-parser": "0.2.2", + "broccoli-babel-transpiler": "6.1.2", + "broccoli-brocfile-loader": "0.18.0", + "broccoli-builder": "0.18.10", + "broccoli-concat": "3.2.2", + "broccoli-config-loader": "1.0.1", + "broccoli-config-replace": "1.1.2", + "broccoli-debug": "0.6.4", + "broccoli-funnel": "2.0.1", + "broccoli-funnel-reducer": "1.0.0", + "broccoli-merge-trees": "2.0.0", + "broccoli-middleware": "1.0.0", + "broccoli-source": "1.1.0", + "broccoli-stew": "1.5.0", + "calculate-cache-key-for-tree": "1.1.0", + "capture-exit": "1.2.0", + "chalk": "2.4.1", + "clean-base-url": "1.0.0", + "compression": "1.7.1", + "configstore": "3.1.1", + "console-ui": "2.1.0", + "core-object": "3.1.5", + "dag-map": "2.0.2", + "diff": "3.4.0", + "ember-cli-broccoli-sane-watcher": "2.0.4", + "ember-cli-is-package-missing": "1.0.0", + "ember-cli-legacy-blueprints": "0.2.1", + "ember-cli-lodash-subset": "2.0.1", + "ember-cli-normalize-entity-name": "1.0.0", + "ember-cli-preprocess-registry": "3.1.1", + "ember-cli-string-utils": "1.1.0", + "ember-try": "0.2.22", + "ensure-posix-path": "1.0.2", + "execa": "0.8.0", + "exists-sync": "0.0.4", + "exit": "0.1.2", + "express": "4.16.2", + "filesize": "3.5.11", + "find-up": "2.1.0", + "fs-extra": "4.0.3", + "fs-tree-diff": "0.5.6", + "get-caller-file": "1.0.2", + "git-repo-info": "1.4.1", + "glob": "7.1.1", + "heimdalljs": "0.2.5", + "heimdalljs-fs-monitor": "0.1.0", + "heimdalljs-graph": "0.3.4", + "heimdalljs-logger": "0.1.9", + "http-proxy": "1.16.2", + "inflection": "1.12.0", + "is-git-url": "1.0.0", + "isbinaryfile": "3.0.2", + "js-yaml": "3.6.1", + "json-stable-stringify": "1.0.1", + "leek": "0.0.24", + "lodash.template": "4.4.0", + "markdown-it": "8.4.0", + "markdown-it-terminal": "0.1.0", + "minimatch": "3.0.4", + "morgan": "1.9.0", + "node-modules-path": "1.0.1", + "nopt": "3.0.6", + "npm-package-arg": "6.0.0", + "portfinder": "1.0.13", + "promise-map-series": "0.2.3", + "quick-temp": "0.1.8", + "resolve": "1.7.1", + "rsvp": "4.8.2", + "sane": "2.2.0", + "semver": "5.4.1", + "silent-error": "1.1.0", + "sort-package-json": "1.7.1", + "symlink-or-copy": "1.1.8", + "temp": "0.8.3", + "testem": "2.5.0", + "tiny-lr": "1.0.5", + "tree-sync": "1.2.2", + "uuid": "3.1.0", + "validate-npm-package-name": "3.0.0", + "walk-sync": "0.3.2", + "yam": "0.0.22" + }, + "dependencies": { + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "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.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "ember-cli-version-checker": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.1.2.tgz", + "integrity": "sha512-sjkHGr4IGXnO3EUcY21380Xo9Qf6bC8HWH4D62bVnrQop/8uha5XgMQRoAflMCeH6suMrezQL287JUoYc2smEw==", + "dev": true, + "requires": { + "resolve": "1.7.1", + "semver": "5.4.1" + } + }, + "engine.io": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz", + "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==", + "dev": true, + "requires": { + "accepts": "1.3.4", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "3.1.0", + "engine.io-parser": "2.1.2", + "ws": "3.3.3" + } + }, + "engine.io-client": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "3.1.0", + "engine.io-parser": "2.1.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "3.3.3", + "xmlhttprequest-ssl": "1.5.5", + "yeast": "0.1.2" + } + }, + "engine.io-parser": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", + "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.4", + "has-binary2": "1.0.3" + } + }, + "execa": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.9.0.tgz", + "integrity": "sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "rsvp": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.2.tgz", + "integrity": "sha512-8CU1Wjxvzt6bt8zln+hCjyieneU9s0LRW+lPRsjyVCY8Vm1kTbK7btBIrCGg6yY9U4undLDm/b1hKEEi1tLypg==", + "dev": true + }, + "socket.io": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "dev": true, + "requires": { + "debug": "3.1.0", + "engine.io": "3.2.0", + "has-binary2": "1.0.3", + "socket.io-adapter": "1.1.1", + "socket.io-client": "2.1.1", + "socket.io-parser": "3.2.0" + } + }, + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", + "dev": true + }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "dev": true, + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "3.1.0", + "engine.io-client": "3.2.1", + "has-binary2": "1.0.3", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "3.2.0", + "to-array": "0.1.4" + } + }, + "socket.io-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "3.1.0", + "isarray": "2.0.1" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "testem": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/testem/-/testem-2.5.0.tgz", + "integrity": "sha1-n7sMml0DPUVmTeqOdxnq2MUIoPg=", + "dev": true, + "requires": { + "backbone": "1.3.3", + "bluebird": "3.5.1", + "charm": "1.0.2", + "commander": "2.11.0", + "consolidate": "0.14.5", + "execa": "0.10.0", + "express": "4.16.2", + "fireworm": "0.7.1", + "glob": "7.1.2", + "http-proxy": "1.16.2", + "js-yaml": "3.6.1", + "lodash.assignin": "4.2.0", + "lodash.castarray": "4.4.0", + "lodash.clonedeep": "4.5.0", + "lodash.find": "4.6.0", + "lodash.uniqby": "4.7.0", + "mkdirp": "0.5.1", + "mustache": "2.3.0", + "node-notifier": "5.1.2", + "npmlog": "4.1.2", + "printf": "0.2.5", + "rimraf": "2.6.2", + "socket.io": "2.1.1", + "spawn-args": "0.2.0", + "styled_string": "0.0.1", + "tap-parser": "5.4.0", + "xmldom": "0.1.27" + }, + "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.3.0" + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "6.0.5", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + } + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.1", + "ultron": "1.1.1" + } + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "dev": true + } + } + }, + "ember-cli-uglify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-uglify/-/ember-cli-uglify-2.0.0.tgz", + "integrity": "sha1-sJZyfX0XGKzJv+XRvIHOJsr99so=", + "dev": true, + "requires": { + "broccoli-uglify-sourcemap": "2.0.0", + "lodash.defaultsdeep": "4.6.0" + } + }, + "ember-cli-valid-component-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-valid-component-name/-/ember-cli-valid-component-name-1.0.0.tgz", + "integrity": "sha1-cVUM44fgIzBl8wswsVEKot++h+8=", + "dev": true, + "requires": { + "silent-error": "1.1.0" + } + }, + "ember-cli-version-checker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.0.0.tgz", + "integrity": "sha1-4ffY5M3NdSrDXxYR5Nqog220xMc=", + "dev": true, + "requires": { + "resolve": "1.4.0", + "semver": "5.4.1" + } + }, + "ember-compatibility-helpers": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/ember-compatibility-helpers/-/ember-compatibility-helpers-1.0.0-beta.1.tgz", + "integrity": "sha512-WsC4tKxMHJNK+aZgmVT//6bAOaGFOI5S63gxsXlsw2I0Fea06AciNaL7sTn/773ld7Ej2ZJo59mpD+UKvNwzcQ==", + "dev": true, + "requires": { + "babel-plugin-debug-macros": "0.1.11", + "ember-cli-version-checker": "2.0.0", + "semver": "5.4.1" } }, "ember-composability-tools": { @@ -11686,6 +12884,27 @@ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "dev": true }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, "external-editor": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", @@ -12170,6 +13389,15 @@ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -13390,6 +14618,12 @@ "readable-stream": "2.3.3" } }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -13686,6 +14920,23 @@ } } }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "dev": true, + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + } + } + }, "has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", @@ -13704,6 +14955,66 @@ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, "hash-base": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", @@ -14191,6 +15502,15 @@ "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", "dev": true }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -14221,6 +15541,34 @@ "builtin-modules": "1.1.1" } }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -14323,6 +15671,23 @@ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, + "is-odd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "dev": true, + "requires": { + "is-number": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -14347,6 +15712,23 @@ "path-is-inside": "1.0.2" } }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", @@ -15135,6 +16517,12 @@ "lodash._slice": "2.3.0" } }, + "lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=", + "dev": true + }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -15443,12 +16831,27 @@ "tmpl": "1.0.4" } }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, "markdown-it": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.0.tgz", @@ -15748,6 +17151,27 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -15855,6 +17279,52 @@ "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", "dev": true }, + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -15873,6 +17343,12 @@ "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", "dev": true }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", @@ -16167,6 +17643,45 @@ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", "dev": true }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -16177,6 +17692,23 @@ "is-extendable": "0.1.1" } }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -16777,6 +18309,12 @@ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", "dev": true }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, "passwd-user": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/passwd-user/-/passwd-user-1.2.1.tgz", @@ -16792,6 +18330,12 @@ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", "dev": true }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -17148,6 +18692,12 @@ } } }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, "postcss": { "version": "6.0.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz", @@ -17714,6 +19264,16 @@ "is-equal-shallow": "0.1.3" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, "regexpu": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", @@ -17931,6 +19491,12 @@ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", "dev": true }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, "restore-cursor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", @@ -17941,6 +19507,12 @@ "onetime": "1.1.0" } }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -18048,6 +19620,15 @@ "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", "dev": true }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, "sane": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/sane/-/sane-2.2.0.tgz", @@ -18235,6 +19816,29 @@ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", "dev": true }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, "setprototypeof": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", @@ -18389,6 +19993,114 @@ "no-case": "2.3.2" } }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.8", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", @@ -18582,6 +20294,27 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + }, + "dependencies": { + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + } + } + }, "source-map-support": { "version": "0.4.17", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.17.tgz", @@ -18678,6 +20411,15 @@ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, "sprintf-js": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", @@ -18781,6 +20523,27 @@ "integrity": "sha1-kQ9dKu17Ugxud3SZwfMuE5/eyxA=", "dev": true }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", @@ -19368,6 +21131,48 @@ } } }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + } + } + }, "tough-cookie": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", @@ -19496,9 +21301,9 @@ "dev": true }, "typescript": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.5.2.tgz", - "integrity": "sha1-A4qV99m7tCCxvzW6MdTFwd0//jQ=", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz", + "integrity": "sha512-K7g15Bb6Ra4lKf7Iq2l/I5/En+hLIHmxWZGq3D4DIRNFxMNV6j2SHSvDOqs2tGd4UvD/fJvrwopzQXjLrT7Itw==", "dev": true }, "uc.micro": { @@ -19595,6 +21400,41 @@ "util-deprecate": "1.0.2" } }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", @@ -19616,6 +21456,52 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "untildify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz", @@ -19625,6 +21511,18 @@ "os-homedir": "1.0.2" } }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -19652,6 +21550,23 @@ "ip-regex": "1.0.3" } }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, "user-home": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", diff --git a/package.json b/package.json index 40e3ede9..da9edfdf 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,13 @@ }, "devDependencies": { "@ember-decorators/babel-transforms": "^2.0.0", + "@types/ember": "^2.8.23", + "@types/ember-data": "^2.14.17", + "@types/ember-qunit": "^3.0.2", + "@types/ember-test-helpers": "^0.7.1", + "@types/ember-testing-helpers": "0.0.3", + "@types/qunit": "^2.5.1", + "@types/rsvp": "^4.0.1", "broccoli-asset-rev": "^2.4.5", "chrono-node": "^1.3.4", "coveralls": "^2.12.0", @@ -50,7 +57,7 @@ "ember-cli-sentry": "^3.0.0-beta", "ember-cli-shims": "^1.2.0", "ember-cli-sri": "^2.1.0", - "ember-cli-typescript": "^1.0.3", + "ember-cli-typescript": "^1.3.1", "ember-cli-uglify": "^2.0.0", "ember-composable-helpers": "^2.1.0", "ember-concurrency": "^0.8.13", @@ -74,7 +81,8 @@ "eslint-plugin-ember": "^5.0.0", "highcharts": "^6.0.4", "loader.js": "^4.2.3", - "paper-data-table": "0.1.4" + "paper-data-table": "0.1.4", + "typescript": "^2.8.3" }, "engines": { "node": "9.2.0", diff --git a/tsconfig.json b/tsconfig.json index bd8d60ba..5f770d79 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,22 +3,41 @@ "target": "es2017", "allowJs": true, "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "noImplicitAny": true, + "noImplicitThis": true, + "alwaysStrict": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, "noEmitOnError": false, "noEmit": true, - "sourceMap": true, + "inlineSourceMap": true, + "inlineSources": true, "baseUrl": ".", "module": "es6", "paths": { - "prison-rideshare-ui/tests/*": ["tests/*"], + "prison-rideshare-ui/tests/*": [ + "tests/*" + ], + "prison-rideshare-ui/mirage/*": [ + "mirage/*" + ], "prison-rideshare-ui/*": [ "app/*" + ], + "*": [ + "types/*" ] } }, - "exclude": [ - "tmp", - "dist", - "node_modules", - "bower_components" + "include": [ + "app", + "tests", + "types", + "mirage" ] } diff --git a/types/ember-data.d.ts b/types/ember-data.d.ts new file mode 100644 index 00000000..712a79d6 --- /dev/null +++ b/types/ember-data.d.ts @@ -0,0 +1,8 @@ +/** + * Catch-all for ember-data. + */ +declare module 'ember-data' { + interface ModelRegistry { + [key: string]: any; + } +} diff --git a/types/prison-rideshare-ui/index.d.ts b/types/prison-rideshare-ui/index.d.ts new file mode 100644 index 00000000..898f8fbd --- /dev/null +++ b/types/prison-rideshare-ui/index.d.ts @@ -0,0 +1,10 @@ + +import Ember from 'ember'; + +declare global { + interface Array extends Ember.ArrayPrototypeExtensions {} + // interface Function extends Ember.FunctionPrototypeExtensions {} +} + +export {}; + From 9b1598378a34f5ef7a3a748e96dd6f16c6c599f2 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 22:54:07 -0500 Subject: [PATCH 03/11] Change to noEmitOnError --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 5f770d79..d9f6712d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,7 @@ "noUnusedLocals": true, "noUnusedParameters": true, "noImplicitReturns": true, - "noEmitOnError": false, + "noEmitOnError": true, "noEmit": true, "inlineSourceMap": true, "inlineSources": true, From fc342445363b52797a5b44d786a33adf341b9c33 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 22:54:37 -0500 Subject: [PATCH 04/11] Convert Slot --- app/models/{slot.js => slot.ts} | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) rename app/models/{slot.js => slot.ts} (65%) diff --git a/app/models/slot.js b/app/models/slot.ts similarity index 65% rename from app/models/slot.js rename to app/models/slot.ts index c269c649..2ee79bad 100644 --- a/app/models/slot.js +++ b/app/models/slot.ts @@ -1,12 +1,12 @@ import DS from 'ember-data'; import { computed } from '@ember/object'; -export default DS.Model.extend({ +export default class Slot extends DS.Model.extend({ start: DS.attr('date'), end: DS.attr('date'), count: DS.attr('number'), - commitments: DS.hasMany({ async: false }), + commitments: DS.hasMany('commitment', { async: false }), isNotFull: computed('commitments.length', 'count', function() { const count = this.get('count'); @@ -14,4 +14,10 @@ export default DS.Model.extend({ return count === 0 || commitmentCount < count; }) -}); +}) {} + +declare module 'ember-data' { + interface ModelRegistry { + 'slot': Slot + } +} From 1d93e5052f5c7d62d132170b4fd040c4fad99927 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 22:54:55 -0500 Subject: [PATCH 05/11] Convert CalendarDay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit baby’s first real conversion! --- app/components/calendar-day.js | 11 ----------- app/components/calendar-day.ts | 16 ++++++++++++++++ types/prison-rideshare-ui/index.d.ts | 5 +++++ 3 files changed, 21 insertions(+), 11 deletions(-) delete mode 100644 app/components/calendar-day.js create mode 100644 app/components/calendar-day.ts diff --git a/app/components/calendar-day.js b/app/components/calendar-day.js deleted file mode 100644 index 9287c7fa..00000000 --- a/app/components/calendar-day.js +++ /dev/null @@ -1,11 +0,0 @@ -import Component from '@ember/component'; -import { computed } from '@ember/object'; - -export default Component.extend({ - daySlots: computed('day.id', 'slots.@each.start', function() { - const dayDateString = this.get('day.date').toDateString(); - const slots = this.get('slots'); - - return slots.filter(slot => dayDateString === slot.get('start').toDateString()).sortBy('start'); - }) -}); diff --git a/app/components/calendar-day.ts b/app/components/calendar-day.ts new file mode 100644 index 00000000..ac3de902 --- /dev/null +++ b/app/components/calendar-day.ts @@ -0,0 +1,16 @@ +import Component from '@ember/component'; +import { computed } from '@ember/object'; + +import Slot from 'prison-rideshare-ui/models/slot'; + +export default class CalendarDay extends Component { + slots!: Slot[]; + day!: Day; + + daySlots = computed('day.id', 'slots.@each.start', function(this: CalendarDay): Slot[] { + const dayDateString = this.day.date.toDateString(); + const slots = this.get('slots'); + + return slots.filter(slot => dayDateString === slot.get('start').toDateString()).sortBy('start'); + }); +}; diff --git a/types/prison-rideshare-ui/index.d.ts b/types/prison-rideshare-ui/index.d.ts index 898f8fbd..a2daa291 100644 --- a/types/prison-rideshare-ui/index.d.ts +++ b/types/prison-rideshare-ui/index.d.ts @@ -4,6 +4,11 @@ import Ember from 'ember'; declare global { interface Array extends Ember.ArrayPrototypeExtensions {} // interface Function extends Ember.FunctionPrototypeExtensions {} + + interface Day { + id: String; + date: Date; + } } export {}; From 0533d2b38d46cd901601e1942965e6636abf5d66 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 23:04:15 -0500 Subject: [PATCH 06/11] Convert LinkedContact MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There’s a Typescript error that Handlebars.Utils doesn’t exist…? --- .../{linked-contact.js => linked-contact.ts} | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) rename app/components/{linked-contact.js => linked-contact.ts} (76%) diff --git a/app/components/linked-contact.js b/app/components/linked-contact.ts similarity index 76% rename from app/components/linked-contact.js rename to app/components/linked-contact.ts index 5db8999d..e8f4bf21 100644 --- a/app/components/linked-contact.js +++ b/app/components/linked-contact.ts @@ -3,18 +3,19 @@ import Component from '@ember/component'; import { computed } from '@ember/object'; import { htmlSafe } from '@ember/string'; -export default Component.extend({ - tagName: 'span', +export default class LinkedContact extends Component { + contact!: String; + tagName = 'span'; - linkedContact: computed('contact', function() { + linkedContact = computed('contact', function() { const phonePattern = /(\([0-9]{3}\)\s?|[0-9]{3}-?\s?)[0-9]{3}-?\s?[0-9]{4}/g; const contact = this.get('contact'); if (contact) { - return htmlSafe(contact.replace(phonePattern, function(number) { + return htmlSafe(contact.replace(phonePattern, function(number: String) { const escapedNumber = Ember.Handlebars.Utils.escapeExpression(number); return `${escapedNumber}`; })); } }) -}); +}; From ee52d94c69b921df970afd4d1e1103f7d0f9247d Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 23:12:18 -0500 Subject: [PATCH 07/11] Convert PersonBadge --- app/components/person-badge.js | 13 ------------- app/components/person-badge.ts | 13 +++++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) delete mode 100644 app/components/person-badge.js create mode 100644 app/components/person-badge.ts diff --git a/app/components/person-badge.js b/app/components/person-badge.js deleted file mode 100644 index 346cee6c..00000000 --- a/app/components/person-badge.js +++ /dev/null @@ -1,13 +0,0 @@ -import Component from '@ember/component'; - -export default Component.extend({ - classNames: ['person-badge'], - - showContact: false, - - actions: { - toggleContact() { - this.toggleProperty('showContact'); - } - } -}); diff --git a/app/components/person-badge.ts b/app/components/person-badge.ts new file mode 100644 index 00000000..160ca7fa --- /dev/null +++ b/app/components/person-badge.ts @@ -0,0 +1,13 @@ +import Component from '@ember/component'; + +export default class PersonBadge extends Component { + classNames = ['person-badge']; + + showContact = false; + + actions = { + toggleContact(this: PersonBadge) { + this.toggleProperty('showContact'); + } + } +}; From 8d7fabdeed44a4c99106d728d9c7a72630367554 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 23:28:06 -0500 Subject: [PATCH 08/11] Convert more models --- app/models/commitment.js | 6 ------ app/models/commitment.ts | 6 ++++++ app/models/{institution.js => institution.ts} | 6 +++--- app/models/{person.js => person.ts} | 8 ++++---- app/models/{reimbursement.js => reimbursement.ts} | 8 ++++---- app/utils/{dollars.js => dollars.ts} | 4 ++-- types/prison-rideshare-ui/index.d.ts | 4 ++++ 7 files changed, 23 insertions(+), 19 deletions(-) delete mode 100644 app/models/commitment.js create mode 100644 app/models/commitment.ts rename app/models/{institution.js => institution.ts} (75%) rename app/models/{person.js => person.ts} (81%) rename app/models/{reimbursement.js => reimbursement.ts} (74%) rename app/utils/{dollars.js => dollars.ts} (71%) diff --git a/app/models/commitment.js b/app/models/commitment.js deleted file mode 100644 index 7de20627..00000000 --- a/app/models/commitment.js +++ /dev/null @@ -1,6 +0,0 @@ -import DS from 'ember-data'; - -export default DS.Model.extend({ - slot: DS.belongsTo({ async: false }), - person: DS.belongsTo() -}); diff --git a/app/models/commitment.ts b/app/models/commitment.ts new file mode 100644 index 00000000..56c399cf --- /dev/null +++ b/app/models/commitment.ts @@ -0,0 +1,6 @@ +import DS from 'ember-data'; + +export default class Commitment extends DS.Model.extend({ + slot: DS.belongsTo('slot', { async: false }), + person: DS.belongsTo('person') +}) {} diff --git a/app/models/institution.js b/app/models/institution.ts similarity index 75% rename from app/models/institution.js rename to app/models/institution.ts index ae1fb035..c077866d 100644 --- a/app/models/institution.js +++ b/app/models/institution.ts @@ -2,7 +2,7 @@ import { computed, get } from '@ember/object'; import DS from 'ember-data'; import dollars from 'prison-rideshare-ui/utils/dollars'; -export default DS.Model.extend({ +export default class Institution extends DS.Model.extend({ name: DS.attr(), rate: DS.attr('number', {defaultValue: 0}), @@ -11,10 +11,10 @@ export default DS.Model.extend({ validationErrors: computed('errors.[]', function() { const attributes = get(this.constructor, 'attributes'); - return attributes._keys.list.reduce((response, key) => { + return attributes._keys.list.reduce((response: ValidationDictionary, key: string) => { const errors = this.get(`errors.${key}`) || []; response[key] = errors.mapBy('message'); return response; }, {}); }) -}); +}) {} diff --git a/app/models/person.js b/app/models/person.ts similarity index 81% rename from app/models/person.js rename to app/models/person.ts index bded50b4..aac9e361 100644 --- a/app/models/person.js +++ b/app/models/person.ts @@ -1,7 +1,7 @@ import { computed, get } from '@ember/object'; import DS from 'ember-data'; -export default DS.Model.extend({ +export default class Person extends DS.Model.extend({ name: DS.attr(), email: DS.attr('string'), @@ -14,7 +14,7 @@ export default DS.Model.extend({ notes: DS.attr('string'), selfNotes: DS.attr('string'), - reimbursements: DS.hasMany(), + reimbursements: DS.hasMany('reimbursement'), drivings: DS.hasMany('ride', {inverse: 'driver'}), carOwnings: DS.hasMany('ride', {inverse: 'carOwner'}), @@ -28,10 +28,10 @@ export default DS.Model.extend({ validationErrors: computed('errors.[]', function() { const attributes = get(this.constructor, 'attributes'); - return attributes._keys.list.reduce((response, key) => { + return attributes._keys.list.reduce((response: ValidationDictionary, key: string) => { const errors = this.get(`errors.${key}`) || []; response[key] = errors.mapBy('message'); return response; }, {}); }) -}); +}) {} diff --git a/app/models/reimbursement.js b/app/models/reimbursement.ts similarity index 74% rename from app/models/reimbursement.js rename to app/models/reimbursement.ts index bc4d60b2..1092abaf 100644 --- a/app/models/reimbursement.js +++ b/app/models/reimbursement.ts @@ -1,18 +1,18 @@ import DS from 'ember-data'; import dollars from 'prison-rideshare-ui/utils/dollars'; -export default DS.Model.extend({ +export default class Reimbursement extends DS.Model.extend({ foodExpenses: DS.attr('number', {defaultValue: 0}), carExpenses: DS.attr('number', {defaultValue: 0}), - person: DS.belongsTo(), + person: DS.belongsTo('person'), donation: DS.attr('boolean'), processed: DS.attr('boolean'), foodExpensesDollars: dollars('foodExpenses'), carExpensesDollars: dollars('carExpenses'), - ride: DS.belongsTo(), + ride: DS.belongsTo('ride'), insertedAt: DS.attr('date') -}); +}) {} diff --git a/app/utils/dollars.js b/app/utils/dollars.ts similarity index 71% rename from app/utils/dollars.js rename to app/utils/dollars.ts index 1d81af15..9acda9dc 100644 --- a/app/utils/dollars.js +++ b/app/utils/dollars.ts @@ -1,12 +1,12 @@ import { computed } from '@ember/object'; -export default function(property) { +export default function(property: string) { return computed(property, { get() { return this.get(property)/100; }, - set(key, value) { + set(_key: string, value: number) { this.set(property, Math.floor(value*100)); return value; } diff --git a/types/prison-rideshare-ui/index.d.ts b/types/prison-rideshare-ui/index.d.ts index a2daa291..557aa187 100644 --- a/types/prison-rideshare-ui/index.d.ts +++ b/types/prison-rideshare-ui/index.d.ts @@ -9,6 +9,10 @@ declare global { id: String; date: Date; } + + interface ValidationDictionary { + [index: string]: string; + } } export {}; From 5118cc5da7caf5f351e6b95e7e58ec4e9cbc0148 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 23:31:01 -0500 Subject: [PATCH 09/11] Add missing interface lookups --- app/models/commitment.ts | 6 ++++++ app/models/institution.ts | 6 ++++++ app/models/person.ts | 6 ++++++ app/models/reimbursement.ts | 6 ++++++ 4 files changed, 24 insertions(+) diff --git a/app/models/commitment.ts b/app/models/commitment.ts index 56c399cf..a0591c60 100644 --- a/app/models/commitment.ts +++ b/app/models/commitment.ts @@ -4,3 +4,9 @@ export default class Commitment extends DS.Model.extend({ slot: DS.belongsTo('slot', { async: false }), person: DS.belongsTo('person') }) {} + +declare module 'ember-data' { + interface ModelRegistry { + 'commitment': Commitment + } +} diff --git a/app/models/institution.ts b/app/models/institution.ts index c077866d..4d7ee435 100644 --- a/app/models/institution.ts +++ b/app/models/institution.ts @@ -18,3 +18,9 @@ export default class Institution extends DS.Model.extend({ }, {}); }) }) {} + +declare module 'ember-data' { + interface ModelRegistry { + institution: Institution + } +} diff --git a/app/models/person.ts b/app/models/person.ts index aac9e361..6db31f83 100644 --- a/app/models/person.ts +++ b/app/models/person.ts @@ -35,3 +35,9 @@ export default class Person extends DS.Model.extend({ }, {}); }) }) {} + +declare module 'ember-data' { + interface ModelRegistry { + person: Person + } +} diff --git a/app/models/reimbursement.ts b/app/models/reimbursement.ts index 1092abaf..7fb3db20 100644 --- a/app/models/reimbursement.ts +++ b/app/models/reimbursement.ts @@ -16,3 +16,9 @@ export default class Reimbursement extends DS.Model.extend({ insertedAt: DS.attr('date') }) {} + +declare module 'ember-data' { + interface ModelRegistry { + reimbursement: Reimbursement + } +} From c428dda5d9de9edb86b44ba21b000be49b9a45fd Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 23:46:45 -0500 Subject: [PATCH 10/11] Convert Debt Does the import error matter??? --- app/models/{debt.js => debt.ts} | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) rename app/models/{debt.js => debt.ts} (84%) diff --git a/app/models/debt.js b/app/models/debt.ts similarity index 84% rename from app/models/debt.js rename to app/models/debt.ts index f6581c84..1609df80 100644 --- a/app/models/debt.js +++ b/app/models/debt.ts @@ -6,10 +6,10 @@ import dollars from 'prison-rideshare-ui/utils/dollars'; import sum from 'ember-cpm/macros/sum'; -export default DS.Model.extend({ - person: DS.belongsTo(), +export default class Debt extends DS.Model.extend({ + person: DS.belongsTo('person'), - rides: DS.hasMany(), + rides: DS.hasMany('ride'), descendingRides: sort('rides', 'descendingRideSort'), descendingRideSort: Object.freeze(['start:desc']), @@ -30,4 +30,10 @@ export default DS.Model.extend({ totalExpenses: sum('foodExpenses', 'carExpenses'), totalExpensesDollars: dollars('totalExpenses') -}); +}) {} + +declare module 'ember-data' { + interface ModelRegistry { + debt: Debt + } +} From a533ce6787e86defe567b62e44f0a6be7208ba55 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Fri, 18 May 2018 23:50:05 -0500 Subject: [PATCH 11/11] Convert AnonymiseAddress --- app/utils/{anonymise-address.js => anonymise-address.ts} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename app/utils/{anonymise-address.js => anonymise-address.ts} (84%) diff --git a/app/utils/anonymise-address.js b/app/utils/anonymise-address.ts similarity index 84% rename from app/utils/anonymise-address.js rename to app/utils/anonymise-address.ts index 65e0acb6..91fde08a 100644 --- a/app/utils/anonymise-address.js +++ b/app/utils/anonymise-address.ts @@ -1,4 +1,4 @@ -export default function anonymiseAddress(address) { +export default function anonymiseAddress(address: string) { return address .trim() .replace(/^#?(\d+-\d+)/, (dashedNumber) => dashedNumber.split('-')[1])