@guanjinke/artifact-client 1.1.2 → 1.3.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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Artifact management client and CLI for Azure Blob Storage and Aliyun OSS.
4
4
 
5
- Manage plugin build artifacts stored in `plugin_artifacts/` — list plugins, versions, artifacts, upload and download with automatic version tracking.
5
+ Manage plugin build artifacts stored in `plugin_artifacts/` — list plugins, versions, artifacts, upload, download, and record which version each product major version currently releases.
6
6
 
7
7
  ## Installation
8
8
 
@@ -58,9 +58,13 @@ const minors = await client.listMinorVersions('myPlugin', '1.0');
58
58
  const artifacts = await client.listArtifacts('myPlugin', '1.0.5');
59
59
  // [{ name: 'bundle.zip', path: '...', sizeMB: 12.5 }, ...]
60
60
 
61
- // Upload an artifact
61
+ // Upload an artifact into a version directory (a plain write: no major version pointer
62
+ // pointer is touched)
62
63
  await client.uploadArtifact('myPlugin', '1.0.6', 'bundle.zip', './dist/bundle.zip');
63
64
 
65
+ // Separately, record it as the latest version of a product major version
66
+ await client.updateLatestVersion('myPlugin', '9.1-hotfix1', '1.0.6');
67
+
64
68
  // Download by full path
65
69
  await client.downloadArtifactByPath(
66
70
  'plugin_artifacts/myPlugin/1.0.5/bundle.zip',
@@ -106,6 +110,7 @@ afm az list-artifacts myPlugin 1.0.5 --size
106
110
 
107
111
  # Upload
108
112
  afm az upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
113
+ afm az set-latest myPlugin 1.0 1.0.6
109
114
 
110
115
  # Download by full path
111
116
  afm az download --path "plugin_artifacts/myPlugin/1.0.5/bundle.zip" --out ./downloads
@@ -116,6 +121,12 @@ afm az download --plugin myPlugin --ver 1.0.5 --file bundle.zip --out ./download
116
121
  # Download all artifacts for a version
117
122
  afm az download --plugin myPlugin --ver 1.0.5 --all --out ./downloads
118
123
 
124
+ # Download the latest version of a major version (all artifacts by default)
125
+ afm az download --plugin myPlugin --major 1.0 --out ./downloads
126
+
127
+ # ... or a single artifact from that major's latest version
128
+ afm az download --plugin myPlugin --major 1.0 --file bundle.zip --out ./downloads
129
+
119
130
  # Manage config
120
131
  afm az config show
121
132
  afm az config clear
@@ -128,8 +139,47 @@ Same as above, replace `az` with `oss`:
128
139
  ```bash
129
140
  afm oss list-plugins --keyid "id" --key "secret"
130
141
  afm oss upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
142
+ afm oss set-latest myPlugin 9.1-hotfix1 1.0.6
131
143
  ```
132
144
 
145
+ ## Major Versions and Channels
146
+
147
+ A **product major version** (主版本号) is a label rather than a semver:
148
+
149
+ | Major version | Meaning |
150
+ |---|---|
151
+ | `10.0`, `9.0` | first product major of the year |
152
+ | `8.1`, `9.1`, `10.1` | second product major of the year |
153
+ | `9.1-oem` | major version for a specific OEM customer |
154
+ | `9.1-hotfix1` | hotfix major version built on top of `9.1` |
155
+ | `dev` | development major version, tracked in `versiondev.txt` |
156
+
157
+ - Every major version owns a version file `version<major>.txt` recording its latest artifact
158
+ version, and `get-latest <plugin> <major>` reads exactly that file — so
159
+ `afm oss get-latest gces-server 9.1-hotfix2` needs no special casing.
160
+ - Artifact versions are **independent** of the major version: they usually repeat the major
161
+ version's first two segments, but a dev artifact may be `10.0.1` (identity artifacts stay
162
+ compatible with the license control system). Uploading a file and moving a major version's latest
163
+ version are therefore **separate steps** — `upload` only writes the file, while
164
+ `set-latest <plugin> <major> <version>` records a version as that major version's latest (or
165
+ `upload --set-latest --major <major>` does both at once). A hotfix upload can no longer move
166
+ `version9.1.txt` by accident, and a dev build such as `10.0.1` never lands in `version10.0.txt`.
167
+ - `list-majors` reports every major version it finds — directory-derived majors and file-declared
168
+ channel majors — with the latest version each one points at. Channel majors (`minorCount: 0`)
169
+ publish into plain version directories, so their history cannot be enumerated; `list-minors
170
+ <channel>` reports the version that major currently points at.
171
+ - A version file without a pointer is a reserved major version and is not listed.
172
+ - `get-latest` checks that the version a major version points at actually holds artifacts and warns
173
+ on stderr when it does not — production still contains pointers to pruned versions — while still
174
+ printing the pointer. `--no-verify` skips that extra listing.
175
+ - `set-latest` warns when the version holds no artifacts but records it anyway — a major version is
176
+ often published before every file has landed — and `--no-verify` skips that check too.
177
+ - `download --plugin <plugin> --major <major>` needs no `--ver`: it resolves the major's latest
178
+ version first and then downloads all of that version's artifacts, so `--all` is implied.
179
+ `--file` narrows it to a single artifact of that version. `--major` and `--ver` are mutually
180
+ exclusive. Artifacts that live in a sub-directory keep it locally: `patched/X.dll` is written to
181
+ `<out>/patched/X.dll`.
182
+
133
183
  ## Storage Layout
134
184
 
135
185
  ```
@@ -137,8 +187,8 @@ afm oss upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
137
187
  └── plugin_artifacts/
138
188
  ├── pluginA/
139
189
  │ ├── version1.0.txt # Tracks latest 1.0.x version
140
- │ ├── version2.0.txt # Tracks latest 2.0.x version
141
- │ ├── versiondev.txt # Tracks latest dev version (0.x)
190
+ │ ├── version9.1-hotfix1.txt # Tracks latest version of the 9.1-hotfix1 major version
191
+ │ ├── versiondev.txt # Tracks latest dev version
142
192
  │ ├── 1.0.5/
143
193
  │ │ ├── bundle.zip
144
194
  │ │ └── checksum.txt
@@ -148,10 +198,12 @@ afm oss upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
148
198
  └── ...
149
199
  ```
150
200
 
151
- - **Version files** (`version{major.minor}.txt`, `versiondev.txt`): track the latest full version
152
- - The dev channel is the whole `0.x` range: the dev pipeline publishes a plugin-specific minor
201
+ - **Version files** (`version<major>.txt`, `versiondev.txt`): track the latest full version per major version
202
+ - The dev major version is usually the whole `0.x` range: the dev pipeline publishes a plugin-specific minor
153
203
  (`0.0`, `0.1`, `0.2` and `0.3` are all in use) and always tracks it in `versiondev.txt`, so
154
- read it with `get-latest <plugin> dev` (the numeric `0.x` spelling is accepted as an alias)
204
+ read it with `get-latest <plugin> dev` (the numeric `0.x` spelling is accepted as an alias).
205
+ Some plugins publish dev artifacts under a different core (the production `gcef-identity-service`
206
+ currently points `dev` at `8.1.7-beta`), which is exactly why the version file is authoritative.
155
207
  - Azure: latest version stored in blob metadata (`latestversion`)
156
208
  - OSS: latest version stored in object tag (`latestversion`)
157
209
 
@@ -166,7 +218,8 @@ afm oss upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
166
218
  | `getLatestVersion(plugin, major, opts?)` | Get latest minor version for a major |
167
219
  | `listMinorVersions(plugin, major, opts?)` | List all minor versions under a major |
168
220
  | `listArtifacts(plugin, version, opts?)` | List all artifact files in a version |
169
- | `uploadArtifact(plugin, version, name, localPath)` | Upload a file and update version tracking |
221
+ | `uploadArtifact(plugin, version, name, localPath)` | Upload a file into a version directory; major version pointers are left untouched |
222
+ | `updateLatestVersion(plugin, major, version)` | Record a version as a major version's latest (creates `version<major>.txt` when absent) |
170
223
  | `downloadArtifactByPath(fullPath, localDir)` | Download by full storage path |
171
224
  | `downloadArtifact(plugin, version, fileName, localDir)` | Download by name |
172
225
  | `downloadVersion(plugin, version, localDir)` | Download all artifacts for a version |
@@ -82,7 +82,8 @@ export declare class ArtifactClient {
82
82
  }): Promise<ArtifactInfo[]>;
83
83
  /**
84
84
  * Upload a local file as an artifact to a specific plugin version directory.
85
- * Automatically updates the latestversion metadata/tag on the version file.
85
+ * Purely a write into that directory: major version pointers are updated
86
+ * separately with `updateLatestVersion`.
86
87
  *
87
88
  * @param pluginName - The plugin name.
88
89
  * @param version - The target version (e.g., "1.0.5").
@@ -90,6 +91,15 @@ export declare class ArtifactClient {
90
91
  * @param localFilePath - The local file path to upload.
91
92
  */
92
93
  uploadArtifact(pluginName: string, version: string, artifactName: string, localFilePath: string): Promise<void>;
94
+ /**
95
+ * Record a version as the latest of a product major version, creating the
96
+ * version file when it does not exist yet.
97
+ *
98
+ * @param pluginName - The plugin name.
99
+ * @param majorVersion - Product major version (e.g. "9.1", "9.1-hotfix1", "dev").
100
+ * @param latestVersion - The version to record (e.g. "9.1.20884").
101
+ */
102
+ updateLatestVersion(pluginName: string, majorVersion: string, latestVersion: string): Promise<void>;
93
103
  /**
94
104
  * Download an artifact using its full storage path.
95
105
  *
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-client.d.ts","sourceRoot":"","sources":["../src/artifact-client.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAElC;;;;;OAKG;gBACS,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS;IAQ9D;;;;;OAKG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQ7E;;;;;;;OAOG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ9B;;;;;;;;OAQG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC;IAQvB;;;;;;;;OAQG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAQzB;;;;;;;OAOG;IACG,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;IAQ1B;;;;;;;;OAQG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;OAKG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/E;;;;;;;;OAQG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;;;;;;;OAaG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;IAQpB,OAAO,CAAC,cAAc;CAUvB"}
1
+ {"version":3,"file":"artifact-client.d.ts","sourceRoot":"","sources":["../src/artifact-client.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAElC;;;;;OAKG;gBACS,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS;IAQ9D;;;;;OAKG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQ7E;;;;;;;OAOG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ9B;;;;;;;;OAQG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC;IAQvB;;;;;;;;OAQG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAQzB;;;;;;;OAOG;IACG,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;IAQ1B;;;;;;;;;OASG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;OAOG;IACG,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;OAKG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/E;;;;;;;;OAQG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;;;;;;;OAaG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;IAQpB,OAAO,CAAC,cAAc;CAUvB"}
@@ -112,7 +112,8 @@ class ArtifactClient {
112
112
  // ============================================================
113
113
  /**
114
114
  * Upload a local file as an artifact to a specific plugin version directory.
115
- * Automatically updates the latestversion metadata/tag on the version file.
115
+ * Purely a write into that directory: major version pointers are updated
116
+ * separately with `updateLatestVersion`.
116
117
  *
117
118
  * @param pluginName - The plugin name.
118
119
  * @param version - The target version (e.g., "1.0.5").
@@ -123,6 +124,20 @@ class ArtifactClient {
123
124
  return this.provider.uploadArtifact(pluginName, version, artifactName, localFilePath);
124
125
  }
125
126
  // ============================================================
127
+ // updateLatestVersion
128
+ // ============================================================
129
+ /**
130
+ * Record a version as the latest of a product major version, creating the
131
+ * version file when it does not exist yet.
132
+ *
133
+ * @param pluginName - The plugin name.
134
+ * @param majorVersion - Product major version (e.g. "9.1", "9.1-hotfix1", "dev").
135
+ * @param latestVersion - The version to record (e.g. "9.1.20884").
136
+ */
137
+ async updateLatestVersion(pluginName, majorVersion, latestVersion) {
138
+ return this.provider.updateLatestVersion(pluginName, majorVersion, latestVersion);
139
+ }
140
+ // ============================================================
126
141
  // downloadArtifactByPath
127
142
  // ============================================================
128
143
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-client.js","sourceRoot":"","sources":["../src/artifact-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-client.js","sourceRoot":"","sources":["../src/artifact-client.ts"],"names":[],"mappings":"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"}
@@ -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;AAOpC;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CA+BvC"}
package/dist/cli/setup.js CHANGED
@@ -5,6 +5,7 @@ const commander_1 = require("commander");
5
5
  const artifact_client_1 = require("../artifact-client");
6
6
  const config_manager_1 = require("./config-manager");
7
7
  const version_1 = require("./version");
8
+ const semver_1 = require("../utils/semver");
8
9
  /**
9
10
  * Build and configure the CLI program.
10
11
  * Returns the configured Command instance.
@@ -157,17 +158,27 @@ function addSharedCommands(program, type) {
157
158
  .command('get-latest')
158
159
  .description('Get the latest minor version for a major version')
159
160
  .argument('<plugin>', 'Plugin name')
160
- .argument('<major>', 'Major version (e.g., "1.0" or "dev")')
161
+ .argument('<major>', 'Product major version (e.g., "9.1", "9.1-hotfix1", "dev")')
161
162
  .option('--size', 'Include total storage size in MB')
162
163
  .option('--sasurl <url>', 'Azure SAS URL')
163
164
  .option('--keyid <id>', 'OSS Key ID')
164
165
  .option('--key <key>', 'OSS Key Secret')
165
166
  .option('--bucket <bucket>', 'OSS bucket')
166
167
  .option('--region <region>', 'OSS region')
168
+ .option('--no-verify', 'Skip checking that the version the major points at actually holds artifacts')
167
169
  .action(async (plugin, major, options) => {
168
170
  const client = createClient(type, options);
169
171
  try {
170
172
  const info = await client.getLatestVersion(plugin, major, { includeSize: options.size });
173
+ if (options.verify) {
174
+ // Version files are authoritative, but production also contains
175
+ // pointers whose version directory has been pruned: say so instead of
176
+ // letting the following download fail without explanation.
177
+ const artifacts = await client.listArtifacts(plugin, info.version);
178
+ if (artifacts.length === 0) {
179
+ console.error(`Warning: "${major}" points at ${info.version}, but ${info.path} holds no artifacts.`);
180
+ }
181
+ }
171
182
  console.table([info]);
172
183
  }
173
184
  catch (err) {
@@ -180,7 +191,7 @@ function addSharedCommands(program, type) {
180
191
  .command('list-minors')
181
192
  .description('List minor versions for a major version')
182
193
  .argument('<plugin>', 'Plugin name')
183
- .argument('<major>', 'Major version (e.g., "1.0" or "dev")')
194
+ .argument('<major>', 'Product major version (e.g., "9.1", "9.1-hotfix1", "dev")')
184
195
  .option('--size', 'Include total storage size in MB')
185
196
  .option('--sort <order>', 'Sort order: asc or desc', 'desc')
186
197
  .option('--sasurl <url>', 'Azure SAS URL')
@@ -243,16 +254,66 @@ function addSharedCommands(program, type) {
243
254
  .argument('<version>', 'Version (e.g., "1.0.5")')
244
255
  .argument('<artifact-name>', 'Artifact file name to store')
245
256
  .argument('<local-file>', 'Local file path to upload')
257
+ .option('--set-latest', 'Also record <version> as the latest version of the major version named by --major')
258
+ .option('--major <major>', 'Product major version whose version file is updated by --set-latest (e.g. 9.1, 9.1-hotfix1, dev)')
246
259
  .option('--sasurl <url>', 'Azure SAS URL')
247
260
  .option('--keyid <id>', 'OSS Key ID')
248
261
  .option('--key <key>', 'OSS Key Secret')
249
262
  .option('--bucket <bucket>', 'OSS bucket')
250
263
  .option('--region <region>', 'OSS region')
251
264
  .action(async (plugin, version, artifactName, localFile, options) => {
265
+ if (options.setLatest && !options.major) {
266
+ console.error('Error: --set-latest requires --major <major>.');
267
+ process.exit(1);
268
+ }
269
+ if (!options.setLatest && options.major) {
270
+ console.error('Error: --major is only used together with --set-latest. Run the set-latest command to move a major version pointer on its own.');
271
+ process.exit(1);
272
+ }
252
273
  const client = createClient(type, options);
253
274
  try {
254
275
  await client.uploadArtifact(plugin, version, artifactName, localFile);
255
- console.log(`Uploaded: ${localFile} -> plugin_artifacts/${plugin}/${version}/${artifactName}`);
276
+ console.log(`Uploaded: ${localFile} -> ${plugin}/${version}/${artifactName}`);
277
+ if (options.setLatest) {
278
+ await client.updateLatestVersion(plugin, options.major, version);
279
+ console.log(`Latest for "${options.major}": ${version} -> ${(0, semver_1.getVersionFileName)(options.major)}`);
280
+ }
281
+ else {
282
+ console.error(`Hint: no version file was touched. To move a major pointer, run ` +
283
+ `"afm ${type} set-latest ${plugin} <major> ${version}".`);
284
+ }
285
+ }
286
+ catch (err) {
287
+ console.error('Error:', err.message);
288
+ process.exit(1);
289
+ }
290
+ });
291
+ // --- set-latest ---
292
+ program
293
+ .command('set-latest')
294
+ .description("Record a version as a product major version's latest version")
295
+ .argument('<plugin>', 'Plugin name')
296
+ .argument('<major>', 'Product major version (e.g. "9.1", "9.1-hotfix1", "dev")')
297
+ .argument('<version>', 'Version to record as latest (e.g. "9.1.20884")')
298
+ .option('--no-verify', 'Skip checking that the version actually holds artifacts')
299
+ .option('--sasurl <url>', 'Azure SAS URL')
300
+ .option('--keyid <id>', 'OSS Key ID')
301
+ .option('--key <key>', 'OSS Key Secret')
302
+ .option('--bucket <bucket>', 'OSS bucket')
303
+ .option('--region <region>', 'OSS region')
304
+ .action(async (plugin, major, version, options) => {
305
+ const client = createClient(type, options);
306
+ try {
307
+ if (options.verify) {
308
+ // Missing artifacts do not block the write: a major may be published
309
+ // before every file has landed, but the caller should know.
310
+ const artifacts = await client.listArtifacts(plugin, version);
311
+ if (artifacts.length === 0) {
312
+ console.error(`Warning: ${plugin}/${version}/ holds no artifacts; recording it anyway.`);
313
+ }
314
+ }
315
+ await client.updateLatestVersion(plugin, major, version);
316
+ console.log(`Latest for "${major}": ${version} -> ${(0, semver_1.getVersionFileName)(major)}`);
256
317
  }
257
318
  catch (err) {
258
319
  console.error('Error:', err.message);
@@ -262,10 +323,11 @@ function addSharedCommands(program, type) {
262
323
  // --- download ---
263
324
  program
264
325
  .command('download')
265
- .description('Download an artifact or all artifacts for a version')
326
+ .description('Download an artifact or all artifacts for a version, or the latest version of a major')
266
327
  .option('--path <fullPath>', 'Full storage path of the artifact')
267
328
  .option('--plugin <name>', 'Plugin name')
268
329
  .option('--ver <version>', 'Version (e.g., "1.0.5")')
330
+ .option('--major <major>', 'Product major version; downloads its latest version instead of --ver (all artifacts unless --file is given)')
269
331
  .option('--file <name>', 'Artifact file name')
270
332
  .option('--all', 'Download all artifacts for the specified version')
271
333
  .option('--out <dir>', 'Local output directory', './')
@@ -275,6 +337,14 @@ function addSharedCommands(program, type) {
275
337
  .option('--bucket <bucket>', 'OSS bucket')
276
338
  .option('--region <region>', 'OSS region')
277
339
  .action(async (options) => {
340
+ if (options.major && options.ver) {
341
+ console.error('Error: --major and --ver are mutually exclusive; --major already means "the latest version of that major".');
342
+ process.exit(1);
343
+ }
344
+ if (options.major && !options.plugin) {
345
+ console.error('Error: --major requires --plugin.');
346
+ process.exit(1);
347
+ }
278
348
  const client = createClient(type, options);
279
349
  try {
280
350
  if (options.path) {
@@ -283,26 +353,41 @@ function addSharedCommands(program, type) {
283
353
  const fileName = options.path.split('/').pop();
284
354
  console.log(`Downloaded: ${options.path} -> ${options.out}/${fileName}`);
285
355
  }
286
- else if (options.plugin && options.ver && options.all) {
287
- // Download all artifacts for a version
288
- const files = await client.downloadVersion(options.plugin, options.ver, options.out);
289
- if (files.length === 0) {
290
- console.log(`No artifacts found for plugin "${options.plugin}" version "${options.ver}".`);
356
+ else if (options.plugin && (options.ver || options.major)) {
357
+ // One version number drives everything below: either the explicit
358
+ // --ver, or whatever the named major currently points at.
359
+ let version = options.ver;
360
+ if (!version) {
361
+ const latest = await client.getLatestVersion(options.plugin, options.major);
362
+ version = latest.version;
363
+ console.log(`Latest for "${options.major}": ${version}`);
291
364
  }
292
- else {
293
- console.log(`Downloaded ${files.length} artifact(s) from ${options.plugin}/${options.ver}:`);
294
- for (const f of files) {
295
- console.log(` ${options.out}/${f}`);
365
+ // Naming a major means "give me what that major currently ships", so
366
+ // everything is downloaded unless --file picks a single artifact.
367
+ const downloadAll = options.all || (!options.ver && !options.file);
368
+ if (downloadAll) {
369
+ const files = await client.downloadVersion(options.plugin, version, options.out);
370
+ if (files.length === 0) {
371
+ console.log(`No artifacts found for plugin "${options.plugin}" version "${version}".`);
372
+ }
373
+ else {
374
+ console.log(`Downloaded ${files.length} artifact(s) from ${options.plugin}/${version}:`);
375
+ for (const f of files) {
376
+ console.log(` ${options.out}/${f}`);
377
+ }
296
378
  }
297
379
  }
298
- }
299
- else if (options.plugin && options.ver && options.file) {
300
- // Download by plugin + version + file
301
- await client.downloadArtifact(options.plugin, options.ver, options.file, options.out);
302
- console.log(`Downloaded: ${options.plugin}/${options.ver}/${options.file} -> ${options.out}/${options.file}`);
380
+ else if (options.file) {
381
+ await client.downloadArtifact(options.plugin, version, options.file, options.out);
382
+ console.log(`Downloaded: ${options.plugin}/${version}/${options.file} -> ${options.out}/${options.file}`);
383
+ }
384
+ else {
385
+ console.error('Error: Specify --all to download every artifact of a version, or --file to download a single artifact.');
386
+ process.exit(1);
387
+ }
303
388
  }
304
389
  else {
305
- console.error('Error: Specify either --path for full path download, --all with --plugin and --ver for downloading all artifacts, or --plugin, --ver, and --file for a single artifact.');
390
+ console.error('Error: Specify either --path for full path download, --plugin with --all and --ver (or just --major) for downloading all artifacts, or --plugin with --ver (or --major) and --file for a single artifact.');
306
391
  process.exit(1);
307
392
  }
308
393
  }
@@ -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":"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"}
@@ -14,15 +14,28 @@ export declare class AzureProvider extends StorageProvider {
14
14
  includeSize?: boolean;
15
15
  }): Promise<ArtifactInfo[]>;
16
16
  uploadArtifact(pluginName: string, version: string, artifactName: string, localFilePath: string): Promise<void>;
17
- downloadArtifactByPath(fullPath: string, localDir: string): Promise<void>;
17
+ downloadArtifactByPath(fullPath: string, localDir: string, relativeName?: string): Promise<void>;
18
18
  downloadArtifact(pluginName: string, version: string, fileName: string, localDir: string): Promise<void>;
19
19
  downloadVersion(pluginName: string, version: string, localDir: string): Promise<string[]>;
20
20
  private calculatePrefixSize;
21
21
  /** Read latest version from metadata, falling back to directory scanning. */
22
22
  private readLatestVersion;
23
- /** Scan version directories to find the latest matching major. */
23
+ /** Scan version directories to find the latest version belonging to a major. */
24
24
  private scanLatest;
25
- private updateLatestVersion;
25
+ /**
26
+ * Record `latestVersion` as the latest version of a major version: creates the
27
+ * majorLabel's version file when absent and refreshes its `latestversion` metadata.
28
+ */
29
+ updateLatestVersion(pluginName: string, majorVersion: string, latestVersion: string): Promise<void>;
30
+ /** Version majors declared by the version files present in a plugin directory. */
31
+ private declaredMajorsIn;
32
+ /**
33
+ * Sort rank for a major version: numeric product majors first, then labels whose
34
+ * shape we do not recognise (e.g. a legacy "sa3"), and dev last.
35
+ */
36
+ private majorRank;
26
37
  private compareMajorVersions;
38
+ /** Numeric core segments of a major version, e.g. "9.1-hotfix1" → [9, 1]. */
39
+ private majorParts;
27
40
  }
28
41
  //# 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,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;IAwCzF,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;IAuB1G,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"}
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;AAiBlB,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;IAyDzF,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;IA8B1G,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,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAOV,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxG,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,gFAAgF;YAClE,UAAU;IAaxB;;;OAGG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczG,kFAAkF;IAClF,OAAO,CAAC,gBAAgB;IASxB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,oBAAoB;IAS5B,6EAA6E;IAC7E,OAAO,CAAC,UAAU;CAInB"}