Microsoft/TypeScript

API: incorrect declarations in types.ts

Open

#24,706 opened on Jun 5, 2018

View on GitHub
 (5 comments) (12 reactions) (0 assignees)TypeScript (48,455 stars) (6,726 forks)batch import
Breaking ChangeHelp WantedInfrastructure

Description

The --strictNullChecks PR changed some declarations in types.ts to avoid frequent assertions in the compiler's code. Unfortunately these changes make it really unsafe for API users because they no longer contain the actually nullable types: https://github.com/Microsoft/TypeScript/pull/22088#discussion_r184149465 https://github.com/Microsoft/TypeScript/pull/22088#discussion_r184155027

  • ts.Node#parent is no longer optional (which is definitely wrong for SourceFile)
  • ts.Symbol#declarations and ts.Symbol.valueDeclaration are no longer optional, but can still be undefined
  • ts.Type#symbol is no longer optional, but I guess this comment is still up to date: // Symbol associated with type (if any)

These changes should either be reverted or replaced in the published declaration files. /cc @andy-ms @weswigham

Contributor guide

API: incorrect declarations in types.ts · Microsoft/TypeScript#24706 | Good First Issue