mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-03-15 14:05:47 -05:00
Add "A module cannot have multiple default exports." message for multiple "default" exports
This commit is contained in:
16
tests/baselines/reference/defaultExportWithOverloads01.js
Normal file
16
tests/baselines/reference/defaultExportWithOverloads01.js
Normal file
@@ -0,0 +1,16 @@
|
||||
//// [defaultExportWithOverloads01.ts]
|
||||
|
||||
export default function f();
|
||||
export default function f(x: string);
|
||||
export default function f(...args: any[]) {
|
||||
}
|
||||
|
||||
//// [defaultExportWithOverloads01.js]
|
||||
function f() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i - 0] = arguments[_i];
|
||||
}
|
||||
}
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = f;
|
||||
@@ -0,0 +1,13 @@
|
||||
=== tests/cases/conformance/es6/modules/defaultExportWithOverloads01.ts ===
|
||||
|
||||
export default function f();
|
||||
>f : Symbol(f, Decl(defaultExportWithOverloads01.ts, 0, 0), Decl(defaultExportWithOverloads01.ts, 1, 28), Decl(defaultExportWithOverloads01.ts, 2, 37))
|
||||
|
||||
export default function f(x: string);
|
||||
>f : Symbol(f, Decl(defaultExportWithOverloads01.ts, 0, 0), Decl(defaultExportWithOverloads01.ts, 1, 28), Decl(defaultExportWithOverloads01.ts, 2, 37))
|
||||
>x : Symbol(x, Decl(defaultExportWithOverloads01.ts, 2, 26))
|
||||
|
||||
export default function f(...args: any[]) {
|
||||
>f : Symbol(f, Decl(defaultExportWithOverloads01.ts, 0, 0), Decl(defaultExportWithOverloads01.ts, 1, 28), Decl(defaultExportWithOverloads01.ts, 2, 37))
|
||||
>args : Symbol(args, Decl(defaultExportWithOverloads01.ts, 3, 26))
|
||||
}
|
||||
13
tests/baselines/reference/defaultExportWithOverloads01.types
Normal file
13
tests/baselines/reference/defaultExportWithOverloads01.types
Normal file
@@ -0,0 +1,13 @@
|
||||
=== tests/cases/conformance/es6/modules/defaultExportWithOverloads01.ts ===
|
||||
|
||||
export default function f();
|
||||
>f : { (): any; (x: string): any; }
|
||||
|
||||
export default function f(x: string);
|
||||
>f : { (): any; (x: string): any; }
|
||||
>x : string
|
||||
|
||||
export default function f(...args: any[]) {
|
||||
>f : { (): any; (x: string): any; }
|
||||
>args : any[]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
tests/cases/conformance/es6/modules/m1.ts(2,22): error TS2300: Duplicate identifier 'foo'.
|
||||
tests/cases/conformance/es6/modules/m1.ts(6,25): error TS2300: Duplicate identifier 'bar'.
|
||||
tests/cases/conformance/es6/modules/m1.ts(11,1): error TS2300: Duplicate identifier 'default'.
|
||||
tests/cases/conformance/es6/modules/m1.ts(2,22): error TS2528: A module cannot have multiple default exports.
|
||||
tests/cases/conformance/es6/modules/m1.ts(6,25): error TS2528: A module cannot have multiple default exports.
|
||||
tests/cases/conformance/es6/modules/m1.ts(11,1): error TS2528: A module cannot have multiple default exports.
|
||||
tests/cases/conformance/es6/modules/m2.ts(3,1): error TS2348: Value of type 'typeof foo' is not callable. Did you mean to include 'new'?
|
||||
|
||||
|
||||
@@ -8,20 +8,20 @@ tests/cases/conformance/es6/modules/m2.ts(3,1): error TS2348: Value of type 'typ
|
||||
|
||||
export default class foo {
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'foo'.
|
||||
!!! error TS2528: A module cannot have multiple default exports.
|
||||
|
||||
}
|
||||
|
||||
export default function bar() {
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'bar'.
|
||||
!!! error TS2528: A module cannot have multiple default exports.
|
||||
|
||||
}
|
||||
|
||||
var x = 10;
|
||||
export default x;
|
||||
~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier 'default'.
|
||||
!!! error TS2528: A module cannot have multiple default exports.
|
||||
|
||||
==== tests/cases/conformance/es6/modules/m2.ts (1 errors) ====
|
||||
import Entity from "./m1"
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
tests/cases/conformance/es6/modules/multipleDefaultExports03.ts(2,22): error TS2528: A module cannot have multiple default exports.
|
||||
tests/cases/conformance/es6/modules/multipleDefaultExports03.ts(5,22): error TS2528: A module cannot have multiple default exports.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/modules/multipleDefaultExports03.ts (2 errors) ====
|
||||
|
||||
export default class C {
|
||||
~
|
||||
!!! error TS2528: A module cannot have multiple default exports.
|
||||
}
|
||||
|
||||
export default class C {
|
||||
~
|
||||
!!! error TS2528: A module cannot have multiple default exports.
|
||||
}
|
||||
23
tests/baselines/reference/multipleDefaultExports03.js
Normal file
23
tests/baselines/reference/multipleDefaultExports03.js
Normal file
@@ -0,0 +1,23 @@
|
||||
//// [multipleDefaultExports03.ts]
|
||||
|
||||
export default class C {
|
||||
}
|
||||
|
||||
export default class C {
|
||||
}
|
||||
|
||||
//// [multipleDefaultExports03.js]
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
return C;
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = C;
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
return C;
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = C;
|
||||
@@ -0,0 +1,15 @@
|
||||
tests/cases/conformance/es6/modules/multipleDefaultExports04.ts(2,25): error TS2393: Duplicate function implementation.
|
||||
tests/cases/conformance/es6/modules/multipleDefaultExports04.ts(5,25): error TS2393: Duplicate function implementation.
|
||||
|
||||
|
||||
==== tests/cases/conformance/es6/modules/multipleDefaultExports04.ts (2 errors) ====
|
||||
|
||||
export default function f() {
|
||||
~
|
||||
!!! error TS2393: Duplicate function implementation.
|
||||
}
|
||||
|
||||
export default function f() {
|
||||
~
|
||||
!!! error TS2393: Duplicate function implementation.
|
||||
}
|
||||
17
tests/baselines/reference/multipleDefaultExports04.js
Normal file
17
tests/baselines/reference/multipleDefaultExports04.js
Normal file
@@ -0,0 +1,17 @@
|
||||
//// [multipleDefaultExports04.ts]
|
||||
|
||||
export default function f() {
|
||||
}
|
||||
|
||||
export default function f() {
|
||||
}
|
||||
|
||||
//// [multipleDefaultExports04.js]
|
||||
function f() {
|
||||
}
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = f;
|
||||
function f() {
|
||||
}
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = f;
|
||||
@@ -0,0 +1,7 @@
|
||||
// @module: commonjs
|
||||
// @target: ES5
|
||||
|
||||
export default function f();
|
||||
export default function f(x: string);
|
||||
export default function f(...args: any[]) {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// @module: commonjs
|
||||
// @target: ES5
|
||||
|
||||
export default class C {
|
||||
}
|
||||
|
||||
export default class C {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
// @module: commonjs
|
||||
// @target: ES5
|
||||
|
||||
export default function f() {
|
||||
}
|
||||
|
||||
export default function f() {
|
||||
}
|
||||
Reference in New Issue
Block a user