v8.0.0-alpha.1
Pre-release
Pre-release
8.0.0-alpha.1 (2023-11-24)
⚠ BREAKING CHANGES
- stripInternal: The allowSyntheticDefaultImports
option is no longer set. This option is not
appropriate for most projects. It should only be
set for projects that are transpiled using Babel
(or similar). See
https://www.typescriptlang.org/tsconfig#allowSyntheticDefaultImports - stripInternal: The stripInternal option is no
longer set, meaning TypeScript will no longer
exclude type declarations for code marked
@internal
. This option was unsafe because
TypeScript does not check that the resulting
declarations are valid. Projects that relied on
this option should consider using api-extractor
(https://api-extractor.com/) instead, or override
this option to true in their tsconfig. - types: Ambient type declarations are no
longer included in the compilation by default
(tsconfig specifies the option"types": []``). Consuming projects that require ambient types should list them explicitly in their tsconfig. For example, projects that target node should add a dependency on @types/node and specify
{"compilerOptions": {"types": ["node"]}}`. - commonjs: The commonjs, dom-commonjs, and
webworker-commonjs configurations are obsolete
and have been removed. Instead of commonjs, use
the top level configuration (replace
"@softwareventures/tsconfig/commonjs" with
"@softwareventures/tsconfig"). Instead of
dom-commonjs, use the dom configuration (replace
"@softwareventures/tsconfig/dom-commonjs" with
"@softwareventures/tsconfig/dom"). Instead of
webworker-commonjs, use the webworker
configuration (replace
"@softwareventures/tsconfig/webworker-commonjs"
with "@softwareventures/tsconfig/webworker").
The CommonJS-specific configurations are obsolete
now since the corresponding base configurations
use "Node16" module resolution and compile to
"Node16" modules. This is equivalent to compiling
to CommonJS modules and following CommonJS
resolution rules when that is what node would
expect, and compiling to ES Modules and following
ES Module resolution rules when that is what node
would expect. - allowUnusedLabels: Unused labels will now raise a
compiler error. This usually indicates a broken
attempt to write an object literal.
See https://www.typescriptlang.org/tsconfig#allowUnusedLabels - allowUnreachableCode: Provably unreachable code will
now raise a compiler error. See
https://www.typescriptlang.org/tsconfig#allowUnreachableCode - deps: tsconfig now has a peer
dependency on typescript v5.2.2 or later.
Consuming projects should upgrade typescript to
at least that version.
Features
- allowUnreachableCode: set allowUnreachableCode: false (12cd394)
- allowUnusedLabels: set allowUnusedLabels: false (b4b046c)
- commonjs: delete commonjs, dom-commonjs, and webworker-commonjs configurations (16938ee)
- deps: bump peer dependency on typescript to ^5.2.2 (daeafbf)
- module: compile to Node16 modules, and use Node16 module resolution (5e1bd84)
- stripInternal: delete allowSyntheticDefaultImports option (b524c77)
- stripInternal: delete stripInternal option (dbc5a14)
- types: don't include ambient type declarations in the compilation (1d5e397)