@guanjinke/artifact-client 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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',
@@ -78,7 +82,7 @@ const files = await client.downloadVersion('myPlugin', '1.0.5', './downloads');
78
82
  ### As a CLI
79
83
 
80
84
  ```bash
81
- # Login (saves credentials to ~/.afm/config.json)
85
+ # Login (saves credentials to ~/.afm/config.json; set AFM_CONFIG_DIR to use another directory)
82
86
  afm az login --sasurl "https://..."
83
87
  afm oss login --keyid "your-id" --key "your-key" --bucket "my-bucket"
84
88
 
@@ -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
@@ -128,8 +133,42 @@ Same as above, replace `az` with `oss`:
128
133
  ```bash
129
134
  afm oss list-plugins --keyid "id" --key "secret"
130
135
  afm oss upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
136
+ afm oss set-latest myPlugin 9.1-hotfix1 1.0.6
131
137
  ```
132
138
 
139
+ ## Major Versions and Channels
140
+
141
+ A **product major version** (主版本号) is a label rather than a semver:
142
+
143
+ | Major version | Meaning |
144
+ |---|---|
145
+ | `10.0`, `9.0` | first product major of the year |
146
+ | `8.1`, `9.1`, `10.1` | second product major of the year |
147
+ | `9.1-oem` | major version for a specific OEM customer |
148
+ | `9.1-hotfix1` | hotfix major version built on top of `9.1` |
149
+ | `dev` | development major version, tracked in `versiondev.txt` |
150
+
151
+ - Every major version owns a version file `version<major>.txt` recording its latest artifact
152
+ version, and `get-latest <plugin> <major>` reads exactly that file — so
153
+ `afm oss get-latest gces-server 9.1-hotfix2` needs no special casing.
154
+ - Artifact versions are **independent** of the major version: they usually repeat the major
155
+ version's first two segments, but a dev artifact may be `10.0.1` (identity artifacts stay
156
+ compatible with the license control system). Uploading a file and moving a major version's latest
157
+ version are therefore **separate steps** — `upload` only writes the file, while
158
+ `set-latest <plugin> <major> <version>` records a version as that major version's latest (or
159
+ `upload --set-latest --major <major>` does both at once). A hotfix upload can no longer move
160
+ `version9.1.txt` by accident, and a dev build such as `10.0.1` never lands in `version10.0.txt`.
161
+ - `list-majors` reports every major version it finds — directory-derived majors and file-declared
162
+ channel majors — with the latest version each one points at. Channel majors (`minorCount: 0`)
163
+ publish into plain version directories, so their history cannot be enumerated; `list-minors
164
+ <channel>` reports the version that major currently points at.
165
+ - A version file without a pointer is a reserved major version and is not listed.
166
+ - `get-latest` checks that the version a major version points at actually holds artifacts and warns
167
+ on stderr when it does not — production still contains pointers to pruned versions — while still
168
+ printing the pointer. `--no-verify` skips that extra listing.
169
+ - `set-latest` warns when the version holds no artifacts but records it anyway — a major version is
170
+ often published before every file has landed — and `--no-verify` skips that check too.
171
+
133
172
  ## Storage Layout
134
173
 
135
174
  ```
@@ -137,8 +176,8 @@ afm oss upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
137
176
  └── plugin_artifacts/
138
177
  ├── pluginA/
139
178
  │ ├── 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 (0.0.x) version
179
+ │ ├── version9.1-hotfix1.txt # Tracks latest version of the 9.1-hotfix1 major version
180
+ │ ├── versiondev.txt # Tracks latest dev version
142
181
  │ ├── 1.0.5/
143
182
  │ │ ├── bundle.zip
144
183
  │ │ └── checksum.txt
@@ -148,7 +187,12 @@ afm oss upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
148
187
  └── ...
149
188
  ```
150
189
 
151
- - **Version files** (`version{major.minor}.txt`, `versiondev.txt`): track the latest full version
190
+ - **Version files** (`version<major>.txt`, `versiondev.txt`): track the latest full version per major version
191
+ - The dev major version is usually the whole `0.x` range: the dev pipeline publishes a plugin-specific minor
192
+ (`0.0`, `0.1`, `0.2` and `0.3` are all in use) and always tracks it in `versiondev.txt`, so
193
+ read it with `get-latest <plugin> dev` (the numeric `0.x` spelling is accepted as an alias).
194
+ Some plugins publish dev artifacts under a different core (the production `gcef-identity-service`
195
+ currently points `dev` at `8.1.7-beta`), which is exactly why the version file is authoritative.
152
196
  - Azure: latest version stored in blob metadata (`latestversion`)
153
197
  - OSS: latest version stored in object tag (`latestversion`)
154
198
 
@@ -163,7 +207,8 @@ afm oss upload myPlugin 1.0.6 bundle.zip ./dist/bundle.zip
163
207
  | `getLatestVersion(plugin, major, opts?)` | Get latest minor version for a major |
164
208
  | `listMinorVersions(plugin, major, opts?)` | List all minor versions under a major |
165
209
  | `listArtifacts(plugin, version, opts?)` | List all artifact files in a version |
166
- | `uploadArtifact(plugin, version, name, localPath)` | Upload a file and update version tracking |
210
+ | `uploadArtifact(plugin, version, name, localPath)` | Upload a file into a version directory; major version pointers are left untouched |
211
+ | `updateLatestVersion(plugin, major, version)` | Record a version as a major version's latest (creates `version<major>.txt` when absent) |
167
212
  | `downloadArtifactByPath(fullPath, localDir)` | Download by full storage path |
168
213
  | `downloadArtifact(plugin, version, fileName, localDir)` | Download by name |
169
214
  | `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":";;;AACA,+DAA2D;AAC3D,2DAAuD;AAavD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,cAAc;IACjB,QAAQ,CAAkB;IAElC;;;;;OAKG;IACH,YAAY,IAAiB,EAAE,MAA+B;QAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,+DAA+D;IAC/D,cAAc;IACd,+DAA+D;IAE/D;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,OAAmC;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,+DAA+D;IAC/D,oBAAoB;IACpB,+DAA+D;IAE/D;;;;;;;OAOG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,OAAqB;QAErB,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAE/D;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,YAAoB,EACpB,OAA0B;QAE1B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,+DAA+D;IAC/D,oBAAoB;IACpB,+DAA+D;IAE/D;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,YAAoB,EACpB,OAAqB;QAErB,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAE/D;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,OAAe,EACf,OAAmC;QAEnC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,+DAA+D;IAC/D,iBAAiB;IACjB,+DAA+D;IAE/D;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,OAAe,EACf,YAAoB,EACpB,aAAqB;QAErB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACxF,CAAC;IAED,+DAA+D;IAC/D,yBAAyB;IACzB,+DAA+D;IAE/D;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,QAAgB,EAAE,QAAgB;QAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAE/D;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,OAAe,EACf,QAAgB,EAChB,QAAgB;QAEhB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;IAED,+DAA+D;IAC/D,kBAAkB;IAClB,+DAA+D;IAE/D;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,OAAe,EACf,QAAgB;QAEhB,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,+DAA+D;IAC/D,UAAU;IACV,+DAA+D;IAEvD,cAAc,CAAC,IAAiB,EAAE,MAA+B;QACvE,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,IAAI,8BAAa,CAAC,MAAqB,CAAC,CAAC;YAClD,KAAK,KAAK;gBACR,OAAO,IAAI,0BAAW,CAAC,MAAmB,CAAC,CAAC;YAC9C;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,sBAAsB,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CACF;AA9MD,wCA8MC"}
1
+ {"version":3,"file":"artifact-client.js","sourceRoot":"","sources":["../src/artifact-client.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,23 @@
1
1
  import { CLIConfig, AzureConfig, OSSConfig } from '../types';
2
2
  /**
3
- * Read the full CLI config from ~/.afm/config.json.
3
+ * Resolve the config directory, defaulting to ~/.afm.
4
+ *
5
+ * The AFM_CONFIG_DIR environment variable overrides the location, so tests and
6
+ * alternate profiles never read or write the real user config.
7
+ */
8
+ export declare function getConfigDir(): string;
9
+ /**
10
+ * Get the config file path for display purposes, e.g. ~/.afm/config.json
11
+ * (or $AFM_CONFIG_DIR/config.json when the override is set).
12
+ */
13
+ export declare function getConfigPath(): string;
14
+ /**
15
+ * Read the full CLI config from the config file.
4
16
  * Returns an empty object if the file does not exist.
5
17
  */
6
18
  export declare function readConfig(): CLIConfig;
7
19
  /**
8
- * Write the full CLI config to ~/.afm/config.json.
20
+ * Write the full CLI config to the config file.
9
21
  */
10
22
  export declare function writeConfig(config: CLIConfig): void;
11
23
  /**
@@ -16,10 +28,6 @@ export declare function saveAzureConfig(config: AzureConfig): void;
16
28
  * Save OSS authentication config.
17
29
  */
18
30
  export declare function saveOSSConfig(config: OSSConfig): void;
19
- /**
20
- * Get the config file path for display purposes.
21
- */
22
- export declare function getConfigPath(): string;
23
31
  /**
24
32
  * Clear all stored configuration.
25
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/cli/config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAc7D;;;GAGG;AACH,wBAAgB,UAAU,IAAI,SAAS,CAUtC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAGnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAIzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAIrD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC"}
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/cli/config-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK7D;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAYD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,SAAS,CAWtC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAGnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAIzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAIrD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC"}
@@ -33,35 +33,55 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getConfigDir = getConfigDir;
37
+ exports.getConfigPath = getConfigPath;
36
38
  exports.readConfig = readConfig;
37
39
  exports.writeConfig = writeConfig;
38
40
  exports.saveAzureConfig = saveAzureConfig;
39
41
  exports.saveOSSConfig = saveOSSConfig;
40
- exports.getConfigPath = getConfigPath;
41
42
  exports.clearConfig = clearConfig;
42
43
  const fs = __importStar(require("fs"));
43
44
  const path = __importStar(require("path"));
44
45
  const os = __importStar(require("os"));
45
- const CONFIG_DIR = path.join(os.homedir(), '.afm');
46
- const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
46
+ const CONFIG_DIR_NAME = '.afm';
47
+ const CONFIG_FILE_NAME = 'config.json';
48
+ /**
49
+ * Resolve the config directory, defaulting to ~/.afm.
50
+ *
51
+ * The AFM_CONFIG_DIR environment variable overrides the location, so tests and
52
+ * alternate profiles never read or write the real user config.
53
+ */
54
+ function getConfigDir() {
55
+ const override = process.env.AFM_CONFIG_DIR;
56
+ return override && override.trim() !== '' ? override : path.join(os.homedir(), CONFIG_DIR_NAME);
57
+ }
58
+ /**
59
+ * Get the config file path for display purposes, e.g. ~/.afm/config.json
60
+ * (or $AFM_CONFIG_DIR/config.json when the override is set).
61
+ */
62
+ function getConfigPath() {
63
+ return path.join(getConfigDir(), CONFIG_FILE_NAME);
64
+ }
47
65
  /**
48
66
  * Ensure the config directory exists.
49
67
  */
50
68
  function ensureConfigDir() {
51
- if (!fs.existsSync(CONFIG_DIR)) {
52
- fs.mkdirSync(CONFIG_DIR, { recursive: true });
69
+ const dir = getConfigDir();
70
+ if (!fs.existsSync(dir)) {
71
+ fs.mkdirSync(dir, { recursive: true });
53
72
  }
54
73
  }
55
74
  /**
56
- * Read the full CLI config from ~/.afm/config.json.
75
+ * Read the full CLI config from the config file.
57
76
  * Returns an empty object if the file does not exist.
58
77
  */
59
78
  function readConfig() {
60
79
  try {
61
- if (!fs.existsSync(CONFIG_FILE)) {
80
+ const configFile = getConfigPath();
81
+ if (!fs.existsSync(configFile)) {
62
82
  return {};
63
83
  }
64
- const raw = fs.readFileSync(CONFIG_FILE, 'utf-8');
84
+ const raw = fs.readFileSync(configFile, 'utf-8');
65
85
  return JSON.parse(raw);
66
86
  }
67
87
  catch {
@@ -69,11 +89,11 @@ function readConfig() {
69
89
  }
70
90
  }
71
91
  /**
72
- * Write the full CLI config to ~/.afm/config.json.
92
+ * Write the full CLI config to the config file.
73
93
  */
74
94
  function writeConfig(config) {
75
95
  ensureConfigDir();
76
- fs.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
96
+ fs.writeFileSync(getConfigPath(), JSON.stringify(config, null, 2), 'utf-8');
77
97
  }
78
98
  /**
79
99
  * Save Azure authentication config.
@@ -91,12 +111,6 @@ function saveOSSConfig(config) {
91
111
  current.oss = config;
92
112
  writeConfig(current);
93
113
  }
94
- /**
95
- * Get the config file path for display purposes.
96
- */
97
- function getConfigPath() {
98
- return CONFIG_FILE;
99
- }
100
114
  /**
101
115
  * Clear all stored configuration.
102
116
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/cli/config-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,gCAUC;AAKD,kCAGC;AAKD,0CAIC;AAKD,sCAIC;AAKD,sCAEC;AAKD,kCAGC;AAxED,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAGzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzD;;GAEG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,MAAiB;IAC3C,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAmB;IACjD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC;IACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAiB;IAC7C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACrB,WAAW,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,eAAe,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/cli/config-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,oCAGC;AAMD,sCAEC;AAgBD,gCAWC;AAKD,kCAGC;AAKD,0CAIC;AAKD,sCAIC;AAKD,kCAGC;AAtFD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAGzB,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;;;;GAKG;AACH,SAAgB,YAAY;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC5C,OAAO,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAClG,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,MAAiB;IAC3C,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAmB;IACjD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC;IACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAiB;IAC7C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC;IACrB,WAAW,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,eAAe,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -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;AAKpC;;;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
@@ -4,6 +4,8 @@ exports.createProgram = createProgram;
4
4
  const commander_1 = require("commander");
5
5
  const artifact_client_1 = require("../artifact-client");
6
6
  const config_manager_1 = require("./config-manager");
7
+ const version_1 = require("./version");
8
+ const semver_1 = require("../utils/semver");
7
9
  /**
8
10
  * Build and configure the CLI program.
9
11
  * Returns the configured Command instance.
@@ -13,7 +15,7 @@ function createProgram() {
13
15
  program
14
16
  .name('afm')
15
17
  .description('Manage artifacts on Azure Storage and Aliyun OSS')
16
- .version('1.0.0');
18
+ .version((0, version_1.getPackageVersion)());
17
19
  // ============================================================
18
20
  // Azure commands
19
21
  // ============================================================
@@ -156,17 +158,27 @@ function addSharedCommands(program, type) {
156
158
  .command('get-latest')
157
159
  .description('Get the latest minor version for a major version')
158
160
  .argument('<plugin>', 'Plugin name')
159
- .argument('<major>', 'Major version (e.g., "1.0" or "dev")')
161
+ .argument('<major>', 'Product major version (e.g., "9.1", "9.1-hotfix1", "dev")')
160
162
  .option('--size', 'Include total storage size in MB')
161
163
  .option('--sasurl <url>', 'Azure SAS URL')
162
164
  .option('--keyid <id>', 'OSS Key ID')
163
165
  .option('--key <key>', 'OSS Key Secret')
164
166
  .option('--bucket <bucket>', 'OSS bucket')
165
167
  .option('--region <region>', 'OSS region')
168
+ .option('--no-verify', 'Skip checking that the version the major points at actually holds artifacts')
166
169
  .action(async (plugin, major, options) => {
167
170
  const client = createClient(type, options);
168
171
  try {
169
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
+ }
170
182
  console.table([info]);
171
183
  }
172
184
  catch (err) {
@@ -179,7 +191,7 @@ function addSharedCommands(program, type) {
179
191
  .command('list-minors')
180
192
  .description('List minor versions for a major version')
181
193
  .argument('<plugin>', 'Plugin name')
182
- .argument('<major>', 'Major version (e.g., "1.0" or "dev")')
194
+ .argument('<major>', 'Product major version (e.g., "9.1", "9.1-hotfix1", "dev")')
183
195
  .option('--size', 'Include total storage size in MB')
184
196
  .option('--sort <order>', 'Sort order: asc or desc', 'desc')
185
197
  .option('--sasurl <url>', 'Azure SAS URL')
@@ -242,16 +254,66 @@ function addSharedCommands(program, type) {
242
254
  .argument('<version>', 'Version (e.g., "1.0.5")')
243
255
  .argument('<artifact-name>', 'Artifact file name to store')
244
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)')
245
259
  .option('--sasurl <url>', 'Azure SAS URL')
246
260
  .option('--keyid <id>', 'OSS Key ID')
247
261
  .option('--key <key>', 'OSS Key Secret')
248
262
  .option('--bucket <bucket>', 'OSS bucket')
249
263
  .option('--region <region>', 'OSS region')
250
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
+ }
251
273
  const client = createClient(type, options);
252
274
  try {
253
275
  await client.uploadArtifact(plugin, version, artifactName, localFile);
254
- 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)}`);
255
317
  }
256
318
  catch (err) {
257
319
  console.error('Error:', err.message);
@@ -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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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Resolve the CLI version from the package manifest.
3
+ *
4
+ * `afm --version` used to hard-code "1.0.0" and silently drifted from
5
+ * package.json (1.1.1), so the manifest is now the single source of truth.
6
+ *
7
+ * The relative path resolves to the package root both for the compiled file
8
+ * (dist/cli/version.js) and for the TypeScript source when ts-jest runs it.
9
+ */
10
+ export declare function getPackageVersion(): string;
11
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPackageVersion = getPackageVersion;
4
+ /**
5
+ * Resolve the CLI version from the package manifest.
6
+ *
7
+ * `afm --version` used to hard-code "1.0.0" and silently drifted from
8
+ * package.json (1.1.1), so the manifest is now the single source of truth.
9
+ *
10
+ * The relative path resolves to the package root both for the compiled file
11
+ * (dist/cli/version.js) and for the TypeScript source when ts-jest runs it.
12
+ */
13
+ function getPackageVersion() {
14
+ const pkg = require('../../package.json');
15
+ return pkg.version ?? '0.0.0';
16
+ }
17
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":";;AASA,8CAGC;AAZD;;;;;;;;GAQG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAyB,CAAC;IAClE,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAChC,CAAC"}
@@ -20,9 +20,22 @@ export declare class AzureProvider extends StorageProvider {
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;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"}
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;AAgBlB,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,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,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"}