@guanjinke/artifact-client 1.0.1 → 1.1.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/README.md +173 -165
- package/dist/artifact-client.d.ts +15 -0
- package/dist/artifact-client.d.ts.map +1 -1
- package/dist/artifact-client.js +20 -0
- package/dist/artifact-client.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +25 -46
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/providers/azure-provider.d.ts +6 -18
- package/dist/providers/azure-provider.d.ts.map +1 -1
- package/dist/providers/azure-provider.js +100 -188
- package/dist/providers/azure-provider.js.map +1 -1
- package/dist/providers/oss-provider.d.ts +6 -17
- package/dist/providers/oss-provider.d.ts.map +1 -1
- package/dist/providers/oss-provider.js +106 -195
- package/dist/providers/oss-provider.js.map +1 -1
- package/dist/providers/storage-provider.d.ts +10 -0
- package/dist/providers/storage-provider.d.ts.map +1 -1
- package/dist/providers/storage-provider.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/semver.d.ts +6 -32
- package/dist/utils/semver.d.ts.map +1 -1
- package/dist/utils/semver.js +18 -55
- package/dist/utils/semver.js.map +1 -1
- package/package.json +43 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-provider.d.ts","sourceRoot":"","sources":["../../src/providers/azure-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"azure-provider.d.ts","sourceRoot":"","sources":["../../src/providers/azure-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAYlB,qBAAa,aAAc,SAAQ,eAAe;IAChD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,IAAI,CAAS;gBAET,MAAM,EAAE,WAAW;IAMzB,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAmBvE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuCzF,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ5G,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAsB1G,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBhH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/G,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAUjF,mBAAmB;IAQjC,6EAA6E;YAC/D,iBAAiB;IAa/B,kEAAkE;YACpD,UAAU;YAcV,mBAAmB;IAcjC,OAAO,CAAC,oBAAoB;CAO7B"}
|
|
@@ -39,295 +39,207 @@ const path = __importStar(require("path"));
|
|
|
39
39
|
const storage_blob_1 = require("@azure/storage-blob");
|
|
40
40
|
const storage_provider_1 = require("./storage-provider");
|
|
41
41
|
const semver_1 = require("../utils/semver");
|
|
42
|
+
const semver_2 = require("semver");
|
|
42
43
|
const format_1 = require("../utils/format");
|
|
43
|
-
const PLUGIN_ARTIFACTS_PREFIX = 'plugin_artifacts/';
|
|
44
|
-
/**
|
|
45
|
-
* Azure Blob Storage provider.
|
|
46
|
-
* Connects via SAS URL and operates within a single container.
|
|
47
|
-
*/
|
|
48
44
|
class AzureProvider extends storage_provider_1.StorageProvider {
|
|
49
45
|
containerClient;
|
|
46
|
+
base;
|
|
50
47
|
constructor(config) {
|
|
51
48
|
super();
|
|
52
49
|
this.containerClient = new storage_blob_1.ContainerClient(config.sasUrl);
|
|
50
|
+
this.base = config.basePrefix ?? 'plugin_artifacts';
|
|
53
51
|
}
|
|
54
|
-
// ============================================================
|
|
55
|
-
// listPlugins
|
|
56
|
-
// ============================================================
|
|
57
52
|
async listPlugins(options) {
|
|
58
53
|
const plugins = [];
|
|
59
|
-
const
|
|
54
|
+
const prefix = this.base ? this.base + '/' : '';
|
|
60
55
|
for await (const item of this.containerClient.listBlobsByHierarchy('/', {
|
|
61
|
-
prefix
|
|
56
|
+
prefix,
|
|
62
57
|
})) {
|
|
63
58
|
if (item.kind === 'prefix') {
|
|
64
|
-
|
|
65
|
-
const name = item.name
|
|
66
|
-
.slice(PLUGIN_ARTIFACTS_PREFIX.length)
|
|
67
|
-
.replace(/\/$/, '');
|
|
59
|
+
const name = item.name.slice(prefix.length).replace(/\/$/, '');
|
|
68
60
|
if (!name)
|
|
69
61
|
continue;
|
|
70
|
-
const plugin = {
|
|
71
|
-
|
|
72
|
-
path: item.name,
|
|
73
|
-
};
|
|
74
|
-
if (includeSize) {
|
|
62
|
+
const plugin = { name, path: item.name };
|
|
63
|
+
if (options?.includeSize)
|
|
75
64
|
plugin.totalSizeMB = await this.calculatePrefixSize(item.name);
|
|
76
|
-
}
|
|
77
65
|
plugins.push(plugin);
|
|
78
66
|
}
|
|
79
67
|
}
|
|
80
68
|
return plugins.sort((a, b) => a.name.localeCompare(b.name));
|
|
81
69
|
}
|
|
82
|
-
// ============================================================
|
|
83
|
-
// listMajorVersions
|
|
84
|
-
// ============================================================
|
|
85
70
|
async listMajorVersions(pluginName, options) {
|
|
86
|
-
const includeSize = options?.includeSize ?? false;
|
|
87
71
|
const majorMap = new Map();
|
|
88
|
-
|
|
89
|
-
const pluginPrefix = (0, semver_1.getPluginPrefix)(pluginName);
|
|
72
|
+
const pluginPrefix = (0, semver_1.getPluginPrefix)(this.base, pluginName);
|
|
90
73
|
for await (const item of this.containerClient.listBlobsByHierarchy('/', {
|
|
91
74
|
prefix: pluginPrefix,
|
|
92
75
|
})) {
|
|
93
76
|
if (item.kind === 'prefix') {
|
|
94
|
-
|
|
95
|
-
const dirName = item.name
|
|
96
|
-
.slice(pluginPrefix.length)
|
|
97
|
-
.replace(/\/$/, '');
|
|
77
|
+
const dirName = item.name.slice(pluginPrefix.length).replace(/\/$/, '');
|
|
98
78
|
if (!dirName)
|
|
99
79
|
continue;
|
|
100
80
|
const major = (0, semver_1.extractMajorMinor)(dirName);
|
|
101
81
|
if (!majorMap.has(major)) {
|
|
102
|
-
majorMap.set(major, {
|
|
103
|
-
majorVersion: major,
|
|
104
|
-
minorCount: 0,
|
|
105
|
-
path: `${pluginPrefix}${major}/`,
|
|
106
|
-
});
|
|
82
|
+
majorMap.set(major, { majorVersion: major, minorCount: 0, path: pluginPrefix + major + '/' });
|
|
107
83
|
}
|
|
108
84
|
const entry = majorMap.get(major);
|
|
109
85
|
entry.minorCount++;
|
|
110
|
-
if (includeSize) {
|
|
111
|
-
|
|
112
|
-
entry.totalSizeMB = (entry.totalSizeMB ?? 0) + dirSize;
|
|
86
|
+
if (options?.includeSize) {
|
|
87
|
+
entry.totalSizeMB = (entry.totalSizeMB ?? 0) + await this.calculatePrefixSize(item.name);
|
|
113
88
|
}
|
|
114
89
|
}
|
|
115
90
|
}
|
|
116
|
-
// Read latest version from version files for each major
|
|
117
91
|
for (const [major, info] of majorMap) {
|
|
118
92
|
try {
|
|
119
|
-
const
|
|
120
|
-
if (
|
|
121
|
-
info.latestVersion =
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
catch {
|
|
125
|
-
// Version file may not exist yet — that's ok
|
|
93
|
+
const v = await this.readLatestVersion(pluginName, major);
|
|
94
|
+
if (v)
|
|
95
|
+
info.latestVersion = v;
|
|
126
96
|
}
|
|
97
|
+
catch { /* ok */ }
|
|
127
98
|
}
|
|
128
99
|
const result = Array.from(majorMap.values());
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
result.sort((a, b) => {
|
|
141
|
-
if (a.majorVersion === 'dev')
|
|
142
|
-
return 1;
|
|
143
|
-
if (b.majorVersion === 'dev')
|
|
144
|
-
return -1;
|
|
145
|
-
return this.compareMajorVersions(a.majorVersion, b.majorVersion);
|
|
146
|
-
});
|
|
147
|
-
}
|
|
100
|
+
result.sort((a, b) => {
|
|
101
|
+
if (a.majorVersion === 'dev')
|
|
102
|
+
return 1;
|
|
103
|
+
if (b.majorVersion === 'dev')
|
|
104
|
+
return -1;
|
|
105
|
+
const cmp = this.compareMajorVersions(a.majorVersion, b.majorVersion);
|
|
106
|
+
return options?.sortOrder === 'asc' ? cmp : -cmp;
|
|
107
|
+
});
|
|
148
108
|
return result;
|
|
149
109
|
}
|
|
150
|
-
// ============================================================
|
|
151
|
-
// getLatestVersion
|
|
152
|
-
// ============================================================
|
|
153
110
|
async getLatestVersion(pluginName, majorVersion, options) {
|
|
154
|
-
const
|
|
155
|
-
if (!
|
|
156
|
-
throw new Error(`No latest version found for plugin "${pluginName}" major "${majorVersion}"
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
const version = {
|
|
160
|
-
version: latestVersion,
|
|
161
|
-
path: (0, semver_1.getVersionPrefix)(pluginName, latestVersion),
|
|
162
|
-
};
|
|
163
|
-
if (options?.includeSize) {
|
|
111
|
+
const latest = await this.readLatestVersion(pluginName, majorVersion);
|
|
112
|
+
if (!latest)
|
|
113
|
+
throw new Error(`No latest version found for plugin "${pluginName}" major "${majorVersion}".`);
|
|
114
|
+
const version = { version: latest, path: (0, semver_1.getVersionPrefix)(this.base, pluginName, latest) };
|
|
115
|
+
if (options?.includeSize)
|
|
164
116
|
version.totalSizeMB = await this.calculatePrefixSize(version.path);
|
|
165
|
-
}
|
|
166
117
|
return version;
|
|
167
118
|
}
|
|
168
|
-
// ============================================================
|
|
169
|
-
// listMinorVersions
|
|
170
|
-
// ============================================================
|
|
171
119
|
async listMinorVersions(pluginName, majorVersion, options) {
|
|
172
|
-
const includeSize = options?.includeSize ?? false;
|
|
173
120
|
const versions = [];
|
|
174
|
-
const pluginPrefix = (0, semver_1.getPluginPrefix)(pluginName);
|
|
121
|
+
const pluginPrefix = (0, semver_1.getPluginPrefix)(this.base, pluginName);
|
|
175
122
|
for await (const item of this.containerClient.listBlobsByHierarchy('/', {
|
|
176
123
|
prefix: pluginPrefix,
|
|
177
124
|
})) {
|
|
178
125
|
if (item.kind === 'prefix') {
|
|
179
|
-
const dirName = item.name
|
|
180
|
-
.slice(pluginPrefix.length)
|
|
181
|
-
.replace(/\/$/, '');
|
|
126
|
+
const dirName = item.name.slice(pluginPrefix.length).replace(/\/$/, '');
|
|
182
127
|
if (!dirName)
|
|
183
128
|
continue;
|
|
184
|
-
|
|
185
|
-
// Only include versions matching the requested major
|
|
186
|
-
if (major !== majorVersion)
|
|
129
|
+
if ((0, semver_1.extractMajorMinor)(dirName) !== majorVersion)
|
|
187
130
|
continue;
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
if (includeSize) {
|
|
193
|
-
version.totalSizeMB = await this.calculatePrefixSize(item.name);
|
|
194
|
-
}
|
|
195
|
-
versions.push(version);
|
|
131
|
+
const v = { version: dirName, path: item.name };
|
|
132
|
+
if (options?.includeSize)
|
|
133
|
+
v.totalSizeMB = await this.calculatePrefixSize(item.name);
|
|
134
|
+
versions.push(v);
|
|
196
135
|
}
|
|
197
136
|
}
|
|
198
|
-
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
// Reorder the versions array according to sorted order
|
|
202
|
-
const versionMap = new Map(versions.map(v => [v.version, v]));
|
|
203
|
-
return sorted.map(v => versionMap.get(v)).filter(Boolean);
|
|
137
|
+
const sorted = (0, semver_1.sortVersions)(versions.map(v => v.version), options?.sortOrder ?? 'desc');
|
|
138
|
+
const map = new Map(versions.map(v => [v.version, v]));
|
|
139
|
+
return sorted.map(v => map.get(v)).filter(Boolean);
|
|
204
140
|
}
|
|
205
|
-
// ============================================================
|
|
206
|
-
// listArtifacts
|
|
207
|
-
// ============================================================
|
|
208
141
|
async listArtifacts(pluginName, version, options) {
|
|
209
|
-
const includeSize = options?.includeSize ?? false;
|
|
210
142
|
const artifacts = [];
|
|
211
|
-
const versionPrefix = (0, semver_1.getVersionPrefix)(pluginName, version);
|
|
212
|
-
for await (const blob of this.containerClient.listBlobsFlat({
|
|
213
|
-
prefix: versionPrefix,
|
|
214
|
-
})) {
|
|
143
|
+
const versionPrefix = (0, semver_1.getVersionPrefix)(this.base, pluginName, version);
|
|
144
|
+
for await (const blob of this.containerClient.listBlobsFlat({ prefix: versionPrefix })) {
|
|
215
145
|
const fileName = blob.name.slice(versionPrefix.length);
|
|
216
146
|
if (!fileName)
|
|
217
|
-
continue;
|
|
218
|
-
const
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
};
|
|
222
|
-
if (includeSize && blob.properties.contentLength !== undefined) {
|
|
223
|
-
artifact.sizeMB = (0, format_1.bytesToMB)(blob.properties.contentLength);
|
|
147
|
+
continue;
|
|
148
|
+
const a = { name: fileName, path: blob.name };
|
|
149
|
+
if (options?.includeSize && blob.properties.contentLength !== undefined) {
|
|
150
|
+
a.sizeMB = (0, format_1.bytesToMB)(blob.properties.contentLength);
|
|
224
151
|
}
|
|
225
|
-
artifacts.push(
|
|
152
|
+
artifacts.push(a);
|
|
226
153
|
}
|
|
227
154
|
return artifacts.sort((a, b) => a.name.localeCompare(b.name));
|
|
228
155
|
}
|
|
229
|
-
// ============================================================
|
|
230
|
-
// uploadArtifact
|
|
231
|
-
// ============================================================
|
|
232
156
|
async uploadArtifact(pluginName, version, artifactName, localFilePath) {
|
|
233
|
-
const blobPath = (0, semver_1.getArtifactPath)(pluginName, version, artifactName);
|
|
234
|
-
|
|
235
|
-
// Upload the file
|
|
236
|
-
await blockBlobClient.uploadFile(localFilePath);
|
|
237
|
-
// Update the version file with the latest version
|
|
157
|
+
const blobPath = (0, semver_1.getArtifactPath)(this.base, pluginName, version, artifactName);
|
|
158
|
+
await this.containerClient.getBlockBlobClient(blobPath).uploadFile(localFilePath);
|
|
238
159
|
const major = (0, semver_1.extractMajorMinor)(version);
|
|
239
160
|
await this.updateLatestVersion(pluginName, major, version);
|
|
240
161
|
}
|
|
241
|
-
// ============================================================
|
|
242
|
-
// downloadArtifactByPath
|
|
243
|
-
// ============================================================
|
|
244
162
|
async downloadArtifactByPath(fullPath, localDir) {
|
|
245
|
-
const blockBlobClient = this.containerClient.getBlockBlobClient(fullPath);
|
|
246
|
-
// Extract file name from path
|
|
247
163
|
const fileName = fullPath.split('/').pop() || 'artifact';
|
|
248
164
|
await fs.mkdir(localDir, { recursive: true });
|
|
249
|
-
|
|
250
|
-
await blockBlobClient.downloadToFile(localPath);
|
|
165
|
+
await this.containerClient.getBlockBlobClient(fullPath).downloadToFile(path.join(localDir, fileName));
|
|
251
166
|
}
|
|
252
|
-
// ============================================================
|
|
253
|
-
// downloadArtifact
|
|
254
|
-
// ============================================================
|
|
255
167
|
async downloadArtifact(pluginName, version, fileName, localDir) {
|
|
256
|
-
|
|
257
|
-
|
|
168
|
+
return this.downloadArtifactByPath((0, semver_1.getArtifactPath)(this.base, pluginName, version, fileName), localDir);
|
|
169
|
+
}
|
|
170
|
+
async downloadVersion(pluginName, version, localDir) {
|
|
171
|
+
const artifacts = await this.listArtifacts(pluginName, version);
|
|
172
|
+
const downloaded = [];
|
|
173
|
+
for (const a of artifacts) {
|
|
174
|
+
await this.downloadArtifactByPath(a.path, localDir);
|
|
175
|
+
downloaded.push(a.name);
|
|
176
|
+
}
|
|
177
|
+
return downloaded;
|
|
258
178
|
}
|
|
259
|
-
// ============================================================
|
|
260
|
-
// Private helpers
|
|
261
|
-
// ============================================================
|
|
262
|
-
/**
|
|
263
|
-
* Calculate the total size in MB of all blobs under a given prefix.
|
|
264
|
-
*/
|
|
265
179
|
async calculatePrefixSize(prefix) {
|
|
266
|
-
let
|
|
180
|
+
let bytes = 0;
|
|
267
181
|
for await (const blob of this.containerClient.listBlobsFlat({ prefix })) {
|
|
268
|
-
if (blob.properties.contentLength)
|
|
269
|
-
|
|
270
|
-
}
|
|
182
|
+
if (blob.properties.contentLength)
|
|
183
|
+
bytes += blob.properties.contentLength;
|
|
271
184
|
}
|
|
272
|
-
return (0, format_1.bytesToMB)(
|
|
185
|
+
return (0, format_1.bytesToMB)(bytes);
|
|
273
186
|
}
|
|
274
|
-
/**
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
async readLatestVersionFromFile(pluginName, majorVersion) {
|
|
279
|
-
const filePath = (0, semver_1.getVersionFilePath)(pluginName, majorVersion);
|
|
280
|
-
const blockBlobClient = this.containerClient.getBlockBlobClient(filePath);
|
|
187
|
+
/** Read latest version from metadata, falling back to directory scanning. */
|
|
188
|
+
async readLatestVersion(pluginName, majorVersion) {
|
|
189
|
+
// Try version file metadata first
|
|
190
|
+
const fp = (0, semver_1.getVersionFilePath)(this.base, pluginName, majorVersion);
|
|
281
191
|
try {
|
|
282
|
-
const
|
|
283
|
-
|
|
192
|
+
const props = await this.containerClient.getBlockBlobClient(fp).getProperties();
|
|
193
|
+
if (props.metadata?.latestversion)
|
|
194
|
+
return props.metadata.latestversion;
|
|
284
195
|
}
|
|
285
196
|
catch (err) {
|
|
286
|
-
if (err?.statusCode
|
|
287
|
-
|
|
197
|
+
if (err?.statusCode !== 404 && err?.code !== 'BlobNotFound')
|
|
198
|
+
throw err;
|
|
199
|
+
}
|
|
200
|
+
// Fallback: scan directories
|
|
201
|
+
return this.scanLatest(pluginName, majorVersion);
|
|
202
|
+
}
|
|
203
|
+
/** Scan version directories to find the latest matching major. */
|
|
204
|
+
async scanLatest(pluginName, majorVersion) {
|
|
205
|
+
const pluginPrefix = (0, semver_1.getPluginPrefix)(this.base, pluginName);
|
|
206
|
+
const versions = [];
|
|
207
|
+
for await (const item of this.containerClient.listBlobsByHierarchy('/', { prefix: pluginPrefix })) {
|
|
208
|
+
if (item.kind === 'prefix') {
|
|
209
|
+
const v = item.name.slice(pluginPrefix.length).replace(/\/$/, '');
|
|
210
|
+
if (v && (0, semver_1.extractMajorMinor)(v) === majorVersion)
|
|
211
|
+
versions.push(v);
|
|
288
212
|
}
|
|
289
|
-
throw err;
|
|
290
213
|
}
|
|
214
|
+
if (!versions.length)
|
|
215
|
+
return null;
|
|
216
|
+
versions.sort(semver_2.rcompare);
|
|
217
|
+
return versions[0];
|
|
291
218
|
}
|
|
292
|
-
/**
|
|
293
|
-
* Create or update a version file with the latestversion metadata.
|
|
294
|
-
*/
|
|
295
219
|
async updateLatestVersion(pluginName, majorVersion, latestVersion) {
|
|
296
|
-
const
|
|
297
|
-
const
|
|
298
|
-
// Check if the version file exists
|
|
220
|
+
const fp = (0, semver_1.getVersionFilePath)(this.base, pluginName, majorVersion);
|
|
221
|
+
const client = this.containerClient.getBlockBlobClient(fp);
|
|
299
222
|
let exists = false;
|
|
300
223
|
try {
|
|
301
|
-
await
|
|
224
|
+
await client.getProperties();
|
|
302
225
|
exists = true;
|
|
303
226
|
}
|
|
304
227
|
catch (err) {
|
|
305
|
-
if (err?.statusCode !== 404 && err?.code !== 'BlobNotFound')
|
|
228
|
+
if (err?.statusCode !== 404 && err?.code !== 'BlobNotFound')
|
|
306
229
|
throw err;
|
|
307
|
-
}
|
|
308
230
|
}
|
|
309
231
|
if (exists) {
|
|
310
|
-
|
|
311
|
-
await blockBlobClient.setMetadata({ latestversion: latestVersion });
|
|
232
|
+
await client.setMetadata({ latestversion: latestVersion });
|
|
312
233
|
}
|
|
313
234
|
else {
|
|
314
|
-
|
|
315
|
-
await blockBlobClient.upload(latestVersion, latestVersion.length, {
|
|
316
|
-
metadata: { latestversion: latestVersion },
|
|
317
|
-
});
|
|
235
|
+
await client.upload(latestVersion, latestVersion.length, { metadata: { latestversion: latestVersion } });
|
|
318
236
|
}
|
|
319
237
|
}
|
|
320
|
-
/**
|
|
321
|
-
* Compare two major version strings (e.g., "1.0" vs "2.3").
|
|
322
|
-
*/
|
|
323
238
|
compareMajorVersions(a, b) {
|
|
324
|
-
const
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
const numB = partsB[i] ?? 0;
|
|
329
|
-
if (numA !== numB)
|
|
330
|
-
return numA - numB;
|
|
239
|
+
const pa = a.split('.').map(Number), pb = b.split('.').map(Number);
|
|
240
|
+
for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
|
|
241
|
+
if ((pa[i] ?? 0) !== (pb[i] ?? 0))
|
|
242
|
+
return (pa[i] ?? 0) - (pb[i] ?? 0);
|
|
331
243
|
}
|
|
332
244
|
return 0;
|
|
333
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-provider.js","sourceRoot":"","sources":["../../src/providers/azure-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"azure-provider.js","sourceRoot":"","sources":["../../src/providers/azure-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { StorageProvider } from './storage-provider';
|
|
2
2
|
import { OSSConfig, PluginInfo, MajorVersionInfo, VersionInfo, ArtifactInfo, ListOptions, GetLatestOptions } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Aliyun OSS (Object Storage Service) provider.
|
|
5
|
-
* Connects via access key ID + access key secret.
|
|
6
|
-
*/
|
|
7
3
|
export declare class OSSProvider extends StorageProvider {
|
|
8
4
|
private client;
|
|
5
|
+
private base;
|
|
9
6
|
constructor(config: OSSConfig);
|
|
10
7
|
listPlugins(options?: {
|
|
11
8
|
includeSize?: boolean;
|
|
@@ -19,21 +16,13 @@ export declare class OSSProvider extends StorageProvider {
|
|
|
19
16
|
uploadArtifact(pluginName: string, version: string, artifactName: string, localFilePath: string): Promise<void>;
|
|
20
17
|
downloadArtifactByPath(fullPath: string, localDir: string): Promise<void>;
|
|
21
18
|
downloadArtifact(pluginName: string, version: string, fileName: string, localDir: string): Promise<void>;
|
|
22
|
-
|
|
23
|
-
* Calculate the total size in MB of all objects under a given prefix.
|
|
24
|
-
*/
|
|
19
|
+
downloadVersion(pluginName: string, version: string, localDir: string): Promise<string[]>;
|
|
25
20
|
private calculatePrefixSize;
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
private
|
|
30
|
-
/**
|
|
31
|
-
* Create or update a version file with the latestversion tag.
|
|
32
|
-
*/
|
|
21
|
+
/** Read latest version from tag, falling back to directory scanning. */
|
|
22
|
+
private readLatestVersion;
|
|
23
|
+
/** Scan version directories to find the latest matching major. */
|
|
24
|
+
private scanLatest;
|
|
33
25
|
private updateLatestVersion;
|
|
34
|
-
/**
|
|
35
|
-
* Compare two major version strings.
|
|
36
|
-
*/
|
|
37
26
|
private compareMajorVersions;
|
|
38
27
|
}
|
|
39
28
|
//# sourceMappingURL=oss-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oss-provider.d.ts","sourceRoot":"","sources":["../../src/providers/oss-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"oss-provider.d.ts","sourceRoot":"","sources":["../../src/providers/oss-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAYlB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,IAAI,CAAS;gBAET,MAAM,EAAE,SAAS;IAYvB,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAmBvE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAqCzF,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ5G,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAsB1G,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAmBhH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/G,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAUjF,mBAAmB;IAUjC,wEAAwE;YAC1D,iBAAiB;IAa/B,kEAAkE;YACpD,UAAU;YAYV,mBAAmB;IAUjC,OAAO,CAAC,oBAAoB;CAO7B"}
|