summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/ts_library_builder/build_library.ts4
-rw-r--r--tools/ts_library_builder/test.ts13
2 files changed, 11 insertions, 6 deletions
diff --git a/tools/ts_library_builder/build_library.ts b/tools/ts_library_builder/build_library.ts
index 00e942540..0717de987 100644
--- a/tools/ts_library_builder/build_library.ts
+++ b/tools/ts_library_builder/build_library.ts
@@ -156,6 +156,10 @@ export function mergeGlobal({
// Declare the global variable
addVariableDeclaration(targetSourceFile, globalVarName, interfaceName, true);
+ // `globalThis` accesses the global scope and is defined here:
+ // https://github.com/tc39/proposal-global
+ addVariableDeclaration(targetSourceFile, "globalThis", interfaceName, true);
+
// Add self reference to the global variable
addInterfaceProperty(interfaceDeclaration, globalVarName, interfaceName);
diff --git a/tools/ts_library_builder/test.ts b/tools/ts_library_builder/test.ts
index b5883433a..ad0d7cfa1 100644
--- a/tools/ts_library_builder/test.ts
+++ b/tools/ts_library_builder/test.ts
@@ -140,24 +140,25 @@ test(function buildLibraryMerge() {
assertEqual(targetSourceFile.getInterfaces().length, 1);
const variableDeclarations = targetSourceFile.getVariableDeclarations();
assertEqual(variableDeclarations[0].getType().getText(), `FooBar`);
- assertEqual(variableDeclarations[1].getType().getText(), `moduleC.Bar`);
+ assertEqual(variableDeclarations[1].getType().getText(), `FooBar`);
+ assertEqual(variableDeclarations[2].getType().getText(), `moduleC.Bar`);
assertEqual(
- variableDeclarations[2].getType().getText(),
+ variableDeclarations[3].getType().getText(),
`typeof moduleC.qat`
);
assertEqual(
- variableDeclarations[3].getType().getText(),
+ variableDeclarations[4].getType().getText(),
`typeof moduleE.process`
);
assertEqual(
- variableDeclarations[4].getType().getText(),
+ variableDeclarations[5].getType().getText(),
`typeof moduleD.reprocess`
);
assertEqual(
- variableDeclarations[5].getType().getText(),
+ variableDeclarations[6].getType().getText(),
`typeof moduleC.Bar`
);
- assertEqual(variableDeclarations.length, 6);
+ assertEqual(variableDeclarations.length, 7);
const typeAliases = targetSourceFile.getTypeAliases();
assertEqual(typeAliases[0].getName(), "Bar");
assertEqual(typeAliases[0].getType().getText(), "moduleC.Bar");