{"_id":"ember-cli-typescript","_rev":"121-39394f13e1d4e41940936d57fdaa5143","name":"ember-cli-typescript","dist-tags":{"alpha":"4.0.0-alpha.1","next":"4.0.0-rc.1","latest":"5.3.0"},"versions":{"0.0.1":{"name":"ember-cli-typescript","version":"0.0.1","keywords":["ember-addon","typescript","blueprints"],"author":{"name":"David Gardiner"},"license":"MIT","_id":"ember-cli-typescript@0.0.1","maintainers":[{"name":"kenhowardpdx","email":"ken@simplicatedweb.com"}],"homepage":"https://github.com/flcdrg/ember-cli-typescript","bugs":{"url":"https://github.com/flcdrg/ember-cli-typescript/issues"},"dist":{"shasum":"ef45eb906e1b6a8589c4851a278475e41ac45623","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-0.0.1.tgz","integrity":"sha512-7XgJdh0IPTcUz9yqQcfxJYbcaexKg/jmS2/ddBqwUXioKNoB6Z9fZZgkY09wJW2YkBb7LgN/BOCEMFxE7cNG6Q==","signatures":[{"sig":"MEUCIQCsYI/NRq5cbvsV4bYVt9GxsOKY7y3Uliu5R9+smRqWhQIgUFwbyMGdvVkJZq/emCe7le9GEHvEOXU7334k/qShZp4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ef45eb906e1b6a8589c4851a278475e41ac45623","gitHead":"679e38fffa222d900063ba43e4eb8c64db76ea9f","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"kenhowardpdx","email":"ken@simplicatedweb.com"},"repository":{"url":"https://github.com/flcdrg/ember-cli-typescript","type":"git"},"_npmVersion":"2.7.4","description":"Adds precompilation of TypeScript files and all the basic generation types to the `ember generate` command.","directories":{},"_nodeVersion":"0.12.2","dependencies":{"lodash":"^3.3.1","walk-sync":"^0.1.3","typescript":"^1.4.1","object-assign":"^2.0.0","broccoli-writer":"^0.1.1","ember-cli-version-checker":"^1.0.2"}},"0.1.0":{"name":"ember-cli-typescript","version":"0.1.0","keywords":["ember-addon","typescript","blueprints"],"author":{"name":"David Gardiner"},"license":"MIT","_id":"ember-cli-typescript@0.1.0","maintainers":[{"name":"locks","email":"rokusu@gmail.com"}],"contributors":"Philip Bjorge","homepage":"https://github.com/locks/ember-cli-typescript","bugs":{"url":"https://github.com/locks/ember-cli-typescript/issues"},"dist":{"shasum":"e9f5077a1de208092787577f8e38075582c10b46","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-0.1.0.tgz","integrity":"sha512-rAEfko16nZjNizKswBjgOk93d4oCaEmfX5bHT3AdravHGw2ueSKanYAHgbQvzPTSL95svPxj23l72j644wfp0A==","signatures":[{"sig":"MEQCICZlfRCc7mpvNXQp7RpKUlKhC8FEIjx0pSVLEw01g05BAiAQC0Dagl9XdBd44vYUzBl1SBEoVfB+qvZ9I+nKPDsSPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"e9f5077a1de208092787577f8e38075582c10b46","gitHead":"4492d2a92bd5057081ac81289aee65cf73762066","scripts":{"test":"ember test","bower:install":"bower install"},"_npmUser":{"name":"locks","email":"rokusu@gmail.com"},"repository":{"url":"git+https://github.com/locks/ember-cli-typescript.git","type":"git"},"_npmVersion":"3.7.2","description":"Adds precompilation of TypeScript files and all the basic generation types to the `ember generate` command.","directories":{},"ember-addon":{"before":["ember-cli-babel"]},"_nodeVersion":"5.0.0","dependencies":{"chalk":"^1.0.0","fs-extra":"^0.11.1","ember-router-generator":"^1.0.0","ember-cli-version-checker":"^1.0.2","broccoli-typescript-compiler":"^0.6.0"},"devDependencies":{"glob":"^4.4.2","bower":"^1.4.1","ember-cli":"^0.2.0","ember-cli-babel":"^5.1.5","ember-cli-qunit":"0.3.7","ember-cli-uglify":"1.0.1","ember-cli-htmlbars":"^0.7.4","ember-cli-app-version":"0.3.1","ember-cli-dependency-checker":"0.0.7","ember-export-application-global":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-0.1.0.tgz_1460550983131_0.180242222500965","host":"packages-12-west.internal.npmjs.com"}},"0.1.1":{"name":"ember-cli-typescript","version":"0.1.1","keywords":["ember-addon","typescript","blueprints"],"author":{"name":"David Gardiner"},"license":"MIT","_id":"ember-cli-typescript@0.1.1","maintainers":[{"name":"locks","email":"rokusu@gmail.com"}],"contributors":"Philip Bjorge","homepage":"https://github.com/locks/ember-cli-typescript","bugs":{"url":"https://github.com/locks/ember-cli-typescript/issues"},"dist":{"shasum":"e04ea32e64f2e30bff39a52ec3e8a4899985b8b7","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-0.1.1.tgz","integrity":"sha512-gHakU+Ij/jv+fMp4vgR9WMAymWBiBBzaX70frMddsVx3mON1E/J2QVYWjMG/e3wD3K386XeFXOY/yWmkMAQC+g==","signatures":[{"sig":"MEQCIEkDdTldo2N4LP7vYNS44tLtB531Mr0VeV4MGvwbirP+AiBWZmZ5LYzwHm+tIQJrFLa9sBYp18bRpEga22zGcmOIZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"e04ea32e64f2e30bff39a52ec3e8a4899985b8b7","gitHead":"44ab8b022fe2b4b142b5f6998ba7ee17c2a059ee","scripts":{"test":"ember test","bower:install":"bower install"},"_npmUser":{"name":"locks","email":"rokusu@gmail.com"},"repository":{"url":"git+https://github.com/locks/ember-cli-typescript.git","type":"git"},"_npmVersion":"3.8.9","description":"Adds precompilation of TypeScript files and all the basic generation types to the `ember generate` command.","directories":{},"ember-addon":{"before":["ember-cli-babel"]},"_nodeVersion":"5.10.1","dependencies":{"chalk":"^1.0.0","fs-extra":"^0.11.1","ember-router-generator":"^1.0.0","ember-cli-version-checker":"^1.0.2","broccoli-typescript-compiler":"^0.6.0"},"devDependencies":{"glob":"^4.4.2","bower":"^1.4.1","ember-cli":"^0.2.0","ember-cli-babel":"^5.1.5","ember-cli-qunit":"0.3.7","ember-cli-uglify":"1.0.1","ember-cli-htmlbars":"^0.7.4","ember-cli-app-version":"0.3.1","ember-cli-dependency-checker":"0.0.7","ember-export-application-global":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-0.1.1.tgz_1469185492117_0.8216827367432415","host":"packages-16-east.internal.npmjs.com"}},"0.2.0":{"name":"ember-cli-typescript","version":"0.2.0","keywords":["ember-addon","typescript"],"author":{"name":"Marius Seritan"},"license":"MIT","_id":"ember-cli-typescript@0.2.0","maintainers":[{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"54e758676ea0d3e3c78a4242518a08bac244b384","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-0.2.0.tgz","integrity":"sha512-jBazt8IFAQdVnOQZ4xLEHPepEB4FA04b0xqwU6Mf4ieCTXClBxTntXBrgnw8GfgcL43K9uvSu9S8x5nGLPbxxA==","signatures":[{"sig":"MEUCIQCtt3n66jFr/Uvv9HgrN65zcmo9ZQK9uVLlQgJ59UNiogIgPnLFfALCHcgXy+3TxKn7I52WG+BqvDh7nX9epsal9m8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"54e758676ea0d3e3c78a4242518a08bac244b384","engines":{"node":">= 0.12.0"},"gitHead":"9cae86bd36f95174953b8f714f70397e91ea16c3","scripts":{"test":"ember try:each","build":"ember build","start":"ember server"},"_npmUser":{"name":"locks","email":"rokusu@gmail.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"4.0.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"6.8.1","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","ember-cli-babel":"^5.1.7","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^1.0.1"},"devDependencies":{"ember-cli":"2.10.0","loader.js":"^4.0.10","ember-ajax":"^2.4.1","typescript":"^2.1.0","@types/ember":"^2.7.34","ember-cli-sri":"^2.1.0","ember-resolver":"^2.0.3","ember-cli-qunit":"^3.0.1","ember-cli-jshint":"^2.0.1","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.0.10","ember-cli-app-version":"^2.0.0","ember-cli-test-loader":"^1.1.0","ember-load-initializers":"^0.5.1","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^1.0.5","ember-disable-prototype-extensions":"^1.1.0","ember-cli-htmlbars-inline-precompile":"^0.3.3"},"peerDependencies":{"typescript":"^2.1.0","@types/ember":"^2.7.34"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-0.2.0.tgz_1481992757240_0.20952675747685134","host":"packages-12-west.internal.npmjs.com"}},"0.3.0":{"name":"ember-cli-typescript","version":"0.3.0","keywords":["ember-addon","typescript"],"author":{"name":"Marius Seritan"},"license":"MIT","_id":"ember-cli-typescript@0.3.0","maintainers":[{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"8223f7f20d98a766aec074dc30969e01fd206ed2","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-0.3.0.tgz","integrity":"sha512-wImE3pd48Z7kjdIPE3f4oHSKfy9qUIv/KWT3adxTImxTOolL3hU9Nxy4qn9roNlVydverYbVuSKI4HmzfRsD3Q==","signatures":[{"sig":"MEQCIGK/Px3ueWVG6aNtmu6FPwYqmn0a5QRZQYb9+AFjkoQXAiAOzaDLySeu19Da+yNm+xlEu5+vot5CoK7ZUGb3HsCC1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"8223f7f20d98a766aec074dc30969e01fd206ed2","engines":{"node":">= 0.12.0"},"gitHead":"bce7d9caf628dc22cc53e60a350e46205c6313d3","scripts":{"test":"ember try:each","build":"ember build","start":"ember server"},"_npmUser":{"name":"locks","email":"rokusu@gmail.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"4.2.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","ember-cli-babel":"^5.1.7","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^1.0.1"},"devDependencies":{"ember-cli":"2.10.0","loader.js":"^4.0.10","ember-ajax":"^2.4.1","typescript":"^2.1.0","@types/ember":"^2.7.34","ember-cli-sri":"^2.1.0","ember-resolver":"^2.0.3","ember-cli-qunit":"^3.0.1","ember-cli-jshint":"^2.0.1","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.0.10","ember-cli-app-version":"^2.0.0","ember-cli-test-loader":"^1.1.0","ember-load-initializers":"^0.5.1","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^1.0.5","ember-disable-prototype-extensions":"^1.1.0","ember-cli-htmlbars-inline-precompile":"^0.3.3"},"peerDependencies":{"typescript":"^2.1.0","@types/ember":"^2.7.34"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-0.3.0.tgz_1492089061283_0.611280205892399","host":"packages-12-west.internal.npmjs.com"}},"0.3.1":{"name":"ember-cli-typescript","version":"0.3.1","keywords":["ember-addon","typescript"],"author":{"name":"Marius Seritan"},"license":"MIT","_id":"ember-cli-typescript@0.3.1","maintainers":[{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"f0a19a1fbe1e7fd6ab5d934d4bd42e9951d05d79","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-0.3.1.tgz","integrity":"sha512-cQElFWZfDOAdcH/VA+30fi6VOiMxqneaaW13mc0r72zZ9yDlIxXv1zFxYIRMGrsW13a5ySxv0d24K1MoW6AJLg==","signatures":[{"sig":"MEQCIHCykhPkGus9CQShSkNfBeVldjQIplTvjB/oGmMqV1q1AiANdsJ6cWfRm+WfR+uN2WJpabrO9yLn9qh5MDInDWnvhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"f0a19a1fbe1e7fd6ab5d934d4bd42e9951d05d79","engines":{"node":">= 0.12.0"},"gitHead":"17f00207ebe4de5e130507ccccca39ec7893b837","scripts":{"test":"ember try:each","build":"ember build","start":"ember server"},"_npmUser":{"name":"locks","email":"rokusu@gmail.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"4.2.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","ember-cli-babel":"^5.1.7","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^1.0.1"},"devDependencies":{"ember-cli":"2.10.0","loader.js":"^4.0.10","ember-ajax":"^2.4.1","typescript":"^2.1.0","@types/ember":"^2.7.34","ember-cli-sri":"^2.1.0","ember-resolver":"^2.0.3","ember-cli-qunit":"^3.0.1","ember-cli-jshint":"^2.0.1","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.0.10","ember-cli-app-version":"^2.0.0","ember-cli-test-loader":"^1.1.0","ember-load-initializers":"^0.5.1","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^1.0.5","ember-disable-prototype-extensions":"^1.1.0","ember-cli-htmlbars-inline-precompile":"^0.3.3"},"peerDependencies":{"typescript":"^2.1.0","@types/ember":"^2.7.34"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-0.3.1.tgz_1492693550316_0.6554209648165852","host":"packages-12-west.internal.npmjs.com"}},"0.3.2":{"name":"ember-cli-typescript","version":"0.3.2","keywords":["ember-addon","typescript"],"author":{"name":"Marius Seritan"},"license":"MIT","_id":"ember-cli-typescript@0.3.2","maintainers":[{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"960ae34b78f0bfd37e9a4127ba42a7e4267e7e7e","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-0.3.2.tgz","integrity":"sha512-Dr5Oi5mvwWszlF9UrXLjlllsoucGp53IdIwDFeyw9N/Aq8jMcAOhzhC2gSucVxGaToPN0HgJo821WORItx97dA==","signatures":[{"sig":"MEYCIQDueWa9Cb2ctT2LcXpa7Wf7UeOVEzUuf22A83D0xFncYQIhAMj18nFjykHA46jrjwNo+E022A3RD0Op2vzAC17l2I7m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"960ae34b78f0bfd37e9a4127ba42a7e4267e7e7e","engines":{"node":">= 0.12.0"},"gitHead":"1ad7e0bb4080069b13d011dfaf10b8ffb26ee5ca","scripts":{"test":"ember try:each","build":"ember build","start":"ember server"},"_npmUser":{"name":"locks","email":"rokusu@gmail.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"4.2.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","ember-cli-babel":"^5.1.7","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^1.0.1"},"devDependencies":{"ember-cli":"2.10.0","loader.js":"^4.0.10","ember-ajax":"^2.4.1","typescript":"^2.1.0","@types/ember":"^2.7.34","ember-cli-sri":"^2.1.0","ember-resolver":"^2.0.3","ember-cli-qunit":"^3.0.1","ember-cli-jshint":"^2.0.1","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.0.10","ember-cli-app-version":"^2.0.0","ember-cli-test-loader":"^1.1.0","ember-load-initializers":"^0.5.1","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^1.0.5","ember-disable-prototype-extensions":"^1.1.0","ember-cli-htmlbars-inline-precompile":"^0.3.3"},"peerDependencies":{"typescript":"^2.1.0","@types/ember":"^2.7.34"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-0.3.2.tgz_1492814327242_0.3512805085629225","host":"packages-18-east.internal.npmjs.com"}},"0.4.0":{"name":"ember-cli-typescript","version":"0.4.0","keywords":["ember-addon","typescript"],"author":{"name":"Marius Seritan"},"license":"MIT","_id":"ember-cli-typescript@0.4.0","maintainers":[{"name":"chriskrycho","email":"chris@krycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"9fe1ecee835ede60d5977e2801a0a964f1837e2f","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-0.4.0.tgz","integrity":"sha512-MwlGc0BfQBCHtUAZKKaI/TAl0vBi1zdSddaW47f8XnqDsXVX8QR/Z4PJM3EnVmqMjJhvI6OXSdlyfEuwln5wPQ==","signatures":[{"sig":"MEUCIFGmOT/nxkz/y2PVqJ734SdD5HXeXfM+wIxd5j0ylAmlAiEA5PurEkoxAzmCI/p6oK4s0VG8NBXQY0jIBnBKqKLzPrw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"9fe1ecee835ede60d5977e2801a0a964f1837e2f","engines":{"node":">= 0.12.0"},"gitHead":"3d0be2ed6b051f292cd8349004a48beed407b310","scripts":{"test":"ember try:each","build":"ember build","start":"ember server"},"_npmUser":{"name":"locks","email":"rokusu@gmail.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"4.2.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.9.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^5.1.7","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^1.0.1"},"devDependencies":{"ember-cli":"2.10.0","loader.js":"^4.0.10","ember-ajax":"^2.4.1","typescript":"^2.1.0","@types/ember":"^2.7.34","ember-cli-sri":"^2.1.0","ember-resolver":"^2.0.3","ember-cli-qunit":"^3.0.1","ember-cli-jshint":"^2.0.1","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.0.10","ember-cli-app-version":"^2.0.0","ember-cli-test-loader":"^1.1.0","ember-load-initializers":"^0.5.1","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^1.0.5","ember-disable-prototype-extensions":"^1.1.0","ember-cli-htmlbars-inline-precompile":"^0.3.3"},"peerDependencies":{"typescript":"^2.1.0","@types/ember":"^2.7.34"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-0.4.0.tgz_1493812952626_0.17856107442639768","host":"packages-12-west.internal.npmjs.com"}},"1.0.0-beta.2":{"name":"ember-cli-typescript","version":"1.0.0-beta.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.0-beta.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"533be305032e83bd89d552facf1a74999614cd20","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.0-beta.2.tgz","integrity":"sha512-qxlAcHlJqKVW647vCfipDllYrdoXZqiUanrjC7of41BEZ6/p0A2fG/5dsdvYq1q9uwYtjiTILdOdNPZVi64MAg==","signatures":[{"sig":"MEQCIHUiwWW6FzM+l/e/R+IviFbGNnmIlzGnr2EIs414qdVYAiAiADRNAw5NhDAmMIFFNl0084FECYsigPw8WHLCJEFXlA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"8616de775fc8c11c8d2069fd408803bb8c9cc594","scripts":{"test":"ember try:each","build":"ember build","start":"ember server"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.0-beta.2.tgz_1501361061033_0.9014362609013915","host":"s3://npm-registry-packages"}},"1.0.0-beta.3":{"name":"ember-cli-typescript","version":"1.0.0-beta.3","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.0-beta.3","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"a4181b4377390dd6c5bc0e58143d3de59f7d9b10","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.0-beta.3.tgz","integrity":"sha512-uwRjXPpPfBzM0j2DgtrUCwoJbO74oN8TToKjWxbgrahahxhvyYhCrucy/OC4n3xWSE+zXK7NQMxag9QFmNJQ/w==","signatures":[{"sig":"MEUCIQDLsJVfr8ZbPUb0onIbMMOlcFtsO1DNgB80sCuf2xv4ywIgKoLVAH5sAmuYxDoiFintH2JlCb6dK4f7esFTdDzwfkQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"09db52e5b7a9d340ec84225c758be555ab535437","scripts":{"test":"ember try:each","build":"ember build","start":"ember server"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.0-beta.3.tgz_1501524394835_0.557312956545502","host":"s3://npm-registry-packages"}},"1.0.0-beta.4":{"name":"ember-cli-typescript","version":"1.0.0-beta.4","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.0-beta.4","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"5a63e2b0e72390f85c8d28ffc1ccec3489739628","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.0-beta.4.tgz","integrity":"sha512-oWWO0O2SZEX08wtpUwf+NI2AIg5sv89BQG/VjhmKwOpzU4+6YwYwo0qe0Ocy+Ydg17kMkbl8r+8+EiaMAcnrig==","signatures":[{"sig":"MEUCIQDrTabwwqTmKLUpLGhrhvyVZUjtJ7sqQJmGidGtu9s4awIgZZHSxQswqq4mfZo1zuLn9+/FfwrblMGwZKzPuoenYoQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"7f01d1de433aece669ccb7f5976dba8060043763","scripts":{"test":"ember try:each","build":"ember build","start":"ember server"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.0-beta.4.tgz_1501702180481_0.27738885092549026","host":"s3://npm-registry-packages"}},"1.0.0-beta.5":{"name":"ember-cli-typescript","version":"1.0.0-beta.5","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.0-beta.5","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"088bdbcdeb1b4de849cf08490117edf9ebed87b6","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.0-beta.5.tgz","integrity":"sha512-Nf2lwENplS0UDlfBUm5Xlekl8FYTyykXT5QfgbCXBvR10aRmXdvNtrgyH0hfiacn0oqpXflRwUW9l6GDVC+Imw==","signatures":[{"sig":"MEUCICbM/UmGsUD5WGuRyqT107wCYW8N4fYPllpwyOTbWwKIAiEAokGc+w+VQW6PiTsQkOkINTUSPBenozn/8wpDpRgnD/8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"1fa3ab68f28475603bd90af002bad0e2b1ca7d8d","scripts":{"test":"ember try:each","build":"ember build","start":"ember server","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.17.2","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.0-beta.5.tgz_1501775348656_0.184066123329103","host":"s3://npm-registry-packages"}},"1.0.0-beta.6":{"name":"ember-cli-typescript","version":"1.0.0-beta.6","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.0-beta.6","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"29767f830c2e6a8d8c9a262a23f6e6b22d4238bd","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.0-beta.6.tgz","integrity":"sha512-UJIiwEYSvcKGnAGuD+sFWKEJx07sRkrcYZ6SF6VPacwgMFb5NcaMcHdgHxHfSl8UFd+EQRbdpIp0uZgDZpiM2g==","signatures":[{"sig":"MEUCIA/j9pDMJvBbLQCnNWT08FA3kBRWUBkfa3fhe5+2DR7iAiEAmGntWQNmMRs+OBBmWD3c9kp61iv8BCvlVFLIm+q4RDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"a5243d4c558da27b927d7811dc8d3eb74b147f22","scripts":{"test":"ember try:each","build":"ember build","start":"ember server","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.17.2","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.0-beta.6.tgz_1501848138175_0.5401056502014399","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"ember-cli-typescript","version":"1.0.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"bc9dff88855f4e0a0be54f40ee09d5bf4dab03fc","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.0.tgz","integrity":"sha512-4F1WYrp4tjJG5OHEXS2IP3GYMTzJXmK/Af6W5i866we90ayAPYDYGdTBLAi3qdpaPQDfXU7aHQM/gcE7t7q8aw==","signatures":[{"sig":"MEQCIHEOKa0uEvC/qudvWDB+5kegVQ47mfz9qPnjJpwyPey2AiAgZan3j/ocj5h4YZOW57pa5RfLsZi7Bs+qm/juHFoJoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"867b44a9e4c9c1c49ff4a73676a614f40b5ef5b0","scripts":{"test":"ember try:each","build":"ember build","start":"ember server","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.17.2","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.0.tgz_1502198142715_0.021806471748277545","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"ember-cli-typescript","version":"1.0.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"e7a4ed866f677467cebd1f055259f0ff0e5ae5d1","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.1.tgz","integrity":"sha512-CbTjqkZa7+EsHn9+FcfS7R8l31IotC6hcony4ib5KgfcL/Cn/ONo5bmiAU9UlH6jyayoS9bRkwJVjTUVRCiRBw==","signatures":[{"sig":"MEUCIAy/Q3PrV30IGU9HCFAJmPqnzi/8zbEO7yEe+12GP/8rAiEA3d9RgzEGi4Aa26bp7Fu+TZiMpq9aGxu7xAtHbtsl6dw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"68e187441e147b9426c3c910434d8a4e1d33a177","scripts":{"test":"ember try:each","build":"ember build","start":"ember server","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.17.2","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.1.tgz_1502880444043_0.8347384154330939","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"ember-cli-typescript","version":"1.0.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"1c56b93c98e33f297d5b0b358df034abde683f67","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.2.tgz","integrity":"sha512-OeCbDhUOg+smp6/Bxv48wWZ569J3nHSWw4Vlz9sjOjn1896QMe+uUOkMRpzDIBIjUtwReSQmjzROanHT87XAzA==","signatures":[{"sig":"MEYCIQCWJUXIbv6O2W6pV0XkB7RCv6lgxhL03r8qA3FrJmc59QIhAKFPQI1DKgsJGev381zoz9IG7W6y1mEMDK9QjTEk6Cup","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"4510b0a66c800def6ac6443e6671c7720b86c400","scripts":{"test":"ember try:each","build":"ember build","start":"ember server","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.17.2","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.2.tgz_1502903874766_0.8397692258004099","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"ember-cli-typescript","version":"1.0.3","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.3","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"locks","email":"rokusu@gmail.com"},{"name":"winding-lines","email":"git@winding-lines.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"4b247b4ea56e421626825943eb5bc27263e96f46","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.3.tgz","integrity":"sha512-aldpZqfRln2ykd/A3xO5N8mSxN8e+Pru+OM4SZEn5c2wan+urikwmo/qfKGK1l8mjWHgtNRyUPXpmX+R9AwIiw==","signatures":[{"sig":"MEQCIBiiw9WkDr33XYpYkXwx1u5eP5t/Yx0xfVckWDtOuT5SAiBYy6hPQaQ64F9zErFvhRaEtb0h/g8PUvCrLysZKRxrpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"3aff94b70d39e5c1eab9687b42ae80cff120b4f7","scripts":{"test":"ember try:each","build":"ember build","start":"ember server","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.0.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"7.8.0","dependencies":{"debug":"^2.2.0","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.0.0"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.17.2","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.3.tgz_1503445191233_0.7350549807306379","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"ember-cli-typescript","version":"1.0.4","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.4","maintainers":[{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"winding-lines","email":"git@winding-lines.com"},{"name":"locks","email":"rokusu@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"9d3ed2a6d70c384a582e88f0cc4810edb81ab003","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.4.tgz","integrity":"sha512-6U/fGEI8TtNKY5tnelYwIsBQcVNzXgtoQq+SeUE6yCIB62x7te9gJlp4gcd+xiO3acLzwC8nDdQAjkmNFYJwSg==","signatures":[{"sig":"MEQCICB8eLmrnMfsZIU4CdynII/wWCsdMSqE/S5KlAC55TMcAiAF5+o7aQSiMmhmUspTcWZYWr65ma17RE0B7FlUrDMFTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"d270f09cb8d7284156e270a9d581dcbd7c410941","scripts":{"test":"ember try:each","build":"ember build","start":"ember server","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.3.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"8.3.0","dependencies":{"debug":"^2.2.0","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.1.0"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.4.tgz_1510611934808_0.5276080281473696","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"ember-cli-typescript","version":"1.0.5","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.5","maintainers":[{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"winding-lines","email":"git@winding-lines.com"},{"name":"locks","email":"rokusu@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"7fd303a2e292d31e19159121cce68f02615c212a","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.5.tgz","integrity":"sha512-37qKo8DE6TaH/765Emum2ZAY/F/CLN73X/78XePnGJ+mYwEOmRycX4ue9QGWBN7Epim4oTXhjbarC0V+BwjCiQ==","signatures":[{"sig":"MEQCIBThi9rZG2ynyeso7XmfFZ2wSUEnOaRyepGhrv4Xwz0hAiARWjkjc4V6gHulwu9KkoJ3IRjZjnCCH8YSZ6nlisPMbg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"622ec5fec63e3ed7acf121e51d6c43c49cbf75d7","scripts":{"test":"ember try:each","build":"ember build","start":"ember server","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.5.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"8.3.0","dependencies":{"debug":"^2.2.0","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.3.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.1.0"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"^2.13.3","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.13.3","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.0.0","ember-cli-shims":"^1.1.0","ember-cli-eslint":"^3.0.0","ember-cli-uglify":"^1.2.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^1.1.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^1.3.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^0.4.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.5.tgz_1511459095753_0.9827670007944107","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"ember-cli-typescript","version":"1.0.6","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.0.6","maintainers":[{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"winding-lines","email":"git@winding-lines.com"},{"name":"locks","email":"rokusu@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/emberwatch/ember-cli-typescript","bugs":{"url":"https://github.com/emberwatch/ember-cli-typescript"},"dist":{"shasum":"e1d256aa399eea74a2041954b78d8fc8d6f72295","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.0.6.tgz","integrity":"sha512-fAri2YrS2TpnrNmkMkdpIasNoyKNydsPwBN2It5zBycuDptRril/miHIlfgb7IymFkxBGVCii3tZbTrHGVlDtA==","signatures":[{"sig":"MEYCIQDmsW4YFMMdSiIIBLV2y4tFuKRJ9fnMizZ+fR7xT9uhRQIhAPe29wdettRmjXwmBdkkN+bMFlVeAExHy+cYdEo6AQHW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"dceb9506d3bc33cfabaf7b18ee323192a03fd800","scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/emberwatch/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.5.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"8.3.0","dependencies":{"debug":"^2.2.0","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.3","broccoli-funnel":"^1.0.6","broccoli-plugin":"^1.2.1","broccoli-source":"^1.1.0","ember-cli-babel":"^6.6.0","broccoli-merge-trees":"^1.1.4","broccoli-typescript-compiler":"^2.1.1"},"devDependencies":{"mocha":"^2.2.1","ember-cli":"~2.17.1","loader.js":"^4.2.3","typescript":"^2.4.2","@types/ember":"^2.7.43","ember-source":"~2.17.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.0.0","ember-cli-qunit":"^4.1.1","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.13.2","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.4.5","ember-cli-htmlbars":"^2.0.1","ember-cli-app-version":"^2.0.0","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript-1.0.6.tgz_1513549563532_0.7040037182159722","host":"s3://npm-registry-packages"}},"1.1.0-rc":{"name":"ember-cli-typescript","version":"1.1.0-rc","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.0-rc","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"1c55624edcb7fe5b2532792d94988d6d0034d022","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.0-rc.tgz","fileCount":385,"integrity":"sha512-NZkjbLDo3kSWDFEY+kvSg9LKy7fWjen/BOIYsTc4xJU5IDL5oFQPHl0f/HkzVjZ0sdClv5ogQHBWnL71sDP4kA==","signatures":[{"sig":"MEQCIHe7V+DhL0SUc9P0ByZhhry0e4MjsGmAmCenL78U5DJsAiAwBZPDKjDHAMFbsZfDri3G5xCmsC0aWU+KMYqGbgbtNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108281},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.1","@types/node":"*","@types/ember":"2.8.8","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.0-rc_1518383862860_0.1061285218190271","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"ember-cli-typescript","version":"1.1.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"6b06b73d4ca713f984ff0d777fdb46eaa7b876a5","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.0.tgz","fileCount":129,"integrity":"sha512-qrgYS4KCUqVTq33W5o4xcQuDrukePFQzk4m13icz4hl//vlxBTjHA9pgk56LHSf1yZAfqsm4djVsuCEfX8IsqA==","signatures":[{"sig":"MEQCIADj8n3oFblvhSnCnZW3xH0L5Yfgzg737gC9HmIr1gmoAiAIBeTCFwgtrqOYpY2PliFzKlM+kSzAL8Hs01oUgmvgaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405621},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"747164fb1672e926e1393668070b9a4c70440965","scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.6.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"_nodeVersion":"8.9.3","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.1","@types/node":"*","@types/ember":"2.8.8","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.0_1518447858236_0.5104431157988556","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"ember-cli-typescript","version":"1.1.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"c0b0fbb93d7ec5da24ba5c3d90feef04fe2cfa30","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.1.tgz","fileCount":401,"integrity":"sha512-MvZX/2PgsQz8ed+8KMbk7bskPdNzKaEuvgy8wFMtPHk6TPGPpBFaNFWBDLU0TzkJxwndNXo5nP+lCEWBybJotg==","signatures":[{"sig":"MEUCIQD8yNT0qaRDmwMiT8sjq4kwBNFUmBgKFXo2HWvyfFDGcAIgdbFFOIPT8uP+ISMwkexB9Y121XwfVPmOiyUBq9+8ezQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":153822},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.1","@types/node":"*","@types/ember":"2.8.8","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2","ember-cli-version-checker":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.1_1518465464275_0.14707417754355268","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"ember-cli-typescript","version":"1.1.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"77a5a65687616d9a606b1b1038ab03973bbd5b7b","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.2.tgz","fileCount":401,"integrity":"sha512-oybb05xiLRzZZu//abf6/UMgRTRd0DlmA9bbHIHi4xRMMjRE1FCGNpAD5jICx6nk5bSVGY5nt5HipcRR6YN27w==","signatures":[{"sig":"MEQCIAJJxuMdK51Zr54D/f4scusg13LZAlc3DY8rrUmnDqdSAiB506OfjG352CWYuMzWyd9CMJPHnpl6SFt/oFyP5BQwEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":153822},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.1","@types/node":"*","@types/ember":"2.8.8","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.2_1518573915101_0.7734951084901398","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"ember-cli-typescript","version":"1.1.3","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.3","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"025ae62f2779decd5f8bd60a0d125ca1106dbf62","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.3.tgz","fileCount":401,"integrity":"sha512-ovWDfx6I1agQrEnBfjzuW5f+p/B53hSqqnkjB6XWCwRfb+Tk5OemnKu51naTT0dc20TSiu5eFY8ubeI7m+QF0g==","signatures":[{"sig":"MEUCIQDHlpprnNid7YracfFzR4nO4qsOubG5TyRYos16WD6WWAIgF+GkDTBJpMn94IUt0nzHlcqq8qINbYC8GOmR+mzX3jE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":157039},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.1","@types/node":"*","@types/ember":"2.8.8","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.3_1518835563604_0.858586112982294","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"ember-cli-typescript","version":"1.1.4","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.4","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"7a07d37d7ade373cb8e5c383e46075f0f633a506","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.4.tgz","fileCount":401,"integrity":"sha512-Jzn4EQ061BxeoCc602Uqez7iTyNpkls0psFuZ96e+pt1sJzovGv1reqL5y7CeYaV7WqcTYeTzqS9VBRX6x7psA==","signatures":[{"sig":"MEUCIAPqzNT/dojxMeuQkUt/eF5Gwof1OheKZHyb1EXMTSgFAiEA+jOGGlUYqWouFYLilSQa4N8Qfy0N5Hv9mLCzRZk2Qg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":158857},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.1","@types/node":"*","@types/ember":"2.8.8","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.4_1519160861454_0.4064167204457505","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"ember-cli-typescript","version":"1.1.5","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.5","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"64dc940abd5273e1ad108209bf6fcb78dcc0a162","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.5.tgz","fileCount":401,"integrity":"sha512-q6HZ1cXwe1s/onF97Iekx81cJwMzuNAw5n4XEh8WpaNnAbPky+cOo4W80l5i88Gqa/h7+P1debW4OxieOC/7ZA==","signatures":[{"sig":"MEYCIQC+rZL3V0yY0rqK3TbvTiT1+k8fJw3PDgEI6t8Kzix9iQIhAL05oz2R5NLQMyMZdRs1Bu95sKsv1Kpi2A1W9zfhjS4p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":159161},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.1","@types/node":"*","@types/ember":"2.8.8","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.5_1519167201300_0.3861624437733273","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"ember-cli-typescript","version":"1.1.6","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.6","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"b4686343cc38f74405f5064a71afa0645d9ff75f","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.6.tgz","fileCount":388,"integrity":"sha512-ewehQNuT0O6npxhbU0EQsWQG3BtTqO6k3Dly4Dr+zRifcdnOTpHU0IQ7i9Vt9rYi9nvFARpVrT8m3/ioa5jiUA==","signatures":[{"sig":"MEUCIQCnDnHqlCYj9DqkpY7YTX/2BRJpRV2Bp+KZkwjG2PoCfAIgdsw1kWx0boospTFxtb6Dlu6KS3die70USjpUbIYt+RI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129852},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","fs-extra":"^5.0.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.6_1519412713457_0.9322300783842503","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"ember-cli-typescript","version":"1.2.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.2.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"0a46f72b92fee8ac3b1669933cdb83c57c9ed43f","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.2.0.tgz","fileCount":430,"integrity":"sha512-BmIVKTeZTOnR1Qav+eEUXuqmSn5VblCNnghjZQ78Gd++srEiIFQYTIhZt8bDiIs9DNQVtyD7CSGFpEL03RoImg==","signatures":[{"sig":"MEQCIFgbMmDFB3iTXPvNtUerovZC0VcIJzGl7IPbkTTdkuxUAiBmCEpmDfhnF6nONfIeHhhc3Xqw689ZVlC1oX3j+mBcYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":141894},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.2.0_1520304160166_0.5048605044483947","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"ember-cli-typescript","version":"1.2.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.2.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"92d889e6c9c9fbd7061c3eeec9faa071e8feea54","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.2.1.tgz","fileCount":431,"integrity":"sha512-b+o8wlVDbTH5JjE/mUriUB50KhIPkV19eY0huiTWhp2mwl22XIa6J4qKUz03F+enueqvMjk7BUuUtE0RjAem6w==","signatures":[{"sig":"MEUCID+cfOSsFHw4+/k3YOMzx5ReTM70UKd2t8viSOJSdpLjAiEAxq82/U6l/ZMucOCu/rY0jnCc30wSocuaGLm7sjsNyio=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":142254},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","fs-extra":"^5.0.0","ember-cli":"~2.18.2","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.2.1_1521071852600_0.4617220027569464","host":"s3://npm-registry-packages"}},"1.3.0-beta.1":{"name":"ember-cli-typescript","version":"1.3.0-beta.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.0-beta.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"c511ad5ebf2c5eccddbd06d4c60cb98d1f5e1fbb","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.0-beta.1.tgz","fileCount":431,"integrity":"sha512-EfkBAnXEBR83fnWcQCgd4uTLcYTHqDjCsOsuHKiipjf2EL200YfLA/PYpzx1FAnE/Rkk/RMvY6Qn3vx+7RR3VA==","signatures":[{"sig":"MEYCIQC6Nf61kMPoB5cbOG2DY/uhTxaDNKylJ6guW1CHLYXOYQIhAPfrLNL64jkd0+0pWPxBONfts+aAQLtpWCNXWJhKKCve","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":148079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa05onCRA9TVsSAnZWagAA+XUQAJyeziSM6Qt7caNe2q9A\ntTngCMSX66y1SkGg7gVcWujX3iyA/h758xN09aVa+rUJoA3wAwiN/uDTaNf0\n9MeIenCzXqXaR0If4IzduM2vb6Sne/3KlVn7nm6cS9rWe+puoRxeqXUWepST\nVUJFY0P9C1sOnXjJKzQ9RQngsZqtV+hYHiMMezs+AiI/SdnvXfuhGIzOtEhg\ncscQB6oJxfR8oa7IpsEyXefXqiu/+X6uPrwfUElzzT+iKdfFdCbbx94vQWcL\nTyEJAOi8cAvllfqvi3cNn7ltC7mcI6U/6bPfqA+yG6UN9QonleMSmu3k7xm0\nD0MgsUlcnfyk6G3Hel7yG7ii3JffqMzBKEWX7GWpQjrmCKJbyRkdkmNjO0yD\n6ekM2gkjuH6CgQLjAu+D5UBnMpfnmkAWM1r/Jp+LNc0nifJQ1ppmhF2+aQjX\n1U78FDwe0xmR6G+4AZnwpaSUZ2I1XOp23zJONPniprW9XnRflYH4kcJR+UVq\ne+EcMk5Y1K7flSnAPoH6s6aig2O1xoKN/XrziVx0Jchog8YfgaDV9WT9xXr4\nN3PE+wt1PRhUwsH0kZVIlMFHaxNBX0JZbKt5JGyNaueTTVNADaF4wso/mkE7\nMB/qCfbhsha8ico/7hIcTWfUXnMaMhgTwpjK4ezLzsR5ZX2dDXVAISfOsyBh\nkege\r\n=Uw5j\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"~2.18.2","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.0-beta.1_1523816996350_0.3171570551003384","host":"s3://npm-registry-packages"}},"1.3.0-beta.2":{"name":"ember-cli-typescript","version":"1.3.0-beta.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.0-beta.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"6e607fa6ec9ef173ee34a2384249388129c40369","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.0-beta.2.tgz","fileCount":433,"integrity":"sha512-ZG7YWt+XM50Y9NLIroG24BQ1PUElMr3RJ5i7C65FfU8s4wGi0pieJ64LexAbfrSLDK34a1NebD2uoQfGQbmkKA==","signatures":[{"sig":"MEQCIA5jG0ALN/CCgRgU/cXm+p6ju6QdIhf5dGDHACDlDfmlAiAEPAA08BSSC4gzhw3mUGcf7a1GuusOkjF68qo7I5Zvdw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":148890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2NbSCRA9TVsSAnZWagAAEfwP/0RgwbFK+rp0DJjYvoJh\nFjMzxS7wQ6sr3VAtiq+K6R/SUlbrzHMNqoB73w61hMLRJXMm5f9vZlwkOmxl\nLZAoeIZ1ZHjELHVrsfe91nIMGhJrki8gidz0JsNTnWC60q5tbD52d4IL1dI9\nerezG8eYbbPvgzAIamY1pJj+GPoqw+RzyUGsDSVXV5WNKaBstXXJdoc0cmTQ\n4gpYyQCwUy5mZNUoKMf2GEk1eD2XnrOVkFk+sddbefTGTw9s8Ga4Yp/GhkWs\nGJIl2yiGkwijOfFkaAo3xARIkkoxVUIM4Mw5sYV1aWF/LNn9XzlQuv9ObGX3\nTcsWRvgZOtnmxPkb/+ffKA86buq4cAM+Y71/9s2HlmbQoTjOHwfUMkFVvI0/\nfOIZ/F5uT95YGNcu8f/2xJuP4qVzNmeGE+WmYGOCVNKoinP+hEqzI2/eDnC9\nQEkVvg/wKEsdoUUJst1EvjT/r3ZZAfDM6sNMjssXBsQdOp7eXThtPZ4GFEP4\nevgSejEzIE0aDIwaeSFRRh99YWnwiYu1t6CqjpPnl+yXlNkqrPJrO32nspr6\nNk9mSCdYrnrOazOIk7xS6q8LjWlf7a1KuERYf8ZZdhJvCnKg5a1vJTXQgWHb\nI0Q132Mnu2i1HHg9uoiFjvI6bxofkRFnWAbG4dMYVnyknJdL/J1x1UlO+zIW\nVbcQ\r\n=z9ag\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"~2.18.2","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.0-beta.2_1524160207393_0.6839060540679209","host":"s3://npm-registry-packages"}},"1.3.0-beta.3":{"name":"ember-cli-typescript","version":"1.3.0-beta.3","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.0-beta.3","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"943033def8dff925da449e37961f19c2fbad75cb","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.0-beta.3.tgz","fileCount":448,"integrity":"sha512-q9uhKmlYXK/4B44kynLehw4BrhiLkQ11XK0HcLi0lSXj5c67LxswC+gKKomcmZpgyZWnP0nrMsUIR0fRoXTLSQ==","signatures":[{"sig":"MEYCIQCW6B7B3H9pM4u0QPKmO/z36rH5LSrYJ47HmG6WNvfrbwIhAPseLv/Zzer4CRZML6QwL0XLCqRB5DJ/3poo/hJIHLBw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2k3/CRA9TVsSAnZWagAAxvEP+QEDhqkxlM6TAKxck9pq\nIVEgNQbG/FILWI/kZe30nkVecnAl6X7T7R7NCjRo9bIpy0Z8+Fwsb3R5szor\nS2X9khl87sQHFpN0U5OVMUQcp4zdIaK3qG7ViTLIo6WdO8Gy9zxbzXi5kClj\nsHXvIvca+uJINCJvOPifNfz/1pLyy3cfF7/cJptmDltfMtxiYavPaNoITC+o\n0S0UmhnS0xSGdVTrPRrp1LqYOUqBNvq6g246E7okBMiSUuOgIupyHyMf0xqP\nBWCeYb/fA15DdjIOc5B4UqFBh7BTCutacxAQKAv4pI3h86khUyZAHDYTohiF\n82/0uYwIgF1+ARfMtpnapiXG1pmoBdZQwE7uBfkA4ykFlSjY8BpgdPnfBdWD\ncLEsKnhdCuTpnqww3NYOJIrcLbiE3ZKKZFRJBVx5hQwWENoOI7Sku1az49lg\n7mYiv8tmpFtaHJNJxpgf93ZKvQ1NoKQDVd8EVeUofGw9NmJXQxfXK+Bi91qG\n/G6gbacmWZTQi8vRZcMzaeHfy93t46DSDcI+v49+scSypalwRZae5LZNn+rB\nxpfFf5JGJJQCaXV4Aw4XZCa2SLBQkMm04VjCh/AQdhB+6Mtejo32NY+e/jNP\niPRNx4lTbkD2ApvWKaNFiy2j2fdYWr3srpN57oBpCLh7Xfh4NpMhSjcgqmv+\nLtjh\r\n=pnny\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"~2.18.2","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.0-beta.3_1524256252386_0.16979647176824142","host":"s3://npm-registry-packages"}},"1.3.0-beta.4":{"name":"ember-cli-typescript","version":"1.3.0-beta.4","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.0-beta.4","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"ce85c6d0e6f483dbb22e88ab90c06deb1b6a5b4d","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.0-beta.4.tgz","fileCount":448,"integrity":"sha512-LD03ImzqOo1KaY/W599Y5HKjE6fP0DtvqPlFNpnMmwvbqDU+IChD9bElSFzWTO9kX5+dTWYXImKCdHcwgEtOIA==","signatures":[{"sig":"MEYCIQCXTAQWdTr+xB77xXTlYeUg4KO8fyvSEM1hmbQi8cKyeAIhAP/MSIc+WlrJqv38CusCNtKrM946TTFE4W5aV4LJXiQd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2lT7CRA9TVsSAnZWagAAEfIP/RTB4aTHLdI+7aAUFtx1\nGZttNc+DN5nO32PZEoOesx8aHG0UQpm5TfXtCf5VRtycdcRGHBIam1VH+mG9\ngDWRGC2UvJ0p3bL/YyB2wfw9y3SPeDXIrDYlRZD4J5Js4LDW7UBTVB4liT3S\n47MUzp2feMUdm7bkyPXAkdOPO61GtUdMLnVRPrpxga4hcjURpooM3tgw9t9s\nSiFBYZviHPGSpigflf/Ni55/t2Ftu5OOvVSyZk6rTUYQ3xa4K6MLmNL8VGKL\nP/iKbHiPGPVxpeBtGh9jwsXc2cOvXF9fnzhWcuOMrVFAGAa7wHoWYULCXpBn\nuX7NfDm37ChryEZHlP3yN+dMKNoSYOpw3e1PLXg55/Du98iCmqC7WW0S0vQN\nSf0EqYxNB+UDDdMiY3sV2cqZt1otgP25ANMfyYUsZOBiP+h975qGRaNciJlf\n+Xt9YmqR6aZNYi2c8KLADaLKbGbtZZqU2sa8eb/cP+jNghfqXPpaAQRPov5J\nlN/kKDqk7/rJJZ4Y8A3Sv1xPC+NRIdDdKuIrHOQdjJHDCBNNqPsycKmFxTN3\nwuMs3BP1HwF5NzB3Qk+VfBpFbh69hYbWWgdv016Q/WeHeIDp4DhIlCT9nmoz\nNh0kvv0u7ArXXvrQWK8126B61qH0VSYnw2piKz0vCJpMuMkcsS1YsMz6egJb\nEM8F\r\n=KGCq\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# ember-cli-typescript\n\nUse TypeScript in your Ember 2.x and 3.x apps!\n\n[![*nix build status (master)](https://travis-ci.org/typed-ember/ember-cli-typescript.svg?branch=master)](https://travis-ci.org/typed-ember/ember-cli-typescript) [![Windows build status](https://ci.appveyor.com/api/projects/status/i94uv7jgmrg022ho/branch/master?svg=true)](https://ci.appveyor.com/project/chriskrycho/ember-cli-typescript/branch/master) [![Ember Observer Score](https://emberobserver.com/badges/ember-cli-typescript.svg)](https://emberobserver.com/addons/ember-cli-typescript)\n\n* [Setup and Configuration](#setup-and-configuration)\n  * [Ember Support](#ember-support)\n      * [:construction: Ember 3.1](#construction-ember-31)\n  * [`tsconfig.json`](#tsconfigjson)\n  * [Sourcemaps](#sourcemaps)\n* [Using TypeScript with Ember effectively](#using-typescript-with-ember-effectively)\n  * [Incremental adoption](#incremental-adoption)\n  * [Install other types!](#install-other-types)\n  * [The `types` directory](#the-types-directory)\n    * [Global types for your package](#global-types-for-your-package)\n    * [Environment configuration typings](#environment-configuration-typings)\n  * [String-keyed lookups](#string-keyed-lookups)\n    * [`this` type workaround](#this-type-workaround)\n    * [Nested keys in `get` or `set`](#nested-keys-in-get-or-set)\n    * [Service and controller injections](#service-and-controller-injections)\n    * [Ember Data lookups](#ember-data-lookups)\n      * [Opt-in unsafety](#opt-in-unsafety)\n      * [Fixing the Ember Data `error TS2344` problem](#fixing-the-ember-data-error-ts2344-problem)\n  * [Type definitions outside `node_modules/@types`](#type-definitions-outside-node_modulestypes)\n  * [ember-browserify](#ember-browserify)\n  * [ember-cli-mirage](#ember-cli-mirage)\n  * [\"TypeScript is complaining about multiple copies of the same types\"](#typescript-is-complaining-about-multiple-copies-of-the-same-types)\n    * [Just tell me how to fix it](#just-tell-me-how-to-fix-it)\n    * [Why is this happening?](#why-is-this-happening)\n* [Using ember-cli-typescript with Ember CLI addons](#using-ember-cli-typescript-with-ember-cli-addons)\n  * [Publishing](#publishing)\n  * [Linking Addons](#linking-addons)\n  * [In-Repo Addons](#in-repo-addons)\n  * [Gotchas](#gotchas)\n* [Current limitations](#current-limitations)\n  * [Some `import`s don't resolve](#some-imports-dont-resolve)\n  * [Type safety when invoking actions](#type-safety-when-invoking-actions)\n\n## Setup and Configuration\n\nTo install or upgrade the addon, just run:\n\n```\nember install ember-cli-typescript@latest\n```\n\nAll dependencies will be added to your `package.json`, and you're ready to roll! If you're upgrading from a previous release, you should check to merge any tweaks you've made to `tsconfig.json`.\n\nIn addition to ember-cli-typescript, we make the following changes to your project:\n\n* We install the following packages—all at their current \"latest\" value—or generated:\n\n  * [`typescript`](https://github.com/Microsoft/TypeScript)\n  * [`@types/ember`](https://www.npmjs.com/package/@types/ember)\n  * [`@types/ember-data`](https://www.npmjs.com/package/@types/ember-data)\n  * [`@types/rsvp`](https://www.npmjs.com/package/@types/rsvp)\n  * [`@types/ember-test-helpers`](https://www.npmjs.com/package/@types/ember-test-helpers) – these are the importable test helpers from [RFC #232](https://github.com/emberjs/rfcs/blob/master/text/0232-simplify-qunit-testing-api.md)-style tests\n  * [`@types/ember-testing-helpers`](https://www.npmjs.com/package/@types/ember-testing-helpers) – these are the globally-available acceptance test helpers\n\n* We add the following files to your project:\n\n  * [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\n  * `types/<app name>/index.d.ts` – the location for any global type declarations you need to write for you own application; see [Global types for your package](#global-types-for-your-package) for information on its default contents and how to use it effectively\n  * `app/config/environment.d.ts` – a basic set of types defined for the contents of the `config/environment.js` file in your app; see [Environment and configuration typings](#environment-and-configuration-typings) for details\n\n### Ember support\n\nember-cli-typescript runs its test suite against the 2.12 LTS, the 2.16 LTS, the 2.18 LTS, the current release, the beta branch, and the canary branch. It's also in active use in several large applications. Any breakage for upcoming releases _should_ be detected and fixed ahead of those releases, but you can help us guarantee that by running your own Ember.js+TypeScript app with beta and canary turned on and let us know if you run into issues with upcoming Ember.js releases.\n\n#### :construction: Ember 3.1\n\nSupport for (mostly in the form of documentation!) for the changes in Ember 3.1 is inbound shortly. You *can* use this addon with Ember 3.1, but the docs are not yet updated, and some of the patterns recommended below will actually cause your app to break. :grimacing: Come ping us in #topic-typescript in the [Ember Community Slack][Slack] and we'll help you. (And updated docs for 3.1 are inbound *soon*!)\n\n[Slack]: https://ember-community-slackin.herokuapp.com\n\n### `tsconfig.json`\n\nWe generate a good default [`tsconfig.json`][blueprint], which will usually make everything _Just Work™_. In general, you may customize your TypeScript build process as usual using the `tsconfig.json` file.\n\nHowever, there are a few things worth noting if you're already familiar with TypeScript and looking to make further or more advanced customizations (i.e. _most_ users can just ignore this section!):\n\n1. The generated tsconfig file does not set `\"outDir\"` and sets `\"noEmit\"` to `true`. Under the hood, Ember's own invocation of `tsc` _does_ set these, but the default configuration we generate allows you to run editors which use the compiler without creating extraneous `.js` files throughout your codebase, leaving the compilation to ember-cli-typescript to manage.\n\n   You _can_ still customize those properties in `tsconfig.json` if your use case requires it, however. For example, to see the output of the compilation in a separate folder you are welcome to set `\"outDir\"` to some path and set `\"noEmit\"` to `false`. Then tools which use the TypeScript compiler (e.g. the watcher tooling in JetBrains IDEs) will generate files at that location, while the Ember.js/Broccoli pipeline will continue to use its own temp folder.\n\n2. Closely related to the previous point: any changes you do make to `outDir` won't have any effect on how _Ember_ builds your application—we have to pipe everything into Ember CLI via [broccoli], so we override that. In general, everything else works just as you'd expect, though!\n\n3. By default, we target the highest stable version of JavaScript available in the TypeScript compiler, so that you may ship anything from that very code without further modification to browsers that support it all the way back to ES3, in line with the Babel configuration in your app's `config/targets.js`. You can set this target to whatever is appropriate for your application, but we _strongly_ encourage you to leave it set to the highest stable version of JavaScript if you are developing an addon, so that consumers of your addon have full flexibility in this regard.\n\n4. If you make changes to the paths included in or excluded from the build via your `tsconfig.json` (using the `\"include\"`, `\"exclude\"`, or `\"files\"` keys), you will need to restart the server to take the changes into account: ember-cli-typescript does not currently watch the `tsconfig.json` file.\n\n[blueprint]: https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json\n[broccoli]: http://broccolijs.com/\n\n### Sourcemaps\n\nTo enable TypeScript sourcemaps, you'll need to add the corresponding configuration for Babel to your `ember-cli-build.js` file:\n\n```ts\nconst app = new EmberApp(defaults, {\n  babel: {\n    sourceMaps: 'inline',\n  },\n});\n```\n\n(Note that this _will_ noticeably slow down your app rebuilds.)\n\nIf you're updating from an older version of the addon, you may also need to update your `tsconfig.json`. (Current versions generate the correct config at installation.) Either run\n`ember generate ember-cli-typescript` or verify you have the same sourcemap settings in your `tscsonfig.json` that appear in [the blueprint](https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json).\n\n## Using TypeScript with Ember effectively\n\nIn addition to the points made below, you may find the [Typing Your Ember][typing-your-ember] blog series (especially the \"Update\" sequence) particularly helpful in knowing how to do specific things.\n\n### Incremental adoption\n\nIf you are porting an existing app to TypeScript, you can install this addon and migrate your files incrementally by changing their extensions from `.js` to `.ts`. As TypeScript starts to find errors (and it usually does!), make sure to celebrate your wins – even if they're small! – with your team, especially if some people are not convinced yet. We would also love to hear your stories!\n\nSome specific tips for success on the technical front:\n\n* Use the *strictest* strictness settings that our typings allow. While it may be tempting to start with the *loosest* strictness settings and then to tighten them down as you go, this will actually mean that \"getting your app type-checking\" will become a repeated process – getting it type-checking with every new strictness setting you enable! – rather than something you do just once. The only strictness setting you should turn *off* is `strictFunctionTypes`, which our current type definitions do not support. The recommended *strictness* settings in your `\"compilerOptions\"` hash:\n\n    ```\n    \"noImplicitAny\": true,\n    \"noImplicitThis\": true,\n    \"alwaysStrict\": true,\n    \"strictNullChecks\": true,\n    \"strictPropertyInitialization\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noImplicitReturns\": true,\n    ```\n\n* Make liberal use of `any` for things you don't have types for as you go, and come back and fill them in later. This will let you do the strictest strictness settings but with an escape hatch that lets you say \"We will come back to this when we have more idea how to handle it.\"\n\n* A good approach is to start at your \"leaf\" files (the ones that don't import anything else from your app, only Ember types) and then work your way back inward toward the most core types that are used everywhere. Often the highest-value modules are your Ember Data models and any core services that are used everywhere else in the app – and those are also the ones that tend to have the most cascading effects (having to update *tons* of other places in your app) when you type them later in the process.\n\n* Set `\"noEmitOnError\": true` in the `\"compilerOptions\"` hash in your `tsconfig.json` – it will help a lot if you can be sure that for the parts of your app you *have* added types to are still correct. And you'll get nice feedback *immediately* when you have type errors that way!\n\n    ![type errors in your build!](https://user-images.githubusercontent.com/108688/38774630-7d9224d4-403b-11e8-8dbc-87dad977a4c4.gif \"example of a build error during live reload\")\n\nYou may find the blog series [\"Typing Your Ember\"][typing-your-ember] helpful as it walks you through not only how to install but how to most effectively use TypeScript in an Ember app today, and gives some important info on the background and roadmap for the project.\n\n[typing-your-ember]: http://www.chriskrycho.com/typing-your-ember.html\n\n### Install other types!\n\nYou'll want to use other type definitions as much as possible. The first thing you should do, for example, is install the types for your testing framework of choice: `@types/ember-mocha` or `@types/ember-qunit`. Beyond that, look for types from other addons: it will mean writing `any` a lot less and getting a lot more help both from your editor and from the compiler.\n\nTo make this easier, we're maintaining [a list of addons with known type definitions][known-typings] either on [Definitely Typed] or as part of the addon itself. (If you know of typings that aren't in that list, please open a pull request to add them!)\n\n[known-typings]: ./known-typings.md\n[definitely typed]: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n### The `types` directory\n\nDuring installation, we create a `types` directory in the root of your application and add a `\"paths\"` mapping that includes that directory in any type lookups TypeScript tries to do. This is convenient for a few things:\n\n* global types for your package (see the next section)\n* writing types for third-party/`vendor` packages which do not have any types\n* developing types for an addon which you intend to upstream later\n\nThese are all fallbacks, of course, you should use the types supplied directly with a package\n\n#### Global types for your package\n\nAt the root of your application or addon, we include a `types/<your app>` directory with an `index.d.ts` file in it. Anything which is part of your application but which must be declared globally can go in this file. For example, if you have data attached to the `Window` object when the page is loaded (for bootstrapping or whatever other reason), this is a good place to declare it.\n\nIn the case of applications (but not for addons), we also automatically include declarations for Ember's prototype extensions in this `index.d.ts` file, with the `Array` prototype extensions enabled and the `Function` prototype extensions commented out. You should configure them to match your own config (which we cannot check during installation). If you are [disabling Ember's prototype extensions][disabling], you can remove these declarations entirely; we include them because they're enabled in most Ember applications today.\n\n[disabling]: https://guides.emberjs.com/v2.18.0/configuring-ember/disabling-prototype-extensions/\n\n#### Environment configuration typings\n\nAlong with the @types/ files mentioned above, ember-cli-typescript adds a starter interface for `config/environment.js` in `app/config/environment.d.ts`. This interface will likely require some changes to match your app.\n\nWe install this file because the actual `config/environment.js` is (a) not actually identical with the types as you inherit them in the content of an application, but rather a superset of what an application has access to, and (b) not in a the same location as the path at which you look it up. The actual `config/environment.js` file executes in Node during the build, and Ember CLI writes its result as `<my-app>/config/environment` into your build for consumption at runtime.\n\n### String-keyed lookups\n\nEmber makes heavy use of string-based APIs to allow for a high degree of dynamicism. With some limitations, you can nonetheless use TypeScript very effectively to get auto-complete/IntelliSense as well as to accurately type-check your applications.\n\nThe \"Update\" sequence in the Typing Your Ember has detailed explanations and guides for getting good type-safety for Ember's string-based APIs, e.g. the use of `get` and `set`, service and controller injection, Ember Data models and lookups\n\n* [Part 1][pt1]: A look at normal Ember objects, \"arguments\" to components (and controllers), and service (or controller) injections.\n* [Part 2][pt2]: Class properties — some notes on how things differ from the `Ember.Object` world.\n* [Part 3][pt3]: Computed properties, actions, mixins, and class methods.\n* [Part 4][pt4]: Using Ember Data, and service and controller injections improvements. (This includes a detailed guide to updating making the service and controller injections and Ember Data lookups behave as described below.)\n\n[pt1]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-1.html\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n[pt3]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-3.html\n[pt4]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-4.html\n\nA few of the most common speed-bumps are listed here to help make this easier:\n\n#### `this` type workaround\n\nOne important note for using `class` types effectively with today's Ember typings: you will (at least for now) need to explicitly write out a `this` type for methods, computed property callbacks, and actions if you are going to use `get` or `set`\n\n```ts\nimport Component from '@ember/component';\n\nexport default class UserProfile extends Component {\n  changeUsername(this: UserProfile, userName: string) {\n    //           ^---------------^\n    // `this` tells TS to use `UserProfile` for `get` and `set` lookups\n  }\n}\n```\n\nThis is a workaround for how incredibly dynamic `Ember.Object` instances are and hopefully will improve over time as we continue to iterate on the type definitions. Again, see [the relevant blog post for details][pt2].\n\n#### Nested keys in `get` or `set`\n\nIn general, `this.get` and `this.set` will work as you'd expect _if_ you're doing lookups only a single layer deep. Things like `this.get('a.b.c')` don't (and can't ever!) type-check; see the blog posts for a more detailed discussion of why.\n\nThe workaround is simply to do one of two things:\n\n1. **The type-safe approach.** This _will_ typecheck, but is both ugly and only works \\*if there are no `null`s or `undefined`s along the way. If `nested` is `null` at runtime, this will crash!\n\n   ```ts\n   import { get } from '@ember/object';\n\n   // -- Type-safe but ugly --//\n   get(get(get(someObject, 'deeply'), 'nested'), 'key');\n   ```\n\n2. **Using `// @ts-ignore`.** This will _not do any type-checking_, but is useful for the cases where you are intentionally checking a path which may be `null` or `undefined` anywhere long it.\n\n   ```ts\n   // @ts-ignore\n   get(someObject, 'deeply.nested.key');\n   ```\n\n   It's usually best to include an explanation of _why_ you're ignoring a lookup!\n\n#### Service and controller injections\n\nEmber does service and controller lookups with the `inject` helpers at runtime, using the name of the service or controller being injected up as the default value—a clever bit of metaprogramming that makes for a nice developer experience. TypeScript cannot do this, because the name of the service or controller to inject isn't available at compile time in the same way. This means that if you do things the normal Ember way, you will have to specify the type of your service or controller explicitly everywhere you use it.\n\n```ts\n// my-app/services/session.ts\nimport Service from '@ember/service';\nimport RSVP from 'rsvp';\n\nexport default class Session extends Service {\n  login(email: string, password: string): RSVP.Promise<string> {\n    // login and return the confirmation message\n  }\n}\n```\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport Computed from '@ember/object/computed';\nimport { inject as service } from '@ember/service';\n\nimport Session from 'my-app/services/session';\n\nexport default class UserProfile extends Component {\n  session: Computed<Session> = service();\n\n  actions = {\n    login(this: UserProfile, email: string, password: string) {\n      this.get('session').login(email, password);\n    },\n  };\n}\n```\n\nThe type of `session` would just be `Computed<Service>` if we didn't explicitly type it out. As a result, we wouldn't get any type-checking on that `.login` call (and in fact we'd get an incorrect type _error_!), and we wouldn't get any auto-completion either. Which would be really sad and take away a lot of the reason we're using TypeScript in the first place!\n\nThe handy workaround we supply is simply to write some boilerplate (though take heart! We have generators for any _new_ services or controllers you create) and then explicitly name the service or controller with its \"dasherized\" name, just like you would if you were mapping it to a different local name:\n\n```ts\n// my-app/services/session.ts\nimport Service from '@ember/service';\nimport RSVP from 'rsvp';\n\nexport default class Session extends Service {\n  login(email: string, password: string): RSVP.Promise<string> {\n    // login and return the confirmation message\n  }\n}\n\ndeclare module '@ember/service' {\n  interface Registry {\n    session: Session;\n  }\n}\n```\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { inject as service } from '@ember/service';\n\nexport default class UserProfile extends Component {\n  session = service('session');\n\n  actions = {\n    login(this: UserProfile, email: string, password: string) {\n      this.get('session').login(email, string);\n    }\n  }\n}\n```\n\nThe corresponding declaration for controllers is:\n\n```ts\ndeclare module '@ember/controller' {\n  interface Registry {\n    // add your key here, like `'dasherized-name': ClassifiedName;`\n  }\n}\n```\n\nYou'll need to add that module and interface declaration to all your existing service and controller declarations for this to work (again, see the [blog post][pt4] for further details), but once you do that, you'll have this much nicer experience throughout! It's not quite vanilla Ember.js, but it's close—and this way, you still get all those type-checking and auto-completion benefits, but with a lot less noise! Moreover, you actually get a significant benefit over \"vanilla\" Ember: we type-check that you typed the key correctly in the `service` invocation.\n\nIf you have a reason to fall back to just getting the `Service` or `Controller` types, you can always do so by just using the string-less variant: `service('session')` will check that the string is a valid name of a service; `session()` will not.\n\n#### Ember Data lookups\n\nThe same basic approach is in play for Ember Data lookups. As a result, once you add the module and interface definitions for each model, serializer, and adapter in your app, you will automatically get type-checking and autocompletion and the correct return types for functions like `findRecord`, `queryRecord`, `adapterFor`, `serializerFor`, etc. No need to try to write out those (admittedly kind of hairy!) types; just write your Ember Data calls like normal and everything _should_ just work.\n\nThe declarations and changes you need to add to your existing files are:\n\n* Models\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Model.extend({\n    // attribute declarations here, as usual\n  }) {}\n\n  declare module 'ember-data' {\n    interface ModelRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n* Adapters\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Adapter {\n    // properties and methods\n  }\n\n  declare module 'ember-data' {\n    interface AdapterRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n* Serializers\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Serializer {\n    // properties and methods\n  }\n\n  declare module 'ember-data' {\n    interface SerializerRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\nIn addition to the registry, note the oddly defined class for `DS.Model`s. This is because we need to set up the attribute bindings on the prototype (for a discussion of how and why this is different from class properties, see [Typing Your Ember, Update, Part 2][pt2]), but we cannot just use a `const` here because we need a named type—like a class!—to reference in the type registry and elsewhere in the app.\n\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n\n##### Opt-in unsafety\n\nAlso notice that unlike with service and controller injections, there is no unsafe fallback method by default, because there isn't an argument-less variant of the functions to use as there is for `Service` and `Controller` injection. If for some reason you want to opt _out_ of the full type-safe lookup for the strings you pass into methods like `findRecord`, `adapterFor`, and `serializerFor`, you can add these declarations somewhere in your project:\n\n```ts\nimport DS from 'ember-data';\n\ndeclare module 'ember-data' {\n  interface ModelRegistry {\n    [key: string]: DS.Model;\n  }\n\n  interface AdapterRegistry {\n    [key: string]: DS.Adapter;\n  }\n\n  interface SerializerRegistry {\n    [key: string]: DS.Serializer;\n  }\n}\n```\n\nHowever, we **_strongly_** recommend that you simply take the time to add the few lines of declarations to each of your `DS.Model`, `DS.Adapter`, and `DS.Serializer` instances instead. It will save you time in even the short run!\n\n##### Fixing the Ember Data `error TS2344` problem\n\nIf you're developing an Ember app or addon and _not_ using Ember Data (and accordingly not even have the Ember Data types installed), you may see an error like this and be confused:\n\n```\nnode_modules/@types/ember-data/index.d.ts(920,56): error TS2344: Type 'any' does not satisfy the constraint 'never'.\n```\n\nThis happens because the types for Ember's _test_ tooling includes the types for Ember Data because the `this` value in several of Ember's test types can include a reference to `DS.Store`.\n\n**The fix:** add a declaration like this in a new file named `ember-data.d.ts` in your `types` directory:\n\n```ts\ndeclare module 'ember-data' {\n  interface ModelRegistry {\n    [key: string]: any;\n  }\n}\n```\n\nThis works because (a) we include things in your types directory automatically and (b) TypeScript will merge this module and interface declaration with the main definitions for Ember Data from DefinitelyTyped behind the scenes.\n\nIf you're developing an addon and concerned that this might affect consumers, it won't. Your types directory will never be referenced by consumers at all!\n\n### Type definitions outside `node_modules/@types`\n\nBy default the typescript compiler loads up any type definitions found in `node_modules/@types`. If the type defs you need are not found here you can register a custom value in `paths` in the `tsconfig.json` file. For example, if you are using [True Myth], you'll need to follow that project's installation instructions (since it ships types in a special location to support both CommonJS and ES Modules):\n\n[true myth]: https://github.com/chriskrycho/true-myth\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"my-app-name/*\": [\"app/*\"],\n      \"true-myth/*\": [\"node_modules/true-myth/dist/types/src/*\"]\n    }\n  }\n}\n```\n\n### ember-browserify\n\nIf you're using [ember-browserify], you're used to writing imports like this:\n\n[ember-browserify]: https://github.com/ef4/ember-browserify\n\n```js\nimport MyModule from 'npm:my-module';\n```\n\nIf the `my-module` has types, you will not be able to resolve them this way by default. You can add a simple tweak to your `tsconfig.json` to resolve the types correctly, however:\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"my-app-name/*\": [\"app/*\"],\n      \"npm:my-module/*\": [\"node_modules/my-module/*\"]\n    }\n  }\n}\n```\n\n### ember-cli-mirage\n\nMirage adds files from a nonstandard location to your application tree, so you'll need to tell the TypeScript compiler about how that layout works.\n\nFor an app, this should look roughly like:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"my-app-name/mirage/*\": \"mirage/*\",\n    }\n  },\n  \"include\": [\n    \"app\",\n    \"tests\",\n    \"mirage\"\n  ]\n}\n```\n\nAnd for an addon:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"dummy/mirage/*\": \"tests/dummy/mirage/*\",\n    }\n  },\n  \"include\": [\n    \"addon\",\n    \"tests\"\n  ]\n}\n```\n\nNote that if Mirage was present when you installed ember-cli-typescript (or if you run `ember g ember-cli-typescript`), this configuration should be automatically set up for you.\n\n### \"TypeScript is complaining about multiple copies of the same types!\"\n\nYou may sometimes see TypeScript errors indicating that you have duplicate type definitions for Ember, Ember Data, etc. This is usually the result of an annoying quirk of the way both npm and yarn resolve your dependencies in their lockfiles.\n\n#### Just tell me how to fix it\n\nThere are two options here, neither of them _great_:\n\n* manually edit `yarn.lock` or `package-lock.json` and merge the conflicting\n* add a [\"resolutions\"] key to your `package.json` with the version you want to install of the types you're installing:\n\n```json\n{\n  \"resolutions\": {\n    \"**/@types/ember\": \"2.8.15\"\n  }\n}\n```\n\n[\"resolutions\"]: https://yarnpkg.com/lang/en/docs/selective-version-resolutions/\n\n#### Why is this happening?\n\nIf you're using another package which includes these types, and then you trigger an upgrade for your own copy of the type definitions, npm and yarn will both try to preserve the existing installation and simply add a new one for your updated version. In most cases, this is sane behavior, because it prevents transitive dependency breakage hell. However, in the _specific_ case of type definitions, it causes TypeScript to get confused.\n\n## Using ember-cli-typescript with Ember CLI addons\n\nDuring development, your `.ts` files will be watched and rebuilt just like any other sources in your addon when you run `ember serve`, `ember test`, etc.\n\nHowever, in order not to force downstream consumers to install the entire TS build toolchain when they want to use an addon written in TypeScript, ember-cli-typescript is designed to allow you to publish vanilla `.js` files to the npm registry, alongside `.d.ts` declarations so that consumers who _are_ using TypeScript can benefit from it.\n\n### Publishing\n\nThis addon provides two commands to help with publishing your addon: `ember ts:precompile` and `ember ts:clean`. The default `ember-cli-typescript` blueprint will configure your `package.json` to run these commands in the `prepublishOnly` and `postpublish` phases respectively, but you can also run them by hand to verify that the output looks as you expect.\n\nThe `ts:precompile` command will put compiled `.js` files in your `addon` directory and populate the overall structure of your package with `.d.ts` files laid out to match their import paths. For example, `addon/index.ts` would produce `addon/index.js` as well as `index.d.ts` in the root of your package.\n\nThe `ts:clean` command will remove the generated `.js` and `.d.ts` files, leaving your working directory back in a pristine state.\n\n**Note**: While `.ts` files from both the `app` and `addon` directories of your addon will be transpiled by `ts:precompile`, only the declaration files from `addon` will be published. Since the final import paths for `app` files will depend on the name of the consuming application, we can't put those declaration files in a meaningful place.\n\n### Linking Addons\n\nOften when developing an addon, it can be useful to run that addon in the context of some other host app so you can make sure it will integrate the way you expect, e.g. using [`yarn link`](https://yarnpkg.com/en/docs/cli/link#search) or [`npm link`](https://docs.npmjs.com/cli/link).\n\nWhen you do this for a TypeScript addon, by default your `.ts` files won't be consumed by the host app. In order for a linked addon to work, you need to take a few steps:\n\n* ensure `ember-cli-typescript` is installed and set up in the host app\n* override [`isDevelopingAddon()`](https://ember-cli.com/api/classes/Addon.html#method_isDevelopingAddon) in the linked addon to return `true`\n* update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"node_modules/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"node_modules/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"node_modules/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"node_modules/my-addon/app\",\n  \"node_modules/my-addon/addon\"\n]\n```\n\nThis will cause `ember-cli-typescript` in the host app to take over compiling the TS files in the addon as well, automatically rebuilding any time you make a change.\n\n**Note**: remember to remove your `isDevelopingAddon` override before publishing!\n\n### In-Repo Addons\n\n[In-repo addons](https://ember-cli.com/extending/#detailed-list-of-blueprints-and-their-use) work in much the same way as linked ones: their TypeScript compilation is managed by the host app. They have `isDevelopingAddon` return `true` by default, so you only have to update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"lib/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"lib/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"lib/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"lib/my-addon\"\n]\n```\n\n### Gotchas\n\nA few things to look out for when working with TypeScript in addons:\n\n* Normally, addons under development automatically return `true` from their `isDevelopingAddon()` hook, which `ember-cli-typescript` relies on to determine whether to process the addon's `.ts` files. However, if the name field in your `package.json` doesn't match the name in your `index.js`, this default behavior will fail and you'll need to override the method yourself.\n* TypeScript has very particular rules when generating declaration files to avoid letting private types leak out unintentionally. You may find it useful to run `ember ts:precompile` yourself as you're getting a feel for these rules to ensure everything will go smoothly when you publish.\n\n## Current limitations\n\nWhile TS already works nicely for many things in Ember, there are a number of corners where it _won't_ help you out. Some of them are just a matter of further work on updating the [existing typings]; others are a matter of further support landing in TypeScript itself, or changes to Ember's object model.\n\n[existing typings]: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember\n\nWe are hard at work (and would welcome your help!) [writing new typings][ember-typings] for Ember and the surrounding ecosystem. If you'd like to try those out, please see instructions in [that repo][ember-typings]!\n\n[ember-typings]: https://github.com/typed-ember/ember-typings\n\nHere is the short list of things which do _not_ work yet in the version of the typings published on DefinitelyTyped.\n\n### Some `import`s don't resolve\n\nYou'll frequently see errors for imports which TypeScript doesn't know how to resolve. For example, if you use Ember Concurrency today and try to import its `task` helper:\n\n```typescript\nimport { task } from 'ember-concurrency';\n```\n\nYou'll see an error, because there aren't yet type definitions for it. You may see the same with some addons as well. **These won't stop the build from working;** they just mean TypeScript doesn't know where to find those.\n\nWriting these missing type definitions is a great way to pitch in! Jump in \\#topic-typescript on the [Ember Slack][Slack] and we'll be happy to help you.\n\n### Type safety when invoking actions\n\nTypeScript won't detect a mismatch between this action and the corresponding call in the template:\n\n```typescript\nEmber.Component.extend({\n  actions: {\n    turnWheel(degrees: number) {\n      // ...\n    },\n  },\n});\n```\n\n```hbs\n<button onclick={{action 'turnWheel' 'NOT-A-NUMBER'}}> Click Me </button>\n```\n\nLikewise, it won't notice a problem when you use the `send` method:\n\n```typescript\n// TypeScript compiler won't detect this type mismatch\nthis.send('turnWheel', 'ALSO-NOT-A-NUMBER');\n```\n","engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"~2.18.2","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.0-beta.4_1524258042796_0.000385481885427863","host":"s3://npm-registry-packages"}},"1.3.0-beta.5":{"name":"ember-cli-typescript","version":"1.3.0-beta.5","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.0-beta.5","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"4d5f3d3e13a7920811f04a74119af7ccf8b24473","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.0-beta.5.tgz","fileCount":433,"integrity":"sha512-XXQQs28uuGc95weTrsGmLh2oIezwVwCvbt2okbNBv2/pTMuQHOVtiPWWlO+dJ+xAmchjsH0KhtxAG6VA6Vw2Qg==","signatures":[{"sig":"MEQCICiGztLsu37ydjpNcpvFlS2SvldU515Igun4TPNPTkLTAiB0eFgxiCSIn+hU03+0W+Enm8iOTgAwL4XCXjsx0EWB7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":149176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa4n2PCRA9TVsSAnZWagAAFx4P/R5VBukuqJevznqjj5ie\nvDUmuncDjnwny3Qb3+trlzpQnmTg2su9zYz/W7ddjffdCXbF2TkH8in8z3Sl\nX8I5oUfZNqDnhxklpGW4wtCEp9+Ajeg3EOssnmpdjcWwZToSfXwbq7ejOs8Z\n8qhDMgcUZgkVzOivAy2sBVYmlsuVklacjwk40Md3ho00HBHWlzm0HMIm9QGc\nlDWdJTQTmglOL6f2Iz4j4iHkFYPIp3+CW70VlFlTH38q2NbCV/QcQAvz4DVr\nidpjX4hUADkaZXZSWcq/xXbQ6XdgteQ6FdR2OUjPxqkmYG+q4J2si9v2Or5T\nFSG1I1SI1Nf8gNA6wnimy4Gq35YJuRY3cBTCs49zgirWWIR63U9FabgbrDv/\nAPRrBjv32IWpQMzeaK7v9SOnS6c2JU87t70hynRbOHNwHoPryKGPiTl4HsuC\nPigFHHftCdsXjEH4/6Emcgx/nRxEzvgjBSieTXbmYWaaJznvuZlZLWpac0cA\nAG3o1HVMejHPzUgjAhsWohe+Ur7W/0WO6CcBDNu4Hcgg0CTM9jlB25yylQaD\nTqcH3XrCdExmLhfqkyy7XbVqk1uld0zRrUtbQqDaN7q4In1mq29DvnpKw8ny\n2wFaT8PiAUUnVtfzVMB6qq5ZN2/j9tLXdsFVLqwRY3lNpmB7gNNuFTGNBbwT\n/001\r\n=BGzI\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"~2.18.2","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.0-beta.5_1524792716616_0.369274211496867","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"ember-cli-typescript","version":"1.3.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"4569e74f74898e2d2f5ebb86773e389dab35c32a","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.0.tgz","fileCount":138,"integrity":"sha512-ALH0pq/VA3lhqYZR2Cf6kzy4LYCJGDseDOFXdnlp8loqkYtThBENTg+PR1rf+WpneKy/UiEssz39xDuYeqZpEQ==","signatures":[{"sig":"MEYCIQDbBWudXnzPghqsX88ql/c/ZxG/5sxCA6vB/0N9XoHrngIhANGoLvAE7W5drBk0voTWkjiMJ2iqW/xKPcgDs/TMXJk8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":683842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6KXyCRA9TVsSAnZWagAAI+cP/2vDbdYGDj5RnpRjPnez\ndLS1bJ9EwSZUIMpXUGDtPhWlNRmHtHxHsMzV4S/Mb5AO7gw1Vuhs4+pkEscI\ng0Sv9s9SqB/cfVDqOfiYNbkX0OPc/3uNKzr55hoCtCmJ1uZA1dqlRy4QX4ve\n1geRfq7ZXfo74NrtY3VBIkn6GpykmDyM5FgB8HqGmE1IzPQvBPWpjz+l9O+T\nxvuwjcrdDvrpZXAJDgKez0OzL3haQfQL6osWt83NzUDiEzaRzmk6UJLc9bAq\nRHEX9XcA/5qzuLFb2fFzVtYaQBIh+ete7G9+usPRX2ssx9X8DgZzNmsXIox7\nVVhK568krXD0JpzvG5RWt9XrPYS+6DFUfWtftUo0ldn9UEe9czirnYQ4TLuO\nrnE52cdYzZ8hXVHkFwrGS3BPVJsIkZreiCls5eva5u7oanXOmuMzQRjcF9ZQ\nbMcRtDzAKxMgH8tPJAkjmrHwdTHTcX9/cgpw8X+ssCYxJUaOsoAt2UPwRWzA\n311YT09/p4kbXSBWox8pXQAtYrzqKKySC+hcHG7MOMz+QnViOaiVrIWQTPJy\nAYEJrllKG9aKJDU+h4sXQpt/vS7FBMtB19ShnulE+4gyWprgIqx/ejAPQhxA\nwitm1eaNm1vtNhfaq0zEA/0G+EEtDAJXy2l1AV4nXQrDlnVnN5i3zvy5yB1r\npBfV\r\n=al6K\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"3033ff883c0193ff5360183d8ad4c1919d528fa6","scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"jamescdavis","email":"james@cos.io"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.8.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"2.8.13"},"_nodeVersion":"9.10.1","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"*","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.0_1525196271199_0.18845696674135493","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"ember-cli-typescript","version":"1.3.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"af9c00e5f0a37dd3117ba6b78153e016f3482fd2","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.1.tgz","fileCount":448,"integrity":"sha512-m/ztFyiwwk2wOAfiB5A5ts8CFs5a/VDa7wKckevcSPqtdU/rHp1h0jcOzSjG+1zxmzmtmTsUC7rIbIQViHw8GA==","signatures":[{"sig":"MEYCIQDMpvCiTKh85RCvc9qNh+acDwfOiD6Jd+PCSSFP8Ux15wIhAJeVcTLPY7lVDzVCQ9TsmdyeQo4G9/jBIt+17mqzMiFQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+ebICRA9TVsSAnZWagAAqvkP/iFEJ3TpxDLpwXVbFS28\nyd2DxzPJ4iqX+5Ulcz9T5E4lBD59+b7YasF3kqo0mRll8ahnjRENbsy4qHhB\nFF0hTUBuVeKNe6v/BT+dZV82Cg7ohCLTfkQdoT15BX3C51+js2argxLw/N7g\nHiOfeck5rOAY75h+4Um16ciZFxut9XLJuJC24lMKsNdYrvaG56V2LChHkOQf\n8uDqLxuD/+MyRDOizAkKEj3EPfYfH9flaprM2MshlP//DV51UatgF3XsNtug\n8i6UZ8lkuO2bi8zA+IeNWnYrUC08vnhKWQBdmsAM4AxslpmNw9R+0AcEMxoB\n0FF4TYNIId4FQJ9rU1FKHojLZHSCgKwajqveb8TjCZC/50xg9rd5iVouaS8o\nFhnMOQjvw7kRnwm1cItDZMrN29eAAlZxuOX/gVCzI1VATXDVD6jV8OlLwEI3\nxokd7p6L6uHyh4429HJMu5M5A3bpl7MQp2Rs2Y/Sje3FjgLmDz5+zB3XGl+i\n+8jcBwh0+mlO/6ijwSZfVLO38LwYruT9FuqqQdqh+SWcc8oIU57eqM387lDF\n59IQgKfxS6gRxFSwzWkuhzGqFFH64XziHWpvfHpADRTbOK8qEfIOM3rNOr8V\n5vhFUZu1qEC17Lsi7SLAU/BWdzdhFHlvhqsxRTg6SMvROsW554FOS4Be2iNH\nbetP\r\n=tbfL\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"~2.18.2","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","escape-string-regexp":"^1.0.5","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.1_1526326981182_0.6917730573521597","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"ember-cli-typescript","version":"1.3.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"6e2124ce1e85dd52c92e5a8b071d9ffcbb4adf4d","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.2.tgz","fileCount":438,"integrity":"sha512-+HrVquMazVN+jFZ4bSiK5XCwNyAwHyQqdveOA3tTDrxTgaoD83uTMWPlP/05xmDX2hA72IgARPyivYouhkeDIw==","signatures":[{"sig":"MEQCIDo9il/v4pMKsW+AACdr2b0K+Z/vGcPH9dhHXPv7G6G5AiBbmhg0EXbwwaf4COuMk/s4kH7aDdloX1xg5IN5Lh6few==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":150013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFzTeCRA9TVsSAnZWagAAA6wP+wXQV4kK836BKuEnJyx+\nAeq/qQhitS7+bBTuVtGCP3VR4SSSlEz5i0SgdAOaLiVV9LU2PoZ1A1y24Y9C\nrfJjBODZ5ww4uDt49iB8wTIjTb6fwu3GjTbLq17lB2pGzan6OgFfSmdog+2F\n2jHhiJ029JYa5iACZfX6JztwGusUrrFTp6lqBb14BjOz/DSAhOewUk7869c4\n4BtVeNPB2Qud+bBoiZlHSSNq9uT8aBJ72uNLlzVOUhPsKOwYJ4RdvPnddCB0\n0orkdUjewwDxoFZ2CSxf3ZZL0fs29//UH0J0OwBfUVvr8OIlhpxIAmH14DUD\nh2eREX6mcQgjYAt/NEgWXOvHTPLW401lOm9xAYQOFWdVSgsLmWWBOo0qYRmx\nYeneZdh6++XXV+CUkVcsRrcLkIS4AlZPk83UPOPPR4rJHhj95uzrxkkSioPx\nyss2ah1XPvXoJIKxCFwPhZQx1zDzeWXtvRWNruk/85phabiF8pM6fd5RXepm\nRqx1P2wflslLBUKzAn25SYx/viZ34xmW4UrHvtHxrjDPntlsq1mxvyXBc5EG\n9Aiqr9iVUycByPgVW+Cei335DaEdz+qVevazmZJrchEkCGASZj+kAPClRGEG\nJAeVMdtssWAFlX2q52h733Rsv514hElF9qbYR7nDw7K2JR6PzNsYDGe9ymp0\nhC/+\r\n=07Am\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember test","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js addon addon-test-support app blueprints config lib server test-support tests","nodetest":"mocha node-tests --recursive","test:all":"ember try:each"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"~3.1.4","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","escape-string-regexp":"^1.0.5","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","ember-try":"^0.2.23","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.1.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.1","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-source-channel-url":"^1.0.1","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.2_1528247515522_0.2038393632222899","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"ember-cli-typescript","version":"1.3.3","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.3","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"8589f592500a1591a0b6aa8a4028f0f92101359b","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.3.tgz","fileCount":145,"integrity":"sha512-Bg+mnAW49EBXtwHVgD47gFZEm9YhDcFoqNUTdJS+pKDWPkjW8EEdtuaJKDbd/tL2BtRWE7sEn/EWbXoCFNMLZw==","signatures":[{"sig":"MEUCIQDLnpl3LaOr69C1cmR8QEIiIftHXAPYZcsEPfkayXXc8AIgRVPevJvrAadIinllWZsyCmR+reKh1bUrxXXrBruLKCc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":704600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUK39CRA9TVsSAnZWagAAfLwP/iol3/IhhYlG3MnY5QP1\nbCIxqf04/pCUCktShsOZ1S8R07RbhCIw2Xv/CIfuh8hRbtxV3hFoxBMTOiTi\nKB2jzbu5wTuhkZJMXNEjYLO74iLvSCOnHXd3FMHn592uFkXYHtJ7nY2CfS8l\n8vM+rteouqKu1ldeqIvnkAiwVpCXq+jn+6SceegZGWt5u8UEoX0hQYYHUcsC\nuKc9KH/OtuJ1exFNBigs6nP3d3Of0up7nedYW5LP/SP12Mhfj264Njv4OCNo\n6AfP0ofcSeykwnGbo9go9EH6/8UkgTDWH2MSw2I3agvJiiQ6Ta4OdAOUmxM4\nob9Dr5NjLWBQa7Ogfc/hfGYyvKCQ1/Qr8a9Vri3DiofWpirKaBd2sNZI4av8\naX6ewqvQG3hMjhB6nOxRfzz44g2yoHSbj4Fi8LwWLEWjZvkSwVHYSNZdiK9S\nX1/A85S0Mpv1HrjOq0Z4iQYvT2AcfDW7at0sIztJU3D2kAXwlu+2nMzxM386\n32cO4WEr5pbpApssrFDnG0xHMwv4PA6t1Z4wpwqjGM+NqVPfQYmaCIEBw1ld\n6nB9o2vD2JyYNQN/H75Fd9NiAyXq0ZgDphrZWwHb2JNXaFgr+oBBotsky+xG\nce6vKfVIVjJnuVck+/HtW8p61nueMbK+9VSFR/PRC09LI99BCxA62Q6hxhfn\nT1Zm\r\n=ywbb\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"5ae2ab02c9130dedb9008919282e7535a64e0282","scripts":{"test":"ember test","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js addon addon-test-support app blueprints config lib server test-support tests","nodetest":"mocha node-tests --recursive","test:all":"ember try:each"},"_npmUser":{"name":"jamescdavis","email":"james@cos.io"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"5.6.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"after":["ember-source","ember-data","ember-decorators"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"2.8.13"},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"*","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","escape-string-regexp":"^1.0.5","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","esprima":"^4.0.0","ember-cli":"~3.1.4","ember-try":"^0.2.23","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.1.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.1","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-source-channel-url":"^1.0.1","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.3_1532014076939_0.4455374310465585","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"ember-cli-typescript","version":"1.4.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.4.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"ae989180b7cd6dfba71b7fc89c619d2c6b2d1987","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.4.0.tgz","fileCount":145,"integrity":"sha512-nlmiAuDHPKbtUvP5GauO3iLWPXi1LoefglE7DBq0nx66dEleJvytZOIRnuH9rVLN0pZQBXo7Njqg8T3mEZKoTw==","signatures":[{"sig":"MEUCIQD/zP93D4onSlFAW9aEckL/gEpaxGPOpFzfs6lUqs7ZpwIgXZRTPzzKhBhw0/OaZ6i1JGvDnSvJNd7pcgsRKP4u2vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":710654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbagF2CRA9TVsSAnZWagAAFHUP/jZ8vSHralhR1lgcx2yA\ndOz6h9KGrIpYLAuwKvj+ke6JDRptYfYgcwHJTMlhvgi0gOd5HWCG8KOp6Kck\n+VPcjverW/xzgsZwou5ylHe/S9GIO2abCkYb9VXe7katCVPitIfMRiyMX5Mg\n2CiWRv5b20FsCWC99X0qzIEp7TKeBfBP5FTXd/9yP74orDRV7EMV1+kIm6dX\nQMst57BlB926Y7fCnRmI9paIgmmYHgJfqdQL4idJAZz12W+M7koiqspp5vaO\nmRMSzQSJd5lIg8+9/JC+aqizWPiVV5qwPWTkQYqEXKUcyVt5BSbOd5WbXPvB\nRJS9vHLFXs/TNzUY+K/6bPjsnTBFYy2NACEIKnbcHdx8yyQxW7n39+oxbmXK\ncTbyBZWM0yZ1UInsIf6CzWqjPAat6tg9hr2GC0Ln0vXf85uDda0PJtvGrcrE\nEWhWYjYTbwdVca81S0mad8S6lvga4G1bldpR2T1yuNrYst/8iByD4CEKuj0B\nOgWFcojX/K/stpSPHhgtjkzf3LZF3yORYQmsqXeq55opj523ZS5OMC3LAhHl\nmtNV8rzqpjHn8Ab9FGbJ+4jXaHocZ7Qd1kwgcgiSidHTvEoF582LxgPYvP2f\nhRTp1VCgYSxOmahRpVOVEKimbUr1XQ7ExPtystpOx4G0fSUZf1Zy+gQrsNgJ\ny+xC\r\n=x2C+\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"f0ebdf5b0ab2067e2b824973e0bef808bbaf4a68","scripts":{"test":"ember test","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js addon addon-test-support app blueprints config lib server test-support tests","nodetest":"mocha node-tests --recursive","test:all":"ember try:each"},"_npmUser":{"name":"jamescdavis","email":"james@cos.io"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.2.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"after":["ember-source","ember-data","ember-decorators"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b","tests/dummy/lib/in-repo-c"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"2.8.13"},"_nodeVersion":"8.11.3","dependencies":{"glob":"^7.1.2","rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"*","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","escape-string-regexp":"^1.0.5","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","esprima":"^4.0.0","ember-cli":"~3.1.4","ember-try":"^0.2.23","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.1.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.1","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-source-channel-url":"^1.0.1","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.4.0_1533673846599_0.4977203771209837","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"ember-cli-typescript","version":"1.4.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.4.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"55c523fc3d5d149612fef59af90b10b1bf5b8dc6","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.4.1.tgz","fileCount":53,"integrity":"sha512-g5HM2Pri+9Hs3AeoXKZkpjTJaMTzMoTutwp0hps2+yQa/snAQIRWAMXe1mAU8vxihOw7bczKyTdXQwqjBeEqbA==","signatures":[{"sig":"MEQCIBwvcvQblwK1vz2niI9SQeobZGVJiWYpNSpNg3QAzFVXAiBCWYNMuCIwwLbLkMCiMIGK6F/Ki+8BtkV6K8dyMPGhOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkIIKCRA9TVsSAnZWagAAQw0P+wQnpA0k9MkRIfYeIfI6\nIJRrUvTvEOyOrMaeOR3Vm8jBS+MO24mwVE+EkpFKkzcBBNYRstzNfQa8J7t8\nmL9FqqqMiwAhNmvxD9e/I5MHymNnnkEaid1e20PNIEP61sNuG7VBSzV/TFSe\nfhYiCsMM4DFxgN3VZL116EQlOp3J+DmkX7Op1ULhHCIMfp20RGcBSDmxLrsW\nhLgjDExMadlW9pyIQjHN31lJwKf/e4Wxik4XxBkS4TacDW6PA+FgZyeRmqkM\nk6t4X8dzwJBD1rdUhxql6xW1x4h+8A2HBPhtQK17mNVf0a4ut8M11kzRBSAc\ncm0t6fc5zsI6NBuVws9aiPgJzDCMTbNgvUPl77/2DS74L9KwnGJhSNYeHb1f\nIVBeOC7hAwzHCYcPjKFfYnmonaQMqHtfTt8QeyGs35eSphEE8mzicNScPkq+\nFTzXfYXKQ5EIc3Xi9b3NbZ/2fDyH0qnyfj6/of3pl8xdv5PLwbuL4sLmPfZa\nlO6bt+qpMT/tIvV0xBewiv8Wrk86HTPuj/3QzHBkZeJD4ZhoR7jotfzgKr/I\nAsdp5xToguN7TDysWBCynPuxtaJHaPN3htGIoxRoqLAKJZ0LWxziRgN670D+\n/OAvE4DUtN6o+q7hXTnq1YioQSNOni1rKd/4qSTFF1L3rEMFrEMJJjRt7rxw\n0+ET\r\n=YrEW\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember test","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js addon addon-test-support app blueprints config lib server test-support tests","nodetest":"mocha node-tests --recursive","test:all":"ember try:each"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"glob":"^7.1.2","rsvp":"^4.8.1","debug":"^3.1.0","execa":"^0.9.0","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","walk-sync":"^0.3.2","broccoli-stew":"^1.4.0","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","broccoli-merge-trees":"^2.0.0","escape-string-regexp":"^1.0.5","ember-cli-typescript-blueprints":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","esprima":"^4.0.0","ember-cli":"~3.1.4","ember-try":"^0.2.23","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","in-repo-c":"link:tests/dummy/lib/in-repo-c","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.1.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.1","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-source-channel-url":"^1.0.1","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.4.1_1536197129562_0.8998027013396301","host":"s3://npm-registry-packages"}},"1.4.2":{"name":"ember-cli-typescript","version":"1.4.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.4.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"4fad637cf0b74a4452611030419c9a97a5bddb41","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.4.2.tgz","fileCount":50,"integrity":"sha512-mnSKFzqWviJha6eJRd7p5OJgnNxvbNbvdy75lT94AJWZxm9YQ3A1TgInpcPocITdKfM17WJzpuCr4wmMQiwJ1w==","signatures":[{"sig":"MEYCIQCnQXARxefjxoxieyDdhwy243dgA9dr6oq5Jhwue+dLmAIhAPp+siWPbkg9LQ6OqUtRXGDDIC4ChrFMJi3uLTYrVGf/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkeOUCRA9TVsSAnZWagAAbMMP/1jGaK4SsLhDdpXCw70T\nSLNvrxSkNgCAUZgw30zqDxlms8m6C0YlJ0UmjtuiOWOqliMR8TkUM4kOIh5B\nZvOeXZdpKy8iXMO72tRnnt/Ydf70uDXg0dR5Q4nZomU4r0VycbYZfYVjA7Hr\nn3o6cewoHs9xjFr1xa9xQh7uceTxechd7SDAGx03TcLjemBe+BvqyfS+R6ps\n4G+KVS7uxj2UtJZ6j+WDXfcmgyvJ7nbstvhyfPcu0Xe2J/f2wuJ8Jkg7TI5m\nJZE0EYE2LxU59Cr+PaX55zX+euyR79YFj6Y3ioaVdEFtNrqswzY1ll0QhIj4\nQJQTqGvh3W94rx9JcL/1JrM955gCDEyLXh8eHO3NCFnlip8SJxxeT1UFzaR4\n/pr2xYQ9mv61HL1kq4m3W/pYiTldX3EYGTn2QzM7tLowwuLYv6yso0Laohh0\n49JGR7kKg3IczXIcdIJV6z3BDITLk9eiRAnR35U9AAKp216AVkHt+DM2Ik2m\ndfBeDfADLxKpP/Y5Mn0sSTwRKFRsNCavsd/x9dDAGVm+kd+ksCXngSlqiEWl\nHO4uiDtIGqAGzBWuokHGgP7rmb90xoUIecwTyC9DdRp/edjNuVwuffxhRJHo\n7M9CcE02+pKIJ/tu3qyci/Od9lrO51GIooLHNk2ygxUkQw7ReS0dbQYMOFgx\nTMJL\r\n=Gd+2\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember test","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js addon addon-test-support app blueprints config lib server test-support tests","nodetest":"mocha node-tests --recursive","test:all":"ember try:each"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"glob":"^7.1.2","rsvp":"^4.8.1","debug":"^3.1.0","execa":"^0.9.0","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","walk-sync":"^0.3.2","broccoli-stew":"^1.4.0","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","broccoli-merge-trees":"^2.0.0","escape-string-regexp":"^1.0.5","ember-cli-typescript-blueprints":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","esprima":"^4.0.0","ember-cli":"~3.1.4","ember-try":"^0.2.23","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","in-repo-c":"link:tests/dummy/lib/in-repo-c","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.1.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.1","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-source-channel-url":"^1.0.1","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.4.2_1536287635239_0.6012330954415381","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"ember-cli-typescript","version":"1.1.7","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.1.7","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"d54fab13f8ad6ebb16d9a2a186474280437e4b76","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.1.7.tgz","fileCount":120,"integrity":"sha512-gAvAXJBk7+OW5AWtAQDKZttARcRVLPt9q2nbCpAlYLVnyWF8E6F467alFfJ4Hew6/AT8s9x3MfQGuzj2FwrUmQ==","signatures":[{"sig":"MEUCIHomgNoFtHHIuRmMr6H2IXWlSEtT55TTEQYoycrjzOoZAiEAtjqDw40smP14me5/UIlDmUANT6GXPIrBfOJdHigOzD0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":665517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqTnRCRA9TVsSAnZWagAAwaUP/2BLyW/JH/N50AI0moPo\nWaYDnG2OTUL5djkfKBlGcpI8u90Kknj6/nsKIY8ytomQK/nkncQcTVLpOtRz\n5BGQYwnXTgC1vIt7cDZyaAuqgjji19T3kG9bO5B+KX/Of2Dqfg5lvDncyz+6\nRCknKPX0jqo8KROY343sqnavIgaZ1HuGiDPi3tYXzpoaTBnaJGHXjtBrTRhO\nWptdtxfqWmETe76ZxB/78zAl+zug8mdc8An2mSMmc9dpaS/Kr28xcJyDso7s\n4rqRYzpd3xCvvqSIcgfMVeUmAtUDsFvaOqeYcfe8pRfpWH6yY4zv+zP1FFBW\nmzAcuVNOgs3RXklTMQXB8g/yRxJPm4ZvyR/T85qe6ozkKpTbelltVAnMVP6o\n7qaCzGEvryjvGbifNrFph5t69vrhMDruVJ265ZWufvbwP5wHSRKiuE3dPNVz\nOGzD+KH00e8uIiM+B2IMjqbXXBA4mMyrjM0kxi9DGPZU8qvyrFJNi47sW6jN\n/62ZAQE6/KTrte0/4OW2MeWOIyEFc4w363F1X3VTJ+gBWljxcqbEI+X+eixK\nOPLCpRu54Jc7zofLyion8ChyhVDfq/tLhvP8Qpqc3MCCzAcDjsVdS+DrWKwV\ndw0hinjCoTXPxg6exWq+4lE4MoqmhPnswQ/MrKip/hPHcPE2oLAD8atih2XL\nrHA1\r\n=xSTc\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"0f5a1bc4eb223475b84c03b50a2e51da5f6f84ad","scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.4.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"2.8.13"},"_nodeVersion":"8.11.4","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","fs-extra":"^5.0.0","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.1.7_1537817040356_0.9592680067585533","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"ember-cli-typescript","version":"1.2.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.2.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"5a8455e6c478f5fcedc3a051a4c39de9b6023eca","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.2.2.tgz","fileCount":137,"integrity":"sha512-tUOB5uQCK2C9w9NNDR1gRXZVasGlzXGXuRZ02mgxA6Q5TCA0bvHxuFzq57/POC2Y577h7DUf8Trw6YdoCYKStA==","signatures":[{"sig":"MEQCIH20QqKPNd1VOuLUMcjG+6h66UbnusJDJJJvurmlTxYrAiBwpcf85ChUhXlwWv8wOQpoMVwl8aI+TtQ/CtyHKU/R4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":678046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqToXCRA9TVsSAnZWagAAB+8P/AiPsDbBXY0Qgxmp2YxB\nFbBcR5av3Y9hUEuD4nbWta1ZXdRKQlb3V3wqnyz1ZBnABFTTtUQ0MmyIlnsn\nPbiLOx2CE6PNQxQPHRsc/SVQJm12cpK67bjwnHIiWdoBC5NI8CHP8Io6Bipa\nuIAcMp4CmkcZOE6ptspwK/wTQCiRHuGxvM6223wV5hrKThYcsa8BhuD6YKbJ\nNQRXOaZvrAJ/+ZZAoYtJVtcmqowXe7rePVFz7WVNYDL3qe+gqYWQGl0Y77yK\nkBbQ5ocVXUbXfLXWsYROXKyXHCaNrqcoU4Asg5CklEe1tjKJr9eG24w/oaPh\nZbxcJn6z8bvzWS1Cm94cRu7+GzH1imVzGzjYa7zsl3svbRf7dX2/ZJcuygJD\newW36DhHb9OLzs/U6VZCOVngROdIPeMLp8Bqga/P+1t968ujZdL1WSR9V/Vt\nxcfLvOqccRsyU19I8yW2SKA5XXHdb6MLVtQOPGj/oVNjxsKoNHGoZo760vDg\nfX4/Qgw9BYAYvp5E4v15lXBpAHcnG27JviAvY7vqXnAw0eujelAB39N4mcwj\nMWlGlz3BsNAmwxYLyP+cZA4yyWwbWt2Vs5IbJ5OJcr6ObZDze/dU2qaYMyyk\nZQ5lcKo1/7fB4vDNVaENvibj5FtFY4YyxbiPd6DTr7nynFQG5lMqsPVqr3VS\n73Mr\r\n=WTKv\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"917cd6783d0b09e2c32b2e66867fead425e4b6d2","scripts":{"test":"ember try:each","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js blueprints/*/index.js addon addon-test-support app config lib server test-support tests node-tests","nodetest":"mocha node-tests --recursive"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.4.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"after":["ember-source","ember-data"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"2.8.13"},"_nodeVersion":"8.11.4","dependencies":{"rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","resolve":"^1.5.0","fs-extra":"^5.0.0","ember-cli":"*","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^5.0.0","eslint":"^4.17.0","ember-cli":"~2.18.2","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"*","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~2.18.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.0","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"peerDependencies":{"typescript":"^2.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.2.2_1537817110355_0.2592272383335039","host":"s3://npm-registry-packages"}},"1.3.4":{"name":"ember-cli-typescript","version":"1.3.4","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.3.4","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"40ded72a2edbe044ce50a5c5233a7567f0842785","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.3.4.tgz","fileCount":146,"integrity":"sha512-MZBu05BkgbaIgFcP+Gs9SZukTcHIXFvqy+sPpwibF9G9ScqqQbBYvak4TIBK30IHGwnyfHdqtwJ92UkUCph7Cw==","signatures":[{"sig":"MEYCIQDQhgnajA6Ay54DOe5aeuwBwD0UOAN1T6+OxcYhkFHm1wIhAPFnf4JtV9GG1YNreW06OX0RLIlKb03PGUyzgz8ufUiL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":713733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqTpFCRA9TVsSAnZWagAAmN8QAJ95F+MMLKmhhB8dj5QU\nuDfT6wYx+/dBJ177pUw0xmhS1ge+IFslGOxD5xjGZjIoNsASCvuML7J0W1l/\nNcVDXVIVd1esk8Vc0EgNrtDkuSmHUlJiNS7XR227FcBNclLZ8wkiWlFvuWTD\nXR+QrAmtwZKJ/9FyPyvQsYwtoyeZjVHJGYrPEpYC1YjbTMBPPzGIA2D9ZfKy\nnV8WroaJOUDwuzYpbyfsCrj/0ei7lefJYN0pNEJ/ZmOAQXfJ3kK6e9rcVfPp\njuTJB0COFjcwjkS2yyqw+vxHimKd1RPFBSIpnVyj4Ys+2gMV/47Ls0QCxXh0\n2pNPstF/zr+m/R1koKjxno1P8p3v1rQXM2CIniNlfSTyOutD+QHyD7Cuyxf2\n7UBWTYNpt4f7p2dhDp+6offGOZVTDiVZaiqurbLMkHZ65HANqQ9KPaKLNXJM\nIPKASHyH/42rFRax9IcymuOpX6Pi3Mu2IAEn6PTglwSoCzpImmvqA8dALtKW\nNrwadRpK21vYTrfhfZNsAq7aiKup6q+M2GpgauXihrs+oH6I/3zBjpkjLfBO\nuq9bZxmVU75BbO1dn8uIGA6G1TCxrioIBf195W6wsalFZ8Eu+6INl+I9iXK4\nymxeLrah+y0mBiwoUXO7hHocf1CQdy/o/+HqwNTvrMcbmWk3E5aGewNwhSpl\nwFh8\r\n=PoDj\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"6c06e6fca27a770310a98fddbb64b1a3c9319209","scripts":{"test":"ember test","build":"ember build","start":"ember serve","lint:js":"eslint ./*.js addon addon-test-support app blueprints config lib server test-support tests","nodetest":"mocha node-tests --recursive","test:all":"ember try:each"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.4.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"after":["ember-source","ember-data","ember-decorators"],"paths":["tests/dummy/lib/in-repo-a","tests/dummy/lib/in-repo-b"],"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"2.8.13"},"_nodeVersion":"8.11.4","dependencies":{"glob":"^7.1.2","rsvp":"^4.8.1","chalk":"^2.3.0","debug":"^3.1.0","execa":"^0.9.0","rimraf":"^2.6.2","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","ember-cli":"*","walk-sync":"^0.3.2","inflection":"^1.12.0","exists-sync":"^0.0.4","silent-error":"^1.1.0","broccoli-stew":"^1.4.0","broccoli-debug":"^0.6.4","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","ember-cli-test-info":"^1.0.0","broccoli-merge-trees":"^2.0.0","ember-cli-path-utils":"^1.0.0","escape-string-regexp":"^1.0.5","ember-cli-string-utils":"^1.1.0","ember-router-generator":"^1.2.3","ember-cli-version-checker":"^2.1.0","ember-cli-is-package-missing":"^1.0.0","ember-cli-valid-component-name":"^1.0.0","ember-cli-normalize-entity-name":"^1.0.0","ember-cli-get-component-path-option":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","esprima":"^4.0.0","ember-cli":"~3.1.4","ember-try":"^0.2.23","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.1.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.1","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-source-channel-url":"^1.0.1","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.3.4_1537817156467_0.7842674823261162","host":"s3://npm-registry-packages"}},"1.4.3":{"name":"ember-cli-typescript","version":"1.4.3","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.4.3","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"3d84e6992ed502403b6767343b4be0ef0c2a9a7c","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.4.3.tgz","fileCount":38,"integrity":"sha512-Dyz7fpmwoDxKjJE5I4ScVZ2lDTHk8NXANorYgz49vMlmNtp4Dsc03pw3ry/kNp5o5aL/sxTaZgkcRRTjHp4c0g==","signatures":[{"sig":"MEYCIQCy/DXdkddqdkWcFrIRRqXZVB8XAvbxWIYDyAz13xy5MQIhAJkqujUI2YbxZUyb6Xsovm82P4gX5vOjyQGxgTjOr7wb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":661415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbqTuLCRA9TVsSAnZWagAA21EP/A9UR0RgItPvgRgf0pZg\n4bsBJGcgQ2brMPermQ/q5C6qxU43OyDi+0B7mNr7Meqp/kcezx0KPQEegS89\n0btaXgANMLHY+/iHIev2MDiyhhXxZW71MmShODlwcvAO+kSoo9oRjFTImENs\nYCrX+p3JDl/V6HcUhB2vBYk6QZtLpVznfhkBpHUDyAZRwGe1JuiKabHawLzF\nDGnY1HNbnhavst/o6UuxUDiX8mv7qxM0wHaA2JGWTS1iBVoH0SUpQtiR0Zx0\nF3PRna39BdxmAI4zj9pS79dUxB/2m0B9tGKuN26uXLaMerulvDj68G6uV1Ls\neIEFeexe2F4IiRZmtXUOu82Nd5GKdO+qUgLQVTmU8o9pBlAVgrFmWihHJLtG\nx3zdm7ejNF3Bn0XyuHEd+gCmysJXPcKzmr9rBpuTqzhDoMIIzRy6CxoMsMcJ\n6BWLq0FpAhR+Bt7Tvd6X/rV/+84cKbbA8rco4bdwSxc4hV+P3P5kZDL6zw5P\nDYqKVGFCSQI250mPjrymT9etUuY2+6x5v7/6Jo1pL7OQmubQZuv9TAVuw5x4\nOANKWcfiAyc8/F5m6DCBnm4KV+iarOuDqF7K+o2waEsRvNiglOEn726tGZgV\n8qbvkU13aVGDqju6166Mo09VXDMpyIM3LI3Lc5PqIsDqGk1qZFDioUblE7UT\nAERj\r\n=s0WR\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"gitHead":"c20f5ef57bc958adfedb9948a46481fdbf7a4702","scripts":{"test":"ember test","build":"ember build","start":"ember serve","ci:test":"ember test && mocha --recursive js/tests","lint:js":"eslint --ext js,ts .","test:all":"ember try:each","test:node":"mocha -r register-ts-node 'ts/tests/**/*.{ts,js}'","ci:prepare":"yarn prepublishOnly && rimraf ts","postpublish":"rimraf js","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.4.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"2.8.13"},"_nodeVersion":"8.11.4","dependencies":{"glob":"^7.1.2","rsvp":"^4.8.1","debug":"^3.1.0","execa":"^0.9.0","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","walk-sync":"^0.3.2","broccoli-stew":"^1.4.0","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","broccoli-merge-trees":"^2.0.0","escape-string-regexp":"^1.0.5","ember-cli-typescript-blueprints":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","rimraf":"^2.6.2","esprima":"^4.0.0","ts-node":"^7.0.1","ember-cli":"~3.1.4","ember-try":"^0.2.23","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","in-repo-c":"link:tests/dummy/lib/in-repo-c","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.1.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.1","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-source-channel-url":"^1.0.1","typescript-eslint-parser":"^15.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.4.3_1537817482813_0.48855231804095944","host":"s3://npm-registry-packages"}},"1.4.4":{"name":"ember-cli-typescript","version":"1.4.4","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.4.4","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"5ee0a16a5776baa76ebdb7cee32371a7a02bbe03","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.4.4.tgz","fileCount":54,"integrity":"sha512-wRr2cOupWP2vUyjE0AGXxC+/FL2+bfakXao/I2h/P6s1QuiC7HZP/f9dMYbixxd6+pwHLqNLKQS1sP/KsUcXvA==","signatures":[{"sig":"MEQCIEszqUX//JaiSqU6vl0wKSteMIGGv8a66OTgpjKbRnK8AiARAsnNw5j8E/bzH2R5ctsN1VawotiumDW/meq1IJqd0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbsqsvCRA9TVsSAnZWagAASE8QAIV4DLnnm0hLTZmzJCxu\n9gAlC+uhTS8uwaueqQn0NIS43ar8MkyFv1biPn0uAb0JC67d4WdrETF2w33n\nK/xWwTV6bU+8Xm9zkWHWFaF24XH8zf9WF0v49QXaB0OAVcp6XymlAqIDTrH0\n3ELYJBziB9HpIIwZSRvdTv8nXoKitqAqc8NAUCqRD1G9tj6Z8TaEo8hxeCxX\npUh/M/CyWfDil/mt59JVVi5mjXfvmzp8+PZ6EL1DpI7mzCsM1WImsEIr+7uc\n1t6gAjrB6wWuFmni0bURXWueY7r+w9lcQ3E5YkqZ35hpJWBUlAc4/tBIl2hM\nFxo1aCQENo8gsnDxFNRaG/zAA9NPjcrRL/GsP+sUByRvNYDxgYW9MICN4S3T\nXCjgpUvKnrlkiXC1hjAULmLcqeAGEzKKtloU387qHh34aUqkw5epOPhknIqw\naL1zuNh23q3eGYeqI/5Ns21JTcrXjsiiwulHMrokn8ITFt9XouklFEsEDNfu\nVeD3JA4EEmN9P0TEotQRitlt1nNnhMswdRiQRve3zE69Ixj9lDCeAgawU1Y8\n86W1FJy65mruPsGb6s1qZDcY5cuzotiCrQr/Bu5VjNTDTHDiFSLXKL4vZu9E\nGJ/uPnzCLX6784/MIkyJsMNmW6C0lsGoJLMXRrUqoZOawoJC655SvhPQuwcY\n0IFU\r\n=h3RG\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember test","build":"ember build","start":"ember serve","ci:test":"ember test && mocha --recursive js/tests","lint:js":"eslint --ext js,ts .","test:all":"ember try:each","test:node":"mocha -r register-ts-node 'ts/tests/**/*.{ts,js}'","ci:prepare":"yarn prepublishOnly && rimraf ts","postpublish":"rimraf js","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data","ember-decorators"],"before":["ember-cli-babel","ember-qunit-decorators"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"glob":"^7.1.2","rsvp":"^4.8.1","debug":"^3.1.0","execa":"^0.9.0","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","walk-sync":"^0.3.2","broccoli-stew":"^1.4.0","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","broccoli-merge-trees":"^2.0.0","escape-string-regexp":"^1.0.5","ember-cli-typescript-blueprints":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","rimraf":"^2.6.2","esprima":"^4.0.0","ts-node":"^7.0.1","ember-cli":"~3.1.4","ember-try":"^0.2.23","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","in-repo-c":"link:tests/dummy/lib/in-repo-c","loader.js":"^4.2.3","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.1.0","ember-cli-sri":"^2.1.0","ember-resolver":"^4.5.0","ember-cli-babel":"^6.6.0","ember-cli-qunit":"^4.3.0","ember-cli-shims":"^1.2.0","ember-cli-eslint":"^4.2.1","ember-cli-uglify":"^2.0.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.6.0","ember-cli-htmlbars":"^2.0.1","eslint-plugin-node":"^6.0.1","eslint-plugin-ember":"^5.0.3","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.0.0","ember-source-channel-url":"^1.0.1","typescript-eslint-parser":"^15.0.0","ember-cli-dependency-checker":"^2.0.0","ember-cli-inject-live-reload":"^1.4.1","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.2","ember-cli-htmlbars-inline-precompile":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.4.4_1538435886333_0.19859580650203879","host":"s3://npm-registry-packages"}},"2.0.0-beta.1":{"name":"ember-cli-typescript","version":"2.0.0-beta.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@2.0.0-beta.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"021ffabb5731fa72288e9abb78991ffd3175d892","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.0-beta.1.tgz","fileCount":59,"integrity":"sha512-CdIkgXYERryi3bg8I20CdlG03NreJ6oGr2cXpssi07LJAWjBXsacXmqWkUXM/bP/1SPxR/Exp+02Aqy1YLe1Ag==","signatures":[{"sig":"MEYCIQCZRWBX3GpZDdvTzuBal2OcwBbyZmiIwVEEhKowetrkpgIhAMYlv+n5AbTFcCVntqSwBdX5i5uC+GKmPnmhUhvIHc2t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":196268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0hftCRA9TVsSAnZWagAAquYQAIB+U1XY83jVNms1dJW+\nZQwH3JebQWAfs3u0yHh8XEUkHCSUvtW+JKVMEqSPNYBGQ2bJVIEZQ+FiXjrI\n2nC6Y0Nd4WiCYMcFa20h8FeJLxccPPTt3ym523B5VHjDhDvjgVXdt40t/8op\n/pRx9JfW+doGMglYn69OuaqzIC5U0JAJctZd5vfPfJTzfAgix+9isbPhF2lS\nT1ouC8GESPVIx5NZx/xiH4rH/tQepJ6m8KByCPlu1/deiKHRk5BLN3OE/Ovr\n3wMrejUf+0XD8m5T+aDOD+ovKzuNtdDb+gGHXM72eQB+3izlqkE41i4Hb+wG\nXjET2EQXVBrJhl3XhxI4xCpeHfCg68ic14aXwkucukmgMq/WrEcDvxyF/9LI\nh/vFIsYcE3nCkOi9v2DVZIOicgXil4WPa9EsyKHfujILmL35hXGhgI5Hdj+2\nKAYjJX79/vEANzGmaXHexuKZ61Ghi9K84+9rDJ/d/ll41R3oIDK+5M9LjPbW\nYXDmEZlqrzOqTtGNmoqiSSBCH/f0t+AG99MECR/gtGZUktsO08E9ntxTIcjr\nSygzw0WAOnrCWhLnJahBa+GybqJEx5VLj1V9s985KTNBihzeZnQKCpG4khGK\nMnisODFPBygfcY9yRpv+MHFsRRMYVmiGs81kJoI8j5Sp2a7519RPkNRUjSs3\nxZZl\r\n=fH4M\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# ember-cli-typescript 2.0\n\nUse TypeScript in your Ember 2.x and 3.x apps!\n\n[![*nix build status (master)](https://travis-ci.org/typed-ember/ember-cli-typescript.svg?branch=master)](https://travis-ci.org/typed-ember/ember-cli-typescript) [![Windows build status](https://ci.appveyor.com/api/projects/status/i94uv7jgmrg022ho/branch/master?svg=true)](https://ci.appveyor.com/project/chriskrycho/ember-cli-typescript/branch/master) [![Ember Observer Score](https://emberobserver.com/badges/ember-cli-typescript.svg)](https://emberobserver.com/addons/ember-cli-typescript)\n\n* [Getting Help](#getting-help)\n* [Setup and Configuration](#setup-and-configuration)\n  * [Supported Ember & TypeScript Versions](#supported-ember-and-typescript-versions)\n  * [`tsconfig.json`](#tsconfigjson)\n  * [Sourcemaps](#sourcemaps)\n* [Using TypeScript with Ember effectively](#using-typescript-with-ember-effectively)\n  * [Incremental adoption](#incremental-adoption)\n  * [Install other types!](#install-other-types)\n  * [The `types` directory](#the-types-directory)\n    * [Global types for your package](#global-types-for-your-package)\n    * [Environment configuration typings](#environment-configuration-typings)\n  * [String-keyed lookups](#string-keyed-lookups)\n    * [`this` type workaround](#this-type-workaround)\n    * [Nested keys in `get` or `set`](#nested-keys-in-get-or-set)\n    * [Service and controller injections](#service-and-controller-injections)\n      * [Using `.extend`](#using-extend)\n      * [Using decorators](#using-decorators)\n    * [Ember Data lookups](#ember-data-lookups)\n      * [Opt-in unsafety](#opt-in-unsafety)\n      * [Fixing the Ember Data `error TS2344` problem](#fixing-the-ember-data-error-ts2344-problem)\n  * [Class property setup errors](#class-property-setup-errors)\n  * [Type definitions outside `node_modules/@types`](#type-definitions-outside-node_modulestypes)\n  * [ember-cli-mirage](#ember-cli-mirage)\n  * [\"TypeScript is complaining about multiple copies of the same types\"](#typescript-is-complaining-about-multiple-copies-of-the-same-types)\n    * [Just tell me how to fix it](#just-tell-me-how-to-fix-it)\n    * [Why is this happening?](#why-is-this-happening)\n* [Using ember-cli-typescript with Ember CLI addons](#using-ember-cli-typescript-with-ember-cli-addons)\n  * [Publishing](#publishing)\n  * [Linking Addons](#linking-addons)\n  * [In-Repo Addons](#in-repo-addons)\n  * [Gotchas](#gotchas)\n* [Installing from git](#installing-from-git])\n* [Current limitations](#current-limitations)\n  * [Some `import`s don't resolve](#some-imports-dont-resolve)\n  * [Type safety when invoking actions](#type-safety-when-invoking-actions)\n\n## Getting Help\n\nWhen seeking help, you should first consider what you need, and which aspect of the Ember+TypeScript ecosystem your issue pertains to.\n\n### 💬 Getting Started\n\nWe have a channel (#e-typescript) on the [Ember Community Discord server](https://discordapp.com/invite/zT3asNS) where you can ask about getting started, good resources for self-directed learning and more.\n\n### 📚 Issues With Ember Type Definitions\n\nIf you've found that some of the Ember type information is missing things, or is incorrect in some way, please first ensure you're using the latest version of the [packages this addon installs](#other-packages-this-addon-installs). Although [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript) are not the advised places to report problems, you may find an answer there.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ⚙️ Issues With Adding TypeScript Support To Apps and Addons\n\nIf you run into a problem with the way TypeScript is compiled in Ember apps (i.e., a broccoli error message, incorrect build output, etc...), please first check [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript), as you may find an answer.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ✅ Issues With Static Analysis of TypeScript In Ember Apps and Addons\n\nThe TypeScript compiler does some very basic static analysis of your code, and most developers use Palantir's TSLint tool for more thorough checking.\n\nOne sure way to tell which tool is generating an error message is that *Linters like [TSLint](https://github.com/palantir/tslint/) and [ESLint](https://eslint.org/) will always mention their name, and the name of the pertinent rule, when it alerts you to a violation*.\n\n##### Example: \n```\n[tslint] variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)\n```\n`variable-name` is the name of the rule.\n\nFor issues relating to typescript compiler analysis, [create an issue in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose). For TSLint-related concerns, please create an issue in the [`ember-cli-tslint`](https://github.com/typed-ember/ember-cli-tslint) project by clicking [here](https://github.com/typed-ember/ember-cli-tslint/issues/new). If you run into issues with using ESLint with Ember, create an issue [here](https://github.com/ember-cli/ember-cli-eslint/issues/new).\n\n## Setup and Configuration\n\nTo install or upgrade the addon, just run:\n\n```\nember install ember-cli-typescript@latest\n```\n\nAll dependencies will be added to your `package.json`, and you're ready to roll! If you're upgrading from a previous release, you should check to merge any tweaks you've made to `tsconfig.json`.\n\nIn addition to ember-cli-typescript, we make the following changes to your project:\n\n### Other Packages This Addon Installs\n\n* We install the following packages—all at their current \"latest\" value—or generated:\n\n  * [`typescript`](https://github.com/Microsoft/TypeScript)\n  * **@types/ember** ([npm](https://www.npmjs.com/package/@types/ember) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember)) - Types for [Ember.js](https://github.com/emberjs/ember.js) which includes\n     * **@types/ember__string** ([npm](https://www.npmjs.com/package/@types/ember__string) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__string)) - types for the [`@ember/string` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fstring) \n     * **@types/ember__object** ([npm](https://www.npmjs.com/package/@types/ember__object) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__object)) - types for the [`@ember/object` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fobject) \n     * **@types/ember__utils** ([npm](https://www.npmjs.com/package/@types/ember__utils) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__utils)) - types for the [`@ember/utils` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Futils) \n     * **@types/ember__array** ([npm](https://www.npmjs.com/package/@types/ember__array) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__array)) - types for the [`@ember/array` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Farray) \n     * **@types/ember__component** ([npm](https://www.npmjs.com/package/@types/ember__component) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__component)) - types for the [`@ember/component` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcomponent) \n     * **@types/ember__engine** ([npm](https://www.npmjs.com/package/@types/ember__engine) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__engine)) - types for the [`@ember/engine` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fengine) \n     * **@types/ember__application** ([npm](https://www.npmjs.com/package/@types/ember__application) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__application)) - types for the [`@ember/application` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fapplication) \n     * **@types/ember__controller** ([npm](https://www.npmjs.com/package/@types/ember__controller) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__controller)) - types for the [`@ember/controller` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcontroller) \n     * **@types/ember__service** ([npm](https://www.npmjs.com/package/@types/ember__service) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__service)) - types for the [`@ember/service` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fservice) \n     * **@types/ember__runloop** ([npm](https://www.npmjs.com/package/@types/ember__runloop) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__runloop)) - types for the [`@ember/runloop` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frunloop) \n     * **@types/ember__error** ([npm](https://www.npmjs.com/package/@types/ember__error) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__error)) - types for the [`@ember/error` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ferror) \n     * **@types/ember__polyfills** ([npm](https://www.npmjs.com/package/@types/ember__polyfills) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__polyfills)) - types for the [`@ember/polyfills` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fpolyfills) \n     * **@types/ember__debug** ([npm](https://www.npmjs.com/package/@types/ember__debug) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__debug)) - types for the [`@ember/debug` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fdebug) \n     * **@types/ember__test** ([npm](https://www.npmjs.com/package/@types/ember__test) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test)) - types for the [`@ember/test` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ftest) \n     * **@types/ember__routing** ([npm](https://www.npmjs.com/package/@types/ember__routing) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__routing)) - types for the [`@ember/routing` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frouting) \n  * **@types/ember-data** - ([npm](https://www.npmjs.com/package/@types/ember-data) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-data)) - Types for [Ember-Data](https://github.com/emberjs/data)\n  * **@types/rsvp** - ([npm](https://www.npmjs.com/package/@types/rsvp) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rsvp)) - Types for [RSVP.js](https://github.com/tildeio/rsvp.js/)\n  * **@types/ember-test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-test-helpers)) Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers), which arose from [RFC #232](https://github.com/emberjs/rfcs/blob/master/text/0232-simplify-qunit-testing-api.md)\n  * **@types/ember-testing-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-testing-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-testing-helpers)) – Types for [Ember's built-in globally-available test helpers](https://github.com/emberjs/ember.js/tree/master/packages/ember-testing/lib/helpers)\n  * **@types/ember__test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember__test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test-helpers)) – Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers) when imported as `@ember/test-helpers`.\n\n### Files this addon Generates\n\n* We add the following files to your project:\n\n  * [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\n  * `types/<app name>/index.d.ts` – the location for any global type declarations you need to write for you own application; see [Global types for your package](#global-types-for-your-package) for information on its default contents and how to use it effectively\n  * `app/config/environment.d.ts` – a basic set of types defined for the contents of the `config/environment.js` file in your app; see [Environment and configuration typings](#environment-and-configuration-typings) for details\n\n### Supported Ember and TypeScript versions\n\nember-cli-typescript runs its test suite against the 2.12 LTS, the 2.16 LTS, the 2.18 LTS, the current release, the beta branch, and the canary branch. It's also in active use in several large applications. Any breakage for upcoming releases _should_ be detected and fixed ahead of those releases, but you can help us guarantee that by running your own Ember.js+TypeScript app with beta and canary turned on and let us know if you run into issues with upcoming Ember.js releases.\n\nThis library supports the current version of TypeScript [![TS Version](https://img.shields.io/github/tag/Microsoft/typescript.svg?label=latest%20typescript%20release)](https://github.com/Microsoft/TypeScript/releases/latest) and at least one previous minor or major release (i.e., if `3.0` is the latest release, we **do** support `3.0.x`, `2.9.x`, and **might** support `2.8` as well).\n\n### `tsconfig.json`\n\nWe generate a good default [`tsconfig.json`][blueprint], which will usually make everything _Just Work™_. In general, you may customize your TypeScript build process as usual using the `tsconfig.json` file.\n\nHowever, there are a few things worth noting if you're already familiar with TypeScript and looking to make further or more advanced customizations (i.e. _most_ users can just ignore this section!):\n\n1. The generated tsconfig file does not set `\"outDir\"` and sets `\"noEmit\"` to `true`. Under the hood, Ember's own invocation of `tsc` _does_ set these, but the default configuration we generate allows you to run editors which use the compiler without creating extraneous `.js` files throughout your codebase, leaving the compilation to ember-cli-typescript to manage.\n\n   You _can_ still customize those properties in `tsconfig.json` if your use case requires it, however. For example, to see the output of the compilation in a separate folder you are welcome to set `\"outDir\"` to some path and set `\"noEmit\"` to `false`. Then tools which use the TypeScript compiler (e.g. the watcher tooling in JetBrains IDEs) will generate files at that location, while the Ember.js/Broccoli pipeline will continue to use its own temp folder.\n\n2. Closely related to the previous point: any changes you do make to `outDir` won't have any effect on how _Ember_ builds your application—we have to pipe everything into Ember CLI via [broccoli], so we override that. In general, everything else works just as you'd expect, though!\n\n3. By default, we target the highest stable version of JavaScript available in the TypeScript compiler, so that you may ship anything from that very code without further modification to browsers that support it all the way back to ES3, in line with the Babel configuration in your app's `config/targets.js`. You can set this target to whatever is appropriate for your application, but we _strongly_ encourage you to leave it set to the highest stable version of JavaScript if you are developing an addon, so that consumers of your addon have full flexibility in this regard.\n\n4. If you make changes to the paths included in or excluded from the build via your `tsconfig.json` (using the `\"include\"`, `\"exclude\"`, or `\"files\"` keys), you will need to restart the server to take the changes into account: ember-cli-typescript does not currently watch the `tsconfig.json` file.\n\n[blueprint]: https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json\n[broccoli]: http://broccolijs.com/\n\n### Sourcemaps\n\nTo enable TypeScript sourcemaps, you'll need to add the corresponding configuration for Babel to your `ember-cli-build.js` file:\n\n```ts\nconst app = new EmberApp(defaults, {\n  babel: {\n    sourceMaps: 'inline',\n  },\n});\n```\n\n(Note that this _will_ noticeably slow down your app rebuilds.)\n\nIf you're updating from an older version of the addon, you may also need to update your `tsconfig.json`. (Current versions generate the correct config at installation.) Either run\n`ember generate ember-cli-typescript` or verify you have the same sourcemap settings in your `tscsonfig.json` that appear in [the blueprint](https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json).\n\n## Using TypeScript with Ember effectively\n\nIn addition to the points made below, you may find the [Typing Your Ember][typing-your-ember] blog series (especially the \"Update\" sequence) particularly helpful in knowing how to do specific things.\n\n### Incremental adoption\n\nIf you are porting an existing app to TypeScript, you can install this addon and migrate your files incrementally by changing their extensions from `.js` to `.ts`. As TypeScript starts to find errors (and it usually does!), make sure to celebrate your wins – even if they're small! – with your team, especially if some people are not convinced yet. We would also love to hear your stories!\n\nSome specific tips for success on the technical front:\n\n* Use the *strictest* strictness settings that our typings allow. While it may be tempting to start with the *loosest* strictness settings and then to tighten them down as you go, this will actually mean that \"getting your app type-checking\" will become a repeated process – getting it type-checking with every new strictness setting you enable! – rather than something you do just once. The only strictness setting you should turn *off* is `strictFunctionTypes`, which our current type definitions do not support. The recommended *strictness* settings in your `\"compilerOptions\"` hash:\n\n    ```\n    \"noImplicitAny\": true,\n    \"noImplicitThis\": true,\n    \"alwaysStrict\": true,\n    \"strictNullChecks\": true,\n    \"strictPropertyInitialization\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noImplicitReturns\": true,\n    ```\n\n* Make liberal use of `any` for things you don't have types for as you go, and come back and fill them in later. This will let you do the strictest strictness settings but with an escape hatch that lets you say \"We will come back to this when we have more idea how to handle it.\"\n\n* A good approach is to start at your \"leaf\" files (the ones that don't import anything else from your app, only Ember types) and then work your way back inward toward the most core types that are used everywhere. Often the highest-value modules are your Ember Data models and any core services that are used everywhere else in the app – and those are also the ones that tend to have the most cascading effects (having to update *tons* of other places in your app) when you type them later in the process.\n\n* Set `\"noEmitOnError\": true` in the `\"compilerOptions\"` hash in your `tsconfig.json` – it will help a lot if you can be sure that for the parts of your app you *have* added types to are still correct. And you'll get nice feedback *immediately* when you have type errors that way!\n\n    ![type errors in your build!](https://user-images.githubusercontent.com/108688/38774630-7d9224d4-403b-11e8-8dbc-87dad977a4c4.gif \"example of a build error during live reload\")\n\nYou may find the blog series [\"Typing Your Ember\"][typing-your-ember] helpful as it walks you through not only how to install but how to most effectively use TypeScript in an Ember app today, and gives some important info on the background and roadmap for the project.\n\n[typing-your-ember]: http://www.chriskrycho.com/typing-your-ember.html\n\n### Install other types!\n\nYou'll want to use other type definitions as much as possible. The first thing you should do, for example, is install the types for your testing framework of choice: `@types/ember-mocha` or `@types/ember-qunit`. Beyond that, look for types from other addons: it will mean writing `any` a lot less and getting a lot more help both from your editor and from the compiler.\n\nTo make this easier, we're maintaining [a list of addons with known type definitions][known-typings] either on [Definitely Typed] or as part of the addon itself. (If you know of typings that aren't in that list, please open a pull request to add them!)\n\n[known-typings]: ./known-typings.md\n[definitely typed]: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n### The `types` directory\n\nDuring installation, we create a `types` directory in the root of your application and add a `\"paths\"` mapping that includes that directory in any type lookups TypeScript tries to do. This is convenient for a few things:\n\n* global types for your package (see the next section)\n* writing types for third-party/`vendor` packages which do not have any types\n* developing types for an addon which you intend to upstream later\n\nThese are all fallbacks, of course, you should use the types supplied directly with a package\n\n#### Global types for your package\n\nAt the root of your application or addon, we include a `types/<your app>` directory with an `index.d.ts` file in it. Anything which is part of your application but which must be declared globally can go in this file. For example, if you have data attached to the `Window` object when the page is loaded (for bootstrapping or whatever other reason), this is a good place to declare it.\n\nIn the case of applications (but not for addons), we also automatically include declarations for Ember's prototype extensions in this `index.d.ts` file, with the `Array` prototype extensions enabled and the `Function` prototype extensions commented out. You should configure them to match your own config (which we cannot check during installation). If you are [disabling Ember's prototype extensions][disabling], you can remove these declarations entirely; we include them because they're enabled in most Ember applications today.\n\n[disabling]: https://guides.emberjs.com/v2.18.0/configuring-ember/disabling-prototype-extensions/\n\n#### Environment configuration typings\n\nAlong with the @types/ files mentioned above, ember-cli-typescript adds a starter interface for `config/environment.js` in `app/config/environment.d.ts`. This interface will likely require some changes to match your app.\n\nWe install this file because the actual `config/environment.js` is (a) not actually identical with the types as you inherit them in the content of an application, but rather a superset of what an application has access to, and (b) not in a the same location as the path at which you look it up. The actual `config/environment.js` file executes in Node during the build, and Ember CLI writes its result as `<my-app>/config/environment` into your build for consumption at runtime.\n\n### String-keyed lookups\n\nEmber makes heavy use of string-based APIs to allow for a high degree of dynamicism. With some limitations, you can nonetheless use TypeScript very effectively to get auto-complete/IntelliSense as well as to accurately type-check your applications.\n\nThe \"Update\" sequence in the Typing Your Ember has detailed explanations and guides for getting good type-safety for Ember's string-based APIs, e.g. the use of `get` and `set`, service and controller injection, Ember Data models and lookups\n\n* [Part 1][pt1]: A look at normal Ember objects, \"arguments\" to components (and controllers), and service (or controller) injections.\n* [Part 2][pt2]: Class properties — some notes on how things differ from the `Ember.Object` world.\n* [Part 3][pt3]: Computed properties, actions, mixins, and class methods.\n* [Part 4][pt4]: Using Ember Data, and service and controller injections improvements. (This includes a detailed guide to updating making the service and controller injections and Ember Data lookups behave as described below.)\n\n[pt1]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-1.html\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n[pt3]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-3.html\n[pt4]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-4.html\n\nA few of the most common speed-bumps are listed here to help make this easier:\n\n#### `this` type workaround\n\nOne important note for using `class` types effectively with today's Ember typings: you will (at least for now) need to explicitly write out a `this` type for methods, computed property callbacks, and actions if you are going to use `get` or `set`\n\n```ts\nimport Component from '@ember/component';\n\nexport default class UserProfile extends Component {\n  changeUsername(this: UserProfile, userName: string) {\n    //           ^---------------^\n    // `this` tells TS to use `UserProfile` for `get` and `set` lookups\n  }\n}\n```\n\nThis is a workaround for how incredibly dynamic `Ember.Object` instances are and hopefully will improve over time as we continue to iterate on the type definitions. Again, see [the relevant blog post for details][pt2].\n\n#### Nested keys in `get` or `set`\n\nIn general, `this.get` and `this.set` will work as you'd expect _if_ you're doing lookups only a single layer deep. Things like `this.get('a.b.c')` don't (and can't ever!) type-check; see the blog posts for a more detailed discussion of why.\n\nThe workaround is simply to do one of two things:\n\n1. **The type-safe approach.** This _will_ typecheck, but is both ugly and only works \\*if there are no `null`s or `undefined`s along the way. If `nested` is `null` at runtime, this will crash!\n\n   ```ts\n   import { get } from '@ember/object';\n\n   // -- Type-safe but ugly --//\n   get(get(get(someObject, 'deeply'), 'nested'), 'key');\n   ```\n\n2. **Using `// @ts-ignore`.** This will _not do any type-checking_, but is useful for the cases where you are intentionally checking a path which may be `null` or `undefined` anywhere long it.\n\n   ```ts\n   // @ts-ignore\n   get(someObject, 'deeply.nested.key');\n   ```\n\n   It's usually best to include an explanation of _why_ you're ignoring a lookup!\n\n#### Service and controller injections\n\nEmber does service and controller lookups with the `inject` functions at runtime, using the name of the service or controller being injected up as the default value—a clever bit of metaprogramming that makes for a nice developer experience. TypeScript cannot do this, because the name of the service or controller to inject isn't available at compile time in the same way.\n\nThis means that if you do things the normal Ember way, you will have to specify the type of your service or controller explicitly everywhere you use it. But… where should we put that? If we try to set it up as a [class property], we'll get an error as of Ember 3.1 (and it only accidentally works before that): computed properties and injections must be installed on the prototype.\n\n[class property]: https://basarat.gitbooks.io/typescript/docs/classes.html#property-initializer\n\nThere are two basic approaches we can take. The first uses the `.extend` method in conjunction with class definitions to make sure the injections are set up correctly; the second leans on the still-experimental [Ember Decorators][decorators] project to let us do everything in the class body while still getting the niceties of ES6 classes. The decorators approach is much nicer, and likely to eventually become the standard across Ember in general assuming the decorators spec stabilizes. For today, however, it's an opt-in rather than the default because it remains an experimental extension to the JavaScript standard.\n\n[decorators]: https://github.com/ember-decorators/ember-decorators\n\n##### Using `.extend`\n\nThe officially supported method for injections uses a combination of class body and traditional `EmberObject.extend` functionality. We generate a service like normal by running `ember generate service my-session`. The resulting definition will look like this:\n\n```ts\n// my-app/services/my-session.ts\nimport Service from '@ember/service';\nimport RSVP from 'rsvp';\n\nexport default class MySession extends Service {\n  login(email: string, password: string): RSVP.Promise<string> {\n    // login and return the confirmation message\n  }\n}\n\ndeclare module '@ember/service' {\n  interface Registry {\n    'my-session': MySession;\n  }\n}\n```\n\nYou'll need to add that module and interface declaration to all your existing service and controller declarations for this to work (again, see the [blog post][pt4] for further details), but once you do that, you'll have this much nicer experience throughout! It's not quite vanilla Ember.js, but it's close—and this way, you still get all those type-checking and auto-completion benefits, but with a lot less noise! Moreover, you actually get a significant benefit over \"vanilla\" Ember: we type-check that you typed the key correctly in the `service` invocation.\n\nThen we can use the service as usual:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { inject as service } from '@ember/service';\n\nexport default class UserProfile extends Component.extend({\n  mySession: service('my-session'),\n}) {\n  login(email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNotice that the type of `mySession` will be the `MySession` type here: TypeScript is using the \"registry\" set up in the last lines of the `my-session` module to look up the type by its name. If we had written just `service()` instead, Ember would have resolved the correct type at runtime as usual, but TypeScript would not be able to tell *which* service we had, only that it was a `Service`. In that case, the `this.session` would not have a `login` property from TS's perspective, and this would fail to type-check. That extra string gives TS the information it needs to resolve the type and give us auto-completion, type-checking, etc.\n\n(In Ember 3.0 or earlier, we would have `this.get('session').login(email, password);` instead.)\n\nAlthough this may look a little strange, everything works correctly. We can use other ES6 class functionality and behaviors (including class properties) as normal; it is just the special Ember pieces which have to be set up on the prototype like this: injections, computed properties, and the `actions` hash.\n\n##### Using decorators\n\nThe alternative here is to use [Ember Decorators][decorators]. In that case, we'd have precisely the same definition for our `MySession` service, but a much cleaner implementation in the component class:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service mySession!: MySession;\n\n  login(this: UserProfile, email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNote that we need the `MySession` type annotation this way, but we *don't* need the string lookup (unless we're giving the service a different name than the usual on the class, as in Ember injections in general). Without the type annotation, the type of `session` would just be `any`. This is because decorators (as of TS 2.8 – 3.0) are not allowed to modify the types of whatever they decorate. As a result, we wouldn't get any type-checking on that `session.login` call, and we wouldn't get any auto-completion either. Which would be really sad and take away a lot of the reason we're using TypeScript in the first place!\n\nAlso use the [`!` non-null assertion operator](https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#non-null-assertion-operator) to prevent [`TS2564`](https://github.com/kaorun343/vue-property-decorator/issues/81), that is caused by enabling `strictPropertyInitialization` in `tsconfig.json`.\n\nIf you're on an Ember version below 3.1, you'll want to wrap your service type in [`ComputedProperty`](https://www.emberjs.com/api/ember/release/classes/ComputedProperty), because [native ES5 getters](https://github.com/emberjs/rfcs/blob/master/text/0281-es5-getters.md) are not available there, which means that instead of accessing the service via `this.mySession`, you would have to access it as `this.get('mySession')` or `get(this, 'mySession')`. This means the above code would rather look like:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { get } from '@ember/object';\nimport ComputedProperty from '@ember/object/computed';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service mySession!: ComputedProperty<MySession>;\n\n  login(this: UserProfile, email: string, password: string) {\n    get(this, 'session').login(email, password);\n  }\n}\n```\n\nThis also holds true for all other macros of the ember-decorators addon.\n\n#### Ember Data lookups\n\nWe use the same basic approach for Ember Data type lookups with string keys as we do for service or controller injections. As a result, once you add the module and interface definitions for each model, serializer, and adapter in your app, you will automatically get type-checking and autocompletion and the correct return types for functions like `findRecord`, `queryRecord`, `adapterFor`, `serializerFor`, etc. No need to try to write out those (admittedly kind of hairy!) types; just write your Ember Data calls like normal and everything _should_ just work.\n\nThe declarations and changes you need to add to your existing files are:\n\n* Models\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Model.extend({\n    // attribute declarations here, as usual\n  }) {}\n\n  declare module 'ember-data/types/registries/model' {\n    export default interface ModelRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n* Adapters\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Adapter {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/adapter' {\n    export default interface AdapterRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n* Serializers\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Serializer {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/serializer' {\n    export default interface SerializerRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n  \n  \n* Transforms\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class ColorTransform extends DS.Transform {\n     // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/transform' {\n    export default interface TransformRegistry {\n      color: ColorTransform;\n    }\n  }\n  ```\n\nIn addition to the registry, note the oddly defined class for `DS.Model`s. This is because we need to set up the attribute bindings on the prototype (for a discussion of how and why this is different from class properties, see [Typing Your Ember, Update, Part 2][pt2]), but we cannot just use a `const` here because we need a named type—like a class!—to reference in the type registry and elsewhere in the app.\n\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n\n##### Opt-in unsafety\n\nAlso notice that unlike with service and controller injections, there is no unsafe fallback method by default, because there isn't an argument-less variant of the functions to use as there is for `Service` and `Controller` injection. If for some reason you want to opt _out_ of the full type-safe lookup for the strings you pass into methods like `findRecord`, `adapterFor`, and `serializerFor`, you can add these declarations somewhere in your project:\n\n```ts\nimport DS from 'ember-data';\n\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: DS.Model;\n  }\n}\ndeclare module 'ember-data/types/registries/adapter' {\n  export default interface AdapterRegistry {\n    [key: string]: DS.Adapter;\n  }\n}\ndeclare module 'ember-data/types/registries/serializer' {\n  export default interface SerializerRegistry {\n    [key: string]: DS.Serializer;\n  }\n}\n```\n\nHowever, we **_strongly_** recommend that you simply take the time to add the few lines of declarations to each of your `DS.Model`, `DS.Adapter`, and `DS.Serializer` instances instead. It will save you time in even the short run!\n\n##### Fixing the Ember Data `error TS2344` problem\n\nIf you're developing an Ember app or addon and _not_ using Ember Data (and accordingly not even have the Ember Data types installed), you may see an error like this and be confused:\n\n```\nnode_modules/@types/ember-data/index.d.ts(920,56): error TS2344: Type 'any' does not satisfy the constraint 'never'.\n```\n\nThis happens because the types for Ember's _test_ tooling includes the types for Ember Data because the `this` value in several of Ember's test types can include a reference to `DS.Store`.\n\n**The fix:** add a declaration like this in a new file named `ember-data.d.ts` in your `types` directory:\n\n```ts\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: any;\n  }\n}\n```\n\nThis works because (a) we include things in your types directory automatically and (b) TypeScript will merge this module and interface declaration with the main definitions for Ember Data from DefinitelyTyped behind the scenes.\n\nIf you're developing an addon and concerned that this might affect consumers, it won't. Your types directory will never be referenced by consumers at all!\n\n#### Class property setup errors\n\nSome common stumbling blocks for people switching to ES6 classes from the traditional EmberObject setup:\n\n- `Assertion Failed: InjectedProperties should be defined with the inject computed property macros.` – You've written `someService = inject()` in an ES6 class body in Ember 3.1+. Replace it with the `.extend` approach or by using decorators (`@service` or `@controller`) as discussed [above](#service-and-controller-injections). Because computed properties of all sorts, including injections, must be set up on a prototype, *not* on an instance, if you try to use class properties to set up injections, computed properties, the action hash, and so on, you will see this error.\n\n- `Assertion Failed: Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.` – You failed to pass `...arguments` when you called `super` in e.g. a component class `constructor`. Always do `super(...arguments)`, not just `super()`, in your `constructor`.\n\n### Type definitions outside `node_modules/@types`\n\nBy default, the TypeScript compiler loads all type definitions found in `node_modules/@types`. If the type defs you need are not found there and are not supplied in the root of the package you're referencing, you can register a custom value in `paths` in the `tsconfig.json` file. For example, if you're using [ember-browserify], you're used to writing imports like this:\n\n[ember-browserify]: https://github.com/ef4/ember-browserify\n\n```js\nimport MyModule from 'npm:my-module';\n```\n\nIf `my-module` has types, you will not be able to resolve them this way by default. You can add a simple tweak to your `tsconfig.json` to resolve the types correctly, however, mapping `npm:*` to `node_modules/*`.\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"my-app-name/*\": [\"app/*\"],\n      \"npm:*\": [\"node_modules/*\"]\n    }\n  }\n}\n```\n\n### ember-cli-mirage\n\nMirage adds files from a nonstandard location to your application tree, so you'll need to tell the TypeScript compiler about how that layout works.\n\nFor an app, this should look roughly like:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"my-app-name/mirage/*\": \"mirage/*\",\n    }\n  },\n  \"include\": [\n    \"app\",\n    \"tests\",\n    \"mirage\"\n  ]\n}\n```\n\nAnd for an addon:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"dummy/mirage/*\": \"tests/dummy/mirage/*\",\n    }\n  },\n  \"include\": [\n    \"addon\",\n    \"tests\"\n  ]\n}\n```\n\nNote that if Mirage was present when you installed ember-cli-typescript (or if you run `ember g ember-cli-typescript`), this configuration should be automatically set up for you.\n\n### \"TypeScript is complaining about multiple copies of the same types!\"\n\nYou may sometimes see TypeScript errors indicating that you have duplicate type definitions for Ember, Ember Data, etc. This is usually the result of an annoying quirk of the way both npm and yarn resolve your dependencies in their lockfiles.\n\n#### Just tell me how to fix it\n\nThere are two options here, neither of them _great_:\n\n* manually edit `yarn.lock` or `package-lock.json` and merge the conflicting\n* add a [\"resolutions\"] key to your `package.json` with the version you want to install of the types you're installing:\n\n```json\n{\n  \"resolutions\": {\n    \"**/@types/ember\": \"2.8.15\"\n  }\n}\n```\n\n[\"resolutions\"]: https://yarnpkg.com/lang/en/docs/selective-version-resolutions/\n\n#### Why is this happening?\n\nIf you're using another package which includes these types, and then you trigger an upgrade for your own copy of the type definitions, npm and yarn will both try to preserve the existing installation and simply add a new one for your updated version. In most cases, this is sane behavior, because it prevents transitive dependency breakage hell. However, in the _specific_ case of type definitions, it causes TypeScript to get confused.\n\n## Using ember-cli-typescript with Ember CLI addons\n\nDuring development, your `.ts` files will be watched and rebuilt just like any other sources in your addon when you run `ember serve`, `ember test`, etc.\n\nHowever, in order not to force downstream consumers to install the entire TS build toolchain when they want to use an addon written in TypeScript, ember-cli-typescript is designed to allow you to publish vanilla `.js` files to the npm registry, alongside `.d.ts` declarations so that consumers who _are_ using TypeScript can benefit from it.\n\n### Publishing\n\nThis addon provides two commands to help with publishing your addon: `ember ts:precompile` and `ember ts:clean`. The default `ember-cli-typescript` blueprint will configure your `package.json` to run these commands in the `prepublishOnly` and `postpublish` phases respectively, but you can also run them by hand to verify that the output looks as you expect.\n\nThe `ts:precompile` command will put compiled `.js` files in your `addon` directory and populate the overall structure of your package with `.d.ts` files laid out to match their import paths. For example, `addon/index.ts` would produce `addon/index.js` as well as `index.d.ts` in the root of your package.\n\nThe `ts:clean` command will remove the generated `.js` and `.d.ts` files, leaving your working directory back in a pristine state.\n\n**Note**: While `.ts` files from both the `app` and `addon` directories of your addon will be transpiled by `ts:precompile`, only the declaration files from `addon` will be published. Since the final import paths for `app` files will depend on the name of the consuming application, we can't put those declaration files in a meaningful place.\n\n### Linking Addons\n\nOften when developing an addon, it can be useful to run that addon in the context of some other host app so you can make sure it will integrate the way you expect, e.g. using [`yarn link`](https://yarnpkg.com/en/docs/cli/link#search) or [`npm link`](https://docs.npmjs.com/cli/link).\n\nWhen you do this for a TypeScript addon, by default your `.ts` files won't be consumed by the host app. In order for a linked addon to work, you need to take a few steps:\n\n* ensure `ember-cli-typescript` is installed and set up in the host app\n* override [`isDevelopingAddon()`](https://ember-cli.com/api/classes/Addon.html#method_isDevelopingAddon) in the linked addon to return `true`\n* update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"node_modules/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"node_modules/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"node_modules/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"node_modules/my-addon/app\",\n  \"node_modules/my-addon/addon\"\n]\n```\n\nThis will cause `ember-cli-typescript` in the host app to take over compiling the TS files in the addon as well, automatically rebuilding any time you make a change.\n\n**Note**: remember to remove your `isDevelopingAddon` override before publishing!\n\n### In-Repo Addons\n\n[In-repo addons](https://ember-cli.com/extending/#detailed-list-of-blueprints-and-their-use) work in much the same way as linked ones: their TypeScript compilation is managed by the host app. They have `isDevelopingAddon` return `true` by default, so you only have to update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"lib/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"lib/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"lib/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"lib/my-addon\"\n]\n```\n\n### Gotchas\n\nA few things to look out for when working with TypeScript in addons:\n\n* Normally, addons under development automatically return `true` from their `isDevelopingAddon()` hook, which `ember-cli-typescript` relies on to determine whether to process the addon's `.ts` files. However, if the name field in your `package.json` doesn't match the name in your `index.js`, this default behavior will fail and you'll need to override the method yourself.\n* TypeScript has very particular rules when generating declaration files to avoid letting private types leak out unintentionally. You may find it useful to run `ember ts:precompile` yourself as you're getting a feel for these rules to ensure everything will go smoothly when you publish.\n\n## Installing from git\n\nThis addon uses TypeScript for its own implementation, so if you install `ember-cli-typescript` from git rather than from the npm registry, you won't get compiled `.js` files. To get everything working, you can install `ts-node` as a project dependency, and `ember-cli-typescript` will ensure it's registered correctly to transpile source files as needed.\n\n## Current limitations\n\nWhile TS already works nicely for many things in Ember, there are a number of corners where it _won't_ help you out. Some of them are just a matter of further work on updating the [existing typings]; others are a matter of further support landing in TypeScript itself, or changes to Ember's object model.\n\n[existing typings]: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember\n\nWe are hard at work (and would welcome your help!) [writing new typings][ember-typings] for Ember and the surrounding ecosystem. If you'd like to try those out, please see instructions in [that repo][ember-typings]!\n\n[ember-typings]: https://github.com/typed-ember/ember-typings\n\nHere is the short list of things which do _not_ work yet in the version of the typings published on DefinitelyTyped.\n\n### Some `import`s don't resolve\n\nYou'll frequently see errors for imports which TypeScript doesn't know how to resolve. For example, if you use Ember Concurrency today and try to import its `task` helper:\n\n```typescript\nimport { task } from 'ember-concurrency';\n```\n\nYou'll see an error, because there aren't yet type definitions for it. You may see the same with some addons as well. **These won't stop the build from working;** they just mean TypeScript doesn't know where to find those.\n\nWriting these missing type definitions is a great way to pitch in! Jump in `#e-typescript` on the [Ember Community Discord server](https://discord.gg/zT3asNS) and we'll be happy to help you.\n\n### Type safety when invoking actions\n\nTypeScript won't detect a mismatch between this action and the corresponding call in the template:\n\n```typescript\nEmber.Component.extend({\n  actions: {\n    turnWheel(degrees: number) {\n      // ...\n    },\n  },\n});\n```\n\n```hbs\n<button onclick={{action 'turnWheel' 'NOT-A-NUMBER'}}> Click Me </button>\n```\n\nLikewise, it won't notice a problem when you use the `send` method:\n\n```typescript\n// TypeScript compiler won't detect this type mismatch\nthis.send('turnWheel', 'ALSO-NOT-A-NUMBER');\n```\n","engines":{"node":"6.* || 8.* || >= 10.*"},"scripts":{"test":"ember test","build":"ember build","start":"ember serve","ci:test":"ember test && mocha --recursive js/tests","lint:js":"eslint --ext js,ts .","test:all":"ember try:each","test:node":"mocha -r register-ts-node 'ts/tests/**/*.{ts,js}'","ci:prepare":"yarn prepublishOnly && rimraf ts","postpublish":"rimraf js","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","debug":"^3.1.0","execa":"^0.9.0","semver":"^5.5.1","resolve":"^1.5.0","fs-extra":"^5.0.0","stagehand":"^1.0.0","walk-sync":"^0.3.2","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"^7.1.0","@babel/plugin-proposal-class-properties":"^7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"co":"^4.6.0","got":"^8.0.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","rimraf":"^2.6.2","esprima":"^4.0.0","ts-node":"^7.0.1","ember-cli":"~3.5.0","ember-try":"^1.0.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"^4.7.0","qunit-dom":"^0.8.0","testdouble":"^3.5.0","typescript":"^3.1.1","@types/node":"^9.6.5","ember-qunit":"^3.4.1","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.5.0","@types/semver":"^5.5.0","ember-cli-sri":"^2.1.1","@types/express":"^4.16.0","@types/resolve":"^0.0.8","ember-resolver":"^5.0.1","ember-cli-babel":"^7.1.2","ember-cli-eslint":"^4.2.3","ember-cli-uglify":"^2.1.0","ember-cli-update":"^0.14.0","@types/console-ui":"^2.2.0","ember-cli-release":"^0.2.9","@types/core-object":"^3.0.0","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.7.0","ember-cli-htmlbars":"^3.0.0","eslint-plugin-node":"^7.0.1","eslint-plugin-ember":"^5.2.0","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.1.0","@ember/optional-features":"^0.6.3","typescript-eslint-parser":"^19.0.2","ember-cli-dependency-checker":"^3.0.0","ember-cli-inject-live-reload":"^2.0.1","ember-maybe-import-regenerator":"^0.1.6","ember-cli-typescript-blueprints":"^1.0.0","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.3","ember-cli-htmlbars-inline-precompile":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_2.0.0-beta.1_1540495340318_0.25892539385244406","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"ember-cli-typescript","version":"1.5.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@1.5.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"076efe723c52ca2c8f0cdc9ee2ef640e941aa2c4","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-1.5.0.tgz","fileCount":55,"integrity":"sha512-yE4Wa/JFOrEwkcPSAZ9bKMn/NieqIMz6rWMZJwAAiNTS7cT9U8ZcBvctuO0sGhfRR6A/0pdwiaqp9vqbOBaSFQ==","signatures":[{"sig":"MEQCIDb9yv1AMMtSXBttd/X0Sea1QYgO4DWH6/aboTUsT6dKAiBcpTY3iM6WZQ7dzDMucFAdjZFyYfgOl8kq3Mk985QDeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116972,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0ii2CRA9TVsSAnZWagAAbZ8P/Aj91n6klSVdzVFRPvCF\nHHqmqWXYKrYVJzrcCIgzh/8jejj2jbDj3r5tyzVB4KBGWiHmgjncLRcupEqA\nnDTPPH0REfwPnzIgllfE5Q21zIe+OPhzcb9RsE8hDwah6uaSRk8S1rqx+gTm\n6iQdDQUIg0rPyKQHA5llLnkcVd5cCuhWijKHR2b3bthhNzKo3vPzhYNgErmz\njZkPK2Dr7bNpG2g6VbaJYffD7aEerk0FHHrKS1JjGYCcRZ1B8gfMJwQSkMNN\nJnSBT2ZtBVMqixNfm/1UmKQrPBV4a0nS3zZAC5OZrv11hEaIcYQwPvFUtmTg\nnQZNBHKHEJJeJ7HauGvMzi2QKBCTCQrzPuqXZjcVTvAO8G9DJnKC0s6Mw8JB\nOu0sDr04fZ/TBnABr6TCgHOEAfixWPFepDUZ/W1LagRZYLAycmJRIwlbQ5PZ\n4KX7Gw9h0t3eTrCUXflttcxXt0zMzuKj1pk63twtct1pjJaS1YGrXL5O0HZq\nLgzqdRLGzw+FevlrFd4jBLSjUx4CVnPGvHvpnm2N1KOP0mPcPnfI+8gTpGV3\nhku57Fv9dpTZoN4BtDipuB+uGW3z70H8ju8NNy1BQH7A9DedRtyq+E8b6K+n\nbfzHuszP0xsvkCClVGYV0tz/m8F0YKtBd61o6uGwLGtMJ+5xvRkYfR3oaLRC\nJOsI\r\n=yftc\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"^4.5 || 6.* || >= 7.*"},"scripts":{"test":"ember test","build":"ember build","start":"ember serve","ci:test":"ember test && mocha --recursive js/tests","lint:js":"eslint --ext js,ts .","test:all":"ember try:each","test:node":"mocha -r register-ts-node 'ts/tests/**/*.{ts,js}'","ci:prepare":"yarn prepublishOnly && rimraf ts","postpublish":"rimraf js","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"after":["ember-source","ember-data","ember-decorators"],"before":["ember-cli-babel","ember-qunit-decorators"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"glob":"^7.1.2","rsvp":"^4.8.1","debug":"^3.1.0","execa":"^0.9.0","resolve":"^1.5.0","chokidar":"^2.0.3","fs-extra":"^5.0.0","walk-sync":"^0.3.2","broccoli-stew":"^1.4.0","broccoli-funnel":"^2.0.1","broccoli-plugin":"^1.2.1","symlink-or-copy":"^1.1.8","broccoli-merge-trees":"^2.0.0","escape-string-regexp":"^1.0.5","ember-cli-typescript-blueprints":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"^4.6.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","rimraf":"^2.6.2","esprima":"^4.0.0","ts-node":"^7.0.1","ember-cli":"~3.5.0","ember-try":"^1.0.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","in-repo-c":"link:tests/dummy/lib/in-repo-c","loader.js":"^4.7.0","qunit-dom":"^0.8.0","testdouble":"^3.5.0","typescript":"^2.7.2","@types/node":"^9.6.5","ember-qunit":"^3.4.1","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.5.0","ember-cli-sri":"^2.1.1","ember-resolver":"^5.0.1","ember-cli-babel":"^6.16.0","ember-cli-eslint":"^4.2.3","ember-cli-uglify":"^2.1.0","ember-cli-update":"^0.14.0","ember-cli-release":"^0.2.9","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.7.0","ember-cli-htmlbars":"^3.0.0","eslint-plugin-node":"^7.0.1","eslint-plugin-ember":"^5.2.0","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.1.0","@ember/optional-features":"^0.6.3","typescript-eslint-parser":"^15.0.0","ember-cli-dependency-checker":"^3.0.0","ember-cli-inject-live-reload":"^1.8.2","ember-maybe-import-regenerator":"^0.1.6","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.3","ember-cli-htmlbars-inline-precompile":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_1.5.0_1540499637014_0.22921890081426377","host":"s3://npm-registry-packages"}},"2.0.0-beta.2":{"name":"ember-cli-typescript","version":"2.0.0-beta.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@2.0.0-beta.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"29bd0a7eff45b54e01d2cbc2fba05b3991a9c0d3","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.0-beta.2.tgz","fileCount":59,"integrity":"sha512-Wxopeo/ShTO7P9ja+CYwXM6+tww2kSMJFHCEFemWjB+tFR0318Pqa7EEYJ/lHAkIjE214B13A/qsWwhIGf3zxw==","signatures":[{"sig":"MEUCIQC3UvP85KVIv9EZH+Os3EKd0ojDH4R+Q4IeSWbdxFp0OAIgCZZH/ztmj2mD7swNO3jKbtSB2q9ZFaotWKFI2NcBpgw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":200377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb01WJCRA9TVsSAnZWagAAJGgP/RY6ZOzBHp0p16ru9+/R\n7FYMHrNvfA+lSzSPGDYgS08UmYt+GzYQf6O6TjNWQAjIWVgji3TfPa7INVvA\nulkPKEV8SUre7IOz/gTnGKTWJWg6iEQ6tPrCr9GTx7O/hx2vYf0TJZ4O7VUA\nUT3AKLfwzNyYR8c13TbS8PEWd007ejV52q6/eABF7sa73LSB/OVJwodnPXj8\nX4qT3/14+SM00JH6SZ05bUDVTPD+LHGF1rHqoaXvZ8DJZkX3f8v4De0yyeoj\nSTRHyYvLhB2pOP0lLSvN3SAi8dtzeAoRkxklD6pCZsaibliysVHz+9Wlfmww\nEoSIpm/rY8QpinizN3lptyssCArsOdgPb82xa5dExrdweE+k3uwHa91dxP5a\ns45IApfLq1EVZPhW2O4TOmLgIct+maQo+XejD+HjNr1QXcPhAIPFgVy6/EZE\nyJ7secmkzZBM9WBN5GzlL02Q+46KrOz1adosuZRQAM7pKBIQIMZsjsrOAV2D\n+M5/OXIiVCj0s3yVV5vZDWVqkKhNx4xLbN8LitMl9IhqF8bMb/judmuaTjq1\n5DL74x/dMBFev3oVZdXgOyf2FIDwbxetwXdCSvv231r10lDJnLqNv0NW4PyN\nbeQi25Nnl9Sj6lycklB5izg3Be3nnZniLUYDd3F7HxBT4y3SLmoOLIf5AJB1\nNhm3\r\n=lgPb\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# ember-cli-typescript\n\nUse TypeScript in your Ember 2.x and 3.x apps!\n\n[![*nix build status (master)](https://travis-ci.org/typed-ember/ember-cli-typescript.svg?branch=master)](https://travis-ci.org/typed-ember/ember-cli-typescript) [![Windows build status](https://ci.appveyor.com/api/projects/status/i94uv7jgmrg022ho/branch/master?svg=true)](https://ci.appveyor.com/project/chriskrycho/ember-cli-typescript/branch/master) [![Ember Observer Score](https://emberobserver.com/badges/ember-cli-typescript.svg)](https://emberobserver.com/addons/ember-cli-typescript)\n\n* [Getting Help](#getting-help)\n* [Setup and Configuration](#setup-and-configuration)\n  * [Supported Ember & TypeScript Versions](#supported-ember-and-typescript-versions)\n  * [`tsconfig.json`](#tsconfigjson)\n  * [Sourcemaps](#sourcemaps)\n* [Using TypeScript with Ember effectively](#using-typescript-with-ember-effectively)\n  * [Incremental adoption](#incremental-adoption)\n  * [Install other types!](#install-other-types)\n  * [The `types` directory](#the-types-directory)\n    * [Global types for your package](#global-types-for-your-package)\n    * [Environment configuration typings](#environment-configuration-typings)\n  * [String-keyed lookups](#string-keyed-lookups)\n    * [`this` type workaround](#this-type-workaround)\n    * [Nested keys in `get` or `set`](#nested-keys-in-get-or-set)\n    * [Service and controller injections](#service-and-controller-injections)\n      * [Using `.extend`](#using-extend)\n      * [Using decorators](#using-decorators)\n    * [Ember Data lookups](#ember-data-lookups)\n      * [Opt-in unsafety](#opt-in-unsafety)\n      * [Fixing the Ember Data `error TS2344` problem](#fixing-the-ember-data-error-ts2344-problem)\n  * [Class property setup errors](#class-property-setup-errors)\n  * [Type definitions outside `node_modules/@types`](#type-definitions-outside-node_modulestypes)\n  * [ember-cli-mirage](#ember-cli-mirage)\n  * [\"TypeScript is complaining about multiple copies of the same types\"](#typescript-is-complaining-about-multiple-copies-of-the-same-types)\n    * [Just tell me how to fix it](#just-tell-me-how-to-fix-it)\n    * [Why is this happening?](#why-is-this-happening)\n* [Using ember-cli-typescript with Ember CLI addons](#using-ember-cli-typescript-with-ember-cli-addons)\n  * [Publishing](#publishing)\n  * [Linking Addons](#linking-addons)\n  * [In-Repo Addons](#in-repo-addons)\n  * [Gotchas](#gotchas)\n* [Installing from git](#installing-from-git])\n* [Current limitations](#current-limitations)\n  * [Some `import`s don't resolve](#some-imports-dont-resolve)\n  * [Type safety when invoking actions](#type-safety-when-invoking-actions)\n\n## Getting Help\n\nWhen seeking help, you should first consider what you need, and which aspect of the Ember+TypeScript ecosystem your issue pertains to.\n\n### 💬 Getting Started\n\nWe have a channel (#e-typescript) on the [Ember Community Discord server](https://discordapp.com/invite/zT3asNS) where you can ask about getting started, good resources for self-directed learning and more.\n\n### 📚 Issues With Ember Type Definitions\n\nIf you've found that some of the Ember type information is missing things, or is incorrect in some way, please first ensure you're using the latest version of the [packages this addon installs](#other-packages-this-addon-installs). Although [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript) are not the advised places to report problems, you may find an answer there.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ⚙️ Issues With Adding TypeScript Support To Apps and Addons\n\nIf you run into a problem with the way TypeScript is compiled in Ember apps (i.e., a broccoli error message, incorrect build output, etc...), please first check [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript), as you may find an answer.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ✅ Issues With Static Analysis of TypeScript In Ember Apps and Addons\n\nThe TypeScript compiler does some very basic static analysis of your code, and most developers use Palantir's TSLint tool for more thorough checking.\n\nOne sure way to tell which tool is generating an error message is that *Linters like [TSLint](https://github.com/palantir/tslint/) and [ESLint](https://eslint.org/) will always mention their name, and the name of the pertinent rule, when it alerts you to a violation*.\n\n##### Example: \n```\n[tslint] variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)\n```\n`variable-name` is the name of the rule.\n\nFor issues relating to typescript compiler analysis, [create an issue in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose). For TSLint-related concerns, please create an issue in the [`ember-cli-tslint`](https://github.com/typed-ember/ember-cli-tslint) project by clicking [here](https://github.com/typed-ember/ember-cli-tslint/issues/new). If you run into issues with using ESLint with Ember, create an issue [here](https://github.com/ember-cli/ember-cli-eslint/issues/new).\n\n## Setup and Configuration\n\nTo install or upgrade the addon, just run:\n\n```\nember install ember-cli-typescript@latest\n```\n\nAll dependencies will be added to your `package.json`, and you're ready to roll! If you're upgrading from a previous release, you should check to merge any tweaks you've made to `tsconfig.json`.\n\nIn addition to ember-cli-typescript, we make the following changes to your project:\n\n### Other Packages This Addon Installs\n\n* We install the following packages—all at their current \"latest\" value—or generated:\n\n  * [`typescript`](https://github.com/Microsoft/TypeScript)\n  * **@types/ember** ([npm](https://www.npmjs.com/package/@types/ember) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember)) - Types for [Ember.js](https://github.com/emberjs/ember.js) which includes\n     * **@types/ember__string** ([npm](https://www.npmjs.com/package/@types/ember__string) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__string)) - types for the [`@ember/string` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fstring) \n     * **@types/ember__object** ([npm](https://www.npmjs.com/package/@types/ember__object) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__object)) - types for the [`@ember/object` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fobject) \n     * **@types/ember__utils** ([npm](https://www.npmjs.com/package/@types/ember__utils) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__utils)) - types for the [`@ember/utils` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Futils) \n     * **@types/ember__array** ([npm](https://www.npmjs.com/package/@types/ember__array) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__array)) - types for the [`@ember/array` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Farray) \n     * **@types/ember__component** ([npm](https://www.npmjs.com/package/@types/ember__component) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__component)) - types for the [`@ember/component` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcomponent) \n     * **@types/ember__engine** ([npm](https://www.npmjs.com/package/@types/ember__engine) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__engine)) - types for the [`@ember/engine` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fengine) \n     * **@types/ember__application** ([npm](https://www.npmjs.com/package/@types/ember__application) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__application)) - types for the [`@ember/application` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fapplication) \n     * **@types/ember__controller** ([npm](https://www.npmjs.com/package/@types/ember__controller) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__controller)) - types for the [`@ember/controller` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcontroller) \n     * **@types/ember__service** ([npm](https://www.npmjs.com/package/@types/ember__service) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__service)) - types for the [`@ember/service` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fservice) \n     * **@types/ember__runloop** ([npm](https://www.npmjs.com/package/@types/ember__runloop) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__runloop)) - types for the [`@ember/runloop` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frunloop) \n     * **@types/ember__error** ([npm](https://www.npmjs.com/package/@types/ember__error) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__error)) - types for the [`@ember/error` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ferror) \n     * **@types/ember__polyfills** ([npm](https://www.npmjs.com/package/@types/ember__polyfills) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__polyfills)) - types for the [`@ember/polyfills` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fpolyfills) \n     * **@types/ember__debug** ([npm](https://www.npmjs.com/package/@types/ember__debug) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__debug)) - types for the [`@ember/debug` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fdebug) \n     * **@types/ember__test** ([npm](https://www.npmjs.com/package/@types/ember__test) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test)) - types for the [`@ember/test` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ftest) \n     * **@types/ember__routing** ([npm](https://www.npmjs.com/package/@types/ember__routing) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__routing)) - types for the [`@ember/routing` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frouting) \n  * **@types/ember-data** - ([npm](https://www.npmjs.com/package/@types/ember-data) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-data)) - Types for [Ember-Data](https://github.com/emberjs/data)\n  * **@types/rsvp** - ([npm](https://www.npmjs.com/package/@types/rsvp) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rsvp)) - Types for [RSVP.js](https://github.com/tildeio/rsvp.js/)\n  * **@types/ember-test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-test-helpers)) Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers), which arose from [RFC #232](https://github.com/emberjs/rfcs/blob/master/text/0232-simplify-qunit-testing-api.md)\n  * **@types/ember-testing-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-testing-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-testing-helpers)) – Types for [Ember's built-in globally-available test helpers](https://github.com/emberjs/ember.js/tree/master/packages/ember-testing/lib/helpers)\n  * **@types/ember__test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember__test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test-helpers)) – Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers) when imported as `@ember/test-helpers`.\n\n### Files this addon Generates\n\n* We add the following files to your project:\n\n  * [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\n  * `types/<app name>/index.d.ts` – the location for any global type declarations you need to write for you own application; see [Global types for your package](#global-types-for-your-package) for information on its default contents and how to use it effectively\n  * `app/config/environment.d.ts` – a basic set of types defined for the contents of the `config/environment.js` file in your app; see [Environment and configuration typings](#environment-and-configuration-typings) for details\n\n### Supported Ember and TypeScript versions\n\nember-cli-typescript runs its test suite against the 2.12 LTS, the 2.16 LTS, the 2.18 LTS, the current release, the beta branch, and the canary branch. It's also in active use in several large applications. Any breakage for upcoming releases _should_ be detected and fixed ahead of those releases, but you can help us guarantee that by running your own Ember.js+TypeScript app with beta and canary turned on and let us know if you run into issues with upcoming Ember.js releases.\n\nThis library supports the current version of TypeScript [![TS Version](https://img.shields.io/github/tag/Microsoft/typescript.svg?label=latest%20typescript%20release)](https://github.com/Microsoft/TypeScript/releases/latest) and at least one previous minor or major release (i.e., if `3.0` is the latest release, we **do** support `3.0.x`, `2.9.x`, and **might** support `2.8` as well).\n\n### `tsconfig.json`\n\nWe generate a good default [`tsconfig.json`][blueprint], which will usually make everything _Just Work™_. In general, you may customize your TypeScript build process as usual using the `tsconfig.json` file.\n\nHowever, there are a few things worth noting if you're already familiar with TypeScript and looking to make further or more advanced customizations (i.e. _most_ users can just ignore this section!):\n\n1. The generated tsconfig file does not set `\"outDir\"` and sets `\"noEmit\"` to `true`. Under the hood, Ember's own invocation of `tsc` _does_ set these, but the default configuration we generate allows you to run editors which use the compiler without creating extraneous `.js` files throughout your codebase, leaving the compilation to ember-cli-typescript to manage.\n\n   You _can_ still customize those properties in `tsconfig.json` if your use case requires it, however. For example, to see the output of the compilation in a separate folder you are welcome to set `\"outDir\"` to some path and set `\"noEmit\"` to `false`. Then tools which use the TypeScript compiler (e.g. the watcher tooling in JetBrains IDEs) will generate files at that location, while the Ember.js/Broccoli pipeline will continue to use its own temp folder.\n\n2. Closely related to the previous point: any changes you do make to `outDir` won't have any effect on how _Ember_ builds your application—we have to pipe everything into Ember CLI via [broccoli], so we override that. In general, everything else works just as you'd expect, though!\n\n3. By default, we target the highest stable version of JavaScript available in the TypeScript compiler, so that you may ship anything from that very code without further modification to browsers that support it all the way back to ES3, in line with the Babel configuration in your app's `config/targets.js`. You can set this target to whatever is appropriate for your application, but we _strongly_ encourage you to leave it set to the highest stable version of JavaScript if you are developing an addon, so that consumers of your addon have full flexibility in this regard.\n\n4. If you make changes to the paths included in or excluded from the build via your `tsconfig.json` (using the `\"include\"`, `\"exclude\"`, or `\"files\"` keys), you will need to restart the server to take the changes into account: ember-cli-typescript does not currently watch the `tsconfig.json` file.\n\n[blueprint]: https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json\n[broccoli]: http://broccolijs.com/\n\n### Sourcemaps\n\nTo enable TypeScript sourcemaps, you'll need to add the corresponding configuration for Babel to your `ember-cli-build.js` file:\n\n```ts\nconst app = new EmberApp(defaults, {\n  babel: {\n    sourceMaps: 'inline',\n  },\n});\n```\n\n(Note that this _will_ noticeably slow down your app rebuilds.)\n\nIf you're updating from an older version of the addon, you may also need to update your `tsconfig.json`. (Current versions generate the correct config at installation.) Either run\n`ember generate ember-cli-typescript` or verify you have the same sourcemap settings in your `tscsonfig.json` that appear in [the blueprint](https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json).\n\n## Using TypeScript with Ember effectively\n\nIn addition to the points made below, you may find the [Typing Your Ember][typing-your-ember] blog series (especially the \"Update\" sequence) particularly helpful in knowing how to do specific things.\n\n### Incremental adoption\n\nIf you are porting an existing app to TypeScript, you can install this addon and migrate your files incrementally by changing their extensions from `.js` to `.ts`. As TypeScript starts to find errors (and it usually does!), make sure to celebrate your wins – even if they're small! – with your team, especially if some people are not convinced yet. We would also love to hear your stories!\n\nSome specific tips for success on the technical front:\n\n* Use the *strictest* strictness settings that our typings allow. While it may be tempting to start with the *loosest* strictness settings and then to tighten them down as you go, this will actually mean that \"getting your app type-checking\" will become a repeated process – getting it type-checking with every new strictness setting you enable! – rather than something you do just once. The only strictness setting you should turn *off* is `strictFunctionTypes`, which our current type definitions do not support. The recommended *strictness* settings in your `\"compilerOptions\"` hash:\n\n    ```\n    \"noImplicitAny\": true,\n    \"noImplicitThis\": true,\n    \"alwaysStrict\": true,\n    \"strictNullChecks\": true,\n    \"strictPropertyInitialization\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noImplicitReturns\": true,\n    ```\n\n* Make liberal use of `any` for things you don't have types for as you go, and come back and fill them in later. This will let you do the strictest strictness settings but with an escape hatch that lets you say \"We will come back to this when we have more idea how to handle it.\"\n\n* A good approach is to start at your \"leaf\" files (the ones that don't import anything else from your app, only Ember types) and then work your way back inward toward the most core types that are used everywhere. Often the highest-value modules are your Ember Data models and any core services that are used everywhere else in the app – and those are also the ones that tend to have the most cascading effects (having to update *tons* of other places in your app) when you type them later in the process.\n\n* Set `\"noEmitOnError\": true` in the `\"compilerOptions\"` hash in your `tsconfig.json` – it will help a lot if you can be sure that for the parts of your app you *have* added types to are still correct. And you'll get nice feedback *immediately* when you have type errors that way!\n\n    ![type errors in your build!](https://user-images.githubusercontent.com/108688/38774630-7d9224d4-403b-11e8-8dbc-87dad977a4c4.gif \"example of a build error during live reload\")\n\nYou may find the blog series [\"Typing Your Ember\"][typing-your-ember] helpful as it walks you through not only how to install but how to most effectively use TypeScript in an Ember app today, and gives some important info on the background and roadmap for the project.\n\n[typing-your-ember]: http://www.chriskrycho.com/typing-your-ember.html\n\n### Install other types!\n\nYou'll want to use other type definitions as much as possible. The first thing you should do, for example, is install the types for your testing framework of choice: `@types/ember-mocha` or `@types/ember-qunit`. Beyond that, look for types from other addons: it will mean writing `any` a lot less and getting a lot more help both from your editor and from the compiler.\n\nTo make this easier, we're maintaining [a list of addons with known type definitions][known-typings] either on [Definitely Typed] or as part of the addon itself. (If you know of typings that aren't in that list, please open a pull request to add them!)\n\n[known-typings]: ./known-typings.md\n[definitely typed]: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n### The `types` directory\n\nDuring installation, we create a `types` directory in the root of your application and add a `\"paths\"` mapping that includes that directory in any type lookups TypeScript tries to do. This is convenient for a few things:\n\n* global types for your package (see the next section)\n* writing types for third-party/`vendor` packages which do not have any types\n* developing types for an addon which you intend to upstream later\n\nThese are all fallbacks, of course, you should use the types supplied directly with a package\n\n#### Global types for your package\n\nAt the root of your application or addon, we include a `types/<your app>` directory with an `index.d.ts` file in it. Anything which is part of your application but which must be declared globally can go in this file. For example, if you have data attached to the `Window` object when the page is loaded (for bootstrapping or whatever other reason), this is a good place to declare it.\n\nIn the case of applications (but not for addons), we also automatically include declarations for Ember's prototype extensions in this `index.d.ts` file, with the `Array` prototype extensions enabled and the `Function` prototype extensions commented out. You should configure them to match your own config (which we cannot check during installation). If you are [disabling Ember's prototype extensions][disabling], you can remove these declarations entirely; we include them because they're enabled in most Ember applications today.\n\n[disabling]: https://guides.emberjs.com/v2.18.0/configuring-ember/disabling-prototype-extensions/\n\n#### Environment configuration typings\n\nAlong with the @types/ files mentioned above, ember-cli-typescript adds a starter interface for `config/environment.js` in `app/config/environment.d.ts`. This interface will likely require some changes to match your app.\n\nWe install this file because the actual `config/environment.js` is (a) not actually identical with the types as you inherit them in the content of an application, but rather a superset of what an application has access to, and (b) not in a the same location as the path at which you look it up. The actual `config/environment.js` file executes in Node during the build, and Ember CLI writes its result as `<my-app>/config/environment` into your build for consumption at runtime.\n\n### String-keyed lookups\n\nEmber makes heavy use of string-based APIs to allow for a high degree of dynamicism. With some limitations, you can nonetheless use TypeScript very effectively to get auto-complete/IntelliSense as well as to accurately type-check your applications.\n\nThe \"Update\" sequence in the Typing Your Ember has detailed explanations and guides for getting good type-safety for Ember's string-based APIs, e.g. the use of `get` and `set`, service and controller injection, Ember Data models and lookups\n\n* [Part 1][pt1]: A look at normal Ember objects, \"arguments\" to components (and controllers), and service (or controller) injections.\n* [Part 2][pt2]: Class properties — some notes on how things differ from the `Ember.Object` world.\n* [Part 3][pt3]: Computed properties, actions, mixins, and class methods.\n* [Part 4][pt4]: Using Ember Data, and service and controller injections improvements. (This includes a detailed guide to updating making the service and controller injections and Ember Data lookups behave as described below.)\n\n[pt1]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-1.html\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n[pt3]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-3.html\n[pt4]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-4.html\n\nA few of the most common speed-bumps are listed here to help make this easier:\n\n#### `this` type workaround\n\nOne important note for using `class` types effectively with today's Ember typings: you will (at least for now) need to explicitly write out a `this` type for methods, computed property callbacks, and actions if you are going to use `get` or `set`\n\n```ts\nimport Component from '@ember/component';\n\nexport default class UserProfile extends Component {\n  changeUsername(this: UserProfile, userName: string) {\n    //           ^---------------^\n    // `this` tells TS to use `UserProfile` for `get` and `set` lookups\n  }\n}\n```\n\nThis is a workaround for how incredibly dynamic `Ember.Object` instances are and hopefully will improve over time as we continue to iterate on the type definitions. Again, see [the relevant blog post for details][pt2].\n\n#### Nested keys in `get` or `set`\n\nIn general, `this.get` and `this.set` will work as you'd expect _if_ you're doing lookups only a single layer deep. Things like `this.get('a.b.c')` don't (and can't ever!) type-check; see the blog posts for a more detailed discussion of why.\n\nThe workaround is simply to do one of two things:\n\n1. **The type-safe approach.** This _will_ typecheck, but is both ugly and only works \\*if there are no `null`s or `undefined`s along the way. If `nested` is `null` at runtime, this will crash!\n\n   ```ts\n   import { get } from '@ember/object';\n\n   // -- Type-safe but ugly --//\n   get(get(get(someObject, 'deeply'), 'nested'), 'key');\n   ```\n\n2. **Using `// @ts-ignore`.** This will _not do any type-checking_, but is useful for the cases where you are intentionally checking a path which may be `null` or `undefined` anywhere long it.\n\n   ```ts\n   // @ts-ignore\n   get(someObject, 'deeply.nested.key');\n   ```\n\n   It's usually best to include an explanation of _why_ you're ignoring a lookup!\n\n#### Service and controller injections\n\nEmber does service and controller lookups with the `inject` functions at runtime, using the name of the service or controller being injected up as the default value—a clever bit of metaprogramming that makes for a nice developer experience. TypeScript cannot do this, because the name of the service or controller to inject isn't available at compile time in the same way.\n\nThis means that if you do things the normal Ember way, you will have to specify the type of your service or controller explicitly everywhere you use it. But… where should we put that? If we try to set it up as a [class property], we'll get an error as of Ember 3.1 (and it only accidentally works before that): computed properties and injections must be installed on the prototype.\n\n[class property]: https://basarat.gitbooks.io/typescript/docs/classes.html#property-initializer\n\nThere are two basic approaches we can take. The first uses the `.extend` method in conjunction with class definitions to make sure the injections are set up correctly; the second leans on the still-experimental [Ember Decorators][decorators] project to let us do everything in the class body while still getting the niceties of ES6 classes. The decorators approach is much nicer, and likely to eventually become the standard across Ember in general assuming the decorators spec stabilizes. For today, however, it's an opt-in rather than the default because it remains an experimental extension to the JavaScript standard.\n\n[decorators]: https://github.com/ember-decorators/ember-decorators\n\n##### Using `.extend`\n\nThe officially supported method for injections uses a combination of class body and traditional `EmberObject.extend` functionality. We generate a service like normal by running `ember generate service my-session`. The resulting definition will look like this:\n\n```ts\n// my-app/services/my-session.ts\nimport Service from '@ember/service';\nimport RSVP from 'rsvp';\n\nexport default class MySession extends Service {\n  login(email: string, password: string): RSVP.Promise<string> {\n    // login and return the confirmation message\n  }\n}\n\ndeclare module '@ember/service' {\n  interface Registry {\n    'my-session': MySession;\n  }\n}\n```\n\nYou'll need to add that module and interface declaration to all your existing service and controller declarations for this to work (again, see the [blog post][pt4] for further details), but once you do that, you'll have this much nicer experience throughout! It's not quite vanilla Ember.js, but it's close—and this way, you still get all those type-checking and auto-completion benefits, but with a lot less noise! Moreover, you actually get a significant benefit over \"vanilla\" Ember: we type-check that you typed the key correctly in the `service` invocation.\n\nThen we can use the service as usual:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { inject as service } from '@ember/service';\n\nexport default class UserProfile extends Component.extend({\n  mySession: service('my-session'),\n}) {\n  login(email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNotice that the type of `mySession` will be the `MySession` type here: TypeScript is using the \"registry\" set up in the last lines of the `my-session` module to look up the type by its name. If we had written just `service()` instead, Ember would have resolved the correct type at runtime as usual, but TypeScript would not be able to tell *which* service we had, only that it was a `Service`. In that case, the `this.session` would not have a `login` property from TS's perspective, and this would fail to type-check. That extra string gives TS the information it needs to resolve the type and give us auto-completion, type-checking, etc.\n\n(In Ember 3.0 or earlier, we would have `this.get('session').login(email, password);` instead.)\n\nAlthough this may look a little strange, everything works correctly. We can use other ES6 class functionality and behaviors (including class properties) as normal; it is just the special Ember pieces which have to be set up on the prototype like this: injections, computed properties, and the `actions` hash.\n\n##### Using decorators\n\nThe alternative here is to use [Ember Decorators][decorators]. In that case, we'd have precisely the same definition for our `MySession` service, but a much cleaner implementation in the component class:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service mySession!: MySession;\n\n  login(this: UserProfile, email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNote that we need the `MySession` type annotation this way, but we *don't* need the string lookup (unless we're giving the service a different name than the usual on the class, as in Ember injections in general). Without the type annotation, the type of `session` would just be `any`. This is because decorators (as of TS 2.8 – 3.0) are not allowed to modify the types of whatever they decorate. As a result, we wouldn't get any type-checking on that `session.login` call, and we wouldn't get any auto-completion either. Which would be really sad and take away a lot of the reason we're using TypeScript in the first place!\n\nAlso use the [`!` non-null assertion operator](https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#non-null-assertion-operator) to prevent [`TS2564`](https://github.com/kaorun343/vue-property-decorator/issues/81), that is caused by enabling `strictPropertyInitialization` in `tsconfig.json`.\n\nIf you're on an Ember version below 3.1, you'll want to wrap your service type in [`ComputedProperty`](https://www.emberjs.com/api/ember/release/classes/ComputedProperty), because [native ES5 getters](https://github.com/emberjs/rfcs/blob/master/text/0281-es5-getters.md) are not available there, which means that instead of accessing the service via `this.mySession`, you would have to access it as `this.get('mySession')` or `get(this, 'mySession')`. This means the above code would rather look like:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { get } from '@ember/object';\nimport ComputedProperty from '@ember/object/computed';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service mySession!: ComputedProperty<MySession>;\n\n  login(this: UserProfile, email: string, password: string) {\n    get(this, 'session').login(email, password);\n  }\n}\n```\n\nThis also holds true for all other macros of the ember-decorators addon.\n\n#### Ember Data lookups\n\nWe use the same basic approach for Ember Data type lookups with string keys as we do for service or controller injections. As a result, once you add the module and interface definitions for each model, serializer, and adapter in your app, you will automatically get type-checking and autocompletion and the correct return types for functions like `findRecord`, `queryRecord`, `adapterFor`, `serializerFor`, etc. No need to try to write out those (admittedly kind of hairy!) types; just write your Ember Data calls like normal and everything _should_ just work.\n\nThe declarations and changes you need to add to your existing files are:\n\n* Models\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Model.extend({\n    // attribute declarations here, as usual\n  }) {}\n\n  declare module 'ember-data/types/registries/model' {\n    export default interface ModelRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n* Adapters\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Adapter {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/adapter' {\n    export default interface AdapterRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n* Serializers\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Serializer {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/serializer' {\n    export default interface SerializerRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n  \n  \n* Transforms\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class ColorTransform extends DS.Transform {\n     // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/transform' {\n    export default interface TransformRegistry {\n      color: ColorTransform;\n    }\n  }\n  ```\n\nIn addition to the registry, note the oddly defined class for `DS.Model`s. This is because we need to set up the attribute bindings on the prototype (for a discussion of how and why this is different from class properties, see [Typing Your Ember, Update, Part 2][pt2]), but we cannot just use a `const` here because we need a named type—like a class!—to reference in the type registry and elsewhere in the app.\n\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n\n##### Opt-in unsafety\n\nAlso notice that unlike with service and controller injections, there is no unsafe fallback method by default, because there isn't an argument-less variant of the functions to use as there is for `Service` and `Controller` injection. If for some reason you want to opt _out_ of the full type-safe lookup for the strings you pass into methods like `findRecord`, `adapterFor`, and `serializerFor`, you can add these declarations somewhere in your project:\n\n```ts\nimport DS from 'ember-data';\n\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: DS.Model;\n  }\n}\ndeclare module 'ember-data/types/registries/adapter' {\n  export default interface AdapterRegistry {\n    [key: string]: DS.Adapter;\n  }\n}\ndeclare module 'ember-data/types/registries/serializer' {\n  export default interface SerializerRegistry {\n    [key: string]: DS.Serializer;\n  }\n}\n```\n\nHowever, we **_strongly_** recommend that you simply take the time to add the few lines of declarations to each of your `DS.Model`, `DS.Adapter`, and `DS.Serializer` instances instead. It will save you time in even the short run!\n\n##### Fixing the Ember Data `error TS2344` problem\n\nIf you're developing an Ember app or addon and _not_ using Ember Data (and accordingly not even have the Ember Data types installed), you may see an error like this and be confused:\n\n```\nnode_modules/@types/ember-data/index.d.ts(920,56): error TS2344: Type 'any' does not satisfy the constraint 'never'.\n```\n\nThis happens because the types for Ember's _test_ tooling includes the types for Ember Data because the `this` value in several of Ember's test types can include a reference to `DS.Store`.\n\n**The fix:** add a declaration like this in a new file named `ember-data.d.ts` in your `types` directory:\n\n```ts\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: any;\n  }\n}\n```\n\nThis works because (a) we include things in your types directory automatically and (b) TypeScript will merge this module and interface declaration with the main definitions for Ember Data from DefinitelyTyped behind the scenes.\n\nIf you're developing an addon and concerned that this might affect consumers, it won't. Your types directory will never be referenced by consumers at all!\n\n#### Class property setup errors\n\nSome common stumbling blocks for people switching to ES6 classes from the traditional EmberObject setup:\n\n- `Assertion Failed: InjectedProperties should be defined with the inject computed property macros.` – You've written `someService = inject()` in an ES6 class body in Ember 3.1+. Replace it with the `.extend` approach or by using decorators (`@service` or `@controller`) as discussed [above](#service-and-controller-injections). Because computed properties of all sorts, including injections, must be set up on a prototype, *not* on an instance, if you try to use class properties to set up injections, computed properties, the action hash, and so on, you will see this error.\n\n- `Assertion Failed: Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.` – You failed to pass `...arguments` when you called `super` in e.g. a component class `constructor`. Always do `super(...arguments)`, not just `super()`, in your `constructor`.\n\n### Type definitions outside `node_modules/@types`\n\nBy default, the TypeScript compiler loads all type definitions found in `node_modules/@types`. If the type defs you need are not found there and are not supplied in the root of the package you're referencing, you can register a custom value in `paths` in the `tsconfig.json` file. For example, if you're using [ember-browserify], you're used to writing imports like this:\n\n[ember-browserify]: https://github.com/ef4/ember-browserify\n\n```js\nimport MyModule from 'npm:my-module';\n```\n\nIf `my-module` has types, you will not be able to resolve them this way by default. You can add a simple tweak to your `tsconfig.json` to resolve the types correctly, however, mapping `npm:*` to `node_modules/*`.\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"my-app-name/*\": [\"app/*\"],\n      \"npm:*\": [\"node_modules/*\"]\n    }\n  }\n}\n```\n\n### ember-cli-mirage\n\nMirage adds files from a nonstandard location to your application tree, so you'll need to tell the TypeScript compiler about how that layout works.\n\nFor an app, this should look roughly like:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"my-app-name/mirage/*\": \"mirage/*\",\n    }\n  },\n  \"include\": [\n    \"app\",\n    \"tests\",\n    \"mirage\"\n  ]\n}\n```\n\nAnd for an addon:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"dummy/mirage/*\": \"tests/dummy/mirage/*\",\n    }\n  },\n  \"include\": [\n    \"addon\",\n    \"tests\"\n  ]\n}\n```\n\nNote that if Mirage was present when you installed ember-cli-typescript (or if you run `ember g ember-cli-typescript`), this configuration should be automatically set up for you.\n\n### \"TypeScript is complaining about multiple copies of the same types!\"\n\nYou may sometimes see TypeScript errors indicating that you have duplicate type definitions for Ember, Ember Data, etc. This is usually the result of an annoying quirk of the way both npm and yarn resolve your dependencies in their lockfiles.\n\n#### Just tell me how to fix it\n\nThere are two options here, neither of them _great_:\n\n* manually edit `yarn.lock` or `package-lock.json` and merge the conflicting\n* add a [\"resolutions\"] key to your `package.json` with the version you want to install of the types you're installing:\n\n```json\n{\n  \"resolutions\": {\n    \"**/@types/ember\": \"2.8.15\"\n  }\n}\n```\n\n[\"resolutions\"]: https://yarnpkg.com/lang/en/docs/selective-version-resolutions/\n\n#### Why is this happening?\n\nIf you're using another package which includes these types, and then you trigger an upgrade for your own copy of the type definitions, npm and yarn will both try to preserve the existing installation and simply add a new one for your updated version. In most cases, this is sane behavior, because it prevents transitive dependency breakage hell. However, in the _specific_ case of type definitions, it causes TypeScript to get confused.\n\n## Using ember-cli-typescript with Ember CLI addons\n\nDuring development, your `.ts` files will be watched and rebuilt just like any other sources in your addon when you run `ember serve`, `ember test`, etc.\n\nHowever, in order not to force downstream consumers to install the entire TS build toolchain when they want to use an addon written in TypeScript, ember-cli-typescript is designed to allow you to publish vanilla `.js` files to the npm registry, alongside `.d.ts` declarations so that consumers who _are_ using TypeScript can benefit from it.\n\n### Publishing\n\nThis addon provides two commands to help with publishing your addon: `ember ts:precompile` and `ember ts:clean`. The default `ember-cli-typescript` blueprint will configure your `package.json` to run these commands in the `prepublishOnly` and `postpublish` phases respectively, but you can also run them by hand to verify that the output looks as you expect.\n\nThe `ts:precompile` command will put compiled `.js` files in your `addon` directory and populate the overall structure of your package with `.d.ts` files laid out to match their import paths. For example, `addon/index.ts` would produce `addon/index.js` as well as `index.d.ts` in the root of your package.\n\nThe `ts:clean` command will remove the generated `.js` and `.d.ts` files, leaving your working directory back in a pristine state.\n\n**Note**: While `.ts` files from both the `app` and `addon` directories of your addon will be transpiled by `ts:precompile`, only the declaration files from `addon` will be published. Since the final import paths for `app` files will depend on the name of the consuming application, we can't put those declaration files in a meaningful place.\n\n### Linking Addons\n\nOften when developing an addon, it can be useful to run that addon in the context of some other host app so you can make sure it will integrate the way you expect, e.g. using [`yarn link`](https://yarnpkg.com/en/docs/cli/link#search) or [`npm link`](https://docs.npmjs.com/cli/link).\n\nWhen you do this for a TypeScript addon, by default your `.ts` files won't be consumed by the host app. In order for a linked addon to work, you need to take a few steps:\n\n* ensure `ember-cli-typescript` is installed and set up in the host app\n* override [`isDevelopingAddon()`](https://ember-cli.com/api/classes/Addon.html#method_isDevelopingAddon) in the linked addon to return `true`\n* update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"node_modules/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"node_modules/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"node_modules/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"node_modules/my-addon/app\",\n  \"node_modules/my-addon/addon\"\n]\n```\n\nThis will cause `ember-cli-typescript` in the host app to take over compiling the TS files in the addon as well, automatically rebuilding any time you make a change.\n\n**Note**: remember to remove your `isDevelopingAddon` override before publishing!\n\n### In-Repo Addons\n\n[In-repo addons](https://ember-cli.com/extending/#detailed-list-of-blueprints-and-their-use) work in much the same way as linked ones: their TypeScript compilation is managed by the host app. They have `isDevelopingAddon` return `true` by default, so you only have to update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"lib/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"lib/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"lib/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"lib/my-addon\"\n]\n```\n\n### Gotchas\n\nA few things to look out for when working with TypeScript in addons:\n\n* Normally, addons under development automatically return `true` from their `isDevelopingAddon()` hook, which `ember-cli-typescript` relies on to determine whether to process the addon's `.ts` files. However, if the name field in your `package.json` doesn't match the name in your `index.js`, this default behavior will fail and you'll need to override the method yourself.\n* TypeScript has very particular rules when generating declaration files to avoid letting private types leak out unintentionally. You may find it useful to run `ember ts:precompile` yourself as you're getting a feel for these rules to ensure everything will go smoothly when you publish.\n\n## Installing from git\n\nThis addon uses TypeScript for its own implementation, so if you install `ember-cli-typescript` from git rather than from the npm registry, you won't get compiled `.js` files. To get everything working, you can install `ts-node` as a project dependency, and `ember-cli-typescript` will ensure it's registered correctly to transpile source files as needed.\n\n## Current limitations\n\nWhile TS already works nicely for many things in Ember, there are a number of corners where it _won't_ help you out. Some of them are just a matter of further work on updating the [existing typings]; others are a matter of further support landing in TypeScript itself, or changes to Ember's object model.\n\n[existing typings]: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember\n\nWe are hard at work (and would welcome your help!) [writing new typings][ember-typings] for Ember and the surrounding ecosystem. If you'd like to try those out, please see instructions in [that repo][ember-typings]!\n\n[ember-typings]: https://github.com/typed-ember/ember-typings\n\nHere is the short list of things which do _not_ work yet in the version of the typings published on DefinitelyTyped.\n\n### Some `import`s don't resolve\n\nYou'll frequently see errors for imports which TypeScript doesn't know how to resolve. For example, if you use Ember Concurrency today and try to import its `task` helper:\n\n```typescript\nimport { task } from 'ember-concurrency';\n```\n\nYou'll see an error, because there aren't yet type definitions for it. You may see the same with some addons as well. **These won't stop the build from working;** they just mean TypeScript doesn't know where to find those.\n\nWriting these missing type definitions is a great way to pitch in! Jump in `#e-typescript` on the [Ember Community Discord server](https://discord.gg/zT3asNS) and we'll be happy to help you.\n\n### Type safety when invoking actions\n\nTypeScript won't detect a mismatch between this action and the corresponding call in the template:\n\n```typescript\nEmber.Component.extend({\n  actions: {\n    turnWheel(degrees: number) {\n      // ...\n    },\n  },\n});\n```\n\n```hbs\n<button onclick={{action 'turnWheel' 'NOT-A-NUMBER'}}> Click Me </button>\n```\n\nLikewise, it won't notice a problem when you use the `send` method:\n\n```typescript\n// TypeScript compiler won't detect this type mismatch\nthis.send('turnWheel', 'ALSO-NOT-A-NUMBER');\n```\n","engines":{"node":"6.* || 8.* || >= 10.*"},"scripts":{"test":"ember test","build":"ember build","start":"ember serve","ci:test":"ember test && mocha --recursive js/tests","lint:js":"eslint --ext js,ts .","test:all":"ember try:each","test:node":"mocha -r register-ts-node 'ts/tests/**/*.{ts,js}'","ci:prepare":"yarn prepublishOnly && rimraf ts","postpublish":"rimraf js","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"@types/ember":"2.8.13"},"dependencies":{"rsvp":"^4.8.1","debug":"^3.1.0","execa":"^0.9.0","semver":"^5.5.1","resolve":"^1.5.0","fs-extra":"^5.0.0","stagehand":"^1.0.0","walk-sync":"^0.3.2","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"^7.1.0","@babel/plugin-proposal-class-properties":"^7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"co":"^4.6.0","got":"^8.0.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","rimraf":"^2.6.2","esprima":"^4.0.0","ts-node":"^7.0.1","ember-cli":"~3.5.0","ember-try":"^1.0.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"^4.7.0","qunit-dom":"^0.8.0","testdouble":"^3.5.0","typescript":"^3.1.1","@types/node":"^9.6.5","ember-qunit":"^3.4.1","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.5.0","@types/semver":"^5.5.0","ember-cli-sri":"^2.1.1","@types/express":"^4.16.0","@types/resolve":"^0.0.8","ember-resolver":"^5.0.1","ember-cli-babel":"^7.1.2","ember-cli-eslint":"^4.2.3","ember-cli-uglify":"^2.1.0","ember-cli-update":"^0.14.0","@types/console-ui":"^2.2.0","ember-cli-release":"^0.2.9","@types/core-object":"^3.0.0","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.7.0","ember-cli-htmlbars":"^3.0.0","eslint-plugin-node":"^7.0.1","eslint-plugin-ember":"^5.2.0","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.1.0","@ember/optional-features":"^0.6.3","typescript-eslint-parser":"^19.0.2","ember-cli-dependency-checker":"^3.0.0","ember-cli-inject-live-reload":"^2.0.1","ember-maybe-import-regenerator":"^0.1.6","ember-cli-typescript-blueprints":"^1.0.0","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.3","ember-cli-htmlbars-inline-precompile":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_2.0.0-beta.2_1540576648789_0.40917493204487165","host":"s3://npm-registry-packages"}},"2.0.0-beta.3":{"name":"ember-cli-typescript","version":"2.0.0-beta.3","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@2.0.0-beta.3","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"a27db5942664448c3cf81e1042c3ff6c0e24d5a2","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.0-beta.3.tgz","fileCount":38,"integrity":"sha512-+pFKwU2lSMlOK/8QyLGf1yL4x+wjLzi40OwqJGGaWysiaG3c2Vuhx7e5NRaHc2ArhhXUDWiQrZfFUjMLSx8U9g==","signatures":[{"sig":"MEUCIFEl+4qhG+WCdJQVrDv009tQtLNnbPV3MGEX4bR5duDaAiEA9l2pIQYyNijTx7RBrbxUyEr7VQGSeFPLyY6jYzN0wUQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":483649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3Mh7CRA9TVsSAnZWagAAeBwQAKGYcHqPy/4a1bYrAXYz\nqtnLsFBZJmMcg/1Ii3QwafLmf3WHcW75NMGvFdvQFxaVcMkOGy8tvURxH7xN\nJSsRzrL8KIMRVcC0uPf6vBj2BR9EX+FkluOu1CLwtEWU0KnJQ0JvUK5YmLVc\nMGU4BrJLEHExErFwjYp2ckMmi/+P61iGqiCkRyVJQIjxwy8MRCUYQc1B/Y4R\nADaT9xCEZ+lMVfGXBse8fWEucIVqvKKexpvuOsyoGm4uK+vKxLLKTP3L4Jd8\nJZEqKtM77DlFw45fa4LegavUmeI+Q3d/wmorrXjpxUHMrPaBWUIlGJaRwYbq\ndgKHyAdGtiYAmoSEFtGdH0k1GuHSLQ5NygXEnCWB3i8o/14X0y01qYakjY5j\nGiaQRkg7fgpEPAsTBsx5OYZ8kLbGXtlciy7PJf4kmtFslRMW3VHSR9sJDqE7\nrcq+QenwuGwc2p+EhXcYDhGzzCHQb0tQULR9fgkP/RXCC1A5js9JEl+vp8Rm\nDC4liqJCTWMFFtGuUa4IJ/kLQmADdmVa6EVJMjZtM0aly+FjbeeiYBLvUwmK\noU6mKdYZi7LTXt606wwN8aYFLyRquXae+IrQ2PMWjy4ABTAwmaSzs5RHqo9Y\nhnN7KEtOqlqqJPVGSlIl1yy5kzqNLVWWWQJaIAJlu/DCTIG2NwyaXwfmGFPv\nE4ye\r\n=8z6z\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# ember-cli-typescript\n\nUse TypeScript in your Ember 2.x and 3.x apps!\n\n[![*nix build status (master)](https://travis-ci.org/typed-ember/ember-cli-typescript.svg?branch=master)](https://travis-ci.org/typed-ember/ember-cli-typescript) [![Build Status](https://dev.azure.com/typed-ember/ember-cli-typescript/_apis/build/status/typed-ember.ember-cli-typescript)](https://dev.azure.com/typed-ember/ember-cli-typescript/_build/latest?definitionId=2) [![Ember Observer Score](https://emberobserver.com/badges/ember-cli-typescript.svg)](https://emberobserver.com/addons/ember-cli-typescript)\n\n- [Getting Help](#getting-help)\n- [Setup and Configuration](#setup-and-configuration)\n  - [Supported Ember & TypeScript Versions](#supported-ember-and-typescript-versions)\n  - [`tsconfig.json`](#tsconfigjson)\n  - [Sourcemaps](#sourcemaps)\n- [Using TypeScript with Ember effectively](#using-typescript-with-ember-effectively)\n  - [Incremental adoption](#incremental-adoption)\n  - [Install other types!](#install-other-types)\n  - [The `types` directory](#the-types-directory)\n    - [Global types for your package](#global-types-for-your-package)\n    - [Environment configuration typings](#environment-configuration-typings)\n  - [String-keyed lookups](#string-keyed-lookups)\n    - [`this` type workaround](#this-type-workaround)\n    - [Nested keys in `get` or `set`](#nested-keys-in-get-or-set)\n    - [Service and controller injections](#service-and-controller-injections)\n      - [Using `.extend`](#using-extend)\n      - [Using decorators](#using-decorators)\n    - [Ember Data lookups](#ember-data-lookups)\n      - [Opt-in unsafety](#opt-in-unsafety)\n      - [Fixing the Ember Data `error TS2344` problem](#fixing-the-ember-data-error-ts2344-problem)\n  - [Class property setup errors](#class-property-setup-errors)\n  - [Type definitions outside `node_modules/@types`](#type-definitions-outside-node_modulestypes)\n  - [ember-cli-mirage](#ember-cli-mirage)\n  - [\"TypeScript is complaining about multiple copies of the same types\"](#typescript-is-complaining-about-multiple-copies-of-the-same-types)\n    - [Just tell me how to fix it](#just-tell-me-how-to-fix-it)\n    - [Why is this happening?](#why-is-this-happening)\n- [Using ember-cli-typescript with Ember CLI addons](#using-ember-cli-typescript-with-ember-cli-addons)\n  - [Publishing](#publishing)\n  - [Linking Addons](#linking-addons)\n  - [In-Repo Addons](#in-repo-addons)\n  - [Gotchas](#gotchas)\n- [Installing from git](#installing-from-git)\n- [Current limitations](#current-limitations)\n  - [Some `import`s don't resolve](#some-imports-dont-resolve)\n  - [Type safety when invoking actions](#type-safety-when-invoking-actions)\n\n## Getting Help\n\nWhen seeking help, you should first consider what you need, and which aspect of the Ember+TypeScript ecosystem your issue pertains to.\n\n### 💬 Getting Started\n\nWe have a channel (#e-typescript) on the [Ember Community Discord server](https://discordapp.com/invite/zT3asNS) where you can ask about getting started, good resources for self-directed learning and more.\n\n### 📚 Issues With Ember Type Definitions\n\nIf you've found that some of the Ember type information is missing things, or is incorrect in some way, please first ensure you're using the latest version of the [packages this addon installs](#other-packages-this-addon-installs). Although [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript) are not the advised places to report problems, you may find an answer there.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ⚙️ Issues With Adding TypeScript Support To Apps and Addons\n\nIf you run into a problem with the way TypeScript is compiled in Ember apps (i.e., a broccoli error message, incorrect build output, etc...), please first check [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript), as you may find an answer.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ✅ Issues With Static Analysis of TypeScript In Ember Apps and Addons\n\nThe TypeScript compiler does some very basic static analysis of your code, and most developers use Palantir's TSLint tool for more thorough checking.\n\nOne sure way to tell which tool is generating an error message is that _Linters like [TSLint](https://github.com/palantir/tslint/) and [ESLint](https://eslint.org/) will always mention their name, and the name of the pertinent rule, when it alerts you to a violation_.\n\n##### Example:\n\n```\n[tslint] variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)\n```\n\n`variable-name` is the name of the rule.\n\nFor issues relating to typescript compiler analysis, [create an issue in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose). For TSLint-related concerns, please create an issue in the [`ember-cli-tslint`](https://github.com/typed-ember/ember-cli-tslint) project by clicking [here](https://github.com/typed-ember/ember-cli-tslint/issues/new). If you run into issues with using ESLint with Ember, create an issue [here](https://github.com/ember-cli/ember-cli-eslint/issues/new).\n\n## Setup and Configuration\n\nTo install or upgrade the addon, just run:\n\n```\nember install ember-cli-typescript@latest\n```\n\nTo work properly, ember addons must declare this library as a `dependency`, not a `devDependency`. You can \"ember install\" it by running \n\n```\nember install ember-cli-typescript@latest --save\n```\n\n\nAll dependencies will be added to your `package.json`, and you're ready to roll! If you're upgrading from a previous release, you should check to merge any tweaks you've made to `tsconfig.json`.\n\nIn addition to ember-cli-typescript, we make the following changes to your project:\n\n### Other Packages This Addon Installs\n\n- We install the following packages—all at their current \"latest\" value—or generated:\n\n  - [`typescript`](https://github.com/Microsoft/TypeScript)\n  - **@types/ember** ([npm](https://www.npmjs.com/package/@types/ember) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember)) - Types for [Ember.js](https://github.com/emberjs/ember.js) which includes\n    - **@types/ember\\_\\_string** ([npm](https://www.npmjs.com/package/@types/ember__string) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__string)) - types for the [`@ember/string` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fstring)\n    - **@types/ember\\_\\_object** ([npm](https://www.npmjs.com/package/@types/ember__object) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__object)) - types for the [`@ember/object` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fobject)\n    - **@types/ember\\_\\_utils** ([npm](https://www.npmjs.com/package/@types/ember__utils) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__utils)) - types for the [`@ember/utils` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Futils)\n    - **@types/ember\\_\\_array** ([npm](https://www.npmjs.com/package/@types/ember__array) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__array)) - types for the [`@ember/array` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Farray)\n    - **@types/ember\\_\\_component** ([npm](https://www.npmjs.com/package/@types/ember__component) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__component)) - types for the [`@ember/component` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcomponent)\n    - **@types/ember\\_\\_engine** ([npm](https://www.npmjs.com/package/@types/ember__engine) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__engine)) - types for the [`@ember/engine` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fengine)\n    - **@types/ember\\_\\_application** ([npm](https://www.npmjs.com/package/@types/ember__application) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__application)) - types for the [`@ember/application` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fapplication)\n    - **@types/ember\\_\\_controller** ([npm](https://www.npmjs.com/package/@types/ember__controller) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__controller)) - types for the [`@ember/controller` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcontroller)\n    - **@types/ember\\_\\_service** ([npm](https://www.npmjs.com/package/@types/ember__service) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__service)) - types for the [`@ember/service` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fservice)\n    - **@types/ember\\_\\_runloop** ([npm](https://www.npmjs.com/package/@types/ember__runloop) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__runloop)) - types for the [`@ember/runloop` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frunloop)\n    - **@types/ember\\_\\_error** ([npm](https://www.npmjs.com/package/@types/ember__error) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__error)) - types for the [`@ember/error` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ferror)\n    - **@types/ember\\_\\_polyfills** ([npm](https://www.npmjs.com/package/@types/ember__polyfills) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__polyfills)) - types for the [`@ember/polyfills` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fpolyfills)\n    - **@types/ember\\_\\_debug** ([npm](https://www.npmjs.com/package/@types/ember__debug) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__debug)) - types for the [`@ember/debug` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fdebug)\n    - **@types/ember\\_\\_test** ([npm](https://www.npmjs.com/package/@types/ember__test) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test)) - types for the [`@ember/test` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ftest)\n    - **@types/ember\\_\\_routing** ([npm](https://www.npmjs.com/package/@types/ember__routing) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__routing)) - types for the [`@ember/routing` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frouting)\n  - **@types/ember-data** - ([npm](https://www.npmjs.com/package/@types/ember-data) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-data)) - Types for [Ember-Data](https://github.com/emberjs/data)\n  - **@types/rsvp** - ([npm](https://www.npmjs.com/package/@types/rsvp) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rsvp)) - Types for [RSVP.js](https://github.com/tildeio/rsvp.js/)\n  - **@types/ember-test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-test-helpers)) Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers), which arose from [RFC #232](https://github.com/emberjs/rfcs/blob/master/text/0232-simplify-qunit-testing-api.md)\n  - **@types/ember-testing-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-testing-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-testing-helpers)) – Types for [Ember's built-in globally-available test helpers](https://github.com/emberjs/ember.js/tree/master/packages/ember-testing/lib/helpers)\n  - **@types/ember\\_\\_test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember__test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test-helpers)) – Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers) when imported as `@ember/test-helpers`.\n\n### Files this addon Generates\n\n- We add the following files to your project:\n\n  - [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\n  - `types/<app name>/index.d.ts` – the location for any global type declarations you need to write for you own application; see [Global types for your package](#global-types-for-your-package) for information on its default contents and how to use it effectively\n  - `app/config/environment.d.ts` – a basic set of types defined for the contents of the `config/environment.js` file in your app; see [Environment and configuration typings](#environment-and-configuration-typings) for details\n\n### Supported Ember and TypeScript versions\n\nember-cli-typescript runs its test suite against the 2.12 LTS, the 2.16 LTS, the 2.18 LTS, the current release, the beta branch, and the canary branch. It's also in active use in several large applications. Any breakage for upcoming releases _should_ be detected and fixed ahead of those releases, but you can help us guarantee that by running your own Ember.js+TypeScript app with beta and canary turned on and let us know if you run into issues with upcoming Ember.js releases.\n\nThis library supports the current version of TypeScript [![TS Version](https://img.shields.io/github/tag/Microsoft/typescript.svg?label=latest%20typescript%20release)](https://github.com/Microsoft/TypeScript/releases/latest) and at least one previous minor or major release (i.e., if `3.0` is the latest release, we **do** support `3.0.x`, `2.9.x`, and **might** support `2.8` as well).\n\n### `tsconfig.json`\n\nWe generate a good default [`tsconfig.json`][blueprint], which will usually make everything _Just Work™_. In general, you may customize your TypeScript build process as usual using the `tsconfig.json` file.\n\nHowever, there are a few things worth noting if you're already familiar with TypeScript and looking to make further or more advanced customizations (i.e. _most_ users can just ignore this section!):\n\n1. The generated tsconfig file does not set `\"outDir\"` and sets `\"noEmit\"` to `true`. Under the hood, Ember's own invocation of `tsc` _does_ set these, but the default configuration we generate allows you to run editors which use the compiler without creating extraneous `.js` files throughout your codebase, leaving the compilation to ember-cli-typescript to manage.\n\n   You _can_ still customize those properties in `tsconfig.json` if your use case requires it, however. For example, to see the output of the compilation in a separate folder you are welcome to set `\"outDir\"` to some path and set `\"noEmit\"` to `false`. Then tools which use the TypeScript compiler (e.g. the watcher tooling in JetBrains IDEs) will generate files at that location, while the Ember.js/Broccoli pipeline will continue to use its own temp folder.\n\n2. Closely related to the previous point: any changes you do make to `outDir` won't have any effect on how _Ember_ builds your application—we have to pipe everything into Ember CLI via [broccoli], so we override that. In general, everything else works just as you'd expect, though!\n\n3. By default, we target the highest stable version of JavaScript available in the TypeScript compiler, so that you may ship anything from that very code without further modification to browsers that support it all the way back to ES3, in line with the Babel configuration in your app's `config/targets.js`. You can set this target to whatever is appropriate for your application, but we _strongly_ encourage you to leave it set to the highest stable version of JavaScript if you are developing an addon, so that consumers of your addon have full flexibility in this regard.\n\n4. If you make changes to the paths included in or excluded from the build via your `tsconfig.json` (using the `\"include\"`, `\"exclude\"`, or `\"files\"` keys), you will need to restart the server to take the changes into account: ember-cli-typescript does not currently watch the `tsconfig.json` file.\n\n[blueprint]: https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json\n[broccoli]: http://broccolijs.com/\n\n### Sourcemaps\n\nTo enable TypeScript sourcemaps, you'll need to add the corresponding configuration for Babel to your `ember-cli-build.js` file:\n\n```ts\nconst app = new EmberApp(defaults, {\n  babel: {\n    sourceMaps: 'inline',\n  },\n});\n```\n\n(Note that this _will_ noticeably slow down your app rebuilds.)\n\nIf you're updating from an older version of the addon, you may also need to update your `tsconfig.json`. (Current versions generate the correct config at installation.) Either run `ember generate ember-cli-typescript` or verify you have the same sourcemap settings in your `tscsonfig.json` that appear in [the blueprint](https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json).\n\n## Using TypeScript with Ember effectively\n\nIn addition to the points made below, you may find the [Typing Your Ember][typing-your-ember] blog series (especially the \"Update\" sequence) particularly helpful in knowing how to do specific things.\n\n### Incremental adoption\n\nIf you are porting an existing app to TypeScript, you can install this addon and migrate your files incrementally by changing their extensions from `.js` to `.ts`. As TypeScript starts to find errors (and it usually does!), make sure to celebrate your wins – even if they're small! – with your team, especially if some people are not convinced yet. We would also love to hear your stories!\n\nSome specific tips for success on the technical front:\n\n- Use the _strictest_ strictness settings that our typings allow. While it may be tempting to start with the _loosest_ strictness settings and then to tighten them down as you go, this will actually mean that \"getting your app type-checking\" will become a repeated process – getting it type-checking with every new strictness setting you enable! – rather than something you do just once. The only strictness setting you should turn _off_ is `strictFunctionTypes`, which our current type definitions do not support. The recommended _strictness_ settings in your `\"compilerOptions\"` hash:\n\n  ```\n  \"noImplicitAny\": true,\n  \"noImplicitThis\": true,\n  \"alwaysStrict\": true,\n  \"strictNullChecks\": true,\n  \"strictPropertyInitialization\": true,\n  \"noFallthroughCasesInSwitch\": true,\n  \"noUnusedLocals\": true,\n  \"noUnusedParameters\": true,\n  \"noImplicitReturns\": true,\n  ```\n\n- Make liberal use of `any` for things you don't have types for as you go, and come back and fill them in later. This will let you do the strictest strictness settings but with an escape hatch that lets you say \"We will come back to this when we have more idea how to handle it.\"\n\n- A good approach is to start at your \"leaf\" files (the ones that don't import anything else from your app, only Ember types) and then work your way back inward toward the most core types that are used everywhere. Often the highest-value modules are your Ember Data models and any core services that are used everywhere else in the app – and those are also the ones that tend to have the most cascading effects (having to update _tons_ of other places in your app) when you type them later in the process.\n\n- Set `\"noEmitOnError\": true` in the `\"compilerOptions\"` hash in your `tsconfig.json` – it will help a lot if you can be sure that for the parts of your app you _have_ added types to are still correct. And you'll get nice feedback _immediately_ when you have type errors that way!\n\n  ![type errors in your build!](https://user-images.githubusercontent.com/108688/38774630-7d9224d4-403b-11e8-8dbc-87dad977a4c4.gif 'example of a build error during live reload')\n\nYou may find the blog series [\"Typing Your Ember\"][typing-your-ember] helpful as it walks you through not only how to install but how to most effectively use TypeScript in an Ember app today, and gives some important info on the background and roadmap for the project.\n\n[typing-your-ember]: http://www.chriskrycho.com/typing-your-ember.html\n\n### Install other types!\n\nYou'll want to use other type definitions as much as possible. The first thing you should do, for example, is install the types for your testing framework of choice: `@types/ember-mocha` or `@types/ember-qunit`. Beyond that, look for types from other addons: it will mean writing `any` a lot less and getting a lot more help both from your editor and from the compiler.\n\nTo make this easier, we're maintaining [a list of addons with known type definitions][known-typings] either on [Definitely Typed] or as part of the addon itself. (If you know of typings that aren't in that list, please open a pull request to add them!)\n\n[known-typings]: ./known-typings.md\n[definitely typed]: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n### The `types` directory\n\nDuring installation, we create a `types` directory in the root of your application and add a `\"paths\"` mapping that includes that directory in any type lookups TypeScript tries to do. This is convenient for a few things:\n\n- global types for your package (see the next section)\n- writing types for third-party/`vendor` packages which do not have any types\n- developing types for an addon which you intend to upstream later\n\nThese are all fallbacks, of course, you should use the types supplied directly with a package\n\n#### Global types for your package\n\nAt the root of your application or addon, we include a `types/<your app>` directory with an `index.d.ts` file in it. Anything which is part of your application but which must be declared globally can go in this file. For example, if you have data attached to the `Window` object when the page is loaded (for bootstrapping or whatever other reason), this is a good place to declare it.\n\nIn the case of applications (but not for addons), we also automatically include declarations for Ember's prototype extensions in this `index.d.ts` file, with the `Array` prototype extensions enabled and the `Function` prototype extensions commented out. You should configure them to match your own config (which we cannot check during installation). If you are [disabling Ember's prototype extensions][disabling], you can remove these declarations entirely; we include them because they're enabled in most Ember applications today.\n\n[disabling]: https://guides.emberjs.com/v2.18.0/configuring-ember/disabling-prototype-extensions/\n\n#### Environment configuration typings\n\nAlong with the @types/ files mentioned above, ember-cli-typescript adds a starter interface for `config/environment.js` in `app/config/environment.d.ts`. This interface will likely require some changes to match your app.\n\nWe install this file because the actual `config/environment.js` is (a) not actually identical with the types as you inherit them in the content of an application, but rather a superset of what an application has access to, and (b) not in a the same location as the path at which you look it up. The actual `config/environment.js` file executes in Node during the build, and Ember CLI writes its result as `<my-app>/config/environment` into your build for consumption at runtime.\n\n### String-keyed lookups\n\nEmber makes heavy use of string-based APIs to allow for a high degree of dynamicism. With some limitations, you can nonetheless use TypeScript very effectively to get auto-complete/IntelliSense as well as to accurately type-check your applications.\n\nThe \"Update\" sequence in the Typing Your Ember has detailed explanations and guides for getting good type-safety for Ember's string-based APIs, e.g. the use of `get` and `set`, service and controller injection, Ember Data models and lookups\n\n- [Part 1][pt1]: A look at normal Ember objects, \"arguments\" to components (and controllers), and service (or controller) injections.\n- [Part 2][pt2]: Class properties — some notes on how things differ from the `Ember.Object` world.\n- [Part 3][pt3]: Computed properties, actions, mixins, and class methods.\n- [Part 4][pt4]: Using Ember Data, and service and controller injections improvements. (This includes a detailed guide to updating making the service and controller injections and Ember Data lookups behave as described below.)\n\n[pt1]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-1.html\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n[pt3]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-3.html\n[pt4]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-4.html\n\nA few of the most common speed-bumps are listed here to help make this easier:\n\n#### `this` type workaround\n\nOne important note for using `class` types effectively with today's Ember typings: you will (at least for now) need to explicitly write out a `this` type for methods, computed property callbacks, and actions if you are going to use `get` or `set`\n\n```ts\nimport Component from '@ember/component';\n\nexport default class UserProfile extends Component {\n  changeUsername(this: UserProfile, userName: string) {\n    //           ^---------------^\n    // `this` tells TS to use `UserProfile` for `get` and `set` lookups\n  }\n}\n```\n\nThis is a workaround for how incredibly dynamic `Ember.Object` instances are and hopefully will improve over time as we continue to iterate on the type definitions. Again, see [the relevant blog post for details][pt2].\n\n#### Nested keys in `get` or `set`\n\nIn general, `this.get` and `this.set` will work as you'd expect _if_ you're doing lookups only a single layer deep. Things like `this.get('a.b.c')` don't (and can't ever!) type-check; see the blog posts for a more detailed discussion of why.\n\nThe workaround is simply to do one of two things:\n\n1. **The type-safe approach.** This _will_ typecheck, but is both ugly and only works \\*if there are no `null`s or `undefined`s along the way. If `nested` is `null` at runtime, this will crash!\n\n   ```ts\n   import { get } from '@ember/object';\n\n   // -- Type-safe but ugly --//\n   get(get(get(someObject, 'deeply'), 'nested'), 'key');\n   ```\n\n2. **Using `// @ts-ignore`.** This will _not do any type-checking_, but is useful for the cases where you are intentionally checking a path which may be `null` or `undefined` anywhere long it.\n\n   ```ts\n   // @ts-ignore\n   get(someObject, 'deeply.nested.key');\n   ```\n\n   It's usually best to include an explanation of _why_ you're ignoring a lookup!\n\n#### Service and controller injections\n\nEmber does service and controller lookups with the `inject` functions at runtime, using the name of the service or controller being injected up as the default value—a clever bit of metaprogramming that makes for a nice developer experience. TypeScript cannot do this, because the name of the service or controller to inject isn't available at compile time in the same way.\n\nThis means that if you do things the normal Ember way, you will have to specify the type of your service or controller explicitly everywhere you use it. But… where should we put that? If we try to set it up as a [class property], we'll get an error as of Ember 3.1 (and it only accidentally works before that): computed properties and injections must be installed on the prototype.\n\n[class property]: https://basarat.gitbooks.io/typescript/docs/classes.html#property-initializer\n\nThere are two basic approaches we can take. The first uses the `.extend` method in conjunction with class definitions to make sure the injections are set up correctly; the second leans on the still-experimental [Ember Decorators][decorators] project to let us do everything in the class body while still getting the niceties of ES6 classes. The decorators approach is much nicer, and likely to eventually become the standard across Ember in general assuming the decorators spec stabilizes. For today, however, it's an opt-in rather than the default because it remains an experimental extension to the JavaScript standard.\n\n[decorators]: https://github.com/ember-decorators/ember-decorators\n\n##### Using `.extend`\n\nThe officially supported method for injections uses a combination of class body and traditional `EmberObject.extend` functionality. We generate a service like normal by running `ember generate service my-session`. The resulting definition will look like this:\n\n```ts\n// my-app/services/my-session.ts\nimport Service from '@ember/service';\nimport RSVP from 'rsvp';\n\nexport default class MySession extends Service {\n  login(email: string, password: string): RSVP.Promise<string> {\n    // login and return the confirmation message\n  }\n}\n\ndeclare module '@ember/service' {\n  interface Registry {\n    'my-session': MySession;\n  }\n}\n```\n\nYou'll need to add that module and interface declaration to all your existing service and controller declarations for this to work (again, see the [blog post][pt4] for further details), but once you do that, you'll have this much nicer experience throughout! It's not quite vanilla Ember.js, but it's close—and this way, you still get all those type-checking and auto-completion benefits, but with a lot less noise! Moreover, you actually get a significant benefit over \"vanilla\" Ember: we type-check that you typed the key correctly in the `service` invocation.\n\nThen we can use the service as usual:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { inject as service } from '@ember/service';\n\nexport default class UserProfile extends Component.extend({\n  mySession: service('my-session'),\n}) {\n  login(email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNotice that the type of `mySession` will be the `MySession` type here: TypeScript is using the \"registry\" set up in the last lines of the `my-session` module to look up the type by its name. If we had written just `service()` instead, Ember would have resolved the correct type at runtime as usual, but TypeScript would not be able to tell _which_ service we had, only that it was a `Service`. In that case, the `this.session` would not have a `login` property from TS's perspective, and this would fail to type-check. That extra string gives TS the information it needs to resolve the type and give us auto-completion, type-checking, etc.\n\n(In Ember 3.0 or earlier, we would have `this.get('session').login(email, password);` instead.)\n\nAlthough this may look a little strange, everything works correctly. We can use other ES6 class functionality and behaviors (including class properties) as normal; it is just the special Ember pieces which have to be set up on the prototype like this: injections, computed properties, and the `actions` hash.\n\n##### Using decorators\n\nThe alternative here is to use [Ember Decorators][decorators]. In that case, we'd have precisely the same definition for our `MySession` service, but a much cleaner implementation in the component class:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service\n  mySession!: MySession;\n\n  login(this: UserProfile, email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNote that we need the `MySession` type annotation this way, but we _don't_ need the string lookup (unless we're giving the service a different name than the usual on the class, as in Ember injections in general). Without the type annotation, the type of `session` would just be `any`. This is because decorators (as of TS 2.8 – 3.0) are not allowed to modify the types of whatever they decorate. As a result, we wouldn't get any type-checking on that `session.login` call, and we wouldn't get any auto-completion either. Which would be really sad and take away a lot of the reason we're using TypeScript in the first place!\n\nAlso use the [`!` non-null assertion operator](https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#non-null-assertion-operator) to prevent [`TS2564`](https://github.com/kaorun343/vue-property-decorator/issues/81), that is caused by enabling `strictPropertyInitialization` in `tsconfig.json`.\n\nIf you're on an Ember version below 3.1, you'll want to wrap your service type in [`ComputedProperty`](https://www.emberjs.com/api/ember/release/classes/ComputedProperty), because [native ES5 getters](https://github.com/emberjs/rfcs/blob/master/text/0281-es5-getters.md) are not available there, which means that instead of accessing the service via `this.mySession`, you would have to access it as `this.get('mySession')` or `get(this, 'mySession')`. This means the above code would rather look like:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { get } from '@ember/object';\nimport ComputedProperty from '@ember/object/computed';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service\n  mySession!: ComputedProperty<MySession>;\n\n  login(this: UserProfile, email: string, password: string) {\n    get(this, 'session').login(email, password);\n  }\n}\n```\n\nThis also holds true for all other macros of the ember-decorators addon.\n\n#### Ember Data lookups\n\nWe use the same basic approach for Ember Data type lookups with string keys as we do for service or controller injections. As a result, once you add the module and interface definitions for each model, serializer, and adapter in your app, you will automatically get type-checking and autocompletion and the correct return types for functions like `findRecord`, `queryRecord`, `adapterFor`, `serializerFor`, etc. No need to try to write out those (admittedly kind of hairy!) types; just write your Ember Data calls like normal and everything _should_ just work.\n\nThe declarations and changes you need to add to your existing files are:\n\n- Models\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Model.extend({\n    // attribute declarations here, as usual\n  }) {}\n\n  declare module 'ember-data/types/registries/model' {\n    export default interface ModelRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Adapters\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Adapter {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/adapter' {\n    export default interface AdapterRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Serializers\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Serializer {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/serializer' {\n    export default interface SerializerRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Transforms\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class ColorTransform extends DS.Transform {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/transform' {\n    export default interface TransformRegistry {\n      color: ColorTransform;\n    }\n  }\n  ```\n\nIn addition to the registry, note the oddly defined class for `DS.Model`s. This is because we need to set up the attribute bindings on the prototype (for a discussion of how and why this is different from class properties, see [Typing Your Ember, Update, Part 2][pt2]), but we cannot just use a `const` here because we need a named type—like a class!—to reference in the type registry and elsewhere in the app.\n\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n\n##### Opt-in unsafety\n\nAlso notice that unlike with service and controller injections, there is no unsafe fallback method by default, because there isn't an argument-less variant of the functions to use as there is for `Service` and `Controller` injection. If for some reason you want to opt _out_ of the full type-safe lookup for the strings you pass into methods like `findRecord`, `adapterFor`, and `serializerFor`, you can add these declarations somewhere in your project:\n\n```ts\nimport DS from 'ember-data';\n\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: DS.Model;\n  }\n}\ndeclare module 'ember-data/types/registries/adapter' {\n  export default interface AdapterRegistry {\n    [key: string]: DS.Adapter;\n  }\n}\ndeclare module 'ember-data/types/registries/serializer' {\n  export default interface SerializerRegistry {\n    [key: string]: DS.Serializer;\n  }\n}\n```\n\nHowever, we **_strongly_** recommend that you simply take the time to add the few lines of declarations to each of your `DS.Model`, `DS.Adapter`, and `DS.Serializer` instances instead. It will save you time in even the short run!\n\n##### Fixing the Ember Data `error TS2344` problem\n\nIf you're developing an Ember app or addon and _not_ using Ember Data (and accordingly not even have the Ember Data types installed), you may see an error like this and be confused:\n\n```\nnode_modules/@types/ember-data/index.d.ts(920,56): error TS2344: Type 'any' does not satisfy the constraint 'never'.\n```\n\nThis happens because the types for Ember's _test_ tooling includes the types for Ember Data because the `this` value in several of Ember's test types can include a reference to `DS.Store`.\n\n**The fix:** add a declaration like this in a new file named `ember-data.d.ts` in your `types` directory:\n\n```ts\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: any;\n  }\n}\n```\n\nThis works because (a) we include things in your types directory automatically and (b) TypeScript will merge this module and interface declaration with the main definitions for Ember Data from DefinitelyTyped behind the scenes.\n\nIf you're developing an addon and concerned that this might affect consumers, it won't. Your types directory will never be referenced by consumers at all!\n\n#### Class property setup errors\n\nSome common stumbling blocks for people switching to ES6 classes from the traditional EmberObject setup:\n\n- `Assertion Failed: InjectedProperties should be defined with the inject computed property macros.` – You've written `someService = inject()` in an ES6 class body in Ember 3.1+. Replace it with the `.extend` approach or by using decorators (`@service` or `@controller`) as discussed [above](#service-and-controller-injections). Because computed properties of all sorts, including injections, must be set up on a prototype, _not_ on an instance, if you try to use class properties to set up injections, computed properties, the action hash, and so on, you will see this error.\n\n- `Assertion Failed: Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.` – You failed to pass `...arguments` when you called `super` in e.g. a component class `constructor`. Always do `super(...arguments)`, not just `super()`, in your `constructor`.\n\n### Type definitions outside `node_modules/@types`\n\nBy default, the TypeScript compiler loads all type definitions found in `node_modules/@types`. If the type defs you need are not found there and are not supplied in the root of the package you're referencing, you can register a custom value in `paths` in the `tsconfig.json` file. For example, if you're using [ember-browserify], you're used to writing imports like this:\n\n[ember-browserify]: https://github.com/ef4/ember-browserify\n\n```js\nimport MyModule from 'npm:my-module';\n```\n\nIf `my-module` has types, you will not be able to resolve them this way by default. You can add a simple tweak to your `tsconfig.json` to resolve the types correctly, however, mapping `npm:*` to `node_modules/*`.\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"my-app-name/*\": [\"app/*\"],\n      \"npm:*\": [\"node_modules/*\"]\n    }\n  }\n}\n```\n\n### ember-cli-mirage\n\nMirage adds files from a nonstandard location to your application tree, so you'll need to tell the TypeScript compiler about how that layout works.\n\nFor an app, this should look roughly like:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"my-app-name/mirage/*\": \"mirage/*\",\n    }\n  },\n  \"include\": [\n    \"app\",\n    \"tests\",\n    \"mirage\"\n  ]\n}\n```\n\nAnd for an addon:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"dummy/mirage/*\": \"tests/dummy/mirage/*\",\n    }\n  },\n  \"include\": [\n    \"addon\",\n    \"tests\"\n  ]\n}\n```\n\nNote that if Mirage was present when you installed ember-cli-typescript (or if you run `ember g ember-cli-typescript`), this configuration should be automatically set up for you.\n\n### \"TypeScript is complaining about multiple copies of the same types!\"\n\nYou may sometimes see TypeScript errors indicating that you have duplicate type definitions for Ember, Ember Data, etc. This is usually the result of an annoying quirk of the way both npm and yarn resolve your dependencies in their lockfiles.\n\n#### Just tell me how to fix it\n\nThere are two options here, neither of them _great_:\n\n- manually edit `yarn.lock` or `package-lock.json` and merge the conflicting\n- add a [\"resolutions\"] key to your `package.json` with the version you want to install of the types you're installing:\n\n```json\n{\n  \"resolutions\": {\n    \"**/@types/ember\": \"2.8.15\"\n  }\n}\n```\n\n[\"resolutions\"]: https://yarnpkg.com/lang/en/docs/selective-version-resolutions/\n\n#### Why is this happening?\n\nIf you're using another package which includes these types, and then you trigger an upgrade for your own copy of the type definitions, npm and yarn will both try to preserve the existing installation and simply add a new one for your updated version. In most cases, this is sane behavior, because it prevents transitive dependency breakage hell. However, in the _specific_ case of type definitions, it causes TypeScript to get confused.\n\n## Using ember-cli-typescript with Ember CLI addons\n\nDuring development, your `.ts` files will be watched and rebuilt just like any other sources in your addon when you run `ember serve`, `ember test`, etc.\n\nHowever, in order not to force downstream consumers to install the entire TS build toolchain when they want to use an addon written in TypeScript, ember-cli-typescript is designed to allow you to publish vanilla `.js` files to the npm registry, alongside `.d.ts` declarations so that consumers who _are_ using TypeScript can benefit from it.\n\n### Publishing\n\nThis addon provides two commands to help with publishing your addon: `ember ts:precompile` and `ember ts:clean`. The default `ember-cli-typescript` blueprint will configure your `package.json` to run these commands in the `prepublishOnly` and `postpublish` phases respectively, but you can also run them by hand to verify that the output looks as you expect.\n\nThe `ts:precompile` command will put compiled `.js` files in your `addon` directory and populate the overall structure of your package with `.d.ts` files laid out to match their import paths. For example, `addon/index.ts` would produce `addon/index.js` as well as `index.d.ts` in the root of your package.\n\nThe `ts:clean` command will remove the generated `.js` and `.d.ts` files, leaving your working directory back in a pristine state.\n\n**Note**: While `.ts` files from both the `app` and `addon` directories of your addon will be transpiled by `ts:precompile`, only the declaration files from `addon` will be published. Since the final import paths for `app` files will depend on the name of the consuming application, we can't put those declaration files in a meaningful place.\n\n### Linking Addons\n\nOften when developing an addon, it can be useful to run that addon in the context of some other host app so you can make sure it will integrate the way you expect, e.g. using [`yarn link`](https://yarnpkg.com/en/docs/cli/link#search) or [`npm link`](https://docs.npmjs.com/cli/link).\n\nWhen you do this for a TypeScript addon, by default your `.ts` files won't be consumed by the host app. In order for a linked addon to work, you need to take a few steps:\n\n- ensure `ember-cli-typescript` is installed and set up in the host app\n- override [`isDevelopingAddon()`](https://ember-cli.com/api/classes/Addon.html#method_isDevelopingAddon) in the linked addon to return `true`\n- update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"node_modules/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"node_modules/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"node_modules/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"node_modules/my-addon/app\",\n  \"node_modules/my-addon/addon\"\n]\n```\n\nThis will cause `ember-cli-typescript` in the host app to take over compiling the TS files in the addon as well, automatically rebuilding any time you make a change.\n\n**Note**: remember to remove your `isDevelopingAddon` override before publishing!\n\n### In-Repo Addons\n\n[In-repo addons](https://ember-cli.com/extending/#detailed-list-of-blueprints-and-their-use) work in much the same way as linked ones: their TypeScript compilation is managed by the host app. They have `isDevelopingAddon` return `true` by default, so you only have to update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"lib/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"lib/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"lib/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"lib/my-addon\"\n]\n```\n\n### Gotchas\n\nA few things to look out for when working with TypeScript in addons:\n\n- Normally, addons under development automatically return `true` from their `isDevelopingAddon()` hook, which `ember-cli-typescript` relies on to determine whether to process the addon's `.ts` files. However, if the name field in your `package.json` doesn't match the name in your `index.js`, this default behavior will fail and you'll need to override the method yourself.\n- TypeScript has very particular rules when generating declaration files to avoid letting private types leak out unintentionally. You may find it useful to run `ember ts:precompile` yourself as you're getting a feel for these rules to ensure everything will go smoothly when you publish.\n\n## Installing from git\n\nThis addon uses TypeScript for its own implementation, so if you install `ember-cli-typescript` from git rather than from the npm registry, you won't get compiled `.js` files. To get everything working, you can install `ts-node` as a project dependency, and `ember-cli-typescript` will ensure it's registered correctly to transpile source files as needed.\n\n## Current limitations\n\nWhile TS already works nicely for many things in Ember, there are a number of corners where it _won't_ help you out. Some of them are just a matter of further work on updating the [existing typings]; others are a matter of further support landing in TypeScript itself, or changes to Ember's object model.\n\n[existing typings]: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember\n\nWe are hard at work (and would welcome your help!) [writing new typings][ember-typings] for Ember and the surrounding ecosystem. If you'd like to try those out, please see instructions in [that repo][ember-typings]!\n\n[ember-typings]: https://github.com/typed-ember/ember-typings\n\nHere is the short list of things which do _not_ work yet in the version of the typings published on DefinitelyTyped.\n\n### Some `import`s don't resolve\n\nYou'll frequently see errors for imports which TypeScript doesn't know how to resolve. For example, if you use Ember Concurrency today and try to import its `task` helper:\n\n```typescript\nimport { task } from 'ember-concurrency';\n```\n\nYou'll see an error, because there aren't yet type definitions for it. You may see the same with some addons as well. **These won't stop the build from working;** they just mean TypeScript doesn't know where to find those.\n\nWriting these missing type definitions is a great way to pitch in! Jump in `#e-typescript` on the [Ember Community Discord server](https://discord.gg/zT3asNS) and we'll be happy to help you.\n\n### Type safety when invoking actions\n\nTypeScript won't detect a mismatch between this action and the corresponding call in the template:\n\n```typescript\nEmber.Component.extend({\n  actions: {\n    turnWheel(degrees: number) {\n      // ...\n    },\n  },\n});\n```\n\n```hbs\n<button onclick={{action 'turnWheel' 'NOT-A-NUMBER'}}> Click Me </button>\n```\n\nLikewise, it won't notice a problem when you use the `send` method:\n\n```typescript\n// TypeScript compiler won't detect this type mismatch\nthis.send('turnWheel', 'ALSO-NOT-A-NUMBER');\n```\n","engines":{"node":"6.* || 8.* || >= 10.*"},"gitHead":"231ab92b50f6585e55f39a5bf69861dca9741f55","scripts":{"test":"ember test","build":"ember build","start":"ember serve","ci:test":"ember test && mocha --recursive js/tests","lint:js":"eslint --ext js,ts .","test:all":"ember try:each","test:node":"mocha -r register-ts-node 'ts/tests/**/*.{ts,js}'","ci:prepare":"yarn prepublishOnly && rimraf ts","postpublish":"rimraf js","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.4.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"2.8.13"},"_nodeVersion":"8.11.4","dependencies":{"rsvp":"^4.8.1","debug":"^3.1.0","execa":"^0.9.0","semver":"^5.5.1","resolve":"^1.5.0","fs-extra":"^5.0.0","stagehand":"^1.0.0","walk-sync":"^0.3.2","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"^7.1.0","@babel/plugin-proposal-class-properties":"^7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"co":"^4.6.0","got":"^8.0.0","mocha":"^5.0.0","eslint":"^4.17.0","mktemp":"^0.4.0","rimraf":"^2.6.2","esprima":"^4.0.0","ts-node":"^7.0.1","ember-cli":"~3.5.0","ember-try":"^1.0.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"^4.7.0","qunit-dom":"^0.8.0","testdouble":"^3.5.0","typescript":"^3.1.1","@types/node":"^9.6.5","ember-qunit":"^3.4.1","@types/ember":"2.8.13","@types/qunit":"^2.0.31","ember-source":"~3.5.0","@types/semver":"^5.5.0","ember-cli-sri":"^2.1.1","@types/express":"^4.16.0","@types/resolve":"^0.0.8","ember-resolver":"^5.0.1","ember-cli-babel":"^7.1.2","ember-cli-eslint":"^4.2.3","ember-cli-uglify":"^2.1.0","ember-cli-update":"^0.14.0","@types/console-ui":"^2.2.0","ember-cli-release":"^0.2.9","@types/core-object":"^3.0.0","@types/ember-qunit":"^3.0.1","broccoli-asset-rev":"^2.7.0","ember-cli-htmlbars":"^3.0.0","eslint-plugin-node":"^7.0.1","eslint-plugin-ember":"^5.2.0","ember-cli-app-version":"^3.1.3","ember-load-initializers":"^1.1.0","@ember/optional-features":"^0.6.3","typescript-eslint-parser":"^19.0.2","ember-cli-dependency-checker":"^3.0.0","ember-cli-inject-live-reload":"^2.0.1","ember-maybe-import-regenerator":"^0.1.6","ember-cli-typescript-blueprints":"^1.0.0","ember-export-application-global":"^2.0.0","ember-cli-blueprint-test-helpers":"^0.18.3","ember-disable-prototype-extensions":"^1.1.3","ember-cli-htmlbars-inline-precompile":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_2.0.0-beta.3_1541195898420_0.1332436381830726","host":"s3://npm-registry-packages"}},"2.0.0-rc.1":{"name":"ember-cli-typescript","version":"2.0.0-rc.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@2.0.0-rc.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"f7493a0c32eae20e02c8665310c96a6231b4eee7","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.0-rc.1.tgz","fileCount":39,"integrity":"sha512-5aOtNionv367YwlYTHQel4B+bvv1AyvILOkVYUvS+mLXnqLWJ6vlDtjLzvJfTjX1L0SFJs4w84FZLr57VN3/UA==","signatures":[{"sig":"MEUCIH9QyuWzDtej/BuYVSQ8UlGFyBkTiXAV1tkKEpdaXuK9AiEA8qqfSx4UEluvyZwqne9Xxsd6N2cKtmnOKPgS6hwPqJQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":689157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEuUUCRA9TVsSAnZWagAA8uYP/3IdQBSpPncurcUU8ojP\ntxGVumTH+qUICQ4rTOAUN9fuv8SvjEm5NFHVfhj8F3NKDggyA2mE0siXz312\n3IeDvlm1m3gr+pheHtzqAiVRB6krbsIpf5VjaHsdQ0PlnZlSRuE/EJPQ3uxA\nbDahE2OyupnKYGOcn2luezAdJZqIERU6ww4sh7g3bplImofPLXiXDQzw7GTs\ne/0qlS2xLLgeIqlCuqkg5SSt5+hxdxK/xMcBb0gnnyd+p1AwRHAnj3MlSEXy\nATDO8XfVTipUEz2eF7V7wf1oz4UBVO1zLgk+WYt0nQw9CaKoasa0LOAtz6UA\nW6hPg4N4h5b5U3BFkVsGdoe+mDQQa886PLXTHGi0j4T/vcZkfRmo7Jsk6Cgf\ni1mXEPlT2ER2nIjrXKPkQPGMmsCm5atuTghTBz6AYDc5lKXRpLwdQ+qS+jeK\n6U+Xj6y+ptrdRQvlhIefGNUjT7tTpIPj6JbmQ5JnfNiFDGOqFGGHVsRor4xg\n6QFbhAHXKZmFULOYoE7OrusgXI0JmaZ1ux3H5QSwgp7M1/tr5SQHlDZqSD4r\nTjPZpiCnzbXxDWaMU1Sv40Yz8FYECPGYnRp94Y2h+VoZVfP9DDNL6DNy4yY+\nRXXqukCPBswo7pgEJNkNsNspVz+ctthHrLVZPe0es9tkGNi8jcDwNonwVjrx\nwEAW\r\n=hcL8\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# ember-cli-typescript\n\nUse TypeScript in your Ember 2.x and 3.x apps!\n\n[![*nix build status (master)](https://travis-ci.org/typed-ember/ember-cli-typescript.svg?branch=master)](https://travis-ci.org/typed-ember/ember-cli-typescript) [![Build Status](https://dev.azure.com/typed-ember/ember-cli-typescript/_apis/build/status/typed-ember.ember-cli-typescript)](https://dev.azure.com/typed-ember/ember-cli-typescript/_build/latest?definitionId=2) [![Ember Observer Score](https://emberobserver.com/badges/ember-cli-typescript.svg)](https://emberobserver.com/addons/ember-cli-typescript)\n\n- [Getting Help](#getting-help)\n- [Setup and Configuration](#setup-and-configuration)\n  - [Supported Ember & TypeScript Versions](#supported-ember-and-typescript-versions)\n  - [`tsconfig.json`](#tsconfigjson)\n  - [Sourcemaps](#sourcemaps)\n- [Using TypeScript with Ember effectively](#using-typescript-with-ember-effectively)\n  - [Incremental adoption](#incremental-adoption)\n  - [Install other types!](#install-other-types)\n  - [The `types` directory](#the-types-directory)\n    - [Global types for your package](#global-types-for-your-package)\n    - [Environment configuration typings](#environment-configuration-typings)\n  - [String-keyed lookups](#string-keyed-lookups)\n    - [`this` type workaround](#this-type-workaround)\n    - [Nested keys in `get` or `set`](#nested-keys-in-get-or-set)\n    - [Service and controller injections](#service-and-controller-injections)\n      - [Using `.extend`](#using-extend)\n      - [Using decorators](#using-decorators)\n    - [Ember Data lookups](#ember-data-lookups)\n      - [Opt-in unsafety](#opt-in-unsafety)\n      - [Fixing the Ember Data `error TS2344` problem](#fixing-the-ember-data-error-ts2344-problem)\n  - [Class property setup errors](#class-property-setup-errors)\n  - [Type definitions outside `node_modules/@types`](#type-definitions-outside-node_modulestypes)\n  - [ember-cli-mirage](#ember-cli-mirage)\n  - [\"TypeScript is complaining about multiple copies of the same types\"](#typescript-is-complaining-about-multiple-copies-of-the-same-types)\n    - [Just tell me how to fix it](#just-tell-me-how-to-fix-it)\n    - [Why is this happening?](#why-is-this-happening)\n- [Using ember-cli-typescript with Ember CLI addons](#using-ember-cli-typescript-with-ember-cli-addons)\n  - [Publishing](#publishing)\n  - [Linking Addons](#linking-addons)\n  - [In-Repo Addons](#in-repo-addons)\n  - [Gotchas](#gotchas)\n- [Installing from git](#installing-from-git)\n- [Current limitations](#current-limitations)\n  - [Some `import`s don't resolve](#some-imports-dont-resolve)\n  - [Type safety when invoking actions](#type-safety-when-invoking-actions)\n\n## Getting Help\n\nWhen seeking help, you should first consider what you need, and which aspect of the Ember+TypeScript ecosystem your issue pertains to.\n\n### 💬 Getting Started\n\nWe have a channel (#e-typescript) on the [Ember Community Discord server](https://discordapp.com/invite/zT3asNS) where you can ask about getting started, good resources for self-directed learning and more.\n\n### 📚 Issues With Ember Type Definitions\n\nIf you've found that some of the Ember type information is missing things, or is incorrect in some way, please first ensure you're using the latest version of the [packages this addon installs](#other-packages-this-addon-installs). Although [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript) are not the advised places to report problems, you may find an answer there.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ⚙️ Issues With Adding TypeScript Support To Apps and Addons\n\nIf you run into a problem with the way TypeScript is compiled in Ember apps (i.e., a broccoli error message, incorrect build output, etc...), please first check [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript), as you may find an answer.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ✅ Issues With Static Analysis of TypeScript In Ember Apps and Addons\n\nThe TypeScript compiler does some very basic static analysis of your code, and most developers use Palantir's TSLint tool for more thorough checking.\n\nOne sure way to tell which tool is generating an error message is that _Linters like [TSLint](https://github.com/palantir/tslint/) and [ESLint](https://eslint.org/) will always mention their name, and the name of the pertinent rule, when it alerts you to a violation_.\n\n##### Example:\n\n```\n[tslint] variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)\n```\n\n`variable-name` is the name of the rule.\n\nFor issues relating to typescript compiler analysis, [create an issue in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose). For TSLint-related concerns, please create an issue in the [`ember-cli-tslint`](https://github.com/typed-ember/ember-cli-tslint) project by clicking [here](https://github.com/typed-ember/ember-cli-tslint/issues/new). If you run into issues with using ESLint with Ember, create an issue [here](https://github.com/ember-cli/ember-cli-eslint/issues/new).\n\n## Setup and Configuration\n\nTo install or upgrade the addon, just run:\n\n```\nember install ember-cli-typescript@latest\n```\n\nTo work properly, ember addons must declare this library as a `dependency`, not a `devDependency`. You can \"ember install\" it by running \n\n```\nember install ember-cli-typescript@latest --save\n```\n\nAdditionally, you must be using ember-cli-babel at version 7.1.0 or above (which requires ember-cli 2.13 or above). Once your ember app is running with the cli at 2.13 or higher, you may upgrade ember-cli-babel via\n\n```\nember install ember-cli-babel@^7.1.0\n```\n\nNote: If you are also using ember-decorators (specifically the babel-transform that gets added with it), you will need update @ember-decorators/babel-transforms as well. Anything over 3.1.0 should work\n\n```\nember install ember-decorators@^3.1.0 @ember-decorators/babel-transforms@^3.1.0\n```\n\nAll dependencies will be added to your `package.json`, and you're ready to roll! If you're upgrading from a previous release, you should check to merge any tweaks you've made to `tsconfig.json`.\n\nIn addition to ember-cli-typescript, we make the following changes to your project:\n\n### Other Packages This Addon Installs\n\n- We install the following packages—all at their current \"latest\" value—or generated:\n\n  - [`typescript`](https://github.com/Microsoft/TypeScript)\n  - **@types/ember** ([npm](https://www.npmjs.com/package/@types/ember) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember)) - Types for [Ember.js](https://github.com/emberjs/ember.js) which includes\n    - **@types/ember\\_\\_string** ([npm](https://www.npmjs.com/package/@types/ember__string) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__string)) - types for the [`@ember/string` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fstring)\n    - **@types/ember\\_\\_object** ([npm](https://www.npmjs.com/package/@types/ember__object) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__object)) - types for the [`@ember/object` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fobject)\n    - **@types/ember\\_\\_utils** ([npm](https://www.npmjs.com/package/@types/ember__utils) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__utils)) - types for the [`@ember/utils` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Futils)\n    - **@types/ember\\_\\_array** ([npm](https://www.npmjs.com/package/@types/ember__array) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__array)) - types for the [`@ember/array` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Farray)\n    - **@types/ember\\_\\_component** ([npm](https://www.npmjs.com/package/@types/ember__component) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__component)) - types for the [`@ember/component` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcomponent)\n    - **@types/ember\\_\\_engine** ([npm](https://www.npmjs.com/package/@types/ember__engine) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__engine)) - types for the [`@ember/engine` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fengine)\n    - **@types/ember\\_\\_application** ([npm](https://www.npmjs.com/package/@types/ember__application) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__application)) - types for the [`@ember/application` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fapplication)\n    - **@types/ember\\_\\_controller** ([npm](https://www.npmjs.com/package/@types/ember__controller) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__controller)) - types for the [`@ember/controller` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcontroller)\n    - **@types/ember\\_\\_service** ([npm](https://www.npmjs.com/package/@types/ember__service) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__service)) - types for the [`@ember/service` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fservice)\n    - **@types/ember\\_\\_runloop** ([npm](https://www.npmjs.com/package/@types/ember__runloop) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__runloop)) - types for the [`@ember/runloop` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frunloop)\n    - **@types/ember\\_\\_error** ([npm](https://www.npmjs.com/package/@types/ember__error) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__error)) - types for the [`@ember/error` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ferror)\n    - **@types/ember\\_\\_polyfills** ([npm](https://www.npmjs.com/package/@types/ember__polyfills) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__polyfills)) - types for the [`@ember/polyfills` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fpolyfills)\n    - **@types/ember\\_\\_debug** ([npm](https://www.npmjs.com/package/@types/ember__debug) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__debug)) - types for the [`@ember/debug` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fdebug)\n    - **@types/ember\\_\\_test** ([npm](https://www.npmjs.com/package/@types/ember__test) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test)) - types for the [`@ember/test` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ftest)\n    - **@types/ember\\_\\_routing** ([npm](https://www.npmjs.com/package/@types/ember__routing) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__routing)) - types for the [`@ember/routing` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frouting)\n  - **@types/ember-data** - ([npm](https://www.npmjs.com/package/@types/ember-data) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-data)) - Types for [Ember-Data](https://github.com/emberjs/data)\n  - **@types/rsvp** - ([npm](https://www.npmjs.com/package/@types/rsvp) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rsvp)) - Types for [RSVP.js](https://github.com/tildeio/rsvp.js/)\n  - **@types/ember-test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-test-helpers)) Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers), which arose from [RFC #232](https://github.com/emberjs/rfcs/blob/master/text/0232-simplify-qunit-testing-api.md)\n  - **@types/ember-testing-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-testing-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-testing-helpers)) – Types for [Ember's built-in globally-available test helpers](https://github.com/emberjs/ember.js/tree/master/packages/ember-testing/lib/helpers)\n  - **@types/ember\\_\\_test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember__test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test-helpers)) – Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers) when imported as `@ember/test-helpers`.\n\n### Files this addon Generates\n\n- We add the following files to your project:\n\n  - [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\n  - `types/<app name>/index.d.ts` – the location for any global type declarations you need to write for you own application; see [Global types for your package](#global-types-for-your-package) for information on its default contents and how to use it effectively\n  - `app/config/environment.d.ts` – a basic set of types defined for the contents of the `config/environment.js` file in your app; see [Environment and configuration typings](#environment-and-configuration-typings) for details\n\n### Supported Ember and TypeScript versions\n\nember-cli-typescript runs its test suite against the 2.12 LTS, the 2.16 LTS, the 2.18 LTS, the current release, the beta branch, and the canary branch. It's also in active use in several large applications. Any breakage for upcoming releases _should_ be detected and fixed ahead of those releases, but you can help us guarantee that by running your own Ember.js+TypeScript app with beta and canary turned on and let us know if you run into issues with upcoming Ember.js releases.\n\nThis library supports the current version of TypeScript [![TS Version](https://img.shields.io/github/tag/Microsoft/typescript.svg?label=latest%20typescript%20release)](https://github.com/Microsoft/TypeScript/releases/latest) and at least one previous minor or major release (i.e., if `3.0` is the latest release, we **do** support `3.0.x`, `2.9.x`, and **might** support `2.8` as well).\n\n### `tsconfig.json`\n\nWe generate a good default [`tsconfig.json`][blueprint], which will usually make everything _Just Work™_. In general, you may customize your TypeScript build process as usual using the `tsconfig.json` file.\n\nHowever, there are a few things worth noting if you're already familiar with TypeScript and looking to make further or more advanced customizations (i.e. _most_ users can just ignore this section!):\n\n1. The generated tsconfig file does not set `\"outDir\"` and sets `\"noEmit\"` to `true`. Under the hood, Ember's own invocation of `tsc` _does_ set these, but the default configuration we generate allows you to run editors which use the compiler without creating extraneous `.js` files throughout your codebase, leaving the compilation to ember-cli-typescript to manage.\n\n   You _can_ still customize those properties in `tsconfig.json` if your use case requires it, however. For example, to see the output of the compilation in a separate folder you are welcome to set `\"outDir\"` to some path and set `\"noEmit\"` to `false`. Then tools which use the TypeScript compiler (e.g. the watcher tooling in JetBrains IDEs) will generate files at that location, while the Ember.js/Broccoli pipeline will continue to use its own temp folder.\n\n2. Closely related to the previous point: any changes you do make to `outDir` won't have any effect on how _Ember_ builds your application—we have to pipe everything into Ember CLI via [broccoli], so we override that. In general, everything else works just as you'd expect, though!\n\n3. By default, we target the highest stable version of JavaScript available in the TypeScript compiler, so that you may ship anything from that very code without further modification to browsers that support it all the way back to ES3, in line with the Babel configuration in your app's `config/targets.js`. You can set this target to whatever is appropriate for your application, but we _strongly_ encourage you to leave it set to the highest stable version of JavaScript if you are developing an addon, so that consumers of your addon have full flexibility in this regard.\n\n4. If you make changes to the paths included in or excluded from the build via your `tsconfig.json` (using the `\"include\"`, `\"exclude\"`, or `\"files\"` keys), you will need to restart the server to take the changes into account: ember-cli-typescript does not currently watch the `tsconfig.json` file.\n\n[blueprint]: https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json\n[broccoli]: http://broccolijs.com/\n\n### Sourcemaps\n\nTo enable TypeScript sourcemaps, you'll need to add the corresponding configuration for Babel to your `ember-cli-build.js` file:\n\n```ts\nconst app = new EmberApp(defaults, {\n  babel: {\n    sourceMaps: 'inline',\n  },\n});\n```\n\n(Note that this _will_ noticeably slow down your app rebuilds.)\n\nIf you're updating from an older version of the addon, you may also need to update your `tsconfig.json`. (Current versions generate the correct config at installation.) Either run `ember generate ember-cli-typescript` or verify you have the same sourcemap settings in your `tscsonfig.json` that appear in [the blueprint](https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json).\n\n## Using TypeScript with Ember effectively\n\nIn addition to the points made below, you may find the [Typing Your Ember][typing-your-ember] blog series (especially the \"Update\" sequence) particularly helpful in knowing how to do specific things.\n\n### Incremental adoption\n\nIf you are porting an existing app to TypeScript, you can install this addon and migrate your files incrementally by changing their extensions from `.js` to `.ts`. As TypeScript starts to find errors (and it usually does!), make sure to celebrate your wins – even if they're small! – with your team, especially if some people are not convinced yet. We would also love to hear your stories!\n\nSome specific tips for success on the technical front:\n\n- Use the _strictest_ strictness settings that our typings allow. While it may be tempting to start with the _loosest_ strictness settings and then to tighten them down as you go, this will actually mean that \"getting your app type-checking\" will become a repeated process – getting it type-checking with every new strictness setting you enable! – rather than something you do just once. The only strictness setting you should turn _off_ is `strictFunctionTypes`, which our current type definitions do not support. The recommended _strictness_ settings in your `\"compilerOptions\"` hash:\n\n  ```\n  \"noImplicitAny\": true,\n  \"noImplicitThis\": true,\n  \"alwaysStrict\": true,\n  \"strictNullChecks\": true,\n  \"strictPropertyInitialization\": true,\n  \"noFallthroughCasesInSwitch\": true,\n  \"noUnusedLocals\": true,\n  \"noUnusedParameters\": true,\n  \"noImplicitReturns\": true,\n  ```\n\n- Make liberal use of `any` for things you don't have types for as you go, and come back and fill them in later. This will let you do the strictest strictness settings but with an escape hatch that lets you say \"We will come back to this when we have more idea how to handle it.\"\n\n- A good approach is to start at your \"leaf\" files (the ones that don't import anything else from your app, only Ember types) and then work your way back inward toward the most core types that are used everywhere. Often the highest-value modules are your Ember Data models and any core services that are used everywhere else in the app – and those are also the ones that tend to have the most cascading effects (having to update _tons_ of other places in your app) when you type them later in the process.\n\n- Set `\"noEmitOnError\": true` in the `\"compilerOptions\"` hash in your `tsconfig.json` – it will help a lot if you can be sure that for the parts of your app you _have_ added types to are still correct. And you'll get nice feedback _immediately_ when you have type errors that way!\n\n  ![type errors in your build!](https://user-images.githubusercontent.com/108688/38774630-7d9224d4-403b-11e8-8dbc-87dad977a4c4.gif 'example of a build error during live reload')\n\nYou may find the blog series [\"Typing Your Ember\"][typing-your-ember] helpful as it walks you through not only how to install but how to most effectively use TypeScript in an Ember app today, and gives some important info on the background and roadmap for the project.\n\n[typing-your-ember]: http://www.chriskrycho.com/typing-your-ember.html\n\n### Install other types!\n\nYou'll want to use other type definitions as much as possible. The first thing you should do, for example, is install the types for your testing framework of choice: `@types/ember-mocha` or `@types/ember-qunit`. Beyond that, look for types from other addons: it will mean writing `any` a lot less and getting a lot more help both from your editor and from the compiler.\n\nTo make this easier, we're maintaining [a list of addons with known type definitions][known-typings] either on [Definitely Typed] or as part of the addon itself. (If you know of typings that aren't in that list, please open a pull request to add them!)\n\n[known-typings]: ./known-typings.md\n[definitely typed]: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n### The `types` directory\n\nDuring installation, we create a `types` directory in the root of your application and add a `\"paths\"` mapping that includes that directory in any type lookups TypeScript tries to do. This is convenient for a few things:\n\n- global types for your package (see the next section)\n- writing types for third-party/`vendor` packages which do not have any types\n- developing types for an addon which you intend to upstream later\n\nThese are all fallbacks, of course, you should use the types supplied directly with a package\n\n#### Global types for your package\n\nAt the root of your application or addon, we include a `types/<your app>` directory with an `index.d.ts` file in it. Anything which is part of your application but which must be declared globally can go in this file. For example, if you have data attached to the `Window` object when the page is loaded (for bootstrapping or whatever other reason), this is a good place to declare it.\n\nIn the case of applications (but not for addons), we also automatically include declarations for Ember's prototype extensions in this `index.d.ts` file, with the `Array` prototype extensions enabled and the `Function` prototype extensions commented out. You should configure them to match your own config (which we cannot check during installation). If you are [disabling Ember's prototype extensions][disabling], you can remove these declarations entirely; we include them because they're enabled in most Ember applications today.\n\n[disabling]: https://guides.emberjs.com/v2.18.0/configuring-ember/disabling-prototype-extensions/\n\n#### Environment configuration typings\n\nAlong with the @types/ files mentioned above, ember-cli-typescript adds a starter interface for `config/environment.js` in `app/config/environment.d.ts`. This interface will likely require some changes to match your app.\n\nWe install this file because the actual `config/environment.js` is (a) not actually identical with the types as you inherit them in the content of an application, but rather a superset of what an application has access to, and (b) not in a the same location as the path at which you look it up. The actual `config/environment.js` file executes in Node during the build, and Ember CLI writes its result as `<my-app>/config/environment` into your build for consumption at runtime.\n\n### String-keyed lookups\n\nEmber makes heavy use of string-based APIs to allow for a high degree of dynamicism. With some limitations, you can nonetheless use TypeScript very effectively to get auto-complete/IntelliSense as well as to accurately type-check your applications.\n\nThe \"Update\" sequence in the Typing Your Ember has detailed explanations and guides for getting good type-safety for Ember's string-based APIs, e.g. the use of `get` and `set`, service and controller injection, Ember Data models and lookups\n\n- [Part 1][pt1]: A look at normal Ember objects, \"arguments\" to components (and controllers), and service (or controller) injections.\n- [Part 2][pt2]: Class properties — some notes on how things differ from the `Ember.Object` world.\n- [Part 3][pt3]: Computed properties, actions, mixins, and class methods.\n- [Part 4][pt4]: Using Ember Data, and service and controller injections improvements. (This includes a detailed guide to updating making the service and controller injections and Ember Data lookups behave as described below.)\n\n[pt1]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-1.html\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n[pt3]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-3.html\n[pt4]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-4.html\n\nA few of the most common speed-bumps are listed here to help make this easier:\n\n#### `this` type workaround\n\nOne important note for using `class` types effectively with today's Ember typings: you will (at least for now) need to explicitly write out a `this` type for methods, computed property callbacks, and actions if you are going to use `get` or `set`\n\n```ts\nimport Component from '@ember/component';\n\nexport default class UserProfile extends Component {\n  changeUsername(this: UserProfile, userName: string) {\n    //           ^---------------^\n    // `this` tells TS to use `UserProfile` for `get` and `set` lookups\n  }\n}\n```\n\nThis is a workaround for how incredibly dynamic `Ember.Object` instances are and hopefully will improve over time as we continue to iterate on the type definitions. Again, see [the relevant blog post for details][pt2].\n\n#### Nested keys in `get` or `set`\n\nIn general, `this.get` and `this.set` will work as you'd expect _if_ you're doing lookups only a single layer deep. Things like `this.get('a.b.c')` don't (and can't ever!) type-check; see the blog posts for a more detailed discussion of why.\n\nThe workaround is simply to do one of two things:\n\n1. **The type-safe approach.** This _will_ typecheck, but is both ugly and only works \\*if there are no `null`s or `undefined`s along the way. If `nested` is `null` at runtime, this will crash!\n\n   ```ts\n   import { get } from '@ember/object';\n\n   // -- Type-safe but ugly --//\n   get(get(get(someObject, 'deeply'), 'nested'), 'key');\n   ```\n\n2. **Using `// @ts-ignore`.** This will _not do any type-checking_, but is useful for the cases where you are intentionally checking a path which may be `null` or `undefined` anywhere long it.\n\n   ```ts\n   // @ts-ignore\n   get(someObject, 'deeply.nested.key');\n   ```\n\n   It's usually best to include an explanation of _why_ you're ignoring a lookup!\n\n#### Service and controller injections\n\nEmber does service and controller lookups with the `inject` functions at runtime, using the name of the service or controller being injected up as the default value—a clever bit of metaprogramming that makes for a nice developer experience. TypeScript cannot do this, because the name of the service or controller to inject isn't available at compile time in the same way.\n\nThis means that if you do things the normal Ember way, you will have to specify the type of your service or controller explicitly everywhere you use it. But… where should we put that? If we try to set it up as a [class property], we'll get an error as of Ember 3.1 (and it only accidentally works before that): computed properties and injections must be installed on the prototype.\n\n[class property]: https://basarat.gitbooks.io/typescript/docs/classes.html#property-initializer\n\nThere are two basic approaches we can take. The first uses the `.extend` method in conjunction with class definitions to make sure the injections are set up correctly; the second leans on the still-experimental [Ember Decorators][decorators] project to let us do everything in the class body while still getting the niceties of ES6 classes. The decorators approach is much nicer, and likely to eventually become the standard across Ember in general assuming the decorators spec stabilizes. For today, however, it's an opt-in rather than the default because it remains an experimental extension to the JavaScript standard.\n\n[decorators]: https://github.com/ember-decorators/ember-decorators\n\n##### Using `.extend`\n\nThe officially supported method for injections uses a combination of class body and traditional `EmberObject.extend` functionality. We generate a service like normal by running `ember generate service my-session`. The resulting definition will look like this:\n\n```ts\n// my-app/services/my-session.ts\nimport Service from '@ember/service';\nimport RSVP from 'rsvp';\n\nexport default class MySession extends Service {\n  login(email: string, password: string): RSVP.Promise<string> {\n    // login and return the confirmation message\n  }\n}\n\ndeclare module '@ember/service' {\n  interface Registry {\n    'my-session': MySession;\n  }\n}\n```\n\nYou'll need to add that module and interface declaration to all your existing service and controller declarations for this to work (again, see the [blog post][pt4] for further details), but once you do that, you'll have this much nicer experience throughout! It's not quite vanilla Ember.js, but it's close—and this way, you still get all those type-checking and auto-completion benefits, but with a lot less noise! Moreover, you actually get a significant benefit over \"vanilla\" Ember: we type-check that you typed the key correctly in the `service` invocation.\n\nThen we can use the service as usual:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { inject as service } from '@ember/service';\n\nexport default class UserProfile extends Component.extend({\n  mySession: service('my-session'),\n}) {\n  login(email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNotice that the type of `mySession` will be the `MySession` type here: TypeScript is using the \"registry\" set up in the last lines of the `my-session` module to look up the type by its name. If we had written just `service()` instead, Ember would have resolved the correct type at runtime as usual, but TypeScript would not be able to tell _which_ service we had, only that it was a `Service`. In that case, the `this.session` would not have a `login` property from TS's perspective, and this would fail to type-check. That extra string gives TS the information it needs to resolve the type and give us auto-completion, type-checking, etc.\n\n(In Ember 3.0 or earlier, we would have `this.get('session').login(email, password);` instead.)\n\nAlthough this may look a little strange, everything works correctly. We can use other ES6 class functionality and behaviors (including class properties) as normal; it is just the special Ember pieces which have to be set up on the prototype like this: injections, computed properties, and the `actions` hash.\n\n##### Using decorators\n\nThe alternative here is to use [Ember Decorators][decorators]. In that case, we'd have precisely the same definition for our `MySession` service, but a much cleaner implementation in the component class:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service\n  mySession!: MySession;\n\n  login(this: UserProfile, email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNote that we need the `MySession` type annotation this way, but we _don't_ need the string lookup (unless we're giving the service a different name than the usual on the class, as in Ember injections in general). Without the type annotation, the type of `session` would just be `any`. This is because decorators (as of TS 2.8 – 3.0) are not allowed to modify the types of whatever they decorate. As a result, we wouldn't get any type-checking on that `session.login` call, and we wouldn't get any auto-completion either. Which would be really sad and take away a lot of the reason we're using TypeScript in the first place!\n\nAlso use the [`!` non-null assertion operator](https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#non-null-assertion-operator) to prevent [`TS2564`](https://github.com/kaorun343/vue-property-decorator/issues/81), that is caused by enabling `strictPropertyInitialization` in `tsconfig.json`.\n\nIf you're on an Ember version below 3.1, you'll want to wrap your service type in [`ComputedProperty`](https://www.emberjs.com/api/ember/release/classes/ComputedProperty), because [native ES5 getters](https://github.com/emberjs/rfcs/blob/master/text/0281-es5-getters.md) are not available there, which means that instead of accessing the service via `this.mySession`, you would have to access it as `this.get('mySession')` or `get(this, 'mySession')`. This means the above code would rather look like:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { get } from '@ember/object';\nimport ComputedProperty from '@ember/object/computed';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service\n  mySession!: ComputedProperty<MySession>;\n\n  login(this: UserProfile, email: string, password: string) {\n    get(this, 'session').login(email, password);\n  }\n}\n```\n\nThis also holds true for all other macros of the ember-decorators addon.\n\n#### Ember Data lookups\n\nWe use the same basic approach for Ember Data type lookups with string keys as we do for service or controller injections. As a result, once you add the module and interface definitions for each model, serializer, and adapter in your app, you will automatically get type-checking and autocompletion and the correct return types for functions like `findRecord`, `queryRecord`, `adapterFor`, `serializerFor`, etc. No need to try to write out those (admittedly kind of hairy!) types; just write your Ember Data calls like normal and everything _should_ just work.\n\nThe declarations and changes you need to add to your existing files are:\n\n- Models\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Model.extend({\n    // attribute declarations here, as usual\n  }) {}\n\n  declare module 'ember-data/types/registries/model' {\n    export default interface ModelRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Adapters\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Adapter {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/adapter' {\n    export default interface AdapterRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Serializers\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Serializer {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/serializer' {\n    export default interface SerializerRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Transforms\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class ColorTransform extends DS.Transform {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/transform' {\n    export default interface TransformRegistry {\n      color: ColorTransform;\n    }\n  }\n  ```\n\nIn addition to the registry, note the oddly defined class for `DS.Model`s. This is because we need to set up the attribute bindings on the prototype (for a discussion of how and why this is different from class properties, see [Typing Your Ember, Update, Part 2][pt2]), but we cannot just use a `const` here because we need a named type—like a class!—to reference in the type registry and elsewhere in the app.\n\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n\n##### Opt-in unsafety\n\nAlso notice that unlike with service and controller injections, there is no unsafe fallback method by default, because there isn't an argument-less variant of the functions to use as there is for `Service` and `Controller` injection. If for some reason you want to opt _out_ of the full type-safe lookup for the strings you pass into methods like `findRecord`, `adapterFor`, and `serializerFor`, you can add these declarations somewhere in your project:\n\n```ts\nimport DS from 'ember-data';\n\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: DS.Model;\n  }\n}\ndeclare module 'ember-data/types/registries/adapter' {\n  export default interface AdapterRegistry {\n    [key: string]: DS.Adapter;\n  }\n}\ndeclare module 'ember-data/types/registries/serializer' {\n  export default interface SerializerRegistry {\n    [key: string]: DS.Serializer;\n  }\n}\n```\n\nHowever, we **_strongly_** recommend that you simply take the time to add the few lines of declarations to each of your `DS.Model`, `DS.Adapter`, and `DS.Serializer` instances instead. It will save you time in even the short run!\n\n##### Fixing the Ember Data `error TS2344` problem\n\nIf you're developing an Ember app or addon and _not_ using Ember Data (and accordingly not even have the Ember Data types installed), you may see an error like this and be confused:\n\n```\nnode_modules/@types/ember-data/index.d.ts(920,56): error TS2344: Type 'any' does not satisfy the constraint 'never'.\n```\n\nThis happens because the types for Ember's _test_ tooling includes the types for Ember Data because the `this` value in several of Ember's test types can include a reference to `DS.Store`.\n\n**The fix:** add a declaration like this in a new file named `ember-data.d.ts` in your `types` directory:\n\n```ts\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: any;\n  }\n}\n```\n\nThis works because (a) we include things in your types directory automatically and (b) TypeScript will merge this module and interface declaration with the main definitions for Ember Data from DefinitelyTyped behind the scenes.\n\nIf you're developing an addon and concerned that this might affect consumers, it won't. Your types directory will never be referenced by consumers at all!\n\n#### Class property setup errors\n\nSome common stumbling blocks for people switching to ES6 classes from the traditional EmberObject setup:\n\n- `Assertion Failed: InjectedProperties should be defined with the inject computed property macros.` – You've written `someService = inject()` in an ES6 class body in Ember 3.1+. Replace it with the `.extend` approach or by using decorators (`@service` or `@controller`) as discussed [above](#service-and-controller-injections). Because computed properties of all sorts, including injections, must be set up on a prototype, _not_ on an instance, if you try to use class properties to set up injections, computed properties, the action hash, and so on, you will see this error.\n\n- `Assertion Failed: Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.` – You failed to pass `...arguments` when you called `super` in e.g. a component class `constructor`. Always do `super(...arguments)`, not just `super()`, in your `constructor`.\n\n### Type definitions outside `node_modules/@types`\n\nBy default, the TypeScript compiler loads all type definitions found in `node_modules/@types`. If the type defs you need are not found there and are not supplied in the root of the package you're referencing, you can register a custom value in `paths` in the `tsconfig.json` file. For example, if you're using [ember-browserify], you're used to writing imports like this:\n\n[ember-browserify]: https://github.com/ef4/ember-browserify\n\n```js\nimport MyModule from 'npm:my-module';\n```\n\nIf `my-module` has types, you will not be able to resolve them this way by default. You can add a simple tweak to your `tsconfig.json` to resolve the types correctly, however, mapping `npm:*` to `node_modules/*`.\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"my-app-name/*\": [\"app/*\"],\n      \"npm:*\": [\"node_modules/*\"]\n    }\n  }\n}\n```\n\n### ember-cli-mirage\n\nMirage adds files from a nonstandard location to your application tree, so you'll need to tell the TypeScript compiler about how that layout works.\n\nFor an app, this should look roughly like:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"my-app-name/mirage/*\": \"mirage/*\",\n    }\n  },\n  \"include\": [\n    \"app\",\n    \"tests\",\n    \"mirage\"\n  ]\n}\n```\n\nAnd for an addon:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"dummy/mirage/*\": \"tests/dummy/mirage/*\",\n    }\n  },\n  \"include\": [\n    \"addon\",\n    \"tests\"\n  ]\n}\n```\n\nNote that if Mirage was present when you installed ember-cli-typescript (or if you run `ember g ember-cli-typescript`), this configuration should be automatically set up for you.\n\n### \"TypeScript is complaining about multiple copies of the same types!\"\n\nYou may sometimes see TypeScript errors indicating that you have duplicate type definitions for Ember, Ember Data, etc. This is usually the result of an annoying quirk of the way both npm and yarn resolve your dependencies in their lockfiles.\n\n#### Just tell me how to fix it\n\nThere are two options here, neither of them _great_:\n\n- manually edit `yarn.lock` or `package-lock.json` and merge the conflicting\n- add a [\"resolutions\"] key to your `package.json` with the version you want to install of the types you're installing:\n\n```json\n{\n  \"resolutions\": {\n    \"**/@types/ember\": \"2.8.15\"\n  }\n}\n```\n\n[\"resolutions\"]: https://yarnpkg.com/lang/en/docs/selective-version-resolutions/\n\n#### Why is this happening?\n\nIf you're using another package which includes these types, and then you trigger an upgrade for your own copy of the type definitions, npm and yarn will both try to preserve the existing installation and simply add a new one for your updated version. In most cases, this is sane behavior, because it prevents transitive dependency breakage hell. However, in the _specific_ case of type definitions, it causes TypeScript to get confused.\n\n## Using ember-cli-typescript with Ember CLI addons\n\nDuring development, your `.ts` files will be watched and rebuilt just like any other sources in your addon when you run `ember serve`, `ember test`, etc.\n\nHowever, in order not to force downstream consumers to install the entire TS build toolchain when they want to use an addon written in TypeScript, ember-cli-typescript is designed to allow you to publish vanilla `.js` files to the npm registry, alongside `.d.ts` declarations so that consumers who _are_ using TypeScript can benefit from it.\n\n### Publishing\n\nThis addon provides two commands to help with publishing your addon: `ember ts:precompile` and `ember ts:clean`. The default `ember-cli-typescript` blueprint will configure your `package.json` to run these commands in the `prepublishOnly` and `postpublish` phases respectively, but you can also run them by hand to verify that the output looks as you expect.\n\nThe `ts:precompile` command will put compiled `.js` files in your `addon` directory and populate the overall structure of your package with `.d.ts` files laid out to match their import paths. For example, `addon/index.ts` would produce `addon/index.js` as well as `index.d.ts` in the root of your package.\n\nThe `ts:clean` command will remove the generated `.js` and `.d.ts` files, leaving your working directory back in a pristine state.\n\n**Note**: While `.ts` files from both the `app` and `addon` directories of your addon will be transpiled by `ts:precompile`, only the declaration files from `addon` will be published. Since the final import paths for `app` files will depend on the name of the consuming application, we can't put those declaration files in a meaningful place.\n\n### Linking Addons\n\nOften when developing an addon, it can be useful to run that addon in the context of some other host app so you can make sure it will integrate the way you expect, e.g. using [`yarn link`](https://yarnpkg.com/en/docs/cli/link#search) or [`npm link`](https://docs.npmjs.com/cli/link).\n\nWhen you do this for a TypeScript addon, by default your `.ts` files won't be consumed by the host app. In order for a linked addon to work, you need to take a few steps:\n\n- ensure `ember-cli-typescript` is installed and set up in the host app\n- override [`isDevelopingAddon()`](https://ember-cli.com/api/classes/Addon.html#method_isDevelopingAddon) in the linked addon to return `true`\n- update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"node_modules/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"node_modules/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"node_modules/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"node_modules/my-addon/app\",\n  \"node_modules/my-addon/addon\"\n]\n```\n\nThis will cause `ember-cli-typescript` in the host app to take over compiling the TS files in the addon as well, automatically rebuilding any time you make a change.\n\n**Note**: remember to remove your `isDevelopingAddon` override before publishing!\n\n### In-Repo Addons\n\n[In-repo addons](https://ember-cli.com/extending/#detailed-list-of-blueprints-and-their-use) work in much the same way as linked ones: their TypeScript compilation is managed by the host app. They have `isDevelopingAddon` return `true` by default, so you only have to update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"lib/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"lib/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"lib/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"lib/my-addon\"\n]\n```\n\n### Gotchas\n\nA few things to look out for when working with TypeScript in addons:\n\n- Normally, addons under development automatically return `true` from their `isDevelopingAddon()` hook, which `ember-cli-typescript` relies on to determine whether to process the addon's `.ts` files. However, if the name field in your `package.json` doesn't match the name in your `index.js`, this default behavior will fail and you'll need to override the method yourself.\n- TypeScript has very particular rules when generating declaration files to avoid letting private types leak out unintentionally. You may find it useful to run `ember ts:precompile` yourself as you're getting a feel for these rules to ensure everything will go smoothly when you publish.\n\n## Installing from git\n\nThis addon uses TypeScript for its own implementation, so if you install `ember-cli-typescript` from git rather than from the npm registry, you won't get compiled `.js` files. To get everything working, you can install `ts-node` as a project dependency, and `ember-cli-typescript` will ensure it's registered correctly to transpile source files as needed.\n\n## Current limitations\n\nWhile TS already works nicely for many things in Ember, there are a number of corners where it _won't_ help you out. Some of them are just a matter of further work on updating the [existing typings]; others are a matter of further support landing in TypeScript itself, or changes to Ember's object model.\n\n[existing typings]: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember\n\nWe are hard at work (and would welcome your help!) [writing new typings][ember-typings] for Ember and the surrounding ecosystem. If you'd like to try those out, please see instructions in [that repo][ember-typings]!\n\n[ember-typings]: https://github.com/typed-ember/ember-typings\n\nHere is the short list of things which do _not_ work yet in the version of the typings published on DefinitelyTyped.\n\n### Some `import`s don't resolve\n\nYou'll frequently see errors for imports which TypeScript doesn't know how to resolve. For example, if you use Ember Concurrency today and try to import its `task` helper:\n\n```typescript\nimport { task } from 'ember-concurrency';\n```\n\nYou'll see an error, because there aren't yet type definitions for it. You may see the same with some addons as well. **These won't stop the build from working;** they just mean TypeScript doesn't know where to find those.\n\nWriting these missing type definitions is a great way to pitch in! Jump in `#e-typescript` on the [Ember Community Discord server](https://discord.gg/zT3asNS) and we'll be happy to help you.\n\n### Type safety when invoking actions\n\nTypeScript won't detect a mismatch between this action and the corresponding call in the template:\n\n```typescript\nEmber.Component.extend({\n  actions: {\n    turnWheel(degrees: number) {\n      // ...\n    },\n  },\n});\n```\n\n```hbs\n<button onclick={{action 'turnWheel' 'NOT-A-NUMBER'}}> Click Me </button>\n```\n\nLikewise, it won't notice a problem when you use the `send` method:\n\n```typescript\n// TypeScript compiler won't detect this type mismatch\nthis.send('turnWheel', 'ALSO-NOT-A-NUMBER');\n```\n","engines":{"node":"6.* || 8.* || >= 10.*"},"gitHead":"e3bf6d119809884f2e0bbe0cef41c7a12f274836","scripts":{"test":"ember test","build":"ember build","start":"ember serve","ci:test":"ember test && mocha --recursive js/tests","lint:js":"eslint --ext js,ts .","test:all":"ember try:each","test:node":"mocha -r register-ts-node ts/tests/**/*.{ts,js}","ci:prepare":"yarn prepublishOnly && rimraf ts","postpublish":"rimraf js","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.4.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"3.0.25"},"_nodeVersion":"8.11.4","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^1.0.0","semver":"^5.5.1","resolve":"^1.5.0","fs-extra":"^7.0.0","stagehand":"^1.0.0","walk-sync":"^1.0.0","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"^7.1.0","@babel/plugin-proposal-class-properties":"^7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"co":"4.6.0","got":"8.3.2","mocha":"5.2.0","eslint":"5.10.0","mktemp":"0.4.0","rimraf":"2.6.2","esprima":"4.0.1","ts-node":"7.0.1","ember-cli":"3.6.0","ember-try":"1.1.0","fixturify":"0.3.4","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.8.3","testdouble":"3.9.1","typescript":"3.2.1","@types/chai":"4.1.7","@types/node":"9.6.40","ember-qunit":"4.1.2","@types/debug":"0.0.31","@types/ember":"3.0.25","@types/execa":"0.9.0","@types/mocha":"5.2.5","@types/qunit":"2.5.3","ember-source":"3.6.0","@types/semver":"5.5.0","ember-cli-sri":"2.1.1","@types/express":"4.16.0","@types/resolve":"0.0.8","ember-resolver":"5.0.1","@types/fs-extra":"5.0.4","ember-cli-babel":"7.2.0","ember-cli-eslint":"5.0.0","ember-cli-uglify":"2.1.0","ember-cli-update":"0.27.3","@types/console-ui":"2.2.0","ember-cli-release":"0.2.9","@types/core-object":"3.0.0","@types/ember-qunit":"3.4.3","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"3.0.1","eslint-plugin-node":"8.0.0","eslint-plugin-ember":"6.0.1","ember-cli-app-version":"3.2.0","ember-load-initializers":"2.0.0","@ember/optional-features":"0.7.0","typescript-eslint-parser":"21.0.2","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.0.0","ember-cli-inject-live-reload":"2.0.1","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"1.2.0","ember-export-application-global":"2.0.0","ember-cli-blueprint-test-helpers":"0.19.1","ember-disable-prototype-extensions":"1.1.3","ember-cli-htmlbars-inline-precompile":"2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_2.0.0-rc.1_1544742163444_0.9789878117996973","host":"s3://npm-registry-packages"}},"2.0.0-rc.2":{"name":"ember-cli-typescript","version":"2.0.0-rc.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@2.0.0-rc.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"d8253097279ed292c20e739ee72f8fb994dbb6b7","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.0-rc.2.tgz","fileCount":39,"integrity":"sha512-u4mhdt/R0ip5s1H93aXtGJ/tnZ/3LsIOhKmaPylvlAVW/HtgPk+j/9sFHT4YmFUKMWPP2gXExtDkYNbz81XWzw==","signatures":[{"sig":"MEYCIQCVrMJA37I+k2ZTLMY5IuC9MdPefVGhRC6mgrRyykHPrAIhAKJUtUsFm3F1OjxTHP0VfeVILoVUGlGK/96dRSXb3M9i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":691695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcM9LtCRA9TVsSAnZWagAAo9UQAJRLEhxzjENG+gQKI6Ii\nFGb8VMx29W4U/KJfRcDItHt4LcO+Wt4z7v+/FXIooGfMkJs1xreYet35VgPp\nEoFGsbzy+1u+Nboj8hbLQdDPXbDbdTu5CTY4KsPSPd57/YnOPDsFepn8kPEq\nd9LT+pNRVjDiqC8LE//ySabhgYNasfusha6qSQiaGgbwiHaQzg5pX/3rcO3U\nG7SA7aMN4Zz43V9+7gC5iTPputERgGsVFRuPqHtE1oi/OxBDQ5sMzz1HrUmA\nPCVus8hg8k3SeaQpR3crBo49ahqp/k3tPk6xru/sKyUQhBXyIbWeXwPYKnBN\nO1r3N0o7p8zayOykY3HhCqWhqMlzxNsrYzyxXtPaf9HlWVO+2zb0FbJNpZoq\nhUC+CfZ9ZoYHgmd58QBsORPf8ntRY9Bke+qZzl/hLk3m/9o2T7f+XqSZJNNb\noO+j0ZrBeQBYQyUiWfGeGZMg13wPVMOkAQ8DCTUrJkfcy+TH9QClIiGJ/huN\ngixxJY+ipsMgiZgjoGiulJXoxE6aJoaWa0PpbiOAp6wv+N5ZpOJQX5eSJh27\nUrWvTA6oj/Pkp8i/PG4FXlxyDU5XaMgVHea/Pcav3pDBZLU+/pjucZWDQflU\n3y8VoEJGO9e1SPZZESG6l/9xqdejtn4nUeaQ8ycOqC/6ty/E4adtvctKg3Ab\nCXb5\r\n=Z9Db\r\n-----END PGP SIGNATURE-----\r\n"},"readme":"# ember-cli-typescript\n\nUse TypeScript in your Ember 2.x and 3.x apps!\n\n[![*nix build status (master)](https://travis-ci.org/typed-ember/ember-cli-typescript.svg?branch=master)](https://travis-ci.org/typed-ember/ember-cli-typescript) [![Build Status](https://dev.azure.com/typed-ember/ember-cli-typescript/_apis/build/status/typed-ember.ember-cli-typescript)](https://dev.azure.com/typed-ember/ember-cli-typescript/_build/latest?definitionId=2) [![Ember Observer Score](https://emberobserver.com/badges/ember-cli-typescript.svg)](https://emberobserver.com/addons/ember-cli-typescript)\n\n- [Getting Help](#getting-help)\n- [Setup and Configuration](#setup-and-configuration)\n  - [Supported Ember & TypeScript Versions](#supported-ember-and-typescript-versions)\n  - [`tsconfig.json`](#tsconfigjson)\n  - [Sourcemaps](#sourcemaps)\n- [Using TypeScript with Ember effectively](#using-typescript-with-ember-effectively)\n  - [Incremental adoption](#incremental-adoption)\n  - [Install other types!](#install-other-types)\n  - [The `types` directory](#the-types-directory)\n    - [Global types for your package](#global-types-for-your-package)\n    - [Environment configuration typings](#environment-configuration-typings)\n  - [String-keyed lookups](#string-keyed-lookups)\n    - [`this` type workaround](#this-type-workaround)\n    - [Nested keys in `get` or `set`](#nested-keys-in-get-or-set)\n    - [Service and controller injections](#service-and-controller-injections)\n      - [Using `.extend`](#using-extend)\n      - [Using decorators](#using-decorators)\n    - [Ember Data lookups](#ember-data-lookups)\n      - [Opt-in unsafety](#opt-in-unsafety)\n      - [Fixing the Ember Data `error TS2344` problem](#fixing-the-ember-data-error-ts2344-problem)\n  - [Class property setup errors](#class-property-setup-errors)\n  - [Type definitions outside `node_modules/@types`](#type-definitions-outside-node_modulestypes)\n  - [ember-cli-mirage](#ember-cli-mirage)\n  - [\"TypeScript is complaining about multiple copies of the same types\"](#typescript-is-complaining-about-multiple-copies-of-the-same-types)\n    - [Just tell me how to fix it](#just-tell-me-how-to-fix-it)\n    - [Why is this happening?](#why-is-this-happening)\n- [Using ember-cli-typescript with Ember CLI addons](#using-ember-cli-typescript-with-ember-cli-addons)\n  - [Publishing](#publishing)\n  - [Linking Addons](#linking-addons)\n  - [In-Repo Addons](#in-repo-addons)\n  - [Gotchas](#gotchas)\n- [Installing from git](#installing-from-git)\n- [Current limitations](#current-limitations)\n  - [Some `import`s don't resolve](#some-imports-dont-resolve)\n  - [Type safety when invoking actions](#type-safety-when-invoking-actions)\n\n## Getting Help\n\nWhen seeking help, you should first consider what you need, and which aspect of the Ember+TypeScript ecosystem your issue pertains to.\n\n### 💬 Getting Started\n\nWe have a channel (#e-typescript) on the [Ember Community Discord server](https://discordapp.com/invite/zT3asNS) where you can ask about getting started, good resources for self-directed learning and more.\n\n### 📚 Issues With Ember Type Definitions\n\nIf you've found that some of the Ember type information is missing things, or is incorrect in some way, please first ensure you're using the latest version of the [packages this addon installs](#other-packages-this-addon-installs). Although [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript) are not the advised places to report problems, you may find an answer there.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ⚙️ Issues With Adding TypeScript Support To Apps and Addons\n\nIf you run into a problem with the way TypeScript is compiled in Ember apps (i.e., a broccoli error message, incorrect build output, etc...), please first check [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript), as you may find an answer.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ✅ Issues With Static Analysis of TypeScript In Ember Apps and Addons\n\nThe TypeScript compiler does some very basic static analysis of your code, and most developers use Palantir's TSLint tool for more thorough checking.\n\nOne sure way to tell which tool is generating an error message is that _Linters like [TSLint](https://github.com/palantir/tslint/) and [ESLint](https://eslint.org/) will always mention their name, and the name of the pertinent rule, when it alerts you to a violation_.\n\n##### Example:\n\n```\n[tslint] variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)\n```\n\n`variable-name` is the name of the rule.\n\nFor issues relating to typescript compiler analysis, [create an issue in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose). For TSLint-related concerns, please create an issue in the [`ember-cli-tslint`](https://github.com/typed-ember/ember-cli-tslint) project by clicking [here](https://github.com/typed-ember/ember-cli-tslint/issues/new). If you run into issues with using ESLint with Ember, create an issue [here](https://github.com/ember-cli/ember-cli-eslint/issues/new).\n\n## Setup and Configuration\n\nTo install or upgrade the addon, just run:\n\n```\nember install ember-cli-typescript@next\n```\n\nTo work properly, ember addons must declare this library as a `dependency`, not a `devDependency`. You can \"ember install\" it by running \n\n```\nember install ember-cli-typescript@next --save\n```\n\nAdditionally, you must be using ember-cli-babel at version 7.1.0 or above (which requires ember-cli 2.13 or above). Once your ember app is running with the cli at 2.13 or higher, you may upgrade ember-cli-babel via\n\n```\nember install ember-cli-babel@^7.1.0\n```\n\nNote: If you are also using ember-decorators (specifically the babel-transform that gets added with it), you will need update @ember-decorators/babel-transforms as well. Anything over 3.1.0 should work\n\n```\nember install ember-decorators@^3.1.0 @ember-decorators/babel-transforms@^3.1.0\n```\n\nAll dependencies will be added to your `package.json`, and you're ready to roll! If you're upgrading from a previous release, you should check to merge any tweaks you've made to `tsconfig.json`.\n\nIn addition to ember-cli-typescript, we make the following changes to your project:\n\n### Other Packages This Addon Installs\n\n- We install the following packages—all at their current \"latest\" value—or generated:\n\n  - [`typescript`](https://github.com/Microsoft/TypeScript)\n  - **@types/ember** ([npm](https://www.npmjs.com/package/@types/ember) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember)) - Types for [Ember.js](https://github.com/emberjs/ember.js) which includes\n    - **@types/ember\\_\\_string** ([npm](https://www.npmjs.com/package/@types/ember__string) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__string)) - types for the [`@ember/string` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fstring)\n    - **@types/ember\\_\\_object** ([npm](https://www.npmjs.com/package/@types/ember__object) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__object)) - types for the [`@ember/object` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fobject)\n    - **@types/ember\\_\\_utils** ([npm](https://www.npmjs.com/package/@types/ember__utils) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__utils)) - types for the [`@ember/utils` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Futils)\n    - **@types/ember\\_\\_array** ([npm](https://www.npmjs.com/package/@types/ember__array) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__array)) - types for the [`@ember/array` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Farray)\n    - **@types/ember\\_\\_component** ([npm](https://www.npmjs.com/package/@types/ember__component) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__component)) - types for the [`@ember/component` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcomponent)\n    - **@types/ember\\_\\_engine** ([npm](https://www.npmjs.com/package/@types/ember__engine) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__engine)) - types for the [`@ember/engine` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fengine)\n    - **@types/ember\\_\\_application** ([npm](https://www.npmjs.com/package/@types/ember__application) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__application)) - types for the [`@ember/application` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fapplication)\n    - **@types/ember\\_\\_controller** ([npm](https://www.npmjs.com/package/@types/ember__controller) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__controller)) - types for the [`@ember/controller` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fcontroller)\n    - **@types/ember\\_\\_service** ([npm](https://www.npmjs.com/package/@types/ember__service) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__service)) - types for the [`@ember/service` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fservice)\n    - **@types/ember\\_\\_runloop** ([npm](https://www.npmjs.com/package/@types/ember__runloop) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__runloop)) - types for the [`@ember/runloop` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frunloop)\n    - **@types/ember\\_\\_error** ([npm](https://www.npmjs.com/package/@types/ember__error) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__error)) - types for the [`@ember/error` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ferror)\n    - **@types/ember\\_\\_polyfills** ([npm](https://www.npmjs.com/package/@types/ember__polyfills) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__polyfills)) - types for the [`@ember/polyfills` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fpolyfills)\n    - **@types/ember\\_\\_debug** ([npm](https://www.npmjs.com/package/@types/ember__debug) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__debug)) - types for the [`@ember/debug` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Fdebug)\n    - **@types/ember\\_\\_test** ([npm](https://www.npmjs.com/package/@types/ember__test) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test)) - types for the [`@ember/test` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Ftest)\n    - **@types/ember\\_\\_routing** ([npm](https://www.npmjs.com/package/@types/ember__routing) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__routing)) - types for the [`@ember/routing` package](https://www.emberjs.com/api/ember/3.4/modules/@ember%2Frouting)\n  - **@types/ember-data** - ([npm](https://www.npmjs.com/package/@types/ember-data) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-data)) - Types for [Ember-Data](https://github.com/emberjs/data)\n  - **@types/rsvp** - ([npm](https://www.npmjs.com/package/@types/rsvp) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rsvp)) - Types for [RSVP.js](https://github.com/tildeio/rsvp.js/)\n  - **@types/ember-test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-test-helpers)) Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers), which arose from [RFC #232](https://github.com/emberjs/rfcs/blob/master/text/0232-simplify-qunit-testing-api.md)\n  - **@types/ember-testing-helpers** - ([npm](https://www.npmjs.com/package/@types/ember-testing-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember-testing-helpers)) – Types for [Ember's built-in globally-available test helpers](https://github.com/emberjs/ember.js/tree/master/packages/ember-testing/lib/helpers)\n  - **@types/ember\\_\\_test-helpers** - ([npm](https://www.npmjs.com/package/@types/ember__test-helpers) | [source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember__test-helpers)) – Types for [ember-test-helpers](https://github.com/emberjs/ember-test-helpers) when imported as `@ember/test-helpers`.\n\n### Files this addon Generates\n\n- We add the following files to your project:\n\n  - [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)\n  - `types/<app name>/index.d.ts` – the location for any global type declarations you need to write for you own application; see [Global types for your package](#global-types-for-your-package) for information on its default contents and how to use it effectively\n  - `app/config/environment.d.ts` – a basic set of types defined for the contents of the `config/environment.js` file in your app; see [Environment and configuration typings](#environment-and-configuration-typings) for details\n\n### Supported Ember and TypeScript versions\n\nember-cli-typescript runs its test suite against the 2.12 LTS, the 2.16 LTS, the 2.18 LTS, the current release, the beta branch, and the canary branch. It's also in active use in several large applications. Any breakage for upcoming releases _should_ be detected and fixed ahead of those releases, but you can help us guarantee that by running your own Ember.js+TypeScript app with beta and canary turned on and let us know if you run into issues with upcoming Ember.js releases.\n\nThis library supports the current version of TypeScript [![TS Version](https://img.shields.io/github/tag/Microsoft/typescript.svg?label=latest%20typescript%20release)](https://github.com/Microsoft/TypeScript/releases/latest) and at least one previous minor or major release (i.e., if `3.0` is the latest release, we **do** support `3.0.x`, `2.9.x`, and **might** support `2.8` as well).\n\n### `tsconfig.json`\n\nWe generate a good default [`tsconfig.json`][blueprint], which will usually make everything _Just Work™_. In general, you may customize your TypeScript build process as usual using the `tsconfig.json` file.\n\nHowever, there are a few things worth noting if you're already familiar with TypeScript and looking to make further or more advanced customizations (i.e. _most_ users can just ignore this section!):\n\n1. The generated tsconfig file does not set `\"outDir\"` and sets `\"noEmit\"` to `true`. Under the hood, Ember's own invocation of `tsc` _does_ set these, but the default configuration we generate allows you to run editors which use the compiler without creating extraneous `.js` files throughout your codebase, leaving the compilation to ember-cli-typescript to manage.\n\n   You _can_ still customize those properties in `tsconfig.json` if your use case requires it, however. For example, to see the output of the compilation in a separate folder you are welcome to set `\"outDir\"` to some path and set `\"noEmit\"` to `false`. Then tools which use the TypeScript compiler (e.g. the watcher tooling in JetBrains IDEs) will generate files at that location, while the Ember.js/Broccoli pipeline will continue to use its own temp folder.\n\n2. Closely related to the previous point: any changes you do make to `outDir` won't have any effect on how _Ember_ builds your application—we have to pipe everything into Ember CLI via [broccoli], so we override that. In general, everything else works just as you'd expect, though!\n\n3. By default, we target the highest stable version of JavaScript available in the TypeScript compiler, so that you may ship anything from that very code without further modification to browsers that support it all the way back to ES3, in line with the Babel configuration in your app's `config/targets.js`. You can set this target to whatever is appropriate for your application, but we _strongly_ encourage you to leave it set to the highest stable version of JavaScript if you are developing an addon, so that consumers of your addon have full flexibility in this regard.\n\n4. If you make changes to the paths included in or excluded from the build via your `tsconfig.json` (using the `\"include\"`, `\"exclude\"`, or `\"files\"` keys), you will need to restart the server to take the changes into account: ember-cli-typescript does not currently watch the `tsconfig.json` file.\n\n[blueprint]: https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json\n[broccoli]: http://broccolijs.com/\n\n### Sourcemaps\n\nTo enable TypeScript sourcemaps, you'll need to add the corresponding configuration for Babel to your `ember-cli-build.js` file:\n\n```ts\nconst app = new EmberApp(defaults, {\n  babel: {\n    sourceMaps: 'inline',\n  },\n});\n```\n\n(Note that this _will_ noticeably slow down your app rebuilds.)\n\nIf you're updating from an older version of the addon, you may also need to update your `tsconfig.json`. (Current versions generate the correct config at installation.) Either run `ember generate ember-cli-typescript` or verify you have the same sourcemap settings in your `tscsonfig.json` that appear in [the blueprint](https://github.com/typed-ember/ember-cli-typescript/blob/master/blueprints/ember-cli-typescript/files/tsconfig.json).\n\n## Using TypeScript with Ember effectively\n\nIn addition to the points made below, you may find the [Typing Your Ember][typing-your-ember] blog series (especially the \"Update\" sequence) particularly helpful in knowing how to do specific things.\n\n### Incremental adoption\n\nIf you are porting an existing app to TypeScript, you can install this addon and migrate your files incrementally by changing their extensions from `.js` to `.ts`. As TypeScript starts to find errors (and it usually does!), make sure to celebrate your wins – even if they're small! – with your team, especially if some people are not convinced yet. We would also love to hear your stories!\n\nSome specific tips for success on the technical front:\n\n- Use the _strictest_ strictness settings that our typings allow. While it may be tempting to start with the _loosest_ strictness settings and then to tighten them down as you go, this will actually mean that \"getting your app type-checking\" will become a repeated process – getting it type-checking with every new strictness setting you enable! – rather than something you do just once. The only strictness setting you should turn _off_ is `strictFunctionTypes`, which our current type definitions do not support. The recommended _strictness_ settings in your `\"compilerOptions\"` hash:\n\n  ```\n  \"noImplicitAny\": true,\n  \"noImplicitThis\": true,\n  \"alwaysStrict\": true,\n  \"strictNullChecks\": true,\n  \"strictPropertyInitialization\": true,\n  \"noFallthroughCasesInSwitch\": true,\n  \"noUnusedLocals\": true,\n  \"noUnusedParameters\": true,\n  \"noImplicitReturns\": true,\n  ```\n\n- Make liberal use of `any` for things you don't have types for as you go, and come back and fill them in later. This will let you do the strictest strictness settings but with an escape hatch that lets you say \"We will come back to this when we have more idea how to handle it.\"\n\n- A good approach is to start at your \"leaf\" files (the ones that don't import anything else from your app, only Ember types) and then work your way back inward toward the most core types that are used everywhere. Often the highest-value modules are your Ember Data models and any core services that are used everywhere else in the app – and those are also the ones that tend to have the most cascading effects (having to update _tons_ of other places in your app) when you type them later in the process.\n\n- Set `\"noEmitOnError\": true` in the `\"compilerOptions\"` hash in your `tsconfig.json` – it will help a lot if you can be sure that for the parts of your app you _have_ added types to are still correct. And you'll get nice feedback _immediately_ when you have type errors that way!\n\n  ![type errors in your build!](https://user-images.githubusercontent.com/108688/38774630-7d9224d4-403b-11e8-8dbc-87dad977a4c4.gif 'example of a build error during live reload')\n\nYou may find the blog series [\"Typing Your Ember\"][typing-your-ember] helpful as it walks you through not only how to install but how to most effectively use TypeScript in an Ember app today, and gives some important info on the background and roadmap for the project.\n\n[typing-your-ember]: http://www.chriskrycho.com/typing-your-ember.html\n\n### Install other types!\n\nYou'll want to use other type definitions as much as possible. The first thing you should do, for example, is install the types for your testing framework of choice: `@types/ember-mocha` or `@types/ember-qunit`. Beyond that, look for types from other addons: it will mean writing `any` a lot less and getting a lot more help both from your editor and from the compiler.\n\nTo make this easier, we're maintaining [a list of addons with known type definitions][known-typings] either on [Definitely Typed] or as part of the addon itself. (If you know of typings that aren't in that list, please open a pull request to add them!)\n\n[known-typings]: ./known-typings.md\n[definitely typed]: https://github.com/DefinitelyTyped/DefinitelyTyped\n\n### The `types` directory\n\nDuring installation, we create a `types` directory in the root of your application and add a `\"paths\"` mapping that includes that directory in any type lookups TypeScript tries to do. This is convenient for a few things:\n\n- global types for your package (see the next section)\n- writing types for third-party/`vendor` packages which do not have any types\n- developing types for an addon which you intend to upstream later\n\nThese are all fallbacks, of course, you should use the types supplied directly with a package\n\n#### Global types for your package\n\nAt the root of your application or addon, we include a `types/<your app>` directory with an `index.d.ts` file in it. Anything which is part of your application but which must be declared globally can go in this file. For example, if you have data attached to the `Window` object when the page is loaded (for bootstrapping or whatever other reason), this is a good place to declare it.\n\nIn the case of applications (but not for addons), we also automatically include declarations for Ember's prototype extensions in this `index.d.ts` file, with the `Array` prototype extensions enabled and the `Function` prototype extensions commented out. You should configure them to match your own config (which we cannot check during installation). If you are [disabling Ember's prototype extensions][disabling], you can remove these declarations entirely; we include them because they're enabled in most Ember applications today.\n\n[disabling]: https://guides.emberjs.com/v2.18.0/configuring-ember/disabling-prototype-extensions/\n\n#### Environment configuration typings\n\nAlong with the @types/ files mentioned above, ember-cli-typescript adds a starter interface for `config/environment.js` in `app/config/environment.d.ts`. This interface will likely require some changes to match your app.\n\nWe install this file because the actual `config/environment.js` is (a) not actually identical with the types as you inherit them in the content of an application, but rather a superset of what an application has access to, and (b) not in a the same location as the path at which you look it up. The actual `config/environment.js` file executes in Node during the build, and Ember CLI writes its result as `<my-app>/config/environment` into your build for consumption at runtime.\n\n### String-keyed lookups\n\nEmber makes heavy use of string-based APIs to allow for a high degree of dynamicism. With some limitations, you can nonetheless use TypeScript very effectively to get auto-complete/IntelliSense as well as to accurately type-check your applications.\n\nThe \"Update\" sequence in the Typing Your Ember has detailed explanations and guides for getting good type-safety for Ember's string-based APIs, e.g. the use of `get` and `set`, service and controller injection, Ember Data models and lookups\n\n- [Part 1][pt1]: A look at normal Ember objects, \"arguments\" to components (and controllers), and service (or controller) injections.\n- [Part 2][pt2]: Class properties — some notes on how things differ from the `Ember.Object` world.\n- [Part 3][pt3]: Computed properties, actions, mixins, and class methods.\n- [Part 4][pt4]: Using Ember Data, and service and controller injections improvements. (This includes a detailed guide to updating making the service and controller injections and Ember Data lookups behave as described below.)\n\n[pt1]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-1.html\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n[pt3]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-3.html\n[pt4]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-4.html\n\nA few of the most common speed-bumps are listed here to help make this easier:\n\n#### `this` type workaround\n\nOne important note for using `class` types effectively with today's Ember typings: you will (at least for now) need to explicitly write out a `this` type for methods, computed property callbacks, and actions if you are going to use `get` or `set`\n\n```ts\nimport Component from '@ember/component';\n\nexport default class UserProfile extends Component {\n  changeUsername(this: UserProfile, userName: string) {\n    //           ^---------------^\n    // `this` tells TS to use `UserProfile` for `get` and `set` lookups\n  }\n}\n```\n\nThis is a workaround for how incredibly dynamic `Ember.Object` instances are and hopefully will improve over time as we continue to iterate on the type definitions. Again, see [the relevant blog post for details][pt2].\n\n#### Nested keys in `get` or `set`\n\nIn general, `this.get` and `this.set` will work as you'd expect _if_ you're doing lookups only a single layer deep. Things like `this.get('a.b.c')` don't (and can't ever!) type-check; see the blog posts for a more detailed discussion of why.\n\nThe workaround is simply to do one of two things:\n\n1. **The type-safe approach.** This _will_ typecheck, but is both ugly and only works \\*if there are no `null`s or `undefined`s along the way. If `nested` is `null` at runtime, this will crash!\n\n   ```ts\n   import { get } from '@ember/object';\n\n   // -- Type-safe but ugly --//\n   get(get(get(someObject, 'deeply'), 'nested'), 'key');\n   ```\n\n2. **Using `// @ts-ignore`.** This will _not do any type-checking_, but is useful for the cases where you are intentionally checking a path which may be `null` or `undefined` anywhere long it.\n\n   ```ts\n   // @ts-ignore\n   get(someObject, 'deeply.nested.key');\n   ```\n\n   It's usually best to include an explanation of _why_ you're ignoring a lookup!\n\n#### Service and controller injections\n\nEmber does service and controller lookups with the `inject` functions at runtime, using the name of the service or controller being injected up as the default value—a clever bit of metaprogramming that makes for a nice developer experience. TypeScript cannot do this, because the name of the service or controller to inject isn't available at compile time in the same way.\n\nThis means that if you do things the normal Ember way, you will have to specify the type of your service or controller explicitly everywhere you use it. But… where should we put that? If we try to set it up as a [class property], we'll get an error as of Ember 3.1 (and it only accidentally works before that): computed properties and injections must be installed on the prototype.\n\n[class property]: https://basarat.gitbooks.io/typescript/docs/classes.html#property-initializer\n\nThere are two basic approaches we can take. The first uses the `.extend` method in conjunction with class definitions to make sure the injections are set up correctly; the second leans on the still-experimental [Ember Decorators][decorators] project to let us do everything in the class body while still getting the niceties of ES6 classes. The decorators approach is much nicer, and likely to eventually become the standard across Ember in general assuming the decorators spec stabilizes. For today, however, it's an opt-in rather than the default because it remains an experimental extension to the JavaScript standard.\n\n[decorators]: https://github.com/ember-decorators/ember-decorators\n\n##### Using `.extend`\n\nThe officially supported method for injections uses a combination of class body and traditional `EmberObject.extend` functionality. We generate a service like normal by running `ember generate service my-session`. The resulting definition will look like this:\n\n```ts\n// my-app/services/my-session.ts\nimport Service from '@ember/service';\nimport RSVP from 'rsvp';\n\nexport default class MySession extends Service {\n  login(email: string, password: string): RSVP.Promise<string> {\n    // login and return the confirmation message\n  }\n}\n\ndeclare module '@ember/service' {\n  interface Registry {\n    'my-session': MySession;\n  }\n}\n```\n\nYou'll need to add that module and interface declaration to all your existing service and controller declarations for this to work (again, see the [blog post][pt4] for further details), but once you do that, you'll have this much nicer experience throughout! It's not quite vanilla Ember.js, but it's close—and this way, you still get all those type-checking and auto-completion benefits, but with a lot less noise! Moreover, you actually get a significant benefit over \"vanilla\" Ember: we type-check that you typed the key correctly in the `service` invocation.\n\nThen we can use the service as usual:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { inject as service } from '@ember/service';\n\nexport default class UserProfile extends Component.extend({\n  mySession: service('my-session'),\n}) {\n  login(email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNotice that the type of `mySession` will be the `MySession` type here: TypeScript is using the \"registry\" set up in the last lines of the `my-session` module to look up the type by its name. If we had written just `service()` instead, Ember would have resolved the correct type at runtime as usual, but TypeScript would not be able to tell _which_ service we had, only that it was a `Service`. In that case, the `this.session` would not have a `login` property from TS's perspective, and this would fail to type-check. That extra string gives TS the information it needs to resolve the type and give us auto-completion, type-checking, etc.\n\n(In Ember 3.0 or earlier, we would have `this.get('session').login(email, password);` instead.)\n\nAlthough this may look a little strange, everything works correctly. We can use other ES6 class functionality and behaviors (including class properties) as normal; it is just the special Ember pieces which have to be set up on the prototype like this: injections, computed properties, and the `actions` hash.\n\n##### Using decorators\n\nThe alternative here is to use [Ember Decorators][decorators]. In that case, we'd have precisely the same definition for our `MySession` service, but a much cleaner implementation in the component class:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service\n  mySession!: MySession;\n\n  login(this: UserProfile, email: string, password: string) {\n    this.session.login(email, password);\n  }\n}\n```\n\nNote that we need the `MySession` type annotation this way, but we _don't_ need the string lookup (unless we're giving the service a different name than the usual on the class, as in Ember injections in general). Without the type annotation, the type of `session` would just be `any`. This is because decorators (as of TS 2.8 – 3.0) are not allowed to modify the types of whatever they decorate. As a result, we wouldn't get any type-checking on that `session.login` call, and we wouldn't get any auto-completion either. Which would be really sad and take away a lot of the reason we're using TypeScript in the first place!\n\nAlso use the [`!` non-null assertion operator](https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#non-null-assertion-operator) to prevent [`TS2564`](https://github.com/kaorun343/vue-property-decorator/issues/81), that is caused by enabling `strictPropertyInitialization` in `tsconfig.json`.\n\nIf you're on an Ember version below 3.1, you'll want to wrap your service type in [`ComputedProperty`](https://www.emberjs.com/api/ember/release/classes/ComputedProperty), because [native ES5 getters](https://github.com/emberjs/rfcs/blob/master/text/0281-es5-getters.md) are not available there, which means that instead of accessing the service via `this.mySession`, you would have to access it as `this.get('mySession')` or `get(this, 'mySession')`. This means the above code would rather look like:\n\n```ts\n// my-app/components/user-profile.ts\nimport Component from '@ember/component';\nimport { get } from '@ember/object';\nimport ComputedProperty from '@ember/object/computed';\nimport { service } from '@ember-decorators/service';\nimport MySession from 'my-app/services/my-session';\n\nexport default class UserProfile extends Component {\n  @service\n  mySession!: ComputedProperty<MySession>;\n\n  login(this: UserProfile, email: string, password: string) {\n    get(this, 'session').login(email, password);\n  }\n}\n```\n\nThis also holds true for all other macros of the ember-decorators addon.\n\n#### Ember Data lookups\n\nWe use the same basic approach for Ember Data type lookups with string keys as we do for service or controller injections. As a result, once you add the module and interface definitions for each model, serializer, and adapter in your app, you will automatically get type-checking and autocompletion and the correct return types for functions like `findRecord`, `queryRecord`, `adapterFor`, `serializerFor`, etc. No need to try to write out those (admittedly kind of hairy!) types; just write your Ember Data calls like normal and everything _should_ just work.\n\nThe declarations and changes you need to add to your existing files are:\n\n- Models\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Model.extend({\n    // attribute declarations here, as usual\n  }) {}\n\n  declare module 'ember-data/types/registries/model' {\n    export default interface ModelRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Adapters\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Adapter {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/adapter' {\n    export default interface AdapterRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Serializers\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class UserMeta extends DS.Serializer {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/serializer' {\n    export default interface SerializerRegistry {\n      'user-meta': UserMeta;\n    }\n  }\n  ```\n\n- Transforms\n\n  ```ts\n  import DS from 'ember-data';\n\n  export default class ColorTransform extends DS.Transform {\n    // properties and methods\n  }\n\n  declare module 'ember-data/types/registries/transform' {\n    export default interface TransformRegistry {\n      color: ColorTransform;\n    }\n  }\n  ```\n\nIn addition to the registry, note the oddly defined class for `DS.Model`s. This is because we need to set up the attribute bindings on the prototype (for a discussion of how and why this is different from class properties, see [Typing Your Ember, Update, Part 2][pt2]), but we cannot just use a `const` here because we need a named type—like a class!—to reference in the type registry and elsewhere in the app.\n\n[pt2]: http://www.chriskrycho.com/2018/typing-your-ember-update-part-2.html\n\n##### Opt-in unsafety\n\nAlso notice that unlike with service and controller injections, there is no unsafe fallback method by default, because there isn't an argument-less variant of the functions to use as there is for `Service` and `Controller` injection. If for some reason you want to opt _out_ of the full type-safe lookup for the strings you pass into methods like `findRecord`, `adapterFor`, and `serializerFor`, you can add these declarations somewhere in your project:\n\n```ts\nimport DS from 'ember-data';\n\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: DS.Model;\n  }\n}\ndeclare module 'ember-data/types/registries/adapter' {\n  export default interface AdapterRegistry {\n    [key: string]: DS.Adapter;\n  }\n}\ndeclare module 'ember-data/types/registries/serializer' {\n  export default interface SerializerRegistry {\n    [key: string]: DS.Serializer;\n  }\n}\n```\n\nHowever, we **_strongly_** recommend that you simply take the time to add the few lines of declarations to each of your `DS.Model`, `DS.Adapter`, and `DS.Serializer` instances instead. It will save you time in even the short run!\n\n##### Fixing the Ember Data `error TS2344` problem\n\nIf you're developing an Ember app or addon and _not_ using Ember Data (and accordingly not even have the Ember Data types installed), you may see an error like this and be confused:\n\n```\nnode_modules/@types/ember-data/index.d.ts(920,56): error TS2344: Type 'any' does not satisfy the constraint 'never'.\n```\n\nThis happens because the types for Ember's _test_ tooling includes the types for Ember Data because the `this` value in several of Ember's test types can include a reference to `DS.Store`.\n\n**The fix:** add a declaration like this in a new file named `ember-data.d.ts` in your `types` directory:\n\n```ts\ndeclare module 'ember-data/types/registries/model' {\n  export default interface ModelRegistry {\n    [key: string]: any;\n  }\n}\n```\n\nThis works because (a) we include things in your types directory automatically and (b) TypeScript will merge this module and interface declaration with the main definitions for Ember Data from DefinitelyTyped behind the scenes.\n\nIf you're developing an addon and concerned that this might affect consumers, it won't. Your types directory will never be referenced by consumers at all!\n\n#### Class property setup errors\n\nSome common stumbling blocks for people switching to ES6 classes from the traditional EmberObject setup:\n\n- `Assertion Failed: InjectedProperties should be defined with the inject computed property macros.` – You've written `someService = inject()` in an ES6 class body in Ember 3.1+. Replace it with the `.extend` approach or by using decorators (`@service` or `@controller`) as discussed [above](#service-and-controller-injections). Because computed properties of all sorts, including injections, must be set up on a prototype, _not_ on an instance, if you try to use class properties to set up injections, computed properties, the action hash, and so on, you will see this error.\n\n- `Assertion Failed: Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.` – You failed to pass `...arguments` when you called `super` in e.g. a component class `constructor`. Always do `super(...arguments)`, not just `super()`, in your `constructor`.\n\n### Type definitions outside `node_modules/@types`\n\nBy default, the TypeScript compiler loads all type definitions found in `node_modules/@types`. If the type defs you need are not found there and are not supplied in the root of the package you're referencing, you can register a custom value in `paths` in the `tsconfig.json` file. For example, if you're using [ember-browserify], you're used to writing imports like this:\n\n[ember-browserify]: https://github.com/ef4/ember-browserify\n\n```js\nimport MyModule from 'npm:my-module';\n```\n\nIf `my-module` has types, you will not be able to resolve them this way by default. You can add a simple tweak to your `tsconfig.json` to resolve the types correctly, however, mapping `npm:*` to `node_modules/*`.\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"my-app-name/*\": [\"app/*\"],\n      \"npm:*\": [\"node_modules/*\"]\n    }\n  }\n}\n```\n\n### ember-cli-mirage\n\nMirage adds files from a nonstandard location to your application tree, so you'll need to tell the TypeScript compiler about how that layout works.\n\nFor an app, this should look roughly like:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"my-app-name/mirage/*\": \"mirage/*\",\n    }\n  },\n  \"include\": [\n    \"app\",\n    \"tests\",\n    \"mirage\"\n  ]\n}\n```\n\nAnd for an addon:\n\n```js\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      // ...\n      \"dummy/mirage/*\": \"tests/dummy/mirage/*\",\n    }\n  },\n  \"include\": [\n    \"addon\",\n    \"tests\"\n  ]\n}\n```\n\nNote that if Mirage was present when you installed ember-cli-typescript (or if you run `ember g ember-cli-typescript`), this configuration should be automatically set up for you.\n\n### \"TypeScript is complaining about multiple copies of the same types!\"\n\nYou may sometimes see TypeScript errors indicating that you have duplicate type definitions for Ember, Ember Data, etc. This is usually the result of an annoying quirk of the way both npm and yarn resolve your dependencies in their lockfiles.\n\n#### Just tell me how to fix it\n\nThere are two options here, neither of them _great_:\n\n- manually edit `yarn.lock` or `package-lock.json` and merge the conflicting\n- add a [\"resolutions\"] key to your `package.json` with the version you want to install of the types you're installing:\n\n```json\n{\n  \"resolutions\": {\n    \"**/@types/ember\": \"2.8.15\"\n  }\n}\n```\n\n[\"resolutions\"]: https://yarnpkg.com/lang/en/docs/selective-version-resolutions/\n\n#### Why is this happening?\n\nIf you're using another package which includes these types, and then you trigger an upgrade for your own copy of the type definitions, npm and yarn will both try to preserve the existing installation and simply add a new one for your updated version. In most cases, this is sane behavior, because it prevents transitive dependency breakage hell. However, in the _specific_ case of type definitions, it causes TypeScript to get confused.\n\n## Using ember-cli-typescript with Ember CLI addons\n\nDuring development, your `.ts` files will be watched and rebuilt just like any other sources in your addon when you run `ember serve`, `ember test`, etc.\n\nHowever, in order not to force downstream consumers to install the entire TS build toolchain when they want to use an addon written in TypeScript, ember-cli-typescript is designed to allow you to publish vanilla `.js` files to the npm registry, alongside `.d.ts` declarations so that consumers who _are_ using TypeScript can benefit from it.\n\n### Publishing\n\nThis addon provides two commands to help with publishing your addon: `ember ts:precompile` and `ember ts:clean`. The default `ember-cli-typescript` blueprint will configure your `package.json` to run these commands in the `prepublishOnly` and `postpublish` phases respectively, but you can also run them by hand to verify that the output looks as you expect.\n\nThe `ts:precompile` command will put compiled `.js` files in your `addon` directory and populate the overall structure of your package with `.d.ts` files laid out to match their import paths. For example, `addon/index.ts` would produce `addon/index.js` as well as `index.d.ts` in the root of your package.\n\nThe `ts:clean` command will remove the generated `.js` and `.d.ts` files, leaving your working directory back in a pristine state.\n\n**Note**: While `.ts` files from both the `app` and `addon` directories of your addon will be transpiled by `ts:precompile`, only the declaration files from `addon` will be published. Since the final import paths for `app` files will depend on the name of the consuming application, we can't put those declaration files in a meaningful place.\n\n### Linking Addons\n\nOften when developing an addon, it can be useful to run that addon in the context of some other host app so you can make sure it will integrate the way you expect, e.g. using [`yarn link`](https://yarnpkg.com/en/docs/cli/link#search) or [`npm link`](https://docs.npmjs.com/cli/link).\n\nWhen you do this for a TypeScript addon, by default your `.ts` files won't be consumed by the host app. In order for a linked addon to work, you need to take a few steps:\n\n- ensure `ember-cli-typescript` is installed and set up in the host app\n- override [`isDevelopingAddon()`](https://ember-cli.com/api/classes/Addon.html#method_isDevelopingAddon) in the linked addon to return `true`\n- update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"node_modules/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"node_modules/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"node_modules/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"node_modules/my-addon/app\",\n  \"node_modules/my-addon/addon\"\n]\n```\n\nThis will cause `ember-cli-typescript` in the host app to take over compiling the TS files in the addon as well, automatically rebuilding any time you make a change.\n\n**Note**: remember to remove your `isDevelopingAddon` override before publishing!\n\n### In-Repo Addons\n\n[In-repo addons](https://ember-cli.com/extending/#detailed-list-of-blueprints-and-their-use) work in much the same way as linked ones: their TypeScript compilation is managed by the host app. They have `isDevelopingAddon` return `true` by default, so you only have to update the `paths` and `include` entries in your `tsconfig.json` to instruct the compiler how to resolve imports and include the addon's TypeScript files:\n\n```js\ncompilerOptions: {\n  // ...other options\n  paths: {\n    // ...other paths, e.g. for your tests/ tree\n    \"my-app\": [\n      \"app/*\",\n      // add addon app directory that will be merged with the host application\n      \"lib/my-addon/app/*\"\n    ],\n    // resolve: import x from 'my-addon';\n    \"my-addon\": [\n      \"lib/my-addon/addon\"\n    ],\n    // resolve: import y from 'my-addon/utils/y';\n    \"my-addon/*\": [\n      \"lib/my-addon/addon/*\"\n    ]\n  }\n},\ninclude: [\n  // ...other includes, e.g. app, tests, types\n  \"lib/my-addon\"\n]\n```\n\n### Gotchas\n\nA few things to look out for when working with TypeScript in addons:\n\n- Normally, addons under development automatically return `true` from their `isDevelopingAddon()` hook, which `ember-cli-typescript` relies on to determine whether to process the addon's `.ts` files. However, if the name field in your `package.json` doesn't match the name in your `index.js`, this default behavior will fail and you'll need to override the method yourself.\n- TypeScript has very particular rules when generating declaration files to avoid letting private types leak out unintentionally. You may find it useful to run `ember ts:precompile` yourself as you're getting a feel for these rules to ensure everything will go smoothly when you publish.\n\n## Installing from git\n\nThis addon uses TypeScript for its own implementation, so if you install `ember-cli-typescript` from git rather than from the npm registry, you won't get compiled `.js` files. To get everything working, you can install `ts-node` as a project dependency, and `ember-cli-typescript` will ensure it's registered correctly to transpile source files as needed.\n\n## Current limitations\n\nWhile TS already works nicely for many things in Ember, there are a number of corners where it _won't_ help you out. Some of them are just a matter of further work on updating the [existing typings]; others are a matter of further support landing in TypeScript itself, or changes to Ember's object model.\n\n[existing typings]: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ember\n\nWe are hard at work (and would welcome your help!) [writing new typings][ember-typings] for Ember and the surrounding ecosystem. If you'd like to try those out, please see instructions in [that repo][ember-typings]!\n\n[ember-typings]: https://github.com/typed-ember/ember-typings\n\nHere is the short list of things which do _not_ work yet in the version of the typings published on DefinitelyTyped.\n\n### Some `import`s don't resolve\n\nYou'll frequently see errors for imports which TypeScript doesn't know how to resolve. For example, if you use Ember Concurrency today and try to import its `task` helper:\n\n```typescript\nimport { task } from 'ember-concurrency';\n```\n\nYou'll see an error, because there aren't yet type definitions for it. You may see the same with some addons as well. **These won't stop the build from working;** they just mean TypeScript doesn't know where to find those.\n\nWriting these missing type definitions is a great way to pitch in! Jump in `#e-typescript` on the [Ember Community Discord server](https://discord.gg/zT3asNS) and we'll be happy to help you.\n\n### Type safety when invoking actions\n\nTypeScript won't detect a mismatch between this action and the corresponding call in the template:\n\n```typescript\nEmber.Component.extend({\n  actions: {\n    turnWheel(degrees: number) {\n      // ...\n    },\n  },\n});\n```\n\n```hbs\n<button onclick={{action 'turnWheel' 'NOT-A-NUMBER'}}> Click Me </button>\n```\n\nLikewise, it won't notice a problem when you use the `send` method:\n\n```typescript\n// TypeScript compiler won't detect this type mismatch\nthis.send('turnWheel', 'ALSO-NOT-A-NUMBER');\n```\n","engines":{"node":"6.* || 8.* || >= 10.*"},"gitHead":"7a379d70dddfefe4116c4c000bea02e2e15e8b93","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.{ts,js}","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.5.0","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"@types/ember":"3.0.25"},"_nodeVersion":"8.11.4","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^1.0.0","semver":"^5.5.1","resolve":"^1.5.0","fs-extra":"^7.0.0","stagehand":"^1.0.0","walk-sync":"^1.0.0","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"^7.1.0","@babel/plugin-proposal-class-properties":"^7.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"co":"4.6.0","got":"8.3.2","mocha":"5.2.0","eslint":"5.12.0","mktemp":"0.4.0","rimraf":"2.6.3","esprima":"4.0.1","ts-node":"7.0.1","ember-cli":"3.6.1","ember-try":"1.1.0","fixturify":"0.3.4","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.8.4","testdouble":"3.9.2","typescript":"3.2.1","@types/chai":"4.1.7","@types/node":"9.6.41","ember-qunit":"4.2.0","@types/debug":"0.0.31","@types/ember":"3.0.25","@types/execa":"0.9.0","@types/mocha":"5.2.5","@types/qunit":"2.5.3","ember-source":"3.6.1","@types/semver":"5.5.0","ember-cli-sri":"2.1.1","@types/express":"4.16.0","@types/resolve":"0.0.8","ember-resolver":"5.0.1","@types/fs-extra":"5.0.4","ember-cli-babel":"7.2.0","ember-cli-eslint":"5.0.0","ember-cli-uglify":"2.1.0","ember-cli-update":"0.27.18","@types/console-ui":"2.2.0","ember-cli-release":"0.2.9","@types/core-object":"3.0.0","@types/ember-qunit":"3.4.3","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"3.0.1","eslint-plugin-node":"8.0.1","eslint-plugin-ember":"6.1.0","ember-cli-app-version":"3.2.0","ember-load-initializers":"2.0.0","@ember/optional-features":"0.7.0","typescript-eslint-parser":"21.0.2","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.1.0","ember-cli-inject-live-reload":"2.0.1","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"1.2.0","ember-export-application-global":"2.0.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3","ember-cli-htmlbars-inline-precompile":"2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_2.0.0-rc.2_1546900204149_0.2871328424812176","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"ember-cli-typescript","version":"2.0.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@2.0.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"c31f7b649892ff8f7bb518539ccfa336d0613965","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.0.tgz","fileCount":63,"integrity":"sha512-UUm/uMI1ToBQMmr5aiArEhHiCTyARXNxzbQxU+Yf1cBKuIXbDFTa/jdS55wt2o8qCPNay8v90m2C0Nvk3KuAEQ==","signatures":[{"sig":"MEYCIQCUVoDNKZe/U7zGT9DNFKVKTwRBCN4FlbqlrzpYmRjhVwIhAJljJGJWwMwdNtA+rORdVJ3sMWq/L5aGQD9KUExMP30A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":180247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciXxwCRA9TVsSAnZWagAAwYEP/1VVyidUFB2vvOZMwwlA\nVAYQWdZOZj2MLdAl6oDZ81oKfa1XUEC3jg+CZCPBiLbMFCHZDHXbmSRibIEf\nTajJvvCbS/ukMZKAh4GYC9OHEv4bdyckTy57Y6QCfnrsPtccMBPg7nXiB2dZ\nDnp0C8DAFeNQ9uZoZ0QbqHJ6UobHJ6RSwgs6HAigp0/voYtuUzFlKQ+YN63W\nRlIFQbgU9VSkBVQ0c2Flx7jzLjvk84pacHDkznl818PhPkygJVQbln08FZRN\n3tVj+KHDD9Q3Gtapm6+BrJRuBY9q3CotDmHRU6L2bVUuHgRIdC1z3tR6GhNe\n2cBhv/VggIbQM25fm0mQmv9AHrQes5t24ctInT292idHAeeSeHAHiA5h2/J/\nW8FDtkWmAPyMpMkcylzqUJHWW/s4iuS+AXTqIdc+7wPmoeTTEg6f6UKSf/IJ\n7rdjr+VH5Av3u77xlmzm19duUHyKrl9aBICvw9W96tPhxr58iHWRKFp7Qe0n\n2Bx0nT668jZV12/iUduwFXfC/jbey+edy8p70QIKvB6Qbk/iaZdrkdqtqmof\nyGIf5dd30DpCZFXELFwuk/Y2uAkAkws1wCVIlhgFezZsoDj7pDm0qeoyByiN\nVDIPq6sSC8Y55g3cUCR8OHwXDSdNcqiZISG2rPvhMzCzVf7H7FrDueuwMKbv\nOgLc\r\n=yRrq\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"6.* || 8.* || >= 10.*"},"scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.{ts,js}","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --project ts --noEmit false"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"toolchain":{"node":"10.15.1","yarn":"1.13.0"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"hawk":"7","@types/ember":"3.0.29","@types/ember__string":"3.0.6"},"dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^1.0.0","semver":"^5.5.1","resolve":"^1.5.0","fs-extra":"^7.0.0","stagehand":"^1.0.0","walk-sync":"^1.0.0","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"^7.1.0","@babel/plugin-proposal-class-properties":"^7.1.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"8.3.2","mocha":"6.0.2","eslint":"5.15.1","mktemp":"0.4.0","rimraf":"2.6.3","esprima":"4.0.1","ts-node":"8.0.3","ember-cli":"3.8.1","ember-try":"1.1.0","fixturify":"1.0.1","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.8.4","handlebars":"4.1.0","testdouble":"3.11.0","typescript":"3.3.3333","@types/chai":"4.1.7","@types/node":"9.6.46","ember-qunit":"4.4.1","@types/debug":"4.1.2","@types/ember":"3.0.29","@types/execa":"0.9.0","@types/mocha":"5.2.6","@types/qunit":"2.5.4","ember-source":"3.8.0","@types/semver":"5.5.0","ember-cli-sri":"2.1.1","@types/express":"4.16.1","@types/resolve":"0.0.8","ember-resolver":"5.1.3","@types/fs-extra":"5.0.5","ember-cli-babel":"7.5.0","ember-cli-deploy":"^1.0.2","ember-cli-eslint":"5.1.0","ember-cli-uglify":"2.1.0","ember-cli-update":"0.31.3","@types/console-ui":"2.2.0","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.6","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"3.0.1","eslint-plugin-node":"8.0.1","eslint-plugin-ember":"6.2.0","ember-cli-addon-docs":"^0.6.5","ember-cli-deploy-git":"^1.3.3","ember-cli-app-version":"3.2.0","ember-cli-deploy-build":"^1.1.1","ember-cli-deploy-git-ci":"^1.0.1","ember-load-initializers":"2.0.0","@ember/optional-features":"0.7.0","typescript-eslint-parser":"21.0.2","ember-cli-addon-docs-esdoc":"^0.2.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.1.0","ember-cli-inject-live-reload":"2.0.1","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"1.2.0","ember-export-application-global":"2.0.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3","ember-cli-htmlbars-inline-precompile":"2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_2.0.0_1552514159956_0.1547317893638156","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"ember-cli-typescript","version":"2.0.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@2.0.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"9c46729213b9e1d13f5c3ff8421d772134aa889e","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.1.tgz","fileCount":67,"integrity":"sha512-xwSEQOUNM621Wt+XJWpbLhBIeqC/dM1lDS+oZQ2nSjxp4MLZkpKuiVBqdbBWcURbvv8ghoVQPfy8wYU4JIFkLA==","signatures":[{"sig":"MEUCIQD+CQDNL9uhYldgYfqhKOKn5MPj5Vi2RmsL6+RcVkg1QgIgMorB8rapDa3doHFC8LJJwRLnPXMu16CSD1EyMrI+ack=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":187804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcriR/CRA9TVsSAnZWagAAJMEP/i82vsRnBtI2b39HSZWt\nVnU5eLQPayp//XWXQXVBDRuLYiIx17wL7PKdcmGkuZsp7Xb9Fzycm4YO1Sf6\nEyDYTwLqKihwsn0Tt+YQ0TKR2StB1IvzfCfHjQV1IYjC368UU663FyVoNbRf\nfLHZAddau+U9Z3e0HIMiGgRFelY9HL9ePK5NgevFZ470tFeyd+BwzMvLn7sq\nv03O1YW9dGNNrLWYSHz3oz4oXbXrCuo0TmBw7F98bhGhCGRvFRopi7dTJXJ3\n8AUpwJiHBBQl5Kx6EH74jI20Wal/QsiT9wWcWE42RpIN94dCHGym9BVZU/HG\nbVZMU4k/lA1ypOnoXYL6Wk4TXFJTjcDf7wYM6vB6lIuBECXZLk64cmJLwwUC\nTs9Y2W7ZTK/Ynx7xzp40KBSUEJKohD1B1w3NB3MZ4pZra3lIgrSU04S+WD3a\nhfu3yUgKJM3ro1pBo6gzVl/O4xjSwlZPLESeSOe4tC/Z2CPMP7osd7Lf1d8I\nlzElx1Ul7nKO14zlPFbylO/JdOqdv5IHcIxlVqj3zDn6RFDkgpZay7kIBVnH\nIXHiC17Vet+w4mWc5zLoLCZ9DSHfVfuEfZha8pRnWD3DewySbKPNAmTXXi/f\nawKoERrMqG95426YhQ6L9qHaoWmBp5c4lNiYVb0xqEJZ+TIJODCSXffpnguR\n+7ah\r\n=1Yws\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"6.* || 8.* || >= 10.*"},"scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.{ts,js}","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"toolchain":{"node":"10.15.3","yarn":"1.15.2"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"hawk":"7","@types/ember":"3.1.0","@types/ember__string":"3.0.6"},"dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^1.0.0","semver":"^6.0.0","resolve":"^1.5.0","fs-extra":"^7.0.0","stagehand":"^1.0.0","walk-sync":"^1.0.0","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"^7.1.0","@babel/plugin-proposal-class-properties":"^7.1.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"8.3.2","tmp":"0.1.0","mocha":"6.1.2","eslint":"5.16.0","esprima":"4.0.1","ts-node":"8.0.3","@types/co":"4.6.0","ember-cli":"3.9.0","ember-try":"1.1.0","fixturify":"1.2.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.8.4","@types/got":"8.3.5","@types/tmp":"0.1.0","handlebars":"4.1.1","testdouble":"3.11.0","typescript":"3.4.3","@types/chai":"4.1.7","@types/node":"9.6.47","ember-qunit":"4.4.1","@types/debug":"4.1.3","@types/ember":"3.1.0","@types/execa":"0.9.0","@types/mocha":"5.2.6","@types/qunit":"2.5.4","babel-eslint":"10.0.1","ember-source":"3.9.1","@types/semver":"6.0.0","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.16.1","@types/resolve":"0.0.8","ember-resolver":"5.1.3","@types/fs-extra":"5.0.5","ember-cli-babel":"7.7.3","ember-cli-deploy":"1.0.2","ember-cli-eslint":"5.1.0","ember-cli-uglify":"2.1.0","ember-cli-update":"0.32.5","@types/console-ui":"2.2.0","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.6","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"3.0.1","eslint-plugin-node":"8.0.1","eslint-plugin-ember":"6.3.0","ember-cli-addon-docs":"0.6.9","ember-cli-deploy-git":"1.3.3","ember-cli-app-version":"3.2.0","ember-cli-deploy-build":"1.1.1","@types/chai-as-promised":"7.1.0","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.0.0","@ember/optional-features":"0.7.0","typescript-eslint-parser":"21.0.2","ember-cli-addon-docs-esdoc":"0.2.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.1.0","ember-cli-inject-live-reload":"2.0.1","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"2.0.0","ember-export-application-global":"2.0.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3","ember-cli-htmlbars-inline-precompile":"2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_2.0.1_1554916478975_0.4397736428013561","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"ember-cli-typescript","version":"2.0.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@2.0.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"464984131fbdc05655eb61d1c3cdd911d3137f0d","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-2.0.2.tgz","fileCount":67,"integrity":"sha512-7I5azCTxOgRDN8aSSnJZIKSqr+MGnT+jLTUbBYqF8wu6ojs2DUnTePxUcQMcvNh3Q3B1ySv7Q/uZFSjdU9gSjA==","signatures":[{"sig":"MEYCIQCSBEON0wp9QC6GsAHw/8BRQe72c8CY9LvdsBbq/jHRZgIhALmQB/1UjWsXV9IEy2hKrrlXnLO/TNNoB1qOg4aQjmnH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":185939,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHzB8CRA9TVsSAnZWagAAS8kP/jMUqj9YNRCw+YZLzTX2\n1o9yZURmWaJZNcyjF4CaOkmK7H+OJ70f2aMWf52hjAbrE1xoON/RYjfUALBv\n7oMAT59bXgSzBIMcuTY94gLLml3he27csgMlaDQzsul5L/W5yIFoilKhQ6Ed\nEwGthWZ+06WY5u72p5yrTbdWX9Bcxwn0dZQfon9q4MraA9OW75Ys+zNXGTgj\nOjKFrH6FQhuZ5bqgGB90lNuu/WeI1WnIeyGdIga65gUmib0y/JNPlKv/YtYN\n1MUTvGXjy5ZUjjgKDa5b/OnGaML7ilbtPPexTyeVodSQA+ZLfvi0IZLE4Vv4\nkFzMw0vrO5qDbe5UDJ2J4k+TInUhs5mMpjBuMz1pSfbMJNO2VgOOtgCiqP2Z\nqVSKwvFkS042n5109b4tXo3FZlDx2wbh99GNvFc8Jh9jhycZyaXqw+guFWNf\n3DcE0TBfDY/dq3K6DlndmLHxw5J4KDAVlsbQW7u42GOgn8iXab0b1OGlben6\nVNVHH64PEO3LFoDx0jkumsaajhCiXtocpQNwk5slbyTQ/DUr/cgOky4UXcv5\nZaQv73FC5xReGsRAGg6GuAtKSz2uVBpADPKZzZ5SuFZqF0ygPOQBGVYCVZ6B\nYezrkK2Qb8tHPcBclF4gM+PyfY9Cp/mYWYqaGordk9AQLgmKM2l1+p+PpXI5\nyzql\r\n=SQrB\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":"6.* || 8.* || >= 10.*"},"scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.{ts,js}","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"toolchain":{"node":"10.15.3","yarn":"1.15.2"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"hawk":"7","@types/ember":"3.1.0","@types/ember__string":"3.0.6"},"dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^1.0.0","semver":"^6.0.0","resolve":"^1.5.0","fs-extra":"^7.0.0","stagehand":"^1.0.0","walk-sync":"^1.0.0","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"~7.4.0","@babel/plugin-proposal-class-properties":"^7.1.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"8.3.2","tmp":"0.1.0","mocha":"6.1.2","eslint":"5.16.0","esprima":"4.0.1","ts-node":"8.0.3","@types/co":"4.6.0","ember-cli":"3.9.0","ember-try":"1.1.0","fixturify":"1.2.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.8.4","@types/got":"8.3.5","@types/tmp":"0.1.0","handlebars":"4.1.1","testdouble":"3.11.0","typescript":"3.4.3","@types/chai":"4.1.7","@types/node":"9.6.47","ember-qunit":"4.4.1","@types/debug":"4.1.3","@types/ember":"3.1.0","@types/execa":"0.9.0","@types/mocha":"5.2.6","@types/qunit":"2.5.4","babel-eslint":"10.0.1","ember-source":"3.9.1","@types/semver":"6.0.0","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.16.1","@types/resolve":"0.0.8","ember-resolver":"5.1.3","@types/fs-extra":"5.0.5","ember-cli-babel":"7.7.3","ember-cli-deploy":"1.0.2","ember-cli-eslint":"5.1.0","ember-cli-uglify":"2.1.0","ember-cli-update":"0.32.5","@types/console-ui":"2.2.0","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.6","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"3.0.1","eslint-plugin-node":"8.0.1","eslint-plugin-ember":"6.3.0","ember-cli-addon-docs":"0.6.9","ember-cli-deploy-git":"1.3.3","ember-cli-app-version":"3.2.0","ember-cli-deploy-build":"1.1.1","@types/chai-as-promised":"7.1.0","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.0.0","@ember/optional-features":"0.7.0","typescript-eslint-parser":"21.0.2","ember-cli-addon-docs-esdoc":"0.2.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.1.0","ember-cli-inject-live-reload":"2.0.1","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"2.0.0","ember-export-application-global":"2.0.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3","ember-cli-htmlbars-inline-precompile":"2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_2.0.2_1562325115436_0.40947451518691413","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"ember-cli-typescript","version":"3.0.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@3.0.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"3b838d1ce9e4d22a98e68da22ceac6dc0cfd9bfc","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.0.0.tgz","fileCount":82,"integrity":"sha512-lo5YArbJzJi5ssvaGqTt6+FnhTALnSvYVuxM7lfyL1UCMudyNJ94ovH5C7n5il7ATd6WsNiAPRUO/v+s5Jq/aA==","signatures":[{"sig":"MEYCIQDsxikGpvo6ZoN7MhltzOlgiboXTnWCzU0G9hY8UXwc9AIhALdvqCdJ1J5ItCZQ3+UJkIO0EEtZBZVMfxSAo5e5l/K3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":214581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdaZJZCRA9TVsSAnZWagAA0YQP/A2fkjzEHkStTgeu+gQa\n/1Aa7DNuohPaVkJrIJudqEA6o0M/znZZDzLyMyz17kcVgZMWEUQdjWmOMnbF\nkUyCy2+VEJvqn+Vfj4O1k8j1AnZwjC47zJwIRdzubfY8t4lNzRyEa7AYmUPs\nZVZhA6mkmhOrqX+rvA8ssL2Vdu2I4wjcLuTJdWHL9ReincrUHtUpkQicSz8r\nc5gqy9JU1sPx+TiH6UNBa5gvS+3ku9KHIvXhD1ibk0HiDjiHsawRDtDhLbgG\nDLEx19ns+qrAueL80cBF285ogmB0fiBuTQa2OuYKQm7PrsKA41VaWQRnsQQ0\nXqmNE9zUYhNmZ0jT+qiri23E5vXlfhOAtu1J8KeqddBu7Nz1J3mpKlZwuUL6\ntmYkLBi3E7K27HklwdRSV02aGqNXl30YTKNikZiFk/Oc+FLWJvBBkjvkXGtY\nAO7skjeIS/hMcgDcgq+2/GR3pgb5pg4c+mJhuFQJKA85mAzaAE1Zxper4e+J\nnFNklRUZKmud3TCsHAagffF1kZlWIeQxjBqt9Ev/SjM4LSKkNeALc2GF/AMJ\npkRqZ1xID8OMgDkAFVyh00jNq+Jr5AdOmbwAPEx1egy4x2qt8cWOPsdCtR61\n7sdDoesF79Dw5pJF8sGS6e63wjEYzQsaW/VGTyXeMTUksKXhR63ghM2Xi0Uf\nnO2z\r\n=BV8x\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.15.3","yarn":"1.15.2"},"engines":{"node":"8.* || >= 10.*"},"scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"commitlint":{"rules":{"header-max-length":[0,"always",288]},"extends":["@commitlint/config-conventional"]},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"hawk":"7","@types/ember":"3.1.0","@types/ember__string":"3.0.6"},"dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^2.0.0","semver":"^6.0.0","resolve":"^1.5.0","fs-extra":"^8.0.0","stagehand":"^1.0.0","walk-sync":"^2.0.0","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"~7.5.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"8.3.2","tmp":"0.1.0","husky":"3.0.4","mocha":"6.2.0","eslint":"6.3.0","esprima":"4.0.1","ts-node":"8.3.0","prettier":"1.18.2","ember-cli":"3.12.0","ember-try":"1.2.1","fixturify":"1.2.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.9.0","@types/got":"8.3.5","@types/tmp":"0.1.0","handlebars":"4.1.2","testdouble":"3.12.4","typescript":"3.6.2","@types/chai":"4.2.0","@types/node":"9.6.51","ember-qunit":"4.5.1","@types/debug":"4.1.5","@types/ember":"3.1.0","@types/mocha":"5.2.7","@types/qunit":"2.9.0","ember-source":"3.12.0","@types/semver":"6.0.1","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.1","@types/resolve":"0.0.8","ember-resolver":"5.2.1","@commitlint/cli":"8.1.0","@types/fs-extra":"8.0.0","ember-cli-babel":"7.11.0","ember-cli-deploy":"1.0.2","ember-cli-uglify":"3.0.0","ember-cli-update":"0.42.1","@types/console-ui":"2.2.2","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.6","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"3.1.0","eslint-plugin-node":"9.2.0","eslint-plugin-ember":"7.0.0","ember-cli-addon-docs":"0.6.14","ember-cli-deploy-git":"1.3.3","ember-cli-app-version":"3.2.0","ember-cli-deploy-build":"1.1.1","eslint-plugin-prettier":"3.1.0","@types/chai-as-promised":"7.1.2","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.1.0","@ember/optional-features":"0.7.0","@typescript-eslint/parser":"2.0.0","conventional-changelog-cli":"2.0.23","ember-cli-addon-docs-esdoc":"0.2.2","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.1","commitlint-azure-pipelines-cli":"1.0.2","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"8.1.0","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.0","@typescript-eslint/eslint-plugin":"2.0.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3","ember-cli-htmlbars-inline-precompile":"2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_3.0.0_1567199832812_0.8139475534579876","host":"s3://npm-registry-packages"}},"3.1.1":{"name":"ember-cli-typescript","version":"3.1.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@3.1.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"a5a12ebf915e43ded7bf6bb460ecea4b67b0d95b","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.1.1.tgz","fileCount":67,"integrity":"sha512-HCjM5EZ29Yh94Jy/M2+MVkS9LdtOoGYtYLIcZ4F7umJaRJM67ku/xCyN/2r+uTeYTNdpJN9+HWx30a6yyAbfRA==","signatures":[{"sig":"MEUCID/52nHh6MGJzL++tlhPeVuGP1OZkbxyjiASPAKnrMydAiEA09bqBRKDhca7zxCX4NFyrJQYqrCm3dMkIccpHoKnjuM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":181913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwuYfCRA9TVsSAnZWagAA3pMP/R0DbRExEF+l8jQJg75k\nrRAmy5heYWmGsuTujKC94o7ePoetqAxH5ybjt1P1P04heb1IIRm6rReKNjFD\nJBWi+pDOnCfd3LC0mhv9LM5d318DqReazaagyO/wjxAx4hiqY7HF4xoVUnjJ\nToUMU130+6T1TB8m6K1ZdYEjoabteJXqGOMizQSgV18o1Zccv58Gc8r1ct/f\ntTvI0fK+rAhnxAhCgERhToWUpWCr3F9H/boe2o/GgT0DZzsDR0EmHDje3RAb\nOSpwFw8UQHwsWYMELx6XaXympto9uGsKxS25SJdrKeqCX+lB1xj6/dkUtReT\nGcqd7RVDABzCXjFfZKxUrM0uMEj7ETXHKCYBkCJQwHYNkZEdRTgvimf5owYr\n5KYJhwdJQ4cMXjKS6yl7aHWCm11DQCYU7uisyKfvZgl9nKxb+QxO7dVHW/oI\n9jML5tWfQm+SrS86HigXANWBSfv///2YpEKi9ot1XOBOsPDXr7bxItjfkEj1\ndijCWZF+IcYIXpqwxB5o/sIbqqRTkuyjnd98uaajTKx8V0A2i6VWfPGQ9YBV\nfYmPi0Rnn70iFI7HfCrUQZIoZETjZqG6OrTLZ/u9ZcY1LT+2P+mlc9DE6Uvr\n1hFnvg3k2u9tdUgzrGBpOVaYj9bMVeCXiwZjc2HrWmhOROkLQlP6VnSJj+SO\n6/Ut\r\n=xOcN\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.17.0","yarn":"1.19.1"},"engines":{"node":"8.* || >= 10.*"},"scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"commitlint":{"rules":{"header-max-length":[0,"always",288]},"extends":["@commitlint/config-conventional"]},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"hawk":"7","@types/ember":"3.1.1","@types/ember__string":"3.0.6"},"dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^3.0.0","semver":"^6.0.0","resolve":"^1.5.0","fs-extra":"^8.0.0","stagehand":"^1.0.0","walk-sync":"^2.0.0","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"~7.7.0","@babel/plugin-proposal-optional-chaining":"^7.6.0","@babel/plugin-proposal-nullish-coalescing-operator":"^7.4.4"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"8.3.2","tmp":"0.1.0","husky":"3.0.9","mocha":"6.2.2","eslint":"6.6.0","esprima":"4.0.1","ts-node":"8.4.1","prettier":"1.18.2","ember-cli":"3.13.1","ember-try":"1.2.1","fixturify":"1.2.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.9.1","@types/got":"8.3.5","@types/tmp":"0.1.0","handlebars":"4.5.1","testdouble":"3.12.4","typescript":"3.7.2","@types/chai":"4.2.4","@types/node":"9.6.55","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.1.1","@types/mocha":"5.2.7","@types/qunit":"2.9.0","ember-source":"3.14.1","@types/semver":"6.2.0","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.1","@types/resolve":"0.0.8","ember-resolver":"5.3.0","@commitlint/cli":"8.2.0","@types/fs-extra":"8.0.1","ember-cli-babel":"7.12.0","ember-cli-deploy":"1.0.2","ember-cli-uglify":"3.0.0","ember-cli-update":"0.43.8","@types/console-ui":"2.2.3","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.7","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"4.0.8","eslint-plugin-node":"10.0.0","eslint-plugin-ember":"7.3.0","ember-cli-addon-docs":"0.6.15","ember-cli-deploy-git":"1.3.4","ember-cli-app-version":"3.2.0","ember-cli-deploy-build":"2.0.0","eslint-plugin-prettier":"3.1.1","@types/chai-as-promised":"7.1.2","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.1.1","@ember/optional-features":"1.1.0","@typescript-eslint/parser":"2.6.1","conventional-changelog-cli":"2.0.25","ember-cli-addon-docs-esdoc":"0.2.3","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","commitlint-azure-pipelines-cli":"1.0.2","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"8.2.0","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.0","@typescript-eslint/eslint-plugin":"2.6.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3","ember-cli-htmlbars-inline-precompile":"3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_3.1.1_1573053982553_0.7034456743057238","host":"s3://npm-registry-packages"}},"3.1.2":{"name":"ember-cli-typescript","version":"3.1.2","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@3.1.2","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"696454177c3039b711a19fc0669dfc7c2ce81358","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.1.2.tgz","fileCount":42,"integrity":"sha512-J7sC9EL652pEplZRlCzhGoW0T4F6pt29vhEcK4kA397YEootoAZlqTdIhRpR13o8fmTJ8xRWtXEC7KrPPnqamQ==","signatures":[{"sig":"MEUCIQDlSlMGCVEc3/xpz6wNzBUVX3v293269ScFk+1IMXIg5AIgHQIzBjZkzLJevAPISsXvRfjhwV1w0qaW4dnPlz6Pzj0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":185718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd9QSVCRA9TVsSAnZWagAAw6EP/A4U3xCz/52Z7XhHJ06K\nq6ztFp3bcKzUqYwAc6oJWZx6tGiwfjrfAJwhsOAWPFtYDr/bt5DqltT2PUXK\nutBC/YUXmQeME5MjjjYxN75mcUotpFCzfd3K+s4T+XlPUHTJO3xb7Vi2xzlW\nwpUSYca/tV9S2DIC3dZt4AnTHzEaSx/4sZvwsjbNg1iATmtnTx/9ivS7zBql\nuevLjDQ48+f+DjfjUKabk1FBve+frk8S29c0vpenqeEKUv60jNhkJFWhtsbj\nY7usFwPU16vqAWrbaUz+BJoGneNwcbzH7uYjfsldD6d+Dq+UABmvWAMmKcJe\nsdM1UlxIz89CzBk35bw9ZeWvvzF441OdEXq+QdSnEE+A2arvwIj5xMbZh7oz\nNCiJDgOXvozmUk25Mo7qZLZy6PEb2X1g1gxjpivNxLh95RskHoyBt2d01vNk\nYuW9y17/ACaniwmOY0C4sRc2Bxk6Us1LUSN2TQM4//7JlZo7fZlOW8w4ZxCi\nKhAiw/ty5Kh/8IUHXFCL47QXECzaY9GO3pTelO5ZZewRIDr3EYzc0bRCaKF3\nI8Hz4Z5VOHAhrrBRnNBOcnAcIMILrORJbCCUiAoRraZrOFIqvaKYBhdPMWpn\nncqx3rJH1BqWIYPRKmOZDejIhCNeeD3ZJ7I7Hae/iKWhhgCO9XRtseAzv3la\nXysO\r\n=JDH+\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.17.0","yarn":"1.21.1"},"engines":{"node":"8.* || >= 10.*"},"gitHead":"52ae75f2eae10d4581bf8e68dca6c95a77e6ac20","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"james@cos.io"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.4.1","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","@types/ember":"3.1.1","@types/ember__string":"3.0.6"},"_nodeVersion":"8.16.2","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^3.0.0","semver":"^6.0.0","resolve":"^1.5.0","fs-extra":"^8.0.0","stagehand":"^1.0.0","walk-sync":"^2.0.0","ansi-to-html":"^0.6.6","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"~7.7.0","@babel/plugin-proposal-optional-chaining":"^7.6.0","@babel/plugin-proposal-nullish-coalescing-operator":"^7.4.4"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"8.3.2","tmp":"0.1.0","husky":"3.1.0","mocha":"6.2.2","eslint":"6.7.2","esprima":"4.0.1","ts-node":"8.5.4","prettier":"1.18.2","ember-cli":"3.14.0","ember-try":"1.4.0","fixturify":"1.2.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.9.2","@types/got":"8.3.5","@types/tmp":"0.1.0","handlebars":"4.5.3","testdouble":"3.12.4","typescript":"3.7.3","@types/chai":"4.2.7","@types/node":"9.6.55","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.1.1","@types/mocha":"5.2.7","@types/qunit":"2.9.0","ember-source":"3.15.0","@types/semver":"6.2.0","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.1","@types/resolve":"0.0.8","ember-resolver":"6.0.0","@commitlint/cli":"8.2.0","@types/fs-extra":"8.0.1","capture-console":"1.0.1","ember-cli-babel":"7.13.2","ember-cli-deploy":"1.0.2","ember-cli-uglify":"3.0.0","ember-cli-update":"0.47.1","@types/console-ui":"2.2.3","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.7","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"4.2.0","eslint-plugin-node":"10.0.0","eslint-plugin-ember":"7.7.2","ember-cli-addon-docs":"github:ember-learn/ember-cli-addon-docs#4f5bfd11","ember-cli-deploy-git":"1.3.4","ember-cli-app-version":"3.2.0","@types/capture-console":"1.0.0","ember-cli-deploy-build":"2.0.0","eslint-plugin-prettier":"3.1.1","@types/chai-as-promised":"7.1.2","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.1.1","@ember/optional-features":"1.1.0","@typescript-eslint/parser":"2.11.0","conventional-changelog-cli":"2.0.28","ember-cli-addon-docs-esdoc":"0.2.3","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","commitlint-azure-pipelines-cli":"1.0.2","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"8.2.0","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"2.11.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_3.1.2_1576338581353_0.29940576263896257","host":"s3://npm-registry-packages"}},"4.0.0-alpha.1":{"name":"ember-cli-typescript","version":"4.0.0-alpha.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@4.0.0-alpha.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"8916c8f3a9b47dcc0b2e9925d98b685897a4dc66","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-4.0.0-alpha.1.tgz","fileCount":42,"integrity":"sha512-93ChARuJ/Qo8i1jkPwtNk66oC6mj8Rj5f8tpcVlvTa9qpr75KL70hNslVFCEhYakKJmLA+pYhiDolrJ48sZa4Q==","signatures":[{"sig":"MEUCIQCRIP63JJWfUnOFFlnYdvVIQb1QQP2PAIxQBu9nyLR4qwIgMelhzHT7FPqrw9S5t8DtJ7XPCZV4TlgMM6B/nvmzrdM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":184403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIx9eCRA9TVsSAnZWagAA6VAP/i+FC0LzhKFPhLi1CJqf\nbkRwLwcTpKc0GEyk5cS/YAFJun3JfZ7RZGiIr0ZyQxakfecEYLS/STFeaPUU\nk6HE5JlYXR6+0S1+nWOeGArkpSfou2k2z9HpJOHmFQWbT5VCyLeBikqUj/ec\nwHDlL/jEpzpX+hF07/QWXOcGyOrRNBhU2pBv3ZMJ2VsEHUDrI00udQZtSvOE\n/RAh8FkBQQcmRZskac09xNnnWLPkovTGRy9/yMatYP2MSM0gu13sBiSU50Kr\ni1GzN77pPLyxOrbA8gTKu+ysnMhul9YZEjPBwFMi9vYNF2SAIJ8YuLkjoiTf\nRJZqhMpuwQXk2fnBwS8mMjgENz6raRvFDxZq2F28VpxfvoRmnTNxfIq4GNRH\n3uHB4xKHtA/m5uxvGhvXIR7rmcYLfsVlOj8x5o8WlJArNrAW3p0CpLpzHrDj\n9tqi/XIfWlIUtFWoDcQ10+qlVG+caai9Yh5jfxxVppeYGbWRc576fwL2gq9i\ndc8UaJDkI+VsP4BeVl1kX5wi88in3KRxphzDDxN3CHOeOhxuO4xwxofGnsGG\ntDZhpcUKoqXdQP7nXT06MrD9qetUyeBQfsTHw0/A0MylX5yZIgDKiaWDIyqb\nU5tQ7cGktcVbuPDd0ITgi1MN8PJEDfs3u+d+xE+TvV/Eex6Ds6oEwypZ4iDW\nRbeJ\r\n=wYSY\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.17.0","yarn":"1.21.1"},"engines":{"node":"10.* || >= 12.*"},"gitHead":"c2ebe192f11fd27e5540b4411777bb4795502ba2","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"james@cos.io"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.11.3","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","@types/ember":"3.1.1","@types/ember__string":"3.0.6"},"_nodeVersion":"10.17.0","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^3.0.0","semver":"^7.0.0","resolve":"^1.5.0","fs-extra":"^8.0.0","stagehand":"^1.0.0","walk-sync":"^2.0.0","ansi-to-html":"^0.6.6"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"8.3.2","tmp":"0.1.0","husky":"3.1.0","mocha":"6.2.2","eslint":"6.7.2","esprima":"4.0.1","ts-node":"8.5.4","prettier":"1.19.1","ember-cli":"3.14.0","ember-try":"1.4.0","fixturify":"1.2.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.9.2","@types/got":"8.3.5","@types/tmp":"0.1.0","handlebars":"4.5.3","testdouble":"3.12.4","typescript":"3.7.3","@types/chai":"4.2.7","@types/node":"9.6.55","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.1.1","@types/mocha":"5.2.7","@types/qunit":"2.9.0","ember-source":"3.15.0","@types/semver":"6.2.0","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.1","@types/resolve":"0.0.8","ember-resolver":"6.0.0","@commitlint/cli":"8.2.0","@types/fs-extra":"8.0.1","capture-console":"1.0.1","ember-cli-babel":"7.13.2","ember-cli-deploy":"1.0.2","ember-cli-uglify":"3.0.0","ember-cli-update":"0.47.2","@types/console-ui":"2.2.3","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.7","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"4.2.0","eslint-plugin-node":"10.0.0","eslint-plugin-ember":"7.7.2","ember-cli-addon-docs":"github:ember-learn/ember-cli-addon-docs#4f5bfd11","ember-cli-deploy-git":"1.3.4","ember-cli-app-version":"3.2.0","@types/capture-console":"1.0.0","ember-cli-deploy-build":"2.0.0","eslint-plugin-prettier":"3.1.2","@types/chai-as-promised":"7.1.2","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.1.1","@ember/optional-features":"1.2.0","@typescript-eslint/parser":"2.12.0","conventional-changelog-cli":"2.0.31","ember-cli-addon-docs-esdoc":"0.2.3","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","commitlint-azure-pipelines-cli":"1.0.2","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"8.2.0","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"2.12.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_4.0.0-alpha.1_1579360093760_0.8425152503194508","host":"s3://npm-registry-packages"}},"3.1.3":{"name":"ember-cli-typescript","version":"3.1.3","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@3.1.3","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"a2c7ec6a8a5e57c38eb52d83e36d8e18c7071e60","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.1.3.tgz","fileCount":43,"integrity":"sha512-bFi15H60L9TLYfn9XUzi+RAP1gTWHFtVdSy9IHvxXHlCvTlFZ+2rfuugr/f8reQLz9gvJccKc5TyRD7v+uhx0Q==","signatures":[{"sig":"MEQCIBCRj0ZOx965x3Bc75gZmmjnLswO8xLdu7otvUQ2GDNuAiAbMPvYmwe0ke69FgRLTz+SdgjGerE5VUymHpgScA34hA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":192408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKJ8dCRA9TVsSAnZWagAAK/oP/3YADpXf393YDVyTT2EO\nd2og2DqGPqdYJLlWvnU31Xqhb/4r2Oe7fYwDQoGqTLFaCC0gROQaSRUvlwrc\nQSC6xAVc+/j+G77MbPxL/y+f+fwh81GuE+bZGYFcZeJfFekOQcecKVCbiZHv\nrjY6sGbce/uliX5Iib2wzBIrHI0wxRh2wO1EtY0bkfMrIThdroBieevpQhme\nZzNhHK+e3TKMWE40Mm3pCclNPOKspfYaHj1sauBL0sZqRubVm9J0jjSENiOJ\nNkmoezq1YcBKrt7Exw9l/DHH62Zxuw83mx7BbHRmb+tzQd4fsf91saow9gFa\nFeJKnCt10Hecc0JU1jCObv9B7cpq0mDPXqUBfQMy/OD/KmbxF4T4UdzDhnay\nrbk6ARUvV4DItOgaRhBflsI+Lhz7GLTTMSL0fVe8Im4d3ew2+Ji1YqcdAk7f\nRwp9BBlDXZL4zZfQZIIQtO+9nVgSQOb2vl/D638Mn7pfkGu79hUYlGlW5oDC\n3f68O8EieJ9NDdGevrGvpVTNzpkU+6Ckp70OkwQg8P0LrVTjgPy8lgDQXTn2\nmlM81oVTnuTcx5Spfqxi5a+mWVGMtc4bcRQaSIQC2Ft9fGZ5wRZor1kfbcII\nNK17JLnLVo522d+/0eEw8JDwlzSOeh6hHpUJvuDnnH5Ue2KNZG3dqRRIaSJH\nzSWg\r\n=EvqK\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.18.1","yarn":"1.21.1"},"engines":{"node":"8.* || >= 10.*"},"gitHead":"a02dbf599781806ab7d1c5eb03b5a83502225ef4","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"james@cos.io"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.13.4","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","@types/ember":"3.1.1","@types/ember__string":"3.0.6"},"_nodeVersion":"10.18.1","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^3.0.0","semver":"^6.3.0","resolve":"^1.5.0","fs-extra":"^8.0.0","stagehand":"^1.0.0","walk-sync":"^2.0.0","ansi-to-html":"^0.6.6","broccoli-stew":"^3.0.0","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"~7.8.0","@babel/plugin-proposal-optional-chaining":"^7.6.0","@babel/plugin-proposal-nullish-coalescing-operator":"^7.4.4"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"10.2.2","tmp":"0.1.0","husky":"4.2.0","mocha":"7.0.0","eslint":"6.8.0","esprima":"4.0.1","ts-node":"8.6.2","prettier":"1.18.2","ember-cli":"3.15.1","ember-try":"1.4.0","fixturify":"1.2.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"0.9.2","@types/got":"8.3.5","@types/tmp":"0.1.0","handlebars":"4.7.2","testdouble":"3.12.5","typescript":"3.7.5","@types/chai":"4.2.7","@types/node":"9.6.55","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.1.1","@types/mocha":"5.2.7","@types/qunit":"2.9.0","ember-source":"3.16.0","@types/semver":"6.2.0","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.2","@types/resolve":"1.14.0","ember-resolver":"7.0.0","@commitlint/cli":"8.3.5","@types/fs-extra":"8.0.1","broccoli-plugin":"4.0.1","capture-console":"1.0.1","ember-cli-babel":"7.13.2","prettier-eslint":"9.0.1","ember-cli-deploy":"1.0.2","ember-cli-uglify":"3.0.0","ember-cli-update":"0.52.1","@types/console-ui":"2.2.3","broccoli-node-api":"1.7.0","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.7","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"4.2.2","eslint-plugin-node":"11.0.0","eslint-plugin-ember":"7.7.2","ember-cli-addon-docs":"github:ember-learn/ember-cli-addon-docs#4f5bfd11","ember-cli-deploy-git":"1.3.4","ember-cli-app-version":"3.2.0","@types/capture-console":"1.0.0","ember-cli-deploy-build":"2.0.0","eslint-config-prettier":"6.9.0","eslint-plugin-prettier":"3.1.2","@types/chai-as-promised":"7.1.2","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.1.1","@ember/optional-features":"1.3.0","@typescript-eslint/parser":"2.17.0","conventional-changelog-cli":"2.0.31","ember-cli-addon-docs-esdoc":"0.2.3","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","commitlint-azure-pipelines-cli":"1.0.3","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"8.3.4","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"2.17.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_3.1.3_1579720477220_0.18473844732165334","host":"s3://npm-registry-packages"}},"3.1.4":{"name":"ember-cli-typescript","version":"3.1.4","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@3.1.4","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"21d6ccd670d1f2e34c9cce68c6e32c442f46806b","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-3.1.4.tgz","fileCount":68,"integrity":"sha512-HJ73kL45OGRmIkPhBNFt31I1SGUvdZND+LCH21+qpq3pPlFpJG8GORyXpP+2ze8PbnITNLzwe5AwUrpyuRswdQ==","signatures":[{"sig":"MEYCIQDGr0hCIIzfq1VQ3F83byYED4NikatuhtCK+GmDRPelfwIhAJT/cgRQ66HdCDMm/uVFQvluQ8C2LMR3OBDtm9dMkEHQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":990907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0SF6CRA9TVsSAnZWagAAf90P/Az0Wcbts6glzmL/FG2q\nLFD+SFA+ZhhJGgs0kKvJDf9fT7f+e5vZ3ZS4kb1/AFdlnBc1T1B/if3XaRIg\nIkhF+iBApKNgn7IdBC8cJYzyv2gVipTKK91TL6OgpRGCqMf73vWvFdHAiJIr\n79JBPlyYq0dD1B/FrIVwBnpSbipix4V15Xkn7SRF2MUdFQQLES/veMzCZraZ\nJ1lmP+VIBbGGdH4q7wVtxIyQqY1Kh7Xv+iK5QaqyuVg7K67N/cygvmWL35uF\nR1RQ0LNtaSg9QO/i+qHCQEOPju3hCuqscKNc1CWrtqc9V9t+gFZDfA+ZcMPz\nB9uunTpn08ADXAaeiEnSlM6K72vcnt4AQSP2ftaEoCw5bDzg9IyZiqsxLVRl\n3SsT28swsPHjqgBIKVyOdbLGjhP/OY/tAixM4KTE4LBAdArAYRt3Q4amHQRj\nIHq4kXcWPU1vX6CP6/8L1p1vjWDsMekYvhus97TM7lFz/bTxsph98IiTWsNQ\n/q761G5pA8rjIJ1f8H7DAMcW4HTx1RUrcrCxqCxBdNeg1+5+CrPyaJ7uBXPT\nb5HPGwy528Xdj57jelEGwMfWRN/PGsspSLY7Et9OlHGTtQTuVJTlnpp/dqzU\nx7Xig8Nkiv6geuBDRfQ+5C3yd4+s05M1GLzgjOQRvg1ALnrhVYtjzvEv+emT\nsXwZ\r\n=+Xc3\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.19.0","yarn":"1.22.1"},"engines":{"node":"8.* || >= 10.*"},"scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"jamescdavis@gmail.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher","ember-cli-babel"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"hawk":"7","@types/ember":"3.1.1","@types/ember__string":"3.0.6"},"dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^3.0.0","semver":"^6.3.0","resolve":"^1.5.0","fs-extra":"^8.0.0","stagehand":"^1.0.0","walk-sync":"^2.0.0","ansi-to-html":"^0.6.6","broccoli-stew":"^3.0.0","ember-cli-babel-plugin-helpers":"^1.0.0","@babel/plugin-transform-typescript":"~7.8.0","@babel/plugin-proposal-optional-chaining":"^7.6.0","@babel/plugin-proposal-nullish-coalescing-operator":"^7.4.4"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"10.6.0","tmp":"0.1.0","husky":"4.2.3","mocha":"7.1.0","eslint":"6.8.0","esprima":"4.0.1","ts-node":"8.6.2","prettier":"1.18.2","ember-cli":"3.16.0","ember-try":"1.4.0","fixturify":"1.3.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.1.0","@types/got":"8.3.5","@types/tmp":"0.1.0","handlebars":"4.7.3","testdouble":"3.13.0","typescript":"3.7.5","@types/chai":"4.2.10","@types/node":"9.6.55","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.1.1","@types/mocha":"7.0.2","@types/qunit":"2.9.0","ember-source":"3.17.0","@types/semver":"6.2.1","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.3","@types/resolve":"1.14.0","ember-resolver":"7.0.0","@commitlint/cli":"8.3.5","@types/fs-extra":"8.1.0","broccoli-plugin":"4.0.1","capture-console":"1.0.1","ember-cli-babel":"7.18.0","prettier-eslint":"9.0.1","ember-cli-deploy":"1.0.2","ember-cli-uglify":"3.0.0","ember-cli-update":"0.52.1","@types/console-ui":"2.2.3","broccoli-node-api":"1.7.0","ember-cli-release":"0.2.9","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.7","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"4.2.3","eslint-plugin-node":"11.0.0","eslint-plugin-ember":"7.10.1","ember-cli-addon-docs":"ember-learn/ember-cli-addon-docs#4f5bfd11","ember-cli-deploy-git":"1.3.4","ember-cli-app-version":"3.2.0","@types/capture-console":"1.0.0","ember-cli-deploy-build":"2.0.0","eslint-config-prettier":"6.10.0","eslint-plugin-prettier":"3.1.2","@types/chai-as-promised":"7.1.2","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.1.1","@ember/optional-features":"1.3.0","@typescript-eslint/parser":"2.22.0","conventional-changelog-cli":"2.0.31","ember-cli-addon-docs-esdoc":"0.2.3","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","commitlint-azure-pipelines-cli":"1.0.3","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"8.3.4","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"2.22.0","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_3.1.4_1590763898098_0.10911324488911633","host":"s3://npm-registry-packages"}},"4.0.0-rc.1":{"name":"ember-cli-typescript","version":"4.0.0-rc.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@4.0.0-rc.1","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"b0def77bc617e9bc77876cf90a984637dd38f40b","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-4.0.0-rc.1.tgz","fileCount":46,"integrity":"sha512-C8o24nGPyv1EN3EFhrYZK9CGG8dQVgBU3gucl/GBEbdXTjmiKLSJtm65IZOZh3uU+G4EO9iTVGGsKkw+j2DX3A==","signatures":[{"sig":"MEYCIQCd4TQapB4GNZCcMZSHDsiOXoW5Exa83xhS0T9Je24hfwIhAKV8KpCy8Ovj8xrdCLFjs9ILiQ9SnVUL9zwVuojzx7GC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1847496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDicqCRA9TVsSAnZWagAAhI4P/2zS6+s2TlydlC8Jqg/a\neoM3XOj9F7QcqxbXOgA/k5rlInATSlMDTBwZgivO4cHW4T7osfSnUJcpHgkl\nsd8GXjwUO6Yqb4JburW8/uKAfZrL/yBasbmrlQwwk3px5ma+GtIlneQaXOfS\nRi4HOYvh6E2dsCo5INIPAxjq1Gc/rWxoL/T3gzTuQF9zVdxfFhF+JYpAR9EX\nZPS3r0ZPr+bzVT5o46PbFKkzJueeav0ib/CpIZDHaqvnfsqgN50IgXMrk/cO\nLJXnR4FbZBlbMNyO3ZXyMHT3pnuEdx511eihv3PxEhMMwTQh5TyN1efAGGNf\nmSy70RRX1lWTDywoCok0/T5R2C7MXvnMzf3wHd5v+L5Y5QALevNhWELzbABy\nzErcQGDqo7rJwUkTeNt1RC2CzojttCdfKvlTiwBMGJSNRNt7++2Pgtb8th0J\nB4GBgK2bYYCLGlv8OKq44sykYTbXxlEkeJpUbyz1iyxpidBYYHcGmD5shtWc\nj9Rj4j6zqjoLhz/uNAUFyxYXY7JqiL9YR/eVfYEoWlRfcvB8t/eYoRB1ae6C\nJY7hl7haTjX9EUveLp8WutcwSsKldfalqHr7bQe9JH9q1XWSoBAozJm0eAbc\neIA2WjJtnzmW9wiuuRiYEu8cbJbTY6IHIgzyS0wyO8PNmzm6Zc1Sc7eBDoHK\nJi/c\r\n=ga9M\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.19.0","yarn":"1.22.4"},"readme":"<center><h1>ember-cli-typescript</h1></center>\n\n<center>Use TypeScript in your Ember 2.x and 3.x apps!</center>\n\n<center>\n\n[![Actions Status](https://github.com/typed-ember/ember-cli-typescript/workflows/CI/badge.svg)](https://github.com/typed-ember/ember-cli-typescript/actions) [![Ember Observer Score](https://emberobserver.com/badges/ember-cli-typescript.svg)](https://emberobserver.com/addons/ember-cli-typescript)\n\n</center>\n\n- [Documentation](#documentation)\n- [Usage](#usage)\n  - [Installation and Setup](#installation-and-setup)\n  - [Upgrading from 1.x](#upgrading-from-1x)\n    - [Update ember-cli-babel](#update-ember-cli-babel)\n    - [Update ember-decorators](#update-ember-decorators)\n    - [Update ember-cli-typescript](#update-ember-cli-typescript)\n      - [Account for addon build pipeline changes](#account-for-addon-build-pipeline-changes)\n      - [Account for TS → Babel issues](#account-for-ts--babel-issues)\n- [Getting Help](#getting-help)\n  - [💬 Getting Started](#-getting-started)\n  - [📚 Issues With Ember Type Definitions](#-issues-with-ember-type-definitions)\n  - [⚙️ Issues With Adding TypeScript Support To Apps and Addons](#️-issues-with-adding-typescript-support-to-apps-and-addons)\n  - [✅ Issues With Linting TypeScript](#-issues-with-linting-typescript)\n- [Supported Ember and TypeScript versions](#supported-ember-and-typescript-versions)\n- [Installing from git](#installing-from-git)\n\n## Documentation\n\nThis README focuses on basic information about setting up and using the addon. For more details, see [the documentation](https://typed-ember.github.io/ember-cli-typescript/versions/master/), which includes:\n\n- troubleshooting tips\n- a walkthrough for using TypeScript with Ember effectively\n- guides for publishing addons written in TypeScript\n- more details on how the addon sets up your project during installation\n\n…and much more!\n\n## Usage\n\n### Installation and Setup\n\nYou can simply `ember install` the dependency like normal:\n```sh\nember install ember-cli-typescript@latest\n```\n\nAll dependencies will be added to your `package.json`, and you're ready to roll! **If you're upgrading from a previous release, see below!** you should check to merge any tweaks you've made to `tsconfig.json`.\n\n### Upgrading from 1.x\n\nThere are a number of important changes between ember-cli-typescript v1 and v2, which mean the upgrade process is *straightforward* but *specific*:\n\n1. Update ember-cli-babel. Fix any problems introduced during the upgrade.\n2. Update ember-decorators. Fix any problems introduced during the upgrade.\n3. Update ember-cli-typescript. Follow the detailed upgrade guide below to fix discrepancies between Babel and TypeScript's compiled output.\n\nIf you deviate from this order, you are likely to have a *much* more difficult time upgrading!\n\n#### Update ember-cli-babel\n\nember-cli-typescript **requires** ember-cli-babel at version 7.1.0 or above, which requires ember-cli 2.13 or above. It also **requires** @babel/core 7.2.0 or higher.\n\nThe recommended approach here is to deduplicate existing installations of the dependency, remove and reinstall ember-cli-babel to make sure that all its transitive dependencies are updated to the latest possible, and then to deduplicate *again*.\n\nIf using yarn:\n    \n```\nnpx yarn-deduplicate\nyarn remove ember-cli-babel\nyarn add --dev ember-cli-babel\nnpx yarn-deduplicate\n```\n\nIf using npm:\n      \n```\nnpm dedupe\nnpm uninstall ember-cli-babel\nnpm install --save-dev ember-cli-babel\nnpm dedupe\n```\n\nNote: If you are also using ember-decorators—and specifically the babel-transform that gets added with it—you will need update @ember-decorators/babel-transforms as well (anything over 3.1.0 should work):\n\n```\nember install ember-decorators@^3.1.0 @ember-decorators/babel-transforms@^3.1.0\n```\n\n#### Update ember-decorators\n\nFollow the same process of deduplication, reinstallation, and re-deduplication as described for ember-cli-babel above. This will get you the latest version of ember-decorators and, importantly, its @ember-decorators/babel-transforms dependency.\n\n#### Update ember-cli-typescript\n\nNow you can simply `ember install` the dependency like normal:\n\n```sh\nember install ember-cli-typescript@latest\n```\n\n***Note:* To work properly, starting from v2, ember-cli-typescript must be declared as a `dependency`, not a `devDependency` for addons. With `ember install` this migration will be automatically handled for you.**\n\nIf you choose to make the upgrade manually with yarn or npm, here are the steps you need to follow:\n\n1. Remove ember-cli-typescript from your `devDependencies`.\n\n    With yarn:\n\n    ```sh\n    yarn remove ember-cli-typescript\n    ```\n\n    With npm:\n\n    ```sh\n    npm uninstall ember-cli-typescript\n    ```\n\n2. Install the latest of ember-cli-typescript as a `dependency`:\n\n    With yarn:\n\n    ```sh\n    yarn add ember-cli-typescript@latest\n    ```\n\n    With npm:\n\n    ```sh\n    npm install --save ember-cli-typescript@latest\n    ```\n\n3. Run `ember generate`:\n\n    ```sh\n    ember generate ember-cli-typescript\n    ```\n\n##### Account for addon build pipeline changes\n\nSince we now integrate in a more traditional way into Ember CLI's build pipeline, there are two changes required for addons using TypeScript.\n\n- Addons can no longer use `.ts` in `app`, because an addon's `app` directory gets merged with and uses the *host's* (i.e. the other addon or app's) preprocessors, and we cannot guarantee the host has TS support. Note that `.ts` will continue to work for in-repo addons because the app build works with the host's (i.e. the app's, not the addon's) preprocessors.\n\n- Similarly, apps must use `.js` to override addon defaults in `app`, since the different file extension means apps no long consistently \"win\" over addon versions (a limitation of how Babel + app merging interact).\n\n##### Account for TS → Babel issues\n\nember-cli-typescript v2 uses Babel to compile your code, and the TypeScript compiler only to *check* your code. This makes for much faster builds, and eliminates the differences between Babel and TypeScript in the build output that could cause problems in v1. However, because of those differences, you’ll need to make a few changes in the process of upgrading.\n\n- `const enum` is not supported at all. You will need to replace all uses of `const enum` with simply `enum` or constants.\n\n- Using ES5 getters or settings with `this` type annotations is not supported through at least Babel 7.3. However, they should also be unnecessary with ES6 classes, so you can simply *remove* the `this` type annotation.\n\n- Trailing commas after rest function parameters (`function foo(...bar[],) {}`) are disallowed by the ECMAScript spec, so Babel also disallows them.\n\n- Re-exports of types have to be disambiguated to be *types*, rather than values. Neither of these will work:\n\n  ```ts\n  export { FooType } from 'foo';\n  ```\n  ```ts\n  import { FooType } from 'foo';\n  export { FooType };\n  ```\n\n  In both cases, Babel attempts to emit a *value* export, not just a *type* export, and fails because there is no actual value to emit. You can do this instead as a workaround:\n\n  ```ts\n  import * as Foo from 'foo';\n  export type FooType = Foo.FooType;\n  ```\n\n## Getting Help\n\nWhen seeking help, you should first consider what you need, and which aspect of the Ember+TypeScript ecosystem your issue pertains to.\n\n### 💬 Getting Started\n\nWe have a channel (**`#e-typescript`**) on the [Ember Community Discord server](https://discordapp.com/invite/zT3asNS) where you can ask about getting started, good resources for self-directed learning and more.\n\n### 📚 Issues With Ember Type Definitions\n\nIf you've found that some of the Ember type information is missing things, or is incorrect in some way, please first ensure you're using the latest version of the [packages this addon installs](https://ember-cli-typescript.com/docs#other-packages-this-addon-installs). Although [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript) are not the advised places to report problems, you may find an answer there.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ⚙️ Issues With Adding TypeScript Support To Apps and Addons\n\nIf you run into a problem with the way TypeScript is compiled in Ember apps (i.e., a broccoli error message, incorrect build output, etc...), please first check [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript), as you may find an answer.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ✅ Issues With Linting TypeScript\n\nThe TypeScript compiler does some very basic linting of your code, but most developers use (and Microsoft now officially recommends) ESLint.\n\nOne sure way to tell which tool is generating an error message is that _Linters like [ESLint](https://eslint.org/) or [TSLint](https://github.com/palantir/tslint/) will always mention their name, and the name of the pertinent rule, when it alerts you to a violation_.\n\nFor example, in VS Code, you might see a popover with this message:\n\n```plain\n[eslint] variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)\n```\n\nHere, `variable-name` is the name of the rule, and `[eslint]` is the *source* of the rule.\n\n- For issues relating to typescript compiler analysis, [create an issue in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n- If you run into issues with using ESLint with Ember, create an issue [here](https://github.com/ember-cli/ember-cli-eslint/issues/new).\n- For TSLint-related concerns, please create an issue in the [`ember-cli-tslint`](https://github.com/typed-ember/ember-cli-tslint) project by clicking [here](https://github.com/typed-ember/ember-cli-tslint/issues/new).\n\n## Supported Ember and TypeScript versions\n\nember-cli-typescript runs its test suite against Ember CLI current and beta. It's also in active use in several large applications. Any breakage for upcoming releases _should_ be detected and fixed ahead of those releases, but you can help us guarantee that by running your own Ember.js+TypeScript app with beta and canary turned on and let us know if you run into issues with upcoming Ember.js releases.\n\nThis library supports the current version of TypeScript [![TS Version](https://img.shields.io/github/tag/Microsoft/typescript.svg?label=latest%20typescript%20release)](https://github.com/Microsoft/TypeScript/releases/latest) and at least one previous minor or major release. In other words, if `3.4` is the latest release, we **do** support `3.4.x`, `3.3.x`, and **might** support `3.2.x` as well. (The test suite only runs against the current release and `next` branch, but the TS versions do not affect the build process in the same way they do type definitions.)\n\n## Installing from git\n\nThis addon uses TypeScript for its own implementation, so if you install `ember-cli-typescript` from git rather than from the npm registry, you won't get compiled `.js` files. To get everything working, you can install `ts-node` as a project dependency, and `ember-cli-typescript` will ensure it's registered correctly to transpile source files as needed.\n","engines":{"node":"10.* || >= 12.*"},"gitHead":"c68d6af5239142d65c447e55f6000309c300530c","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"jamescdavis@gmail.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.13.4","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","@types/ember":"3.1.2","@types/ember__string":"3.0.8"},"_nodeVersion":"10.19.0","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.6","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"co":"4.6.0","got":"11.5.0","husky":"4.2.5","mocha":"8.0.1","eslint":"7.4.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"8.10.2","prettier":"2.0.5","ember-cli":"3.19.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.2.0","@types/got":"9.6.11","handlebars":"4.7.6","testdouble":"3.16.1","typescript":"3.9.6","@types/chai":"4.2.11","@types/node":"14.0.23","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.16.0","@types/mocha":"8.0.0","@types/qunit":"2.9.1","ember-source":"3.20.0","@types/semver":"7.3.1","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.7","@types/resolve":"1.17.1","ember-resolver":"8.0.0","@commitlint/cli":"9.1.1","@types/fs-extra":"9.0.1","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.21.0","prettier-eslint":"11.0.0","ember-cli-deploy":"1.0.2","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@types/console-ui":"2.2.3","broccoli-node-api":"1.7.0","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.9","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.2.0","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"8.9.1","ember-cli-addon-docs":"github:ember-learn/ember-cli-addon-docs#4f5bfd11","ember-cli-deploy-git":"1.3.4","ember-cli-app-version":"3.2.0","@types/capture-console":"1.0.0","ember-cli-deploy-build":"2.0.0","eslint-config-prettier":"6.11.0","eslint-plugin-prettier":"3.1.4","@types/chai-as-promised":"7.1.3","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.1.1","@ember/optional-features":"1.3.0","@typescript-eslint/parser":"3.6.1","conventional-changelog-cli":"2.0.34","ember-cli-addon-docs-esdoc":"0.2.3","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","commitlint-azure-pipelines-cli":"1.0.3","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"9.1.1","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"3.6.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_4.0.0-rc.1_1594763049501_0.6838965228338885","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"ember-cli-typescript","version":"4.0.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@4.0.0","maintainers":[{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"jamescdavis","email":"james@cos.io"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"690f0cd3d15f4a69ae6d89f25b70b5997ae59161","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-4.0.0.tgz","fileCount":46,"integrity":"sha512-ZwnBbBJ0yAIKq4FVgNFkxfMwqJhw6PyT45Enp2RvWIgzgaYCId8brrSgg3tvVWWjA7N5hiT4Ilyz5jrQwrnU1Q==","signatures":[{"sig":"MEUCIFV5AxDHkyuroZTkP/fdDhO0fgEZQvaoN+v3xfiNsWCYAiEAinRqvt3LjtQ6L0/sXgWpw0DRLHtN4x9zbXUocYsqWik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1850817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUBWBCRA9TVsSAnZWagAAkhoP/1CFoQpeV0P/+Nr1+UUT\n0tu7k/v91icflyB4xWP4ZV1ijVQ0lXftpozHAaHMNYH6PEy9ybPbJQv/IAIE\nr/8JKoHLT7anI4Sp4I4FE/7M1XD/+07GvH/Yw5YAVc8tquSbMeVVAqbQs+Pg\nS5kZ1Loe6Dtbzc+7pUmo0QEQkaiZ289md3QX8xEuUxQMciAnaPbEMczkJcfM\nyPsh9JU+TYUBaMY05XP1HDuiABwPSjI/wpsipJhXHliwYmuYlGG+yFIBAJ4S\n5tGFUjpIWKED1NlwZiGMaZvNaYoZqkNfVyzn0tTy0EZVn17SW+JPTQ+ZKvNS\nS3TKqwy7mDirxCfyXt67PBSNz29n2ofTR3DdBICbRrftB0Dww8ZdhtyDsHSB\ntIQVFpnGCVmIBsOLo2GN7wse/h8+XPoVYZHyx9xsZ/ujP0PmJ+eIi11faNpq\nZFV2rEUWaZLxHT2ynvEpWZLLtXFQX/IkGOU4eyqlFZjTKLQUor6Y3k6RUSEN\noR2BZMEF5t9RuHVQxhWRSS9niIzi5LUlPvGRX3JeM3j7SLAVXu620nDxAeG5\nn1oE26dx+/rQDrW0pij1cfddHr/ddRahdw4FSp8g7ylFDG9HljotmtT9106R\ncgOiBx4cOTPk5RqeeiT4EpU78Sg0Hu/bbfTjOWTasxzH4HT49hTYzHDuxGVw\n6Ih1\r\n=Rb2N\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.22.0","yarn":"1.22.5"},"engines":{"node":"10.* || >= 12.*"},"gitHead":"0dd078b0b49ea597aa0cbe775692a00fd04aac61","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"jamescdavis@gmail.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.14.6","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","@types/ember":"3.1.2","@types/ember__string":"3.0.8"},"_nodeVersion":"10.22.0","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.6","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.6.0","husky":"4.2.5","mocha":"8.1.3","eslint":"7.8.1","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"8.10.2","prettier":"2.1.1","ember-cli":"3.21.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.4.0","@types/got":"9.6.11","handlebars":"4.7.6","testdouble":"3.16.1","typescript":"3.9.7","@types/chai":"4.2.12","@types/node":"14.6.3","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.16.0","@types/mocha":"8.0.3","@types/qunit":"2.9.1","ember-source":"3.21.1","@types/semver":"7.3.3","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.7","@types/resolve":"1.17.1","ember-resolver":"8.0.2","@commitlint/cli":"9.1.2","@types/fs-extra":"9.0.1","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.22.1","prettier-eslint":"11.0.0","ember-cli-deploy":"1.0.2","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@types/console-ui":"2.2.3","broccoli-node-api":"1.7.0","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.9","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"8.13.0","ember-cli-addon-docs":"github:ember-learn/ember-cli-addon-docs#4f5bfd11","ember-cli-deploy-git":"1.3.4","ember-cli-app-version":"3.2.0","@types/capture-console":"1.0.0","ember-cli-deploy-build":"2.0.0","eslint-config-prettier":"6.11.0","eslint-plugin-prettier":"3.1.4","@types/chai-as-promised":"7.1.3","ember-cli-deploy-git-ci":"1.0.1","ember-load-initializers":"2.1.1","@ember/optional-features":"1.3.0","@typescript-eslint/parser":"3.10.1","conventional-changelog-cli":"2.1.0","ember-cli-addon-docs-esdoc":"0.2.3","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","commitlint-azure-pipelines-cli":"1.0.3","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"9.1.2","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"3.10.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_4.0.0_1599083904551_0.8861371687212753","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"ember-cli-typescript","version":"4.1.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@4.1.0","maintainers":[{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"2ff17be2e6d26b58c88b1764cb73887e7176618b","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-4.1.0.tgz","fileCount":106,"integrity":"sha512-zSuKG8IQuYE3vS+c7V0mHJqwrN/4Wo9Wr50+0NUjnZH3P99ChynczQHu/P7WSifkO6pF6jaxwzf09XzWvG8sVw==","signatures":[{"sig":"MEUCIQC47uFa2clmiKYWbzLPxr2isvrHyYG04/gHuyvzkHOZKAIgSVx+L//C0YZgUAg3BHjIgRHQIoO1hbVq1YaEH7PJhkI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGxYKCRA9TVsSAnZWagAAi8kP/i4Lcc0mxL7B8fdMgsFL\nmK+4+VIbFNM7wxnYlhfpEHjVrBwAASi853uDYe2QFJYrgiOlSSNipx37sCt7\n3lA5k76VbPn9y/QrXdC2vHkUd/14iD7m8a9fXVMIsaMBSedF/naynGodRE6j\n5gdAv4hLJq6jJGublOQA7a26ZLMQ6mHaC5ird/jOQiCZ88f2PeoIxZRbc0WN\n4FkXJ5X7OSLjQLoikdgxcrCVWtJo0+RENdjdQY8uWyhW4KekCRzcUImZ/pUo\nzZ615YIO83GiAm7L3YX5jbU0Z2UdG4G9flP3rJitjf0HsgG5qUHHQFfqITTr\nxU28lB9G6MO7SiDYL4twRrQIDGCdU/MvpZZQ1i7/BkrE9cymy8jhCNIVyNV6\nFapk33sMfe7i3sk9JhNmT4FX5Qi5w5+9aPUzrPtQBlQ9kje2gkOdQfBkl00v\npgXA2mD2hXVLjy0zUlfZ+1A3aFvjOXeiqw8G+Hvq7OVVCA1KStIDBdtnuKQ9\nHpExYcadVodgQarzP0o21j1kdKMrswA11IRk5KRcXz+Q48Jcb68GYGhv7cFh\n4pdXr6OcSgJubBSQgt/BFcL8prNCISpNjLGCvK81D3X/GBKqa9EHeEJbW+t/\n8f6N5759M1T1uQdaoPnM/0exCeO2hZe5p4yg2otnFOvooCs8p9yS4BbQtDC+\nV6db\r\n=mY0t\r\n-----END PGP SIGNATURE-----\r\n"},"husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"volta":{"node":"10.23.0","yarn":"1.22.10"},"engines":{"node":"10.* || >= 12.*"},"scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s -u","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"jamescdavis@gmail.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow ember apps to use typescript files.","directories":{},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"hawk":"7","@types/ember":"3.16.2","@types/ember__string":"3.16.1"},"dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.6","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.8.0","husky":"4.3.0","mocha":"8.2.1","eslint":"7.13.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"9.0.0","prettier":"2.1.2","ember-cli":"3.22.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.11","handlebars":"4.7.6","testdouble":"3.16.1","typescript":"4.0.5","@types/chai":"4.2.14","@types/node":"14.14.8","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.16.2","@types/mocha":"8.0.4","@types/qunit":"2.9.6","ember-source":"3.23.0","@types/semver":"7.3.4","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.7","@types/resolve":"1.17.1","ember-resolver":"8.0.2","@commitlint/cli":"11.0.0","@types/fs-extra":"9.0.4","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"11.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.0.0-beta.3","@types/console-ui":"2.2.3","broccoli-node-api":"1.7.0","@glimmer/component":"^1.0.0-beta.3","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.13","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"9.6.0","@types/ember__object":"^3.1.1","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.1.4","@types/chai-as-promised":"7.1.3","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"4.8.1","conventional-changelog-cli":"2.1.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","commitlint-azure-pipelines-cli":"1.0.3","ember-maybe-import-regenerator":"0.1.6","@commitlint/config-conventional":"11.0.0","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"4.8.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_4.1.0_1612387849203_0.5368186741316292","host":"s3://npm-registry-packages"}},"4.2.0":{"name":"ember-cli-typescript","version":"4.2.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@4.2.0","maintainers":[{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"e748f08b490500d757345b8520cc13804b923085","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-4.2.0.tgz","fileCount":55720,"integrity":"sha512-kqbzGqgKDX7ZIA0PQI1/E6OWqWMVT7fgSZ3Q8UsJggi6ljKCWgHycKuTD+aRYSwo8gmq3D5AWx9pj1GOhtiAWA==","signatures":[{"sig":"MEUCIQDD1ptXGVR508JuuPW9/l6MvkpEHUUhUo1sAofO3J/wXQIgTywdhAxZ+NqBEZeHh7ZlP7WwH0dCMANNcRrvgVFsv7E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":376554749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyNx5CRA9TVsSAnZWagAAAJgP/1puc7bgWPtdNc6DEshA\nj9QbIOPxyU5o89PXRurkTlUqdBIedMeSwZtgqBzIRu7TUIahfMu8Xd4VDl9H\ns+khHjPE4aHw17GsytnC53laa8ADhpbIiJocS5f8uPKQiSnD6NSjeEwKoRhI\n/lzCVNcEYdH9Ze8V83S+s2g8WIVkqqqqkhYuLtQUs0BjwItEza41g24WIpnZ\nmdNCY0Hz9Sg/4XcOBJw7mJ/EXYEJ/B4/IV/vIl+xZZR0xlZ3vbAsbHJyVYqa\nQ8Lh5DOFg8Uy1gvw+gwm7WWqCUSOZbIOyuau1NXnr1JXVSXJ8ACa0Azsx25c\ns3aM5c06jT5pGMI60JlnGL/Tc88sPap1Q/rz8gSKgm9wzf4neqWm3QF5Ps0C\nFCHAD8nE9cQchSw8LGdLik/3awIrDM5pzWzPJBhkIt8uiYe2quDl4qH/FAms\ni/dTT5sBCF+7iLlFwVUGCgdv0Kk8UJ87upZAxRXPybzvBGPkyZGSof/7a/+y\npggR6/8KzyPxTOq+iSXw0BHlHI65SfcMWlxfGxwIPQSgD7NXuxdOJ39MBgJG\ngQucOWw65IbIiuOYw/KixFWxEaDHRUwMYPI9DzFiZeyRbA9xkXDA/MJtUrz8\ndQj65W36uXHhhIHJ/Oy//s9tpja77BoYc3nWFa563CyXqRZ90c0oJJYPQjYq\nUXW5\r\n=Ueza\r\n-----END PGP SIGNATURE-----\r\n"},"volta":{"node":"10.23.0","yarn":"1.22.10"},"engines":{"node":"10.* || >= 12.*"},"gitHead":"f0f005f2e1f71d50ab5d481878ce3ada4c87f301","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"jamescdavis@gmail.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.14.8","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","@types/ember":"3.16.2","@types/ember__string":"3.16.1"},"_nodeVersion":"10.23.0","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.15","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.8.0","mocha":"8.2.1","eslint":"7.13.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"9.0.0","prettier":"2.1.2","ember-cli":"3.22.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.11","handlebars":"4.7.7","testdouble":"3.16.1","typescript":"4.0.5","@types/chai":"4.2.14","@types/node":"14.14.8","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.16.2","@types/mocha":"8.0.4","@types/qunit":"2.11.1","ember-source":"3.23.0","@types/semver":"7.3.4","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.7","@types/resolve":"1.17.1","ember-resolver":"8.0.2","@types/fs-extra":"9.0.4","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"11.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.0.0-beta.3","@types/console-ui":"2.2.3","broccoli-node-api":"1.7.0","@glimmer/component":"^1.0.0-beta.3","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.13","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"9.6.0","@types/ember__object":"^3.1.1","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.1.4","@types/chai-as-promised":"7.1.3","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"4.8.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"4.8.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_4.2.0_1623776376152_0.7466937322454659","host":"s3://npm-registry-packages"}},"4.2.1":{"name":"ember-cli-typescript","version":"4.2.1","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@4.2.1","maintainers":[{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"54d08fc90318cc986f3ea562f93ce58a6cc4c24d","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-4.2.1.tgz","fileCount":74,"integrity":"sha512-0iKTZ+/wH6UB/VTWKvGuXlmwiE8HSIGcxHamwNhEC5x1mN3z8RfvsFZdQWYUzIWFN2Tek0gmepGRPTwWdBYl/A==","signatures":[{"sig":"MEUCIFa4jd3ozTNU9EqnTjk+CboRwjvcCjSdEwpmCTqjLJiSAiEAkIldELMa6Omrxz/0vtxU4q280IkY+VzI3OJJMO8xiO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1161232,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyzH8CRA9TVsSAnZWagAAqkQP/RndxFKSn/EBcvzV746U\nZdiwejDz31363z9WTIFRhKAThohnX+Esmpx/sx27DKmd8mEHrrQeUf9VRnM0\nrE+aova2KTWCFL8ov21lk816q1qiHmn/e3OixDBOpgD3yUGB9l0pu0+SaeUQ\nXF6UkANAEkHh0u+vj44F8ZKzDfKnOCBJ4AnzzRwGkaT8IjE77RPD6obL9i0o\nWO6dwqzBdPm7bzAwUu7yBnoGGfnGSWQ5+nRhZFp0s6w6/lmU78H+Nn3P/ZPw\nNv4V/6QlzYhRJu+h2DaJpBE+tV4NcqNG8hhiGgrrKDJNgIOOsyMrKASHyEa9\ntXy66JhXKSkl3WfMyv7nYUvBkba5/90o8P9jaJGfLLY3ZGhw3PRXYbT2CvQN\nxAhrvjpPgG1+uKN9zrzUhy+H5JMfjbSbozTboqIJ3Cgt1CiLpFpEDfcZaWMi\n4PiwjG5yPfwFuYbzhf7lP55QGUjBCIuYKoq7vnajEZDxDlwiCxVVPCQbAuXK\nnXvHLdXo3qySX5GATSb4ygqlFJ1y9i8DC5og3CfQmphbdVeD3uDzsJ22Unjs\nCi6EaarZJyBMJwbPPP4+gTtUlHfri3kbFJMJSS3HKv6haz41nL970yGIX8To\n0/m0gMCW/4shhTkc7DBDzBFr3dbILU2G6QcSJCN9dD7QJAW/upZhT2vG8FaE\ntsbt\r\n=mrne\r\n-----END PGP SIGNATURE-----\r\n"},"volta":{"node":"10.23.0","yarn":"1.22.10"},"engines":{"node":"10.* || >= 12.*"},"gitHead":"ccf74c05c7f985faf7fa4e755bba16554ba2f005","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"jamescdavis","email":"jamescdavis@gmail.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.14.8","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","@types/ember":"3.16.2","@types/ember__string":"3.16.1"},"_nodeVersion":"10.23.0","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.15","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.8.0","mocha":"8.2.1","eslint":"7.13.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"9.0.0","prettier":"2.1.2","ember-cli":"3.22.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.11","handlebars":"4.7.7","testdouble":"3.16.1","typescript":"4.0.5","@types/chai":"4.2.14","@types/node":"14.14.8","ember-qunit":"4.6.0","@types/debug":"4.1.5","@types/ember":"3.16.2","@types/mocha":"8.0.4","@types/qunit":"2.11.1","ember-source":"3.23.0","@types/semver":"7.3.4","ember-cli-sri":"2.1.1","@types/esprima":"4.0.2","@types/express":"4.17.7","@types/resolve":"1.17.1","ember-resolver":"8.0.2","@types/fs-extra":"9.0.4","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"11.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.0.0-beta.3","@types/console-ui":"2.2.3","broccoli-node-api":"1.7.0","@glimmer/component":"^1.0.0-beta.3","@types/core-object":"3.0.1","@types/ember-qunit":"3.4.13","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"9.6.0","@types/ember__object":"^3.1.1","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.0","eslint-config-prettier":"6.15.0","eslint-plugin-prettier":"3.1.4","@types/chai-as-promised":"7.1.3","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"4.8.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"4.8.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_4.2.1_1623929339602_0.38366501205566905","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"ember-cli-typescript","version":"5.0.0","keywords":["ember-addon","typescript"],"author":{"url":"http://www.chriskrycho.com","name":"Chris Krycho","email":"chris@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@5.0.0","maintainers":[{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"}],"contributors":[{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"52f53843082d0a0128f318809dadabf83a76bbff","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-5.0.0.tgz","fileCount":56,"integrity":"sha512-UDKZlG7bInRo7eDsF3jvPz1Dxh1YvRhMw9wyj5rj2K3brw0xEh1IMTqPgWRbPESqjcWuwa8s0FCNuYWDc4PTfg==","signatures":[{"sig":"MEYCIQD0aF42vdMssZ3EHmw0eT0RShGJ5gUrNQrEpW36vTiNfgIhAIiZpEM5ym2fLIEJVdayadK2JBOdtSpWu3s+F5NrAQJN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":293272,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/XM1CRA9TVsSAnZWagAAJrkP/2CuC88f5LXWxcVwko2x\nhboRYzkcdblFhsLTj5Y117/hHezW0xfAJw5VITesztY6HN4WJK3t1/RW0BA3\nHVRPrWPXwhgRqBo6TkM+ZnCke0Z+FNku7+DVNldRryy09DYyEBv1WMPCDcUc\nT3bwT9bdIA2UDIGWvRc9ooGvbYbp+siW4QiZZSBBkk51f8wc8PFwg3OmrZCr\n5uOQA8zSZzalCGKPfd/pY0ppIr+daR7EInIYP1YgbIfH7kGhOaZlfDYyX57B\n88UnDMjH6weHJCMOdFFIWqJeIvR0Zd4bhKPhhIpTz6oA+jb1PBJEmGW1lq6N\nGEdIpOFHWPdX++f64eUy/Z0XefFSJIgMvbjPpkzFihSlbBgPu2UXjGYpvohg\nLnj8qPvFfkYMOss57tTRIQ9g7DXqauBubd7jXQ/7FMT56NGgCwXw95HHvqey\nMvupzoSmysNbgjwijpY3J1J5vGKjrUKU90crHF3y7s5hLsFae335OSb389DB\no9muU3h8AvDtbjupnzIrtxhfzwqr09Kw0/QQJW+rgO7xyCM8TgEOUw8kN733\np3yHnYgmZYENCWlvN/rYQrrDc4HufFhgaK0wCU1ZiQxouR61SnFJR0E2VMyz\nMaDPj+TxMcAEfFG6ZG9faM4pvTmONj1auELTtyUS2TFurf214FDdQK0+lxpQ\npgWG\r\n=/H4N\r\n-----END PGP SIGNATURE-----\r\n"},"volta":{"node":"12.22.9","yarn":"1.22.17"},"engines":{"node":">= 12.*"},"gitHead":"544e3279cb912fc1f79c136bc7bfbef8a6f98413","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.14.15","description":"Allow ember apps to use typescript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7"},"_nodeVersion":"12.22.9","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.15","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.8.0","mocha":"8.2.1","eslint":"8.7.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"9.0.0","prettier":"2.5.1","ember-cli":"3.22.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.12","handlebars":"4.7.7","testdouble":"3.16.1","typescript":"4.5.5","@types/chai":"4.3.0","@types/node":"14.14.8","ember-qunit":"4.6.0","@types/debug":"4.1.7","@types/ember":"4.0.0","@types/mocha":"9.1.0","@types/qunit":"2.11.3","ember-source":"3.23.0","@types/semver":"7.3.9","ember-cli-sri":"2.1.1","@types/esprima":"4.0.3","@types/express":"4.17.13","@types/resolve":"1.20.1","ember-resolver":"8.0.2","@types/fs-extra":"9.0.13","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"13.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.0.4","@types/console-ui":"2.2.5","broccoli-node-api":"1.7.0","@glimmer/component":"^1.0.4","@types/core-object":"3.0.1","@types/ember-qunit":"5.0.0","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"10.5.8","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.1","eslint-config-prettier":"8.3.0","eslint-plugin-prettier":"4.0.0","@types/chai-as-promised":"7.1.4","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"5.10.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"5.10.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_5.0.0_1644000053688_0.2249563550543383","host":"s3://npm-registry-packages"}},"5.1.0":{"name":"ember-cli-typescript","version":"5.1.0","keywords":["ember-addon","typescript"],"author":{"url":"https://www.chriskrycho.com","name":"Chris Krycho","email":"hello@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@5.1.0","maintainers":[{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"}],"contributors":[{"name":"James C. Davis"},{"name":"Dan Freeman"},{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"460eb848564e29d64f2b36b2a75bbe98172b72a4","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-5.1.0.tgz","fileCount":55,"integrity":"sha512-wEZfJPkjqFEZAxOYkiXsDrJ1HY75e/6FoGhQFg8oNFJeGYpIS/3W0tgyl1aRkSEEN1NRlWocDubJ4aZikT+RTA==","signatures":[{"sig":"MEYCIQCvW1Q3cCk9MwX+iXdNM0Xw3uEshSFWFvTBtlgDIPgztAIhAKQuAgzvmgWct7TlU/4dPTRLp0+2vVtlRd/dhRN/yzwN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":294866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYIxRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqrxxAAhksQkwVDxJNjBYhLadSFD+mq8+Vhqc3MjKQBbvjKAvM1LaOz\r\n0V6+cYBU/oSvwNLJzU8Qb9Ny8mvfXXwcqJPRLSY5csVpOpAh/FhOsBRaW21f\r\nQMuqRSrlpssGA522REBCMgCiBuIgIJtfX0bRLaD/XMhonYPdMSqVgRD4lIFl\r\nHVaUp65u3mQfIUT6Yiu4TSOm6rbHjrPjqsG+O0NAWqfWZo5HhX5ddSRmL2lz\r\ngEJGyzXyUtqbouTenfaO1WjSsqoU2kTxSmgl6NZEaUc+wc0kCxFXQHYjIHL9\r\njUcRy/aSEZkjiLdWRPoL1Aka0NOUTMGcz/ujVq7GvSjwspgNkEDHQuuxkF4g\r\nfhTSMXJJSK0oPhs1ob1nQEIO9MCQ17qQGYSzW84/1TXuh11P+0nb8av1oDOX\r\nmg8r+G3nmEgPk2SETJE7lCj+TCOK8wMAIA+jE6iJrmQReKlw0bq7OQEZA1HN\r\nMwYfoC/kigDMUYNdVj8E+9PQ2irph5wMdY9Pr60tlVTn1CbxFVzZHoAAbwR4\r\nXhINd4v7TLp66HNyehrNd1yMQwkWqQGORQN4q/mwxmqqfiZW26q8M6rma6l3\r\n2n3gMVt3VgursoDzANAkgXtREMm1cKIjkeyjSWlHdXf9kjZ5CsFJ2sgvwXe7\r\nInWST8ZMJBGhzv9M74uC0EPtrRyNFkVmqQ8=\r\n=e932\r\n-----END PGP SIGNATURE-----\r\n"},"volta":{"node":"12.22.9","yarn":"1.22.17"},"engines":{"node":">= 12.*"},"gitHead":"538b46ba105f49952cd2ee78ea313241d4ae75ee","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.14.15","description":"Allow Ember apps to use TypeScript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7"},"_nodeVersion":"12.22.9","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.15","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.8.0","mocha":"8.2.1","eslint":"8.7.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"9.0.0","prettier":"2.5.1","ember-cli":"3.22.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.12","handlebars":"4.7.7","testdouble":"3.16.1","typescript":"4.5.5","@types/chai":"4.3.0","@types/node":"14.14.8","ember-qunit":"4.6.0","@types/debug":"4.1.7","@types/ember":"4.0.0","@types/mocha":"9.1.0","@types/qunit":"2.11.3","ember-source":"3.23.0","@types/semver":"7.3.9","ember-cli-sri":"2.1.1","@types/esprima":"4.0.3","@types/express":"4.17.13","@types/resolve":"1.20.1","ember-resolver":"8.0.2","@types/fs-extra":"9.0.13","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"13.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.0.4","@types/console-ui":"2.2.5","broccoli-node-api":"1.7.0","@glimmer/component":"^1.0.4","@types/core-object":"3.0.1","@types/ember-qunit":"5.0.0","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"10.5.8","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.1","eslint-config-prettier":"8.3.0","eslint-plugin-prettier":"4.0.0","@types/chai-as-promised":"7.1.4","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"5.10.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"5.10.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_5.1.0_1650494544815_0.4241827991925715","host":"s3://npm-registry-packages"}},"5.1.1":{"name":"ember-cli-typescript","version":"5.1.1","keywords":["ember-addon","typescript"],"author":{"url":"https://www.chriskrycho.com","name":"Chris Krycho","email":"hello@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@5.1.1","maintainers":[{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"}],"contributors":[{"name":"James C. Davis"},{"name":"Dan Freeman"},{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"cf561026f3e7bd05312c1c212acffa1c30d5fa0c","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-5.1.1.tgz","fileCount":84,"integrity":"sha512-DbzATYWY8nbXwSxXqtK8YlqGJTcyFyL+eg6IGCc2ur0AMnq/H+o6Z9np9eGoq1sI+HwX7vBkOVoD3k0WurAwXg==","signatures":[{"sig":"MEYCIQClk/JgW5ODz+he4SP0QxI7CbIjnCRnDQbFk+RogKxVLgIhAMRv3E92lpUZwONU+yJVeO4q2A1GrrDEbRzvm3gU3wdX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":295790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjF0CuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrnQRAAjOxXryYMhGXh5M2jS9bejKsUx6A+EbR/2Fu5wkyRkFiBn0bx\r\n/3S8QbJOW1PmEwfD8Ie/Jfde2x19eDSNhdUEDKLw2fNqklw6sXlU3K1Dn9NO\r\ntLcbAYA61XkKuavy+G2sFSpxmPtABJB9Rxl1ksIu0gE4rHRm/2Lkn3HKzkHZ\r\nqNhdEKWUFIll6h+H1hlx57gIRfRnJRZBP58yqUbo38l0qNHcZ0HlfiYGu63V\r\n75v47kOY0VpnkkUociJvhUplKW3UjoM3C+9YfuvBp007JzjkddqlWLYBXZk8\r\nL6w7R8ke3Q9kMD46DHBCO21jdZV3wXUMeErbsfHfRDA4vXU11KbFikNByUQm\r\nyXGfmBFc9nsAuyj0xsd9OU88QY3v2Ts/tMTXv5sTz+r9/emCkxtTPf+durBf\r\nRA/GsGNo3t9lW4hbG3uaBPkBWOq2QN6t3aeiRV9atAIPTDXDt6hujPt2G370\r\nqtR98uO5d2SkNjQLqJHLU2XDsuVWhWHXaomqldJccyPiekBdYnJAwQO8NWYz\r\n5c37+PUm653KAbq/WSoMxYWkU0PSGO4YcLMiYQQQ/kXEW+llEvttZkoDUeyM\r\nieYOpuWub1ZM5aV4qO3X7ufaKVOZ+Ed8N7hGguXSHBZX66+FLWMFLc8BwvLm\r\nCkqkMqI3r7HAbi/fXfi3dqvrRQ9eBArio+Y=\r\n=758g\r\n-----END PGP SIGNATURE-----\r\n"},"volta":{"node":"12.22.9","yarn":"1.22.17"},"engines":{"node":">= 12.*"},"scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"dfreeman","email":"dfreeman@salsify.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow Ember apps to use TypeScript files.","directories":{},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2016\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","resolutions":{"hawk":"7"},"dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.15","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.8.0","mocha":"8.2.1","eslint":"8.7.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"9.0.0","prettier":"2.5.1","ember-cli":"3.22.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.12","handlebars":"4.7.7","testdouble":"3.16.1","typescript":"4.5.5","@types/chai":"4.3.0","@types/node":"14.14.8","ember-qunit":"4.6.0","@types/debug":"4.1.7","@types/ember":"4.0.0","@types/mocha":"9.1.0","@types/qunit":"2.11.3","ember-source":"3.23.0","@types/semver":"7.3.9","ember-cli-sri":"2.1.1","@types/esprima":"4.0.3","@types/express":"4.17.13","@types/resolve":"1.20.1","ember-resolver":"8.0.2","@tsconfig/ember":"^1.0.0","@types/fs-extra":"9.0.13","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"13.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.0.4","@types/console-ui":"2.2.5","broccoli-node-api":"1.7.0","@glimmer/component":"^1.0.4","@types/core-object":"3.0.1","@types/ember-qunit":"5.0.0","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"10.5.8","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.1","eslint-config-prettier":"8.3.0","eslint-plugin-prettier":"4.0.0","@types/chai-as-promised":"7.1.4","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"5.10.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"5.10.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_5.1.1_1662468269793_0.6317154383950525","host":"s3://npm-registry-packages"}},"5.2.0":{"name":"ember-cli-typescript","version":"5.2.0","keywords":["ember-addon","typescript"],"author":{"url":"https://www.chriskrycho.com","name":"Chris Krycho","email":"hello@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@5.2.0","maintainers":[{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"}],"contributors":[{"name":"James C. Davis"},{"name":"Dan Freeman"},{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"032661d6d3611e1987895af02cdf76babd529d50","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-5.2.0.tgz","fileCount":55,"integrity":"sha512-RwmoUreMAiJLsPR7xoTERzT6EfxZNeDbE4lrlkK+wk2fytLWhK+tnm578FUYdf81fcM97HNpyA49NwMP89W3fw==","signatures":[{"sig":"MEYCIQDky1KbLRVGxsfIpj7yX8zB1oc6/p3tclIZ0DNKv0uWFwIhAN53plkdWDiPma4t/O7d3NJ1zJGuh1W/FncgHW8GLe6P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":295697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWCg6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+mA//RBut/7fz8757BVc4IWMwe1O0BRamaeAvjP69P8QEnWPPVXml\r\nGEa2mxK27QhyDg5VbuyfUvUNL8ToVUSWNdzki4Vw1Lfou6acxJybYhAFUB5L\r\nHLnZH1h3PBTPh2eMnjZXQPM0vi2D7K/YrJewWjlR9aMRGT6izFhZLVfiFsdB\r\nU5K+sCsK4fVtoOH/Bo08W+gc9GgAQcUboT2k+J0VPffeyVYaW0RE71s33kCN\r\ne6CiOUrHSgepnfT0WVosf+Zfuvz0+9VhqNXpNkfU9i/pHB9vaKD0tL416od7\r\ng611umQVtJLd/NSkke9knpgq54z0c3fzNNJurztJqSrxDD8Cr8i44Ivp4FdE\r\nmS0EwWjDXHtZ6nVv1qr2jmOjjTODZrjb+dnxXOf5Yc/o4wt2i/ooTXZorost\r\n4wxRxfxURuzfsa7ZYXN/DkIB5Q3M4p/mjcctZ8yaaOGpD3WbPygQNuDRORgc\r\n/dvMvW18D4Or+ADh87mcbjN8hijL2JP+EpqFUdSmd6DSWDK2M6FA10+gaK5T\r\nSNRrrxxhsR6AeAmuLxQSuCdFqDiKgvSuCTJxfCSXQr17v09yCdyjILLJxbJR\r\nJDtyHAiuC6JN0qu8aHWVsCF/nYfxvrDJ0pRZHuQ37XU+Nl5mHjqe2cay2ATh\r\nBOsKfB3gubbstbgTNAayeF2nx79SNTge9WE=\r\n=y2Lc\r\n-----END PGP SIGNATURE-----\r\n"},"volta":{"node":"12.22.9","yarn":"1.22.17"},"engines":{"node":">= 12.*"},"gitHead":"bd1758f7996a16355e55c6b45e79e987eb59bea2","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.14.15","description":"Allow Ember apps to use TypeScript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7"},"_nodeVersion":"12.22.9","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.15","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.8.0","mocha":"8.2.1","eslint":"8.7.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"9.0.0","prettier":"2.5.1","ember-cli":"3.22.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.12","handlebars":"4.7.7","testdouble":"3.16.1","typescript":"4.5.5","@types/chai":"4.3.0","@types/node":"14.14.8","ember-qunit":"4.6.0","@types/debug":"4.1.7","@types/ember":"4.0.1","@types/mocha":"9.1.0","@types/qunit":"2.19.3","ember-source":"3.23.0","@types/semver":"7.3.9","ember-cli-sri":"2.1.1","@types/esprima":"4.0.3","@types/express":"4.17.13","@types/resolve":"1.20.1","ember-resolver":"8.0.2","@tsconfig/ember":"^1.0.0","@types/fs-extra":"9.0.13","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"13.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.0.4","@types/console-ui":"2.2.6","broccoli-node-api":"1.7.0","@glimmer/component":"^1.0.4","@types/core-object":"3.0.1","@types/ember-qunit":"5.0.0","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"10.5.8","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.1","eslint-config-prettier":"8.3.0","eslint-plugin-prettier":"4.0.0","@types/chai-as-promised":"7.1.4","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"5.10.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","ember-maybe-import-regenerator":"0.1.6","ember-cli-typescript-blueprints":"3.0.0","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"5.10.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_5.2.0_1666721849931_0.9032553798325789","host":"s3://npm-registry-packages"}},"5.2.1":{"name":"ember-cli-typescript","version":"5.2.1","keywords":["ember-addon","typescript"],"author":{"url":"https://www.chriskrycho.com","name":"Chris Krycho","email":"hello@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@5.2.1","maintainers":[{"name":"dfreeman","email":"dfreeman@salsify.com"},{"name":"dwickern","email":"dwickern@gmail.com"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"northm","email":"michael.l.north@gmail.com"},{"name":"typed-ember-bot","email":"michael.l.north+typedember@gmail.com"},{"name":"mike-north-bot","email":"michael.l.north+npmbot@gmail.com"}],"contributors":[{"name":"James C. Davis"},{"name":"Dan Freeman"},{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"553030f1ce3e8958b8e4fc34909acd1218cb35f2","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-5.2.1.tgz","fileCount":78,"integrity":"sha512-qqp5TAIuPHxHiGXJKL+78Euyhy0zSKQMovPh8sJpN/ZBYx0H90pONufHR3anaMcp1snVfx4B+mb9+7ijOik8ZA==","signatures":[{"sig":"MEUCIQCcHHyESSGjj0Gp9yYD8rkZTN6PxgwEv8wx+mJtei+rIgIgORiUc3wOGdEl9+qJ5dLnY7iW2ObBxkDU9ygIAeHHLvY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":303622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWUJiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXPw//aQ8D9TSLK7CcytftYrXmQtWz7cy6P359zWLquR4jPJPsN8yW\r\n0CT21s6LVJFC+VTYKL/EduXqkLyiYs4vT4sCGam0Gc574xk4HHTGolMb/eGM\r\nOuLVcrKdsT4HCzLT4AuqcWCuMSRtAeEKVe03AKKFMqBPUSGFcjHIeOoOXEjM\r\nwVceG5+++ODJ1b5MqIdVFopzWeRnchHvKqW4/50xpmYbuRmI97ukTVElB+Hv\r\nhdkb8Hv2GYmLG2SkzleNiFbLwLs+sEOZ1tY8PrFlRHB67YeyZHUqMpPdMMXw\r\nmGOuGDOQEecv/p+gmu/5pMlSxUCJCmjL4W1QKA23rysa2aYRR1GqYPlLC3UH\r\nvFxUmoSHIvJpfldyiGQ9+icd4vlt3Pn0AJusLmyjAbEOv0w2r7/EdiKNyToQ\r\neapI0ji2xhUseiN1xsuofrrt2+sFdGGF0yuwXQj9549Gkn4ChykFjLJCbIIR\r\npQgywq+K+BGSu5FQwTMoWK7DyBU9HsDlcxliMHgb32CKJ7Gj8S912wrVINSD\r\nqVxFTyiClAle/qoZiD5Am/Td6GKKzBYJoxTGmJrim/m3AWIT/zbR4h8U0jnJ\r\nnR1VR80gH++x5ZbbedhWz9EJw1UFNXL4fdbv55c1tNqsVL9TKqpKt4MUo/Xz\r\neS//DjEHPT/vYj16+I2xrSxNfhrkbMvrq7A=\r\n=zNa5\r\n-----END PGP SIGNATURE-----\r\n"},"volta":{"node":"12.22.9","yarn":"1.22.17"},"engines":{"node":">= 12.*"},"gitHead":"6c443fab02b8a27a2e0c1a47cc3b977439127e4b","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha -r register-ts-node ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"chriskrycho","email":"chris@chriskrycho.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"6.14.15","description":"Allow Ember apps to use TypeScript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","ember-cli-typescript":"link:."},"_nodeVersion":"12.22.9","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.15","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"11.8.0","mocha":"8.2.1","eslint":"8.7.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"9.0.0","prettier":"2.5.1","ember-cli":"3.22.0","ember-try":"1.4.0","fixturify":"2.1.0","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.12","handlebars":"4.7.7","testdouble":"3.16.1","typescript":"4.5.5","@types/chai":"4.3.0","@types/node":"14.14.8","ember-qunit":"4.6.0","@types/debug":"4.1.7","@types/ember":"4.0.1","@types/mocha":"9.1.0","@types/qunit":"2.19.3","ember-source":"3.23.0","@types/semver":"7.3.9","ember-cli-sri":"2.1.1","@types/esprima":"4.0.3","@types/express":"4.17.13","@types/resolve":"1.20.1","ember-resolver":"8.0.2","@tsconfig/ember":"^1.0.0","@types/fs-extra":"9.0.13","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"13.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.0.4","@types/console-ui":"2.2.6","broccoli-node-api":"1.7.0","@glimmer/component":"^1.0.4","@types/core-object":"3.0.1","@types/ember-qunit":"5.0.0","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"10.5.8","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.1","eslint-config-prettier":"8.3.0","eslint-plugin-prettier":"4.0.0","@types/chai-as-promised":"7.1.4","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"5.10.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","ember-maybe-import-regenerator":"0.1.6","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"5.10.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_5.2.1_1666794081919_0.525374922019513","host":"s3://npm-registry-packages"}},"5.3.0":{"name":"ember-cli-typescript","version":"5.3.0","keywords":["ember-addon","typescript"],"author":{"url":"https://www.chriskrycho.com","name":"Chris Krycho","email":"hello@chriskrycho.com"},"license":"MIT","_id":"ember-cli-typescript@5.3.0","maintainers":[{"name":"hm_krystan","email":"kmenne@gmail.com"},{"name":"dfreeman","email":"npm@dfreeman.io"},{"name":"chriskrycho","email":"chris@chriskrycho.com"},{"name":"jamescdavis","email":"jamescdavis@gmail.com"},{"name":"dwickern","email":"dwickern@gmail.com"}],"contributors":[{"name":"James C. Davis"},{"name":"Dan Freeman"},{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"homepage":"https://github.com/typed-ember/ember-cli-typescript","bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"dist":{"shasum":"c0f726c61e4309aa9ff49b388219c6729ea986cd","tarball":"https://registry.npmjs.org/ember-cli-typescript/-/ember-cli-typescript-5.3.0.tgz","fileCount":56,"integrity":"sha512-gFA+ZwmsvvFwo2Jz/B9GMduEn+fPoGb69qWGP0Tp3+Tu5xypDtIKVSZ5086I3Cr19cLXD4HkrOR3YQvdUKzAkQ==","signatures":[{"sig":"MEQCIGwu+No01ocQVfVHX/gTw39M27q/2YMOmBQSyhzELcLCAiAj1KeLQq6cpl6UrOAbHPIkezD3Z1ARNAnmLvMwxirI/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":304219},"volta":{"node":"18.18.1","yarn":"1.22.19"},"engines":{"node":">= 12.*"},"gitHead":"2befe3af7eea5ea892097fec068e512f626ae6b8","scripts":{"test":"yarn test:app && yarn test:node","build":"ember build","start":"ember serve","ci:test":"yarn ci:log-version-info && yarn ci:test:app && yarn ci:test:node","lint:js":"eslint --ext js,ts .","test:app":"ember test","test:node":"mocha --loader=ts-node/esm --extension ts ts/tests/**/*.ts","ci:prepare":"yarn prepublishOnly && rimraf ts","ci:test:app":"ember test","postpublish":"rimraf js","ci:test:node":"mocha --recursive js/tests","prepublishOnly":"yarn tsc --noEmit false --project ts","ci:log-version-info":"echo '---- Ember CLI ----' && ember -v && echo '---- TypeScript ----' && tsc -v"},"_npmUser":{"name":"hm_krystan","email":"kmenne@gmail.com"},"prettier":{"semi":true,"tabWidth":2,"proseWrap":"never","printWidth":100,"singleQuote":true,"trailingComma":"es5"},"changelog":{"labels":{"bug":"Fixed 🔧","docs":"Documentation 📖","BREAKING":"Changed 💥","internal":"Under the hood 🚗","enhancement":"Added ⭐️"}},"release-it":{"git":{"tagName":"v${version}"},"github":{"release":true},"plugins":{"@release-it-plugins/lerna-changelog":{"infile":"CHANGELOG.md","launchEditor":true}}},"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"_npmVersion":"9.8.1","description":"Allow Ember apps to use TypeScript files.","directories":{"doc":"doc","test":"tests"},"ember-addon":{"before":["broccoli-watcher"],"configPath":"tests/dummy/config"},"resolutions":{"hawk":"7","ember-cli-typescript":"link:."},"_nodeVersion":"18.18.1","dependencies":{"rsvp":"^4.8.1","debug":"^4.0.0","execa":"^4.0.0","semver":"^7.3.2","resolve":"^1.5.0","fs-extra":"^9.0.1","stagehand":"^1.0.0","walk-sync":"^2.2.0","ansi-to-html":"^0.6.15","broccoli-stew":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"co":"4.6.0","got":"12.5.2","mocha":"10.1.0","eslint":"8.7.0","rimraf":"3.0.2","esprima":"4.0.1","ts-node":"^10.9.1","prettier":"2.5.1","ember-cli":"^4.8.0","ember-try":"1.4.0","fixturify":"^2.1.1","in-repo-a":"link:tests/dummy/lib/in-repo-a","in-repo-b":"link:tests/dummy/lib/in-repo-b","loader.js":"4.7.0","qunit-dom":"1.6.0","@types/got":"9.6.12","handlebars":"4.7.7","release-it":"^17.1.1","testdouble":"3.16.1","typescript":"4.8","@types/chai":"4.3.0","@types/node":"14.14.31","ember-qunit":"4.6.0","@types/debug":"4.1.7","@types/ember":"4.0.1","@types/mocha":"10.0.0","@types/qunit":"2.19.3","ember-source":"~3.28.0","@types/semver":"7.3.9","ember-cli-sri":"2.1.1","@types/esprima":"4.0.3","@types/express":"4.17.13","@types/resolve":"1.20.1","ember-resolver":"8.0.2","@tsconfig/ember":"^1.0.0","@types/fs-extra":"9.0.13","broccoli-plugin":"4.0.3","capture-console":"1.0.1","ember-cli-babel":"7.23.0","prettier-eslint":"13.0.0","ember-cli-uglify":"3.0.0","ember-cli-update":"0.54.6","@glimmer/tracking":"^1.1.2","@types/console-ui":"2.2.6","broccoli-node-api":"1.7.0","@glimmer/component":"^1.1.2","@types/core-object":"3.0.1","@types/ember-qunit":"5.0.0","broccoli-asset-rev":"3.0.0","ember-cli-htmlbars":"5.3.1","eslint-plugin-node":"11.1.0","eslint-plugin-ember":"10.5.8","ember-cli-app-version":"4.0.0","@types/capture-console":"1.0.1","eslint-config-prettier":"8.3.0","eslint-plugin-prettier":"4.0.0","@types/chai-as-promised":"7.1.4","ember-load-initializers":"2.1.2","@ember/optional-features":"2.0.0","@typescript-eslint/parser":"5.10.1","@typed-ember/renovate-config":"1.2.1","ember-cli-dependency-checker":"3.2.0","ember-cli-inject-live-reload":"2.0.2","ember-maybe-import-regenerator":"0.1.6","ember-export-application-global":"2.0.1","@typescript-eslint/eslint-plugin":"5.10.1","ember-cli-blueprint-test-helpers":"0.19.2","ember-disable-prototype-extensions":"1.1.3","@release-it-plugins/lerna-changelog":"^6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ember-cli-typescript_5.3.0_1709673930359_0.758304587057758","host":"s3://npm-registry-packages"}}},"time":{"created":"2015-07-12T17:40:22.205Z","modified":"2026-03-11T18:14:18.242Z","0.0.1":"2015-07-12T17:40:22.205Z","0.1.0":"2016-04-13T12:36:25.735Z","0.1.1":"2016-07-22T11:04:53.934Z","0.2.0":"2016-12-17T16:39:19.313Z","0.3.0":"2017-04-13T13:11:03.464Z","0.3.1":"2017-04-20T13:05:52.071Z","0.3.2":"2017-04-21T22:38:47.687Z","0.4.0":"2017-05-03T12:02:34.414Z","1.0.0-beta.2":"2017-07-29T20:44:22.258Z","1.0.0-beta.3":"2017-07-31T18:06:36.223Z","1.0.0-beta.4":"2017-08-02T19:29:41.770Z","1.0.0-beta.5":"2017-08-03T15:49:09.886Z","1.0.0-beta.6":"2017-08-04T12:02:19.233Z","1.0.0":"2017-08-08T13:15:44.123Z","1.0.1":"2017-08-16T10:47:25.194Z","1.0.2":"2017-08-16T17:17:57.122Z","1.0.3":"2017-08-22T23:39:53.245Z","1.0.4":"2017-11-13T22:25:36.042Z","1.0.5":"2017-11-23T17:44:56.913Z","1.0.6":"2017-12-17T22:26:04.751Z","1.1.0-rc":"2018-02-11T21:17:43.649Z","1.1.0":"2018-02-12T15:04:20.106Z","1.1.1":"2018-02-12T19:57:45.130Z","1.1.2":"2018-02-14T02:05:16.049Z","1.1.3":"2018-02-17T02:46:03.689Z","1.1.4":"2018-02-20T21:07:41.558Z","1.1.5":"2018-02-20T22:53:21.372Z","1.1.6":"2018-02-23T19:05:13.563Z","1.2.0":"2018-03-06T02:42:40.353Z","1.2.1":"2018-03-14T23:57:32.691Z","1.3.0-beta.1":"2018-04-15T18:29:56.450Z","1.3.0-beta.2":"2018-04-19T17:50:07.484Z","1.3.0-beta.3":"2018-04-20T20:30:52.483Z","1.3.0-beta.4":"2018-04-20T21:00:42.935Z","1.3.0-beta.5":"2018-04-27T01:31:56.744Z","1.3.0":"2018-05-01T17:37:51.336Z","1.3.1":"2018-05-14T19:43:01.308Z","1.3.2":"2018-06-06T01:11:55.640Z","1.3.3":"2018-07-19T15:27:57.060Z","1.4.0":"2018-08-07T20:30:46.680Z","1.4.1":"2018-09-06T01:25:29.688Z","1.4.2":"2018-09-07T02:33:55.500Z","1.1.7":"2018-09-24T19:24:00.554Z","1.2.2":"2018-09-24T19:25:10.648Z","1.3.4":"2018-09-24T19:25:56.678Z","1.4.3":"2018-09-24T19:31:22.966Z","1.4.4":"2018-10-01T23:18:06.481Z","2.0.0-beta.1":"2018-10-25T19:22:20.484Z","1.5.0":"2018-10-25T20:33:57.226Z","2.0.0-beta.2":"2018-10-26T17:57:28.898Z","2.0.0-beta.3":"2018-11-02T21:58:18.598Z","2.0.0-rc.1":"2018-12-13T23:02:43.630Z","2.0.0-rc.2":"2019-01-07T22:30:04.387Z","2.0.0":"2019-03-13T21:56:00.238Z","2.0.1":"2019-04-10T17:14:39.200Z","2.0.2":"2019-07-05T11:11:55.619Z","3.0.0":"2019-08-30T21:17:12.947Z","3.1.0":"2019-11-06T15:20:35.270Z","3.1.1":"2019-11-06T15:26:22.722Z","3.1.2":"2019-12-14T15:49:41.508Z","4.0.0-alpha.1":"2020-01-18T15:08:13.888Z","3.1.3":"2020-01-22T19:14:37.349Z","3.1.4":"2020-05-29T14:51:38.288Z","4.0.0-rc.1":"2020-07-14T21:44:09.717Z","4.0.0":"2020-09-02T21:58:24.789Z","4.1.0":"2021-02-03T21:30:49.335Z","4.2.0":"2021-06-15T16:59:37.563Z","4.2.1":"2021-06-17T11:28:59.771Z","5.0.0":"2022-02-04T18:40:53.889Z","5.1.0":"2022-04-20T22:42:25.012Z","5.1.1":"2022-09-06T12:44:30.005Z","5.2.0":"2022-10-25T18:17:30.136Z","5.2.1":"2022-10-26T14:21:22.087Z","5.3.0":"2024-03-05T21:25:30.534Z"},"bugs":{"url":"https://github.com/typed-ember/ember-cli-typescript"},"author":{"url":"https://www.chriskrycho.com","name":"Chris Krycho","email":"hello@chriskrycho.com"},"license":"MIT","homepage":"https://github.com/typed-ember/ember-cli-typescript","keywords":["ember-addon","typescript"],"repository":{"url":"git+https://github.com/typed-ember/ember-cli-typescript.git","type":"git"},"description":"Allow Ember apps to use TypeScript files.","contributors":[{"name":"James C. Davis"},{"name":"Dan Freeman"},{"name":"Marius Seritan"},{"name":"David Gardiner"},{"name":"Philip Bjorge"}],"maintainers":[{"email":"kmenne@gmail.com","name":"hm_krystan"},{"email":"katie@kmg.io","name":"katiegengler"},{"email":"theprecognition+npm@gmail.com","name":"nullvoxpopuli"},{"email":"npm@dfreeman.io","name":"dfreeman"},{"email":"hello@chriskrycho.com","name":"chriskrycho"},{"email":"dwickern@gmail.com","name":"dwickern"},{"email":"jamescdavis@gmail.com","name":"jamescdavis"}],"readme":"# MAINTENANCE MODE\n\nember-cli-typescript will no longer be updated unless necessary  - ec-ts is no longer needed and all available features are configurable in userland.\n\nSee the official TypeScript docs on the ember guides website here: https://guides.emberjs.com/release/typescript/ \nThis section of the docs has details for getting started with TypeScript, beyond what is laid out here.\n\nWith every release, we output the `--typescript` output of new ember apps to this StackBlitz: https://stackblitz.com/github/ember-cli/editor-output/tree/stackblitz-app-output-typescript\n\n## How to use TypeScript without `ember-cli-typescript`?\n\nApps and v1 addons need to configure Babel to compile TypeScript files via the `ember-cli-babel` config, as described in the [ember-cli-babel](https://github.com/emberjs/ember-cli-babel#enabling-typescript-transpilation).\n\nAdditionally, you will need the `tsconfig.json` generated by the Ember TypeScript blueprint (see below for details), and then can run [`glint`](https://typed-ember.gitbook.io/glint) or `tsc` directly on the CLI. (Again, see the official docs for details!)\n\n### Apps\n\n```js\n'ember-cli-babel': {\n  enableTypeScriptTransform: true,\n},\n```\n\n### v1 addons\n\nConfigure this in the addon's `index.js` in the root of the project:\n\n```js\nmodule.exports = {\n  name: require('package').name,\n  options: {\n    'ember-cli-babel': {\n      enableTypeScriptTransform: true\n    }\n  }\n}\n```\n\n### v2 addons\n\nThe [V2 Addon Blueprint](https://github.com/embroider-build/addon-blueprint) does not use nor need ember-cli-typescript, nor any of its features.\n\n## What tsconfig.json should be used?\n\nThe official blueprints for apps and v1 addons (as of 2023-12-06) specifies:\n\n<details><summary>for apps</summary>\n\n```jsonc\n{\n  \"extends\": \"@tsconfig/ember/tsconfig.json\",\n  \"compilerOptions\": {\n    // The combination of `baseUrl` with `paths` allows Ember's classic package\n    // layout, which is not resolvable with the Node resolution algorithm, to\n    // work with TypeScript.\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"<%= name %>/tests/*\": [\"tests/*\"],\n      \"<%= name %>/*\": [\"app/*\"],\n      \"*\": [\"types/*\"]\n    }\n  }\n}\n```\n\n\n\n</details>\n\n<details><summary>For v1 addons</summary>\n  \n```jsonc\n{\n  \"extends\": \"@tsconfig/ember/tsconfig.json\",\n  \"compilerOptions\": {\n    // The combination of `baseUrl` with `paths` allows Ember's classic package\n    // layout, which is not resolvable with the Node resolution algorithm, to\n    // work with TypeScript.\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"dummy/tests/*\": [\"tests/*\"],\n      \"dummy/*\": [\"tests/dummy/app/*\", \"app/*\"],\n      \"<%= addonName %>\": [\"addon\"],\n      \"<%= addonName %>/*\": [\"addon/*\"],\n      \"<%= addonName %>/test-support\": [\"addon-test-support\"],\n      \"<%= addonName %>/test-support/*\": [\"addon-test-support/*\"],\n      \"*\": [\"types/*\"]\n    }\n  }\n}\n```\n\n</details>\n\n## What `@types/*` packages do I install?\n\n<details><summary>if you're using ember-data</summary>\n\n```\n\"@types/ember\": \"^4.0.8\",\n\"@types/ember-data\": \"^4.4.13\",\n\"@types/ember-data__adapter\": \"^4.0.4\",\n\"@types/ember-data__model\": \"^4.0.3\",\n\"@types/ember-data__serializer\": \"^4.0.4\",\n\"@types/ember-data__store\": \"^4.0.5\",\n\"@types/ember__application\": \"^4.0.9\",\n\"@types/ember__array\": \"^4.0.7\",\n\"@types/ember__component\": \"^4.0.19\",\n\"@types/ember__controller\": \"^4.0.9\",\n\"@types/ember__debug\": \"^4.0.6\",\n\"@types/ember__destroyable\": \"^4.0.3\",\n\"@types/ember__engine\": \"^4.0.8\",\n\"@types/ember__error\": \"^4.0.4\",\n\"@types/ember__helper\": \"^4.0.4\",\n\"@types/ember__modifier\": \"^4.0.7\",\n\"@types/ember__object\": \"^4.0.9\",\n\"@types/ember__owner\": \"^4.0.7\",\n\"@types/ember__polyfills\": \"^4.0.4\",\n\"@types/ember__routing\": \"^4.0.17\",\n\"@types/ember__runloop\": \"^4.0.7\",\n\"@types/ember__service\": \"^4.0.6\",\n\"@types/ember__string\": \"^3.16.3\",\n\"@types/ember__template\": \"^4.0.4\",\n\"@types/ember__test\": \"^4.0.4\",\n\"@types/ember__utils\": \"^4.0.5\",\n\"@types/qunit\": \"^2.19.7\",\n\"@types/rsvp\": \"^4.0.6\",\n```\n\n</details>\n\n<details><summary>if you're not using ember-data</summary>\n\nYou can use ember's built in types, so you only need the following:\n\n```\n\"@types/qunit\": \"^2.19.7\",\n\"@types/rsvp\": \"^4.0.6\",\n```\n\nNote that ember-data will eventually ship their own types, and allow _everyone_ to remove all the DT types.\n\n</details>\n\n\n-----------------------------\n\n<center><h1>ember-cli-typescript</h1></center>\n\n<center>Use TypeScript in your Ember 2.x and 3.x apps!</center>\n\n<center>\n\n[![Actions Status](https://github.com/typed-ember/ember-cli-typescript/workflows/CI/badge.svg)](https://github.com/typed-ember/ember-cli-typescript/actions) [![Ember Observer Score](https://emberobserver.com/badges/ember-cli-typescript.svg)](https://emberobserver.com/addons/ember-cli-typescript)\n\n</center>\n\n- [Documentation](#documentation)\n- [Usage](#usage)\n  - [Installation and Setup](#installation-and-setup)\n  - [Upgrading from 1.x](#upgrading-from-1x)\n    - [Update ember-cli-babel](#update-ember-cli-babel)\n    - [Update ember-decorators](#update-ember-decorators)\n    - [Update ember-cli-typescript](#update-ember-cli-typescript)\n      - [Account for addon build pipeline changes](#account-for-addon-build-pipeline-changes)\n      - [Account for TS → Babel issues](#account-for-ts--babel-issues)\n- [Getting Help](#getting-help)\n  - [💬 Getting Started](#-getting-started)\n  - [📚 Issues With Ember Type Definitions](#-issues-with-ember-type-definitions)\n  - [⚙️ Issues With Adding TypeScript Support To Apps and Addons](#️-issues-with-adding-typescript-support-to-apps-and-addons)\n  - [✅ Issues With Linting TypeScript](#-issues-with-linting-typescript)\n- [Supported Ember and TypeScript versions](#supported-ember-and-typescript-versions)\n- [Installing from git](#installing-from-git)\n\n## Documentation\n\nThis README focuses on basic information about setting up and using the addon. For more details, see [the documentation](https://docs.ember-cli-typescript.com), which includes:\n\n- troubleshooting tips\n- a walkthrough for using TypeScript with Ember effectively\n- guides for publishing addons written in TypeScript\n- more details on how the addon sets up your project during installation\n\n…and much more!\n\n## Usage\n\n### Installation and Setup\n\nYou can simply `ember install` the dependency like normal:\n```sh\nember install ember-cli-typescript@latest\n```\n\nAll dependencies will be added to your `package.json`, and you're ready to roll! **If you're upgrading from a previous release, see below!** you should check to merge any tweaks you've made to `tsconfig.json`.\n\n### Upgrading from 1.x\n\nThere are a number of important changes between ember-cli-typescript v1 and v2, which mean the upgrade process is *straightforward* but *specific*:\n\n1. Update ember-cli-babel. Fix any problems introduced during the upgrade.\n2. Update ember-decorators. Fix any problems introduced during the upgrade.\n3. Update ember-cli-typescript. Follow the detailed upgrade guide below to fix discrepancies between Babel and TypeScript's compiled output.\n\nIf you deviate from this order, you are likely to have a *much* more difficult time upgrading!\n\n#### Update ember-cli-babel\n\nember-cli-typescript **requires** ember-cli-babel at version 7.1.0 or above, which requires ember-cli 2.13 or above. It also **requires** @babel/core 7.2.0 or higher.\n\nThe recommended approach here is to deduplicate existing installations of the dependency, remove and reinstall ember-cli-babel to make sure that all its transitive dependencies are updated to the latest possible, and then to deduplicate *again*.\n\nIf using yarn:\n    \n```\nnpx yarn-deduplicate\nyarn remove ember-cli-babel\nyarn add --dev ember-cli-babel\nnpx yarn-deduplicate\n```\n\nIf using npm:\n      \n```\nnpm dedupe\nnpm uninstall ember-cli-babel\nnpm install --save-dev ember-cli-babel\nnpm dedupe\n```\n\nNote: If you are also using ember-decorators—and specifically the babel-transform that gets added with it—you will need update @ember-decorators/babel-transforms as well (anything over 3.1.0 should work):\n\n```\nember install ember-decorators@^3.1.0 @ember-decorators/babel-transforms@^3.1.0\n```\n\n#### Update ember-decorators\n\nIf you're on a version of Ember before 3.10, follow the same process of deduplication, reinstallation, and re-deduplication as described for ember-cli-babel above for ember-decorators. This will get you the latest version of ember-decorators and, importantly, its @ember-decorators/babel-transforms dependency.\n\n#### Update ember-cli-typescript\n\nNow you can simply `ember install` the dependency like normal:\n\n```sh\nember install ember-cli-typescript@latest\n```\n\n***Note:* To work properly, starting from v2, ember-cli-typescript must be declared as a `dependency`, not a `devDependency` for addons. With `ember install` this migration will be automatically handled for you.**\n\nIf you choose to make the upgrade manually with yarn or npm, here are the steps you need to follow:\n\n1. Remove ember-cli-typescript from your `devDependencies`.\n\n    With yarn:\n\n    ```sh\n    yarn remove ember-cli-typescript\n    ```\n\n    With npm:\n\n    ```sh\n    npm uninstall ember-cli-typescript\n    ```\n\n2. Install the latest of ember-cli-typescript as a `dependency`:\n\n    With yarn:\n\n    ```sh\n    yarn add ember-cli-typescript@latest\n    ```\n\n    With npm:\n\n    ```sh\n    npm install --save ember-cli-typescript@latest\n    ```\n\n3. Run `ember generate`:\n\n    ```sh\n    ember generate ember-cli-typescript\n    ```\n\n##### Account for addon build pipeline changes\n\nSince we now integrate in a more traditional way into Ember CLI's build pipeline, there are two changes required for addons using TypeScript.\n\n- Addons can no longer use `.ts` in `app`, because an addon's `app` directory gets merged with and uses the *host's* (i.e. the other addon or app's) preprocessors, and we cannot guarantee the host has TS support. Note that `.ts` will continue to work for in-repo addons because the app build works with the host's (i.e. the app's, not the addon's) preprocessors.\n\n- Similarly, apps must use `.js` to override addon defaults in `app`, since the different file extension means apps no longer consistently \"win\" over addon versions (a limitation of how Babel + app merging interact).\n\n##### Account for TS → Babel issues\n\nember-cli-typescript v2 uses Babel to compile your code, and the TypeScript compiler only to *check* your code. This makes for much faster builds, and eliminates the differences between Babel and TypeScript in the build output that could cause problems in v1. However, because of those differences, you’ll need to make a few changes in the process of upgrading.\n\n- `const enum` is not supported at all. You will need to replace all uses of `const enum` with simply `enum` or constants.\n\n- Using ES5 getters or setters with `this` type annotations is not supported through at least Babel 7.3. However, they should also be unnecessary with ES6 classes, so you can simply *remove* the `this` type annotation.\n\n- Trailing commas after rest function parameters (`function foo(...bar[],) {}`) are disallowed by the ECMAScript spec, so Babel also disallows them.\n\n- Re-exports of types have to be disambiguated to be *types*, rather than values. Neither of these will work:\n\n  ```ts\n  export { FooType } from 'foo';\n  ```\n  ```ts\n  import { FooType } from 'foo';\n  export { FooType };\n  ```\n\n  In both cases, Babel attempts to emit a *value* export, not just a *type* export, and fails because there is no actual value to emit. You can do this instead as a workaround:\n\n  ```ts\n  import * as Foo from 'foo';\n  export type FooType = Foo.FooType;\n  ```\n\n## Getting Help\n\nWhen seeking help, you should first consider what you need, and which aspect of the Ember+TypeScript ecosystem your issue pertains to.\n\n### 💬 Getting Started\n\nWe have a channel (**`#topic-typescript`**) on the [Ember Community Discord server](https://discordapp.com/invite/zT3asNS) where you can ask about getting started, good resources for self-directed learning and more.\n\n### 📚 Issues With Ember Type Definitions\n\nIf you've found that some of the Ember type information is missing things, or is incorrect in some way, please first ensure you're using the latest version of the [packages this addon installs](https://docs.ember-cli-typescript.com/installation#other-packages-this-addon-installs). Although [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript) are not the advised places to report problems, you may find an answer there.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ⚙️ Issues With Adding TypeScript Support To Apps and Addons\n\nIf you run into a problem with the way TypeScript is compiled in Ember apps (i.e., a broccoli error message, incorrect build output, etc...), please first check [StackOverflow](https://stackoverflow.com/questions/tagged/ember.js+typescript) and [Discuss](https://discuss.emberjs.com/search?q=typescript), as you may find an answer.\n\nIf you don't find an answer, please [open an enhancement request or bug report in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n\n### ✅ Issues With Linting TypeScript\n\nThe TypeScript compiler does some very basic linting of your code, but most developers use (and Microsoft now officially recommends) ESLint.\n\nOne sure way to tell which tool is generating an error message is that _Linters like [ESLint](https://eslint.org/) or [TSLint](https://github.com/palantir/tslint/) will always mention their name, and the name of the pertinent rule, when it alerts you to a violation_.\n\nFor example, in VS Code, you might see a popover with this message:\n\n```plain\n[eslint] variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)\n```\n\nHere, `variable-name` is the name of the rule, and `[eslint]` is the *source* of the rule.\n\n- For issues relating to typescript compiler analysis, [create an issue in this project](https://github.com/typed-ember/ember-cli-typescript/issues/new/choose).\n- If you run into issues with using ESLint with Ember, create an issue [here](https://github.com/ember-cli/ember-cli-eslint/issues/new).\n- For TSLint-related concerns, please create an issue in the [`ember-cli-tslint`](https://github.com/typed-ember/ember-cli-tslint) project by clicking [here](https://github.com/typed-ember/ember-cli-tslint/issues/new).\n\n## Supported Ember and TypeScript versions\n\nember-cli-typescript runs its test suite against Ember CLI current and beta. It's also in active use in several large applications. Any breakage for upcoming releases _should_ be detected and fixed ahead of those releases, but you can help us guarantee that by running your own Ember.js+TypeScript app with beta and canary turned on and let us know if you run into issues with upcoming Ember.js releases.\n\nThis library supports the current version of TypeScript [![TS Version](https://img.shields.io/github/tag/Microsoft/typescript.svg?label=latest%20typescript%20release)](https://github.com/Microsoft/TypeScript/releases/latest) and at least one previous minor or major release. In other words, if `3.4` is the latest release, we **do** support `3.4.x`, `3.3.x`, and **might** support `3.2.x` as well. (The test suite only runs against the current release and `next` branch, but the TS versions do not affect the build process in the same way they do type definitions.)\n\n## Installing from git\n\nThis addon uses TypeScript for its own implementation, so if you install `ember-cli-typescript` from git rather than from the npm registry, you won't get compiled `.js` files. To get everything working, you can install `ts-node` as a project dependency, and `ember-cli-typescript` will ensure it's registered correctly to transpile source files as needed.\n","readmeFilename":"README.md","users":{"knownasilya":true,"mswanson1524":true}}