-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Description
π Search Terms
"server", "protocol", "CompilerOptions"
β Viability Checklist
- This wouldn't be a breaking change in existing TypeScript/JavaScript code
- This wouldn't change the runtime behavior of existing JavaScript code
- This could be implemented without emitting different JS based on the types of the expressions
- This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
- This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
- This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals
β Suggestion
Just wanted to draw your attention that the ts.server.protocol.CompilerOptions
interface is missing recently added properties that are present in ts.CompilerOptions
. Like allowImportingTsExtensions
, resolvePackageJsonExports
, resolvePackageJsonImports
, allowArbitraryExtensions
, etc. Probably there are more:
TypeScript/src/server/protocol.ts
Lines 3665 to 3670 in 8c34b56
export interface CompilerOptions { | |
allowJs?: boolean; | |
allowSyntheticDefaultImports?: boolean; | |
allowUnreachableCode?: boolean; | |
allowUnusedLabels?: boolean; | |
alwaysStrict?: boolean; |
TypeScript/src/server/protocol.ts
Lines 3713 to 3720 in 8c34b56
preserveSymlinks?: boolean; | |
project?: string; | |
reactNamespace?: string; | |
removeComments?: boolean; | |
references?: ProjectReference[]; | |
rootDir?: string; | |
rootDirs?: string[]; | |
skipLibCheck?: boolean; |
π Motivating Example
Similar to: #56785 (comment)
@andrewbranch Could you take a look, please? Perhaps it is worth adding these too?
π» Use Cases
Index signature covers them all. So this is not a problem. Only felt like those should be explicitly defined.
By the way, deprecated options like suppressExcessPropertyErrors
, suppressImplicitAnyIndexErrors
most probably have to be removed from ts.server.protocol.CompilerOptions
in TypeScript 5.5.
TypeScript/src/server/protocol.ts
Lines 3724 to 3729 in 8c34b56
strict?: boolean; | |
strictNullChecks?: boolean; | |
suppressExcessPropertyErrors?: boolean; | |
suppressImplicitAnyIndexErrors?: boolean; | |
useDefineForClassFields?: boolean; | |
target?: ScriptTarget | ts.ScriptTarget; |