@volar/monaco 2.4.0-alpha.1 → 2.4.0-alpha.10

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/README.md CHANGED
@@ -35,7 +35,7 @@ self.onmessage = () => {
35
35
  languagePlugins: [
36
36
  // ...
37
37
  ],
38
- servicePlugins: [
38
+ languageServicePlugins: [
39
39
  // ...
40
40
  ],
41
41
  });
@@ -49,36 +49,34 @@ self.onmessage = () => {
49
49
  import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker';
50
50
  import type * as monaco from 'monaco-editor-core';
51
51
  -import { createSimpleWorkerService, ServiceEnvironment } from '@volar/monaco/worker';
52
- +import {
53
- + createTypeScriptWorkerService,
54
- + ServiceEnvironment,
55
- +} from '@volar/monaco/worker';
52
+ +import { createTypeScriptWorkerService, ServiceEnvironment } from '@volar/monaco/worker';
56
53
  +import * as ts from 'typescript';
57
- +import { create as createTypeScriptService } from 'volar-service-typescript';
54
+ +import { create as createTypeScriptPlugins } from 'volar-service-typescript';
55
+ +import { URI } from 'vscode-uri';
58
56
 
59
57
  self.onmessage = () => {
60
58
  worker.initialize((ctx: monaco.worker.IWorkerContext) => {
61
59
  const env: ServiceEnvironment = {
62
60
  workspaceFolder: 'file:///',
63
- + typescript: {
64
- + uriToFileName: uri => uri.substring('file://'.length),
65
- + fileNameToUri: fileName => 'file://' + fileName,
66
- + },
67
61
  };
68
62
  - return createSimpleWorkerService({
69
63
  + return createTypeScriptWorkerService({
70
64
  + typescript: ts,
71
65
  + compilerOptions: {
72
66
  + // ...
67
+ + },
68
+ + uriConverter: {
69
+ + asFileName: uri => uri.fsPath,
70
+ + asUri: fileName => URI.file(fileName),
73
71
  + },
74
72
  workerContext: ctx,
75
73
  env,
76
74
  languagePlugins: [
77
75
  // ...
78
76
  ],
79
- servicePlugins: [
77
+ languageServicePlugins: [
80
78
  // ...
81
- + createTypeScriptService(ts),
79
+ + ...createTypeScriptPlugins(ts),
82
80
  ],
83
81
  });
84
82
  });
@@ -90,11 +88,8 @@ self.onmessage = () => {
90
88
  ```diff
91
89
  import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker';
92
90
  import type * as monaco from 'monaco-editor-core';
93
- import {
94
- createTypeScriptWorkerService,
95
- ServiceEnvironment,
96
- + activateAutomaticTypeAcquisition,
97
- } from '@volar/monaco/worker';
91
+ import { createTypeScriptWorkerService, ServiceEnvironment } from '@volar/monaco/worker';
92
+ +import { createNpmFileSystem } from '@volar/jsdelivr';
98
93
  import * as ts from 'typescript';
99
94
  import { create as createTypeScriptService } from 'volar-service-typescript';
100
95
 
@@ -107,7 +102,7 @@ self.onmessage = () => {
107
102
  fileNameToUri: fileName => 'file://' + fileName,
108
103
  },
109
104
  };
110
- + activateAutomaticTypeAcquisition(env);
105
+ + env.fs = createNpmFileSystem();
111
106
  return createTypeScriptWorkerService({
112
107
  typescript: ts,
113
108
  compilerOptions: {
@@ -118,7 +113,7 @@ self.onmessage = () => {
118
113
  languagePlugins: [
119
114
  // ...
120
115
  ],
121
- servicePlugins: [
116
+ languageServicePlugins: [
122
117
  // ...
123
118
  createTypeScriptService(ts),
124
119
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volar/monaco",
3
- "version": "2.4.0-alpha.1",
3
+ "version": "2.4.0-alpha.10",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [
@@ -13,8 +13,8 @@
13
13
  "directory": "packages/monaco"
14
14
  },
15
15
  "dependencies": {
16
- "@volar/language-service": "2.4.0-alpha.1",
17
- "@volar/typescript": "2.4.0-alpha.1",
16
+ "@volar/language-service": "2.4.0-alpha.10",
17
+ "@volar/typescript": "2.4.0-alpha.10",
18
18
  "monaco-languageserver-types": "^0.3.4",
19
19
  "monaco-types": "^0.1.0",
20
20
  "vscode-uri": "^3.0.8"
@@ -22,5 +22,5 @@
22
22
  "devDependencies": {
23
23
  "monaco-editor-core": "latest"
24
24
  },
25
- "gitHead": "c096c457fea026fcd432b82224026f747fab571b"
25
+ "gitHead": "9f0cb9f2e41167baeb503e8f0eca88e9bea06269"
26
26
  }
package/worker.d.ts CHANGED
@@ -1,14 +1,13 @@
1
1
  import { Language, LanguagePlugin, LanguageServicePlugin, ProjectContext, type LanguageServiceEnvironment } from '@volar/language-service';
2
2
  import type * as monaco from 'monaco-types';
3
3
  import type * as ts from 'typescript';
4
- import type { URI } from 'vscode-uri';
4
+ import { URI } from 'vscode-uri';
5
5
  export * from '@volar/language-service';
6
- export * from './lib/ata.js';
7
- export declare function createSimpleWorkerService<T = {}>({ env, workerContext, languagePlugins, servicePlugins, extraApis, setup, }: {
6
+ export declare function createSimpleWorkerService<T = {}>({ env, workerContext, languagePlugins, languageServicePlugins, extraApis, setup, }: {
8
7
  env: LanguageServiceEnvironment;
9
8
  workerContext: monaco.worker.IWorkerContext<any>;
10
- languagePlugins?: LanguagePlugin<URI>[];
11
- servicePlugins?: LanguageServicePlugin[];
9
+ languagePlugins: LanguagePlugin<URI>[];
10
+ languageServicePlugins: LanguageServicePlugin[];
12
11
  extraApis?: T;
13
12
  setup?(options: {
14
13
  language: Language<URI>;
@@ -17,7 +16,7 @@ export declare function createSimpleWorkerService<T = {}>({ env, workerContext,
17
16
  }): {
18
17
  dispose: () => void;
19
18
  context: import("@volar/language-service").LanguageServiceContext;
20
- getCallHierarchyItems(uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyItem[] | undefined>;
19
+ getCallHierarchyItems(_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyItem[] | undefined>;
21
20
  getCallHierarchyIncomingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyIncomingCall[]>;
22
21
  getCallHierarchyOutgoingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyOutgoingCall[]>;
23
22
  getSemanticTokenLegend: () => {
@@ -30,47 +29,47 @@ export declare function createSimpleWorkerService<T = {}>({ env, workerContext,
30
29
  getSignatureHelpTriggerCharacters: () => string[];
31
30
  getSignatureHelpRetriggerCharacters: () => string[];
32
31
  executeCommand(command: string, args: any[], token?: import("@volar/language-service").CancellationToken): any;
33
- getDocumentFormattingEdits: (uri: URI, options: import("@volar/language-service").FormattingOptions, range: import("@volar/language-service").Range | undefined, onTypeParams: {
32
+ getDocumentFormattingEdits: (_uri: URI | import("@volar/language-service").UriComponents, options: import("@volar/language-service").FormattingOptions, range: import("@volar/language-service").Range | undefined, onTypeParams: {
34
33
  ch: string;
35
34
  position: import("@volar/language-service").Position;
36
35
  } | undefined, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").TextEdit[] | undefined>;
37
- getFoldingRanges: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").FoldingRange[] | undefined>;
38
- getSelectionRanges: (uri: URI, positions: import("@volar/language-service").Position[], token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").SelectionRange[] | undefined>;
39
- getLinkedEditingRanges: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LinkedEditingRanges | undefined>;
40
- getDocumentSymbols: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentSymbol[] | undefined>;
41
- getDocumentColors: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").ColorInformation[] | undefined>;
42
- getColorPresentations: (uri: URI, color: import("@volar/language-service").Color, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").ColorPresentation[] | undefined>;
43
- getDiagnostics: (uri: URI, token?: import("@volar/language-service").CancellationToken, response?: (result: import("@volar/language-service").Diagnostic[]) => void) => Promise<import("@volar/language-service").Diagnostic[]>;
36
+ getFoldingRanges: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").FoldingRange[] | undefined>;
37
+ getSelectionRanges: (_uri: URI | import("@volar/language-service").UriComponents, positions: import("@volar/language-service").Position[], token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").SelectionRange[] | undefined>;
38
+ getLinkedEditingRanges: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LinkedEditingRanges | undefined>;
39
+ getDocumentSymbols: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentSymbol[] | undefined>;
40
+ getDocumentColors: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").ColorInformation[] | undefined>;
41
+ getColorPresentations: (_uri: URI | import("@volar/language-service").UriComponents, color: import("@volar/language-service").Color, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").ColorPresentation[] | undefined>;
42
+ getDiagnostics: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken, response?: (result: import("@volar/language-service").Diagnostic[]) => void) => Promise<import("@volar/language-service").Diagnostic[]>;
44
43
  getWorkspaceDiagnostics: (token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceDocumentDiagnosticReport[]>;
45
- getReferences: (uri: URI, position: import("@volar/language-service").Position, referenceContext: import("@volar/language-service").ReferenceContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Location[] | undefined>;
46
- getFileReferences: (uri: URI, token?: import("@volar/language-service").CancellationToken) => import("@volar/language-service/lib/types.js").NullableProviderResult<import("@volar/language-service").Location[]>;
47
- getDefinition: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
48
- getTypeDefinition: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
49
- getImplementations: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
50
- getRenameRange: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Range | {
44
+ getReferences: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, referenceContext: import("@volar/language-service").ReferenceContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Location[] | undefined>;
45
+ getFileReferences: (_uri: URI | import("@volar/language-service/lib/types.js").UriComponents, token?: import("@volar/language-service").CancellationToken) => import("@volar/language-service/lib/types.js").NullableProviderResult<import("@volar/language-service").Location[]>;
46
+ getDefinition: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
47
+ getTypeDefinition: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
48
+ getImplementations: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
49
+ getRenameRange: (_uri: URI | import("@volar/language-service/lib/types.js").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Range | {
51
50
  range: import("@volar/language-service").Range;
52
51
  placeholder: string;
53
52
  } | {
54
53
  message: string;
55
54
  } | undefined>;
56
- getRenameEdits: (uri: URI, position: import("@volar/language-service").Position, newName: string, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
57
- getFileRenameEdits: (oldUri: URI, newUri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
58
- getSemanticTokens: (uri: URI, range: import("@volar/language-service").Range | undefined, legend: import("@volar/language-service").SemanticTokensLegend, token?: import("@volar/language-service").CancellationToken, _reportProgress?: (tokens: import("@volar/language-service").SemanticTokens) => void) => Promise<import("@volar/language-service").SemanticTokens | undefined>;
59
- getHover: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Hover | undefined>;
60
- getCompletionItems: (uri: URI, position: import("@volar/language-service").Position, completionContext?: import("@volar/language-service").CompletionContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CompletionList>;
61
- getCodeActions: (uri: URI, range: import("@volar/language-service").Range, codeActionContext: import("@volar/language-service").CodeActionContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeAction[] | undefined>;
62
- getSignatureHelp: (uri: URI, position: import("@volar/language-service").Position, signatureHelpContext?: import("@volar/language-service").SignatureHelpContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").SignatureHelp | undefined>;
63
- getCodeLenses: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeLens[]>;
64
- getDocumentHighlights: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentHighlight[] | undefined>;
65
- getDocumentLinks: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentLink[]>;
55
+ getRenameEdits: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, newName: string, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
56
+ getFileRenameEdits: (_oldUri: URI | import("@volar/language-service/lib/types.js").UriComponents, _newUri: URI | import("@volar/language-service/lib/types.js").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
57
+ getSemanticTokens: (_uri: URI | import("@volar/language-service").UriComponents, range: import("@volar/language-service").Range | undefined, legend: import("@volar/language-service").SemanticTokensLegend, token?: import("@volar/language-service").CancellationToken, _reportProgress?: (tokens: import("@volar/language-service").SemanticTokens) => void) => Promise<import("@volar/language-service").SemanticTokens | undefined>;
58
+ getHover: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Hover | undefined>;
59
+ getCompletionItems: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, completionContext?: import("@volar/language-service").CompletionContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CompletionList>;
60
+ getCodeActions: (_uri: URI | import("@volar/language-service").UriComponents, range: import("@volar/language-service").Range, codeActionContext: import("@volar/language-service").CodeActionContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeAction[] | undefined>;
61
+ getSignatureHelp: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, signatureHelpContext?: import("@volar/language-service").SignatureHelpContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").SignatureHelp | undefined>;
62
+ getCodeLenses: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeLens[]>;
63
+ getDocumentHighlights: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentHighlight[] | undefined>;
64
+ getDocumentLinks: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentLink[]>;
66
65
  getWorkspaceSymbols: (query: string, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceSymbol[]>;
67
- getAutoInsertSnippet: (uri: URI, selection: import("@volar/language-service").Position, change: {
66
+ getAutoInsertSnippet: (_uri: URI | import("@volar/language-service").UriComponents, selection: import("@volar/language-service").Position, change: {
68
67
  rangeOffset: number;
69
68
  rangeLength: number;
70
69
  text: string;
71
70
  }, token?: import("@volar/language-service").CancellationToken) => Promise<string | undefined>;
72
- getDocumentDropEdits: (uri: URI, position: import("@volar/language-service").Position, dataTransfer: Map<string, import("@volar/language-service").DataTransferItem>, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentDropEdit | undefined>;
73
- getInlayHints: (uri: URI, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").InlayHint[] | undefined>;
71
+ getDocumentDropEdits: (_uri: URI | import("@volar/language-service/lib/types.js").UriComponents, position: import("@volar/language-service").Position, dataTransfer: Map<string, import("@volar/language-service").DataTransferItem>, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentDropEdit | undefined>;
72
+ getInlayHints: (_uri: URI | import("@volar/language-service").UriComponents, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").InlayHint[] | undefined>;
74
73
  resolveCodeAction: (item: import("@volar/language-service").CodeAction, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeAction>;
75
74
  resolveCompletionItem: (item: import("@volar/language-service").CompletionItem, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CompletionItem>;
76
75
  resolveCodeLens: (item: import("@volar/language-service").CodeLens, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeLens>;
@@ -78,7 +77,7 @@ export declare function createSimpleWorkerService<T = {}>({ env, workerContext,
78
77
  resolveInlayHint: (item: import("@volar/language-service").InlayHint, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").InlayHint>;
79
78
  resolveWorkspaceSymbol: (symbol: import("@volar/language-service").WorkspaceSymbol, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceSymbol>;
80
79
  } & T;
81
- export declare function createTypeScriptWorkerService<T = {}>({ typescript: ts, compilerOptions, env, uriConverter, workerContext, languagePlugins, servicePlugins, extraApis, setup, }: {
80
+ export declare function createTypeScriptWorkerService<T = {}>({ typescript: ts, compilerOptions, env, uriConverter, workerContext, languagePlugins, languageServicePlugins, extraApis, setup, }: {
82
81
  typescript: typeof import('typescript');
83
82
  compilerOptions: ts.CompilerOptions;
84
83
  env: LanguageServiceEnvironment;
@@ -87,8 +86,8 @@ export declare function createTypeScriptWorkerService<T = {}>({ typescript: ts,
87
86
  asFileName(uri: URI): string;
88
87
  };
89
88
  workerContext: monaco.worker.IWorkerContext<any>;
90
- languagePlugins?: LanguagePlugin<URI>[];
91
- servicePlugins?: LanguageServicePlugin[];
89
+ languagePlugins: LanguagePlugin<URI>[];
90
+ languageServicePlugins: LanguageServicePlugin[];
92
91
  extraApis?: T;
93
92
  setup?(options: {
94
93
  language: Language<URI>;
@@ -97,7 +96,7 @@ export declare function createTypeScriptWorkerService<T = {}>({ typescript: ts,
97
96
  }): {
98
97
  dispose: () => void;
99
98
  context: import("@volar/language-service").LanguageServiceContext;
100
- getCallHierarchyItems(uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyItem[] | undefined>;
99
+ getCallHierarchyItems(_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyItem[] | undefined>;
101
100
  getCallHierarchyIncomingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyIncomingCall[]>;
102
101
  getCallHierarchyOutgoingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyOutgoingCall[]>;
103
102
  getSemanticTokenLegend: () => {
@@ -110,47 +109,47 @@ export declare function createTypeScriptWorkerService<T = {}>({ typescript: ts,
110
109
  getSignatureHelpTriggerCharacters: () => string[];
111
110
  getSignatureHelpRetriggerCharacters: () => string[];
112
111
  executeCommand(command: string, args: any[], token?: import("@volar/language-service").CancellationToken): any;
113
- getDocumentFormattingEdits: (uri: URI, options: import("@volar/language-service").FormattingOptions, range: import("@volar/language-service").Range | undefined, onTypeParams: {
112
+ getDocumentFormattingEdits: (_uri: URI | import("@volar/language-service").UriComponents, options: import("@volar/language-service").FormattingOptions, range: import("@volar/language-service").Range | undefined, onTypeParams: {
114
113
  ch: string;
115
114
  position: import("@volar/language-service").Position;
116
115
  } | undefined, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").TextEdit[] | undefined>;
117
- getFoldingRanges: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").FoldingRange[] | undefined>;
118
- getSelectionRanges: (uri: URI, positions: import("@volar/language-service").Position[], token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").SelectionRange[] | undefined>;
119
- getLinkedEditingRanges: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LinkedEditingRanges | undefined>;
120
- getDocumentSymbols: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentSymbol[] | undefined>;
121
- getDocumentColors: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").ColorInformation[] | undefined>;
122
- getColorPresentations: (uri: URI, color: import("@volar/language-service").Color, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").ColorPresentation[] | undefined>;
123
- getDiagnostics: (uri: URI, token?: import("@volar/language-service").CancellationToken, response?: (result: import("@volar/language-service").Diagnostic[]) => void) => Promise<import("@volar/language-service").Diagnostic[]>;
116
+ getFoldingRanges: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").FoldingRange[] | undefined>;
117
+ getSelectionRanges: (_uri: URI | import("@volar/language-service").UriComponents, positions: import("@volar/language-service").Position[], token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").SelectionRange[] | undefined>;
118
+ getLinkedEditingRanges: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LinkedEditingRanges | undefined>;
119
+ getDocumentSymbols: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentSymbol[] | undefined>;
120
+ getDocumentColors: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").ColorInformation[] | undefined>;
121
+ getColorPresentations: (_uri: URI | import("@volar/language-service").UriComponents, color: import("@volar/language-service").Color, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").ColorPresentation[] | undefined>;
122
+ getDiagnostics: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken, response?: (result: import("@volar/language-service").Diagnostic[]) => void) => Promise<import("@volar/language-service").Diagnostic[]>;
124
123
  getWorkspaceDiagnostics: (token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceDocumentDiagnosticReport[]>;
125
- getReferences: (uri: URI, position: import("@volar/language-service").Position, referenceContext: import("@volar/language-service").ReferenceContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Location[] | undefined>;
126
- getFileReferences: (uri: URI, token?: import("@volar/language-service").CancellationToken) => import("@volar/language-service/lib/types.js").NullableProviderResult<import("@volar/language-service").Location[]>;
127
- getDefinition: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
128
- getTypeDefinition: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
129
- getImplementations: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
130
- getRenameRange: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Range | {
124
+ getReferences: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, referenceContext: import("@volar/language-service").ReferenceContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Location[] | undefined>;
125
+ getFileReferences: (_uri: URI | import("@volar/language-service/lib/types.js").UriComponents, token?: import("@volar/language-service").CancellationToken) => import("@volar/language-service/lib/types.js").NullableProviderResult<import("@volar/language-service").Location[]>;
126
+ getDefinition: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
127
+ getTypeDefinition: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
128
+ getImplementations: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
129
+ getRenameRange: (_uri: URI | import("@volar/language-service/lib/types.js").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Range | {
131
130
  range: import("@volar/language-service").Range;
132
131
  placeholder: string;
133
132
  } | {
134
133
  message: string;
135
134
  } | undefined>;
136
- getRenameEdits: (uri: URI, position: import("@volar/language-service").Position, newName: string, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
137
- getFileRenameEdits: (oldUri: URI, newUri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
138
- getSemanticTokens: (uri: URI, range: import("@volar/language-service").Range | undefined, legend: import("@volar/language-service").SemanticTokensLegend, token?: import("@volar/language-service").CancellationToken, _reportProgress?: (tokens: import("@volar/language-service").SemanticTokens) => void) => Promise<import("@volar/language-service").SemanticTokens | undefined>;
139
- getHover: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Hover | undefined>;
140
- getCompletionItems: (uri: URI, position: import("@volar/language-service").Position, completionContext?: import("@volar/language-service").CompletionContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CompletionList>;
141
- getCodeActions: (uri: URI, range: import("@volar/language-service").Range, codeActionContext: import("@volar/language-service").CodeActionContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeAction[] | undefined>;
142
- getSignatureHelp: (uri: URI, position: import("@volar/language-service").Position, signatureHelpContext?: import("@volar/language-service").SignatureHelpContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").SignatureHelp | undefined>;
143
- getCodeLenses: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeLens[]>;
144
- getDocumentHighlights: (uri: URI, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentHighlight[] | undefined>;
145
- getDocumentLinks: (uri: URI, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentLink[]>;
135
+ getRenameEdits: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, newName: string, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
136
+ getFileRenameEdits: (_oldUri: URI | import("@volar/language-service/lib/types.js").UriComponents, _newUri: URI | import("@volar/language-service/lib/types.js").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
137
+ getSemanticTokens: (_uri: URI | import("@volar/language-service").UriComponents, range: import("@volar/language-service").Range | undefined, legend: import("@volar/language-service").SemanticTokensLegend, token?: import("@volar/language-service").CancellationToken, _reportProgress?: (tokens: import("@volar/language-service").SemanticTokens) => void) => Promise<import("@volar/language-service").SemanticTokens | undefined>;
138
+ getHover: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").Hover | undefined>;
139
+ getCompletionItems: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, completionContext?: import("@volar/language-service").CompletionContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CompletionList>;
140
+ getCodeActions: (_uri: URI | import("@volar/language-service").UriComponents, range: import("@volar/language-service").Range, codeActionContext: import("@volar/language-service").CodeActionContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeAction[] | undefined>;
141
+ getSignatureHelp: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, signatureHelpContext?: import("@volar/language-service").SignatureHelpContext, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").SignatureHelp | undefined>;
142
+ getCodeLenses: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeLens[]>;
143
+ getDocumentHighlights: (_uri: URI | import("@volar/language-service").UriComponents, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentHighlight[] | undefined>;
144
+ getDocumentLinks: (_uri: URI | import("@volar/language-service").UriComponents, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentLink[]>;
146
145
  getWorkspaceSymbols: (query: string, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").WorkspaceSymbol[]>;
147
- getAutoInsertSnippet: (uri: URI, selection: import("@volar/language-service").Position, change: {
146
+ getAutoInsertSnippet: (_uri: URI | import("@volar/language-service").UriComponents, selection: import("@volar/language-service").Position, change: {
148
147
  rangeOffset: number;
149
148
  rangeLength: number;
150
149
  text: string;
151
150
  }, token?: import("@volar/language-service").CancellationToken) => Promise<string | undefined>;
152
- getDocumentDropEdits: (uri: URI, position: import("@volar/language-service").Position, dataTransfer: Map<string, import("@volar/language-service").DataTransferItem>, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentDropEdit | undefined>;
153
- getInlayHints: (uri: URI, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").InlayHint[] | undefined>;
151
+ getDocumentDropEdits: (_uri: URI | import("@volar/language-service/lib/types.js").UriComponents, position: import("@volar/language-service").Position, dataTransfer: Map<string, import("@volar/language-service").DataTransferItem>, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").DocumentDropEdit | undefined>;
152
+ getInlayHints: (_uri: URI | import("@volar/language-service").UriComponents, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").InlayHint[] | undefined>;
154
153
  resolveCodeAction: (item: import("@volar/language-service").CodeAction, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeAction>;
155
154
  resolveCompletionItem: (item: import("@volar/language-service").CompletionItem, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CompletionItem>;
156
155
  resolveCodeLens: (item: import("@volar/language-service").CodeLens, token?: import("@volar/language-service").CancellationToken) => Promise<import("@volar/language-service").CodeLens>;
package/worker.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { createLanguageService as _createLanguageService, createLanguage, createUriMap, } from '@volar/language-service';
2
2
  import { createLanguageServiceHost, createSys, resolveFileLanguageId } from '@volar/typescript';
3
+ import { URI } from 'vscode-uri';
3
4
  export * from '@volar/language-service';
4
- export * from './lib/ata.js';
5
5
  const fsFileSnapshots = createUriMap();
6
- export function createSimpleWorkerService({ env, workerContext, languagePlugins = [], servicePlugins = [], extraApis = {}, setup, }) {
6
+ export function createSimpleWorkerService({ env, workerContext, languagePlugins, languageServicePlugins, extraApis = {}, setup, }) {
7
7
  const snapshots = new Map();
8
8
  const language = createLanguage(languagePlugins, createUriMap(false), uri => {
9
9
  const model = workerContext.getMirrorModels().find(model => model.uri.toString() === uri.toString());
@@ -27,9 +27,9 @@ export function createSimpleWorkerService({ env, workerContext, languagePlugins
27
27
  });
28
28
  const project = {};
29
29
  setup?.({ language, project });
30
- return createWorkerService(language, servicePlugins, env, project, extraApis);
30
+ return createWorkerService(language, languageServicePlugins, env, project, extraApis);
31
31
  }
32
- export function createTypeScriptWorkerService({ typescript: ts, compilerOptions, env, uriConverter, workerContext, languagePlugins = [], servicePlugins = [], extraApis = {}, setup, }) {
32
+ export function createTypeScriptWorkerService({ typescript: ts, compilerOptions, env, uriConverter, workerContext, languagePlugins, languageServicePlugins, extraApis = {}, setup, }) {
33
33
  let projectVersion = 0;
34
34
  const modelSnapshot = new WeakMap();
35
35
  const modelVersions = new Map();
@@ -79,7 +79,7 @@ export function createTypeScriptWorkerService({ typescript: ts, compilerOptions,
79
79
  return sys.getCurrentDirectory();
80
80
  },
81
81
  getScriptFileNames() {
82
- return workerContext.getMirrorModels().map(model => uriConverter.asFileName(model.uri));
82
+ return workerContext.getMirrorModels().map(model => uriConverter.asFileName(URI.from(model.uri)));
83
83
  },
84
84
  getProjectVersion() {
85
85
  const models = workerContext.getMirrorModels();
@@ -106,7 +106,7 @@ export function createTypeScriptWorkerService({ typescript: ts, compilerOptions,
106
106
  },
107
107
  };
108
108
  setup?.({ language, project });
109
- return createWorkerService(language, servicePlugins, env, project, extraApis);
109
+ return createWorkerService(language, languageServicePlugins, env, project, extraApis);
110
110
  function getModelSnapshot(uri) {
111
111
  const model = workerContext.getMirrorModels().find(model => model.uri.toString() === uri.toString());
112
112
  if (model) {
package/lib/ata.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { LanguageServiceEnvironment } from '@volar/language-service';
2
- import type { URI } from 'vscode-uri';
3
- export declare function activateAutomaticTypeAcquisition(env: LanguageServiceEnvironment, uriConverter: {
4
- asFileName(uri: URI): string;
5
- }, onFetch?: (path: string, content: string) => void): void;
package/lib/ata.js DELETED
@@ -1,228 +0,0 @@
1
- export function activateAutomaticTypeAcquisition(env, uriConverter, onFetch) {
2
- const textCache = new Map();
3
- const jsonCache = new Map();
4
- const npmFs = createJsDelivrNpmFileSystem();
5
- const _fs = env.fs;
6
- env.fs = {
7
- async stat(uri) {
8
- return await npmFs.stat(uri) ?? await _fs?.stat(uri);
9
- },
10
- async readDirectory(uri) {
11
- return [
12
- ...await npmFs.readDirectory(uri),
13
- ...await _fs?.readDirectory(uri) ?? [],
14
- ];
15
- },
16
- async readFile(uri) {
17
- return await npmFs.readFile(uri) ?? await _fs?.readFile(uri);
18
- },
19
- };
20
- function createJsDelivrNpmFileSystem() {
21
- const fetchResults = new Map();
22
- const flatResults = new Map();
23
- return {
24
- async stat(uri) {
25
- const fileName = uriConverter.asFileName(uri);
26
- if (fileName === '/node_modules') {
27
- return {
28
- type: 2,
29
- size: -1,
30
- ctime: -1,
31
- mtime: -1,
32
- };
33
- }
34
- if (fileName.startsWith('/node_modules/')) {
35
- const path = fileName.substring('/node_modules/'.length);
36
- return await _stat(path);
37
- }
38
- },
39
- async readFile(uri) {
40
- const fileName = uriConverter.asFileName(uri);
41
- if (fileName.startsWith('/node_modules/')) {
42
- const path = fileName.substring('/node_modules/'.length);
43
- return await _readFile(path);
44
- }
45
- },
46
- readDirectory(uri) {
47
- const fileName = uriConverter.asFileName(uri);
48
- if (fileName.startsWith('/node_modules/')) {
49
- const path = fileName.substring('/node_modules/'.length);
50
- return _readDirectory(path);
51
- }
52
- return [];
53
- },
54
- };
55
- async function _stat(path) {
56
- const pkgName = getPackageName(path);
57
- if (!pkgName || !await isValidPackageName(pkgName)) {
58
- return;
59
- }
60
- if (!flatResults.has(pkgName)) {
61
- flatResults.set(pkgName, flat(pkgName));
62
- }
63
- const flatResult = await flatResults.get(pkgName);
64
- const filePath = path.slice(pkgName.length);
65
- const file = flatResult.find(file => file.name === filePath);
66
- if (file) {
67
- return {
68
- type: 1,
69
- ctime: new Date(file.time).valueOf(),
70
- mtime: new Date(file.time).valueOf(),
71
- size: file.size,
72
- };
73
- }
74
- else if (flatResult.some(file => file.name.startsWith(filePath + '/'))) {
75
- return {
76
- type: 2,
77
- ctime: -1,
78
- mtime: -1,
79
- size: -1,
80
- };
81
- }
82
- }
83
- async function _readDirectory(path) {
84
- const pkgName = getPackageName(path);
85
- if (!pkgName || !await isValidPackageName(pkgName)) {
86
- return [];
87
- }
88
- if (!flatResults.has(pkgName)) {
89
- flatResults.set(pkgName, flat(pkgName));
90
- }
91
- const flatResult = await flatResults.get(pkgName);
92
- const dirPath = path.slice(pkgName.length);
93
- const files = flatResult
94
- .filter(f => f.name.substring(0, f.name.lastIndexOf('/')) === dirPath)
95
- .map(f => f.name.slice(dirPath.length + 1));
96
- const dirs = flatResult
97
- .filter(f => f.name.startsWith(dirPath + '/') && f.name.substring(dirPath.length + 1).split('/').length >= 2)
98
- .map(f => f.name.slice(dirPath.length + 1).split('/')[0]);
99
- return [
100
- ...files.map(f => [f, 1]),
101
- ...[...new Set(dirs)].map(f => [f, 2]),
102
- ];
103
- }
104
- async function _readFile(path) {
105
- const pkgName = getPackageName(path);
106
- if (!pkgName || !await isValidPackageName(pkgName)) {
107
- return;
108
- }
109
- if (!fetchResults.has(path)) {
110
- fetchResults.set(path, (async () => {
111
- if ((await _stat(path))?.type !== 1) {
112
- return;
113
- }
114
- const text = await fetchText(`https://cdn.jsdelivr.net/npm/${path}`);
115
- if (text !== undefined) {
116
- onFetch?.(path, text);
117
- }
118
- return text;
119
- })());
120
- }
121
- return await fetchResults.get(path);
122
- }
123
- async function flat(pkgNameWithVersion) {
124
- let pkgName = pkgNameWithVersion;
125
- let version = 'latest';
126
- if (pkgNameWithVersion.substring(1).includes('@')) {
127
- pkgName = pkgNameWithVersion.substring(0, pkgNameWithVersion.lastIndexOf('@'));
128
- version = pkgNameWithVersion.substring(pkgNameWithVersion.lastIndexOf('@') + 1);
129
- }
130
- // resolve tag version
131
- if (version === 'latest') {
132
- const data = await fetchJson(`https://data.jsdelivr.com/v1/package/resolve/npm/${pkgName}@latest`);
133
- if (!data?.version) {
134
- return [];
135
- }
136
- version = data.version;
137
- }
138
- const flat = await fetchJson(`https://data.jsdelivr.com/v1/package/npm/${pkgName}@${version}/flat`);
139
- if (!flat) {
140
- return [];
141
- }
142
- return flat.files;
143
- }
144
- async function isValidPackageName(pkgName) {
145
- // @aaa/bbb@latest -> @aaa/bbb
146
- if (pkgName.substring(1).includes('@')) {
147
- pkgName = pkgName.substring(0, pkgName.lastIndexOf('@'));
148
- }
149
- // ignore @aaa/node_modules
150
- if (pkgName.endsWith('/node_modules')) {
151
- return false;
152
- }
153
- // hard code for known invalid package
154
- if (pkgName.startsWith('@typescript/') || pkgName.startsWith('@types/typescript__')) {
155
- return false;
156
- }
157
- // don't check @types if original package already having types
158
- if (pkgName.startsWith('@types/')) {
159
- let originalPkgName = pkgName.slice('@types/'.length);
160
- if (originalPkgName.indexOf('__') >= 0) {
161
- originalPkgName = '@' + originalPkgName.replace('__', '/');
162
- }
163
- const packageJson = await _readFile(`${originalPkgName}/package.json`);
164
- if (packageJson) {
165
- const packageJsonObj = JSON.parse(packageJson);
166
- if (packageJsonObj.types || packageJsonObj.typings) {
167
- return false;
168
- }
169
- const indexDts = await _stat(`${originalPkgName}/index.d.ts`);
170
- if (indexDts?.type === 1) {
171
- return false;
172
- }
173
- }
174
- }
175
- return true;
176
- }
177
- }
178
- /**
179
- * @example
180
- * "a/b/c" -> "a"
181
- * "@a/b/c" -> "@a/b"
182
- * "@a/b@1.2.3/c" -> "@a/b@1.2.3"
183
- */
184
- function getPackageName(path) {
185
- const parts = path.split('/');
186
- let pkgName = parts[0];
187
- if (pkgName.startsWith('@')) {
188
- if (!parts[1]) {
189
- return undefined;
190
- }
191
- pkgName += '/' + parts[1];
192
- }
193
- return pkgName;
194
- }
195
- async function fetchText(url) {
196
- if (!textCache.has(url)) {
197
- textCache.set(url, (async () => {
198
- try {
199
- const res = await fetch(url);
200
- if (res.status === 200) {
201
- return await res.text();
202
- }
203
- }
204
- catch {
205
- // ignore
206
- }
207
- })());
208
- }
209
- return await textCache.get(url);
210
- }
211
- async function fetchJson(url) {
212
- if (!jsonCache.has(url)) {
213
- jsonCache.set(url, (async () => {
214
- try {
215
- const res = await fetch(url);
216
- if (res.status === 200) {
217
- return await res.json();
218
- }
219
- }
220
- catch {
221
- // ignore
222
- }
223
- })());
224
- }
225
- return await jsonCache.get(url);
226
- }
227
- }
228
- //# sourceMappingURL=ata.js.map