mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-04 21:53:42 -06:00
Resolve re-exports when looking for tslib helpers (#54317)
This commit is contained in:
parent
ae33099f25
commit
2b7d517907
@ -47033,7 +47033,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
if (requestedExternalEmitHelperNames.has(name)) continue;
|
||||
requestedExternalEmitHelperNames.add(name);
|
||||
|
||||
const symbol = getSymbol(helpersModule.exports!, escapeLeadingUnderscores(name), SymbolFlags.Value);
|
||||
const symbol = getSymbol(getExportsOfModule(helpersModule), escapeLeadingUnderscores(name), SymbolFlags.Value);
|
||||
if (!symbol) {
|
||||
error(location, Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0, externalHelpersModuleNameText, name);
|
||||
}
|
||||
|
||||
39
tests/baselines/reference/tslibReExportHelpers.js
Normal file
39
tests/baselines/reference/tslibReExportHelpers.js
Normal file
@ -0,0 +1,39 @@
|
||||
//// [tests/cases/compiler/tslibReExportHelpers.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
export declare function __decorate(...args: any[]): any;
|
||||
|
||||
//// [index.d.mts]
|
||||
export * from "./index.js";
|
||||
|
||||
//// [package.json]
|
||||
{
|
||||
"name": "tslib",
|
||||
"version": "1.0.0",
|
||||
"types": "index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": {
|
||||
"import": "./index.d.mts",
|
||||
"default": "./index.d.ts"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//// [index.mts]
|
||||
declare var decorator: any;
|
||||
@decorator
|
||||
export class Foo {}
|
||||
|
||||
|
||||
//// [index.mjs]
|
||||
import { __decorate } from "tslib";
|
||||
export var Foo = /** @class */ (function () {
|
||||
function Foo() {
|
||||
}
|
||||
Foo = __decorate([
|
||||
decorator
|
||||
], Foo);
|
||||
return Foo;
|
||||
}());
|
||||
19
tests/baselines/reference/tslibReExportHelpers.symbols
Normal file
19
tests/baselines/reference/tslibReExportHelpers.symbols
Normal file
@ -0,0 +1,19 @@
|
||||
=== /node_modules/tslib/index.d.ts ===
|
||||
export declare function __decorate(...args: any[]): any;
|
||||
>__decorate : Symbol(__decorate, Decl(index.d.ts, 0, 0))
|
||||
>args : Symbol(args, Decl(index.d.ts, 0, 35))
|
||||
|
||||
=== /node_modules/tslib/index.d.mts ===
|
||||
|
||||
export * from "./index.js";
|
||||
|
||||
=== /index.mts ===
|
||||
declare var decorator: any;
|
||||
>decorator : Symbol(decorator, Decl(index.mts, 0, 11))
|
||||
|
||||
@decorator
|
||||
>decorator : Symbol(decorator, Decl(index.mts, 0, 11))
|
||||
|
||||
export class Foo {}
|
||||
>Foo : Symbol(Foo, Decl(index.mts, 0, 27))
|
||||
|
||||
19
tests/baselines/reference/tslibReExportHelpers.types
Normal file
19
tests/baselines/reference/tslibReExportHelpers.types
Normal file
@ -0,0 +1,19 @@
|
||||
=== /node_modules/tslib/index.d.ts ===
|
||||
export declare function __decorate(...args: any[]): any;
|
||||
>__decorate : (...args: any[]) => any
|
||||
>args : any[]
|
||||
|
||||
=== /node_modules/tslib/index.d.mts ===
|
||||
|
||||
export * from "./index.js";
|
||||
|
||||
=== /index.mts ===
|
||||
declare var decorator: any;
|
||||
>decorator : any
|
||||
|
||||
@decorator
|
||||
>decorator : any
|
||||
|
||||
export class Foo {}
|
||||
>Foo : Foo
|
||||
|
||||
29
tests/cases/compiler/tslibReExportHelpers.ts
Normal file
29
tests/cases/compiler/tslibReExportHelpers.ts
Normal file
@ -0,0 +1,29 @@
|
||||
// @module: nodenext
|
||||
// @experimentalDecorators: true
|
||||
// @importHelpers: true
|
||||
|
||||
// @Filename: /node_modules/tslib/index.d.ts
|
||||
export declare function __decorate(...args: any[]): any;
|
||||
|
||||
// @Filename: /node_modules/tslib/index.d.mts
|
||||
export * from "./index.js";
|
||||
|
||||
// @Filename: /node_modules/tslib/package.json
|
||||
{
|
||||
"name": "tslib",
|
||||
"version": "1.0.0",
|
||||
"types": "index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": {
|
||||
"import": "./index.d.mts",
|
||||
"default": "./index.d.ts"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// @Filename: /index.mts
|
||||
declare var decorator: any;
|
||||
@decorator
|
||||
export class Foo {}
|
||||
Loading…
x
Reference in New Issue
Block a user