Make compiler options which map to a flag case-insensitive again (#17755)

This commit is contained in:
Wesley Wigham 2017-08-11 19:59:43 -07:00 committed by GitHub
parent 360dc914c3
commit d03d1074ee
5 changed files with 77 additions and 2 deletions

View File

@ -1116,7 +1116,7 @@ namespace ts {
if (option && typeof option.type !== "string") {
const customOption = <CommandLineOptionOfCustomType>option;
// Validate custom option type
if (!customOption.type.has(text)) {
if (!customOption.type.has(text.toLowerCase())) {
errors.push(
createDiagnosticForInvalidCustomType(
customOption,
@ -1811,7 +1811,7 @@ namespace ts {
return value;
}
else if (typeof option.type !== "string") {
return option.type.get(value);
return option.type.get(typeof value === "string" ? value.toLowerCase() : value);
}
return normalizeNonListOptionValue(option, basePath, value);
}

View File

@ -0,0 +1,25 @@
//// [tests/cases/compiler/tsconfigMapOptionsAreCaseInsensitive.ts] ////
//// [other.ts]
export default 42;
//// [index.ts]
import Answer from "./other.js";
const x = 10 + Answer;
export {
x
};
//// [other.js]
define(["require", "exports"], function (require, exports) {
"use strict";
exports.__esModule = true;
exports["default"] = 42;
});
//// [index.js]
define(["require", "exports", "./other.js"], function (require, exports, other_js_1) {
"use strict";
exports.__esModule = true;
var x = 10 + other_js_1["default"];
exports.x = x;
});

View File

@ -0,0 +1,16 @@
=== tests/cases/compiler/other.ts ===
export default 42;
No type information for this code.
No type information for this code.=== tests/cases/compiler/index.ts ===
import Answer from "./other.js";
>Answer : Symbol(Answer, Decl(index.ts, 0, 6))
const x = 10 + Answer;
>x : Symbol(x, Decl(index.ts, 1, 5))
>Answer : Symbol(Answer, Decl(index.ts, 0, 6))
export {
x
>x : Symbol(x, Decl(index.ts, 2, 8))
};

View File

@ -0,0 +1,18 @@
=== tests/cases/compiler/other.ts ===
export default 42;
No type information for this code.
No type information for this code.=== tests/cases/compiler/index.ts ===
import Answer from "./other.js";
>Answer : 42
const x = 10 + Answer;
>x : number
>10 + Answer : number
>10 : 10
>Answer : 42
export {
x
>x : number
};

View File

@ -0,0 +1,16 @@
// @filename: tsconfig.json
{
"compilerOptions": {
"module": "AmD"
}
}
// @filename: other.ts
export default 42;
// @filename: index.ts
import Answer from "./other.js";
const x = 10 + Answer;
export {
x
};