diff --git a/app/config/environment.d.ts b/app/config/environment.d.ts new file mode 100644 index 0000000..a837ade --- /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: string; + rootURL: string; + APP: Record; +}; diff --git a/app/templates/application.hbs b/app/templates/application.hbs index 7b1b104..e2147ca 100644 --- a/app/templates/application.hbs +++ b/app/templates/application.hbs @@ -1,5 +1 @@ -{{!-- The following component displays Ember's default welcome message. --}} - -{{!-- Feel free to remove this! --}} - {{outlet}} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1424eba..0ab198d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2783,6 +2783,53 @@ "ember-compatibility-helpers": "^1.1.2" }, "dependencies": { + "@babel/plugin-transform-typescript": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz", + "integrity": "sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ember-cli-typescript": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.0.0.tgz", + "integrity": "sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==", + "dev": true, + "requires": { + "@babel/plugin-transform-typescript": "~7.5.0", + "ansi-to-html": "^0.6.6", + "debug": "^4.0.0", + "ember-cli-babel-plugin-helpers": "^1.0.0", + "execa": "^2.0.0", + "fs-extra": "^8.0.0", + "resolve": "^1.5.0", + "rsvp": "^4.8.1", + "semver": "^6.0.0", + "stagehand": "^1.0.0", + "walk-sync": "^2.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, "ember-cli-version-checker": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-3.1.3.tgz", @@ -2793,6 +2840,59 @@ "semver": "^5.6.0" } }, + "execa": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", + "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "matcher-collection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-2.0.1.tgz", + "integrity": "sha512-daE62nS2ZQsDg9raM0IlZzLmI2u+7ZapXBwdoeBUKAYERPDDIc0qNqA8E0Rp2D+gspKR7BgIFP52GeujaGXWeQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "minimatch": "^3.0.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, "resolve-package-path": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-1.2.7.tgz", @@ -2803,11 +2903,29 @@ "resolve": "^1.10.0" } }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true + }, + "walk-sync": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-2.2.0.tgz", + "integrity": "sha512-IC8sL7aB4/ZgFcGI2T1LczZeFWZ06b3zoHH7jBPyHxOtIIz1jppWHjjEXkOFvFojBVAK9pV7g47xOZ4LW3QLfg==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "ensure-posix-path": "^1.1.0", + "matcher-collection": "^2.0.0", + "minimatch": "^3.0.4" + } } } }, @@ -2972,6 +3090,222 @@ "@types/node": "*" } }, + "@types/ember": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember/-/ember-3.16.0.tgz", + "integrity": "sha512-9TBWidO/9ydThgh0Fy7y2DNX7Pb8REoV7tYK+HBFZ2iyc1TwXTNt15gVz0cCyorvsve2OS+vt5wzYvlqgSGlwg==", + "dev": true, + "requires": { + "@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/jquery": "*", + "@types/rsvp": "*" + } + }, + "@types/ember-qunit": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/@types/ember-qunit/-/ember-qunit-3.4.9.tgz", + "integrity": "sha512-XFe9EK9CVo431TJjS2a/bEcdRBCWFZeDYvYwZEDAlAVvVj9oApAX3bU4OEu9R9xHe6UhyvsgSa7dEr1tComRFQ==", + "dev": true, + "requires": { + "@types/ember": "*", + "@types/ember-test-helpers": "*" + } + }, + "@types/ember-resolver": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@types/ember-resolver/-/ember-resolver-5.0.9.tgz", + "integrity": "sha512-8NEVYIOXmLIaArAcIvSLy0KYU9VuVHsMH6SAuuDQ4umcj1L0GJw3QiEcnIU31/GkZm3kD0xLIBM+wy1H6I7nLA==", + "dev": true, + "requires": { + "@types/ember": "*" + } + }, + "@types/ember-test-helpers": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/ember-test-helpers/-/ember-test-helpers-1.0.8.tgz", + "integrity": "sha512-tkFfW4fblFfXxJboCodVaw2PVjFIvSzhO+m/cXqunRyN4VffC6gcaPMnfJYQ68h25jLMDyuTrks9SsnITjs3pg==", + "dev": true, + "requires": { + "@types/ember": "*", + "@types/htmlbars-inline-precompile": "*", + "@types/jquery": "*", + "@types/rsvp": "*" + } + }, + "@types/ember__application": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__application/-/ember__application-3.16.0.tgz", + "integrity": "sha512-iudEJJmax99sLJCqmIwt3pM3ZuU6QHScH9ksg1pznwAjDGD3eAXYW6USYcK4KZwEIbXyX86KBBcjwg///Ae5JQ==", + "dev": true, + "requires": { + "@types/ember__application": "*", + "@types/ember__engine": "*", + "@types/ember__object": "*", + "@types/ember__routing": "*" + } + }, + "@types/ember__array": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/@types/ember__array/-/ember__array-3.16.1.tgz", + "integrity": "sha512-6KfqMT0ta5XCn+5f6gQxsnzU076rN4ckwHNRWx9StNSySb3v4cyMVU7MuLCEQPI3Uwtl3EwluiZWoa7X99y9ZA==", + "dev": true, + "requires": { + "@types/ember__array": "*", + "@types/ember__object": "*" + } + }, + "@types/ember__component": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__component/-/ember__component-3.16.0.tgz", + "integrity": "sha512-MnzHTGQ6ic9/wT72Ho3BybEajKFkJOakeYSriVLFQTxbaLwm8RNDrZNPHWGT4FEl6dEf90+2SBJHFagbIPAhng==", + "dev": true, + "requires": { + "@types/ember__component": "*", + "@types/ember__object": "*", + "@types/jquery": "*" + } + }, + "@types/ember__controller": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/@types/ember__controller/-/ember__controller-3.16.1.tgz", + "integrity": "sha512-fSL09DyM1dePQQMBUCOSyG9PmxJMmeK2+ui5Wo+jr3UyEqyLYYmh2UvBS9qB8xFDHy49wuQq8EIXegRYKJRniw==", + "dev": true, + "requires": { + "@types/ember__object": "*" + } + }, + "@types/ember__debug": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/@types/ember__debug/-/ember__debug-3.16.1.tgz", + "integrity": "sha512-z8powodH2u9oXPGV4pOUy2Onu+JR+z0AcR0CKNFjJM9CnWMQXr/sTARCCHchillzH36ddFQf5AocdjYCXm9MQg==", + "dev": true, + "requires": { + "@types/ember__debug": "*", + "@types/ember__engine": "*", + "@types/ember__object": "*" + } + }, + "@types/ember__engine": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__engine/-/ember__engine-3.16.0.tgz", + "integrity": "sha512-1UOR4jG8NLwnw4pUe3MOvfIJ6rX2RYr9zr9KiLyOYVIQ9lQxfXB6L+U5gf0dUewnWy7h58iZ01FlPGrlwKm2vg==", + "dev": true, + "requires": { + "@types/ember__engine": "*", + "@types/ember__object": "*" + } + }, + "@types/ember__error": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__error/-/ember__error-3.16.0.tgz", + "integrity": "sha512-inHhs9w2bEmJql0ddVXeWyqkzPbmyxcJ1Pe+UFf9aYWnLr0S7sZPzSQX4l+tGEjf8BCQvoMLk7TdujIj1LAoRA==", + "dev": true + }, + "@types/ember__object": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@types/ember__object/-/ember__object-3.12.1.tgz", + "integrity": "sha512-jMk+EYaNwmFH2EE7YBDc5GYJggZZv/LhJ31n8qqYhRct3JmpACxs9fFpE4MpTWOwEd/zCDspI0OjiRnkD7JxTA==", + "dev": true, + "requires": { + "@types/ember__object": "*", + "@types/rsvp": "*" + } + }, + "@types/ember__polyfills": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@types/ember__polyfills/-/ember__polyfills-3.12.0.tgz", + "integrity": "sha512-2HX4vsvHQbodVdw5z0xmOyocRH56e/MetmUf6EJTjWSE9GX5Ry/VE4FZ6nhYzzrVuPOECj5fJ7kSaI5KugBHfg==", + "dev": true + }, + "@types/ember__routing": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/@types/ember__routing/-/ember__routing-3.16.1.tgz", + "integrity": "sha512-1FW7TR3zCnEPi36VXx+fOw7bOkI9k2bs4NZ9Buvj2vNSjZajPl33dbVqweOUg/0Zkx6cMZyJSgApk9FXNGielA==", + "dev": true, + "requires": { + "@types/ember__component": "*", + "@types/ember__controller": "*", + "@types/ember__object": "*", + "@types/ember__routing": "*", + "@types/ember__service": "*" + } + }, + "@types/ember__runloop": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/@types/ember__runloop/-/ember__runloop-3.16.1.tgz", + "integrity": "sha512-roQ8AkummBJMoDNNqRqj7u9v0fHOOVb4jk7stjpWqhKfg15Yxu/c0sMx49GSofmVE/cLREKH8g+2mVwYb+gJDQ==", + "dev": true, + "requires": { + "@types/ember__runloop": "*" + } + }, + "@types/ember__service": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__service/-/ember__service-3.16.0.tgz", + "integrity": "sha512-yOY3tO1xuo53a+UpfvYeXsZRsU8KVSv1odeoU6mN/WRACbNsD1WvYcolsQ/9TPynt5djEvHEHOR2WwQBIvN+1A==", + "dev": true, + "requires": { + "@types/ember__object": "*" + } + }, + "@types/ember__string": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__string/-/ember__string-3.16.0.tgz", + "integrity": "sha512-zmOuSnvS+xKr7kqyRkc9xghWsqqTcP//9soK2KWVhzQltosmpNdkoy+M2upaSZAzhL7wqiUzX99F1ZMDCkwknQ==", + "dev": true, + "requires": { + "@types/ember__template": "*" + } + }, + "@types/ember__template": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__template/-/ember__template-3.16.0.tgz", + "integrity": "sha512-OVr29pQtbyLVJW6h7+wdkeXLHx00p4CY28znsEgO0X2EeF5xyBhmyhTZOWrGbiTU17+Zs9d4KStt5f1Bq4Wgow==", + "dev": true + }, + "@types/ember__test": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__test/-/ember__test-3.16.0.tgz", + "integrity": "sha512-kYenxB1B3LAqMlzY15ER1oJVDBZJLDIYAcIaTJ56V2FU1B2SBHoiAttId/QQs84oElYIYycm1FWGqMgRrk9UpA==", + "dev": true, + "requires": { + "@types/ember__application": "*" + } + }, + "@types/ember__test-helpers": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@types/ember__test-helpers/-/ember__test-helpers-1.7.2.tgz", + "integrity": "sha512-PjY2dmlfQIrHjy+spE1SR8W97n9Ufvzvzr2SaaTH1rOnz7v9xDJfn1jKN81fBpbfguS4fyEaEwdi/cHBtq2CVA==", + "dev": true, + "requires": { + "@types/ember": "*", + "@types/ember__application": "*", + "@types/ember__error": "*", + "@types/htmlbars-inline-precompile": "*" + } + }, + "@types/ember__utils": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@types/ember__utils/-/ember__utils-3.16.0.tgz", + "integrity": "sha512-fd0q5d+8/XqoH7H51UmdT9wQA6SGW/fB/1yNSD57NHHiVkkT1GUHhPHWCLjnZHtWIM5cS0+gZeCPGou7qOM/6g==", + "dev": true + }, "@types/estree": { "version": "0.0.45", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", @@ -3020,6 +3354,21 @@ "@types/node": "*" } }, + "@types/htmlbars-inline-precompile": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/htmlbars-inline-precompile/-/htmlbars-inline-precompile-1.0.1.tgz", + "integrity": "sha512-sVD2e6QAAHW0Y6Btse+tTA9k9g0iKm87wjxRsgZRU5EwSooz80tenbV+fA+f2BI2g0G2CqxsS1rIlwQCtPRQow==", + "dev": true + }, + "@types/jquery": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-Tyctjh56U7eX2b9udu3wG853ASYP0uagChJcQJXLUXEU6C/JiW5qt5dl8ao01VRj1i5pgXPAf8f1mq4+FDLRQg==", + "dev": true, + "requires": { + "@types/sizzle": "*" + } + }, "@types/json-schema": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", @@ -3050,6 +3399,12 @@ "integrity": "sha512-+wYo+L6ZF6BMoEjtf8zB2esQsqdV6WsjRK/GP9WOgLPrq87PbNWgIxS76dS5uvl/QXtHGakZmwTznIfcPXcKlQ==", "dev": true }, + "@types/qunit": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/qunit/-/qunit-2.9.1.tgz", + "integrity": "sha512-v51Fz/orMOkBGzrRvskky3UN0I81ka6rokAxkcuVyLHAh0qNKp+Roqympg/gTia8vGOIEbeSykevI0VKiIF13Q==", + "dev": true + }, "@types/range-parser": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", @@ -3066,6 +3421,12 @@ "@types/node": "*" } }, + "@types/rsvp": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/rsvp/-/rsvp-4.0.3.tgz", + "integrity": "sha512-OpRwxbgx16nL/0/7ol0WoLLyLaMXBvtPOHjqLljnzAB/E7Qk1wtjytxgBhOTBMZvuLXnJUqfnjb4W/QclNFvSA==", + "dev": true + }, "@types/serve-static": { "version": "1.13.5", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.5.tgz", @@ -3076,6 +3437,12 @@ "@types/mime": "*" } }, + "@types/sizzle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.2.tgz", + "integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==", + "dev": true + }, "@types/symlink-or-copy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@types/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz", @@ -9443,35 +9810,23 @@ } }, "ember-cli-typescript": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.0.0.tgz", - "integrity": "sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-4.0.0.tgz", + "integrity": "sha512-ZwnBbBJ0yAIKq4FVgNFkxfMwqJhw6PyT45Enp2RvWIgzgaYCId8brrSgg3tvVWWjA7N5hiT4Ilyz5jrQwrnU1Q==", "dev": true, "requires": { - "@babel/plugin-transform-typescript": "~7.5.0", "ansi-to-html": "^0.6.6", + "broccoli-stew": "^3.0.0", "debug": "^4.0.0", - "ember-cli-babel-plugin-helpers": "^1.0.0", - "execa": "^2.0.0", - "fs-extra": "^8.0.0", + "execa": "^4.0.0", + "fs-extra": "^9.0.1", "resolve": "^1.5.0", "rsvp": "^4.8.1", - "semver": "^6.0.0", + "semver": "^7.3.2", "stagehand": "^1.0.0", - "walk-sync": "^2.0.0" + "walk-sync": "^2.2.0" }, "dependencies": { - "@babel/plugin-transform-typescript": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz", - "integrity": "sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.5.5", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.2.0" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -9482,14 +9837,25 @@ } }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", "dev": true, "requires": { + "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" } }, "matcher-collection": { @@ -9514,10 +9880,10 @@ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", "dev": true }, "walk-sync": { @@ -9534,6 +9900,124 @@ } } }, + "ember-cli-typescript-blueprints": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-typescript-blueprints/-/ember-cli-typescript-blueprints-3.0.0.tgz", + "integrity": "sha512-nJScjIjwDY96q9eiIBse9npLht/1FNmDRMpoTLJUrgSTzmx7/S6JhlH4BrMELkLCvtPkWoduDNBGiGBdCqf9FA==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "ember-cli-version-checker": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-3.1.3.tgz", + "integrity": "sha512-PZNSvpzwWgv68hcXxyjREpj3WWb81A7rtYNQq1lLEgrWIchF8ApKJjWP3NBpHjaatwILkZAV8klair5WFlXAKg==", + "dev": true, + "requires": { + "resolve-package-path": "^1.2.6", + "semver": "^5.6.0" + } + }, + "exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.1.0.tgz", + "integrity": "sha512-qEfFekfBVid4b14FNug/RNY1nv+BADnlzKGHulc+t6ZLqGY4kdHGh1iFha8lnE3sJU/1WzMzKRNxS6EvSakJUg==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "resolve-package-path": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-1.2.7.tgz", + "integrity": "sha512-fVEKHGeK85bGbVFuwO9o1aU0n3vqQGrezPc51JGu9UTXpFQfWq5qCeKxyaRUSvephs+06c5j5rPq/dzHGEo8+Q==", + "dev": true, + "requires": { + "path-root": "^0.1.1", + "resolve": "^1.10.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "ember-cli-uglify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ember-cli-uglify/-/ember-cli-uglify-3.0.0.tgz", @@ -9544,6 +10028,15 @@ "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.0.0" + } + }, "ember-cli-version-checker": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-5.1.1.tgz", @@ -11803,18 +12296,18 @@ "dev": true }, "execa": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", - "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", + "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", "dev": true, "requires": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", + "human-signals": "^1.1.1", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^3.0.0", + "npm-run-path": "^4.0.0", "onetime": "^5.1.0", - "p-finally": "^2.0.0", "signal-exit": "^3.0.2", "strip-final-newline": "^2.0.0" } @@ -15465,9 +15958,9 @@ } }, "npm-run-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", - "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" @@ -18917,6 +19410,12 @@ "is-typedarray": "^1.0.0" } }, + "typescript": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", + "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", + "dev": true + }, "typescript-memoize": { "version": "1.0.0-alpha.3", "resolved": "https://registry.npmjs.org/typescript-memoize/-/typescript-memoize-1.0.0-alpha.3.tgz", diff --git a/package.json b/package.json index c91fb63..47b6126 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,11 @@ "@ember/optional-features": "^2.0.0", "@glimmer/component": "^1.0.1", "@glimmer/tracking": "^1.0.1", + "@types/ember": "^3.16.0", + "@types/ember-qunit": "^3.4.9", + "@types/ember-resolver": "^5.0.9", + "@types/ember__test-helpers": "^1.7.2", + "@types/qunit": "^2.9.1", "babel-eslint": "^10.1.0", "broccoli-asset-rev": "^3.0.0", "ember-auto-import": "^1.6.0", @@ -33,6 +38,8 @@ "ember-cli-htmlbars": "^5.3.1", "ember-cli-inject-live-reload": "^2.0.2", "ember-cli-sri": "^2.1.1", + "ember-cli-typescript": "^4.0.0", + "ember-cli-typescript-blueprints": "^3.0.0", "ember-cli-uglify": "^3.0.0", "ember-data": "~3.21.0", "ember-export-application-global": "^2.0.1", @@ -49,7 +56,8 @@ "eslint-plugin-node": "^11.1.0", "loader.js": "^4.7.0", "npm-run-all": "^4.1.5", - "qunit-dom": "^1.4.0" + "qunit-dom": "^1.4.0", + "typescript": "^4.0.2" }, "engines": { "node": "10.* || >= 12" diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..b574e7c --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,40 @@ +{ + "compilerOptions": { + "target": "es2020", + "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, + "inlineSourceMap": true, + "inlineSources": true, + "baseUrl": ".", + "module": "es6", + "experimentalDecorators": true, + "paths": { + "dashtab/tests/*": [ + "tests/*" + ], + "dashtab/*": [ + "app/*" + ], + "*": [ + "types/*" + ] + } + }, + "include": [ + "app/**/*", + "tests/**/*", + "types/**/*" + ] +} diff --git a/types/dashtab/index.d.ts b/types/dashtab/index.d.ts new file mode 100644 index 0000000..74e1674 --- /dev/null +++ b/types/dashtab/index.d.ts @@ -0,0 +1,8 @@ +import Ember from 'ember'; + +declare global { + interface Array extends Ember.ArrayPrototypeExtensions {} + // interface Function extends Ember.FunctionPrototypeExtensions {} +} + +export {}; 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..159edb1 --- /dev/null +++ b/types/global.d.ts @@ -0,0 +1,6 @@ +// Types for compiled templates +declare module 'dashtab/templates/*' { + import { TemplateFactory } from 'htmlbars-inline-precompile'; + const tmpl: TemplateFactory; + export default tmpl; +}