mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-10 18:04:18 -05:00
Merge pull request #2484 from Microsoft/inlineSourceMaps
Inline source maps
This commit is contained in:
3
Jakefile
3
Jakefile
@@ -127,7 +127,8 @@ var harnessSources = [
|
||||
"services/documentRegistry.ts",
|
||||
"services/preProcessFile.ts",
|
||||
"services/patternMatcher.ts",
|
||||
"versionCache.ts"
|
||||
"versionCache.ts",
|
||||
"convertToBase64.ts"
|
||||
].map(function (f) {
|
||||
return path.join(unittestsDirectory, f);
|
||||
})).concat([
|
||||
|
||||
@@ -30,6 +30,14 @@ module ts {
|
||||
type: "boolean",
|
||||
description: Diagnostics.Print_this_message,
|
||||
},
|
||||
{
|
||||
name: "inlineSourceMap",
|
||||
type: "boolean",
|
||||
},
|
||||
{
|
||||
name: "inlineSources",
|
||||
type: "boolean",
|
||||
},
|
||||
{
|
||||
name: "listFiles",
|
||||
type: "boolean",
|
||||
|
||||
@@ -454,6 +454,10 @@ module ts {
|
||||
Option_noEmitOnError_cannot_be_specified_with_option_separateCompilation: { code: 5045, category: DiagnosticCategory.Error, key: "Option 'noEmitOnError' cannot be specified with option 'separateCompilation'." },
|
||||
Option_out_cannot_be_specified_with_option_separateCompilation: { code: 5046, category: DiagnosticCategory.Error, key: "Option 'out' cannot be specified with option 'separateCompilation'." },
|
||||
Option_separateCompilation_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher: { code: 5047, category: DiagnosticCategory.Error, key: "Option 'separateCompilation' can only be used when either option'--module' is provided or option 'target' is 'ES6' or higher." },
|
||||
Option_sourceMap_cannot_be_specified_with_option_inlineSourceMap: { code: 5048, category: DiagnosticCategory.Error, key: "Option 'sourceMap' cannot be specified with option 'inlineSourceMap'." },
|
||||
Option_sourceRoot_cannot_be_specified_with_option_inlineSourceMap: { code: 5049, category: DiagnosticCategory.Error, key: "Option 'sourceRoot' cannot be specified with option 'inlineSourceMap'." },
|
||||
Option_mapRoot_cannot_be_specified_with_option_inlineSourceMap: { code: 5050, category: DiagnosticCategory.Error, key: "Option 'mapRoot' cannot be specified with option 'inlineSourceMap'." },
|
||||
Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided: { code: 5051, category: DiagnosticCategory.Error, key: "Option 'inlineSources' can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided." },
|
||||
Concatenate_and_emit_output_to_single_file: { code: 6001, category: DiagnosticCategory.Message, key: "Concatenate and emit output to single file." },
|
||||
Generates_corresponding_d_ts_file: { code: 6002, category: DiagnosticCategory.Message, key: "Generates corresponding '.d.ts' file." },
|
||||
Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: { code: 6003, category: DiagnosticCategory.Message, key: "Specifies the location where debugger should locate map files instead of generated locations." },
|
||||
|
||||
@@ -1804,6 +1804,23 @@
|
||||
"category": "Error",
|
||||
"code": 5047
|
||||
},
|
||||
"Option 'sourceMap' cannot be specified with option 'inlineSourceMap'.": {
|
||||
"category": "Error",
|
||||
"code": 5048
|
||||
},
|
||||
"Option 'sourceRoot' cannot be specified with option 'inlineSourceMap'.": {
|
||||
"category": "Error",
|
||||
"code": 5049
|
||||
},
|
||||
"Option 'mapRoot' cannot be specified with option 'inlineSourceMap'.": {
|
||||
"category": "Error",
|
||||
"code": 5050
|
||||
},
|
||||
"Option 'inlineSources' can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided.": {
|
||||
"category": "Error",
|
||||
"code": 5051
|
||||
},
|
||||
|
||||
"Concatenate and emit output to single file.": {
|
||||
"category": "Message",
|
||||
"code": 6001
|
||||
|
||||
@@ -57,7 +57,7 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) {
|
||||
|
||||
let compilerOptions = host.getCompilerOptions();
|
||||
let languageVersion = compilerOptions.target || ScriptTarget.ES3;
|
||||
let sourceMapDataList: SourceMapData[] = compilerOptions.sourceMap ? [] : undefined;
|
||||
let sourceMapDataList: SourceMapData[] = compilerOptions.sourceMap || compilerOptions.inlineSourceMap ? [] : undefined;
|
||||
let diagnostics: Diagnostic[] = [];
|
||||
let newLine = host.getNewLine();
|
||||
|
||||
@@ -181,7 +181,7 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) {
|
||||
/** Sourcemap data that will get encoded */
|
||||
let sourceMapData: SourceMapData;
|
||||
|
||||
if (compilerOptions.sourceMap) {
|
||||
if (compilerOptions.sourceMap || compilerOptions.inlineSourceMap) {
|
||||
initializeEmitterWithSourceMaps();
|
||||
}
|
||||
|
||||
@@ -506,6 +506,13 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) {
|
||||
|
||||
// The one that can be used from program to get the actual source file
|
||||
sourceMapData.inputSourceFileNames.push(node.fileName);
|
||||
|
||||
if (compilerOptions.inlineSources) {
|
||||
if (!sourceMapData.sourceMapSourcesContent) {
|
||||
sourceMapData.sourceMapSourcesContent = [];
|
||||
}
|
||||
sourceMapData.sourceMapSourcesContent.push(node.text);
|
||||
}
|
||||
}
|
||||
|
||||
function recordScopeNameOfNode(node: Node, scopeName?: string) {
|
||||
@@ -577,19 +584,25 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) {
|
||||
recordSourceMapSpan(comment.end);
|
||||
}
|
||||
|
||||
function serializeSourceMapContents(version: number, file: string, sourceRoot: string, sources: string[], names: string[], mappings: string) {
|
||||
function serializeSourceMapContents(version: number, file: string, sourceRoot: string, sources: string[], names: string[], mappings: string, sourcesContent?: string[]) {
|
||||
if (typeof JSON !== "undefined") {
|
||||
return JSON.stringify({
|
||||
version: version,
|
||||
file: file,
|
||||
sourceRoot: sourceRoot,
|
||||
sources: sources,
|
||||
names: names,
|
||||
mappings: mappings
|
||||
});
|
||||
let map: any = {
|
||||
version,
|
||||
file,
|
||||
sourceRoot,
|
||||
sources,
|
||||
names,
|
||||
mappings
|
||||
};
|
||||
|
||||
if (sourcesContent !== undefined) {
|
||||
map.sourcesContent = sourcesContent;
|
||||
}
|
||||
|
||||
return JSON.stringify(map);
|
||||
}
|
||||
|
||||
return "{\"version\":" + version + ",\"file\":\"" + escapeString(file) + "\",\"sourceRoot\":\"" + escapeString(sourceRoot) + "\",\"sources\":[" + serializeStringArray(sources) + "],\"names\":[" + serializeStringArray(names) + "],\"mappings\":\"" + escapeString(mappings) + "\"}";
|
||||
return "{\"version\":" + version + ",\"file\":\"" + escapeString(file) + "\",\"sourceRoot\":\"" + escapeString(sourceRoot) + "\",\"sources\":[" + serializeStringArray(sources) + "],\"names\":[" + serializeStringArray(names) + "],\"mappings\":\"" + escapeString(mappings) + "\" " + (sourcesContent !== undefined ? ",\"sourcesContent\":[" + serializeStringArray(sourcesContent) + "]" : "") + "}";
|
||||
|
||||
function serializeStringArray(list: string[]): string {
|
||||
let output = "";
|
||||
@@ -604,19 +617,33 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) {
|
||||
}
|
||||
|
||||
function writeJavaScriptAndSourceMapFile(emitOutput: string, writeByteOrderMark: boolean) {
|
||||
// Write source map file
|
||||
encodeLastRecordedSourceMapSpan();
|
||||
writeFile(host, diagnostics, sourceMapData.sourceMapFilePath, serializeSourceMapContents(
|
||||
|
||||
let sourceMapText = serializeSourceMapContents(
|
||||
3,
|
||||
sourceMapData.sourceMapFile,
|
||||
sourceMapData.sourceMapSourceRoot,
|
||||
sourceMapData.sourceMapSources,
|
||||
sourceMapData.sourceMapNames,
|
||||
sourceMapData.sourceMapMappings), /*writeByteOrderMark*/ false);
|
||||
sourceMapData.sourceMapMappings,
|
||||
sourceMapData.sourceMapSourcesContent);
|
||||
|
||||
sourceMapDataList.push(sourceMapData);
|
||||
|
||||
let sourceMapUrl: string;
|
||||
if (compilerOptions.inlineSourceMap) {
|
||||
// Encode the sourceMap into the sourceMap url
|
||||
let base64SourceMapText = convertToBase64(sourceMapText);
|
||||
sourceMapUrl = `//# sourceMappingURL=data:application/json;base64,${base64SourceMapText}`;
|
||||
}
|
||||
else {
|
||||
// Write source map file
|
||||
writeFile(host, diagnostics, sourceMapData.sourceMapFilePath, sourceMapText, /*writeByteOrderMark*/ false);
|
||||
sourceMapUrl = `//# sourceMappingURL=${sourceMapData.jsSourceMappingURL}`;
|
||||
}
|
||||
|
||||
// Write sourcemap url to the js file and write the js file
|
||||
writeJavaScriptFile(emitOutput + "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL, writeByteOrderMark);
|
||||
writeJavaScriptFile(emitOutput + sourceMapUrl, writeByteOrderMark);
|
||||
}
|
||||
|
||||
// Initialize source map data
|
||||
@@ -630,6 +657,7 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) {
|
||||
inputSourceFileNames: [],
|
||||
sourceMapNames: [],
|
||||
sourceMapMappings: "",
|
||||
sourceMapSourcesContent: undefined,
|
||||
sourceMapDecodedMappings: []
|
||||
};
|
||||
|
||||
@@ -874,7 +902,7 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) {
|
||||
function emitLiteral(node: LiteralExpression) {
|
||||
let text = getLiteralText(node);
|
||||
|
||||
if (compilerOptions.sourceMap && (node.kind === SyntaxKind.StringLiteral || isTemplateLiteralKind(node.kind))) {
|
||||
if ((compilerOptions.sourceMap || compilerOptions.inlineSourceMap) && (node.kind === SyntaxKind.StringLiteral || isTemplateLiteralKind(node.kind))) {
|
||||
writer.writeLiteral(text);
|
||||
}
|
||||
// For versions below ES6, emit binary & octal literals in their canonical decimal form.
|
||||
|
||||
@@ -534,6 +534,25 @@ module ts {
|
||||
}
|
||||
}
|
||||
|
||||
if (options.inlineSourceMap) {
|
||||
if (options.sourceMap) {
|
||||
diagnostics.add(createCompilerDiagnostic(Diagnostics.Option_sourceMap_cannot_be_specified_with_option_inlineSourceMap));
|
||||
}
|
||||
if (options.mapRoot) {
|
||||
diagnostics.add(createCompilerDiagnostic(Diagnostics.Option_mapRoot_cannot_be_specified_with_option_inlineSourceMap));
|
||||
}
|
||||
if (options.sourceRoot) {
|
||||
diagnostics.add(createCompilerDiagnostic(Diagnostics.Option_sourceRoot_cannot_be_specified_with_option_inlineSourceMap));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (options.inlineSources) {
|
||||
if (!options.sourceMap && !options.inlineSourceMap) {
|
||||
diagnostics.add(createCompilerDiagnostic(Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
|
||||
}
|
||||
}
|
||||
|
||||
if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) {
|
||||
// Error to specify --mapRoot or --sourceRoot without mapSourceFiles
|
||||
if (options.mapRoot) {
|
||||
|
||||
@@ -1096,14 +1096,15 @@ module ts {
|
||||
}
|
||||
|
||||
export interface SourceMapData {
|
||||
sourceMapFilePath: string; // Where the sourcemap file is written
|
||||
jsSourceMappingURL: string; // source map URL written in the .js file
|
||||
sourceMapFile: string; // Source map's file field - .js file name
|
||||
sourceMapSourceRoot: string; // Source map's sourceRoot field - location where the sources will be present if not ""
|
||||
sourceMapSources: string[]; // Source map's sources field - list of sources that can be indexed in this source map
|
||||
inputSourceFileNames: string[]; // Input source file (which one can use on program to get the file), 1:1 mapping with the sourceMapSources list
|
||||
sourceMapNames?: string[]; // Source map's names field - list of names that can be indexed in this source map
|
||||
sourceMapMappings: string; // Source map's mapping field - encoded source map spans
|
||||
sourceMapFilePath: string; // Where the sourcemap file is written
|
||||
jsSourceMappingURL: string; // source map URL written in the .js file
|
||||
sourceMapFile: string; // Source map's file field - .js file name
|
||||
sourceMapSourceRoot: string; // Source map's sourceRoot field - location where the sources will be present if not ""
|
||||
sourceMapSources: string[]; // Source map's sources field - list of sources that can be indexed in this source map
|
||||
sourceMapSourcesContent?: string[]; // Source map's sourcesContent field - list of the sources' text to be embedded in the source map
|
||||
inputSourceFileNames: string[]; // Input source file (which one can use on program to get the file), 1:1 mapping with the sourceMapSources list
|
||||
sourceMapNames?: string[]; // Source map's names field - list of names that can be indexed in this source map
|
||||
sourceMapMappings: string; // Source map's mapping field - encoded source map spans
|
||||
sourceMapDecodedMappings: SourceMapSpan[]; // Raw source map spans that were encoded into the sourceMapMappings
|
||||
}
|
||||
|
||||
@@ -1647,6 +1648,8 @@ module ts {
|
||||
diagnostics?: boolean;
|
||||
emitBOM?: boolean;
|
||||
help?: boolean;
|
||||
inlineSourceMap?: boolean;
|
||||
inlineSources?: boolean;
|
||||
listFiles?: boolean;
|
||||
locale?: string;
|
||||
mapRoot?: string;
|
||||
|
||||
@@ -1695,6 +1695,83 @@ module ts {
|
||||
export function getLocalSymbolForExportDefault(symbol: Symbol) {
|
||||
return symbol && symbol.valueDeclaration && (symbol.valueDeclaration.flags & NodeFlags.Default) ? symbol.valueDeclaration.localSymbol : undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace each instance of non-ascii characters by one, two, three, or four escape sequences
|
||||
* representing the UTF-8 encoding of the character, and return the expanded char code list.
|
||||
*/
|
||||
function getExpandedCharCodes(input: string): number[] {
|
||||
let output: number[] = [];
|
||||
let length = input.length;
|
||||
let leadSurrogate: number = undefined;
|
||||
|
||||
for (let i = 0; i < length; i++) {
|
||||
let charCode = input.charCodeAt(i);
|
||||
|
||||
// handel utf8
|
||||
if (charCode < 0x80) {
|
||||
output.push(charCode);
|
||||
}
|
||||
else if (charCode < 0x800) {
|
||||
output.push((charCode >> 6) | 0B11000000);
|
||||
output.push((charCode & 0B00111111) | 0B10000000);
|
||||
}
|
||||
else if (charCode < 0x10000) {
|
||||
output.push((charCode >> 12) | 0B11100000);
|
||||
output.push(((charCode >> 6) & 0B00111111) | 0B10000000);
|
||||
output.push((charCode & 0B00111111) | 0B10000000);
|
||||
}
|
||||
else if (charCode < 0x20000) {
|
||||
output.push((charCode >> 18) | 0B11110000);
|
||||
output.push(((charCode >> 12) & 0B00111111) | 0B10000000);
|
||||
output.push(((charCode >> 6) & 0B00111111) | 0B10000000);
|
||||
output.push((charCode & 0B00111111) | 0B10000000);
|
||||
}
|
||||
else {
|
||||
Debug.assert(false, "Unexpected code point");
|
||||
}
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
const base64Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
||||
|
||||
/**
|
||||
* Converts a string to a base-64 encoded ASCII string.
|
||||
*/
|
||||
export function convertToBase64(input: string): string {
|
||||
var result = "";
|
||||
let charCodes = getExpandedCharCodes(input);
|
||||
let i = 0;
|
||||
let length = charCodes.length;
|
||||
let byte1: number, byte2: number, byte3: number, byte4: number;
|
||||
|
||||
while (i < length) {
|
||||
// Convert every 6-bits in the input 3 character points
|
||||
// into a base64 digit
|
||||
byte1 = charCodes[i] >> 2;
|
||||
byte2 = (charCodes[i] & 0B00000011) << 4 | charCodes[i + 1] >> 4;
|
||||
byte3 = (charCodes[i + 1] & 0B00001111) << 2 | charCodes[i + 2] >> 6;
|
||||
byte4 = charCodes[i + 2] & 0B00111111;
|
||||
|
||||
// We are out of characters in the input, set the extra
|
||||
// digits to 64 (padding character).
|
||||
if (i + 1 >= length) {
|
||||
byte3 = byte4 = 64;
|
||||
}
|
||||
else if (i + 2 >= length) {
|
||||
byte4 = 64;
|
||||
}
|
||||
|
||||
// Write to the ouput
|
||||
result += base64Digits.charAt(byte1) + base64Digits.charAt(byte2) + base64Digits.charAt(byte3) + base64Digits.charAt(byte4);
|
||||
|
||||
i += 3;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
module ts {
|
||||
|
||||
@@ -159,7 +159,7 @@ class CompilerBaselineRunner extends RunnerBase {
|
||||
|
||||
// Source maps?
|
||||
it('Correct sourcemap content for ' + fileName, () => {
|
||||
if (options.sourceMap) {
|
||||
if (options.sourceMap || options.inlineSourceMap) {
|
||||
Harness.Baseline.runBaseline('Correct sourcemap content for ' + fileName, justName.replace(/\.ts$/, '.sourcemap.txt'), () => {
|
||||
var record = result.getSourceMapRecord();
|
||||
if (options.noEmitOnError && result.errors.length !== 0 && record === undefined) {
|
||||
@@ -228,7 +228,13 @@ class CompilerBaselineRunner extends RunnerBase {
|
||||
});
|
||||
|
||||
it('Correct Sourcemap output for ' + fileName, () => {
|
||||
if (options.sourceMap) {
|
||||
if (options.inlineSourceMap) {
|
||||
if (result.sourceMaps.length > 0) {
|
||||
throw new Error('No sourcemap files should be generated if inlineSourceMaps was set.');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
else if (options.sourceMap) {
|
||||
if (result.sourceMaps.length !== result.files.length) {
|
||||
throw new Error('Number of sourcemap files should be same as js files.');
|
||||
}
|
||||
|
||||
@@ -1020,6 +1020,10 @@ module Harness {
|
||||
options.sourceRoot = setting.value;
|
||||
break;
|
||||
|
||||
case 'maproot':
|
||||
options.mapRoot = setting.value;
|
||||
break;
|
||||
|
||||
case 'sourcemap':
|
||||
options.sourceMap = !!setting.value;
|
||||
break;
|
||||
@@ -1073,6 +1077,14 @@ module Harness {
|
||||
includeBuiltFiles.push({ unitName: builtFileName, content: normalizeLineEndings(IO.readFile(builtFileName), newLine) });
|
||||
break;
|
||||
|
||||
case 'inlinesourcemap':
|
||||
options.inlineSourceMap = setting.value === 'true';
|
||||
break;
|
||||
|
||||
case 'inlinesources':
|
||||
options.inlineSources = setting.value === 'true';
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Error('Unsupported compiler setting ' + setting.flag);
|
||||
}
|
||||
@@ -1469,7 +1481,8 @@ module Harness {
|
||||
"noimplicitany", "noresolve", "newline", "newlines", "emitbom",
|
||||
"errortruncation", "usecasesensitivefilenames", "preserveconstenums",
|
||||
"includebuiltfile", "suppressimplicitanyindexerrors", "stripinternal",
|
||||
"separatecompilation"];
|
||||
"separatecompilation", "inlinesourcemap", "maproot", "sourceroot",
|
||||
"inlinesources"];
|
||||
|
||||
function extractCompilerSettings(content: string): CompilerSetting[] {
|
||||
|
||||
|
||||
@@ -237,6 +237,9 @@ module Harness.SourceMapRecoder {
|
||||
sourceMapRecoder.WriteLine("mapUrl: " + sourceMapData.jsSourceMappingURL);
|
||||
sourceMapRecoder.WriteLine("sourceRoot: " + sourceMapData.sourceMapSourceRoot);
|
||||
sourceMapRecoder.WriteLine("sources: " + sourceMapData.sourceMapSources);
|
||||
if (sourceMapData.sourceMapSourcesContent) {
|
||||
sourceMapRecoder.WriteLine("sourcesContent: " + JSON.stringify(sourceMapData.sourceMapSourcesContent));
|
||||
}
|
||||
sourceMapRecoder.WriteLine("===================================================================");
|
||||
}
|
||||
|
||||
|
||||
9
tests/baselines/reference/inlineSourceMap.errors.txt
Normal file
9
tests/baselines/reference/inlineSourceMap.errors.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
tests/cases/compiler/inlineSourceMap.ts(3,1): error TS2304: Cannot find name 'console'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/inlineSourceMap.ts (1 errors) ====
|
||||
|
||||
var x = 0;
|
||||
console.log(x);
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'console'.
|
||||
9
tests/baselines/reference/inlineSourceMap.js
Normal file
9
tests/baselines/reference/inlineSourceMap.js
Normal file
@@ -0,0 +1,9 @@
|
||||
//// [inlineSourceMap.ts]
|
||||
|
||||
var x = 0;
|
||||
console.log(x);
|
||||
|
||||
//// [inlineSourceMap.js]
|
||||
var x = 0;
|
||||
console.log(x);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lU291cmNlTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5saW5lU291cmNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMifQ==
|
||||
61
tests/baselines/reference/inlineSourceMap.sourcemap.txt
Normal file
61
tests/baselines/reference/inlineSourceMap.sourcemap.txt
Normal file
@@ -0,0 +1,61 @@
|
||||
===================================================================
|
||||
JsFile: inlineSourceMap.js
|
||||
mapUrl: inlineSourceMap.js.map
|
||||
sourceRoot:
|
||||
sources: inlineSourceMap.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:tests/cases/compiler/inlineSourceMap.js
|
||||
sourceFile:inlineSourceMap.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var x = 0;
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^^^^^^->
|
||||
1 >
|
||||
>
|
||||
2 >var
|
||||
3 > x
|
||||
4 > =
|
||||
5 > 0
|
||||
6 > ;
|
||||
1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 5) Source(2, 5) + SourceIndex(0)
|
||||
3 >Emitted(1, 6) Source(2, 6) + SourceIndex(0)
|
||||
4 >Emitted(1, 9) Source(2, 9) + SourceIndex(0)
|
||||
5 >Emitted(1, 10) Source(2, 10) + SourceIndex(0)
|
||||
6 >Emitted(1, 11) Source(2, 11) + SourceIndex(0)
|
||||
---
|
||||
>>>console.log(x);
|
||||
1->
|
||||
2 >^^^^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^
|
||||
8 > ^
|
||||
9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1->
|
||||
>
|
||||
2 >console
|
||||
3 > .
|
||||
4 > log
|
||||
5 > (
|
||||
6 > x
|
||||
7 > )
|
||||
8 > ;
|
||||
1->Emitted(2, 1) Source(3, 1) + SourceIndex(0)
|
||||
2 >Emitted(2, 8) Source(3, 8) + SourceIndex(0)
|
||||
3 >Emitted(2, 9) Source(3, 9) + SourceIndex(0)
|
||||
4 >Emitted(2, 12) Source(3, 12) + SourceIndex(0)
|
||||
5 >Emitted(2, 13) Source(3, 13) + SourceIndex(0)
|
||||
6 >Emitted(2, 14) Source(3, 14) + SourceIndex(0)
|
||||
7 >Emitted(2, 15) Source(3, 15) + SourceIndex(0)
|
||||
8 >Emitted(2, 16) Source(3, 16) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lU291cmNlTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5saW5lU291cmNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMifQ==
|
||||
17
tests/baselines/reference/inlineSourceMap2.errors.txt
Normal file
17
tests/baselines/reference/inlineSourceMap2.errors.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
error TS5050: Option 'mapRoot' cannot be specified with option 'inlineSourceMap'.
|
||||
error TS5049: Option 'sourceRoot' cannot be specified with option 'inlineSourceMap'.
|
||||
error TS5048: Option 'sourceMap' cannot be specified with option 'inlineSourceMap'.
|
||||
tests/cases/compiler/inlineSourceMap2.ts(5,1): error TS2304: Cannot find name 'console'.
|
||||
|
||||
|
||||
!!! error TS5050: Option 'mapRoot' cannot be specified with option 'inlineSourceMap'.
|
||||
!!! error TS5049: Option 'sourceRoot' cannot be specified with option 'inlineSourceMap'.
|
||||
!!! error TS5048: Option 'sourceMap' cannot be specified with option 'inlineSourceMap'.
|
||||
==== tests/cases/compiler/inlineSourceMap2.ts (1 errors) ====
|
||||
|
||||
// configuration errors
|
||||
|
||||
var x = 0;
|
||||
console.log(x);
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'console'.
|
||||
12
tests/baselines/reference/inlineSourceMap2.js
Normal file
12
tests/baselines/reference/inlineSourceMap2.js
Normal file
@@ -0,0 +1,12 @@
|
||||
//// [inlineSourceMap2.ts]
|
||||
|
||||
// configuration errors
|
||||
|
||||
var x = 0;
|
||||
console.log(x);
|
||||
|
||||
//// [outfile.js]
|
||||
// configuration errors
|
||||
var x = 0;
|
||||
console.log(x);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0ZmlsZS5qcyIsInNvdXJjZVJvb3QiOiJmaWxlOi8vL2ZvbGRlci8iLCJzb3VyY2VzIjpbImlubGluZVNvdXJjZU1hcDIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsdUJBQXVCO0FBRXZCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMifQ==
|
||||
71
tests/baselines/reference/inlineSourceMap2.sourcemap.txt
Normal file
71
tests/baselines/reference/inlineSourceMap2.sourcemap.txt
Normal file
@@ -0,0 +1,71 @@
|
||||
===================================================================
|
||||
JsFile: outfile.js
|
||||
mapUrl: file:///folder/outfile.js.map
|
||||
sourceRoot: file:///folder/
|
||||
sources: inlineSourceMap2.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outfile.js
|
||||
sourceFile:inlineSourceMap2.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>// configuration errors
|
||||
1 >
|
||||
2 >^^^^^^^^^^^^^^^^^^^^^^^
|
||||
1 >
|
||||
>
|
||||
2 >// configuration errors
|
||||
1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 24) Source(2, 24) + SourceIndex(0)
|
||||
---
|
||||
>>>var x = 0;
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^^^^^^->
|
||||
1 >
|
||||
>
|
||||
>
|
||||
2 >var
|
||||
3 > x
|
||||
4 > =
|
||||
5 > 0
|
||||
6 > ;
|
||||
1 >Emitted(2, 1) Source(4, 1) + SourceIndex(0)
|
||||
2 >Emitted(2, 5) Source(4, 5) + SourceIndex(0)
|
||||
3 >Emitted(2, 6) Source(4, 6) + SourceIndex(0)
|
||||
4 >Emitted(2, 9) Source(4, 9) + SourceIndex(0)
|
||||
5 >Emitted(2, 10) Source(4, 10) + SourceIndex(0)
|
||||
6 >Emitted(2, 11) Source(4, 11) + SourceIndex(0)
|
||||
---
|
||||
>>>console.log(x);
|
||||
1->
|
||||
2 >^^^^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^
|
||||
8 > ^
|
||||
9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1->
|
||||
>
|
||||
2 >console
|
||||
3 > .
|
||||
4 > log
|
||||
5 > (
|
||||
6 > x
|
||||
7 > )
|
||||
8 > ;
|
||||
1->Emitted(3, 1) Source(5, 1) + SourceIndex(0)
|
||||
2 >Emitted(3, 8) Source(5, 8) + SourceIndex(0)
|
||||
3 >Emitted(3, 9) Source(5, 9) + SourceIndex(0)
|
||||
4 >Emitted(3, 12) Source(5, 12) + SourceIndex(0)
|
||||
5 >Emitted(3, 13) Source(5, 13) + SourceIndex(0)
|
||||
6 >Emitted(3, 14) Source(5, 14) + SourceIndex(0)
|
||||
7 >Emitted(3, 15) Source(5, 15) + SourceIndex(0)
|
||||
8 >Emitted(3, 16) Source(5, 16) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0ZmlsZS5qcyIsInNvdXJjZVJvb3QiOiJmaWxlOi8vL2ZvbGRlci8iLCJzb3VyY2VzIjpbImlubGluZVNvdXJjZU1hcDIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsdUJBQXVCO0FBRXZCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMifQ==
|
||||
16
tests/baselines/reference/inlineSources.errors.txt
Normal file
16
tests/baselines/reference/inlineSources.errors.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
tests/cases/compiler/a.ts(3,1): error TS2304: Cannot find name 'console'.
|
||||
tests/cases/compiler/b.ts(2,1): error TS2304: Cannot find name 'console'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/a.ts (1 errors) ====
|
||||
|
||||
var a = 0;
|
||||
console.log(a);
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'console'.
|
||||
|
||||
==== tests/cases/compiler/b.ts (1 errors) ====
|
||||
var b = 0;
|
||||
console.log(b);
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'console'.
|
||||
17
tests/baselines/reference/inlineSources.js
Normal file
17
tests/baselines/reference/inlineSources.js
Normal file
@@ -0,0 +1,17 @@
|
||||
//// [tests/cases/compiler/inlineSources.ts] ////
|
||||
|
||||
//// [a.ts]
|
||||
|
||||
var a = 0;
|
||||
console.log(a);
|
||||
|
||||
//// [b.ts]
|
||||
var b = 0;
|
||||
console.log(b);
|
||||
|
||||
//// [out.js]
|
||||
var a = 0;
|
||||
console.log(a);
|
||||
var b = 0;
|
||||
console.log(b);
|
||||
//# sourceMappingURL=out.js.map
|
||||
2
tests/baselines/reference/inlineSources.js.map
Normal file
2
tests/baselines/reference/inlineSources.js.map
Normal file
@@ -0,0 +1,2 @@
|
||||
//// [out.js.map]
|
||||
{"version":3,"file":"out.js","sourceRoot":"","sources":["tests/cases/compiler/a.ts","tests/cases/compiler/b.ts"],"names":[],"mappings":"AACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACFf,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC","sourcesContent":["\nvar a = 0;\nconsole.log(a);\n","var b = 0;\nconsole.log(b);"]}
|
||||
114
tests/baselines/reference/inlineSources.sourcemap.txt
Normal file
114
tests/baselines/reference/inlineSources.sourcemap.txt
Normal file
@@ -0,0 +1,114 @@
|
||||
===================================================================
|
||||
JsFile: out.js
|
||||
mapUrl: out.js.map
|
||||
sourceRoot:
|
||||
sources: tests/cases/compiler/a.ts,tests/cases/compiler/b.ts
|
||||
sourcesContent: ["\nvar a = 0;\nconsole.log(a);\n","var b = 0;\nconsole.log(b);"]
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:out.js
|
||||
sourceFile:tests/cases/compiler/a.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var a = 0;
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^^^^^^->
|
||||
1 >
|
||||
>
|
||||
2 >var
|
||||
3 > a
|
||||
4 > =
|
||||
5 > 0
|
||||
6 > ;
|
||||
1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 5) Source(2, 5) + SourceIndex(0)
|
||||
3 >Emitted(1, 6) Source(2, 6) + SourceIndex(0)
|
||||
4 >Emitted(1, 9) Source(2, 9) + SourceIndex(0)
|
||||
5 >Emitted(1, 10) Source(2, 10) + SourceIndex(0)
|
||||
6 >Emitted(1, 11) Source(2, 11) + SourceIndex(0)
|
||||
---
|
||||
>>>console.log(a);
|
||||
1->
|
||||
2 >^^^^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^
|
||||
8 > ^
|
||||
1->
|
||||
>
|
||||
2 >console
|
||||
3 > .
|
||||
4 > log
|
||||
5 > (
|
||||
6 > a
|
||||
7 > )
|
||||
8 > ;
|
||||
1->Emitted(2, 1) Source(3, 1) + SourceIndex(0)
|
||||
2 >Emitted(2, 8) Source(3, 8) + SourceIndex(0)
|
||||
3 >Emitted(2, 9) Source(3, 9) + SourceIndex(0)
|
||||
4 >Emitted(2, 12) Source(3, 12) + SourceIndex(0)
|
||||
5 >Emitted(2, 13) Source(3, 13) + SourceIndex(0)
|
||||
6 >Emitted(2, 14) Source(3, 14) + SourceIndex(0)
|
||||
7 >Emitted(2, 15) Source(3, 15) + SourceIndex(0)
|
||||
8 >Emitted(2, 16) Source(3, 16) + SourceIndex(0)
|
||||
---
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:out.js
|
||||
sourceFile:tests/cases/compiler/b.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var b = 0;
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^^^^^^->
|
||||
1 >
|
||||
2 >var
|
||||
3 > b
|
||||
4 > =
|
||||
5 > 0
|
||||
6 > ;
|
||||
1 >Emitted(3, 1) Source(1, 1) + SourceIndex(1)
|
||||
2 >Emitted(3, 5) Source(1, 5) + SourceIndex(1)
|
||||
3 >Emitted(3, 6) Source(1, 6) + SourceIndex(1)
|
||||
4 >Emitted(3, 9) Source(1, 9) + SourceIndex(1)
|
||||
5 >Emitted(3, 10) Source(1, 10) + SourceIndex(1)
|
||||
6 >Emitted(3, 11) Source(1, 11) + SourceIndex(1)
|
||||
---
|
||||
>>>console.log(b);
|
||||
1->
|
||||
2 >^^^^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^
|
||||
8 > ^
|
||||
9 > ^^^^^^^^^^^^^^^->
|
||||
1->
|
||||
>
|
||||
2 >console
|
||||
3 > .
|
||||
4 > log
|
||||
5 > (
|
||||
6 > b
|
||||
7 > )
|
||||
8 > ;
|
||||
1->Emitted(4, 1) Source(2, 1) + SourceIndex(1)
|
||||
2 >Emitted(4, 8) Source(2, 8) + SourceIndex(1)
|
||||
3 >Emitted(4, 9) Source(2, 9) + SourceIndex(1)
|
||||
4 >Emitted(4, 12) Source(2, 12) + SourceIndex(1)
|
||||
5 >Emitted(4, 13) Source(2, 13) + SourceIndex(1)
|
||||
6 >Emitted(4, 14) Source(2, 14) + SourceIndex(1)
|
||||
7 >Emitted(4, 15) Source(2, 15) + SourceIndex(1)
|
||||
8 >Emitted(4, 16) Source(2, 16) + SourceIndex(1)
|
||||
---
|
||||
>>>//# sourceMappingURL=out.js.map
|
||||
16
tests/baselines/reference/inlineSources2.errors.txt
Normal file
16
tests/baselines/reference/inlineSources2.errors.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
tests/cases/compiler/a.ts(3,1): error TS2304: Cannot find name 'console'.
|
||||
tests/cases/compiler/b.ts(2,1): error TS2304: Cannot find name 'console'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/a.ts (1 errors) ====
|
||||
|
||||
var a = 0;
|
||||
console.log(a);
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'console'.
|
||||
|
||||
==== tests/cases/compiler/b.ts (1 errors) ====
|
||||
var b = 0;
|
||||
console.log(b);
|
||||
~~~~~~~
|
||||
!!! error TS2304: Cannot find name 'console'.
|
||||
17
tests/baselines/reference/inlineSources2.js
Normal file
17
tests/baselines/reference/inlineSources2.js
Normal file
@@ -0,0 +1,17 @@
|
||||
//// [tests/cases/compiler/inlineSources2.ts] ////
|
||||
|
||||
//// [a.ts]
|
||||
|
||||
var a = 0;
|
||||
console.log(a);
|
||||
|
||||
//// [b.ts]
|
||||
var b = 0;
|
||||
console.log(b);
|
||||
|
||||
//// [out.js]
|
||||
var a = 0;
|
||||
console.log(a);
|
||||
var b = 0;
|
||||
console.log(b);
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdHMvY2FzZXMvY29tcGlsZXIvYS50cyIsInRlc3RzL2Nhc2VzL2NvbXBpbGVyL2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQ0ZmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbnZhciBhID0gMDtcbmNvbnNvbGUubG9nKGEpO1xuIiwidmFyIGIgPSAwO1xuY29uc29sZS5sb2coYik7Il19
|
||||
114
tests/baselines/reference/inlineSources2.sourcemap.txt
Normal file
114
tests/baselines/reference/inlineSources2.sourcemap.txt
Normal file
@@ -0,0 +1,114 @@
|
||||
===================================================================
|
||||
JsFile: out.js
|
||||
mapUrl: out.js.map
|
||||
sourceRoot:
|
||||
sources: tests/cases/compiler/a.ts,tests/cases/compiler/b.ts
|
||||
sourcesContent: ["\nvar a = 0;\nconsole.log(a);\n","var b = 0;\nconsole.log(b);"]
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:out.js
|
||||
sourceFile:tests/cases/compiler/a.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var a = 0;
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^^^^^^->
|
||||
1 >
|
||||
>
|
||||
2 >var
|
||||
3 > a
|
||||
4 > =
|
||||
5 > 0
|
||||
6 > ;
|
||||
1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 5) Source(2, 5) + SourceIndex(0)
|
||||
3 >Emitted(1, 6) Source(2, 6) + SourceIndex(0)
|
||||
4 >Emitted(1, 9) Source(2, 9) + SourceIndex(0)
|
||||
5 >Emitted(1, 10) Source(2, 10) + SourceIndex(0)
|
||||
6 >Emitted(1, 11) Source(2, 11) + SourceIndex(0)
|
||||
---
|
||||
>>>console.log(a);
|
||||
1->
|
||||
2 >^^^^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^
|
||||
8 > ^
|
||||
1->
|
||||
>
|
||||
2 >console
|
||||
3 > .
|
||||
4 > log
|
||||
5 > (
|
||||
6 > a
|
||||
7 > )
|
||||
8 > ;
|
||||
1->Emitted(2, 1) Source(3, 1) + SourceIndex(0)
|
||||
2 >Emitted(2, 8) Source(3, 8) + SourceIndex(0)
|
||||
3 >Emitted(2, 9) Source(3, 9) + SourceIndex(0)
|
||||
4 >Emitted(2, 12) Source(3, 12) + SourceIndex(0)
|
||||
5 >Emitted(2, 13) Source(3, 13) + SourceIndex(0)
|
||||
6 >Emitted(2, 14) Source(3, 14) + SourceIndex(0)
|
||||
7 >Emitted(2, 15) Source(3, 15) + SourceIndex(0)
|
||||
8 >Emitted(2, 16) Source(3, 16) + SourceIndex(0)
|
||||
---
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:out.js
|
||||
sourceFile:tests/cases/compiler/b.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var b = 0;
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^^^^^^->
|
||||
1 >
|
||||
2 >var
|
||||
3 > b
|
||||
4 > =
|
||||
5 > 0
|
||||
6 > ;
|
||||
1 >Emitted(3, 1) Source(1, 1) + SourceIndex(1)
|
||||
2 >Emitted(3, 5) Source(1, 5) + SourceIndex(1)
|
||||
3 >Emitted(3, 6) Source(1, 6) + SourceIndex(1)
|
||||
4 >Emitted(3, 9) Source(1, 9) + SourceIndex(1)
|
||||
5 >Emitted(3, 10) Source(1, 10) + SourceIndex(1)
|
||||
6 >Emitted(3, 11) Source(1, 11) + SourceIndex(1)
|
||||
---
|
||||
>>>console.log(b);
|
||||
1->
|
||||
2 >^^^^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^
|
||||
8 > ^
|
||||
9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1->
|
||||
>
|
||||
2 >console
|
||||
3 > .
|
||||
4 > log
|
||||
5 > (
|
||||
6 > b
|
||||
7 > )
|
||||
8 > ;
|
||||
1->Emitted(4, 1) Source(2, 1) + SourceIndex(1)
|
||||
2 >Emitted(4, 8) Source(2, 8) + SourceIndex(1)
|
||||
3 >Emitted(4, 9) Source(2, 9) + SourceIndex(1)
|
||||
4 >Emitted(4, 12) Source(2, 12) + SourceIndex(1)
|
||||
5 >Emitted(4, 13) Source(2, 13) + SourceIndex(1)
|
||||
6 >Emitted(4, 14) Source(2, 14) + SourceIndex(1)
|
||||
7 >Emitted(4, 15) Source(2, 15) + SourceIndex(1)
|
||||
8 >Emitted(4, 16) Source(2, 16) + SourceIndex(1)
|
||||
---
|
||||
>>>//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdHMvY2FzZXMvY29tcGlsZXIvYS50cyIsInRlc3RzL2Nhc2VzL2NvbXBpbGVyL2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQ0ZmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbnZhciBhID0gMDtcbmNvbnNvbGUubG9nKGEpO1xuIiwidmFyIGIgPSAwO1xuY29uc29sZS5sb2coYik7Il19
|
||||
5
tests/cases/compiler/inlineSourceMap.ts
Normal file
5
tests/cases/compiler/inlineSourceMap.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
// @target: ES3
|
||||
// @inlinesourcemap: true
|
||||
|
||||
var x = 0;
|
||||
console.log(x);
|
||||
11
tests/cases/compiler/inlineSourceMap2.ts
Normal file
11
tests/cases/compiler/inlineSourceMap2.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
// @target: ES3
|
||||
// @sourcemap: true
|
||||
// @maproot: file:///folder
|
||||
// @sourceroot: file:///folder
|
||||
// @out: outfile.js
|
||||
// @inlinesourcemap: true
|
||||
|
||||
// configuration errors
|
||||
|
||||
var x = 0;
|
||||
console.log(x);
|
||||
12
tests/cases/compiler/inlineSources.ts
Normal file
12
tests/cases/compiler/inlineSources.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
// @target: ES3
|
||||
// @sourcemap: true
|
||||
// @inlinesources: true
|
||||
// @out: out.js
|
||||
|
||||
// @filename: a.ts
|
||||
var a = 0;
|
||||
console.log(a);
|
||||
|
||||
// @filename: b.ts
|
||||
var b = 0;
|
||||
console.log(b);
|
||||
12
tests/cases/compiler/inlineSources2.ts
Normal file
12
tests/cases/compiler/inlineSources2.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
// @target: ES3
|
||||
// @inlinesourcemap: true
|
||||
// @inlinesources: true
|
||||
// @out: out.js
|
||||
|
||||
// @filename: a.ts
|
||||
var a = 0;
|
||||
console.log(a);
|
||||
|
||||
// @filename: b.ts
|
||||
var b = 0;
|
||||
console.log(b);
|
||||
33
tests/cases/unittests/convertToBase64.ts
Normal file
33
tests/cases/unittests/convertToBase64.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
/// <reference path="..\..\..\src\harness\harness.ts" />
|
||||
|
||||
module ts {
|
||||
describe('convertToBase64', () => {
|
||||
function runTest(input: string): void {
|
||||
var actual = ts.convertToBase64(input);
|
||||
var expected = new Buffer(input).toString("base64");
|
||||
assert.equal(actual, expected, "Encoded string using convertToBase64 does not match buffer.toString('base64')");
|
||||
}
|
||||
|
||||
it("Converts ASCII charaters correctelly", () => {
|
||||
runTest(" !\"#$ %&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");
|
||||
});
|
||||
|
||||
it("Converts escape sequences correctelly", () => {
|
||||
runTest("\t\n\r\\\"\'\u0062");
|
||||
});
|
||||
|
||||
it("Converts simple unicode characters correctelly", () => {
|
||||
runTest("ΠΣ ٵپ औठ ⺐⺠");
|
||||
});
|
||||
|
||||
it("Converts simple code snippit correctelly", () => {
|
||||
runTest(`/// <reference path="file.ts" />
|
||||
var x: string = "string";
|
||||
console.log(x);`);
|
||||
});
|
||||
|
||||
it("Converts simple code snippit with unicode characters correctelly", () => {
|
||||
runTest(`var Π = 3.1415; console.log(Π);`);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user