From 655ac0f0ddc4e0be16974bc7fa560b973d60ff56 Mon Sep 17 00:00:00 2001 From: chico Date: Tue, 3 May 2016 02:08:12 +0300 Subject: [PATCH] update typescript --- package.json | 2 +- scripts/jest/ts-preprocessor.js | 33 +++++++++++-------- .../__tests__/ReactTypeScriptClass-test.ts | 3 ++ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 7948166953..6397c7e19f 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "run-sequence": "^1.1.4", "through2": "^2.0.0", "tmp": "~0.0.28", - "typescript": "~1.4.0", + "typescript": "~1.8.10", "uglify-js": "^2.5.0", "uglifyify": "^3.0.1" }, diff --git a/scripts/jest/ts-preprocessor.js b/scripts/jest/ts-preprocessor.js index 760b57345f..8a526ea935 100644 --- a/scripts/jest/ts-preprocessor.js +++ b/scripts/jest/ts-preprocessor.js @@ -4,12 +4,15 @@ var fs = require('fs'); var path = require('path'); var ts = require('typescript'); -var tsOptions = {module: 'commonjs'}; +var tsOptions = { + module: ts.ModuleKind.CommonJS, + jsx: ts.JsxEmit.React, +}; function formatErrorMessage(error) { return ( error.file.filename + '(' + - error.file.getLineAndCharacterFromPosition(error.start).line + + error.file.getLineAndCharacterOfPosition(error.start).line + '): ' + error.messageText ); @@ -18,7 +21,7 @@ function formatErrorMessage(error) { function compile(content, contentFilename) { var output = null; var compilerHost = { - getSourceFile: function(filename, languageVersion) { + getSourceFile(filename, languageVersion) { var source; // `path.normalize` and `path.join` are used to turn forward slashes in @@ -30,7 +33,7 @@ function compile(content, contentFilename) { if (filename === 'lib.d.ts') { source = fs.readFileSync( - require.resolve('typescript/bin/lib.d.ts') + require.resolve('typescript/lib/lib.d.ts') ).toString(); } else if (filename === 'jest.d.ts') { source = fs.readFileSync( @@ -55,34 +58,36 @@ function compile(content, contentFilename) { } return ts.createSourceFile(filename, source, 'ES5', '0'); }, - writeFile: function(name, text, writeByteOrderMark) { + writeFile(name, text, writeByteOrderMark) { if (output === null) { output = text; } else { throw new Error('Expected only one dependency.'); } }, - getCanonicalFileName: function(filename) { + getCanonicalFileName(filename) { return filename; }, - getCurrentDirectory: function() { + getCurrentDirectory() { return ''; }, - getNewLine: function() { + getNewLine() { return '\n'; }, + fileExists(filename) { + return ts.sys.fileExists(filename); + }, + useCaseSensitiveFileNames() { + return ts.sys.useCaseSensitiveFileNames; + }, }; var program = ts.createProgram([ 'lib.d.ts', 'jest.d.ts', contentFilename, ], tsOptions, compilerHost); - var errors = program.getDiagnostics(); - if (!errors.length) { - var checker = program.getTypeChecker(true); - errors = checker.getDiagnostics(); - checker.emitFiles(); - } + var emitResult = program.emit(); + var errors = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics); if (errors.length) { throw new Error(errors.map(formatErrorMessage).join('\n')); } diff --git a/src/isomorphic/modern/class/__tests__/ReactTypeScriptClass-test.ts b/src/isomorphic/modern/class/__tests__/ReactTypeScriptClass-test.ts index 0078265bcb..44298bda15 100644 --- a/src/isomorphic/modern/class/__tests__/ReactTypeScriptClass-test.ts +++ b/src/isomorphic/modern/class/__tests__/ReactTypeScriptClass-test.ts @@ -1,3 +1,6 @@ +/// +/// + /*! * Copyright 2015-present, Facebook, Inc. * All rights reserved.