diff --git a/app/config/environment.d.ts b/app/config/environment.d.ts new file mode 100644 index 0000000..3639a23 --- /dev/null +++ b/app/config/environment.d.ts @@ -0,0 +1,14 @@ +export default config; + +/** + * Type declarations for + * import config from 'my-app/config/environment' + */ +declare const config: { + environment: string; + modulePrefix: string; + podModulePrefix: string; + locationType: 'history' | 'hash' | 'none' | 'auto'; + rootURL: string; + APP: Record; +}; diff --git a/package.json b/package.json index 3471fc6..130b24c 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,33 @@ "@frontile/forms": "^0.14.0", "@glimmer/component": "^1.0.4", "@glimmer/tracking": "^1.0.4", + "@types/ember-data": "^4.4.0", + "@types/ember-data__adapter": "^4.0.0", + "@types/ember-data__model": "^4.0.0", + "@types/ember-data__serializer": "^4.0.0", + "@types/ember-data__store": "^4.0.0", + "@types/ember-qunit": "^5.0.0", + "@types/ember-resolver": "^5.0.11", + "@types/ember__application": "^4.0.0", + "@types/ember__array": "^4.0.1", + "@types/ember__component": "^4.0.8", + "@types/ember__controller": "^4.0.0", + "@types/ember__debug": "^4.0.1", + "@types/ember__engine": "^4.0.0", + "@types/ember__error": "^4.0.0", + "@types/ember__object": "^4.0.3", + "@types/ember__polyfills": "^4.0.0", + "@types/ember__routing": "^4.0.7", + "@types/ember__runloop": "^4.0.1", + "@types/ember__service": "^4.0.0", + "@types/ember__string": "^3.0.9", + "@types/ember__template": "^4.0.0", + "@types/ember__test": "^4.0.0", + "@types/ember__test-helpers": "^2.8.0", + "@types/ember__utils": "^4.0.0", + "@types/htmlbars-inline-precompile": "^3.0.0", + "@types/qunit": "^2.19.2", + "@types/rsvp": "^4.0.4", "active-model-adapter": "^4.0.0", "babel-eslint": "^10.1.0", "broccoli-asset-rev": "^3.0.0", @@ -51,6 +78,8 @@ "ember-cli-postcss": "^8.0.0", "ember-cli-sri": "^2.1.1", "ember-cli-terser": "^4.0.2", + "ember-cli-typescript": "^5.1.0", + "ember-cli-typescript-blueprints": "^3.0.0", "ember-composable-helpers": "^5.0.0", "ember-data": "~3.28.6", "ember-data-paperclip": "https://github.com/mcfiredrill/ember-data-paperclip.git", @@ -91,6 +120,7 @@ "qunit-dom": "^1.6.0", "shrimp-calendar": "https://github.com/mcfiredrill/shrimp-calendar.git", "tailwindcss": "3.1.6", + "typescript": "^4.7.4", "webpack": "^5.72.0" }, "engines": { diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3b0f0e8 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,85 @@ +{ + "compilerOptions": { + "target": "ES2021", + "module": "ES2020", + "moduleResolution": "node", + + // Trying to check Ember apps and addons with `allowJs: true` is a recipe + // for many unresolveable type errors, because with *considerable* extra + // configuration it ends up including many files which are *not* valid and + // cannot be: they *appear* to be resolve-able to TS, but are in fact not in + // valid Node-resolveable locations and may not have TS-ready types. This + // will likely improve over time + "allowJs": false, + + // --- TS for SemVer Types compatibility + // Strictness settings -- you should *not* change these: Ember code is not + // guaranteed to type check with these set to looser values. + "strict": true, + "noUncheckedIndexedAccess": true, + + // Interop: these are viral and will require anyone downstream of your + // package to *also* set them to true. If you *must* enable them to consume + // an upstream package, you should document that for downstream consumers to + // be aware of. + // + // These *are* safe for apps to enable, since they do not *have* downstream + // consumers; but leaving them off is still preferred when possible, since + // it makes it easier to switch between apps and addons and have the same + // rules for what can be imported and how. + "allowSyntheticDefaultImports": false, + "esModuleInterop": false, + + // --- Lint-style rules + + // TypeScript also supplies some lint-style checks; nearly all of them are + // better handled by ESLint with the `@typescript-eslint`. This one is more + // like a safety check, though, so we leave it on. + "noPropertyAccessFromIndexSignature": true, + + // --- Compilation/integration settings + // Setting `noEmitOnError` here allows ember-cli-typescript to catch errors + // and inject them into Ember CLI's build error reporting, which provides + // nice feedback for when + "noEmitOnError": true, + + // We use Babel for emitting runtime code, because it's very important that + // we always and only use the same transpiler for non-stable features, in + // particular decorators. If you were to change this to `true`, it could + // lead to accidentally generating code with `tsc` instead of Babel, and + // could thereby result in broken code at runtime. + "noEmit": true, + + // Ember makes heavy use of decorators; TS does not support them at all + // without this flag. + "experimentalDecorators": true, + + // Support generation of source maps. Note: you must *also* enable source + // maps in your `ember-cli-babel` config and/or `babel.config.js`. + "declaration": true, + "declarationMap": true, + "inlineSourceMap": true, + "inlineSources": true, + + // The combination of `baseUrl` with `paths` allows Ember's classic package + // layout, which is not resolveable with the Node resolution algorithm, to + // work with TypeScript. + "baseUrl": ".", + "paths": { + "streampusher-frontend/tests/*": [ + "tests/*" + ], + "streampusher-frontend/*": [ + "app/*" + ], + "*": [ + "types/*" + ] + } + }, + "include": [ + "app/**/*", + "tests/**/*", + "types/**/*" + ] +} diff --git a/types/ember-data/types/registries/model.d.ts b/types/ember-data/types/registries/model.d.ts new file mode 100644 index 0000000..e7a68fc --- /dev/null +++ b/types/ember-data/types/registries/model.d.ts @@ -0,0 +1,6 @@ +/** + * Catch-all for ember-data. + */ +export default interface ModelRegistry { + [key: string]: any; +} diff --git a/types/global.d.ts b/types/global.d.ts new file mode 100644 index 0000000..6396159 --- /dev/null +++ b/types/global.d.ts @@ -0,0 +1,6 @@ +// Types for compiled templates +declare module 'streampusher-frontend/templates/*' { + import { TemplateFactory } from 'htmlbars-inline-precompile'; + const tmpl: TemplateFactory; + export default tmpl; +} diff --git a/types/streampusher-frontend/index.d.ts b/types/streampusher-frontend/index.d.ts new file mode 100644 index 0000000..d2f5fc1 --- /dev/null +++ b/types/streampusher-frontend/index.d.ts @@ -0,0 +1,11 @@ +import Ember from 'ember'; + +declare global { + // Prevents ESLint from "fixing" this via its auto-fix to turn it into a type + // alias (e.g. after running any Ember CLI generator) + // eslint-disable-next-line @typescript-eslint/no-empty-interface + interface Array extends Ember.ArrayPrototypeExtensions {} + // interface Function extends Ember.FunctionPrototypeExtensions {} +} + +export {}; diff --git a/yarn.lock b/yarn.lock index 04ac7e2..69f7534 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2092,6 +2092,219 @@ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== +"@types/ember-data@*", "@types/ember-data@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@types/ember-data/-/ember-data-4.4.0.tgz#de6cea2f069d7ccb65f9c332a71a397f25943772" + integrity sha512-3iAjaMaGFhcLWODKuygg2rd6Nf7an7lWVDmuLmpOwKxUItB0vWVQKi+QQ+6RzWRlWxadIPUM0/thn/lt2L+SrQ== + dependencies: + "@types/ember" "*" + "@types/ember__object" "*" + "@types/rsvp" "*" + +"@types/ember-data__adapter@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember-data__adapter/-/ember-data__adapter-4.0.0.tgz#026acd53795cc81c49090ed5a033ffe40093b0dc" + integrity sha512-qyXYzNOEKDWk4RSYpwa1TG9WFvWb0bEDLNGW92zy/4hFDbV4LMz06XqWPZ2tDqhagz1uTvMKLXhTwKgVDEmFRw== + dependencies: + "@types/ember-data" "*" + +"@types/ember-data__model@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember-data__model/-/ember-data__model-4.0.0.tgz#e6c145fd55bdabb6cc86a5013aabc35ea4268b17" + integrity sha512-2AYPQZWYrm5RS4qx5ajtkVs5nH4hADdKRV1l7+OoPTitXbXA4hNwvra68QhRcBR6cxM9ALlxkC/Fz84pDB2Oaw== + dependencies: + "@types/ember-data" "*" + +"@types/ember-data__serializer@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember-data__serializer/-/ember-data__serializer-4.0.0.tgz#2e39804691fe89f3095b5d670b0afe6673c7ab15" + integrity sha512-hUq9c4XyVsHRSOjVevHdj7c1rG8o9OpC6qZJ4oGUZSvbRDIXHp2YTCUcbx0qqX+ryYyYpZlSeYKYtcVlLvJ4hg== + dependencies: + "@types/ember-data" "*" + +"@types/ember-data__store@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember-data__store/-/ember-data__store-4.0.0.tgz#d4039424b4b26c98c6417dc98028b151c6c81dee" + integrity sha512-J0hDf9LcG9T/DT/w/1E6P++K37yma+ANXN10ijT+fWKP5b3BE5uk7i1XNHmuKhfUzMQ1GzoO3nUxnTlnTr75oA== + dependencies: + "@types/ember-data" "*" + +"@types/ember-qunit@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/ember-qunit/-/ember-qunit-5.0.0.tgz#e39749d129dc7643df13d8df94225867c57d006e" + integrity sha512-p7ZZUbohO5E57JsUC6fxD8gveV9LcSnPIx2J86WF7FNLno/2oKvWnI+j5AtobSoy86hfZZaYjiIuW0dNe1eblQ== + dependencies: + "@types/ember-resolver" "*" + "@types/ember__test" "*" + "@types/ember__test-helpers" "*" + "@types/qunit" "*" + +"@types/ember-resolver@*", "@types/ember-resolver@^5.0.11": + version "5.0.11" + resolved "https://registry.yarnpkg.com/@types/ember-resolver/-/ember-resolver-5.0.11.tgz#db931fb5c2d6bda4e29adea132fb48c7ed17aa62" + integrity sha512-2BL9d8kBdNUO9Je6KBF7Q34BSwbQG6vzCzTeSopt8FAmLDfaDU9xDDdyZobpfy9GR36mCSeG9b9wr4bgYh/MYw== + dependencies: + "@types/ember__object" "*" + +"@types/ember@*": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember/-/ember-4.0.0.tgz#0c29294fa0e5aa07ba6090f60243707dde8fc411" + integrity sha512-IR4o8OkFgoiRKVLRI8URvyNhEBSkjO5DXp2900/TptxOl0Retu8/tKtFaRTwkqteg2a0/6zXAA1rpFb3BbxNpA== + dependencies: + "@types/ember__application" "*" + "@types/ember__array" "*" + "@types/ember__component" "*" + "@types/ember__controller" "*" + "@types/ember__debug" "*" + "@types/ember__engine" "*" + "@types/ember__error" "*" + "@types/ember__object" "*" + "@types/ember__polyfills" "*" + "@types/ember__routing" "*" + "@types/ember__runloop" "*" + "@types/ember__service" "*" + "@types/ember__string" "*" + "@types/ember__template" "*" + "@types/ember__test" "*" + "@types/ember__utils" "*" + "@types/htmlbars-inline-precompile" "*" + "@types/rsvp" "*" + +"@types/ember__application@*", "@types/ember__application@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__application/-/ember__application-4.0.0.tgz#a4d2fead37845550dad83bb1fd8afd52052563a7" + integrity sha512-1Atwevfyu1/vjiezPPdP4s96BxWGelEQlCJRU5ZQV9WlzVuMTuCDPumZ1lQdS4/EYycFZeod030FjE3CT9mZFA== + dependencies: + "@types/ember" "*" + "@types/ember-resolver" "*" + "@types/ember__application" "*" + "@types/ember__engine" "*" + "@types/ember__object" "*" + "@types/ember__routing" "*" + +"@types/ember__array@*", "@types/ember__array@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/ember__array/-/ember__array-4.0.1.tgz#b62126ed080b29351a5633bd28e595a5cfee27ce" + integrity sha512-fwrYcYmFbsEnu77Xn9z3WSAp6tqpwn8Wksx8RzGg5pib6VmFD/dkT5jefwoKtlcImsxUNEoP1VgWKrdrpGaQcg== + dependencies: + "@types/ember" "*" + "@types/ember__array" "*" + "@types/ember__object" "*" + +"@types/ember__component@*", "@types/ember__component@^4.0.8": + version "4.0.8" + resolved "https://registry.yarnpkg.com/@types/ember__component/-/ember__component-4.0.8.tgz#09a5f954f734fcbe6c988a173f4de4fa09084470" + integrity sha512-YVGn/kpWtpZAu6I2XtS9fsZV+78/sON5NyKzK5EOUyMiCwwpbUr5XL8dTSdkHehYrsfzJikcYvqpmwbNZSJxGQ== + dependencies: + "@types/ember" "*" + "@types/ember__component" "*" + "@types/ember__object" "*" + +"@types/ember__controller@*", "@types/ember__controller@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__controller/-/ember__controller-4.0.0.tgz#f8891840ebb84cb54eba82385e3b2dbe805d692a" + integrity sha512-rxJt8McWaaIZFsu2z+IB7TvgSjglAPb07Pj0F7OGvZQ3j9NV7kreqqics/cHQIEBG3GgVAewBE+xI5D6PNq/vg== + dependencies: + "@types/ember__object" "*" + +"@types/ember__debug@*", "@types/ember__debug@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/ember__debug/-/ember__debug-4.0.1.tgz#1e4a8a1045484295dddc7bd4356d0b3014b0d509" + integrity sha512-qrKk6Ujh6oev7TSB0eB7AEmQWKCt5t84k/K3hDvJXUiLU3YueN0kyt7aPoIAkVjC111A9FqDugl9n60+N5yeEw== + dependencies: + "@types/ember-resolver" "*" + "@types/ember__debug" "*" + "@types/ember__object" "*" + +"@types/ember__engine@*", "@types/ember__engine@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__engine/-/ember__engine-4.0.0.tgz#e39c06d98c7a085912508e8257c48a70196c1a87" + integrity sha512-AfJHIWaBeZ+TZWJbSoUz7LK+z8uNPjMqmucz8C5u+EV2NDiaq02oGPTB4SeKInLNBMga8c5xvz0gVefZJnTBnQ== + dependencies: + "@types/ember-resolver" "*" + "@types/ember__engine" "*" + "@types/ember__object" "*" + +"@types/ember__error@*", "@types/ember__error@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__error/-/ember__error-4.0.0.tgz#c73037e65c1c3d7060b97f98135ba73c712972b1" + integrity sha512-1WVMR65/QTqPzMWafK2vKEwGafILxRxItbWJng6eEJyKDHRvvHFCl3XzJ4dQjdFcfOlozsn0mmEYCpjKoyzMqA== + +"@types/ember__object@*", "@types/ember__object@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/ember__object/-/ember__object-4.0.3.tgz#c8410863e5950a0bd84708ce5a7224335002870e" + integrity sha512-25vYl0SBgZ7wGem16ELJ+rtA/sNMNnbFgNzDomA33qtc7tXgbiwTlGQh1HWoN5y7yiqdfMGZcFCLVWD+t5gjfw== + dependencies: + "@types/ember" "*" + "@types/ember__object" "*" + "@types/rsvp" "*" + +"@types/ember__polyfills@*", "@types/ember__polyfills@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__polyfills/-/ember__polyfills-4.0.0.tgz#d83ae94ff2890ad47798315426d9916f39ff4ae6" + integrity sha512-Yk85J18y1Ys6agoIBLdJWu6ZkWe68oaC9JPyW7BhOINVNKm89PXrR/yxdOJ1/vN1Hj7ZZQKq+4X6fz3sxebavA== + +"@types/ember__routing@*", "@types/ember__routing@^4.0.7": + version "4.0.7" + resolved "https://registry.yarnpkg.com/@types/ember__routing/-/ember__routing-4.0.7.tgz#16cc442fcee2dda06dc79bb3d7fd5002f154ad07" + integrity sha512-iWsk8C0WIqqK6dgK1UdJisyQLs6rVq/+A2f7fXjdLJHA+SAHK8aqfCHHFkTuiy4sXkM/PBINmP9qHpk4KrScbw== + dependencies: + "@types/ember" "*" + "@types/ember__controller" "*" + "@types/ember__object" "*" + "@types/ember__routing" "*" + "@types/ember__service" "*" + +"@types/ember__runloop@*", "@types/ember__runloop@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/ember__runloop/-/ember__runloop-4.0.1.tgz#7f6e45af7dbf1158655ef3ad852852b0bf87065f" + integrity sha512-3HrsavVrdgxUkYptQUv/e9RwJG02cV9WbnJxKSvwl9ZYpeX4JbuDVucjTWk5BAvJUVtbiQLPGzLEHZ6daoCbbg== + dependencies: + "@types/ember" "*" + "@types/ember__runloop" "*" + +"@types/ember__service@*", "@types/ember__service@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__service/-/ember__service-4.0.0.tgz#ae6164e3b5d927fe17513b49867b52dc0222490d" + integrity sha512-FbN2y6tRb6NIV+kmzQcxRAoB17vH7qHCfzcKlxsmt2EI7fboLTcdeKpZKPBEromRXg83fx67QX1b95WcwSGtaw== + dependencies: + "@types/ember__object" "*" + +"@types/ember__string@*", "@types/ember__string@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@types/ember__string/-/ember__string-3.0.9.tgz#669188ccea5a61777a36bf88a05ba6875dc9b7d7" + integrity sha512-v9QwhhfTTgJH6PCviWlz3JgcraYdSWQoTg2XN5Z7bPgXMJYXczxB/N22L9FnuFgDYdN87yXdTJv6E9rw2YGEhw== + +"@types/ember__template@*", "@types/ember__template@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__template/-/ember__template-4.0.0.tgz#3423b6ddc3a6cf0b13a1e0fd5f1a84eec664a095" + integrity sha512-51bAEQecMKpDYRXMmVVfU7excrtxDJixRU7huUsAm4acBCqL2+TmMgTqZEkOQSNy6qnKUc2ktSzX28a9//C6pA== + +"@types/ember__test-helpers@*", "@types/ember__test-helpers@^2.8.0": + version "2.8.0" + resolved "https://registry.yarnpkg.com/@types/ember__test-helpers/-/ember__test-helpers-2.8.0.tgz#9e8fb470935b1f94ba60b2c673b720addaf36940" + integrity sha512-lAnpTPmGNuocrJiIxFP6pkMWhEeTmrqsa4yBKjaBBxDXWF1qh3CCWEr/Tj7oe7HVUyL7w53mxyPIjskvCyiEBw== + dependencies: + "@types/ember-resolver" "*" + "@types/ember__application" "*" + "@types/ember__error" "*" + "@types/ember__test-helpers" "*" + "@types/htmlbars-inline-precompile" "*" + +"@types/ember__test@*", "@types/ember__test@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__test/-/ember__test-4.0.0.tgz#1a7dcbe24fedfc34fa60547b03f130a14397c4b6" + integrity sha512-vI/qhZkexJLN25lp1UAfjJv4R6pPtrQlAmPDXkKd8PNjwRk3KANFVRzdghN7HWhXgQ+s91PbvxEnZ3eZiRPdcQ== + dependencies: + "@types/ember__application" "*" + +"@types/ember__utils@*", "@types/ember__utils@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/ember__utils/-/ember__utils-4.0.0.tgz#a7e9e11334b5e203324e6155ff74c2b33ec21567" + integrity sha512-gwSFUm+6t6StkQxSllbn9lqRms/dXMCQDieRfaTGN8IRatnKjJoEPME3A0T6O9afsU6viBQyqlPyFxsOWknYkg== + dependencies: + "@types/ember" "*" + "@types/eslint-scope@^3.7.3": version "3.7.3" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" @@ -2162,6 +2375,11 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/htmlbars-inline-precompile@*", "@types/htmlbars-inline-precompile@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/htmlbars-inline-precompile/-/htmlbars-inline-precompile-3.0.0.tgz#4d3f19eeb2af9f4605620e13a566dae3952a4f68" + integrity sha512-n1YwM/Q937KmS9W4Ytran71nzhhcT2FDQI00eRGBNUyeErLZspBdDBewEe1F8tcRlUdsCVo2AZBLJsRjEceTRg== + "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" @@ -2197,6 +2415,11 @@ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== +"@types/qunit@*", "@types/qunit@^2.19.2": + version "2.19.2" + resolved "https://registry.yarnpkg.com/@types/qunit/-/qunit-2.19.2.tgz#81404b3c8349594ef25964d532363cd917e60180" + integrity sha512-hVOSrAcRtRY2R2iCQopzkiSy6BowuSFuR5llHE9R3FDxBCNP4bMdrPpxkE0jZTknn+cmFMT31RfbZWAdu5Qa1w== + "@types/range-parser@*": version "1.2.4" resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" @@ -2217,6 +2440,11 @@ "@types/glob" "*" "@types/node" "*" +"@types/rsvp@*", "@types/rsvp@^4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/rsvp/-/rsvp-4.0.4.tgz#55e93e7054027f1ad4b4ebc1e60e59eb091e2d32" + integrity sha512-J3Ol++HCC7/hwZhanDvggFYU/GtxHxE/e7cGRWxR04BF7Tt3TqJZ84BkzQgDxmX0uu8IagiyfmfoUlBACh2Ilg== + "@types/serve-static@*": version "1.13.10" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" @@ -6203,6 +6431,27 @@ ember-cli-test-loader@^3.0.0: dependencies: ember-cli-babel "^7.13.2" +ember-cli-typescript-blueprints@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ember-cli-typescript-blueprints/-/ember-cli-typescript-blueprints-3.0.0.tgz#88595df71ddca9a7cb3ef1fb1626a1c2528da1b6" + integrity sha512-nJScjIjwDY96q9eiIBse9npLht/1FNmDRMpoTLJUrgSTzmx7/S6JhlH4BrMELkLCvtPkWoduDNBGiGBdCqf9FA== + dependencies: + chalk "^2.4.1" + ember-cli-babel "^7.0.0" + ember-cli-get-component-path-option "^1.0.0" + ember-cli-is-package-missing "^1.0.0" + ember-cli-normalize-entity-name "^1.0.0" + 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 "^3.0.0" + ember-router-generator "^2.0.0" + exists-sync "^0.1.0" + fs-extra "^8.0.0" + inflection "^1.12.0" + silent-error "^1.1.0" + ember-cli-typescript@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ember-cli-typescript/-/ember-cli-typescript-3.0.0.tgz#3b838d1ce9e4d22a98e68da22ceac6dc0cfd9bfc" @@ -6274,7 +6523,7 @@ ember-cli-typescript@^4.1.0, ember-cli-typescript@^4.2.0, ember-cli-typescript@^ stagehand "^1.0.0" walk-sync "^2.2.0" -ember-cli-typescript@^5.0.0: +ember-cli-typescript@^5.0.0, ember-cli-typescript@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/ember-cli-typescript/-/ember-cli-typescript-5.1.0.tgz#460eb848564e29d64f2b36b2a75bbe98172b72a4" integrity sha512-wEZfJPkjqFEZAxOYkiXsDrJ1HY75e/6FoGhQFg8oNFJeGYpIS/3W0tgyl1aRkSEEN1NRlWocDubJ4aZikT+RTA== @@ -6290,6 +6539,13 @@ ember-cli-typescript@^5.0.0: stagehand "^1.0.0" walk-sync "^2.2.0" +ember-cli-valid-component-name@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ember-cli-valid-component-name/-/ember-cli-valid-component-name-1.0.0.tgz#71550ce387e0233065f30b30b1510aa2dfbe87ef" + integrity sha512-6ZtIG0UMmGwUUju5dwLLS98eZRLQxpMqXfpMUkZ8t+7MBdX6gCjVYHSCdGkDlVAGF06J3mgpAWHVrsyRLRn7/g== + dependencies: + silent-error "^1.0.0" + ember-cli-version-checker@^2.1.0, ember-cli-version-checker@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz#47771b731fe0962705e27c8199a9e3825709f3b3" @@ -6298,7 +6554,7 @@ ember-cli-version-checker@^2.1.0, ember-cli-version-checker@^2.1.2: resolve "^1.3.3" semver "^5.3.0" -ember-cli-version-checker@^3.1.2, ember-cli-version-checker@^3.1.3: +ember-cli-version-checker@^3.0.0, ember-cli-version-checker@^3.1.2, ember-cli-version-checker@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-3.1.3.tgz#7c9b4f5ff30fdebcd480b1c06c4de43bb51c522c" integrity sha512-PZNSvpzwWgv68hcXxyjREpj3WWb81A7rtYNQq1lLEgrWIchF8ApKJjWP3NBpHjaatwILkZAV8klair5WFlXAKg== @@ -7461,6 +7717,11 @@ exists-sync@0.0.4: resolved "https://registry.yarnpkg.com/exists-sync/-/exists-sync-0.0.4.tgz#9744c2c428cc03b01060db454d4b12f0ef3c8879" integrity sha1-l0TCxCjMA7AQYNtFTUsS8O88iHk= +exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/exists-sync/-/exists-sync-0.1.0.tgz#318d545213d2b2a31499e92c35f74c94196a22f7" + integrity sha512-qEfFekfBVid4b14FNug/RNY1nv+BADnlzKGHulc+t6ZLqGY4kdHGh1iFha8lnE3sJU/1WzMzKRNxS6EvSakJUg== + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -12522,7 +12783,7 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -silent-error@^1.0.0, silent-error@^1.0.1, silent-error@^1.1.1: +silent-error@^1.0.0, silent-error@^1.0.1, silent-error@^1.1.0, silent-error@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/silent-error/-/silent-error-1.1.1.tgz#f72af5b0d73682a2ba1778b7e32cd8aa7c2d8662" integrity sha512-n4iEKyNcg4v6/jpb3c0/iyH2G1nzUNl7Gpqtn/mHIJK9S/q/7MCfoO4rwVOoO59qPFIc0hVHvMbiOJ0NdtxKKw== @@ -13550,6 +13811,11 @@ typescript-memoize@^1.0.0-alpha.3, typescript-memoize@^1.0.1: resolved "https://registry.yarnpkg.com/typescript-memoize/-/typescript-memoize-1.1.0.tgz#4a8f512d06fc995167c703a3592219901db8bc79" integrity sha512-LQPKVXK8QrBBkL/zclE6YgSWn0I8ew5m0Lf+XL00IwMhlotqRLlzHV+BRrljVQIc+NohUAuQP7mg4HQwrx5Xbg== +typescript@^4.7.4: + version "4.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" + integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"