ovsx 1.1.0 → 1.2.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.
Files changed (121) hide show
  1. package/README.md +71 -1
  2. package/lib/get.js +1 -1
  3. package/lib/get.js.map +1 -1
  4. package/lib/index.d.ts +4 -0
  5. package/lib/index.d.ts.map +1 -1
  6. package/lib/index.js +4 -0
  7. package/lib/index.js.map +1 -1
  8. package/lib/list-options.d.ts +24 -0
  9. package/lib/list-options.d.ts.map +1 -0
  10. package/lib/list-options.js +15 -0
  11. package/lib/list-options.js.map +1 -0
  12. package/lib/list.d.ts +18 -0
  13. package/lib/list.d.ts.map +1 -0
  14. package/lib/list.js +46 -0
  15. package/lib/list.js.map +1 -0
  16. package/lib/main.js +78 -2
  17. package/lib/main.js.map +1 -1
  18. package/lib/oidc.d.ts +22 -0
  19. package/lib/oidc.d.ts.map +1 -0
  20. package/lib/oidc.js +101 -0
  21. package/lib/oidc.js.map +1 -0
  22. package/lib/publish-options.d.ts +8 -1
  23. package/lib/publish-options.d.ts.map +1 -1
  24. package/lib/publish.d.ts.map +1 -1
  25. package/lib/publish.js +73 -4
  26. package/lib/publish.js.map +1 -1
  27. package/lib/registry-options.d.ts +8 -0
  28. package/lib/registry-options.d.ts.map +1 -1
  29. package/lib/registry.d.ts +119 -1
  30. package/lib/registry.d.ts.map +1 -1
  31. package/lib/registry.js +187 -19
  32. package/lib/registry.js.map +1 -1
  33. package/lib/search-options.d.ts +48 -0
  34. package/lib/search-options.d.ts.map +1 -0
  35. package/lib/search-options.js +15 -0
  36. package/lib/search-options.js.map +1 -0
  37. package/lib/search.d.ts +22 -0
  38. package/lib/search.d.ts.map +1 -0
  39. package/lib/search.js +86 -0
  40. package/lib/search.js.map +1 -0
  41. package/lib/show-options.d.ts +33 -0
  42. package/lib/show-options.d.ts.map +1 -0
  43. package/lib/show-options.js +15 -0
  44. package/lib/show-options.js.map +1 -0
  45. package/lib/show.d.ts +18 -0
  46. package/lib/show.d.ts.map +1 -0
  47. package/lib/show.js +289 -0
  48. package/lib/show.js.map +1 -0
  49. package/lib/table.d.ts +27 -0
  50. package/lib/table.d.ts.map +1 -0
  51. package/lib/table.js +56 -0
  52. package/lib/table.js.map +1 -0
  53. package/lib/trusted-publishing-options.d.ts +30 -0
  54. package/lib/trusted-publishing-options.d.ts.map +1 -0
  55. package/lib/trusted-publishing-options.js +15 -0
  56. package/lib/trusted-publishing-options.js.map +1 -0
  57. package/lib/trusted-publishing.d.ts +35 -0
  58. package/lib/trusted-publishing.d.ts.map +1 -0
  59. package/lib/trusted-publishing.js +112 -0
  60. package/lib/trusted-publishing.js.map +1 -0
  61. package/lib/unpublish-options.d.ts +34 -0
  62. package/lib/unpublish-options.d.ts.map +1 -0
  63. package/lib/unpublish-options.js +15 -0
  64. package/lib/unpublish-options.js.map +1 -0
  65. package/lib/unpublish.d.ts +22 -0
  66. package/lib/unpublish.d.ts.map +1 -0
  67. package/lib/unpublish.js +137 -0
  68. package/lib/unpublish.js.map +1 -0
  69. package/lib/util.d.ts +39 -1
  70. package/lib/util.d.ts.map +1 -1
  71. package/lib/util.js +91 -5
  72. package/lib/util.js.map +1 -1
  73. package/lib/verify-options.d.ts +24 -0
  74. package/lib/verify-options.d.ts.map +1 -0
  75. package/lib/verify-options.js +15 -0
  76. package/lib/verify-options.js.map +1 -0
  77. package/lib/verify-signature-options.d.ts +32 -0
  78. package/lib/verify-signature-options.d.ts.map +1 -0
  79. package/lib/verify-signature-options.js +15 -0
  80. package/lib/verify-signature-options.js.map +1 -0
  81. package/lib/verify-signature.d.ts +28 -0
  82. package/lib/verify-signature.d.ts.map +1 -0
  83. package/lib/verify-signature.js +105 -0
  84. package/lib/verify-signature.js.map +1 -0
  85. package/lib/verify.d.ts +21 -0
  86. package/lib/verify.d.ts.map +1 -0
  87. package/lib/verify.js +97 -0
  88. package/lib/verify.js.map +1 -0
  89. package/lib/version.d.ts +1 -1
  90. package/lib/version.js +1 -1
  91. package/lib/zip.d.ts +10 -0
  92. package/lib/zip.d.ts.map +1 -1
  93. package/lib/zip.js +31 -0
  94. package/lib/zip.js.map +1 -1
  95. package/package.json +9 -5
  96. package/src/get.ts +1 -1
  97. package/src/index.ts +4 -0
  98. package/src/list-options.ts +25 -0
  99. package/src/list.ts +48 -0
  100. package/src/main.ts +89 -3
  101. package/src/oidc.ts +107 -0
  102. package/src/publish-options.ts +8 -1
  103. package/src/publish.ts +97 -5
  104. package/src/registry-options.ts +8 -0
  105. package/src/registry.ts +292 -19
  106. package/src/search-options.ts +49 -0
  107. package/src/search.ts +95 -0
  108. package/src/show-options.ts +34 -0
  109. package/src/show.ts +328 -0
  110. package/src/table.ts +53 -0
  111. package/src/trusted-publishing-options.ts +30 -0
  112. package/src/trusted-publishing.ts +148 -0
  113. package/src/unpublish-options.ts +35 -0
  114. package/src/unpublish.ts +160 -0
  115. package/src/util.ts +102 -5
  116. package/src/verify-options.ts +25 -0
  117. package/src/verify-signature-options.ts +32 -0
  118. package/src/verify-signature.ts +124 -0
  119. package/src/verify.ts +107 -0
  120. package/src/version.ts +1 -1
  121. package/src/zip.ts +31 -1
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAEzE;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAYjG"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAGzE;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAiBjG"}
package/lib/publish.js CHANGED
@@ -10,27 +10,47 @@ exports.publish = publish;
10
10
  *
11
11
  * SPDX-License-Identifier: EPL-2.0
12
12
  ********************************************************************************/
13
+ const fs = require("fs");
13
14
  const vsce_1 = require("@vscode/vsce");
14
15
  const pat_1 = require("./pat");
15
16
  const util_1 = require("./util");
16
17
  const registry_1 = require("./registry");
17
18
  const check_license_1 = require("./check-license");
18
19
  const zip_1 = require("./zip");
20
+ const trusted_publishing_1 = require("./trusted-publishing");
19
21
  /**
20
22
  * Publishes an extension.
21
23
  */
22
24
  async function publish(options = {}) {
23
25
  (0, util_1.addEnvOptions)(options);
26
+ (0, util_1.addTrustedPublishingEnvOptions)(options);
27
+ // Looked up once and shared by every target/package below, rather than once per artifact.
28
+ const maxExtensionSize = await getMaxExtensionSize(new registry_1.Registry(options));
24
29
  const internalPublishOptions = [];
25
30
  const packagePaths = options.packagePath || [undefined];
26
31
  const targets = options.targets || [undefined];
27
32
  for (const packagePath of packagePaths) {
28
33
  for (const target of targets) {
29
- internalPublishOptions.push({ ...options, packagePath: packagePath, target: target });
34
+ internalPublishOptions.push({ ...options, packagePath: packagePath, target: target, maxExtensionSize });
30
35
  }
31
36
  }
32
37
  return Promise.allSettled(internalPublishOptions.map(publishOptions => doPublish(publishOptions)));
33
38
  }
39
+ /**
40
+ * Looks up the registry's configured extension size limit, so an oversized package can be rejected
41
+ * locally before the upload instead of after transferring the whole payload.
42
+ *
43
+ * Best-effort: registries that don't expose `/api/version`, or don't report a limit, return
44
+ * `undefined` here, and the upload proceeds to let the server enforce its own limit as before.
45
+ */
46
+ async function getMaxExtensionSize(registry) {
47
+ try {
48
+ return (await registry.getRegistryVersion()).maxExtensionSize || undefined;
49
+ }
50
+ catch {
51
+ return undefined;
52
+ }
53
+ }
34
54
  async function doPublish(options = {}) {
35
55
  // if the packagePath is a link to a vsix, don't need to package it
36
56
  if (options.packagePath?.endsWith('.vsix')) {
@@ -46,13 +66,23 @@ async function doPublish(options = {}) {
46
66
  else if (options.preRelease) {
47
67
  console.warn("Ignoring option '--pre-release' for prepackaged extension.");
48
68
  }
69
+ await ensureWithinSizeLimit(options.extensionFile, options.maxExtensionSize, registry.url);
70
+ // Set only when this publish obtained the token itself through trusted publishing, which is the one
71
+ // case where a refusal can be answered by asking for a new token.
72
+ let exchanged;
49
73
  if (!options.pat) {
50
- const namespace = (await (0, zip_1.readVSIXPackage)(options.extensionFile)).publisher;
51
- options.pat = await (0, pat_1.getPAT)(namespace, options);
74
+ const manifest = await (0, zip_1.readVSIXPackage)(options.extensionFile);
75
+ if ((0, trusted_publishing_1.useTrustedPublishing)(options)) {
76
+ exchanged = { namespace: manifest.publisher, extension: manifest.name };
77
+ options.pat = await (0, trusted_publishing_1.getTrustedPublishingToken)(registry, manifest.publisher, manifest.name, options);
78
+ }
79
+ else {
80
+ options.pat = await (0, pat_1.getPAT)(manifest.publisher, options);
81
+ }
52
82
  }
53
83
  let extension;
54
84
  try {
55
- extension = await registry.publish(options.extensionFile, options.pat);
85
+ extension = await doRegistryPublish(registry, options, exchanged);
56
86
  }
57
87
  catch (err) {
58
88
  if (options.skipDuplicate && err.message.endsWith('is already published.')) {
@@ -76,6 +106,44 @@ async function doPublish(options = {}) {
76
106
  console.log(`\n!! ${extension.warning}`);
77
107
  }
78
108
  }
109
+ /**
110
+ * Publishes the package, exchanging the ID token again if the registry refuses the trusted publishing
111
+ * token this was using. The issued token is short-lived and shared by every target platform of a
112
+ * release, so publishing a wide fan-out of large packages can outlive it and be refused partway
113
+ * through - having authorised the release and then failing it over an expiry would be the wrong call.
114
+ *
115
+ * Only ever retried once, and only for a token obtained here: nothing this can do makes a token the
116
+ * user supplied valid, and a second refusal means the token is not the problem.
117
+ */
118
+ async function doRegistryPublish(registry, options, exchanged) {
119
+ try {
120
+ return await registry.publish(options.extensionFile, options.pat);
121
+ }
122
+ catch (err) {
123
+ if (!exchanged || err?.status !== 401) {
124
+ throw err;
125
+ }
126
+ console.log('The registry refused the publishing token, requesting a new one');
127
+ options.pat = await (0, trusted_publishing_1.refreshTrustedPublishingToken)(registry, exchanged.namespace, exchanged.extension, options, options.pat);
128
+ return registry.publish(options.extensionFile, options.pat);
129
+ }
130
+ }
131
+ /**
132
+ * Fails fast with an actionable message when the packaged extension is already known to exceed the
133
+ * registry's configured size limit, rather than uploading the whole file only to have the server
134
+ * reject it. `maxSize` is `undefined` when the limit couldn't be determined, in which case the check
135
+ * is skipped and the upload is left to the server to accept or reject.
136
+ */
137
+ async function ensureWithinSizeLimit(extensionFile, maxSize, registryUrl) {
138
+ if (!maxSize) {
139
+ return;
140
+ }
141
+ const { size } = await fs.promises.stat(extensionFile);
142
+ if (size > maxSize) {
143
+ throw new Error(`The extension package (${(0, util_1.formatBytes)(size)}) exceeds the size limit of ${(0, util_1.formatBytes)(maxSize)} `
144
+ + `accepted by the registry at ${registryUrl}.`);
145
+ }
146
+ }
79
147
  async function packageExtension(options, registry) {
80
148
  if (registry.requiresLicense) {
81
149
  await (0, check_license_1.checkLicense)(options.packagePath);
@@ -88,6 +156,7 @@ async function packageExtension(options, registry) {
88
156
  baseContentUrl: options.baseContentUrl,
89
157
  baseImagesUrl: options.baseImagesUrl,
90
158
  useYarn: options.yarn,
159
+ followSymlinks: options.followSymlinks,
91
160
  dependencies: options.dependencies,
92
161
  preRelease: options.preRelease,
93
162
  allowMissingRepository: options.allowMissingRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
@@ -32,5 +32,13 @@ export interface RegistryOptions {
32
32
  * Maximal request body size for publishing.
33
33
  */
34
34
  maxPublishSize?: number;
35
+ /**
36
+ * How long to wait, in milliseconds, for a request to make progress before giving up.
37
+ *
38
+ * This is an inactivity timeout rather than a deadline: any byte sent or received resets it, so
39
+ * a large package downloading slowly is not cut off, while a connection that has gone quiet does
40
+ * not hold the command open indefinitely. Zero disables it.
41
+ */
42
+ timeout?: number;
35
43
  }
36
44
  //# sourceMappingURL=registry-options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry-options.d.ts","sourceRoot":"","sources":["../src/registry-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"registry-options.d.ts","sourceRoot":"","sources":["../src/registry-options.ts"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
package/lib/registry.d.ts CHANGED
@@ -9,27 +9,60 @@
9
9
  ********************************************************************************/
10
10
  import * as http from 'http';
11
11
  import { RegistryOptions } from './registry-options';
12
+ import { DEFAULT_TIMEOUT } from './util';
12
13
  export declare const DEFAULT_URL = "https://open-vsx.org";
13
14
  export declare const DEFAULT_NAMESPACE_SIZE = 1024;
14
15
  export declare const DEFAULT_PUBLISH_SIZE: number;
16
+ export { DEFAULT_TIMEOUT };
17
+ export declare const DEFAULT_TOKEN_REQUEST_SIZE: number;
18
+ export declare const DEFAULT_DELETE_SIZE: number;
15
19
  export declare class Registry {
16
20
  readonly url: string;
17
21
  readonly maxNamespaceSize: number;
18
22
  readonly maxPublishSize: number;
23
+ readonly timeout: number;
19
24
  readonly username?: string;
20
25
  readonly password?: string;
21
26
  constructor(options?: RegistryOptions);
22
27
  get requiresLicense(): boolean;
23
28
  createNamespace(name: string, pat: string): Promise<Response>;
24
29
  verifyPat(namespace: string, pat: string): Promise<Response>;
30
+ getRegistryVersion(): Promise<RegistryVersion>;
25
31
  publish(file: string, pat: string): Promise<Extension>;
26
- getMetadata(namespace: string, extension: string, target?: string): Promise<Extension>;
32
+ requestTrustedPublishingToken(namespace: string, extension: string, idToken: string): Promise<AccessToken>;
33
+ /**
34
+ * Deletes extension versions. Omitting `targetVersions` deletes the extension as a whole,
35
+ * i.e. all versions the personal access token's user is allowed to delete.
36
+ */
37
+ deleteExtension(namespace: string, extension: string, targetVersions: TargetPlatformVersion[] | undefined, pat: string): Promise<Response>;
38
+ getMetadata(namespace: string, extension: string, target?: string, version?: string): Promise<Extension>;
39
+ /**
40
+ * Returns a page of an extension's published versions, newest first, one entry per version and
41
+ * target platform. `allVersions` on the metadata response carries version numbers and links
42
+ * only, so this is what makes the target platforms of each version available.
43
+ */
44
+ getVersionReferences(namespace: string, extension: string, target: string | undefined, size: number, offset: number): Promise<VersionReferences>;
45
+ /**
46
+ * Full-text search across the registry. Returns the purpose-built summary shape rather than
47
+ * whole extension records, so a page of results stays small.
48
+ */
49
+ search(options: SearchQuery): Promise<SearchResult>;
50
+ /** Returns a namespace and the extensions published in it. */
51
+ getNamespace(namespace: string): Promise<Namespace>;
27
52
  download(file: string, url: URL): Promise<void>;
28
53
  getJson<T extends Response>(url: URL): Promise<T>;
29
54
  post<T extends Response>(content: string | Buffer | Uint8Array, url: URL, headers?: http.OutgoingHttpHeaders, maxBodyLength?: number): Promise<T>;
30
55
  postFile<T extends Response>(file: string, url: URL, headers?: http.OutgoingHttpHeaders, maxBodyLength?: number): Promise<T>;
31
56
  private getUrl;
32
57
  private getProtocol;
58
+ /**
59
+ * Node's `timeout` option only raises an event - the request stays open, which is why a server
60
+ * that accepts a connection and then says nothing used to hold a command open indefinitely.
61
+ * Destroying the request with an error routes through the error handling each caller already
62
+ * has, so a stalled request rejects the way any other failure does. With a timeout of zero the
63
+ * event never fires and this does nothing.
64
+ */
65
+ private failOnTimeout;
33
66
  private getRequestOptions;
34
67
  private getJsonResponse;
35
68
  }
@@ -59,8 +92,18 @@ export interface Extension extends Response {
59
92
  versionAlias: string[];
60
93
  timestamp: string;
61
94
  preview?: boolean;
95
+ preRelease?: boolean;
62
96
  displayName?: string;
97
+ namespaceDisplayName?: string;
63
98
  description?: string;
99
+ deprecated?: boolean;
100
+ replacement?: ExtensionReplacement;
101
+ downloadable?: boolean;
102
+ publishedWithTrustedPublishing?: boolean;
103
+ namespaceOwnershipConflict?: boolean;
104
+ extensionKind?: string[];
105
+ localizedLanguages?: string[];
106
+ sponsorLink?: string;
64
107
  engines?: {
65
108
  [engine: string]: string;
66
109
  };
@@ -78,6 +121,23 @@ export interface Extension extends Response {
78
121
  dependencies?: ExtensionReference[];
79
122
  bundledExtensions?: ExtensionReference[];
80
123
  }
124
+ export interface RegistryVersion extends Response {
125
+ version: string;
126
+ maxExtensionSize: number;
127
+ trustedPublishingAudience?: string;
128
+ }
129
+ export interface AccessToken extends Response {
130
+ id: number;
131
+ value?: string;
132
+ description: string;
133
+ createdTimestamp: string;
134
+ accessedTimestamp?: string;
135
+ expiresTimestamp?: string;
136
+ }
137
+ export interface TargetPlatformVersion {
138
+ version: string;
139
+ targetPlatform?: string;
140
+ }
81
141
  export interface UserData {
82
142
  loginName: string;
83
143
  fullName?: string;
@@ -89,6 +149,64 @@ export interface Badge {
89
149
  href: string;
90
150
  description: string;
91
151
  }
152
+ export interface ExtensionReplacement {
153
+ url: string;
154
+ displayName?: string;
155
+ }
156
+ export interface VersionReference {
157
+ url: string;
158
+ files: {
159
+ [type: string]: string;
160
+ };
161
+ version: string;
162
+ targetPlatform?: string;
163
+ engines?: {
164
+ [engine: string]: string;
165
+ };
166
+ }
167
+ export interface VersionReferences extends Response {
168
+ offset: number;
169
+ totalSize: number;
170
+ versions?: VersionReference[];
171
+ }
172
+ export interface SearchQuery {
173
+ query?: string;
174
+ category?: string;
175
+ targetPlatform?: string;
176
+ sortBy?: string;
177
+ sortOrder?: string;
178
+ size: number;
179
+ offset: number;
180
+ }
181
+ export interface SearchEntry {
182
+ url: string;
183
+ files: {
184
+ [type: string]: string;
185
+ };
186
+ name: string;
187
+ namespace: string;
188
+ version: string;
189
+ timestamp: string;
190
+ verified?: boolean;
191
+ averageRating?: number;
192
+ reviewCount?: number;
193
+ downloadCount: number;
194
+ displayName?: string;
195
+ description?: string;
196
+ deprecated?: boolean;
197
+ }
198
+ export interface SearchResult extends Response {
199
+ offset: number;
200
+ totalSize: number;
201
+ extensions?: SearchEntry[];
202
+ }
203
+ export interface Namespace extends Response {
204
+ name: string;
205
+ verified?: boolean;
206
+ extensions?: {
207
+ [name: string]: string;
208
+ };
209
+ }
92
210
  export interface ExtensionReference {
93
211
  url: string;
94
212
  namespace: string;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}