@theia/vsx-registry 1.57.0 → 1.58.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.
@@ -13,6 +13,7 @@ import { OVSXClientProvider } from '../common/ovsx-client-provider';
13
13
  import { RequestService } from '@theia/core/shared/@theia/request';
14
14
  import { OVSXApiFilterProvider } from '@theia/ovsx-client';
15
15
  import { ApplicationServer } from '@theia/core/lib/common/application-protocol';
16
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
16
17
  export declare class VSXExtensionsModel {
17
18
  protected initialized: Promise<void>;
18
19
  /**
@@ -35,6 +36,7 @@ export declare class VSXExtensionsModel {
35
36
  readonly search: VSXExtensionsSearchModel;
36
37
  protected request: RequestService;
37
38
  protected vsxApiFilter: OVSXApiFilterProvider;
39
+ protected readonly fileService: FileService;
38
40
  protected readonly applicationServer: ApplicationServer;
39
41
  protected init(): void;
40
42
  protected doInit(): Promise<void>;
@@ -47,6 +49,7 @@ export declare class VSXExtensionsModel {
47
49
  isInstalled(id: string): boolean;
48
50
  getExtension(id: string): VSXExtension | undefined;
49
51
  resolve(id: string): Promise<VSXExtension>;
52
+ protected findReadmeFile(extension: VSXExtension): Promise<URI | undefined>;
50
53
  protected initInstalled(): Promise<void>;
51
54
  protected initSearchResult(): Promise<void>;
52
55
  protected initRecommended(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-extensions-model.d.ts","sourceRoot":"","sources":["../../src/browser/vsx-extensions-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vsx-extensions-model.d.ts","sourceRoot":"","sources":["../../src/browser/vsx-extensions-model.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,13 @@ const progress_service_1 = require("@theia/core/lib/common/progress-service");
29
29
  const vsx_extensions_search_model_1 = require("./vsx-extensions-search-model");
30
30
  const browser_1 = require("@theia/core/lib/browser");
31
31
  const browser_2 = require("@theia/workspace/lib/browser");
32
+ const uri_1 = require("@theia/core/lib/common/uri");
32
33
  const ovsx_types_1 = require("@theia/ovsx-client/lib/ovsx-types");
33
34
  const ovsx_client_provider_1 = require("../common/ovsx-client-provider");
34
35
  const request_1 = require("@theia/core/shared/@theia/request");
35
36
  const ovsx_client_1 = require("@theia/ovsx-client");
36
37
  const application_protocol_1 = require("@theia/core/lib/common/application-protocol");
38
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
37
39
  let VSXExtensionsModel = class VSXExtensionsModel {
38
40
  constructor() {
39
41
  /**
@@ -89,14 +91,25 @@ let VSXExtensionsModel = class VSXExtensionsModel {
89
91
  }
90
92
  resolve(id) {
91
93
  return this.doChange(async () => {
94
+ var _a;
92
95
  await this.initialized;
93
- const extension = await this.refresh(id);
96
+ const extension = (_a = await this.refresh(id)) !== null && _a !== void 0 ? _a : this.getExtension(id);
94
97
  if (!extension) {
95
98
  throw new Error(`Failed to resolve ${id} extension.`);
96
99
  }
97
- if (extension.readmeUrl) {
100
+ if (extension.readme === undefined) {
98
101
  try {
99
- const rawReadme = request_1.RequestContext.asText(await this.request.request({ url: extension.readmeUrl }));
102
+ let rawReadme = '';
103
+ const installedReadme = await this.findReadmeFile(extension);
104
+ // Attempt to read the local readme first
105
+ // It saves network resources and is faster
106
+ if (installedReadme) {
107
+ const readmeContent = await this.fileService.readFile(installedReadme);
108
+ rawReadme = readmeContent.value.toString();
109
+ }
110
+ else if (extension.readmeUrl) {
111
+ rawReadme = request_1.RequestContext.asText(await this.request.request({ url: extension.readmeUrl }));
112
+ }
100
113
  const readme = this.compileReadme(rawReadme);
101
114
  extension.update({ readme });
102
115
  }
@@ -109,6 +122,20 @@ let VSXExtensionsModel = class VSXExtensionsModel {
109
122
  return extension;
110
123
  });
111
124
  }
125
+ async findReadmeFile(extension) {
126
+ var _a, _b;
127
+ if (!extension.plugin) {
128
+ return undefined;
129
+ }
130
+ // Since we don't know the exact capitalization of the readme file (might be README.md, readme.md, etc.)
131
+ // We attempt to find the readme file by searching through the plugin's directories
132
+ const packageUri = new uri_1.default(extension.plugin.metadata.model.packageUri);
133
+ const pluginUri = packageUri.withPath(packageUri.path.join('..'));
134
+ const pluginDirStat = await this.fileService.resolve(pluginUri);
135
+ const possibleNames = ['readme.md', 'readme.txt', 'readme'];
136
+ const readmeFileUri = (_b = (_a = pluginDirStat.children) === null || _a === void 0 ? void 0 : _a.find(child => possibleNames.includes(child.name.toLowerCase()))) === null || _b === void 0 ? void 0 : _b.resource;
137
+ return readmeFileUri;
138
+ }
112
139
  async initInstalled() {
113
140
  await this.pluginSupport.willStart;
114
141
  this.pluginSupport.onDidChangePlugins(() => this.updateInstalled());
@@ -435,6 +462,10 @@ tslib_1.__decorate([
435
462
  (0, inversify_1.inject)(ovsx_client_1.OVSXApiFilterProvider),
436
463
  tslib_1.__metadata("design:type", Function)
437
464
  ], VSXExtensionsModel.prototype, "vsxApiFilter", void 0);
465
+ tslib_1.__decorate([
466
+ (0, inversify_1.inject)(file_service_1.FileService),
467
+ tslib_1.__metadata("design:type", file_service_1.FileService)
468
+ ], VSXExtensionsModel.prototype, "fileService", void 0);
438
469
  tslib_1.__decorate([
439
470
  (0, inversify_1.inject)(application_protocol_1.ApplicationServer),
440
471
  tslib_1.__metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-extensions-model.js","sourceRoot":"","sources":["../../src/browser/vsx-extensions-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vsx-extensions-model.js","sourceRoot":"","sources":["../../src/browser/vsx-extensions-model.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@theia/vsx-registry",
3
- "version": "1.57.0",
3
+ "version": "1.58.0",
4
4
  "description": "Theia - VSX Registry",
5
5
  "dependencies": {
6
- "@theia/core": "1.57.0",
7
- "@theia/filesystem": "1.57.0",
8
- "@theia/navigator": "1.57.0",
9
- "@theia/ovsx-client": "1.57.0",
10
- "@theia/plugin-ext": "1.57.0",
11
- "@theia/plugin-ext-vscode": "1.57.0",
12
- "@theia/preferences": "1.57.0",
13
- "@theia/workspace": "1.57.0",
6
+ "@theia/core": "1.58.0",
7
+ "@theia/filesystem": "1.58.0",
8
+ "@theia/navigator": "1.58.0",
9
+ "@theia/ovsx-client": "1.58.0",
10
+ "@theia/plugin-ext": "1.58.0",
11
+ "@theia/plugin-ext-vscode": "1.58.0",
12
+ "@theia/preferences": "1.58.0",
13
+ "@theia/workspace": "1.58.0",
14
14
  "limiter": "^2.1.0",
15
15
  "luxon": "^2.4.0",
16
16
  "p-debounce": "^2.1.0",
@@ -55,11 +55,11 @@
55
55
  "watch": "theiaext watch"
56
56
  },
57
57
  "devDependencies": {
58
- "@theia/ext-scripts": "1.57.0",
58
+ "@theia/ext-scripts": "1.58.0",
59
59
  "@types/luxon": "^2.3.2"
60
60
  },
61
61
  "nyc": {
62
62
  "extends": "../../configs/nyc.json"
63
63
  },
64
- "gitHead": "ca1d948d897b9a774f8cd68bb76bd2f335609cd4"
64
+ "gitHead": "6594f32b9727aea20d88934bf386dee06d08fa5e"
65
65
  }
@@ -33,6 +33,7 @@ import { OVSXClientProvider } from '../common/ovsx-client-provider';
33
33
  import { RequestContext, RequestService } from '@theia/core/shared/@theia/request';
34
34
  import { OVSXApiFilterProvider } from '@theia/ovsx-client';
35
35
  import { ApplicationServer } from '@theia/core/lib/common/application-protocol';
36
+ import { FileService } from '@theia/filesystem/lib/browser/file-service';
36
37
 
37
38
  @injectable()
38
39
  export class VSXExtensionsModel {
@@ -81,6 +82,9 @@ export class VSXExtensionsModel {
81
82
  @inject(OVSXApiFilterProvider)
82
83
  protected vsxApiFilter: OVSXApiFilterProvider;
83
84
 
85
+ @inject(FileService)
86
+ protected readonly fileService: FileService;
87
+
84
88
  @inject(ApplicationServer)
85
89
  protected readonly applicationServer: ApplicationServer;
86
90
 
@@ -135,13 +139,24 @@ export class VSXExtensionsModel {
135
139
  resolve(id: string): Promise<VSXExtension> {
136
140
  return this.doChange(async () => {
137
141
  await this.initialized;
138
- const extension = await this.refresh(id);
142
+ const extension = await this.refresh(id) ?? this.getExtension(id);
139
143
  if (!extension) {
140
144
  throw new Error(`Failed to resolve ${id} extension.`);
141
145
  }
142
- if (extension.readmeUrl) {
146
+ if (extension.readme === undefined) {
143
147
  try {
144
- const rawReadme = RequestContext.asText(await this.request.request({ url: extension.readmeUrl }));
148
+ let rawReadme: string = '';
149
+ const installedReadme = await this.findReadmeFile(extension);
150
+ // Attempt to read the local readme first
151
+ // It saves network resources and is faster
152
+ if (installedReadme) {
153
+ const readmeContent = await this.fileService.readFile(installedReadme);
154
+ rawReadme = readmeContent.value.toString();
155
+ } else if (extension.readmeUrl) {
156
+ rawReadme = RequestContext.asText(
157
+ await this.request.request({ url: extension.readmeUrl })
158
+ );
159
+ }
145
160
  const readme = this.compileReadme(rawReadme);
146
161
  extension.update({ readme });
147
162
  } catch (e) {
@@ -154,6 +169,22 @@ export class VSXExtensionsModel {
154
169
  });
155
170
  }
156
171
 
172
+ protected async findReadmeFile(extension: VSXExtension): Promise<URI | undefined> {
173
+ if (!extension.plugin) {
174
+ return undefined;
175
+ }
176
+ // Since we don't know the exact capitalization of the readme file (might be README.md, readme.md, etc.)
177
+ // We attempt to find the readme file by searching through the plugin's directories
178
+ const packageUri = new URI(extension.plugin.metadata.model.packageUri);
179
+ const pluginUri = packageUri.withPath(packageUri.path.join('..'));
180
+ const pluginDirStat = await this.fileService.resolve(pluginUri);
181
+ const possibleNames = ['readme.md', 'readme.txt', 'readme'];
182
+ const readmeFileUri = pluginDirStat.children
183
+ ?.find(child => possibleNames.includes(child.name.toLowerCase()))
184
+ ?.resource;
185
+ return readmeFileUri;
186
+ }
187
+
157
188
  protected async initInstalled(): Promise<void> {
158
189
  await this.pluginSupport.willStart;
159
190
  this.pluginSupport.onDidChangePlugins(() => this.updateInstalled());