Skip to content

Commit

Permalink
Make compiler options which map to a flag case-insensitive again (#17755
Browse files Browse the repository at this point in the history
)
  • Loading branch information
weswigham authored Aug 12, 2017
1 parent 360dc91 commit d03d107
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/compiler/commandLineParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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);
}
Expand Down
25 changes: 25 additions & 0 deletions tests/baselines/reference/tsconfigMapOptionsAreCaseInsensitive.js
Original file line number Diff line number Diff line change
@@ -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;
});
Original file line number Diff line number Diff line change
@@ -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))

};
Original file line number Diff line number Diff line change
@@ -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

};
16 changes: 16 additions & 0 deletions tests/cases/compiler/tsconfigMapOptionsAreCaseInsensitive.ts
Original file line number Diff line number Diff line change
@@ -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
};

0 comments on commit d03d107

Please sign in to comment.