From 68ef83cc8f201ceaaf857351ab91b6749e6c9288 Mon Sep 17 00:00:00 2001 From: Krystan HuffMenne Date: Tue, 29 Nov 2022 11:59:28 -0800 Subject: [PATCH 1/4] Run tsc as linter --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 79b992ea..2d088d1d 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "lint:fix": "npm-run-all --print-name --aggregate-output --continue-on-error --parallel \"lint:*:fix\"", "lint:js": "eslint . --cache", "lint:js:fix": "eslint . --fix", + "lint:ts": "tsc --noEmit", "start": "ember serve", "test": "npm-run-all --print-name \"lint\" \"test:*\"", "test:ember": "ember test", From 2e1cc5725e1e0793bd2888d5f01c97199afdc189 Mon Sep 17 00:00:00 2001 From: Krystan HuffMenne Date: Wed, 30 Nov 2022 11:25:33 -0800 Subject: [PATCH 2/4] --wip-- [skip ci] --- addon-test-support/{adapter.js => adapter.ts} | 2 +- addon-test-support/{index.js => index.ts} | 0 package.json | 5 +- types/ember-qunit/index.d.ts | 2 + yarn.lock | 90 +++++++++---------- 5 files changed, 47 insertions(+), 52 deletions(-) rename addon-test-support/{adapter.js => adapter.ts} (96%) rename addon-test-support/{index.js => index.ts} (100%) create mode 100644 types/ember-qunit/index.d.ts diff --git a/addon-test-support/adapter.js b/addon-test-support/adapter.ts similarity index 96% rename from addon-test-support/adapter.js rename to addon-test-support/adapter.ts index 7673f392..65c1ba73 100644 --- a/addon-test-support/adapter.js +++ b/addon-test-support/adapter.ts @@ -1,6 +1,6 @@ import Ember from 'ember'; import * as QUnit from 'qunit'; -import hasEmberVersion from '@ember/test-helpers/has-ember-version'; +import { hasEmberVersion } from '@ember/test-helpers'; function unhandledRejectionAssertion(current, error) { let message, source; diff --git a/addon-test-support/index.js b/addon-test-support/index.ts similarity index 100% rename from addon-test-support/index.js rename to addon-test-support/index.ts diff --git a/package.json b/package.json index 2d088d1d..47b3fdd4 100644 --- a/package.json +++ b/package.json @@ -48,9 +48,12 @@ "@babel/core": "^7.20.2", "@babel/eslint-parser": "^7.19.1", "@ember/optional-features": "^2.0.0", - "@ember/test-helpers": "^2.8.1", + "@ember/test-helpers": "file:../ember-test-helpers", "@embroider/test-setup": "^1.8.3", "@glimmer/component": "^1.1.2", + "@tsconfig/ember": "^1.0.1", + "@types/qunit": "^2.19.3", + "@types/rsvp": "^4.0.4", "ember-angle-bracket-invocation-polyfill": "^3.0.2", "ember-cli": "~4.8.0", "ember-cli-dependency-checker": "^3.3.1", diff --git a/types/ember-qunit/index.d.ts b/types/ember-qunit/index.d.ts new file mode 100644 index 00000000..2109bac6 --- /dev/null +++ b/types/ember-qunit/index.d.ts @@ -0,0 +1,2 @@ +import 'ember-source/types'; +import 'ember-source/types/preview'; diff --git a/yarn.lock b/yarn.lock index 47edc0fa..49990821 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1140,19 +1140,16 @@ mkdirp "^1.0.4" silent-error "^1.1.1" -"@ember/test-helpers@^2.8.1": +"@ember/test-helpers@file:../ember-test-helpers": version "2.8.1" - resolved "https://registry.yarnpkg.com/@ember/test-helpers/-/test-helpers-2.8.1.tgz#20f2e30d48172c2ff713e1db7fbec5352f918d4e" - integrity sha512-jbsYwWyAdhL/pdPu7Gb3SG1gvIXY70FWMtC/Us0Kmvk82Y+5YUQ1SOC0io75qmOGYQmH7eQrd/bquEVd+4XtdQ== dependencies: "@ember/test-waiters" "^3.0.0" - "@embroider/macros" "^1.6.0" - "@embroider/util" "^1.6.0" + "@embroider/macros" "^1.10.0" + "@embroider/util" "^1.9.0" broccoli-debug "^0.6.5" broccoli-funnel "^3.0.8" - ember-cli-babel "^7.26.6" - ember-cli-htmlbars "^5.7.1" - ember-destroyable-polyfill "^2.0.3" + ember-cli-babel "^7.26.11" + ember-cli-htmlbars "^6.1.1" "@ember/test-waiters@^3.0.0": version "3.0.2" @@ -1164,7 +1161,7 @@ ember-cli-version-checker "^5.1.2" semver "^7.3.5" -"@embroider/macros@^1.0.0", "@embroider/macros@^1.6.0", "@embroider/macros@^1.9.0": +"@embroider/macros@^1.0.0", "@embroider/macros@^1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@embroider/macros/-/macros-1.9.0.tgz#0df2a56fdd93f11fddea450b6ca83cc2119b5008" integrity sha512-12ElrRT+mX3aSixGHjHnfsnyoH1hw5nM+P+Ax0ITZdp6TaAvWZ8dENnVHltdnv4ssHiX0EsVEXmqbIIdMN4nLA== @@ -1178,6 +1175,20 @@ resolve "^1.20.0" semver "^7.3.2" +"@embroider/macros@^1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@embroider/macros/-/macros-1.10.0.tgz#af3844d5db48f001b85cfb096c76727c72ad6c1e" + integrity sha512-LMbfQGk/a+f6xtvAv5fq/wf2LRxETnbgSCLUf/z6ebzmuskOUxrke+uP55chF/loWrARi9g6erFQ7RDOUoBMSg== + dependencies: + "@embroider/shared-internals" "2.0.0" + assert-never "^1.2.1" + babel-import-util "^1.1.0" + ember-cli-babel "^7.26.6" + find-up "^5.0.0" + lodash "^4.17.21" + resolve "^1.20.0" + semver "^7.3.2" + "@embroider/shared-internals@1.8.3", "@embroider/shared-internals@^1.0.0": version "1.8.3" resolved "https://registry.yarnpkg.com/@embroider/shared-internals/-/shared-internals-1.8.3.tgz#52d868dc80016e9fe983552c0e516f437bf9b9f9" @@ -1192,7 +1203,7 @@ semver "^7.3.5" typescript-memoize "^1.0.1" -"@embroider/shared-internals@^2.0.0": +"@embroider/shared-internals@2.0.0", "@embroider/shared-internals@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@embroider/shared-internals/-/shared-internals-2.0.0.tgz#d8205ec6944362aeecfbb51143db352430ced316" integrity sha512-qZ2/xky9mWm5YC6noOa6AiAwgISEQ78YTZNv4SNu2PFgEK/H+Ha/3ddngzGSsnXkVnIHZyxIBzhxETonQYHY9g== @@ -1214,7 +1225,7 @@ lodash "^4.17.21" resolve "^1.20.0" -"@embroider/util@^1.6.0": +"@embroider/util@^1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@embroider/util/-/util-1.9.0.tgz#331c46bdf106c44cb1dd6baaa9030d322c13cfca" integrity sha512-9I63iJK6N01OHJafmS/BX0msUkTlmhFMIEmDl/SRNACVi0nS6QfNyTgTTeji1P/DALf6eobg/9t/N4VhS9G9QA== @@ -1563,6 +1574,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tsconfig/ember@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@tsconfig/ember/-/ember-1.0.1.tgz#d7556d81f108438c17e4030acb4e1be6b2974e88" + integrity sha512-aPzLw5BfQxsFPrh5fNDOK4SbSkp2q5fMlrKVeniVjMz1lAcyOh2eH5THkKKcBi1YN1/fbMdAWN/dKGW6lg2+8g== + "@types/body-parser@*": version "1.19.2" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" @@ -1734,6 +1750,11 @@ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== +"@types/qunit@^2.19.3": + version "2.19.3" + resolved "https://registry.yarnpkg.com/@types/qunit/-/qunit-2.19.3.tgz#16e975469a36092929627f997c3dafca198a1aea" + integrity sha512-Vi47qmJ0viJoxW1kRDbhuYXGd2F0RREDfh69Hd4v/nlDV0YIjXPCAy6OebWKCZIZr680bQVQTJTL1OfhQoTvVw== + "@types/range-parser@*": version "1.2.4" resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" @@ -1747,6 +1768,11 @@ "@types/glob" "*" "@types/node" "*" +"@types/rsvp@^4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/rsvp/-/rsvp-4.0.4.tgz#55e93e7054027f1ad4b4ebc1e60e59eb091e2d32" + integrity sha512-J3Ol++HCC7/hwZhanDvggFYU/GtxHxE/e7cGRWxR04BF7Tt3TqJZ84BkzQgDxmX0uu8IagiyfmfoUlBACh2Ilg== + "@types/serve-static@*": version "1.15.0" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" @@ -2357,7 +2383,7 @@ babel-plugin-filter-imports@^4.0.0: "@babel/types" "^7.7.2" lodash "^4.17.15" -babel-plugin-htmlbars-inline-precompile@^5.0.0, babel-plugin-htmlbars-inline-precompile@^5.2.1, babel-plugin-htmlbars-inline-precompile@^5.3.0: +babel-plugin-htmlbars-inline-precompile@^5.2.1, babel-plugin-htmlbars-inline-precompile@^5.3.0: version "5.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-5.3.1.tgz#5ba272e2e4b6221522401f5f1d98a73b1de38787" integrity sha512-QWjjFgSKtSRIcsBhJmEwS2laIdrA6na8HAlc/pEAhjHgQsah/gMiBFRZvbQTy//hWxR4BMwV7/Mya7q5H8uHeA== @@ -4021,7 +4047,7 @@ ember-cli-babel-plugin-helpers@^1.0.0, ember-cli-babel-plugin-helpers@^1.1.1: resolved "https://registry.yarnpkg.com/ember-cli-babel-plugin-helpers/-/ember-cli-babel-plugin-helpers-1.1.1.tgz#5016b80cdef37036c4282eef2d863e1d73576879" integrity sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw== -ember-cli-babel@^7.0.0, ember-cli-babel@^7.13.0, ember-cli-babel@^7.13.2, ember-cli-babel@^7.22.1, ember-cli-babel@^7.23.1, ember-cli-babel@^7.26.11, ember-cli-babel@^7.26.6, ember-cli-babel@^7.7.3: +ember-cli-babel@^7.0.0, ember-cli-babel@^7.13.0, ember-cli-babel@^7.13.2, ember-cli-babel@^7.23.1, ember-cli-babel@^7.26.11, ember-cli-babel@^7.26.6, ember-cli-babel@^7.7.3: version "7.26.11" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.26.11.tgz#50da0fe4dcd99aada499843940fec75076249a9f" integrity sha512-JJYeYjiz/JTn34q7F5DSOjkkZqy8qwFOOxXfE6pe9yEJqWGu4qErKxlz8I22JoVEQ/aBUO+OcKTpmctvykM9YA== @@ -4073,28 +4099,6 @@ ember-cli-get-component-path-option@^1.0.0: resolved "https://registry.yarnpkg.com/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz#0d7b595559e2f9050abed804f1d8eff1b08bc771" integrity sha512-k47TDwcJ2zPideBCZE8sCiShSxQSpebY2BHcX2DdipMmBox5gsfyVrbKJWIHeSTTKyEUgmBIvQkqTOozEziCZA== -ember-cli-htmlbars@^5.7.1: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-5.7.2.tgz#e0cd2fb3c20d85fe4c3e228e6f0590ee1c645ba8" - integrity sha512-Uj6R+3TtBV5RZoJY14oZn/sNPnc+UgmC8nb5rI4P3fR/gYoyTFIZSXiIM7zl++IpMoIrocxOrgt+mhonKphgGg== - dependencies: - "@ember/edition-utils" "^1.2.0" - babel-plugin-htmlbars-inline-precompile "^5.0.0" - broccoli-debug "^0.6.5" - broccoli-persistent-filter "^3.1.2" - broccoli-plugin "^4.0.3" - common-tags "^1.8.0" - ember-cli-babel-plugin-helpers "^1.1.1" - ember-cli-version-checker "^5.1.2" - fs-tree-diff "^2.0.1" - hash-for-dep "^1.5.1" - heimdalljs-logger "^0.1.10" - json-stable-stringify "^1.0.1" - semver "^7.3.4" - silent-error "^1.1.1" - strip-bom "^4.0.0" - walk-sync "^2.2.0" - ember-cli-htmlbars@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-6.1.1.tgz#f5b588572a5d18ad087560122b8dabc90145173d" @@ -4349,7 +4353,7 @@ ember-cli@~4.8.0: workerpool "^6.2.1" yam "^1.0.0" -ember-compatibility-helpers@^1.0.2, ember-compatibility-helpers@^1.1.2, ember-compatibility-helpers@^1.2.1: +ember-compatibility-helpers@^1.0.2, ember-compatibility-helpers@^1.1.2: version "1.2.6" resolved "https://registry.yarnpkg.com/ember-compatibility-helpers/-/ember-compatibility-helpers-1.2.6.tgz#603579ab2fb14be567ef944da3fc2d355f779cd8" integrity sha512-2UBUa5SAuPg8/kRVaiOfTwlXdeVweal1zdNPibwItrhR0IvPrXpaqwJDlEZnWKEoB+h33V0JIfiWleSG6hGkkA== @@ -4360,15 +4364,6 @@ ember-compatibility-helpers@^1.0.2, ember-compatibility-helpers@^1.1.2, ember-co fs-extra "^9.1.0" semver "^5.4.1" -ember-destroyable-polyfill@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/ember-destroyable-polyfill/-/ember-destroyable-polyfill-2.0.3.tgz#1673ed66609a82268ef270a7d917ebd3647f11e1" - integrity sha512-TovtNqCumzyAiW0/OisSkkVK93xnVF4NRU6+FN0ubpfwEOpRrmM2RqDwXI6YAChCgSHON1cz0DfQStpA1Gjuuw== - dependencies: - ember-cli-babel "^7.22.1" - ember-cli-version-checker "^5.1.1" - ember-compatibility-helpers "^1.2.1" - ember-disable-prototype-extensions@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/ember-disable-prototype-extensions/-/ember-disable-prototype-extensions-1.1.3.tgz#1969135217654b5e278f9fe2d9d4e49b5720329e" @@ -10035,11 +10030,6 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" From 2c66fa47d37347d5189b3e6798cb499138fed860 Mon Sep 17 00:00:00 2001 From: Krystan HuffMenne Date: Fri, 2 Dec 2022 15:59:16 -0800 Subject: [PATCH 3/4] wip --- ...dation.js => test-isolation-validation.ts} | 0 .../{test-loader.js => test-loader.ts} | 0 package.json | 10 +++-- tests/dummy/app/config/environment.d.ts | 14 +++++++ tsconfig.json | 42 +++++++++++++++++++ types/{ember-qunit => dummy}/index.d.ts | 1 + types/global.d.ts | 7 ++++ yarn.lock | 33 ++++++++++++--- 8 files changed, 98 insertions(+), 9 deletions(-) rename addon-test-support/{test-isolation-validation.js => test-isolation-validation.ts} (100%) rename addon-test-support/{test-loader.js => test-loader.ts} (100%) create mode 100644 tests/dummy/app/config/environment.d.ts create mode 100644 tsconfig.json rename types/{ember-qunit => dummy}/index.d.ts (58%) create mode 100644 types/global.d.ts diff --git a/addon-test-support/test-isolation-validation.js b/addon-test-support/test-isolation-validation.ts similarity index 100% rename from addon-test-support/test-isolation-validation.js rename to addon-test-support/test-isolation-validation.ts diff --git a/addon-test-support/test-loader.js b/addon-test-support/test-loader.ts similarity index 100% rename from addon-test-support/test-loader.js rename to addon-test-support/test-loader.ts diff --git a/package.json b/package.json index 47b3fdd4..41b12084 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,9 @@ "start": "ember serve", "test": "npm-run-all --print-name \"lint\" \"test:*\"", "test:ember": "ember test", - "test:ember-compatibility": "ember try:each" + "test:ember-compatibility": "ember try:each", + "prepack": "ember ts:precompile", + "postpack": "ember ts:clean" }, "dependencies": { "broccoli-funnel": "^3.0.8", @@ -40,6 +42,7 @@ "ember-auto-import": "^2.4.3", "ember-cli-babel": "^7.26.11", "ember-cli-test-loader": "^3.0.0", + "ember-cli-typescript": "^5.2.1", "resolve-package-path": "^4.0.3", "silent-error": "^1.1.1", "validate-peer-dependencies": "^2.1.0" @@ -48,10 +51,10 @@ "@babel/core": "^7.20.2", "@babel/eslint-parser": "^7.19.1", "@ember/optional-features": "^2.0.0", - "@ember/test-helpers": "file:../ember-test-helpers", + "@ember/test-helpers": "file:.yalc/@ember/test-helpers", "@embroider/test-setup": "^1.8.3", "@glimmer/component": "^1.1.2", - "@tsconfig/ember": "^1.0.1", + "@tsconfig/ember": "^1.1.0", "@types/qunit": "^2.19.3", "@types/rsvp": "^4.0.4", "ember-angle-bracket-invocation-polyfill": "^3.0.2", @@ -77,6 +80,7 @@ "qunit": "^2.19.2", "release-it": "^15.5.0", "release-it-lerna-changelog": "^5.0.0", + "typescript": "^4.9.3", "webpack": "^5.74.0" }, "peerDependencies": { diff --git a/tests/dummy/app/config/environment.d.ts b/tests/dummy/app/config/environment.d.ts new file mode 100644 index 00000000..a8f92b9f --- /dev/null +++ b/tests/dummy/app/config/environment.d.ts @@ -0,0 +1,14 @@ +/** + * Type declarations for + * import config from 'my-app/config/environment' + */ +declare const config: { + environment: string; + modulePrefix: string; + podModulePrefix: string; + locationType: 'history' | 'hash' | 'none' | 'auto'; + rootURL: string; + APP: Record; +}; + +export default config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..4259d032 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,42 @@ +{ + "extends": "@tsconfig/ember/tsconfig.json", + "compilerOptions": { + + // The combination of `baseUrl` with `paths` allows Ember's classic package + // layout, which is not resolvable with the Node resolution algorithm, to + // work with TypeScript. + "baseUrl": ".", + "paths": { + "dummy/tests/*": [ + "tests/*" + ], + "dummy/*": [ + "tests/dummy/app/*", + "app/*" + ], + "ember-qunit": [ + "addon" + ], + "ember-qunit/*": [ + "addon/*" + ], + "ember-qunit/test-support": [ + "addon-test-support" + ], + "ember-qunit/test-support/*": [ + "addon-test-support/*" + ], + "*": [ + "types/*" + ] + } + }, + "include": [ + "app/**/*", + "addon/**/*", + "tests/**/*", + "types/**/*", + "test-support/**/*", + "addon-test-support/**/*" + ] +} diff --git a/types/ember-qunit/index.d.ts b/types/dummy/index.d.ts similarity index 58% rename from types/ember-qunit/index.d.ts rename to types/dummy/index.d.ts index 2109bac6..34dcd67c 100644 --- a/types/ember-qunit/index.d.ts +++ b/types/dummy/index.d.ts @@ -1,2 +1,3 @@ +// FIXME: Not sure this actually does anything import 'ember-source/types'; import 'ember-source/types/preview'; diff --git a/types/global.d.ts b/types/global.d.ts new file mode 100644 index 00000000..a9d80774 --- /dev/null +++ b/types/global.d.ts @@ -0,0 +1,7 @@ +// Types for compiled templates +declare module 'ember-qunit/templates/*' { + import { TemplateFactory } from 'ember-cli-htmlbars'; + + const tmpl: TemplateFactory; + export default tmpl; +} diff --git a/yarn.lock b/yarn.lock index 49990821..903db75f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1140,7 +1140,7 @@ mkdirp "^1.0.4" silent-error "^1.1.1" -"@ember/test-helpers@file:../ember-test-helpers": +"@ember/test-helpers@file:.yalc/@ember/test-helpers": version "2.8.1" dependencies: "@ember/test-waiters" "^3.0.0" @@ -1574,10 +1574,10 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@tsconfig/ember@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@tsconfig/ember/-/ember-1.0.1.tgz#d7556d81f108438c17e4030acb4e1be6b2974e88" - integrity sha512-aPzLw5BfQxsFPrh5fNDOK4SbSkp2q5fMlrKVeniVjMz1lAcyOh2eH5THkKKcBi1YN1/fbMdAWN/dKGW6lg2+8g== +"@tsconfig/ember@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@tsconfig/ember/-/ember-1.1.0.tgz#43b50df65d3e1236306aa5857e2daa4a1298387e" + integrity sha512-VzIrPO7ZpnIEmU+dJe3ubEPhxUIyavwIh2vxg8rXrwSnB99hdVcq0ZFPQ4KRP0LrSNzaPI1QA2sATIPwnBYPQg== "@types/body-parser@*": version "1.19.2" @@ -2116,7 +2116,7 @@ ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -ansi-to-html@^0.6.6: +ansi-to-html@^0.6.15, ansi-to-html@^0.6.6: version "0.6.15" resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.15.tgz#ac6ad4798a00f6aa045535d7f6a9cb9294eebea7" integrity sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ== @@ -4221,6 +4221,22 @@ ember-cli-typescript@^2.0.2: stagehand "^1.0.0" walk-sync "^1.0.0" +ember-cli-typescript@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/ember-cli-typescript/-/ember-cli-typescript-5.2.1.tgz#553030f1ce3e8958b8e4fc34909acd1218cb35f2" + integrity sha512-qqp5TAIuPHxHiGXJKL+78Euyhy0zSKQMovPh8sJpN/ZBYx0H90pONufHR3anaMcp1snVfx4B+mb9+7ijOik8ZA== + dependencies: + ansi-to-html "^0.6.15" + broccoli-stew "^3.0.0" + debug "^4.0.0" + execa "^4.0.0" + fs-extra "^9.0.1" + resolve "^1.5.0" + rsvp "^4.8.1" + semver "^7.3.2" + stagehand "^1.0.0" + walk-sync "^2.2.0" + ember-cli-version-checker@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz#47771b731fe0962705e27c8199a9e3825709f3b3" @@ -10466,6 +10482,11 @@ typescript-memoize@^1.0.0-alpha.3, typescript-memoize@^1.0.1: resolved "https://registry.yarnpkg.com/typescript-memoize/-/typescript-memoize-1.1.1.tgz#02737495d5df6ebf72c07ba0d002e8f4cf5ccfa0" integrity sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA== +typescript@^4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db" + integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" From b19b306490a8e55254ce04d6058975b121d89b19 Mon Sep 17 00:00:00 2001 From: Krystan HuffMenne Date: Fri, 2 Dec 2022 16:25:35 -0800 Subject: [PATCH 4/4] WIP --- .gitignore | 2 + addon-test-support/adapter.ts | 2 + addon-test-support/index.ts | 2 + .../test-isolation-validation.ts | 2 + addon-test-support/test-loader.ts | 2 + package.json | 15 ++++- tsconfig.json | 5 +- yarn.lock | 57 +++++++++++++++++-- 8 files changed, 78 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 57f1ade9..e07a98ba 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,8 @@ /npm-debug.log* /testem.log /yarn-error.log +/.yalc +/yalc.lock # ember-try /.node_modules.ember-try/ diff --git a/addon-test-support/adapter.ts b/addon-test-support/adapter.ts index 65c1ba73..88788ad3 100644 --- a/addon-test-support/adapter.ts +++ b/addon-test-support/adapter.ts @@ -1,3 +1,5 @@ +// @ts-nocheck FIXME: Remove + import Ember from 'ember'; import * as QUnit from 'qunit'; import { hasEmberVersion } from '@ember/test-helpers'; diff --git a/addon-test-support/index.ts b/addon-test-support/index.ts index a5258ce4..58e39275 100644 --- a/addon-test-support/index.ts +++ b/addon-test-support/index.ts @@ -1,3 +1,5 @@ +// @ts-nocheck FIXME: Remove + /* globals Testem */ export { default as QUnitAdapter, nonTestDoneCallback } from './adapter'; diff --git a/addon-test-support/test-isolation-validation.ts b/addon-test-support/test-isolation-validation.ts index f0cebe51..d6b0fd54 100644 --- a/addon-test-support/test-isolation-validation.ts +++ b/addon-test-support/test-isolation-validation.ts @@ -1,3 +1,5 @@ +// @ts-nocheck FIXME: Remove + /* eslint-disable no-console */ import * as QUnit from 'qunit'; import { _cancelTimers as cancelTimers } from '@ember/runloop'; diff --git a/addon-test-support/test-loader.ts b/addon-test-support/test-loader.ts index 1d111f4e..f062e296 100644 --- a/addon-test-support/test-loader.ts +++ b/addon-test-support/test-loader.ts @@ -1,3 +1,5 @@ +// @ts-nocheck FIXME: Remove + import * as QUnit from 'qunit'; import AbstractTestLoader, { addModuleExcludeMatcher, diff --git a/package.json b/package.json index 41b12084..d19e1868 100644 --- a/package.json +++ b/package.json @@ -32,8 +32,8 @@ "test": "npm-run-all --print-name \"lint\" \"test:*\"", "test:ember": "ember test", "test:ember-compatibility": "ember try:each", - "prepack": "ember ts:precompile", - "postpack": "ember ts:clean" + "prepack": "yarn ember ts:precompile", + "postpack": "yarn ember ts:clean" }, "dependencies": { "broccoli-funnel": "^3.0.8", @@ -54,6 +54,8 @@ "@ember/test-helpers": "file:.yalc/@ember/test-helpers", "@embroider/test-setup": "^1.8.3", "@glimmer/component": "^1.1.2", + "@glimmer/interfaces": "^0.84.2", + "@glimmer/reference": "^0.84.2", "@tsconfig/ember": "^1.1.0", "@types/qunit": "^2.19.3", "@types/rsvp": "^4.0.4", @@ -66,7 +68,7 @@ "ember-disable-prototype-extensions": "^1.1.3", "ember-load-initializers": "^2.1.2", "ember-resolver": "^8.0.3", - "ember-source": "~4.9.1", + "ember-source": "^4.10.0-beta.2", "ember-source-channel-url": "^3.0.0", "ember-try": "^2.0.0", "eslint": "^8.26.0", @@ -127,5 +129,12 @@ "volta": { "node": "14.19.1", "yarn": "1.22.18" + }, + "typesVersions": { + "*": { + "*": [ + "test-support/*" + ] + } } } diff --git a/tsconfig.json b/tsconfig.json index 4259d032..3d511d14 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -38,5 +38,8 @@ "types/**/*", "test-support/**/*", "addon-test-support/**/*" - ] + ], + + // FIXME: Remove + "noEmitOnError": false, } diff --git a/yarn.lock b/yarn.lock index 903db75f..072196ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1279,16 +1279,58 @@ resolved "https://registry.yarnpkg.com/@glimmer/di/-/di-0.1.11.tgz#a6878c07a13a2c2c76fcde598a5c97637bfc4280" integrity sha512-moRwafNDwHTnTHzyyZC9D+mUSvYrs1Ak0tRPjjmCghdoHHIvMshVbEnwKb/1WmW5CUlKc2eL9rlAV32n3GiItg== -"@glimmer/env@^0.1.7": +"@glimmer/env@0.1.7", "@glimmer/env@^0.1.7": version "0.1.7" resolved "https://registry.yarnpkg.com/@glimmer/env/-/env-0.1.7.tgz#fd2d2b55a9029c6b37a6c935e8c8871ae70dfa07" integrity sha512-JKF/a9I9jw6fGoz8kA7LEQslrwJ5jms5CXhu/aqkBWk+PmZ6pTl8mlb/eJ/5ujBGTiQzBhy5AIWF712iA+4/mw== +"@glimmer/global-context@0.84.2": + version "0.84.2" + resolved "https://registry.yarnpkg.com/@glimmer/global-context/-/global-context-0.84.2.tgz#cd4612925dbd68787b9270e91b213691150c307f" + integrity sha512-6FycLh/Eq0P3LA94bJL6WHPJyOTKeQD4KBWhowZ9TbeO3p4/WUr+POKPVEyfIx6YHybhpL9MGj45Y2r0hqVigw== + dependencies: + "@glimmer/env" "^0.1.7" + +"@glimmer/interfaces@0.84.2", "@glimmer/interfaces@^0.84.2": + version "0.84.2" + resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.84.2.tgz#764cf92c954adcd1a851e5dc68ec1f6b654dc3bd" + integrity sha512-tMZxQpOddUVmHEOuripkNqVR7ba0K4doiYnFd4WyswqoHPlxqpBujbIamQ+bWCWEF0U4yxsXKa31ekS/JHkiBQ== + dependencies: + "@simple-dom/interface" "^1.4.0" + +"@glimmer/reference@^0.84.2": + version "0.84.2" + resolved "https://registry.yarnpkg.com/@glimmer/reference/-/reference-0.84.2.tgz#c8d91a3ba0b92a9430b6023d7b6f39dd56c79af1" + integrity sha512-hH0VD76OXMsGSHbqaqD64u1aBEqy//jhZtIaHGwAHNpTEX+zDtW3ka298KbAn2CZyDDrNAnuc2U1Vy4COR3zlA== + dependencies: + "@glimmer/env" "^0.1.7" + "@glimmer/global-context" "0.84.2" + "@glimmer/interfaces" "0.84.2" + "@glimmer/util" "0.84.2" + "@glimmer/validator" "0.84.2" + +"@glimmer/util@0.84.2": + version "0.84.2" + resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.84.2.tgz#2711ba40f25f44b2ea309cad49f5c2622c6211bc" + integrity sha512-VbhzE2s4rmU+qJF3gGBTL1IDjq+/G2Th51XErS8MQVMCmE4CU2pdwSzec8PyOowqCGUOrVIWuMzEI6VoPM4L4w== + dependencies: + "@glimmer/env" "0.1.7" + "@glimmer/interfaces" "0.84.2" + "@simple-dom/interface" "^1.4.0" + "@glimmer/util@^0.44.0": version "0.44.0" resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.44.0.tgz#45df98d73812440206ae7bda87cfe04aaae21ed9" integrity sha512-duAsm30uVK9jSysElCbLyU6QQYO2X9iLDLBIBUcCqck9qN1o3tK2qWiHbGK5d6g8E2AJ4H88UrfElkyaJlGrwg== +"@glimmer/validator@0.84.2": + version "0.84.2" + resolved "https://registry.yarnpkg.com/@glimmer/validator/-/validator-0.84.2.tgz#29394d262cf8373fe20f4e225c1adc9857a4164b" + integrity sha512-9tpSmwiktsJDqriNEiFfyP+9prMSdk08THA6Ik71xS/sudBKxoDpul678uvyEYST/+Z23F8MxwKccC+QxCMXNA== + dependencies: + "@glimmer/env" "^0.1.7" + "@glimmer/global-context" "0.84.2" + "@glimmer/vm-babel-plugins@0.84.2": version "0.84.2" resolved "https://registry.yarnpkg.com/@glimmer/vm-babel-plugins/-/vm-babel-plugins-0.84.2.tgz#653ce82a6656b4396d87a479d8699450d35a17f0" @@ -1540,6 +1582,11 @@ "@pnpm/network.ca-file" "^1.0.1" config-chain "^1.1.11" +"@simple-dom/interface@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@simple-dom/interface/-/interface-1.4.0.tgz#e8feea579232017f89b0138e2726facda6fbb71f" + integrity sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA== + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -4426,10 +4473,10 @@ ember-source-channel-url@^3.0.0: dependencies: node-fetch "^2.6.0" -ember-source@~4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/ember-source/-/ember-source-4.9.1.tgz#1b5d84d753ebeab7f372dbd7f39c98123e98cd41" - integrity sha512-45dobRcQapTpWa6VWgDcAv6bP6iDxCVi5pJAf04NSRjDLHsjVGUCTdRslOl5rt3sX8dZJqakMnqYD2DwVjDf3A== +ember-source@^4.10.0-beta.2: + version "4.10.0-beta.2" + resolved "https://registry.yarnpkg.com/ember-source/-/ember-source-4.10.0-beta.2.tgz#eedf63285db6a093a09d612f8b689f0d30932298" + integrity sha512-L+rmkZTXVpAkJTeu9pJJ5PcXnT5ZOpSxYNdL0cJgbMUiUgOKNwlDlrEes86Xrb603hO0OnHK04hdLoXf0MW1Ag== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/plugin-transform-block-scoping" "^7.16.0"