Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Require Node.js 10 and upgrade @typescript-eslint/typescript-estree #30

Merged
merged 4 commits into from
Dec 7, 2020

Conversation

realityking
Copy link
Contributor

No description provided.

@pahen
Copy link
Collaborator

pahen commented Nov 30, 2020

I'm not using TypeScript myself. Is v4 backwards compatible?

@realityking
Copy link
Contributor Author

Only some very small breaking changes: https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/#breaking-changes

I can back out that commit if you'd like to stick to Typescript 3

@pahen
Copy link
Collaborator

pahen commented Nov 30, 2020

Yes, I think that's best.

@realityking realityking changed the title Require Node.js 10 and upgrade Typescript and @typescript-eslint/typescript-estree Require Node.js 10 and upgrade @typescript-eslint/typescript-estree Nov 30, 2020
@realityking
Copy link
Contributor Author

@pahen Done

@pahen
Copy link
Collaborator

pahen commented Nov 30, 2020

How about this one? 52b8803

@realityking
Copy link
Contributor Author

realityking commented Nov 30, 2020

These are all the breaking changes in that package:

  • Dropped support for Node version 8
  • Dropped support for TypeScript 3.2
  • typescript-estree now emits a TSEmptyBodyFunctionExpression when it encounters a function expression without a body. Previously this was done in parser (for legacy reasons). This change should only affect users directly consuming typescript-estree.
  • When a method is marked as optional (class Foo { name?() {} }) we now mark the MethodDefinition/TSAbstractMethodDefinition as optional. Previously we marked the key of the node as optional, but this only works if the key is an Identifier, and didn't work in the case of a computed key (class Foo { ['name']?() {} }).
  • Import expressions (import('foo')) now conform to the newly released ESTree spec, outputting as an ImportExpression.
  • BigInt literals now conform to the newly released ESTree spec, outputting as a Literal with a value of type bigint. (#1999)
  • typescript-estree: - removes the ability to supply a RegExp to projectFolderIgnoreList, and changes the meaning of the string value from a regex to a glob.
  • Removed decorators property from several Nodes that could never semantically have them (FunctionDeclaration, TSEnumDeclaration, and TSInterfaceDeclaration)
  • Removed AST_NODE_TYPES.Import. This is a minor breaking change as the node type that used this was removed ages ago.

Most of them are minor AST changes. The only one affecting this module is

Import expressions (import('foo')) now conform to the newly released ESTree spec, outputting as an ImportExpression

and I've made the necessary changes in the same commit

@pahen
Copy link
Collaborator

pahen commented Nov 30, 2020

Ok, what's the reason for upgrading? Did you find any issues?

@realityking
Copy link
Contributor Author

I'm mainly after the deduplication with other consumers of @typescript-eslint/typescript-estree. I have some changes to other dependencies of madge worming itself through the dependencies and I figured this would be a good opportunity to upgrade this one as well.

@pahen pahen merged commit 1a7ea3e into dependents:master Dec 7, 2020
@pahen
Copy link
Collaborator

pahen commented Dec 7, 2020

Thanks for the help! Published detective-typescript@6.0.0 to NPM now.

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.

None yet

2 participants