diff --git a/Gulpfile.ts b/Gulpfile.ts
index 054e99c8003..2eec5c22045 100644
--- a/Gulpfile.ts
+++ b/Gulpfile.ts
@@ -472,6 +472,9 @@ gulp.task(tsserverLibraryFile, false, [servicesFile], (done) => {
.pipe(sourcemaps.write("."))
.pipe(gulp.dest(".")),
dts.pipe(prependCopyright())
+ .pipe(insert.transform((content) => {
+ return content + "\r\nexport = ts;";
+ }))
.pipe(gulp.dest("."))
]);
});
diff --git a/Jakefile.js b/Jakefile.js
index 3c26003fdf0..801ac924027 100644
--- a/Jakefile.js
+++ b/Jakefile.js
@@ -183,8 +183,8 @@ var servicesSources = [
return path.join(servicesDirectory, f);
}));
-var serverCoreSources = [
- "types.d.ts",
+var baseServerCoreSources = [
+ "types.ts",
"shared.ts",
"utilities.ts",
"scriptVersionCache.ts",
@@ -195,11 +195,16 @@ var serverCoreSources = [
"editorServices.ts",
"protocol.ts",
"session.ts",
- "server.ts"
].map(function (f) {
return path.join(serverDirectory, f);
});
+var serverCoreSources = [
+ "server.ts"
+].map(function (f) {
+ return path.join(serverDirectory, f);
+}).concat(baseServerCoreSources);
+
var cancellationTokenSources = [
"cancellationToken.ts"
].map(function (f) {
@@ -207,7 +212,7 @@ var cancellationTokenSources = [
});
var typingsInstallerSources = [
- "../types.d.ts",
+ "../types.ts",
"../shared.ts",
"typingsInstaller.ts",
"nodeTypingsInstaller.ts"
@@ -216,20 +221,7 @@ var typingsInstallerSources = [
});
var serverSources = serverCoreSources.concat(servicesSources);
-
-var languageServiceLibrarySources = [
- "protocol.ts",
- "utilities.ts",
- "scriptVersionCache.ts",
- "scriptInfo.ts",
- "lsHost.ts",
- "project.ts",
- "editorServices.ts",
- "session.ts",
-
-].map(function (f) {
- return path.join(serverDirectory, f);
-}).concat(servicesSources);
+var languageServiceLibrarySources = baseServerCoreSources.concat(servicesSources);
var harnessCoreSources = [
"harness.ts",
@@ -727,7 +719,15 @@ compileFile(
[builtLocalDirectory, copyright, builtLocalCompiler].concat(languageServiceLibrarySources).concat(libraryTargets),
/*prefixes*/[copyright],
/*useBuiltCompiler*/ true,
- { noOutFile: false, generateDeclarations: true });
+ { noOutFile: false, generateDeclarations: true },
+ /*callback*/ function () {
+
+ prependFile(copyright, tsserverLibraryDefinitionFile);
+
+ // Appending 'export = ts;' at the end of the server library file to turn it into an external module
+ var tsserverLibraryDefinitionFileContents = fs.readFileSync(tsserverLibraryDefinitionFile).toString() + "\r\nexport = ts;";
+ fs.writeFileSync(tsserverLibraryDefinitionFile, tsserverLibraryDefinitionFileContents);
+ });
// Local target to build the language service server library
desc("Builds language service server library");
diff --git a/src/server/shared.ts b/src/server/shared.ts
index c56d4098e75..77f66fc5a2d 100644
--- a/src/server/shared.ts
+++ b/src/server/shared.ts
@@ -1,4 +1,4 @@
-///
+///
namespace ts.server {
export const ActionSet: ActionSet = "action::set";
diff --git a/src/server/tsconfig.library.json b/src/server/tsconfig.library.json
index 5483cc8ec28..c589d875c3a 100644
--- a/src/server/tsconfig.library.json
+++ b/src/server/tsconfig.library.json
@@ -1,16 +1,20 @@
{
"compilerOptions": {
"noImplicitAny": true,
+ "noImplicitThis": true,
"removeComments": true,
"preserveConstEnums": true,
+ "pretty": true,
"outFile": "../../built/local/tsserverlibrary.js",
"sourceMap": true,
"stripInternal": true,
- "declaration": true,
- "types": [],
+ "types": [
+ "node"
+ ],
"target": "es5",
"noUnusedLocals": true,
- "noUnusedParameters": true
+ "noUnusedParameters": true,
+ "declaration": true
},
"files": [
"../services/shims.ts",
@@ -19,11 +23,11 @@
"utilities.ts",
"scriptVersionCache.ts",
"scriptInfo.ts",
- "lshost.ts",
+ "lsHost.ts",
"typingsCache.ts",
"project.ts",
"editorServices.ts",
- "protocol.d.ts",
+ "protocol.ts",
"session.ts"
]
}
diff --git a/src/server/types.d.ts b/src/server/types.ts
similarity index 100%
rename from src/server/types.d.ts
rename to src/server/types.ts
diff --git a/src/server/typingsInstaller/tsconfig.json b/src/server/typingsInstaller/tsconfig.json
index c6031b19aae..27f5cedc9d1 100644
--- a/src/server/typingsInstaller/tsconfig.json
+++ b/src/server/typingsInstaller/tsconfig.json
@@ -16,7 +16,7 @@
"noUnusedParameters": true
},
"files": [
- "../types.d.ts",
+ "../types.ts",
"../shared.ts",
"typingsInstaller.ts",
"nodeTypingsInstaller.ts"
diff --git a/src/server/typingsInstaller/typingsInstaller.ts b/src/server/typingsInstaller/typingsInstaller.ts
index 7a09c1f6c21..f706943a0f5 100644
--- a/src/server/typingsInstaller/typingsInstaller.ts
+++ b/src/server/typingsInstaller/typingsInstaller.ts
@@ -1,7 +1,7 @@
///
///
///
-///
+///
///
namespace ts.server.typingsInstaller {
diff --git a/src/server/utilities.ts b/src/server/utilities.ts
index d0790b93dba..1889b055d29 100644
--- a/src/server/utilities.ts
+++ b/src/server/utilities.ts
@@ -1,4 +1,4 @@
-///
+///
///
namespace ts.server {