Skip to content

feat: upgrade to typescript 5 #255

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 28, 2023
Merged

feat: upgrade to typescript 5 #255

merged 2 commits into from
Apr 28, 2023

Conversation

haoqunjiang
Copy link
Member

@haoqunjiang haoqunjiang commented Apr 24, 2023

This is the minimal upgrade to TypeScript 5.
I tried to upgrade only the necessary dependencies and keep the changes to a minimum.

Notable changes:

  • @vue/tsconfig upgraded from 0.1.3 to 0.3.2. Note that according to semver, it contains breaking changes. See https://github.com/vuejs/tsconfig#migrating-from-typescript--50 for more details.
  • Vite, vue-tsc, and Cypress MUST be upgraded to the latest version to support TypeScript 5.
  • The tsconfig files in the barebone TypeScript template have been updated.
    • Previously, it was tsconfig.json + tsconfig.node.json, where tsconfig.json contains the configuration for the web app in the src/ folder and a reference to the tsconfig.node.json.
    • Now it is tsconfig.json + tsconfig.app.json + tsconfig.node.json, where tsconfig.json contains only references to the other 2 configs.
    • This is to align it with the tsconfig files in the other templates, so that users can easily switch between templates. It also avoids some edge cases in solution-style tsconfigs.

@rijenkii
Copy link

Eslint used in @vue/create-eslint-config will not work with TS5: vuejs/eslint-config-typescript#56.

This is the minimal upgrade to TypeScript 5.
I tried to upgrade only the necessary dependencies and keep the changes
to a minimum.

Notable changes:
- `@vue/tsconfig` upgraded from 0.1.3 to 0.3.0. Note that according to
semver, it contains breaking changes. See <https://github.com/vuejs/tsconfig#migrating-from-typescript--50> for more details.
- Vite, `vue-tsc`, and Cypress MUST be upgraded to the latest version to
support TypeScript 5.
- The `tsconfig` files in barebone TypeScript template has been updated.
  Previously, it was `tsconfig.json` + `tsconfig.node.json`, where
  `tsconfig.json` contains the configuration for the web app in the
  `src/` folder and a reference to the `tsconfig.node.json`.
  Now it is `tsconfig.json` + `tsconfig.app.json` + `tsconfig.node.json`,
  where `tsconfig.json` contains only references to the other 2 configs.
  This is to align it with the `tsconfig` files in the other templates,
  so that users can easily switch between templates.
  It also avoids some edge cases in solution-style tsconfigs.
@haoqunjiang haoqunjiang merged commit be69348 into main Apr 28, 2023
@haoqunjiang haoqunjiang deleted the feat-ts-5 branch April 28, 2023 07:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants