@guanjinke/artifact-client 1.0.1 → 1.0.2

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
@@ -107,7 +107,7 @@ afm az upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
107
107
  afm az download --path "plugin_artifacts/myPlugin/1.0.5/bundle.zip" --out ./downloads
108
108
 
109
109
  # Download by name
110
- afm az download --plugin myPlugin --version 1.0.5 --file bundle.zip --out ./downloads
110
+ afm az download --plugin myPlugin --ver 1.0.5 --file bundle.zip --out ./downloads
111
111
 
112
112
  # Manage config
113
113
  afm az config show
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CA+BvC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CA+BvC"}
package/dist/cli/setup.js CHANGED
@@ -114,14 +114,7 @@ function addSharedCommands(program, type) {
114
114
  console.log('No plugins found.');
115
115
  return;
116
116
  }
117
- for (const p of plugins) {
118
- if (options.size && p.totalSizeMB !== undefined) {
119
- console.log(`${p.name}\t${p.totalSizeMB.toFixed(2)} MB\t${p.path}`);
120
- }
121
- else {
122
- console.log(`${p.name}\t${p.path}`);
123
- }
124
- }
117
+ console.table(plugins);
125
118
  }
126
119
  catch (err) {
127
120
  console.error('Error:', err.message);
@@ -151,17 +144,7 @@ function addSharedCommands(program, type) {
151
144
  console.log(`No major versions found for plugin "${plugin}".`);
152
145
  return;
153
146
  }
154
- for (const m of majors) {
155
- const parts = [m.majorVersion];
156
- if (m.latestVersion)
157
- parts.push(`(latest: ${m.latestVersion})`);
158
- parts.push(`minors: ${m.minorCount}`);
159
- if (options.size && m.totalSizeMB !== undefined) {
160
- parts.push(`${m.totalSizeMB.toFixed(2)} MB`);
161
- }
162
- parts.push(m.path);
163
- console.log(parts.join('\t'));
164
- }
147
+ console.table(majors);
165
148
  }
166
149
  catch (err) {
167
150
  console.error('Error:', err.message);
@@ -184,11 +167,7 @@ function addSharedCommands(program, type) {
184
167
  const client = createClient(type, options);
185
168
  try {
186
169
  const info = await client.getLatestVersion(plugin, major, { includeSize: options.size });
187
- const parts = [info.version, info.path];
188
- if (options.size && info.totalSizeMB !== undefined) {
189
- parts.push(`${info.totalSizeMB.toFixed(2)} MB`);
190
- }
191
- console.log(parts.join('\t'));
170
+ console.table([info]);
192
171
  }
193
172
  catch (err) {
194
173
  console.error('Error:', err.message);
@@ -219,14 +198,7 @@ function addSharedCommands(program, type) {
219
198
  console.log(`No minor versions found for plugin "${plugin}" major "${major}".`);
220
199
  return;
221
200
  }
222
- for (const v of versions) {
223
- const parts = [v.version];
224
- if (options.size && v.totalSizeMB !== undefined) {
225
- parts.push(`${v.totalSizeMB.toFixed(2)} MB`);
226
- }
227
- parts.push(v.path);
228
- console.log(parts.join('\t'));
229
- }
201
+ console.table(versions);
230
202
  }
231
203
  catch (err) {
232
204
  console.error('Error:', err.message);
@@ -255,14 +227,7 @@ function addSharedCommands(program, type) {
255
227
  console.log(`No artifacts found for plugin "${plugin}" version "${version}".`);
256
228
  return;
257
229
  }
258
- for (const a of artifacts) {
259
- const parts = [a.name];
260
- if (options.size && a.sizeMB !== undefined) {
261
- parts.push(`${a.sizeMB.toFixed(2)} MB`);
262
- }
263
- parts.push(a.path);
264
- console.log(parts.join('\t'));
265
- }
230
+ console.table(artifacts);
266
231
  }
267
232
  catch (err) {
268
233
  console.error('Error:', err.message);
@@ -299,7 +264,7 @@ function addSharedCommands(program, type) {
299
264
  .description('Download an artifact')
300
265
  .option('--path <fullPath>', 'Full storage path of the artifact')
301
266
  .option('--plugin <name>', 'Plugin name')
302
- .option('--version <ver>', 'Version (e.g., "1.0.5")')
267
+ .option('--ver <version>', 'Version (e.g., "1.0.5")')
303
268
  .option('--file <name>', 'Artifact file name')
304
269
  .option('--out <dir>', 'Local output directory', './')
305
270
  .option('--sasurl <url>', 'Azure SAS URL')
@@ -316,13 +281,13 @@ function addSharedCommands(program, type) {
316
281
  const fileName = options.path.split('/').pop();
317
282
  console.log(`Downloaded: ${options.path} -> ${options.out}/${fileName}`);
318
283
  }
319
- else if (options.plugin && options.version && options.file) {
284
+ else if (options.plugin && options.ver && options.file) {
320
285
  // Download by plugin + version + file
321
- await client.downloadArtifact(options.plugin, options.version, options.file, options.out);
322
- console.log(`Downloaded: plugin_artifacts/${options.plugin}/${options.version}/${options.file} -> ${options.out}/${options.file}`);
286
+ await client.downloadArtifact(options.plugin, options.ver, options.file, options.out);
287
+ console.log(`Downloaded: ${options.plugin}/${options.ver}/${options.file} -> ${options.out}/${options.file}`);
323
288
  }
324
289
  else {
325
- console.error('Error: Specify either --path for full path download, or --plugin, --version, and --file.');
290
+ console.error('Error: Specify either --path for full path download, or --plugin, --ver, and --file.');
326
291
  process.exit(1);
327
292
  }
328
293
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":";;AASA,sCA+BC;AAxCD,yCAAoC;AACpC,wDAAoD;AACpD,qDAA0G;AAG1G;;;GAGG;AACH,SAAgB,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,kDAAkD,CAAC;SAC/D,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,+DAA+D;IAC/D,iBAAiB;IACjB,+DAA+D;IAE/D,MAAM,SAAS,GAAG,IAAI,mBAAO,CAAC,IAAI,CAAC;SAChC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAE3C,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEnC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAE9B,+DAA+D;IAC/D,eAAe;IACf,+DAA+D;IAE/D,MAAM,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;SAClC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAExC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAErC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAE/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAgB,EAAE,IAAkB;IAC7D,gBAAgB;IAChB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SACnD,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,2BAA2B,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;SACzD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;SACpD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAA,gCAAe,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,IAAA,8BAAa,GAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAA,8BAAa,EAAC;gBACZ,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,IAAA,8BAAa,GAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,QAAQ,CAAC,UAAU,EAAE,iCAAiC,EAAE,MAAM,CAAC;SAC/D,MAAM,CAAC,CAAC,MAAc,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,IAAA,2BAAU,GAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5B,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,OAAO;gBACV,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO,MAAM,CAAC,EAAE,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,OAAO,MAAM,CAAC,GAAG,CAAC;gBACpB,CAAC;gBACD,IAAA,4BAAW,EAAC,MAAM,CAAC,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,MAAM,CAAC;YACZ;gBACE,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,uBAAuB;IACvB,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,sBAAsB;IACtB,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;SACnC,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE;gBACpD,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,SAAS,EAAE,OAAO,CAAC,IAAI;aACxB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,uCAAuC,MAAM,IAAI,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,qBAAqB;IACrB,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;SACnC,QAAQ,CAAC,SAAS,EAAE,sCAAsC,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,KAAa,EAAE,OAAO,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,sBAAsB;IACtB,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,yCAAyC,CAAC;SACtD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;SACnC,QAAQ,CAAC,SAAS,EAAE,sCAAsC,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,KAAa,EAAE,OAAO,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;gBAC7D,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,SAAS,EAAE,OAAO,CAAC,IAAI;aACxB,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,uCAAuC,MAAM,YAAY,KAAK,IAAI,CAAC,CAAC;gBAChF,OAAO;YACT,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,yBAAyB;IACzB,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,2CAA2C,CAAC;SACxD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;SACnC,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QACzD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE;gBAC5D,WAAW,EAAE,OAAO,CAAC,IAAI;aAC1B,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,kCAAkC,MAAM,cAAc,OAAO,IAAI,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wCAAwC,CAAC;SACrD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;SACnC,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;SAChD,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;SAC1D,QAAQ,CAAC,cAAc,EAAE,2BAA2B,CAAC;SACrD,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,YAAoB,EAAE,SAAiB,EAAE,OAAO,EAAE,EAAE;QAClG,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,wBAAwB,MAAM,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,mBAAmB;IACnB,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC;SAChE,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;SAC7C,MAAM,CAAC,aAAa,EAAE,wBAAwB,EAAE,IAAI,CAAC;SACrD,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;SACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,wBAAwB;gBACxB,MAAM,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACzD,sCAAsC;gBACtC,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtF,OAAO,CAAC,GAAG,CACT,eAAe,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CACjG,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,sFAAsF,CACvF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAkB,EAAE,UAAe;IACvD,MAAM,YAAY,GAAG,IAAA,2BAAU,GAAE,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAiC,CAAC;QACnD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,gCAAc,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,MAA+B,CAAC;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,SAAS,EAAE,KAAK,CAAC;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,SAAS,EAAE,GAAG,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CACX,2FAA2F,CAC5F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,gCAAc,CAAC,KAAK,EAAE;YAC/B,KAAK;YACL,GAAG;YACH,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,SAAS,EAAE,MAAM;YAC9C,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,SAAS,EAAE,MAAM;SAC/C,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,11 +1,8 @@
1
1
  import { StorageProvider } from './storage-provider';
2
2
  import { AzureConfig, PluginInfo, MajorVersionInfo, VersionInfo, ArtifactInfo, ListOptions, GetLatestOptions } from '../types';
3
- /**
4
- * Azure Blob Storage provider.
5
- * Connects via SAS URL and operates within a single container.
6
- */
7
3
  export declare class AzureProvider extends StorageProvider {
8
4
  private containerClient;
5
+ private base;
9
6
  constructor(config: AzureConfig);
10
7
  listPlugins(options?: {
11
8
  includeSize?: boolean;
@@ -19,22 +16,12 @@ export declare class AzureProvider 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 blobs under a given prefix.
24
- */
25
19
  private calculatePrefixSize;
26
- /**
27
- * Read the latestversion metadata from a version file.
28
- * Returns null if the file does not exist or has no latestversion metadata.
29
- */
30
- private readLatestVersionFromFile;
31
- /**
32
- * Create or update a version file with the latestversion metadata.
33
- */
20
+ /** Read latest version from metadata, falling back to directory scanning. */
21
+ private readLatestVersion;
22
+ /** Scan version directories to find the latest matching major. */
23
+ private scanLatest;
34
24
  private updateLatestVersion;
35
- /**
36
- * Compare two major version strings (e.g., "1.0" vs "2.3").
37
- */
38
25
  private compareMajorVersions;
39
26
  }
40
27
  //# sourceMappingURL=azure-provider.d.ts.map
@@ -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;AAclB;;;GAGG;AACH,qBAAa,aAAc,SAAQ,eAAe;IAChD,OAAO,CAAC,eAAe,CAAkB;gBAE7B,MAAM,EAAE,WAAW;IASzB,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAmCvE,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA0ExB,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC;IA0BjB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IA8CnB,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAClC,OAAO,CAAC,YAAY,EAAE,CAAC;IA+BpB,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAgBV,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAShB;;OAEG;YACW,mBAAmB;IAYjC;;;OAGG;YACW,yBAAyB;IAkBvC;;OAEG;YACW,mBAAmB;IAkCjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAY7B"}
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;YAIhG,mBAAmB;IAQjC,6EAA6E;YAC/D,iBAAiB;IAa/B,kEAAkE;YACpD,UAAU;YAcV,mBAAmB;IAcjC,OAAO,CAAC,oBAAoB;CAO7B"}
@@ -39,295 +39,198 @@ 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 includeSize = options?.includeSize ?? false;
54
+ const prefix = this.base ? this.base + '/' : '';
60
55
  for await (const item of this.containerClient.listBlobsByHierarchy('/', {
61
- prefix: PLUGIN_ARTIFACTS_PREFIX,
56
+ prefix,
62
57
  })) {
63
58
  if (item.kind === 'prefix') {
64
- // Prefix looks like "plugin_artifacts/myPlugin/"
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
- name,
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
- // Scan all entries under the plugin directory
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
- // This is a version directory, e.g. "plugin_artifacts/myPlugin/1.0.5/"
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
- const dirSize = await this.calculatePrefixSize(item.name);
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 latestVersion = await this.readLatestVersionFromFile(pluginName, major);
120
- if (latestVersion) {
121
- info.latestVersion = 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
- // Sort by semantic version (major.minor), special case "dev" at the end
130
- if (options?.sortOrder !== 'asc') {
131
- result.sort((a, b) => {
132
- if (a.majorVersion === 'dev')
133
- return 1;
134
- if (b.majorVersion === 'dev')
135
- return -1;
136
- return -this.compareMajorVersions(a.majorVersion, b.majorVersion);
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 latestVersion = await this.readLatestVersionFromFile(pluginName, majorVersion);
155
- if (!latestVersion) {
156
- throw new Error(`No latest version found for plugin "${pluginName}" major "${majorVersion}". ` +
157
- `The version file may not exist or has no latestversion metadata.`);
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
- const major = (0, semver_1.extractMajorMinor)(dirName);
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 version = {
189
- version: dirName,
190
- path: item.name,
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
- // Sort by semver
199
- const versionStrings = versions.map(v => v.version);
200
- const sorted = (0, semver_1.sortVersions)(versionStrings, options?.sortOrder ?? 'desc');
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; // Skip the directory marker itself
218
- const artifact = {
219
- name: fileName,
220
- path: blob.name,
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(artifact);
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
- const blockBlobClient = this.containerClient.getBlockBlobClient(blobPath);
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
- const localPath = path.join(localDir, fileName);
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
- const blobPath = (0, semver_1.getArtifactPath)(pluginName, version, fileName);
257
- return this.downloadArtifactByPath(blobPath, localDir);
168
+ return this.downloadArtifactByPath((0, semver_1.getArtifactPath)(this.base, pluginName, version, fileName), localDir);
258
169
  }
259
- // ============================================================
260
- // Private helpers
261
- // ============================================================
262
- /**
263
- * Calculate the total size in MB of all blobs under a given prefix.
264
- */
265
170
  async calculatePrefixSize(prefix) {
266
- let totalBytes = 0;
171
+ let bytes = 0;
267
172
  for await (const blob of this.containerClient.listBlobsFlat({ prefix })) {
268
- if (blob.properties.contentLength) {
269
- totalBytes += blob.properties.contentLength;
270
- }
173
+ if (blob.properties.contentLength)
174
+ bytes += blob.properties.contentLength;
271
175
  }
272
- return (0, format_1.bytesToMB)(totalBytes);
176
+ return (0, format_1.bytesToMB)(bytes);
273
177
  }
274
- /**
275
- * Read the latestversion metadata from a version file.
276
- * Returns null if the file does not exist or has no latestversion metadata.
277
- */
278
- async readLatestVersionFromFile(pluginName, majorVersion) {
279
- const filePath = (0, semver_1.getVersionFilePath)(pluginName, majorVersion);
280
- const blockBlobClient = this.containerClient.getBlockBlobClient(filePath);
178
+ /** Read latest version from metadata, falling back to directory scanning. */
179
+ async readLatestVersion(pluginName, majorVersion) {
180
+ // Try version file metadata first
181
+ const fp = (0, semver_1.getVersionFilePath)(this.base, pluginName, majorVersion);
281
182
  try {
282
- const properties = await blockBlobClient.getProperties();
283
- return properties.metadata?.latestversion ?? null;
183
+ const props = await this.containerClient.getBlockBlobClient(fp).getProperties();
184
+ if (props.metadata?.latestversion)
185
+ return props.metadata.latestversion;
284
186
  }
285
187
  catch (err) {
286
- if (err?.statusCode === 404 || err?.code === 'BlobNotFound') {
287
- return null;
188
+ if (err?.statusCode !== 404 && err?.code !== 'BlobNotFound')
189
+ throw err;
190
+ }
191
+ // Fallback: scan directories
192
+ return this.scanLatest(pluginName, majorVersion);
193
+ }
194
+ /** Scan version directories to find the latest matching major. */
195
+ async scanLatest(pluginName, majorVersion) {
196
+ const pluginPrefix = (0, semver_1.getPluginPrefix)(this.base, pluginName);
197
+ const versions = [];
198
+ for await (const item of this.containerClient.listBlobsByHierarchy('/', { prefix: pluginPrefix })) {
199
+ if (item.kind === 'prefix') {
200
+ const v = item.name.slice(pluginPrefix.length).replace(/\/$/, '');
201
+ if (v && (0, semver_1.extractMajorMinor)(v) === majorVersion)
202
+ versions.push(v);
288
203
  }
289
- throw err;
290
204
  }
205
+ if (!versions.length)
206
+ return null;
207
+ versions.sort(semver_2.rcompare);
208
+ return versions[0];
291
209
  }
292
- /**
293
- * Create or update a version file with the latestversion metadata.
294
- */
295
210
  async updateLatestVersion(pluginName, majorVersion, latestVersion) {
296
- const filePath = (0, semver_1.getVersionFilePath)(pluginName, majorVersion);
297
- const blockBlobClient = this.containerClient.getBlockBlobClient(filePath);
298
- // Check if the version file exists
211
+ const fp = (0, semver_1.getVersionFilePath)(this.base, pluginName, majorVersion);
212
+ const client = this.containerClient.getBlockBlobClient(fp);
299
213
  let exists = false;
300
214
  try {
301
- await blockBlobClient.getProperties();
215
+ await client.getProperties();
302
216
  exists = true;
303
217
  }
304
218
  catch (err) {
305
- if (err?.statusCode !== 404 && err?.code !== 'BlobNotFound') {
219
+ if (err?.statusCode !== 404 && err?.code !== 'BlobNotFound')
306
220
  throw err;
307
- }
308
221
  }
309
222
  if (exists) {
310
- // Update metadata only
311
- await blockBlobClient.setMetadata({ latestversion: latestVersion });
223
+ await client.setMetadata({ latestversion: latestVersion });
312
224
  }
313
225
  else {
314
- // Create the file with the version as content and set metadata
315
- await blockBlobClient.upload(latestVersion, latestVersion.length, {
316
- metadata: { latestversion: latestVersion },
317
- });
226
+ await client.upload(latestVersion, latestVersion.length, { metadata: { latestversion: latestVersion } });
318
227
  }
319
228
  }
320
- /**
321
- * Compare two major version strings (e.g., "1.0" vs "2.3").
322
- */
323
229
  compareMajorVersions(a, b) {
324
- const partsA = a.split('.').map(Number);
325
- const partsB = b.split('.').map(Number);
326
- for (let i = 0; i < Math.max(partsA.length, partsB.length); i++) {
327
- const numA = partsA[i] ?? 0;
328
- const numB = partsB[i] ?? 0;
329
- if (numA !== numB)
330
- return numA - numB;
230
+ const pa = a.split('.').map(Number), pb = b.split('.').map(Number);
231
+ for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
232
+ if ((pa[i] ?? 0) !== (pb[i] ?? 0))
233
+ return (pa[i] ?? 0) - (pb[i] ?? 0);
331
234
  }
332
235
  return 0;
333
236
  }