@mongodb-js/ts-autocomplete 0.2.1 → 0.3.0

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.
package/dist/index.d.ts CHANGED
@@ -1,25 +1,28 @@
1
1
  import * as ts from 'typescript';
2
2
  type TypeFilename = string;
3
3
  type UpdateDefinitionFunction = (newDef: Record<TypeFilename, string>) => void;
4
- type AutoCompletion = {
4
+ export type AutoCompletion = {
5
+ result: string;
5
6
  name: string;
6
7
  kind: ts.ScriptElementKind;
7
- type: string;
8
8
  };
9
9
  type AutocompleteFilterOptions = {
10
10
  trigger: string;
11
+ kind: string;
11
12
  name: string;
12
13
  };
13
14
  type AutocompleteFilterFunction = (filterOptions: AutocompleteFilterOptions) => boolean;
14
- type AutocompleterOptions = {
15
+ export type AutocompleterOptions = {
15
16
  filter?: AutocompleteFilterFunction;
16
17
  };
17
18
  export default class Autocompleter {
18
19
  private readonly filter;
19
20
  private readonly languageService;
20
21
  readonly updateCode: UpdateDefinitionFunction;
22
+ readonly listFiles: () => string[];
21
23
  constructor({ filter }?: AutocompleterOptions);
22
- autocomplete(code: string, position?: number): AutoCompletion[];
24
+ autocomplete(code: string): AutoCompletion[];
25
+ debugLanguageService(filename: string, method: 'getSyntacticDiagnostics' | 'getSemanticDiagnostics' | 'getSuggestionDiagnostics'): void;
23
26
  }
24
27
  export {};
25
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAOjC,KAAK,YAAY,GAAG,MAAM,CAAC;AAE3B,KAAK,wBAAwB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;AA+F/E,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA8BF,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,0BAA0B,GAAG,CAChC,aAAa,EAAE,yBAAyB,KACrC,OAAO,CAAC;AAEb,KAAK,oBAAoB,GAAG;IAC1B,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;gBAElC,EAAE,MAAM,EAAE,GAAE,oBAAyB;IAKjD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;CA0BhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAOjC,KAAK,YAAY,GAAG,MAAM,CAAC;AAE3B,KAAK,wBAAwB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;AA6G/E,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC;CAC5B,CAAC;AAmBF,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,0BAA0B,GAAG,CAChC,aAAa,EAAE,yBAAyB,KACrC,OAAO,CAAC;AAEb,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC,CAAC;AAqBF,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,EAAE,CAAC;gBAEvB,EAAE,MAAM,EAAE,GAAE,oBAAyB;IASjD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE;IA8B5C,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EACF,yBAAyB,GACzB,wBAAwB,GACxB,0BAA0B;CAejC"}
package/dist/index.js CHANGED
@@ -36,6 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ const lodash_1 = __importDefault(require("lodash"));
39
40
  const ts = __importStar(require("typescript"));
40
41
  const debug_1 = __importDefault(require("debug"));
41
42
  const debugLog = (0, debug_1.default)('ts-autocomplete:log');
@@ -47,6 +48,10 @@ function getVirtualLanguageService() {
47
48
  const options = {
48
49
  target: ts.ScriptTarget.ES2022,
49
50
  allowJs: true,
51
+ moduleResolution: ts.ModuleResolutionKind.NodeNext,
52
+ types: ['node'],
53
+ lib: ['es2019'],
54
+ allowImportingTsExtensions: true,
50
55
  };
51
56
  const updateCode = (newDef) => {
52
57
  for (const [key, value] of Object.entries(newDef)) {
@@ -54,6 +59,9 @@ function getVirtualLanguageService() {
54
59
  versions[key] = (versions[key] ?? 0) + 1;
55
60
  }
56
61
  };
62
+ const listFiles = () => {
63
+ return Object.keys(codeHolder);
64
+ };
57
65
  const servicesHost = {
58
66
  getScriptFileNames: () => {
59
67
  return Object.keys(codeHolder);
@@ -86,10 +94,11 @@ function getVirtualLanguageService() {
86
94
  trace: (...args) => debugTrace(args),
87
95
  error: (...args) => debugError(args),
88
96
  };
89
- return [
90
- ts.createLanguageService(servicesHost, ts.createDocumentRegistry()),
97
+ return {
98
+ languageService: ts.createLanguageService(servicesHost, ts.createDocumentRegistry()),
91
99
  updateCode,
92
- ];
100
+ listFiles,
101
+ };
93
102
  }
94
103
  function compileSourceFile(code) {
95
104
  return ts.createSourceFile('_initial_parsing.ts', code, ts.ScriptTarget.Latest, true);
@@ -112,46 +121,67 @@ function getSymbolAtPosition(sourceFile, position) {
112
121
  }
113
122
  return node && ts.isIdentifier(node) ? node.getText(sourceFile) : null;
114
123
  }
115
- function mapCompletions(filter, trigger, completions) {
124
+ function mapCompletions(filter, prefix, trigger, completions) {
116
125
  return completions.entries
117
- .filter((entry) => filter({ trigger, name: entry.name }))
126
+ .filter((entry) => filter({ trigger, kind: entry.kind, name: entry.name }))
118
127
  .map((entry) => {
119
- const declarations = entry.symbol?.getDeclarations();
120
- let type = 'any';
121
- const decl = declarations?.[0];
122
- if (decl) {
123
- type = decl.getChildAt(2)?.getFullText()?.trim() ?? 'any';
124
- }
125
128
  return {
129
+ result: prefix + entry.name,
126
130
  name: entry.name,
127
131
  kind: entry.kind,
128
- type,
129
132
  };
130
133
  });
131
134
  }
135
+ function filterDiagnostics(diagnostics) {
136
+ return diagnostics.map((item) => {
137
+ const result = {
138
+ ...lodash_1.default.pick(item.file, 'fileName', 'text'),
139
+ ...lodash_1.default.pick(item, 'messageText'),
140
+ };
141
+ if (result.fileName === '/shell-api.ts') {
142
+ delete result.text;
143
+ }
144
+ return result;
145
+ });
146
+ }
132
147
  class Autocompleter {
133
148
  constructor({ filter } = {}) {
134
149
  this.filter = filter ?? (() => true);
135
- [this.languageService, this.updateCode] = getVirtualLanguageService();
150
+ ({
151
+ languageService: this.languageService,
152
+ updateCode: this.updateCode,
153
+ listFiles: this.listFiles,
154
+ } = getVirtualLanguageService());
136
155
  }
137
- autocomplete(code, position) {
138
- if (typeof position === 'undefined') {
139
- position = code.length;
140
- }
156
+ autocomplete(code) {
141
157
  this.updateCode({
142
- 'main.ts': code,
158
+ '/main.ts': code,
143
159
  });
144
- const completions = this.languageService.getCompletionsAtPosition('main.ts', position, {
160
+ const completions = this.languageService.getCompletionsAtPosition('/main.ts', code.length, {
145
161
  allowIncompleteCompletions: true,
146
- includeSymbol: true,
147
162
  });
163
+ if (debugLog.enabled) {
164
+ for (const filename of this.listFiles()) {
165
+ this.debugLanguageService(filename, 'getSyntacticDiagnostics');
166
+ this.debugLanguageService(filename, 'getSemanticDiagnostics');
167
+ }
168
+ }
148
169
  if (completions) {
149
170
  const tsAst = compileSourceFile(code);
150
- const symbolAtPosition = getSymbolAtPosition(tsAst, position) ?? '';
151
- return mapCompletions(this.filter, symbolAtPosition, completions);
171
+ const symbolAtPosition = getSymbolAtPosition(tsAst, code.length) ?? '';
172
+ const prefix = code.slice(0, code.length - symbolAtPosition.length);
173
+ return mapCompletions(this.filter, prefix, symbolAtPosition, completions);
152
174
  }
153
175
  return [];
154
176
  }
177
+ debugLanguageService(filename, method) {
178
+ try {
179
+ debugLog(method, filename, filterDiagnostics(this.languageService[method](filename)));
180
+ }
181
+ catch (err) {
182
+ debugLog(method, filename, err.stack, err.ProgramFiles);
183
+ }
184
+ }
155
185
  }
156
186
  exports.default = Autocompleter;
157
187
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "email": "compass@mongodb.com"
14
14
  },
15
15
  "homepage": "https://github.com/mongodb-js/devtools-shared",
16
- "version": "0.2.1",
16
+ "version": "0.3.0",
17
17
  "repository": {
18
18
  "type": "git",
19
19
  "url": "https://github.com/mongodb-js/devtools-shared.git"
@@ -58,11 +58,12 @@
58
58
  "depcheck": "^1.4.7",
59
59
  "eslint": "^7.25.0",
60
60
  "gen-esm-wrapper": "^1.1.3",
61
+ "lodash": "^4.17.21",
61
62
  "mocha": "^8.4.0",
62
63
  "nyc": "^15.1.0",
63
64
  "prettier": "^3.5.3",
64
65
  "sinon": "^9.2.3",
65
66
  "typescript": "^5.0.4"
66
67
  },
67
- "gitHead": "7c6900dcf68dd9c55e3f527c9b005c60f62c9d8b"
68
+ "gitHead": "1965782342b851ea54a71eff19e75b622a3e03f6"
68
69
  }