From cd12c8b63ba9b23e78b36177f22877b208f39aad Mon Sep 17 00:00:00 2001 From: Armando Aguirre Date: Tue, 30 Jan 2018 10:22:29 -0800 Subject: [PATCH] Added datatables library to safelist --- src/harness/unittests/tsserverProjectSystem.ts | 17 +++++++++++++++-- src/server/editorServices.ts | 5 +++++ src/server/typesMap.json | 4 ++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/harness/unittests/tsserverProjectSystem.ts b/src/harness/unittests/tsserverProjectSystem.ts index fee21fcdb2d..6834a598512 100644 --- a/src/harness/unittests/tsserverProjectSystem.ts +++ b/src/harness/unittests/tsserverProjectSystem.ts @@ -1541,14 +1541,27 @@ namespace ts.projectSystem { path: "/scripts/Office/1/powerpoint.js", content: "unspecified" }; - const files = [file1, minFile, kendoFile1, kendoFile2, kendoFile3, officeFile1, officeFile2]; + const datatablesFile1 = { + path: "/js/jquery.datatables.js", + content: "unspecified" + }; + const datatablesFile2 = { + path: "/js/datatables.js", + content: "unspecified" + }; + const datatablesFile3 = { + path: "/js/datatables.all.min.js", + content: "unspecified" + }; + + const files = [file1, minFile, kendoFile1, kendoFile2, kendoFile3, officeFile1, officeFile2, datatablesFile1, datatablesFile2, datatablesFile3]; const host = createServerHost(files); const projectService = createProjectService(host); try { projectService.openExternalProject({ projectFileName: "project", options: {}, rootFiles: toExternalFiles(files.map(f => f.path)) }); const proj = projectService.externalProjects[0]; assert.deepEqual(proj.getFileNames(/*excludeFilesFromExternalLibraries*/ true), [file1.path]); - assert.deepEqual(proj.getTypeAcquisition().include, ["kendo-ui", "office"]); + assert.deepEqual(proj.getTypeAcquisition().include, ["kendo-ui", "office", "datatables.net"]); } finally { projectService.resetSafeList(); } diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 5d71ff4c2d3..6bdbb68e704 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -158,6 +158,11 @@ namespace ts.server { "References": { match: /^(.*\/_references\.js)$/i, exclude: [["^", 1, "$"]] + }, + "Datatables.net": { + // e.g. /wwwroot/lib/datatables.all.min.js + match: /(jquery\.)*dataTables(\.all)*(\.min)*\.js$/i, + types: ["datatables.net"] } }; diff --git a/src/server/typesMap.json b/src/server/typesMap.json index 93e9c2502f8..06b907be513 100644 --- a/src/server/typesMap.json +++ b/src/server/typesMap.json @@ -22,6 +22,10 @@ "References": { "match": "^(.*\\/_references\\.js)$", "exclude": [["^", 1, "$"]] + }, + "Datatables.net": { + "match": "(jquery\\.)*dataTables(\\.all)*(\\.min)*\\.js$", + "types": ["datatables.net"] } }, "simpleMap": {