diff --git a/.github/actions/prepare-build/action.yml b/.github/actions/prepare-build/action.yml new file mode 100644 index 00000000000..a83f403c0ff --- /dev/null +++ b/.github/actions/prepare-build/action.yml @@ -0,0 +1,22 @@ +name: "Prepare: Build" +description: "Prepares the repo for a job by running the build" +# inputs: - no inputs +# outputs: - no outputs + +runs: + using: "composite" + steps: + - uses: actions/cache@v3 + id: build-cache + with: + path: "**/dist/**" + key: ${{ runner.os }}-build-${{ github.ref }} + restore-keys: | + ${{ runner.os }}-build- + + # if the cache was hit - this will run in <1s + - name: Build + shell: bash + # Website will be built by the Netlify GitHub App + run: | + yarn build --exclude website diff --git a/.github/actions/prepare-install/action.yml b/.github/actions/prepare-install/action.yml new file mode 100644 index 00000000000..73fc2191a0d --- /dev/null +++ b/.github/actions/prepare-install/action.yml @@ -0,0 +1,44 @@ +name: "Prepare: Checkout and Install" +description: "Prepares the repo for a job by checking out and installing dependencies" +inputs: + node-version: + description: "The node version to setup" + required: true + registry-url: + description: "Define registry-url" + required: false + +# outputs: - no outputs + +runs: + using: "composite" + steps: + - name: echo github.ref + shell: bash + run: echo ${{ github.ref }} + + - name: Use Node.js ${{ inputs.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ inputs.node-version }} + registry-url: ${{ inputs.registry-url }} + + - name: Get yarn cache directory path + shell: bash + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - uses: actions/cache@v3 + id: yarn-cache + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + # if the cache was hit - this will run in <1s + - name: Install dependencies + shell: bash + run: | + yarn --ignore-engines --frozen-lockfile --ignore-scripts + yarn check-clean-workspace-after-install diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 704793ed36f..a2e01de9938 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,419 +9,189 @@ on: - '**' env: - PRIMARY_NODE_VERSION: 16 + PRIMARY_NODE_VERSION: 18 NX_BRANCH: ${{ github.event.number }} NX_RUN_GROUP: ${{ github.run_id }} - # Added the - at the end to function as a separator to improve readability in the PR comment from the Nx cloud app - NX_CLOUD_ENV_NAME: 'Node 12.x -' -jobs: - typecheck: - name: Typecheck - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: echo github.ref - run: echo ${{ github.ref }} - - - name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} - uses: actions/setup-node@v3 - with: - node-version: ${{ env.PRIMARY_NODE_VERSION }} - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- +defaults: + run: + shell: bash - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install +# +# Workflow for how the CI spawns jobs: +# 1) Run the install and cache the install artefacts +# 2) Run the build and cache the output +# - In parallel we also any steps that don't need the build (like prettier) +# 3) Run the steps that depend on the build +# - - name: Build - run: | - # Website will be built by the Netlify GitHub App - yarn build --exclude website - - # Note that this command *also* type checks tests/tools, - # whereas the build only checks src files - - name: Typecheck all packages - run: yarn typecheck - - unit_test_on_primary_node_version: - name: Unit tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 2 - - - name: echo github.ref - run: echo ${{ github.ref }} - - - name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} - uses: actions/setup-node@v3 - with: - node-version: ${{ env.PRIMARY_NODE_VERSION }} - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install - - - name: Build - run: | - # Website will be built by the Netlify GitHub App - yarn build --exclude website - - - name: Run unit tests for ast-spec - run: yarn test - working-directory: packages/ast-spec - env: - CI: true - - - name: Run unit tests for typescript-estree - run: npx nx test @typescript-eslint/typescript-estree - env: - CI: true - - - name: Run unit tests for visitor-keys - run: npx nx test @typescript-eslint/visitor-keys - env: - CI: true - - - name: Run unit tests for scope-manager - run: npx nx test @typescript-eslint/scope-manager --code-coverage - env: - CI: true - - - name: Run unit tests for utils - run: npx nx test @typescript-eslint/utils - env: - CI: true - - - name: Run unit tests for type-utils - run: npx nx test @typescript-eslint/type-utils - env: - CI: true - - - name: Run unit tests for parser - run: npx nx test @typescript-eslint/parser - env: - CI: true - - - name: Run unit tests for eslint-plugin - run: npx nx test @typescript-eslint/eslint-plugin - env: - CI: true - - - name: Run unit tests for eslint-plugin-tslint - run: npx nx test @typescript-eslint/eslint-plugin-tslint - env: - CI: true - - - name: Run unit tests for eslint-plugin-internal - run: npx nx test @typescript-eslint/eslint-plugin-internal - env: - CI: true - - - name: Publish code coverage report - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: packages/**/coverage/lcov.info - flags: unittest - name: codecov - - spellcheck: - name: Spellcheck +jobs: + install: + name: Checkout and Install runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} - uses: actions/setup-node@v3 + - name: Checkout + uses: actions/checkout@v3 + - name: Install + uses: ./.github/actions/prepare-install with: node-version: ${{ env.PRIMARY_NODE_VERSION }} - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install - - - name: Check spelling - run: yarn check-spelling - - check_format: - name: Check Format + build: + name: Build All Packages + needs: [install] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} - uses: actions/setup-node@v3 + - name: Checkout + uses: actions/checkout@v3 + - name: Install + uses: ./.github/actions/prepare-install with: node-version: ${{ env.PRIMARY_NODE_VERSION }} + - name: Build + uses: ./.github/actions/prepare-build - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install - - - name: Lint markdown - run: yarn lint-markdown - - markdownlint: - name: Markdownlint + lint_without_build: + name: Lint + needs: [install] runs-on: ubuntu-latest + strategy: + matrix: + lint-task: [ + "check-spelling", + "check-format", + "lint-markdown", + ] steps: - - uses: actions/checkout@v3 - - name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} - uses: actions/setup-node@v3 + - name: Checkout + uses: actions/checkout@v3 + - name: Install + uses: ./.github/actions/prepare-install with: node-version: ${{ env.PRIMARY_NODE_VERSION }} - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install + - name: Run Check + run: yarn ${{ matrix.lint-task }} - - name: Check code formatting - run: yarn check-format - - eslint: - name: ESLint + lint_with_build: + name: Lint + # because we lint with our own tooling, we need to build + needs: [build] runs-on: ubuntu-latest + strategy: + matrix: + lint-task: [ + "lint", + "typecheck", + ] steps: - - uses: actions/checkout@v3 - - name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} - uses: actions/setup-node@v3 + - name: Checkout + uses: actions/checkout@v3 + - name: Install + uses: ./.github/actions/prepare-install with: node-version: ${{ env.PRIMARY_NODE_VERSION }} - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install - - name: Build - run: | - # Website will be built by the Netlify GitHub App - yarn build --exclude website + uses: ./.github/actions/prepare-build - - name: Lint code - run: yarn lint + - name: Run Check + run: yarn ${{ matrix.lint-task }} integration_tests: name: Run integration tests on primary Node.js version + needs: [build] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} - uses: actions/setup-node@v3 + - name: Checkout + uses: actions/checkout@v3 + - name: Install + uses: ./.github/actions/prepare-install with: node-version: ${{ env.PRIMARY_NODE_VERSION }} - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install - - name: Build - run: | - # Website will be built by the Netlify GitHub App - yarn build --exclude website + uses: ./.github/actions/prepare-build - name: Run integrations tests run: yarn test-integration env: CI: true - unit_tests_on_other_node_versions: - name: Run unit tests on other Node.js versions + unit_tests: + name: Run Unit Tests + needs: [build] runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x, 14.x, 16.x] + # just run on the oldest and latest supported versions and assume the intermediate versions are good + node-version: [12, 18] + package: [ + "ast-spec", + "eslint-plugin", + "eslint-plugin-internal", + "eslint-plugin-tslint", + "parser", + "scope-manager", + "type-utils", + "typescript-estree", + "utils", + "visitor-keys", + ] env: # Added the - at the end to function as a separator to improve readability in the PR comment from the Nx cloud app NX_CLOUD_ENV_NAME: 'Node ${{ matrix.node-version }} -' + COLLECT_COVERAGE: false steps: - - uses: actions/checkout@v3 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + - name: Checkout + uses: actions/checkout@v3 with: - node-version: ${{ matrix.node-version }} - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + fetch-depth: 2 + - name: Install + uses: ./.github/actions/prepare-install with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install - + node-version: ${{ env.PRIMARY_NODE_VERSION }} - name: Build - run: | - # Website will be built by the Netlify GitHub App - yarn build --exclude website - - - name: Run unit tests for typescript-estree - run: npx nx test @typescript-eslint/typescript-estree - env: - CI: true - - - name: Run unit tests for visitor-keys - run: npx nx test @typescript-eslint/visitor-keys - env: - CI: true - - - name: Run unit tests for scope-manager - run: npx nx test @typescript-eslint/scope-manager - env: - CI: true - - - name: Run unit tests for utils - run: npx nx test @typescript-eslint/utils - env: - CI: true - - - name: Run unit tests for type-utils - run: npx nx test @typescript-eslint/type-utils - env: - CI: true - - - name: Run unit tests for parser - run: npx nx test @typescript-eslint/parser - env: - CI: true - - - name: Run unit tests for eslint-plugin - run: npx nx test @typescript-eslint/eslint-plugin + uses: ./.github/actions/prepare-build + + # collect coverage on the primary node version + # we don't collect coverage on other node versions so they run faster + # note that we don't do this as a single `run` with a flag because some + # packages don't collect coverage on purpose, so forcing `--coverage=true` + # would override the config + - name: Run unit tests with coverage for ${{ matrix.package }} + if: env.PRIMARY_NODE_VERSION == matrix.node-version + run: npx nx test @typescript-eslint/${{ matrix.package }} env: CI: true - - - name: Run unit tests for eslint-plugin-tslint - run: npx nx test @typescript-eslint/eslint-plugin-tslint + - name: Run unit tests for ${{ matrix.package }} + if: env.PRIMARY_NODE_VERSION != matrix.node-version + run: npx nx test @typescript-eslint/${{ matrix.package }} --coverage=false env: CI: true - # ast-spec is internal only - so don't care about compat on other versions - # eslint-plugin-internal is internal only - so don't care about compat on other versions + - name: Store coverage for uploading + if: env.PRIMARY_NODE_VERSION == matrix.node-version + uses: actions/upload-artifact@v3 + with: + name: ${{ matrix.package }}-coverage + path: packages/${{ matrix.package }}/coverage/lcov.info + # Sadly 1 day is the minimum + retention-days: 1 website_tests: name: Website tests + needs: [build] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v3 with: fetch-depth: 2 - - - name: echo github.ref - run: echo ${{ github.ref }} - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + - name: Install + uses: ./.github/actions/prepare-install with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: yarn --ignore-engines --frozen-lockfile + node-version: ${{ env.PRIMARY_NODE_VERSION }} + - name: Build + uses: ./.github/actions/prepare-build - name: Cypress run uses: cypress-io/github-action@v2 @@ -430,62 +200,59 @@ jobs: start: yarn start - uses: actions/upload-artifact@v3 - if: always() with: name: screenshots path: | packages/website/cypress/screenshots/ packages/website/cypress/videos/ + upload_coverage: + name: Upload Codecov Coverage + needs: [unit_tests] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Download coverage reports + uses: actions/download-artifact@v3 + with: + path: coverage + + - name: Publish code coverage report + uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: coverage/**/lcov.info + flags: unittest + name: codecov + publish_canary_version: name: Publish the latest code as a canary version runs-on: ubuntu-latest needs: [ - typecheck, - unit_test_on_primary_node_version, - unit_tests_on_other_node_versions, - spellcheck, - check_format, - markdownlint, - eslint, integration_tests, + lint_with_build, + lint_without_build, + unit_tests, ] if: github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main' steps: - - uses: actions/checkout@v3 - # Fetch all history for all tags and branches in this job because lerna needs it - - run: | - git fetch --prune --unshallow - - - name: Use Node.js ${{ env.PRIMARY_NODE_VERSION }} - uses: actions/setup-node@v3 + - name: Checkout + uses: actions/checkout@v3 + - name: Install + uses: ./.github/actions/prepare-install with: node-version: ${{ env.PRIMARY_NODE_VERSION }} - registry-url: https://registry.npmjs.org/ - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - uses: actions/cache@v3 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Install dependencies - run: | - yarn --ignore-engines --frozen-lockfile --ignore-scripts - yarn check-clean-workspace-after-install - + registry-url: "https://registry.npmjs.org" - name: Build - run: | - # Website will be built by the Netlify GitHub App - yarn build --exclude website + uses: ./.github/actions/prepare-build + + # Fetch all history for all tags and branches in this job because lerna needs it + - run: | + git fetch --prune --unshallow - name: Publish all packages to npm run: npx lerna publish --loglevel=verbose --canary --exact --force-publish --yes diff --git a/CHANGELOG.md b/CHANGELOG.md index c26dddef35d..390589e4a2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + + +### Bug Fixes + +* **eslint-plugin:** [typedef] stop enforcing rule for assignment expressions ([#4958](https://github.com/typescript-eslint/typescript-eslint/issues/4958)) ([04a216c](https://github.com/typescript-eslint/typescript-eslint/commit/04a216c39c02085fe5d555ce81bdced0e563a7c4)) +* **eslint-plugin:** strict config should not extend recommended ([#5005](https://github.com/typescript-eslint/typescript-eslint/issues/5005)) ([05d71c2](https://github.com/typescript-eslint/typescript-eslint/commit/05d71c2ebd8e072aa4e8ee3ea8521de00e47d4ca)) +* **website:** correct Presets link to be Configs ([#5004](https://github.com/typescript-eslint/typescript-eslint/issues/5004)) ([e18e91c](https://github.com/typescript-eslint/typescript-eslint/commit/e18e91c6cfb1ee93bfff3770ea4d8f807d5ced0b)) + + +### Features + +* **eslint-plugin:** [no-empty-function] new allow option overrideMethods ([#4923](https://github.com/typescript-eslint/typescript-eslint/issues/4923)) ([13c05ae](https://github.com/typescript-eslint/typescript-eslint/commit/13c05aefb0e6531d320629e04b7207a3baebacb0)) +* **eslint-plugin:** deprecate `no-duplicate-imports` in favour of `import/no-duplicates` ([#4973](https://github.com/typescript-eslint/typescript-eslint/issues/4973)) ([1d2e41a](https://github.com/typescript-eslint/typescript-eslint/commit/1d2e41ada1979c081130d19b229c82bf1a69b7b4)) +* update to TypeScript 4.7-rc ([#4829](https://github.com/typescript-eslint/typescript-eslint/issues/4829)) ([6fe783c](https://github.com/typescript-eslint/typescript-eslint/commit/6fe783c20aebe26ef42b526e4a59a9be84dd5643)) + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) diff --git a/jest.config.base.js b/jest.config.base.js index 4470c1be07b..b94573bf719 100644 --- a/jest.config.base.js +++ b/jest.config.base.js @@ -3,17 +3,34 @@ // @ts-check /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - collectCoverage: false, + collectCoverage: true, collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - coverageReporters: ['text-summary', 'lcov'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], + coverageReporters: ['lcov'], + moduleFileExtensions: [ + 'ts', + 'tsx', + 'mts', + 'mtsx', + 'js', + 'jsx', + 'mjs', + 'mjsx', + 'json', + 'node', + ], resolver: '/../../tests/jest-resolver.js', + testRegex: ['./tests/.+\\.test\\.ts$', './tests/.+\\.spec\\.ts$'], transform: { '^.+\\.(t|j)sx?$': [ '@swc/jest', { jsc: { target: 'es2019', + transform: { + react: { + runtime: 'automatic', + }, + }, }, }, ], diff --git a/jest.preset.js b/jest.preset.js deleted file mode 100644 index 3d08453c18d..00000000000 --- a/jest.preset.js +++ /dev/null @@ -1,15 +0,0 @@ -// @ts-check - -/* eslint-disable import/no-extraneous-dependencies */ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ - -'use strict'; - -/** @type {import('@nrwl/jest/preset/jest-preset')} */ -const nxPreset = require('@nrwl/jest/preset'); - -const { transform: _ignoredTsJestTransform, ...configToUse } = nxPreset; - -module.exports = { - ...configToUse, -}; diff --git a/lerna.json b/lerna.json index f712a9d876c..92f35158ff3 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "5.24.0", + "version": "5.25.0", "npmClient": "yarn", "useWorkspaces": true, "stream": true diff --git a/packages/ast-spec/CHANGELOG.md b/packages/ast-spec/CHANGELOG.md index 6c611eaacc1..56b71dfd61b 100644 --- a/packages/ast-spec/CHANGELOG.md +++ b/packages/ast-spec/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/ast-spec + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/ast-spec diff --git a/packages/ast-spec/jest.config.js b/packages/ast-spec/jest.config.js index ac3b63608b7..eeae64cb5dd 100644 --- a/packages/ast-spec/jest.config.js +++ b/packages/ast-spec/jest.config.js @@ -4,10 +4,6 @@ /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - testRegex: ['./tests/.+\\.test\\.ts$'], collectCoverage: false, - collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}'], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - coverageReporters: ['text-summary', 'lcov'], setupFilesAfterEnv: ['./tests/util/setupJest.ts'], }; diff --git a/packages/ast-spec/package.json b/packages/ast-spec/package.json index c10d4e03ab2..1b605ffd02e 100644 --- a/packages/ast-spec/package.json +++ b/packages/ast-spec/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/ast-spec", - "version": "5.24.0", + "version": "5.25.0", "description": "TypeScript-ESTree AST spec", "private": true, "keywords": [ diff --git a/packages/eslint-plugin-internal/CHANGELOG.md b/packages/eslint-plugin-internal/CHANGELOG.md index e1bbae33420..20ecffa9829 100644 --- a/packages/eslint-plugin-internal/CHANGELOG.md +++ b/packages/eslint-plugin-internal/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-internal + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/eslint-plugin-internal diff --git a/packages/eslint-plugin-internal/jest.config.js b/packages/eslint-plugin-internal/jest.config.js index 5f1ea3f4bcb..910991b20cf 100644 --- a/packages/eslint-plugin-internal/jest.config.js +++ b/packages/eslint-plugin-internal/jest.config.js @@ -4,5 +4,4 @@ /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - testRegex: './tests/.+\\.test\\.ts$', }; diff --git a/packages/eslint-plugin-internal/package.json b/packages/eslint-plugin-internal/package.json index d17bf04f909..1329c7b60cd 100644 --- a/packages/eslint-plugin-internal/package.json +++ b/packages/eslint-plugin-internal/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin-internal", - "version": "5.24.0", + "version": "5.25.0", "private": true, "main": "dist/index.js", "scripts": { @@ -14,8 +14,8 @@ }, "dependencies": { "@types/prettier": "*", - "@typescript-eslint/scope-manager": "5.24.0", - "@typescript-eslint/utils": "5.24.0", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/utils": "5.25.0", "prettier": "*" } } diff --git a/packages/eslint-plugin-tslint/CHANGELOG.md b/packages/eslint-plugin-tslint/CHANGELOG.md index 09d9d72903a..7d01d518b2f 100644 --- a/packages/eslint-plugin-tslint/CHANGELOG.md +++ b/packages/eslint-plugin-tslint/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/eslint-plugin-tslint diff --git a/packages/eslint-plugin-tslint/jest.config.js b/packages/eslint-plugin-tslint/jest.config.js index 821770114b2..910991b20cf 100644 --- a/packages/eslint-plugin-tslint/jest.config.js +++ b/packages/eslint-plugin-tslint/jest.config.js @@ -4,5 +4,4 @@ /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - testRegex: './tests/.+\\.spec\\.ts$', }; diff --git a/packages/eslint-plugin-tslint/package.json b/packages/eslint-plugin-tslint/package.json index 57a9ebc5582..77ebaade61e 100644 --- a/packages/eslint-plugin-tslint/package.json +++ b/packages/eslint-plugin-tslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin-tslint", - "version": "5.24.0", + "version": "5.25.0", "main": "dist/index.js", "typings": "src/index.ts", "description": "TSLint wrapper plugin for ESLint", @@ -38,7 +38,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/utils": "5.24.0", + "@typescript-eslint/utils": "5.25.0", "lodash": "^4.17.21" }, "peerDependencies": { @@ -48,6 +48,6 @@ }, "devDependencies": { "@types/lodash": "*", - "@typescript-eslint/parser": "5.24.0" + "@typescript-eslint/parser": "5.25.0" } } diff --git a/packages/eslint-plugin/CHANGELOG.md b/packages/eslint-plugin/CHANGELOG.md index dc9f628bf51..8c4ca25501f 100644 --- a/packages/eslint-plugin/CHANGELOG.md +++ b/packages/eslint-plugin/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + + +### Bug Fixes + +* **eslint-plugin:** [typedef] stop enforcing rule for assignment expressions ([#4958](https://github.com/typescript-eslint/typescript-eslint/issues/4958)) ([04a216c](https://github.com/typescript-eslint/typescript-eslint/commit/04a216c39c02085fe5d555ce81bdced0e563a7c4)) +* **eslint-plugin:** strict config should not extend recommended ([#5005](https://github.com/typescript-eslint/typescript-eslint/issues/5005)) ([05d71c2](https://github.com/typescript-eslint/typescript-eslint/commit/05d71c2ebd8e072aa4e8ee3ea8521de00e47d4ca)) +* **website:** correct Presets link to be Configs ([#5004](https://github.com/typescript-eslint/typescript-eslint/issues/5004)) ([e18e91c](https://github.com/typescript-eslint/typescript-eslint/commit/e18e91c6cfb1ee93bfff3770ea4d8f807d5ced0b)) + + +### Features + +* **eslint-plugin:** [no-empty-function] new allow option overrideMethods ([#4923](https://github.com/typescript-eslint/typescript-eslint/issues/4923)) ([13c05ae](https://github.com/typescript-eslint/typescript-eslint/commit/13c05aefb0e6531d320629e04b7207a3baebacb0)) +* **eslint-plugin:** deprecate `no-duplicate-imports` in favour of `import/no-duplicates` ([#4973](https://github.com/typescript-eslint/typescript-eslint/issues/4973)) ([1d2e41a](https://github.com/typescript-eslint/typescript-eslint/commit/1d2e41ada1979c081130d19b229c82bf1a69b7b4)) +* update to TypeScript 4.7-rc ([#4829](https://github.com/typescript-eslint/typescript-eslint/issues/4829)) ([6fe783c](https://github.com/typescript-eslint/typescript-eslint/commit/6fe783c20aebe26ef42b526e4a59a9be84dd5643)) + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) diff --git a/packages/eslint-plugin/docs/rules/README.md b/packages/eslint-plugin/docs/rules/README.md index 94793a6fa01..0558f7195af 100644 --- a/packages/eslint-plugin/docs/rules/README.md +++ b/packages/eslint-plugin/docs/rules/README.md @@ -39,7 +39,7 @@ See [Configs](/docs/linting/configs) for how to enable recommended rules using c | [`@typescript-eslint/no-base-to-string`](./no-base-to-string.md) | Requires that `.toString()` is only called on objects which provide useful information when stringified | :lock: | | :thought_balloon: | | [`@typescript-eslint/no-confusing-non-null-assertion`](./no-confusing-non-null-assertion.md) | Disallow non-null assertion in locations that may be confusing | :lock: | :wrench: | | | [`@typescript-eslint/no-confusing-void-expression`](./no-confusing-void-expression.md) | Requires expressions of type void to appear in statement position | | :wrench: | :thought_balloon: | -| [`@typescript-eslint/no-duplicate-enum-values`](./docs/rules/no-duplicate-enum-values.md) | Disallow duplicate enum member values | :lock: | | | +| [`@typescript-eslint/no-duplicate-enum-values`](./no-duplicate-enum-values.md) | Disallow duplicate enum member values | :lock: | | | | [`@typescript-eslint/no-dynamic-delete`](./no-dynamic-delete.md) | Disallow the delete operator with computed key expressions | :lock: | :wrench: | | | [`@typescript-eslint/no-empty-interface`](./no-empty-interface.md) | Disallow the declaration of empty interfaces | :white_check_mark: | :wrench: | | | [`@typescript-eslint/no-explicit-any`](./no-explicit-any.md) | Disallow usage of the `any` type | :white_check_mark: | :wrench: | | diff --git a/packages/eslint-plugin/jest.config.js b/packages/eslint-plugin/jest.config.js index 1f9cdcdecd9..910991b20cf 100644 --- a/packages/eslint-plugin/jest.config.js +++ b/packages/eslint-plugin/jest.config.js @@ -4,6 +4,4 @@ /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - testRegex: './tests/.+\\.test\\.ts$', - coverageReporters: ['text-summary', 'lcov'], }; diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index e39f5e9cc64..00acf379048 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/eslint-plugin", - "version": "5.24.0", + "version": "5.25.0", "description": "TypeScript plugin for ESLint", "keywords": [ "eslint", @@ -44,9 +44,9 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/scope-manager": "5.24.0", - "@typescript-eslint/type-utils": "5.24.0", - "@typescript-eslint/utils": "5.24.0", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/type-utils": "5.25.0", + "@typescript-eslint/utils": "5.25.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", diff --git a/packages/experimental-utils/CHANGELOG.md b/packages/experimental-utils/CHANGELOG.md index f600b2b8d3e..486ed3097f7 100644 --- a/packages/experimental-utils/CHANGELOG.md +++ b/packages/experimental-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/experimental-utils + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/experimental-utils diff --git a/packages/experimental-utils/package.json b/packages/experimental-utils/package.json index 9225a4befce..b8e1d9ec230 100644 --- a/packages/experimental-utils/package.json +++ b/packages/experimental-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/experimental-utils", - "version": "5.24.0", + "version": "5.25.0", "description": "(Experimental) Utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -38,7 +38,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/utils": "5.24.0" + "@typescript-eslint/utils": "5.25.0" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" diff --git a/packages/parser/CHANGELOG.md b/packages/parser/CHANGELOG.md index bfce0f4562e..2ff32ebf9f8 100644 --- a/packages/parser/CHANGELOG.md +++ b/packages/parser/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/parser + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/parser diff --git a/packages/parser/package.json b/packages/parser/package.json index dcc299844e2..7b98529b475 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/parser", - "version": "5.24.0", + "version": "5.25.0", "description": "An ESLint custom parser which leverages TypeScript ESTree", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -44,9 +44,9 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "dependencies": { - "@typescript-eslint/scope-manager": "5.24.0", - "@typescript-eslint/types": "5.24.0", - "@typescript-eslint/typescript-estree": "5.24.0", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/typescript-estree": "5.25.0", "debug": "^4.3.4" }, "devDependencies": { diff --git a/packages/scope-manager/CHANGELOG.md b/packages/scope-manager/CHANGELOG.md index 2b337142a71..17df5044b7b 100644 --- a/packages/scope-manager/CHANGELOG.md +++ b/packages/scope-manager/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + + +### Features + +* update to TypeScript 4.7-rc ([#4829](https://github.com/typescript-eslint/typescript-eslint/issues/4829)) ([6fe783c](https://github.com/typescript-eslint/typescript-eslint/commit/6fe783c20aebe26ef42b526e4a59a9be84dd5643)) + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) diff --git a/packages/scope-manager/jest.config.js b/packages/scope-manager/jest.config.js index ccaa4a6999b..9148e4d46fb 100644 --- a/packages/scope-manager/jest.config.js +++ b/packages/scope-manager/jest.config.js @@ -1,19 +1,8 @@ 'use strict'; // @ts-check - /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - displayName: 'scope-manager', - preset: '../../jest.preset.js', - testEnvironment: 'node', - transform: { - '^.+\\.[tj]sx?$': [ - '@swc/jest', - { jsc: { transform: { react: { runtime: 'automatic' } } } }, - ], - }, - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], - coverageDirectory: '/coverage', + ...require('../../jest.config.base.js'), setupFilesAfterEnv: ['./tests/util/serializers/index.ts'], }; diff --git a/packages/scope-manager/package.json b/packages/scope-manager/package.json index 4f44c6a7f47..90e90057325 100644 --- a/packages/scope-manager/package.json +++ b/packages/scope-manager/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/scope-manager", - "version": "5.24.0", + "version": "5.25.0", "description": "TypeScript scope analyser for ESLint", "keywords": [ "eslint", @@ -38,12 +38,12 @@ "typecheck": "cd ../../ && nx typecheck @typescript-eslint/scope-manager" }, "dependencies": { - "@typescript-eslint/types": "5.24.0", - "@typescript-eslint/visitor-keys": "5.24.0" + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/visitor-keys": "5.25.0" }, "devDependencies": { "@types/glob": "*", - "@typescript-eslint/typescript-estree": "5.24.0", + "@typescript-eslint/typescript-estree": "5.25.0", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/shared-fixtures/CHANGELOG.md b/packages/shared-fixtures/CHANGELOG.md index 3def43f696b..1588386a06b 100644 --- a/packages/shared-fixtures/CHANGELOG.md +++ b/packages/shared-fixtures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/shared-fixtures + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/shared-fixtures diff --git a/packages/shared-fixtures/fixtures/typescript/types/conditional-infer-with-constraint.src.ts b/packages/shared-fixtures/fixtures/typescript/types/conditional-infer-with-constraint.src.ts new file mode 100644 index 00000000000..36ce0699bb6 --- /dev/null +++ b/packages/shared-fixtures/fixtures/typescript/types/conditional-infer-with-constraint.src.ts @@ -0,0 +1,5 @@ +type X3 = T extends [infer U extends number] ? MustBeNumber : never; +type X4 = T extends [infer U extends number, infer U extends number] ? MustBeNumber : never; +type X5 = T extends [infer U extends number, infer U] ? MustBeNumber : never; +type X6 = T extends [infer U, infer U extends number] ? MustBeNumber : never; +type X7 = T extends [infer U extends string, infer U extends number] ? U : never; diff --git a/packages/shared-fixtures/package.json b/packages/shared-fixtures/package.json index 4912036d499..3f666f5b95d 100644 --- a/packages/shared-fixtures/package.json +++ b/packages/shared-fixtures/package.json @@ -1,5 +1,5 @@ { "name": "@typescript-eslint/shared-fixtures", - "version": "5.24.0", + "version": "5.25.0", "private": true } diff --git a/packages/type-utils/CHANGELOG.md b/packages/type-utils/CHANGELOG.md index caa8218fda1..03410ee1756 100644 --- a/packages/type-utils/CHANGELOG.md +++ b/packages/type-utils/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/type-utils + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/type-utils diff --git a/packages/type-utils/jest.config.js b/packages/type-utils/jest.config.js index 5f1ea3f4bcb..910991b20cf 100644 --- a/packages/type-utils/jest.config.js +++ b/packages/type-utils/jest.config.js @@ -4,5 +4,4 @@ /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - testRegex: './tests/.+\\.test\\.ts$', }; diff --git a/packages/type-utils/package.json b/packages/type-utils/package.json index bbe180eb5c8..c13af3b7448 100644 --- a/packages/type-utils/package.json +++ b/packages/type-utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/type-utils", - "version": "5.24.0", + "version": "5.25.0", "description": "Type utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -39,12 +39,12 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/utils": "5.24.0", + "@typescript-eslint/utils": "5.25.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, "devDependencies": { - "@typescript-eslint/parser": "5.24.0", + "@typescript-eslint/parser": "5.25.0", "typescript": "*" }, "peerDependencies": { diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 3a7cad5f5ec..7cd2e90b53e 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + + +### Features + +* update to TypeScript 4.7-rc ([#4829](https://github.com/typescript-eslint/typescript-eslint/issues/4829)) ([6fe783c](https://github.com/typescript-eslint/typescript-eslint/commit/6fe783c20aebe26ef42b526e4a59a9be84dd5643)) + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/types diff --git a/packages/types/jest.config.js b/packages/types/jest.config.js index 77fe4d022a9..910991b20cf 100644 --- a/packages/types/jest.config.js +++ b/packages/types/jest.config.js @@ -4,5 +4,4 @@ /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - testRegex: ['./tests/.+\\.test\\.ts$'], }; diff --git a/packages/types/package.json b/packages/types/package.json index e2dae5debc0..2d25da527d1 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/types", - "version": "5.24.0", + "version": "5.25.0", "description": "Types for the TypeScript-ESTree AST spec", "keywords": [ "eslint", diff --git a/packages/typescript-estree/CHANGELOG.md b/packages/typescript-estree/CHANGELOG.md index db7fbdbb692..7508249a584 100644 --- a/packages/typescript-estree/CHANGELOG.md +++ b/packages/typescript-estree/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + + +### Features + +* update to TypeScript 4.7-rc ([#4829](https://github.com/typescript-eslint/typescript-eslint/issues/4829)) ([6fe783c](https://github.com/typescript-eslint/typescript-eslint/commit/6fe783c20aebe26ef42b526e4a59a9be84dd5643)) + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/typescript-estree diff --git a/packages/typescript-estree/package.json b/packages/typescript-estree/package.json index a4ea5c841b7..fd905d2fb2f 100644 --- a/packages/typescript-estree/package.json +++ b/packages/typescript-estree/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/typescript-estree", - "version": "5.24.0", + "version": "5.25.0", "description": "A parser that converts TypeScript source code into an ESTree compatible form", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -41,8 +41,8 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "5.24.0", - "@typescript-eslint/visitor-keys": "5.24.0", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/visitor-keys": "5.25.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -58,7 +58,7 @@ "@types/is-glob": "*", "@types/semver": "*", "@types/tmp": "*", - "@typescript-eslint/shared-fixtures": "5.24.0", + "@typescript-eslint/shared-fixtures": "5.25.0", "glob": "*", "jest-specific-snapshot": "*", "make-dir": "*", diff --git a/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts b/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts index ca9e0e688a5..9d1cfed8c1f 100644 --- a/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts +++ b/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts @@ -484,6 +484,11 @@ tester.addFixturePatternConfig('typescript/types', { 'template-literal-type-2', 'template-literal-type-3', 'template-literal-type-4', + /** + * [BABEL ERRORED, BUT TS-ESTREE DID NOT] + * Babel doesn't support TS 4.7 new feature yet. + */ + 'conditional-infer-with-constraint', /** * [BABEL ERRORED, BUT TS-ESTREE DID NOT] * Babel doesn't support TS 4.7 new features yet. diff --git a/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap index 0a870b70441..0d0c3f7b1bd 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/semantic-diagnostics-enabled.test.ts.snap @@ -2668,6 +2668,8 @@ exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" e exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/types/conditional-infer-simple.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; +exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/types/conditional-infer-with-constraint.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; + exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/types/conditional-with-null.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; exports[`Parse all fixtures with "errorOnTypeScriptSyntacticAndSemanticIssues" enabled fixtures/typescript/types/constructor.src 1`] = `"TEST OUTPUT: No semantic or syntactic issues found"`; diff --git a/packages/typescript-estree/tests/snapshots/typescript/types/conditional-infer-with-constraint.src.ts.shot b/packages/typescript-estree/tests/snapshots/typescript/types/conditional-infer-with-constraint.src.ts.shot new file mode 100644 index 00000000000..b0168cb5762 --- /dev/null +++ b/packages/typescript-estree/tests/snapshots/typescript/types/conditional-infer-with-constraint.src.ts.shot @@ -0,0 +1,4135 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`typescript types conditional-infer-with-constraint.src 1`] = ` +Object { + "body": Array [ + Object { + "id": Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 1, + }, + "start": Object { + "column": 5, + "line": 1, + }, + }, + "name": "X3", + "range": Array [ + 5, + 7, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 74, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 74, + ], + "type": "TSTypeAliasDeclaration", + "typeAnnotation": Object { + "checkType": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 1, + }, + "start": Object { + "column": 13, + "line": 1, + }, + }, + "range": Array [ + 13, + 14, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 1, + }, + "start": Object { + "column": 13, + "line": 1, + }, + }, + "name": "T", + "range": Array [ + 13, + 14, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + "extendsType": Object { + "elementTypes": Array [ + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 1, + }, + "start": Object { + "column": 24, + "line": 1, + }, + }, + "range": Array [ + 24, + 46, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 1, + }, + "start": Object { + "column": 40, + "line": 1, + }, + }, + "range": Array [ + 40, + 46, + ], + "type": "TSNumberKeyword", + }, + "default": undefined, + "loc": Object { + "end": Object { + "column": 46, + "line": 1, + }, + "start": Object { + "column": 30, + "line": 1, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 1, + }, + "start": Object { + "column": 30, + "line": 1, + }, + }, + "name": "U", + "range": Array [ + 30, + 31, + ], + "type": "Identifier", + }, + "range": Array [ + 30, + 46, + ], + "type": "TSTypeParameter", + }, + }, + ], + "loc": Object { + "end": Object { + "column": 47, + "line": 1, + }, + "start": Object { + "column": 23, + "line": 1, + }, + }, + "range": Array [ + 23, + 47, + ], + "type": "TSTupleType", + }, + "falseType": Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 1, + }, + "start": Object { + "column": 68, + "line": 1, + }, + }, + "range": Array [ + 68, + 73, + ], + "type": "TSNeverKeyword", + }, + "loc": Object { + "end": Object { + "column": 73, + "line": 1, + }, + "start": Object { + "column": 13, + "line": 1, + }, + }, + "range": Array [ + 13, + 73, + ], + "trueType": Object { + "loc": Object { + "end": Object { + "column": 65, + "line": 1, + }, + "start": Object { + "column": 50, + "line": 1, + }, + }, + "range": Array [ + 50, + 65, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 62, + "line": 1, + }, + "start": Object { + "column": 50, + "line": 1, + }, + }, + "name": "MustBeNumber", + "range": Array [ + 50, + 62, + ], + "type": "Identifier", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 65, + "line": 1, + }, + "start": Object { + "column": 62, + "line": 1, + }, + }, + "params": Array [ + Object { + "loc": Object { + "end": Object { + "column": 64, + "line": 1, + }, + "start": Object { + "column": 63, + "line": 1, + }, + }, + "range": Array [ + 63, + 64, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 64, + "line": 1, + }, + "start": Object { + "column": 63, + "line": 1, + }, + }, + "name": "U", + "range": Array [ + 63, + 64, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + ], + "range": Array [ + 62, + 65, + ], + "type": "TSTypeParameterInstantiation", + }, + }, + "type": "TSConditionalType", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "params": Array [ + Object { + "constraint": undefined, + "default": undefined, + "loc": Object { + "end": Object { + "column": 9, + "line": 1, + }, + "start": Object { + "column": 8, + "line": 1, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 1, + }, + "start": Object { + "column": 8, + "line": 1, + }, + }, + "name": "T", + "range": Array [ + 8, + 9, + ], + "type": "Identifier", + }, + "range": Array [ + 8, + 9, + ], + "type": "TSTypeParameter", + }, + ], + "range": Array [ + 7, + 10, + ], + "type": "TSTypeParameterDeclaration", + }, + }, + Object { + "id": Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 2, + }, + "start": Object { + "column": 5, + "line": 2, + }, + }, + "name": "X4", + "range": Array [ + 80, + 82, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 98, + "line": 2, + }, + "start": Object { + "column": 0, + "line": 2, + }, + }, + "range": Array [ + 75, + 173, + ], + "type": "TSTypeAliasDeclaration", + "typeAnnotation": Object { + "checkType": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 2, + }, + "start": Object { + "column": 13, + "line": 2, + }, + }, + "range": Array [ + 88, + 89, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 2, + }, + "start": Object { + "column": 13, + "line": 2, + }, + }, + "name": "T", + "range": Array [ + 88, + 89, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + "extendsType": Object { + "elementTypes": Array [ + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 2, + }, + "start": Object { + "column": 24, + "line": 2, + }, + }, + "range": Array [ + 99, + 121, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 2, + }, + "start": Object { + "column": 40, + "line": 2, + }, + }, + "range": Array [ + 115, + 121, + ], + "type": "TSNumberKeyword", + }, + "default": undefined, + "loc": Object { + "end": Object { + "column": 46, + "line": 2, + }, + "start": Object { + "column": 30, + "line": 2, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 2, + }, + "start": Object { + "column": 30, + "line": 2, + }, + }, + "name": "U", + "range": Array [ + 105, + 106, + ], + "type": "Identifier", + }, + "range": Array [ + 105, + 121, + ], + "type": "TSTypeParameter", + }, + }, + Object { + "loc": Object { + "end": Object { + "column": 70, + "line": 2, + }, + "start": Object { + "column": 48, + "line": 2, + }, + }, + "range": Array [ + 123, + 145, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": Object { + "loc": Object { + "end": Object { + "column": 70, + "line": 2, + }, + "start": Object { + "column": 64, + "line": 2, + }, + }, + "range": Array [ + 139, + 145, + ], + "type": "TSNumberKeyword", + }, + "default": undefined, + "loc": Object { + "end": Object { + "column": 70, + "line": 2, + }, + "start": Object { + "column": 54, + "line": 2, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 2, + }, + "start": Object { + "column": 54, + "line": 2, + }, + }, + "name": "U", + "range": Array [ + 129, + 130, + ], + "type": "Identifier", + }, + "range": Array [ + 129, + 145, + ], + "type": "TSTypeParameter", + }, + }, + ], + "loc": Object { + "end": Object { + "column": 71, + "line": 2, + }, + "start": Object { + "column": 23, + "line": 2, + }, + }, + "range": Array [ + 98, + 146, + ], + "type": "TSTupleType", + }, + "falseType": Object { + "loc": Object { + "end": Object { + "column": 97, + "line": 2, + }, + "start": Object { + "column": 92, + "line": 2, + }, + }, + "range": Array [ + 167, + 172, + ], + "type": "TSNeverKeyword", + }, + "loc": Object { + "end": Object { + "column": 97, + "line": 2, + }, + "start": Object { + "column": 13, + "line": 2, + }, + }, + "range": Array [ + 88, + 172, + ], + "trueType": Object { + "loc": Object { + "end": Object { + "column": 89, + "line": 2, + }, + "start": Object { + "column": 74, + "line": 2, + }, + }, + "range": Array [ + 149, + 164, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 86, + "line": 2, + }, + "start": Object { + "column": 74, + "line": 2, + }, + }, + "name": "MustBeNumber", + "range": Array [ + 149, + 161, + ], + "type": "Identifier", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 89, + "line": 2, + }, + "start": Object { + "column": 86, + "line": 2, + }, + }, + "params": Array [ + Object { + "loc": Object { + "end": Object { + "column": 88, + "line": 2, + }, + "start": Object { + "column": 87, + "line": 2, + }, + }, + "range": Array [ + 162, + 163, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 88, + "line": 2, + }, + "start": Object { + "column": 87, + "line": 2, + }, + }, + "name": "U", + "range": Array [ + 162, + 163, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + ], + "range": Array [ + 161, + 164, + ], + "type": "TSTypeParameterInstantiation", + }, + }, + "type": "TSConditionalType", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 2, + }, + "start": Object { + "column": 7, + "line": 2, + }, + }, + "params": Array [ + Object { + "constraint": undefined, + "default": undefined, + "loc": Object { + "end": Object { + "column": 9, + "line": 2, + }, + "start": Object { + "column": 8, + "line": 2, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 2, + }, + "start": Object { + "column": 8, + "line": 2, + }, + }, + "name": "T", + "range": Array [ + 83, + 84, + ], + "type": "Identifier", + }, + "range": Array [ + 83, + 84, + ], + "type": "TSTypeParameter", + }, + ], + "range": Array [ + 82, + 85, + ], + "type": "TSTypeParameterDeclaration", + }, + }, + Object { + "id": Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 3, + }, + "start": Object { + "column": 5, + "line": 3, + }, + }, + "name": "X5", + "range": Array [ + 179, + 181, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 83, + "line": 3, + }, + "start": Object { + "column": 0, + "line": 3, + }, + }, + "range": Array [ + 174, + 257, + ], + "type": "TSTypeAliasDeclaration", + "typeAnnotation": Object { + "checkType": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 3, + }, + "start": Object { + "column": 13, + "line": 3, + }, + }, + "range": Array [ + 187, + 188, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 3, + }, + "start": Object { + "column": 13, + "line": 3, + }, + }, + "name": "T", + "range": Array [ + 187, + 188, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + "extendsType": Object { + "elementTypes": Array [ + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 3, + }, + "start": Object { + "column": 24, + "line": 3, + }, + }, + "range": Array [ + 198, + 220, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 3, + }, + "start": Object { + "column": 40, + "line": 3, + }, + }, + "range": Array [ + 214, + 220, + ], + "type": "TSNumberKeyword", + }, + "default": undefined, + "loc": Object { + "end": Object { + "column": 46, + "line": 3, + }, + "start": Object { + "column": 30, + "line": 3, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 3, + }, + "start": Object { + "column": 30, + "line": 3, + }, + }, + "name": "U", + "range": Array [ + 204, + 205, + ], + "type": "Identifier", + }, + "range": Array [ + 204, + 220, + ], + "type": "TSTypeParameter", + }, + }, + Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 3, + }, + "start": Object { + "column": 48, + "line": 3, + }, + }, + "range": Array [ + 222, + 229, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": undefined, + "default": undefined, + "loc": Object { + "end": Object { + "column": 55, + "line": 3, + }, + "start": Object { + "column": 54, + "line": 3, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 3, + }, + "start": Object { + "column": 54, + "line": 3, + }, + }, + "name": "U", + "range": Array [ + 228, + 229, + ], + "type": "Identifier", + }, + "range": Array [ + 228, + 229, + ], + "type": "TSTypeParameter", + }, + }, + ], + "loc": Object { + "end": Object { + "column": 56, + "line": 3, + }, + "start": Object { + "column": 23, + "line": 3, + }, + }, + "range": Array [ + 197, + 230, + ], + "type": "TSTupleType", + }, + "falseType": Object { + "loc": Object { + "end": Object { + "column": 82, + "line": 3, + }, + "start": Object { + "column": 77, + "line": 3, + }, + }, + "range": Array [ + 251, + 256, + ], + "type": "TSNeverKeyword", + }, + "loc": Object { + "end": Object { + "column": 82, + "line": 3, + }, + "start": Object { + "column": 13, + "line": 3, + }, + }, + "range": Array [ + 187, + 256, + ], + "trueType": Object { + "loc": Object { + "end": Object { + "column": 74, + "line": 3, + }, + "start": Object { + "column": 59, + "line": 3, + }, + }, + "range": Array [ + 233, + 248, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 71, + "line": 3, + }, + "start": Object { + "column": 59, + "line": 3, + }, + }, + "name": "MustBeNumber", + "range": Array [ + 233, + 245, + ], + "type": "Identifier", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 74, + "line": 3, + }, + "start": Object { + "column": 71, + "line": 3, + }, + }, + "params": Array [ + Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 3, + }, + "start": Object { + "column": 72, + "line": 3, + }, + }, + "range": Array [ + 246, + 247, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 3, + }, + "start": Object { + "column": 72, + "line": 3, + }, + }, + "name": "U", + "range": Array [ + 246, + 247, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + ], + "range": Array [ + 245, + 248, + ], + "type": "TSTypeParameterInstantiation", + }, + }, + "type": "TSConditionalType", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 3, + }, + "start": Object { + "column": 7, + "line": 3, + }, + }, + "params": Array [ + Object { + "constraint": undefined, + "default": undefined, + "loc": Object { + "end": Object { + "column": 9, + "line": 3, + }, + "start": Object { + "column": 8, + "line": 3, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 3, + }, + "start": Object { + "column": 8, + "line": 3, + }, + }, + "name": "T", + "range": Array [ + 182, + 183, + ], + "type": "Identifier", + }, + "range": Array [ + 182, + 183, + ], + "type": "TSTypeParameter", + }, + ], + "range": Array [ + 181, + 184, + ], + "type": "TSTypeParameterDeclaration", + }, + }, + Object { + "id": Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 4, + }, + "start": Object { + "column": 5, + "line": 4, + }, + }, + "name": "X6", + "range": Array [ + 263, + 265, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 83, + "line": 4, + }, + "start": Object { + "column": 0, + "line": 4, + }, + }, + "range": Array [ + 258, + 341, + ], + "type": "TSTypeAliasDeclaration", + "typeAnnotation": Object { + "checkType": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 4, + }, + "start": Object { + "column": 13, + "line": 4, + }, + }, + "range": Array [ + 271, + 272, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 4, + }, + "start": Object { + "column": 13, + "line": 4, + }, + }, + "name": "T", + "range": Array [ + 271, + 272, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + "extendsType": Object { + "elementTypes": Array [ + Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 4, + }, + "start": Object { + "column": 24, + "line": 4, + }, + }, + "range": Array [ + 282, + 289, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": undefined, + "default": undefined, + "loc": Object { + "end": Object { + "column": 31, + "line": 4, + }, + "start": Object { + "column": 30, + "line": 4, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 4, + }, + "start": Object { + "column": 30, + "line": 4, + }, + }, + "name": "U", + "range": Array [ + 288, + 289, + ], + "type": "Identifier", + }, + "range": Array [ + 288, + 289, + ], + "type": "TSTypeParameter", + }, + }, + Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 4, + }, + "start": Object { + "column": 33, + "line": 4, + }, + }, + "range": Array [ + 291, + 313, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 4, + }, + "start": Object { + "column": 49, + "line": 4, + }, + }, + "range": Array [ + 307, + 313, + ], + "type": "TSNumberKeyword", + }, + "default": undefined, + "loc": Object { + "end": Object { + "column": 55, + "line": 4, + }, + "start": Object { + "column": 39, + "line": 4, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 40, + "line": 4, + }, + "start": Object { + "column": 39, + "line": 4, + }, + }, + "name": "U", + "range": Array [ + 297, + 298, + ], + "type": "Identifier", + }, + "range": Array [ + 297, + 313, + ], + "type": "TSTypeParameter", + }, + }, + ], + "loc": Object { + "end": Object { + "column": 56, + "line": 4, + }, + "start": Object { + "column": 23, + "line": 4, + }, + }, + "range": Array [ + 281, + 314, + ], + "type": "TSTupleType", + }, + "falseType": Object { + "loc": Object { + "end": Object { + "column": 82, + "line": 4, + }, + "start": Object { + "column": 77, + "line": 4, + }, + }, + "range": Array [ + 335, + 340, + ], + "type": "TSNeverKeyword", + }, + "loc": Object { + "end": Object { + "column": 82, + "line": 4, + }, + "start": Object { + "column": 13, + "line": 4, + }, + }, + "range": Array [ + 271, + 340, + ], + "trueType": Object { + "loc": Object { + "end": Object { + "column": 74, + "line": 4, + }, + "start": Object { + "column": 59, + "line": 4, + }, + }, + "range": Array [ + 317, + 332, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 71, + "line": 4, + }, + "start": Object { + "column": 59, + "line": 4, + }, + }, + "name": "MustBeNumber", + "range": Array [ + 317, + 329, + ], + "type": "Identifier", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 74, + "line": 4, + }, + "start": Object { + "column": 71, + "line": 4, + }, + }, + "params": Array [ + Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 4, + }, + "start": Object { + "column": 72, + "line": 4, + }, + }, + "range": Array [ + 330, + 331, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 4, + }, + "start": Object { + "column": 72, + "line": 4, + }, + }, + "name": "U", + "range": Array [ + 330, + 331, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + ], + "range": Array [ + 329, + 332, + ], + "type": "TSTypeParameterInstantiation", + }, + }, + "type": "TSConditionalType", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 4, + }, + "start": Object { + "column": 7, + "line": 4, + }, + }, + "params": Array [ + Object { + "constraint": undefined, + "default": undefined, + "loc": Object { + "end": Object { + "column": 9, + "line": 4, + }, + "start": Object { + "column": 8, + "line": 4, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 4, + }, + "start": Object { + "column": 8, + "line": 4, + }, + }, + "name": "T", + "range": Array [ + 266, + 267, + ], + "type": "Identifier", + }, + "range": Array [ + 266, + 267, + ], + "type": "TSTypeParameter", + }, + ], + "range": Array [ + 265, + 268, + ], + "type": "TSTypeParameterDeclaration", + }, + }, + Object { + "id": Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 5, + }, + "start": Object { + "column": 5, + "line": 5, + }, + }, + "name": "X7", + "range": Array [ + 347, + 349, + ], + "type": "Identifier", + }, + "loc": Object { + "end": Object { + "column": 84, + "line": 5, + }, + "start": Object { + "column": 0, + "line": 5, + }, + }, + "range": Array [ + 342, + 426, + ], + "type": "TSTypeAliasDeclaration", + "typeAnnotation": Object { + "checkType": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 5, + }, + "start": Object { + "column": 13, + "line": 5, + }, + }, + "range": Array [ + 355, + 356, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 5, + }, + "start": Object { + "column": 13, + "line": 5, + }, + }, + "name": "T", + "range": Array [ + 355, + 356, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + "extendsType": Object { + "elementTypes": Array [ + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 5, + }, + "start": Object { + "column": 24, + "line": 5, + }, + }, + "range": Array [ + 366, + 388, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 5, + }, + "start": Object { + "column": 40, + "line": 5, + }, + }, + "range": Array [ + 382, + 388, + ], + "type": "TSStringKeyword", + }, + "default": undefined, + "loc": Object { + "end": Object { + "column": 46, + "line": 5, + }, + "start": Object { + "column": 30, + "line": 5, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 5, + }, + "start": Object { + "column": 30, + "line": 5, + }, + }, + "name": "U", + "range": Array [ + 372, + 373, + ], + "type": "Identifier", + }, + "range": Array [ + 372, + 388, + ], + "type": "TSTypeParameter", + }, + }, + Object { + "loc": Object { + "end": Object { + "column": 70, + "line": 5, + }, + "start": Object { + "column": 48, + "line": 5, + }, + }, + "range": Array [ + 390, + 412, + ], + "type": "TSInferType", + "typeParameter": Object { + "constraint": Object { + "loc": Object { + "end": Object { + "column": 70, + "line": 5, + }, + "start": Object { + "column": 64, + "line": 5, + }, + }, + "range": Array [ + 406, + 412, + ], + "type": "TSNumberKeyword", + }, + "default": undefined, + "loc": Object { + "end": Object { + "column": 70, + "line": 5, + }, + "start": Object { + "column": 54, + "line": 5, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 5, + }, + "start": Object { + "column": 54, + "line": 5, + }, + }, + "name": "U", + "range": Array [ + 396, + 397, + ], + "type": "Identifier", + }, + "range": Array [ + 396, + 412, + ], + "type": "TSTypeParameter", + }, + }, + ], + "loc": Object { + "end": Object { + "column": 71, + "line": 5, + }, + "start": Object { + "column": 23, + "line": 5, + }, + }, + "range": Array [ + 365, + 413, + ], + "type": "TSTupleType", + }, + "falseType": Object { + "loc": Object { + "end": Object { + "column": 83, + "line": 5, + }, + "start": Object { + "column": 78, + "line": 5, + }, + }, + "range": Array [ + 420, + 425, + ], + "type": "TSNeverKeyword", + }, + "loc": Object { + "end": Object { + "column": 83, + "line": 5, + }, + "start": Object { + "column": 13, + "line": 5, + }, + }, + "range": Array [ + 355, + 425, + ], + "trueType": Object { + "loc": Object { + "end": Object { + "column": 75, + "line": 5, + }, + "start": Object { + "column": 74, + "line": 5, + }, + }, + "range": Array [ + 416, + 417, + ], + "type": "TSTypeReference", + "typeName": Object { + "loc": Object { + "end": Object { + "column": 75, + "line": 5, + }, + "start": Object { + "column": 74, + "line": 5, + }, + }, + "name": "U", + "range": Array [ + 416, + 417, + ], + "type": "Identifier", + }, + "typeParameters": undefined, + }, + "type": "TSConditionalType", + }, + "typeParameters": Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 5, + }, + "start": Object { + "column": 7, + "line": 5, + }, + }, + "params": Array [ + Object { + "constraint": undefined, + "default": undefined, + "loc": Object { + "end": Object { + "column": 9, + "line": 5, + }, + "start": Object { + "column": 8, + "line": 5, + }, + }, + "name": Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 5, + }, + "start": Object { + "column": 8, + "line": 5, + }, + }, + "name": "T", + "range": Array [ + 350, + 351, + ], + "type": "Identifier", + }, + "range": Array [ + 350, + 351, + ], + "type": "TSTypeParameter", + }, + ], + "range": Array [ + 349, + 352, + ], + "type": "TSTypeParameterDeclaration", + }, + }, + ], + "comments": Array [], + "loc": Object { + "end": Object { + "column": 0, + "line": 6, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 427, + ], + "sourceType": "script", + "tokens": Array [ + Object { + "loc": Object { + "end": Object { + "column": 4, + "line": 1, + }, + "start": Object { + "column": 0, + "line": 1, + }, + }, + "range": Array [ + 0, + 4, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 1, + }, + "start": Object { + "column": 5, + "line": 1, + }, + }, + "range": Array [ + 5, + 7, + ], + "type": "Identifier", + "value": "X3", + }, + Object { + "loc": Object { + "end": Object { + "column": 8, + "line": 1, + }, + "start": Object { + "column": 7, + "line": 1, + }, + }, + "range": Array [ + 7, + 8, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 1, + }, + "start": Object { + "column": 8, + "line": 1, + }, + }, + "range": Array [ + 8, + 9, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 1, + }, + "start": Object { + "column": 9, + "line": 1, + }, + }, + "range": Array [ + 9, + 10, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 1, + }, + "start": Object { + "column": 11, + "line": 1, + }, + }, + "range": Array [ + 11, + 12, + ], + "type": "Punctuator", + "value": "=", + }, + Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 1, + }, + "start": Object { + "column": 13, + "line": 1, + }, + }, + "range": Array [ + 13, + 14, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 22, + "line": 1, + }, + "start": Object { + "column": 15, + "line": 1, + }, + }, + "range": Array [ + 15, + 22, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 24, + "line": 1, + }, + "start": Object { + "column": 23, + "line": 1, + }, + }, + "range": Array [ + 23, + 24, + ], + "type": "Punctuator", + "value": "[", + }, + Object { + "loc": Object { + "end": Object { + "column": 29, + "line": 1, + }, + "start": Object { + "column": 24, + "line": 1, + }, + }, + "range": Array [ + 24, + 29, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 1, + }, + "start": Object { + "column": 30, + "line": 1, + }, + }, + "range": Array [ + 30, + 31, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 39, + "line": 1, + }, + "start": Object { + "column": 32, + "line": 1, + }, + }, + "range": Array [ + 32, + 39, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 1, + }, + "start": Object { + "column": 40, + "line": 1, + }, + }, + "range": Array [ + 40, + 46, + ], + "type": "Identifier", + "value": "number", + }, + Object { + "loc": Object { + "end": Object { + "column": 47, + "line": 1, + }, + "start": Object { + "column": 46, + "line": 1, + }, + }, + "range": Array [ + 46, + 47, + ], + "type": "Punctuator", + "value": "]", + }, + Object { + "loc": Object { + "end": Object { + "column": 49, + "line": 1, + }, + "start": Object { + "column": 48, + "line": 1, + }, + }, + "range": Array [ + 48, + 49, + ], + "type": "Punctuator", + "value": "?", + }, + Object { + "loc": Object { + "end": Object { + "column": 62, + "line": 1, + }, + "start": Object { + "column": 50, + "line": 1, + }, + }, + "range": Array [ + 50, + 62, + ], + "type": "Identifier", + "value": "MustBeNumber", + }, + Object { + "loc": Object { + "end": Object { + "column": 63, + "line": 1, + }, + "start": Object { + "column": 62, + "line": 1, + }, + }, + "range": Array [ + 62, + 63, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 64, + "line": 1, + }, + "start": Object { + "column": 63, + "line": 1, + }, + }, + "range": Array [ + 63, + 64, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 65, + "line": 1, + }, + "start": Object { + "column": 64, + "line": 1, + }, + }, + "range": Array [ + 64, + 65, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 67, + "line": 1, + }, + "start": Object { + "column": 66, + "line": 1, + }, + }, + "range": Array [ + 66, + 67, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 1, + }, + "start": Object { + "column": 68, + "line": 1, + }, + }, + "range": Array [ + 68, + 73, + ], + "type": "Identifier", + "value": "never", + }, + Object { + "loc": Object { + "end": Object { + "column": 74, + "line": 1, + }, + "start": Object { + "column": 73, + "line": 1, + }, + }, + "range": Array [ + 73, + 74, + ], + "type": "Punctuator", + "value": ";", + }, + Object { + "loc": Object { + "end": Object { + "column": 4, + "line": 2, + }, + "start": Object { + "column": 0, + "line": 2, + }, + }, + "range": Array [ + 75, + 79, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 2, + }, + "start": Object { + "column": 5, + "line": 2, + }, + }, + "range": Array [ + 80, + 82, + ], + "type": "Identifier", + "value": "X4", + }, + Object { + "loc": Object { + "end": Object { + "column": 8, + "line": 2, + }, + "start": Object { + "column": 7, + "line": 2, + }, + }, + "range": Array [ + 82, + 83, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 2, + }, + "start": Object { + "column": 8, + "line": 2, + }, + }, + "range": Array [ + 83, + 84, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 2, + }, + "start": Object { + "column": 9, + "line": 2, + }, + }, + "range": Array [ + 84, + 85, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 2, + }, + "start": Object { + "column": 11, + "line": 2, + }, + }, + "range": Array [ + 86, + 87, + ], + "type": "Punctuator", + "value": "=", + }, + Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 2, + }, + "start": Object { + "column": 13, + "line": 2, + }, + }, + "range": Array [ + 88, + 89, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 22, + "line": 2, + }, + "start": Object { + "column": 15, + "line": 2, + }, + }, + "range": Array [ + 90, + 97, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 24, + "line": 2, + }, + "start": Object { + "column": 23, + "line": 2, + }, + }, + "range": Array [ + 98, + 99, + ], + "type": "Punctuator", + "value": "[", + }, + Object { + "loc": Object { + "end": Object { + "column": 29, + "line": 2, + }, + "start": Object { + "column": 24, + "line": 2, + }, + }, + "range": Array [ + 99, + 104, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 2, + }, + "start": Object { + "column": 30, + "line": 2, + }, + }, + "range": Array [ + 105, + 106, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 39, + "line": 2, + }, + "start": Object { + "column": 32, + "line": 2, + }, + }, + "range": Array [ + 107, + 114, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 2, + }, + "start": Object { + "column": 40, + "line": 2, + }, + }, + "range": Array [ + 115, + 121, + ], + "type": "Identifier", + "value": "number", + }, + Object { + "loc": Object { + "end": Object { + "column": 47, + "line": 2, + }, + "start": Object { + "column": 46, + "line": 2, + }, + }, + "range": Array [ + 121, + 122, + ], + "type": "Punctuator", + "value": ",", + }, + Object { + "loc": Object { + "end": Object { + "column": 53, + "line": 2, + }, + "start": Object { + "column": 48, + "line": 2, + }, + }, + "range": Array [ + 123, + 128, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 2, + }, + "start": Object { + "column": 54, + "line": 2, + }, + }, + "range": Array [ + 129, + 130, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 63, + "line": 2, + }, + "start": Object { + "column": 56, + "line": 2, + }, + }, + "range": Array [ + 131, + 138, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 70, + "line": 2, + }, + "start": Object { + "column": 64, + "line": 2, + }, + }, + "range": Array [ + 139, + 145, + ], + "type": "Identifier", + "value": "number", + }, + Object { + "loc": Object { + "end": Object { + "column": 71, + "line": 2, + }, + "start": Object { + "column": 70, + "line": 2, + }, + }, + "range": Array [ + 145, + 146, + ], + "type": "Punctuator", + "value": "]", + }, + Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 2, + }, + "start": Object { + "column": 72, + "line": 2, + }, + }, + "range": Array [ + 147, + 148, + ], + "type": "Punctuator", + "value": "?", + }, + Object { + "loc": Object { + "end": Object { + "column": 86, + "line": 2, + }, + "start": Object { + "column": 74, + "line": 2, + }, + }, + "range": Array [ + 149, + 161, + ], + "type": "Identifier", + "value": "MustBeNumber", + }, + Object { + "loc": Object { + "end": Object { + "column": 87, + "line": 2, + }, + "start": Object { + "column": 86, + "line": 2, + }, + }, + "range": Array [ + 161, + 162, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 88, + "line": 2, + }, + "start": Object { + "column": 87, + "line": 2, + }, + }, + "range": Array [ + 162, + 163, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 89, + "line": 2, + }, + "start": Object { + "column": 88, + "line": 2, + }, + }, + "range": Array [ + 163, + 164, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 91, + "line": 2, + }, + "start": Object { + "column": 90, + "line": 2, + }, + }, + "range": Array [ + 165, + 166, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 97, + "line": 2, + }, + "start": Object { + "column": 92, + "line": 2, + }, + }, + "range": Array [ + 167, + 172, + ], + "type": "Identifier", + "value": "never", + }, + Object { + "loc": Object { + "end": Object { + "column": 98, + "line": 2, + }, + "start": Object { + "column": 97, + "line": 2, + }, + }, + "range": Array [ + 172, + 173, + ], + "type": "Punctuator", + "value": ";", + }, + Object { + "loc": Object { + "end": Object { + "column": 4, + "line": 3, + }, + "start": Object { + "column": 0, + "line": 3, + }, + }, + "range": Array [ + 174, + 178, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 3, + }, + "start": Object { + "column": 5, + "line": 3, + }, + }, + "range": Array [ + 179, + 181, + ], + "type": "Identifier", + "value": "X5", + }, + Object { + "loc": Object { + "end": Object { + "column": 8, + "line": 3, + }, + "start": Object { + "column": 7, + "line": 3, + }, + }, + "range": Array [ + 181, + 182, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 3, + }, + "start": Object { + "column": 8, + "line": 3, + }, + }, + "range": Array [ + 182, + 183, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 3, + }, + "start": Object { + "column": 9, + "line": 3, + }, + }, + "range": Array [ + 183, + 184, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 3, + }, + "start": Object { + "column": 11, + "line": 3, + }, + }, + "range": Array [ + 185, + 186, + ], + "type": "Punctuator", + "value": "=", + }, + Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 3, + }, + "start": Object { + "column": 13, + "line": 3, + }, + }, + "range": Array [ + 187, + 188, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 22, + "line": 3, + }, + "start": Object { + "column": 15, + "line": 3, + }, + }, + "range": Array [ + 189, + 196, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 24, + "line": 3, + }, + "start": Object { + "column": 23, + "line": 3, + }, + }, + "range": Array [ + 197, + 198, + ], + "type": "Punctuator", + "value": "[", + }, + Object { + "loc": Object { + "end": Object { + "column": 29, + "line": 3, + }, + "start": Object { + "column": 24, + "line": 3, + }, + }, + "range": Array [ + 198, + 203, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 3, + }, + "start": Object { + "column": 30, + "line": 3, + }, + }, + "range": Array [ + 204, + 205, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 39, + "line": 3, + }, + "start": Object { + "column": 32, + "line": 3, + }, + }, + "range": Array [ + 206, + 213, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 3, + }, + "start": Object { + "column": 40, + "line": 3, + }, + }, + "range": Array [ + 214, + 220, + ], + "type": "Identifier", + "value": "number", + }, + Object { + "loc": Object { + "end": Object { + "column": 47, + "line": 3, + }, + "start": Object { + "column": 46, + "line": 3, + }, + }, + "range": Array [ + 220, + 221, + ], + "type": "Punctuator", + "value": ",", + }, + Object { + "loc": Object { + "end": Object { + "column": 53, + "line": 3, + }, + "start": Object { + "column": 48, + "line": 3, + }, + }, + "range": Array [ + 222, + 227, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 3, + }, + "start": Object { + "column": 54, + "line": 3, + }, + }, + "range": Array [ + 228, + 229, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 56, + "line": 3, + }, + "start": Object { + "column": 55, + "line": 3, + }, + }, + "range": Array [ + 229, + 230, + ], + "type": "Punctuator", + "value": "]", + }, + Object { + "loc": Object { + "end": Object { + "column": 58, + "line": 3, + }, + "start": Object { + "column": 57, + "line": 3, + }, + }, + "range": Array [ + 231, + 232, + ], + "type": "Punctuator", + "value": "?", + }, + Object { + "loc": Object { + "end": Object { + "column": 71, + "line": 3, + }, + "start": Object { + "column": 59, + "line": 3, + }, + }, + "range": Array [ + 233, + 245, + ], + "type": "Identifier", + "value": "MustBeNumber", + }, + Object { + "loc": Object { + "end": Object { + "column": 72, + "line": 3, + }, + "start": Object { + "column": 71, + "line": 3, + }, + }, + "range": Array [ + 245, + 246, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 3, + }, + "start": Object { + "column": 72, + "line": 3, + }, + }, + "range": Array [ + 246, + 247, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 74, + "line": 3, + }, + "start": Object { + "column": 73, + "line": 3, + }, + }, + "range": Array [ + 247, + 248, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 76, + "line": 3, + }, + "start": Object { + "column": 75, + "line": 3, + }, + }, + "range": Array [ + 249, + 250, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 82, + "line": 3, + }, + "start": Object { + "column": 77, + "line": 3, + }, + }, + "range": Array [ + 251, + 256, + ], + "type": "Identifier", + "value": "never", + }, + Object { + "loc": Object { + "end": Object { + "column": 83, + "line": 3, + }, + "start": Object { + "column": 82, + "line": 3, + }, + }, + "range": Array [ + 256, + 257, + ], + "type": "Punctuator", + "value": ";", + }, + Object { + "loc": Object { + "end": Object { + "column": 4, + "line": 4, + }, + "start": Object { + "column": 0, + "line": 4, + }, + }, + "range": Array [ + 258, + 262, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 4, + }, + "start": Object { + "column": 5, + "line": 4, + }, + }, + "range": Array [ + 263, + 265, + ], + "type": "Identifier", + "value": "X6", + }, + Object { + "loc": Object { + "end": Object { + "column": 8, + "line": 4, + }, + "start": Object { + "column": 7, + "line": 4, + }, + }, + "range": Array [ + 265, + 266, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 4, + }, + "start": Object { + "column": 8, + "line": 4, + }, + }, + "range": Array [ + 266, + 267, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 4, + }, + "start": Object { + "column": 9, + "line": 4, + }, + }, + "range": Array [ + 267, + 268, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 4, + }, + "start": Object { + "column": 11, + "line": 4, + }, + }, + "range": Array [ + 269, + 270, + ], + "type": "Punctuator", + "value": "=", + }, + Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 4, + }, + "start": Object { + "column": 13, + "line": 4, + }, + }, + "range": Array [ + 271, + 272, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 22, + "line": 4, + }, + "start": Object { + "column": 15, + "line": 4, + }, + }, + "range": Array [ + 273, + 280, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 24, + "line": 4, + }, + "start": Object { + "column": 23, + "line": 4, + }, + }, + "range": Array [ + 281, + 282, + ], + "type": "Punctuator", + "value": "[", + }, + Object { + "loc": Object { + "end": Object { + "column": 29, + "line": 4, + }, + "start": Object { + "column": 24, + "line": 4, + }, + }, + "range": Array [ + 282, + 287, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 4, + }, + "start": Object { + "column": 30, + "line": 4, + }, + }, + "range": Array [ + 288, + 289, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 32, + "line": 4, + }, + "start": Object { + "column": 31, + "line": 4, + }, + }, + "range": Array [ + 289, + 290, + ], + "type": "Punctuator", + "value": ",", + }, + Object { + "loc": Object { + "end": Object { + "column": 38, + "line": 4, + }, + "start": Object { + "column": 33, + "line": 4, + }, + }, + "range": Array [ + 291, + 296, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 40, + "line": 4, + }, + "start": Object { + "column": 39, + "line": 4, + }, + }, + "range": Array [ + 297, + 298, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 48, + "line": 4, + }, + "start": Object { + "column": 41, + "line": 4, + }, + }, + "range": Array [ + 299, + 306, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 4, + }, + "start": Object { + "column": 49, + "line": 4, + }, + }, + "range": Array [ + 307, + 313, + ], + "type": "Identifier", + "value": "number", + }, + Object { + "loc": Object { + "end": Object { + "column": 56, + "line": 4, + }, + "start": Object { + "column": 55, + "line": 4, + }, + }, + "range": Array [ + 313, + 314, + ], + "type": "Punctuator", + "value": "]", + }, + Object { + "loc": Object { + "end": Object { + "column": 58, + "line": 4, + }, + "start": Object { + "column": 57, + "line": 4, + }, + }, + "range": Array [ + 315, + 316, + ], + "type": "Punctuator", + "value": "?", + }, + Object { + "loc": Object { + "end": Object { + "column": 71, + "line": 4, + }, + "start": Object { + "column": 59, + "line": 4, + }, + }, + "range": Array [ + 317, + 329, + ], + "type": "Identifier", + "value": "MustBeNumber", + }, + Object { + "loc": Object { + "end": Object { + "column": 72, + "line": 4, + }, + "start": Object { + "column": 71, + "line": 4, + }, + }, + "range": Array [ + 329, + 330, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 4, + }, + "start": Object { + "column": 72, + "line": 4, + }, + }, + "range": Array [ + 330, + 331, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 74, + "line": 4, + }, + "start": Object { + "column": 73, + "line": 4, + }, + }, + "range": Array [ + 331, + 332, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 76, + "line": 4, + }, + "start": Object { + "column": 75, + "line": 4, + }, + }, + "range": Array [ + 333, + 334, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 82, + "line": 4, + }, + "start": Object { + "column": 77, + "line": 4, + }, + }, + "range": Array [ + 335, + 340, + ], + "type": "Identifier", + "value": "never", + }, + Object { + "loc": Object { + "end": Object { + "column": 83, + "line": 4, + }, + "start": Object { + "column": 82, + "line": 4, + }, + }, + "range": Array [ + 340, + 341, + ], + "type": "Punctuator", + "value": ";", + }, + Object { + "loc": Object { + "end": Object { + "column": 4, + "line": 5, + }, + "start": Object { + "column": 0, + "line": 5, + }, + }, + "range": Array [ + 342, + 346, + ], + "type": "Identifier", + "value": "type", + }, + Object { + "loc": Object { + "end": Object { + "column": 7, + "line": 5, + }, + "start": Object { + "column": 5, + "line": 5, + }, + }, + "range": Array [ + 347, + 349, + ], + "type": "Identifier", + "value": "X7", + }, + Object { + "loc": Object { + "end": Object { + "column": 8, + "line": 5, + }, + "start": Object { + "column": 7, + "line": 5, + }, + }, + "range": Array [ + 349, + 350, + ], + "type": "Punctuator", + "value": "<", + }, + Object { + "loc": Object { + "end": Object { + "column": 9, + "line": 5, + }, + "start": Object { + "column": 8, + "line": 5, + }, + }, + "range": Array [ + 350, + 351, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 10, + "line": 5, + }, + "start": Object { + "column": 9, + "line": 5, + }, + }, + "range": Array [ + 351, + 352, + ], + "type": "Punctuator", + "value": ">", + }, + Object { + "loc": Object { + "end": Object { + "column": 12, + "line": 5, + }, + "start": Object { + "column": 11, + "line": 5, + }, + }, + "range": Array [ + 353, + 354, + ], + "type": "Punctuator", + "value": "=", + }, + Object { + "loc": Object { + "end": Object { + "column": 14, + "line": 5, + }, + "start": Object { + "column": 13, + "line": 5, + }, + }, + "range": Array [ + 355, + 356, + ], + "type": "Identifier", + "value": "T", + }, + Object { + "loc": Object { + "end": Object { + "column": 22, + "line": 5, + }, + "start": Object { + "column": 15, + "line": 5, + }, + }, + "range": Array [ + 357, + 364, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 24, + "line": 5, + }, + "start": Object { + "column": 23, + "line": 5, + }, + }, + "range": Array [ + 365, + 366, + ], + "type": "Punctuator", + "value": "[", + }, + Object { + "loc": Object { + "end": Object { + "column": 29, + "line": 5, + }, + "start": Object { + "column": 24, + "line": 5, + }, + }, + "range": Array [ + 366, + 371, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 31, + "line": 5, + }, + "start": Object { + "column": 30, + "line": 5, + }, + }, + "range": Array [ + 372, + 373, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 39, + "line": 5, + }, + "start": Object { + "column": 32, + "line": 5, + }, + }, + "range": Array [ + 374, + 381, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 46, + "line": 5, + }, + "start": Object { + "column": 40, + "line": 5, + }, + }, + "range": Array [ + 382, + 388, + ], + "type": "Identifier", + "value": "string", + }, + Object { + "loc": Object { + "end": Object { + "column": 47, + "line": 5, + }, + "start": Object { + "column": 46, + "line": 5, + }, + }, + "range": Array [ + 388, + 389, + ], + "type": "Punctuator", + "value": ",", + }, + Object { + "loc": Object { + "end": Object { + "column": 53, + "line": 5, + }, + "start": Object { + "column": 48, + "line": 5, + }, + }, + "range": Array [ + 390, + 395, + ], + "type": "Identifier", + "value": "infer", + }, + Object { + "loc": Object { + "end": Object { + "column": 55, + "line": 5, + }, + "start": Object { + "column": 54, + "line": 5, + }, + }, + "range": Array [ + 396, + 397, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 63, + "line": 5, + }, + "start": Object { + "column": 56, + "line": 5, + }, + }, + "range": Array [ + 398, + 405, + ], + "type": "Keyword", + "value": "extends", + }, + Object { + "loc": Object { + "end": Object { + "column": 70, + "line": 5, + }, + "start": Object { + "column": 64, + "line": 5, + }, + }, + "range": Array [ + 406, + 412, + ], + "type": "Identifier", + "value": "number", + }, + Object { + "loc": Object { + "end": Object { + "column": 71, + "line": 5, + }, + "start": Object { + "column": 70, + "line": 5, + }, + }, + "range": Array [ + 412, + 413, + ], + "type": "Punctuator", + "value": "]", + }, + Object { + "loc": Object { + "end": Object { + "column": 73, + "line": 5, + }, + "start": Object { + "column": 72, + "line": 5, + }, + }, + "range": Array [ + 414, + 415, + ], + "type": "Punctuator", + "value": "?", + }, + Object { + "loc": Object { + "end": Object { + "column": 75, + "line": 5, + }, + "start": Object { + "column": 74, + "line": 5, + }, + }, + "range": Array [ + 416, + 417, + ], + "type": "Identifier", + "value": "U", + }, + Object { + "loc": Object { + "end": Object { + "column": 77, + "line": 5, + }, + "start": Object { + "column": 76, + "line": 5, + }, + }, + "range": Array [ + 418, + 419, + ], + "type": "Punctuator", + "value": ":", + }, + Object { + "loc": Object { + "end": Object { + "column": 83, + "line": 5, + }, + "start": Object { + "column": 78, + "line": 5, + }, + }, + "range": Array [ + 420, + 425, + ], + "type": "Identifier", + "value": "never", + }, + Object { + "loc": Object { + "end": Object { + "column": 84, + "line": 5, + }, + "start": Object { + "column": 83, + "line": 5, + }, + }, + "range": Array [ + 425, + 426, + ], + "type": "Punctuator", + "value": ";", + }, + ], + "type": "Program", +} +`; diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index c6ef9d1f0d8..57db0424e2d 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + + +### Features + +* update to TypeScript 4.7-rc ([#4829](https://github.com/typescript-eslint/typescript-eslint/issues/4829)) ([6fe783c](https://github.com/typescript-eslint/typescript-eslint/commit/6fe783c20aebe26ef42b526e4a59a9be84dd5643)) + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) diff --git a/packages/utils/jest.config.js b/packages/utils/jest.config.js index 5f1ea3f4bcb..910991b20cf 100644 --- a/packages/utils/jest.config.js +++ b/packages/utils/jest.config.js @@ -4,5 +4,4 @@ /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - testRegex: './tests/.+\\.test\\.ts$', }; diff --git a/packages/utils/package.json b/packages/utils/package.json index 3df2524fe79..130428868ca 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/utils", - "version": "5.24.0", + "version": "5.25.0", "description": "Utilities for working with TypeScript + ESLint together", "keywords": [ "eslint", @@ -40,9 +40,9 @@ }, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.24.0", - "@typescript-eslint/types": "5.24.0", - "@typescript-eslint/typescript-estree": "5.24.0", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/typescript-estree": "5.25.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, diff --git a/packages/visitor-keys/CHANGELOG.md b/packages/visitor-keys/CHANGELOG.md index ce664a4625c..df600cb432e 100644 --- a/packages/visitor-keys/CHANGELOG.md +++ b/packages/visitor-keys/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/visitor-keys + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/visitor-keys diff --git a/packages/visitor-keys/jest.config.js b/packages/visitor-keys/jest.config.js index 77fe4d022a9..910991b20cf 100644 --- a/packages/visitor-keys/jest.config.js +++ b/packages/visitor-keys/jest.config.js @@ -4,5 +4,4 @@ /** @type {import('@jest/types').Config.InitialOptions} */ module.exports = { ...require('../../jest.config.base.js'), - testRegex: ['./tests/.+\\.test\\.ts$'], }; diff --git a/packages/visitor-keys/package.json b/packages/visitor-keys/package.json index e3c5f6aaa9a..0cf35c8f412 100644 --- a/packages/visitor-keys/package.json +++ b/packages/visitor-keys/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/visitor-keys", - "version": "5.24.0", + "version": "5.25.0", "description": "Visitor keys used to help traverse the TypeScript-ESTree AST", "keywords": [ "eslint", @@ -38,7 +38,7 @@ "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { - "@typescript-eslint/types": "5.24.0", + "@typescript-eslint/types": "5.25.0", "eslint-visitor-keys": "^3.3.0" }, "devDependencies": { diff --git a/packages/website-eslint/CHANGELOG.md b/packages/website-eslint/CHANGELOG.md index e384517988a..f5a79fd6bb4 100644 --- a/packages/website-eslint/CHANGELOG.md +++ b/packages/website-eslint/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package @typescript-eslint/website-eslint + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) **Note:** Version bump only for package @typescript-eslint/website-eslint diff --git a/packages/website-eslint/package.json b/packages/website-eslint/package.json index 7c724f1ccac..d437e42c6c0 100644 --- a/packages/website-eslint/package.json +++ b/packages/website-eslint/package.json @@ -1,6 +1,6 @@ { "name": "@typescript-eslint/website-eslint", - "version": "5.24.0", + "version": "5.25.0", "private": true, "description": "ESLint which works in browsers.", "engines": { @@ -16,19 +16,19 @@ "format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore" }, "dependencies": { - "@typescript-eslint/types": "5.24.0", - "@typescript-eslint/utils": "5.24.0" + "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/utils": "5.25.0" }, "devDependencies": { "@rollup/plugin-commonjs": "^22.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.3.0", "@rollup/pluginutils": "^4.2.1", - "@typescript-eslint/eslint-plugin": "5.24.0", - "@typescript-eslint/parser": "5.24.0", - "@typescript-eslint/scope-manager": "5.24.0", - "@typescript-eslint/typescript-estree": "5.24.0", - "@typescript-eslint/visitor-keys": "5.24.0", + "@typescript-eslint/eslint-plugin": "5.25.0", + "@typescript-eslint/parser": "5.25.0", + "@typescript-eslint/scope-manager": "5.25.0", + "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/visitor-keys": "5.25.0", "eslint": "*", "rollup": "^2.72.1", "semver": "^7.3.7" diff --git a/packages/website/CHANGELOG.md b/packages/website/CHANGELOG.md index 28d52ead095..3ffe4efc0ee 100644 --- a/packages/website/CHANGELOG.md +++ b/packages/website/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [5.25.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.24.0...v5.25.0) (2022-05-17) + +**Note:** Version bump only for package website + + + + + # [5.24.0](https://github.com/typescript-eslint/typescript-eslint/compare/v5.23.0...v5.24.0) (2022-05-16) diff --git a/packages/website/cypress.json b/packages/website/cypress.json index 3f950c1a9af..904719148b0 100644 --- a/packages/website/cypress.json +++ b/packages/website/cypress.json @@ -1,4 +1,5 @@ { "baseUrl": "http://localhost:3000", - "fixturesFolder": false + "fixturesFolder": false, + "pageLoadTimeout": 600000 } diff --git a/packages/website/docusaurus.config.js b/packages/website/docusaurus.config.js index 7add99ed218..a06a8e0367d 100644 --- a/packages/website/docusaurus.config.js +++ b/packages/website/docusaurus.config.js @@ -15,8 +15,8 @@ const config = { tagline: 'Tooling which enables ESLint to support TypeScript', url: 'https://typescript-eslint.io', baseUrl: '/', - onBrokenLinks: 'warn', // TODO: 'throw' - onBrokenMarkdownLinks: 'warn', + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', // If Markdown link resolution fails, it will result in a broken link anyways favicon: 'img/favicon.ico', organizationName: 'typescript-eslint', projectName: 'typescript-eslint', diff --git a/packages/website/package.json b/packages/website/package.json index c22c42fabc8..a0440b4cd5e 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,6 +1,6 @@ { "name": "website", - "version": "5.24.0", + "version": "5.25.0", "private": true, "scripts": { "build": "docusaurus build", @@ -20,7 +20,7 @@ "@docusaurus/remark-plugin-npm2yarn": "2.0.0-beta.20", "@docusaurus/theme-common": "2.0.0-beta.20", "@mdx-js/react": "1.6.22", - "@typescript-eslint/website-eslint": "5.24.0", + "@typescript-eslint/website-eslint": "5.25.0", "clsx": "^1.1.1", "eslint": "*", "json5": "^2.2.1", @@ -37,7 +37,7 @@ "@types/react-helmet": "^6.1.5", "@types/react-router-dom": "^5.3.3", "copy-webpack-plugin": "^10.2.4", - "cypress": "8.7.0", + "cypress": "8.3.0", "cypress-axe": "^0.14.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-react": "^7.29.4", diff --git a/yarn.lock b/yarn.lock index 95fbd5252d8..f9d70209b75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1615,7 +1615,7 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@cypress/request@^2.88.6": +"@cypress/request@^2.88.5": version "2.88.10" resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" integrity sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg== @@ -6290,12 +6290,12 @@ cypress-axe@^0.14.0: resolved "https://registry.yarnpkg.com/cypress-axe/-/cypress-axe-0.14.0.tgz#5f5e70fb36b8cb3ba73a8ba01e9262ff1268d5e2" integrity sha512-7Rdjnko0MjggCmndc1wECAkvQBIhuy+DRtjF7bd5YPZRFvubfMNvrxfqD8PWQmxm7MZE0ffS4Xr43V6ZmvLopg== -cypress@8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.7.0.tgz#2ee371f383d8f233d3425b6cc26ddeec2668b6da" - integrity sha512-b1bMC3VQydC6sXzBMFnSqcvwc9dTZMgcaOzT0vpSD+Gq1yFc+72JDWi55sfUK5eIeNLAtWOGy1NNb6UlhMvB+Q== +cypress@8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-8.3.0.tgz#ba906d2170888073ad94b2be1b994a749bbb7c7d" + integrity sha512-zA5Rcq8AZIfRfPXU0CCcauofF+YpaU9HYbfqkunFTmFV0Kdlo14tNjH2E3++MkjXKFnv3/pXq+HgxWtw8CSe8Q== dependencies: - "@cypress/request" "^2.88.6" + "@cypress/request" "^2.88.5" "@cypress/xvfb" "^1.2.4" "@types/node" "^14.14.31" "@types/sinonjs__fake-timers" "^6.0.2" @@ -6329,7 +6329,6 @@ cypress@8.7.0: minimist "^1.2.5" ospath "^1.2.2" pretty-bytes "^5.6.0" - proxy-from-env "1.0.0" ramda "~0.27.1" request-progress "^3.0.0" supports-color "^8.1.1" @@ -11992,11 +11991,6 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -proxy-from-env@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= - psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"