Skip to content

TypeScript policy

Type-aware files must belong to a tsconfig.json discoverable by Project Service.

  • explicit-module-boundary-types: "error" requires explicit parameter and return types for exported .ts, .mts, and .cts functions and public boundaries of exported classes.
  • .tsx disables the module-boundary annotation requirement by default: component props remain type checked without forcing an otherwise inferable JSX return annotation.
  • explicit-function-return-type: "off" leaves internal functions, local handlers, and inline callbacks to TypeScript inference.
  • no-inferrable-types preserves explicit parameter and property types.
  • Vue/NVue SFCs and standalone TSX components do not require module-boundary or function-return annotations, retaining common concise component forms.
  • no-floating-promises is disabled because Promise waiting depends on business ordering and error semantics.
  • no-void: "error" rejects void promise and other void expressions as lint workarounds.
  • require-await: "error" requires removing async when there is no real await, avoiding changed return and exception semantics.
  • no-misused-promises, await-thenable, unsafe-type rules, and selected high-confidence type rules remain errors.
  • Standard non-null assertions are permitted; contradictory, redundant, or invalid assertions remain checked by focused rules.
  • Numbers and booleans may be interpolated directly in template strings, and runtime guards are not rejected merely because types make them look unnecessary.