@aws/lsp-codewhisperer 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/out/language-server/codeWhispererSecurityScanServer.d.ts +1 -2
  3. package/out/language-server/codeWhispererSecurityScanServer.js +137 -25
  4. package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -1
  5. package/out/language-server/codeWhispererServer.d.ts +1 -2
  6. package/out/language-server/codeWhispererServer.js +2 -2
  7. package/out/language-server/codeWhispererServer.js.map +1 -1
  8. package/out/language-server/codeWhispererServer.test.js +100 -101
  9. package/out/language-server/codeWhispererServer.test.js.map +1 -1
  10. package/out/language-server/codeWhispererService.d.ts +1 -1
  11. package/out/language-server/codeWhispererService.js.map +1 -1
  12. package/out/language-server/dependencyGraph/csharpDependencyGraph.d.ts +3 -3
  13. package/out/language-server/dependencyGraph/csharpDependencyGraph.js +40 -37
  14. package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +1 -1
  15. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js +106 -78
  16. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js.map +1 -1
  17. package/out/language-server/dependencyGraph/dependencyGraph.d.ts +12 -4
  18. package/out/language-server/dependencyGraph/dependencyGraph.js +24 -6
  19. package/out/language-server/dependencyGraph/dependencyGraph.js.map +1 -1
  20. package/out/language-server/dependencyGraph/dependencyGraphFactory.d.ts +2 -3
  21. package/out/language-server/dependencyGraph/dependencyGraphFactory.js +2 -2
  22. package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +1 -1
  23. package/out/language-server/languageDetection.d.ts +2 -1
  24. package/out/language-server/languageDetection.js +2 -1
  25. package/out/language-server/languageDetection.js.map +1 -1
  26. package/out/language-server/netTransformServer.d.ts +12 -0
  27. package/out/language-server/netTransformServer.js +27 -0
  28. package/out/language-server/netTransformServer.js.map +1 -0
  29. package/out/language-server/proxy-server.d.ts +2 -2
  30. package/out/language-server/securityScan/securityScanDiagnosticsProvider.d.ts +29 -0
  31. package/out/language-server/securityScan/securityScanDiagnosticsProvider.js +129 -0
  32. package/out/language-server/securityScan/securityScanDiagnosticsProvider.js.map +1 -0
  33. package/out/language-server/securityScan/securityScanHandler.d.ts +12 -5
  34. package/out/language-server/securityScan/securityScanHandler.js +69 -19
  35. package/out/language-server/securityScan/securityScanHandler.js.map +1 -1
  36. package/out/language-server/securityScan/securityScanHandler.test.js +3 -2
  37. package/out/language-server/securityScan/securityScanHandler.test.js.map +1 -1
  38. package/out/language-server/securityScan/types.d.ts +13 -0
  39. package/out/language-server/session/sessionManager.d.ts +1 -2
  40. package/out/language-server/session/sessionManager.js.map +1 -1
  41. package/out/language-server/telemetry/codePercentage.d.ts +1 -1
  42. package/out/language-server/telemetry/types.d.ts +20 -0
  43. package/out/language-server/telemetry/userTriggerDecision.test.js +8 -8
  44. package/out/language-server/telemetry/userTriggerDecision.test.js.map +1 -1
  45. package/out/language-server/telemetry.test.js +4 -4
  46. package/out/language-server/telemetry.test.js.map +1 -1
  47. package/package.json +5 -5
  48. package/script/generateServiceClient.ts +0 -242
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const assert = require("assert");
4
4
  const path = require("path");
5
5
  const Sinon = require("sinon");
6
+ const ts_sinon_1 = require("ts-sinon");
6
7
  const csharpDependencyGraph_1 = require("./csharpDependencyGraph");
7
- describe('test CsharpDependencyGraph', () => {
8
+ describe('Test CsharpDependencyGraph', () => {
8
9
  let csharpDependencyGraph;
9
10
  const mockedGetWorkspaceFolder = Sinon.mock();
11
+ let mockedLogging;
10
12
  const projectPathUri = path.resolve(path.join(__dirname, 'sampleWs'));
11
13
  const tempDirPath = path.resolve('\\Temp');
12
14
  const mockedFs = {
@@ -24,18 +26,16 @@ describe('test CsharpDependencyGraph', () => {
24
26
  getWorkspaceFolder: mockedGetWorkspaceFolder,
25
27
  fs: mockedFs,
26
28
  };
27
- before(() => {
28
- csharpDependencyGraph = new csharpDependencyGraph_1.CsharpDependencyGraph(mockedWorkspace);
29
- });
30
29
  beforeEach(() => {
31
30
  mockedGetWorkspaceFolder.reset();
32
31
  mockedGetWorkspaceFolder.returns(undefined);
33
- csharpDependencyGraph = new csharpDependencyGraph_1.CsharpDependencyGraph(mockedWorkspace);
32
+ mockedLogging = (0, ts_sinon_1.stubInterface)();
33
+ csharpDependencyGraph = new csharpDependencyGraph_1.CsharpDependencyGraph(mockedWorkspace, mockedLogging, projectPathUri);
34
34
  });
35
35
  describe('Test getPayloadSizeLimitInBytes', () => {
36
36
  it('should return correct payload size', () => {
37
37
  const expectedPayloadSize = Math.pow(2, 20);
38
- assert.equal(csharpDependencyGraph.getPayloadSizeLimitInBytes(), expectedPayloadSize);
38
+ assert.strictEqual(csharpDependencyGraph.getPayloadSizeLimitInBytes(), expectedPayloadSize);
39
39
  });
40
40
  });
41
41
  describe('Test getProjectName', () => {
@@ -45,12 +45,12 @@ describe('test CsharpDependencyGraph', () => {
45
45
  });
46
46
  it('should return current folder name for given file path outside workspace folder', async () => {
47
47
  mockedFs.isFile.resolves(true);
48
- assert.equal(await csharpDependencyGraph.getProjectName(path.join(projectPathUri, 'sample.cs')), 'sampleWs');
48
+ assert.strictEqual(await csharpDependencyGraph.getProjectName(path.join(projectPathUri, 'sample.cs')), 'sampleWs');
49
49
  });
50
50
  it('should return correct project name for given forlder path within workspace folder', async () => {
51
51
  const expectedProjectName = 'sampleWs';
52
52
  mockedGetWorkspaceFolder.returns({ uri: projectPathUri, name: expectedProjectName });
53
- assert.equal(await csharpDependencyGraph.getProjectName(path.join(projectPathUri, 'src')), expectedProjectName);
53
+ assert.strictEqual(await csharpDependencyGraph.getProjectName(path.join(projectPathUri, 'src')), expectedProjectName);
54
54
  });
55
55
  });
56
56
  describe('Test getProjectPath', () => {
@@ -63,59 +63,68 @@ describe('test CsharpDependencyGraph', () => {
63
63
  const fileUri = path.join(fileFolderPath, 'sample.cs');
64
64
  mockedFs.isFile.resolves(true);
65
65
  const response = await csharpDependencyGraph.getProjectPath(fileUri);
66
- assert.equal(response, fileFolderPath);
66
+ assert.strictEqual(response, fileFolderPath);
67
67
  });
68
68
  it('should return project name for within project file', async () => {
69
69
  const expectedProjectName = 'sampleWs';
70
70
  mockedGetWorkspaceFolder.returns({ uri: projectPathUri, name: expectedProjectName });
71
- assert.equal(await csharpDependencyGraph.getProjectPath(path.join(projectPathUri, 'src')), projectPathUri);
71
+ assert.strictEqual(await csharpDependencyGraph.getProjectPath(path.join(projectPathUri, 'src')), projectPathUri);
72
72
  mockedGetWorkspaceFolder.reset();
73
73
  });
74
74
  });
75
75
  describe('Test getReadableSizeLimit', () => {
76
76
  it('should return size 1 MB', () => {
77
- assert.equal(csharpDependencyGraph.getReadableSizeLimit(), '1MB');
77
+ assert.strictEqual(csharpDependencyGraph.getReadableSizeLimit(), '1MB');
78
78
  });
79
79
  });
80
80
  describe('Test exceedsSizeLimit', () => {
81
81
  it('should not exceed size limit', () => {
82
82
  const size = 100;
83
83
  const expectedResult = false;
84
- assert.equal(csharpDependencyGraph.exceedsSizeLimit(size), expectedResult);
84
+ assert.strictEqual(csharpDependencyGraph.exceedsSizeLimit(size), expectedResult);
85
85
  });
86
86
  it('should exceed size limit', () => {
87
87
  const size = Math.pow(2, 21);
88
88
  const expectedResult = true;
89
- assert.equal(csharpDependencyGraph.exceedsSizeLimit(size), expectedResult);
89
+ assert.strictEqual(csharpDependencyGraph.exceedsSizeLimit(size), expectedResult);
90
90
  });
91
91
  });
92
92
  describe('Test createNamespaceFilenameMapper', () => {
93
93
  beforeEach(() => {
94
94
  mockedFs.readdir.reset();
95
95
  mockedFs.readFile.reset();
96
- mockedFs.readdir.resolves([
97
- {
98
- isFile: () => false,
99
- isDirectory: () => true,
100
- name: 'src',
101
- path: projectPathUri,
102
- },
103
- {
104
- isFile: () => true,
105
- isDirectory: () => false,
106
- name: 'sample.cs',
107
- path: path.join(projectPathUri, 'src'),
108
- },
109
- {
110
- isFile: () => true,
111
- isDirectory: () => false,
112
- name: 'model.cs',
113
- path: path.join(projectPathUri, 'src'),
114
- },
115
- ]);
96
+ mockedFs.readdir.callsFake(async (dirpath) => {
97
+ switch (dirpath) {
98
+ case projectPathUri:
99
+ return [
100
+ {
101
+ isFile: () => false,
102
+ isDirectory: () => true,
103
+ name: 'src',
104
+ path: projectPathUri,
105
+ },
106
+ ];
107
+ case path.join(projectPathUri, 'src'):
108
+ return [
109
+ {
110
+ isFile: () => true,
111
+ isDirectory: () => false,
112
+ name: 'sample.cs',
113
+ path: path.join(projectPathUri, 'src'),
114
+ },
115
+ {
116
+ isFile: () => true,
117
+ isDirectory: () => false,
118
+ name: 'model.cs',
119
+ path: path.join(projectPathUri, 'src'),
120
+ },
121
+ ];
122
+ default:
123
+ return [];
124
+ }
125
+ });
116
126
  });
117
127
  it('should create the map with namespace to filepath mapping', async () => {
118
- csharpDependencyGraph.namespaceToFilepathDirectory = new Map();
119
128
  mockedFs.readFile.callsFake(async (filePath) => {
120
129
  if (filePath === path.join(projectPathUri, 'src', 'sample.cs')) {
121
130
  return `namespace Amazon.Cw.Utils.Sample {}`;
@@ -125,7 +134,7 @@ describe('test CsharpDependencyGraph', () => {
125
134
  }
126
135
  });
127
136
  await csharpDependencyGraph.createNamespaceFilenameMapper(projectPathUri);
128
- assert.deepEqual(csharpDependencyGraph.namespaceToFilepathDirectory, new Map([
137
+ assert.deepStrictEqual(csharpDependencyGraph.namespaceToFilepathDirectory, new Map([
129
138
  ['Amazon.Cw.Model', new Set([path.join(projectPathUri, 'src', 'model.cs')])],
130
139
  ['Amazon.Cw.Utils.Sample', new Set([path.join(projectPathUri, 'src', 'sample.cs')])],
131
140
  ]));
@@ -141,7 +150,7 @@ describe('test CsharpDependencyGraph', () => {
141
150
  }
142
151
  });
143
152
  await csharpDependencyGraph.createNamespaceFilenameMapper(projectPathUri);
144
- assert.deepEqual(csharpDependencyGraph.namespaceToFilepathDirectory, new Map([]));
153
+ assert.deepStrictEqual(csharpDependencyGraph.namespaceToFilepathDirectory, new Map([]));
145
154
  });
146
155
  });
147
156
  describe('Test searchDependency', () => {
@@ -165,14 +174,14 @@ describe('test CsharpDependencyGraph', () => {
165
174
  mockedFs.getFileSize.resolves({ size: 1000 });
166
175
  const filePath = path.join(projectPathUri, 'main.cs');
167
176
  const pickedSourceFiles = await csharpDependencyGraph.searchDependency(filePath);
168
- assert.deepEqual(pickedSourceFiles, new Set([filePath]));
177
+ assert.deepStrictEqual(pickedSourceFiles, new Set([filePath]));
169
178
  });
170
179
  it("should return source file with its dependecies' file path", async () => {
171
180
  mockedFs.getFileSize.atLeast(1).resolves({ size: 1000 });
172
181
  mockedFs.readFile.onFirstCall().resolves(`using Amazon.Cw.Props;
173
182
  var total = 5 + 4;`);
174
183
  const pickedSourceFiles = await csharpDependencyGraph.searchDependency(path.join(projectPathUri, 'main.cs'));
175
- assert.deepEqual(pickedSourceFiles, new Set([
184
+ assert.deepStrictEqual(pickedSourceFiles, new Set([
176
185
  path.join(projectPathUri, 'main.cs'),
177
186
  path.join(projectPathUri, 'src', 'interface', 'recommendations.cs'),
178
187
  path.join(projectPathUri, 'src', 'interface', 'model.cs'),
@@ -184,7 +193,7 @@ describe('test CsharpDependencyGraph', () => {
184
193
  mockedFs.readFile.onFirstCall().resolves(`using Amazon.Cw.Props;
185
194
  var total = 5 + 4;`);
186
195
  const pickedSourceFiles = await csharpDependencyGraph.searchDependency(path.join(projectPathUri, 'main.cs'));
187
- assert.deepEqual(pickedSourceFiles, new Set([
196
+ assert.deepStrictEqual(pickedSourceFiles, new Set([
188
197
  path.join(projectPathUri, 'main.cs'),
189
198
  path.join(projectPathUri, 'src', 'interface', 'model.cs'),
190
199
  ]));
@@ -206,44 +215,63 @@ describe('test CsharpDependencyGraph', () => {
206
215
  ]),
207
216
  ],
208
217
  ]);
209
- mockedFs.readdir.resolves([
210
- {
211
- isFile: () => false,
212
- isDirectory: () => true,
213
- name: 'src',
214
- path: projectPathUri,
215
- },
216
- {
217
- isFile: () => true,
218
- isDirectory: () => false,
219
- name: 'sample.cs',
220
- path: path.join(projectPathUri, 'src'),
221
- },
222
- {
223
- isFile: () => true,
224
- isDirectory: () => false,
225
- name: 'model.cs',
226
- path: path.join(projectPathUri, 'src'),
227
- },
228
- {
229
- isFile: () => true,
230
- isDirectory: () => false,
231
- name: 'scan.cs',
232
- path: path.join(projectPathUri, 'src', 'props'),
233
- },
234
- {
235
- isFile: () => true,
236
- isDirectory: () => false,
237
- name: 'recommendation.cs',
238
- path: path.join(projectPathUri, 'src', 'props'),
239
- },
240
- ]);
218
+ mockedFs.readdir.callsFake(async (dirpath) => {
219
+ switch (dirpath) {
220
+ case projectPathUri:
221
+ return [
222
+ {
223
+ isFile: () => false,
224
+ isDirectory: () => true,
225
+ name: 'src',
226
+ path: projectPathUri,
227
+ },
228
+ ];
229
+ case path.join(projectPathUri, 'src'):
230
+ return [
231
+ {
232
+ isFile: () => true,
233
+ isDirectory: () => false,
234
+ name: 'sample.cs',
235
+ path: path.join(projectPathUri, 'src'),
236
+ },
237
+ {
238
+ isFile: () => true,
239
+ isDirectory: () => false,
240
+ name: 'model.cs',
241
+ path: path.join(projectPathUri, 'src'),
242
+ },
243
+ {
244
+ isFile: () => false,
245
+ isDirectory: () => true,
246
+ name: 'props',
247
+ path: path.join(projectPathUri, 'src'),
248
+ },
249
+ ];
250
+ case path.join(projectPathUri, 'src', 'props'):
251
+ return [
252
+ {
253
+ isFile: () => true,
254
+ isDirectory: () => false,
255
+ name: 'scan.cs',
256
+ path: path.join(projectPathUri, 'src', 'props'),
257
+ },
258
+ {
259
+ isFile: () => true,
260
+ isDirectory: () => false,
261
+ name: 'recommendation.cs',
262
+ path: path.join(projectPathUri, 'src', 'props'),
263
+ },
264
+ ];
265
+ default:
266
+ return [];
267
+ }
268
+ });
241
269
  });
242
270
  it('should return without traversing due to payload size limit reached', async () => {
243
271
  mockedFs.getFileSize.resolves({ size: Math.pow(2, 20) });
244
272
  await csharpDependencyGraph.searchDependency(path.join(projectPathUri, 'main.cs'));
245
273
  await csharpDependencyGraph.traverseDir(projectPathUri);
246
- assert.equal(mockedFs.readFile.calledWith(projectPathUri), false);
274
+ assert.strictEqual(mockedFs.readFile.calledWith(projectPathUri), false);
247
275
  });
248
276
  it('should traverse through files until it reaches payload size limit', async () => {
249
277
  mockedFs.getFileSize.atLeast(1).resolves({ size: Math.pow(2, 19) });
@@ -275,10 +303,10 @@ describe('test CsharpDependencyGraph', () => {
275
303
  path.join(projectPathUri, 'src', 'model.cs'),
276
304
  path.join(projectPathUri, 'src', 'sample.cs'),
277
305
  ]);
278
- assert.deepEqual(csharpDependencyGraph.getDependencies(['Amazon.Cw.Utils.Sample', 'Amazon.Cw.Model']), expectedResponse);
306
+ assert.deepStrictEqual(csharpDependencyGraph.getDependencies(['Amazon.Cw.Utils.Sample', 'Amazon.Cw.Model']), expectedResponse);
279
307
  });
280
308
  it('should return empty list', () => {
281
- assert.deepEqual(csharpDependencyGraph.getDependencies(['Amazon.Cw']), new Set());
309
+ assert.deepStrictEqual(csharpDependencyGraph.getDependencies(['Amazon.Cw']), new Set());
282
310
  });
283
311
  });
284
312
  describe('Test readImports', () => {
@@ -297,7 +325,7 @@ namespace Amazon.Toolkit.Demo {
297
325
  `;
298
326
  const response = csharpDependencyGraph.readImports(content);
299
327
  const expectedImports = ['Amazon.Cw.Utils', 'Amazon.Cw.Model', 'Amazon.Cw.Prototypes'];
300
- assert.deepEqual(response, expectedImports);
328
+ assert.deepStrictEqual(response, expectedImports);
301
329
  });
302
330
  it('should return empty list', () => {
303
331
  const content = `
@@ -309,7 +337,7 @@ namespace Amazon.Toolkit.Demo {
309
337
  }
310
338
  `;
311
339
  const response = csharpDependencyGraph.readImports(content);
312
- assert.deepEqual(response, []);
340
+ assert.deepStrictEqual(response, []);
313
341
  });
314
342
  });
315
343
  describe('Test generateTruncation', () => {
@@ -328,13 +356,13 @@ namespace Amazon.Toolkit.Demo {
328
356
  rootDir: path.join(tempDirPath, 'codewhisperer_scan_111111111'),
329
357
  zipFileBuffer,
330
358
  scannedFiles: new Set([path.join(projectPathUri, 'main.cs')]),
331
- srcPayloadSizeInBytes: 0,
359
+ srcPayloadSizeInBytes: zipSize,
332
360
  zipFileSizeInBytes: zipSize,
333
361
  buildPayloadSizeInBytes: 0,
334
362
  lines: 0,
335
363
  };
336
364
  const trucation = await csharpDependencyGraph.generateTruncation(path.join(projectPathUri, 'main.cs'));
337
- assert.deepEqual(trucation, expectedResult);
365
+ assert.deepStrictEqual(trucation, expectedResult);
338
366
  });
339
367
  });
340
368
  });
@@ -1 +1 @@
1
- {"version":3,"file":"csharpDependencyGraph.test.js","sourceRoot":"","sources":["../../../src/language-server/dependencyGraph/csharpDependencyGraph.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csharpDependencyGraph.test.js","sourceRoot":"","sources":["../../../src/language-server/dependencyGraph/csharpDependencyGraph.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { Workspace } from '@aws/language-server-runtimes/out/features';
2
+ import { Logging, Workspace } from '@aws/language-server-runtimes/server-interface';
3
3
  export interface Truncation {
4
4
  rootDir: string;
5
5
  zipFileBuffer: Buffer;
@@ -15,7 +15,7 @@ export interface Truncation {
15
15
  * @returns
16
16
  */
17
17
  export declare abstract class DependencyGraph {
18
- workspace: Workspace;
18
+ protected workspace: Workspace;
19
19
  protected _sysPaths: Set<string>;
20
20
  protected _parsedStatements: Set<string>;
21
21
  protected _pickedSourceFiles: Set<string>;
@@ -24,8 +24,10 @@ export declare abstract class DependencyGraph {
24
24
  protected _tmpDir: string;
25
25
  protected _truncDir: string;
26
26
  protected _totalLines: number;
27
+ protected logging: Logging;
28
+ protected _workspaceFolderPath: string;
27
29
  private _isProjectTruncated;
28
- constructor(workspace: Workspace);
30
+ constructor(workspace: Workspace, logging: Logging, workspaceFolderPath: string);
29
31
  /**
30
32
  * Retrun project name if given uri is within project. If not then return last folder name where file is present.
31
33
  * @param uri file path to get project name
@@ -54,6 +56,12 @@ export declare abstract class DependencyGraph {
54
56
  * set value for _isProjectTruncated
55
57
  */
56
58
  set isProjectTruncated(value: boolean);
59
+ /**
60
+ * find all the files inside `dir` recursively.
61
+ * @param dir folder path from where search for all the files.
62
+ * @returns return a promise of list of absolute file paths
63
+ */
64
+ getFiles(dir: string): Promise<string[]>;
57
65
  /**
58
66
  * copy list of file to temp dir
59
67
  */
@@ -92,7 +100,7 @@ export declare abstract class DependencyGraph {
92
100
  /**
93
101
  * remove all copied files from temp directory
94
102
  */
95
- protected removeTmpFiles(truncation: Truncation): Promise<void>;
103
+ removeTmpFiles(): Promise<void>;
96
104
  /**
97
105
  * This method will traverse throw the input file and its dependecy files to creates a list of files for the scan.
98
106
  * If the list does not exceeds the payload size limit then it will scan all the remaining files to add them into the list
@@ -10,7 +10,7 @@ const CodeWhispererConstants = require("./constants");
10
10
  * @returns
11
11
  */
12
12
  class DependencyGraph {
13
- constructor(workspace) {
13
+ constructor(workspace, logging, workspaceFolderPath) {
14
14
  this._sysPaths = new Set();
15
15
  this._parsedStatements = new Set();
16
16
  this._pickedSourceFiles = new Set();
@@ -21,7 +21,9 @@ class DependencyGraph {
21
21
  this._totalLines = 0;
22
22
  this._isProjectTruncated = false;
23
23
  this.workspace = workspace;
24
+ this.logging = logging;
24
25
  this._tmpDir = this.workspace.fs.getTempDirPath();
26
+ this._workspaceFolderPath = workspaceFolderPath;
25
27
  }
26
28
  /**
27
29
  * Retrun project name if given uri is within project. If not then return last folder name where file is present.
@@ -39,10 +41,13 @@ class DependencyGraph {
39
41
  */
40
42
  async getProjectPath(uri) {
41
43
  const workspaceFolder = this.workspace.getWorkspaceFolder(uri);
42
- if (!workspaceFolder) {
43
- return (await this.workspace.fs.isFile(uri)) ? path.dirname(uri) : uri;
44
+ if (workspaceFolder) {
45
+ return workspaceFolder.uri;
44
46
  }
45
- return workspaceFolder.uri;
47
+ if (uri.includes(this._workspaceFolderPath)) {
48
+ return this._workspaceFolderPath;
49
+ }
50
+ return (await this.workspace.fs.isFile(uri)) ? path.dirname(uri) : uri;
46
51
  }
47
52
  /**
48
53
  * Retrun readable size limit value in MB or KB
@@ -75,6 +80,19 @@ class DependencyGraph {
75
80
  set isProjectTruncated(value) {
76
81
  this._isProjectTruncated = value;
77
82
  }
83
+ /**
84
+ * find all the files inside `dir` recursively.
85
+ * @param dir folder path from where search for all the files.
86
+ * @returns return a promise of list of absolute file paths
87
+ */
88
+ async getFiles(dir) {
89
+ const subdirs = await this.workspace.fs.readdir(dir);
90
+ const files = await Promise.all(subdirs.map(async (subdir) => {
91
+ const res = path.resolve(dir, subdir.name);
92
+ return subdir.isDirectory() ? await this.getFiles(res) : [res];
93
+ }));
94
+ return files.reduce((a, f) => a.concat(f), []);
95
+ }
78
96
  /**
79
97
  * copy list of file to temp dir
80
98
  */
@@ -144,8 +162,8 @@ class DependencyGraph {
144
162
  /**
145
163
  * remove all copied files from temp directory
146
164
  */
147
- async removeTmpFiles(truncation) {
148
- await this.removeDir(truncation.rootDir);
165
+ async removeTmpFiles() {
166
+ await this.removeDir(this.getTruncDirPath());
149
167
  }
150
168
  }
151
169
  exports.DependencyGraph = DependencyGraph;
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../../src/language-server/dependencyGraph/dependencyGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../../src/language-server/dependencyGraph/dependencyGraph.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { Workspace } from '@aws/language-server-runtimes/out/features';
2
- import { TextDocument } from 'vscode-languageserver-textdocument';
1
+ import { Logging, Workspace, TextDocument } from '@aws/language-server-runtimes/server-interface';
3
2
  import { CsharpDependencyGraph } from './csharpDependencyGraph';
4
3
  declare const languageMap: {
5
4
  readonly csharp: typeof CsharpDependencyGraph;
@@ -10,6 +9,6 @@ type Tuples<T> = T extends Keys ? [T, InstanceType<LanguageMap[T]>] : never;
10
9
  type ClassType<A extends Keys> = Extract<Tuples<Keys>, [A, any]>[1];
11
10
  export declare class DependencyGraphFactory {
12
11
  static getDependencyGraphFromFileExtensions<K extends Keys>(fileName: string): ClassType<K>;
13
- static getDependencyGraph<K extends Keys>(document: TextDocument, workspace: Required<Workspace>): ClassType<K>;
12
+ static getDependencyGraph<K extends Keys>(document: TextDocument, workspace: Workspace, logging: Logging, workspaceFolderPath: string): ClassType<K>;
14
13
  }
15
14
  export {};
@@ -9,10 +9,10 @@ class DependencyGraphFactory {
9
9
  static getDependencyGraphFromFileExtensions(fileName) {
10
10
  return undefined;
11
11
  }
12
- static getDependencyGraph(document, workspace) {
12
+ static getDependencyGraph(document, workspace, logging, workspaceFolderPath) {
13
13
  switch (document.languageId.toLowerCase()) {
14
14
  case 'csharp':
15
- return new languageMap['csharp'](workspace);
15
+ return new languageMap['csharp'](workspace, logging, workspaceFolderPath);
16
16
  default:
17
17
  return this.getDependencyGraphFromFileExtensions(document.uri);
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyGraphFactory.js","sourceRoot":"","sources":["../../../src/language-server/dependencyGraph/dependencyGraphFactory.ts"],"names":[],"mappings":";;;AAEA,mEAA+D;AAE/D,MAAM,WAAW,GAAG;IAChB,MAAM,EAAE,6CAAqB;CACvB,CAAA;AAOV,MAAa,sBAAsB;IAC/B,MAAM,CAAC,oCAAoC,CAAiB,QAAgB;QACxE,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAiB,QAAsB,EAAE,SAA8B;QAC5F,QAAQ,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YACxC,KAAK,QAAQ;gBACT,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAA;YAC/C;gBACI,OAAO,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;CACJ;AAbD,wDAaC"}
1
+ {"version":3,"file":"dependencyGraphFactory.js","sourceRoot":"","sources":["../../../src/language-server/dependencyGraph/dependencyGraphFactory.ts"],"names":[],"mappings":";;;AACA,mEAA+D;AAE/D,MAAM,WAAW,GAAG;IAChB,MAAM,EAAE,6CAAqB;CACvB,CAAA;AAOV,MAAa,sBAAsB;IAC/B,MAAM,CAAC,oCAAoC,CAAiB,QAAgB;QACxE,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,MAAM,CAAC,kBAAkB,CACrB,QAAsB,EACtB,SAAoB,EACpB,OAAgB,EAChB,mBAA2B;QAE3B,QAAQ,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YACxC,KAAK,QAAQ;gBACT,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAA;YAC7E;gBACI,OAAO,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;CACJ;AAlBD,wDAkBC"}
@@ -1,3 +1,4 @@
1
- import { TextDocument } from 'vscode-languageserver-textdocument';
1
+ import { TextDocument } from '@aws/language-server-runtimes/server-interface';
2
2
  export type CodewhispererLanguage = 'java' | 'python' | 'jsx' | 'javascript' | 'typescript' | 'tsx' | 'csharp' | 'c' | 'cpp' | 'cpp' | 'go' | 'kotlin' | 'php' | 'ruby' | 'rust' | 'scala' | 'shell' | 'shell' | 'sql' | 'plaintext';
3
+ export declare const supportedSecurityScanLanguages: CodewhispererLanguage[];
3
4
  export declare const getSupportedLanguageId: (textDocument: TextDocument | undefined) => CodewhispererLanguage | undefined;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSupportedLanguageId = void 0;
3
+ exports.getSupportedLanguageId = exports.supportedSecurityScanLanguages = void 0;
4
4
  // This will be extended as more language features
5
5
  // are integrated into the language server and clients.
6
6
  // See: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocumentItem
7
7
  const supportedFileTypes = ['c', 'cpp', 'csharp', 'javascript', 'python', 'typescript'];
8
+ exports.supportedSecurityScanLanguages = ['csharp'];
8
9
  const supportedExtensions = {
9
10
  '.c': 'c',
10
11
  '.h': 'c',
@@ -1 +1 @@
1
- {"version":3,"file":"languageDetection.js","sourceRoot":"","sources":["../../src/language-server/languageDetection.ts"],"names":[],"mappings":";;;AAwBA,kDAAkD;AAClD,uDAAuD;AACvD,oHAAoH;AACpH,MAAM,kBAAkB,GAA4B,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;AAChH,MAAM,mBAAmB,GAA6C;IAClE,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,YAAY;CACtB,CAAA;AAEM,MAAM,sBAAsB,GAAG,CAAC,YAAsC,EAAqC,EAAE;IAChH,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAM;IACV,CAAC;IAED,MAAM,UAAU,GAAG,kDAAkD,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAC9F,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;IACL,CAAC;AACL,CAAC,CAAA;AAfY,QAAA,sBAAsB,0BAelC;AAED;;;;;GAKG;AACH,SAAS,kDAAkD,CACvD,sBAAsD;IAEtD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,IAAI,kBAAkB,CAAC,QAAQ,CAAC,sBAA+C,CAAC,EAAE,CAAC;QAC/E,OAAO,sBAA+C,CAAA;IAC1D,CAAC;IAED,sEAAsE;IACtE,qCAAqC;IACrC,mGAAmG;IACnG,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACjD,IAAI,sBAAsB,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3E,OAAO,iBAA0C,CAAA;QACrD,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"languageDetection.js","sourceRoot":"","sources":["../../src/language-server/languageDetection.ts"],"names":[],"mappings":";;;AAwBA,kDAAkD;AAClD,uDAAuD;AACvD,oHAAoH;AACpH,MAAM,kBAAkB,GAA4B,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;AACnG,QAAA,8BAA8B,GAA4B,CAAC,QAAQ,CAAC,CAAA;AACjF,MAAM,mBAAmB,GAA6C;IAClE,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,YAAY;CACtB,CAAA;AAEM,MAAM,sBAAsB,GAAG,CAAC,YAAsC,EAAqC,EAAE;IAChH,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAM;IACV,CAAC;IAED,MAAM,UAAU,GAAG,kDAAkD,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAC9F,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;IACL,CAAC;AACL,CAAC,CAAA;AAfY,QAAA,sBAAsB,0BAelC;AAED;;;;;GAKG;AACH,SAAS,kDAAkD,CACvD,sBAAsD;IAEtD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,IAAI,kBAAkB,CAAC,QAAQ,CAAC,sBAA+C,CAAC,EAAE,CAAC;QAC/E,OAAO,sBAA+C,CAAA;IAC1D,CAAC;IAED,sEAAsE;IACtE,qCAAqC;IACrC,mGAAmG;IACnG,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACjD,IAAI,sBAAsB,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3E,OAAO,iBAA0C,CAAA;QACrD,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAA;AACpB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Server, CredentialsProvider } from '@aws/language-server-runtimes/server-interface';
2
+ import { CodeWhispererServiceToken } from './codeWhispererService';
3
+ /**
4
+ *
5
+ * @param createService Inject service instance based on credentials provider.
6
+ * @returns NetTransform server
7
+ */
8
+ export declare const NetTransformServerFactory: (createService: (credentialsProvider: CredentialsProvider) => CodeWhispererServiceToken) => Server;
9
+ /**
10
+ * Default NetTransformServer using Token authentication.
11
+ */
12
+ export declare const NetTransformServer: Server;