Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test against DT types as well as stable #281

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 37 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
working-directory: test-app

typecheck:
name: '${{ matrix.typescript-scenario }}'
name: 'Stable ${{ matrix.typescript-scenario }}'
runs-on: ubuntu-latest
timeout-minutes: 2
continue-on-error: true
Expand All @@ -81,7 +81,7 @@ jobs:
- uses: actions/checkout@v4
- uses: wyvox/action-setup-pnpm@v3
- run: pnpm build
- run: pnpm i -f # just in case
- run: pnpm i -f # re-links injected dependencies
- name: 'test-types : ${{ matrix.typescript-scenario }}'
working-directory: ./test-types
run: 'pnpm add --save-dev ${{ matrix.typescript-scenario}}'
Expand All @@ -90,6 +90,8 @@ jobs:
working-directory: ./docs
run: 'pnpm add --save-dev ${{ matrix.typescript-scenario}}'

- run: pnpm dedupe

- name: 'test-types'
working-directory: ./test-types
run: |
Expand All @@ -103,6 +105,39 @@ jobs:
pnpm glint --version
pnpm glint

typecheck_DT:
name: 'DefinitelyTyped ${{ matrix.typescript-scenario }}'
runs-on: ubuntu-latest
timeout-minutes: 2
continue-on-error: true
strategy:
fail-fast: false
matrix:
typescript-scenario:
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- typescript@next

steps:
- uses: actions/checkout@v4
- uses: wyvox/action-setup-pnpm@v3
- run: pnpm build
- run: pnpm i -f # just in case
- name: 'test-types : ${{ matrix.typescript-scenario }}'
working-directory: ./@types/test-types
run: 'pnpm add --save-dev ${{ matrix.typescript-scenario}}'

- name: 'docs : ${{ matrix.typescript-scenario }}'
working-directory: ./@types/test-app
run: 'pnpm add --save-dev ${{ matrix.typescript-scenario}}'

- name: 'test-types'
working-directory: ./@types/test-types
run: |
pnpm tsc -v
pnpm tsc --noEmit

try-scenarios:
name: Tests - ${{ matrix.ember-try-scenario }}
Expand Down
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,7 @@ resolution-mode=highest
# super strict mode
auto-install-peers=false
resolve-peers-from-workspace-root=false

# default is true, we do this to try to have more isolation
# since we test with incompatible sets of TS types.
shared-workspace-lockfile=false
6 changes: 6 additions & 0 deletions @types/test-app/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
app/
tests/
types/
*.yaml
*.md
*.yml
6 changes: 6 additions & 0 deletions @types/test-app/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
app/
tests/
types/
*.yaml
*.md
*.yml
1 change: 1 addition & 0 deletions @types/test-app/app
121 changes: 121 additions & 0 deletions @types/test-app/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
{
"name": "test-app-definitely-typed",
"version": "0.0.0",
"private": true,
"description": "Small description for test-app goes here",
"repository": "",
"license": "MIT",
"author": "",
"directories": {
"doc": "doc",
"test": "tests"
},
"scripts": {},
"dependencies": {
"@ember/test-waiters": "^3.0.2",
"@embroider/macros": "^1.12.3",
"@glimmer/component": "^1.1.2",
"@glimmer/tracking": "^1.1.2",
"tracked-built-ins": "^3.1.0"
},
"dependenciesMeta": {
"ember-page-title": {
"injected": true
}
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/eslint-parser": "^7.19.1",
"@ember/optional-features": "^2.0.0",
"@ember/string": "^3.0.1",
"@ember/test-helpers": "^3.2.1",
"@embroider/compat": "^3.1.5",
"@embroider/core": "^3.1.3",
"@embroider/test-setup": "^3.0.1",
"@embroider/webpack": "^3.1.3",
"@glint/core": "^1.0.2",
"@glint/environment-ember-loose": "^1.0.2",
"@glint/environment-ember-template-imports": "^1.0.2",
"@glint/template": "^1.0.2",
"@nullvoxpopuli/eslint-configs": "^3.2.0",
"@tsconfig/ember": "^2.0.0",
"@types/ember": "^4.0.10",
"@types/ember__application": "^4.0.10",
"@types/ember__debug": "^4.0.7",
"@types/ember__destroyable": "^4.0.4",
"@types/ember__helper": "^4.0.5",
"@types/ember__modifier": "^4.0.8",
"@types/ember__object": "^4.0.11",
"@types/ember__owner": "^4.0.8",
"@types/ember__routing": "^4.0.19",
"@types/ember__runloop": "^4.0.8",
"@types/ember__service": "^4.0.8",
"@types/events": "^3.0.0",
"@types/qunit": "^2.19.4",
"@types/rsvp": "^4.0.4",
"@typescript-eslint/eslint-plugin": "^5.54.0",
"@typescript-eslint/parser": "^5.54.0",
"broccoli-asset-rev": "^3.0.0",
"concurrently": "^7.6.0",
"ember-auto-import": "2.6.1",
"ember-cli": "~4.11.0",
"ember-cli-app-version": "^6.0.0",
"ember-cli-babel": "^8.2.0",
"ember-cli-dependency-checker": "^3.2.0",
"ember-cli-deprecation-workflow": "^2.1.0",
"ember-cli-htmlbars": "^6.2.0",
"ember-cli-inject-live-reload": "^2.1.0",
"ember-load-initializers": "^2.1.2",
"ember-maybe-import-regenerator": "^1.0.0",
"ember-modifier": "^4.1.0",
"ember-page-title": "workspace:*",
"ember-qunit": "^8.0.2",
"ember-resolver": "^10.0.0",
"ember-source": "^5.5.0",
"ember-source-channel-url": "^3.0.0",
"ember-template-imports": "^3.4.2",
"ember-template-lint": "^5.6.0",
"ember-try": "^3.0.0",
"eslint": "^8.35.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-ember": "^11.4.7",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-qunit": "^7.3.4",
"expect-type": "^0.13.0",
"loader.js": "^4.7.0",
"msw": "^1.3.2",
"pnpm-sync-dependencies-meta-injected": "^0.0.8",
"prettier": "^2.8.4",
"prettier-plugin-ember-template-tag": "^0.3.2",
"qunit": "^2.19.4",
"qunit-dom": "^2.0.0",
"ts-expect": "^1.3.0",
"typescript": "^4.8.0",
"webpack": "^5.88.2"
},
"engines": {
"node": "12.* || 14.* || >= 16"
},
"ember": {
"edition": "octane"
},
"volta": {
"extends": "../../package.json"
},
"pnpm": {
"overrides": {
"@glimmer/manager": ">= 0.87.1",
"@glimmer/validator": ">= 0.87.1"
},
"peerDependencyRules": {
"ignoreMissing": [
"webpack"
],
"allowAny": [
"ember-source",
"typescript"
]
}
}
}
Loading
Loading