@push.rocks/smartregistry 1.1.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts/cargo/classes.cargoregistry.d.ts +79 -0
  3. package/dist_ts/cargo/classes.cargoregistry.js +490 -0
  4. package/dist_ts/cargo/index.d.ts +5 -0
  5. package/dist_ts/cargo/index.js +6 -0
  6. package/dist_ts/cargo/interfaces.cargo.d.ts +160 -0
  7. package/dist_ts/cargo/interfaces.cargo.js +6 -0
  8. package/dist_ts/classes.smartregistry.d.ts +2 -2
  9. package/dist_ts/classes.smartregistry.js +50 -2
  10. package/dist_ts/composer/classes.composerregistry.d.ts +26 -0
  11. package/dist_ts/composer/classes.composerregistry.js +366 -0
  12. package/dist_ts/composer/helpers.composer.d.ts +35 -0
  13. package/dist_ts/composer/helpers.composer.js +120 -0
  14. package/dist_ts/composer/index.d.ts +7 -0
  15. package/dist_ts/composer/index.js +8 -0
  16. package/dist_ts/composer/interfaces.composer.d.ts +102 -0
  17. package/dist_ts/composer/interfaces.composer.js +6 -0
  18. package/dist_ts/core/classes.authmanager.d.ts +46 -1
  19. package/dist_ts/core/classes.authmanager.js +121 -12
  20. package/dist_ts/core/classes.registrystorage.d.ts +103 -0
  21. package/dist_ts/core/classes.registrystorage.js +253 -1
  22. package/dist_ts/core/interfaces.core.d.ts +4 -1
  23. package/dist_ts/index.d.ts +4 -1
  24. package/dist_ts/index.js +8 -2
  25. package/dist_ts/maven/classes.mavenregistry.d.ts +35 -0
  26. package/dist_ts/maven/classes.mavenregistry.js +407 -0
  27. package/dist_ts/maven/helpers.maven.d.ts +68 -0
  28. package/dist_ts/maven/helpers.maven.js +286 -0
  29. package/dist_ts/maven/index.d.ts +6 -0
  30. package/dist_ts/maven/index.js +7 -0
  31. package/dist_ts/maven/interfaces.maven.d.ts +116 -0
  32. package/dist_ts/maven/interfaces.maven.js +6 -0
  33. package/package.json +3 -2
  34. package/readme.md +288 -14
  35. package/ts/00_commitinfo_data.ts +1 -1
  36. package/ts/cargo/classes.cargoregistry.ts +604 -0
  37. package/ts/cargo/index.ts +6 -0
  38. package/ts/cargo/interfaces.cargo.ts +169 -0
  39. package/ts/classes.smartregistry.ts +56 -2
  40. package/ts/composer/classes.composerregistry.ts +475 -0
  41. package/ts/composer/helpers.composer.ts +139 -0
  42. package/ts/composer/index.ts +8 -0
  43. package/ts/composer/interfaces.composer.ts +111 -0
  44. package/ts/core/classes.authmanager.ts +145 -12
  45. package/ts/core/classes.registrystorage.ts +334 -0
  46. package/ts/core/interfaces.core.ts +4 -1
  47. package/ts/index.ts +10 -1
  48. package/ts/maven/classes.mavenregistry.ts +580 -0
  49. package/ts/maven/helpers.maven.ts +346 -0
  50. package/ts/maven/index.ts +7 -0
  51. package/ts/maven/interfaces.maven.ts +127 -0
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Maven helper utilities
3
+ * Path conversion, XML generation, checksum calculation
4
+ */
5
+ import * as plugins from '../plugins.js';
6
+ /**
7
+ * Convert Maven GAV coordinates to storage path
8
+ * Example: com.example:my-lib:1.0.0 → com/example/my-lib/1.0.0
9
+ */
10
+ export function gavToPath(groupId, artifactId, version) {
11
+ const groupPath = groupId.replace(/\./g, '/');
12
+ if (version) {
13
+ return `${groupPath}/${artifactId}/${version}`;
14
+ }
15
+ return `${groupPath}/${artifactId}`;
16
+ }
17
+ /**
18
+ * Parse Maven path to GAV coordinates
19
+ * Example: com/example/my-lib/1.0.0/my-lib-1.0.0.jar → {groupId, artifactId, version, ...}
20
+ */
21
+ export function pathToGAV(path) {
22
+ // Remove leading slash if present
23
+ const cleanPath = path.startsWith('/') ? path.substring(1) : path;
24
+ // Split path into parts
25
+ const parts = cleanPath.split('/');
26
+ if (parts.length < 4) {
27
+ return null; // Not a valid artifact path
28
+ }
29
+ // Last part is filename
30
+ const filename = parts[parts.length - 1];
31
+ const version = parts[parts.length - 2];
32
+ const artifactId = parts[parts.length - 3];
33
+ const groupId = parts.slice(0, -3).join('.');
34
+ // Parse filename to extract classifier and extension
35
+ const parsed = parseFilename(filename, artifactId, version);
36
+ if (!parsed) {
37
+ return null;
38
+ }
39
+ return {
40
+ groupId,
41
+ artifactId,
42
+ version,
43
+ classifier: parsed.classifier,
44
+ extension: parsed.extension,
45
+ };
46
+ }
47
+ /**
48
+ * Parse Maven artifact filename
49
+ * Example: my-lib-1.0.0-sources.jar → {classifier: 'sources', extension: 'jar'}
50
+ * Example: my-lib-1.0.0.jar.md5 → {extension: 'md5'}
51
+ */
52
+ export function parseFilename(filename, artifactId, version) {
53
+ // Expected format: {artifactId}-{version}[-{classifier}].{extension}[.checksum]
54
+ const prefix = `${artifactId}-${version}`;
55
+ if (!filename.startsWith(prefix)) {
56
+ return null;
57
+ }
58
+ let remainder = filename.substring(prefix.length);
59
+ // Check if this is a checksum file (double extension like .jar.md5)
60
+ const checksumExtensions = ['md5', 'sha1', 'sha256', 'sha512'];
61
+ const lastDotIndex = remainder.lastIndexOf('.');
62
+ if (lastDotIndex !== -1) {
63
+ const possibleChecksum = remainder.substring(lastDotIndex + 1);
64
+ if (checksumExtensions.includes(possibleChecksum)) {
65
+ // This is a checksum file - just return the checksum extension
66
+ // The base artifact extension doesn't matter for checksum retrieval
67
+ return { extension: possibleChecksum };
68
+ }
69
+ }
70
+ // Regular artifact file parsing
71
+ const dotIndex = remainder.lastIndexOf('.');
72
+ if (dotIndex === -1) {
73
+ return null; // No extension
74
+ }
75
+ const extension = remainder.substring(dotIndex + 1);
76
+ const classifierPart = remainder.substring(0, dotIndex);
77
+ if (classifierPart.length === 0) {
78
+ // No classifier
79
+ return { extension };
80
+ }
81
+ if (classifierPart.startsWith('-')) {
82
+ // Has classifier
83
+ const classifier = classifierPart.substring(1);
84
+ return { classifier, extension };
85
+ }
86
+ return null; // Invalid format
87
+ }
88
+ /**
89
+ * Build Maven artifact filename
90
+ * Example: {artifactId: 'my-lib', version: '1.0.0', classifier: 'sources', extension: 'jar'}
91
+ * → 'my-lib-1.0.0-sources.jar'
92
+ */
93
+ export function buildFilename(coordinate) {
94
+ const { artifactId, version, classifier, extension } = coordinate;
95
+ let filename = `${artifactId}-${version}`;
96
+ if (classifier) {
97
+ filename += `-${classifier}`;
98
+ }
99
+ filename += `.${extension}`;
100
+ return filename;
101
+ }
102
+ /**
103
+ * Calculate checksums for Maven artifact
104
+ * Returns MD5, SHA-1, SHA-256, SHA-512
105
+ */
106
+ export async function calculateChecksums(data) {
107
+ const crypto = await import('crypto');
108
+ return {
109
+ md5: crypto.createHash('md5').update(data).digest('hex'),
110
+ sha1: crypto.createHash('sha1').update(data).digest('hex'),
111
+ sha256: crypto.createHash('sha256').update(data).digest('hex'),
112
+ sha512: crypto.createHash('sha512').update(data).digest('hex'),
113
+ };
114
+ }
115
+ /**
116
+ * Generate maven-metadata.xml from metadata object
117
+ */
118
+ export function generateMetadataXml(metadata) {
119
+ const { groupId, artifactId, versioning } = metadata;
120
+ const { latest, release, versions, lastUpdated, snapshot, snapshotVersions } = versioning;
121
+ let xml = '<?xml version="1.0" encoding="UTF-8"?>\n';
122
+ xml += '<metadata>\n';
123
+ xml += ` <groupId>${escapeXml(groupId)}</groupId>\n`;
124
+ xml += ` <artifactId>${escapeXml(artifactId)}</artifactId>\n`;
125
+ // Add version if SNAPSHOT
126
+ if (snapshot) {
127
+ const snapshotVersion = versions[versions.length - 1]; // Assume last version is the SNAPSHOT
128
+ xml += ` <version>${escapeXml(snapshotVersion)}</version>\n`;
129
+ }
130
+ xml += ' <versioning>\n';
131
+ if (latest) {
132
+ xml += ` <latest>${escapeXml(latest)}</latest>\n`;
133
+ }
134
+ if (release) {
135
+ xml += ` <release>${escapeXml(release)}</release>\n`;
136
+ }
137
+ xml += ' <versions>\n';
138
+ for (const version of versions) {
139
+ xml += ` <version>${escapeXml(version)}</version>\n`;
140
+ }
141
+ xml += ' </versions>\n';
142
+ xml += ` <lastUpdated>${lastUpdated}</lastUpdated>\n`;
143
+ // Add SNAPSHOT info if present
144
+ if (snapshot) {
145
+ xml += ' <snapshot>\n';
146
+ xml += ` <timestamp>${escapeXml(snapshot.timestamp)}</timestamp>\n`;
147
+ xml += ` <buildNumber>${snapshot.buildNumber}</buildNumber>\n`;
148
+ xml += ' </snapshot>\n';
149
+ }
150
+ // Add SNAPSHOT versions if present
151
+ if (snapshotVersions && snapshotVersions.length > 0) {
152
+ xml += ' <snapshotVersions>\n';
153
+ for (const sv of snapshotVersions) {
154
+ xml += ' <snapshotVersion>\n';
155
+ if (sv.classifier) {
156
+ xml += ` <classifier>${escapeXml(sv.classifier)}</classifier>\n`;
157
+ }
158
+ xml += ` <extension>${escapeXml(sv.extension)}</extension>\n`;
159
+ xml += ` <value>${escapeXml(sv.value)}</value>\n`;
160
+ xml += ` <updated>${sv.updated}</updated>\n`;
161
+ xml += ' </snapshotVersion>\n';
162
+ }
163
+ xml += ' </snapshotVersions>\n';
164
+ }
165
+ xml += ' </versioning>\n';
166
+ xml += '</metadata>\n';
167
+ return xml;
168
+ }
169
+ /**
170
+ * Parse maven-metadata.xml to metadata object
171
+ * Basic XML parsing for Maven metadata
172
+ */
173
+ export function parseMetadataXml(xml) {
174
+ try {
175
+ // Simple regex-based parsing (for basic metadata)
176
+ // In production, use a proper XML parser
177
+ const groupIdMatch = xml.match(/<groupId>([^<]+)<\/groupId>/);
178
+ const artifactIdMatch = xml.match(/<artifactId>([^<]+)<\/artifactId>/);
179
+ const latestMatch = xml.match(/<latest>([^<]+)<\/latest>/);
180
+ const releaseMatch = xml.match(/<release>([^<]+)<\/release>/);
181
+ const lastUpdatedMatch = xml.match(/<lastUpdated>([^<]+)<\/lastUpdated>/);
182
+ if (!groupIdMatch || !artifactIdMatch) {
183
+ return null;
184
+ }
185
+ // Parse versions
186
+ const versionsMatch = xml.match(/<versions>([\s\S]*?)<\/versions>/);
187
+ const versions = [];
188
+ if (versionsMatch) {
189
+ const versionMatches = versionsMatch[1].matchAll(/<version>([^<]+)<\/version>/g);
190
+ for (const match of versionMatches) {
191
+ versions.push(match[1]);
192
+ }
193
+ }
194
+ return {
195
+ groupId: groupIdMatch[1],
196
+ artifactId: artifactIdMatch[1],
197
+ versioning: {
198
+ latest: latestMatch ? latestMatch[1] : undefined,
199
+ release: releaseMatch ? releaseMatch[1] : undefined,
200
+ versions,
201
+ lastUpdated: lastUpdatedMatch ? lastUpdatedMatch[1] : formatMavenTimestamp(new Date()),
202
+ },
203
+ };
204
+ }
205
+ catch (error) {
206
+ return null;
207
+ }
208
+ }
209
+ /**
210
+ * Escape XML special characters
211
+ */
212
+ function escapeXml(str) {
213
+ return str
214
+ .replace(/&/g, '&amp;')
215
+ .replace(/</g, '&lt;')
216
+ .replace(/>/g, '&gt;')
217
+ .replace(/"/g, '&quot;')
218
+ .replace(/'/g, '&apos;');
219
+ }
220
+ /**
221
+ * Format timestamp in Maven format: yyyyMMddHHmmss
222
+ */
223
+ export function formatMavenTimestamp(date) {
224
+ const year = date.getUTCFullYear();
225
+ const month = String(date.getUTCMonth() + 1).padStart(2, '0');
226
+ const day = String(date.getUTCDate()).padStart(2, '0');
227
+ const hours = String(date.getUTCHours()).padStart(2, '0');
228
+ const minutes = String(date.getUTCMinutes()).padStart(2, '0');
229
+ const seconds = String(date.getUTCSeconds()).padStart(2, '0');
230
+ return `${year}${month}${day}${hours}${minutes}${seconds}`;
231
+ }
232
+ /**
233
+ * Format SNAPSHOT timestamp: yyyyMMdd.HHmmss
234
+ */
235
+ export function formatSnapshotTimestamp(date) {
236
+ const year = date.getUTCFullYear();
237
+ const month = String(date.getUTCMonth() + 1).padStart(2, '0');
238
+ const day = String(date.getUTCDate()).padStart(2, '0');
239
+ const hours = String(date.getUTCHours()).padStart(2, '0');
240
+ const minutes = String(date.getUTCMinutes()).padStart(2, '0');
241
+ const seconds = String(date.getUTCSeconds()).padStart(2, '0');
242
+ return `${year}${month}${day}.${hours}${minutes}${seconds}`;
243
+ }
244
+ /**
245
+ * Check if version is a SNAPSHOT
246
+ */
247
+ export function isSnapshot(version) {
248
+ return version.endsWith('-SNAPSHOT');
249
+ }
250
+ /**
251
+ * Validate POM basic structure
252
+ */
253
+ export function validatePom(pomXml) {
254
+ try {
255
+ // Basic validation - check for required fields
256
+ return (pomXml.includes('<groupId>') &&
257
+ pomXml.includes('<artifactId>') &&
258
+ pomXml.includes('<version>') &&
259
+ pomXml.includes('<modelVersion>'));
260
+ }
261
+ catch (error) {
262
+ return false;
263
+ }
264
+ }
265
+ /**
266
+ * Extract GAV from POM XML
267
+ */
268
+ export function extractGAVFromPom(pomXml) {
269
+ try {
270
+ const groupIdMatch = pomXml.match(/<groupId>([^<]+)<\/groupId>/);
271
+ const artifactIdMatch = pomXml.match(/<artifactId>([^<]+)<\/artifactId>/);
272
+ const versionMatch = pomXml.match(/<version>([^<]+)<\/version>/);
273
+ if (groupIdMatch && artifactIdMatch && versionMatch) {
274
+ return {
275
+ groupId: groupIdMatch[1],
276
+ artifactId: artifactIdMatch[1],
277
+ version: versionMatch[1],
278
+ };
279
+ }
280
+ return null;
281
+ }
282
+ catch (error) {
283
+ return null;
284
+ }
285
+ }
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5tYXZlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21hdmVuL2hlbHBlcnMubWF2ZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFRekM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsT0FBZSxFQUNmLFVBQWtCLEVBQ2xCLE9BQWdCO0lBRWhCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixPQUFPLEdBQUcsU0FBUyxJQUFJLFVBQVUsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsT0FBTyxHQUFHLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFZO0lBQ3BDLGtDQUFrQztJQUNsQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFbEUsd0JBQXdCO0lBQ3hCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLENBQUMsNEJBQTRCO0lBQzNDLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFN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
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Maven Registry module exports
3
+ */
4
+ export { MavenRegistry } from './classes.mavenregistry.js';
5
+ export * from './interfaces.maven.js';
6
+ export * from './helpers.maven.js';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Maven Registry module exports
3
+ */
4
+ export { MavenRegistry } from './classes.mavenregistry.js';
5
+ export * from './interfaces.maven.js';
6
+ export * from './helpers.maven.js';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tYXZlbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUMifQ==
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Maven registry type definitions
3
+ * Supports Maven repository protocol for Java artifacts
4
+ */
5
+ /**
6
+ * Maven coordinate system (GAV + optional classifier)
7
+ * Example: com.example:my-library:1.0.0:sources:jar
8
+ */
9
+ export interface IMavenCoordinate {
10
+ groupId: string;
11
+ artifactId: string;
12
+ version: string;
13
+ classifier?: string;
14
+ extension: string;
15
+ }
16
+ /**
17
+ * Maven metadata (maven-metadata.xml) structure
18
+ * Contains version list and latest/release information
19
+ */
20
+ export interface IMavenMetadata {
21
+ groupId: string;
22
+ artifactId: string;
23
+ versioning: IMavenVersioning;
24
+ }
25
+ /**
26
+ * Maven versioning information
27
+ */
28
+ export interface IMavenVersioning {
29
+ latest?: string;
30
+ release?: string;
31
+ versions: string[];
32
+ lastUpdated: string;
33
+ snapshot?: IMavenSnapshot;
34
+ snapshotVersions?: IMavenSnapshotVersion[];
35
+ }
36
+ /**
37
+ * SNAPSHOT build information
38
+ */
39
+ export interface IMavenSnapshot {
40
+ timestamp: string;
41
+ buildNumber: number;
42
+ }
43
+ /**
44
+ * SNAPSHOT version entry
45
+ */
46
+ export interface IMavenSnapshotVersion {
47
+ classifier?: string;
48
+ extension: string;
49
+ value: string;
50
+ updated: string;
51
+ }
52
+ /**
53
+ * Checksums for Maven artifacts
54
+ * Maven requires separate checksum files for each artifact
55
+ */
56
+ export interface IChecksums {
57
+ md5: string;
58
+ sha1: string;
59
+ sha256?: string;
60
+ sha512?: string;
61
+ }
62
+ /**
63
+ * Maven artifact file information
64
+ */
65
+ export interface IMavenArtifactFile {
66
+ filename: string;
67
+ data: Buffer;
68
+ coordinate: IMavenCoordinate;
69
+ checksums?: IChecksums;
70
+ }
71
+ /**
72
+ * Maven upload request
73
+ * Contains all files for a single version (JAR, POM, sources, etc.)
74
+ */
75
+ export interface IMavenUploadRequest {
76
+ groupId: string;
77
+ artifactId: string;
78
+ version: string;
79
+ files: IMavenArtifactFile[];
80
+ }
81
+ /**
82
+ * Maven protocol configuration
83
+ */
84
+ export interface IMavenProtocolConfig {
85
+ enabled: boolean;
86
+ basePath: string;
87
+ features?: {
88
+ snapshots?: boolean;
89
+ checksums?: boolean;
90
+ metadata?: boolean;
91
+ allowedExtensions?: string[];
92
+ };
93
+ }
94
+ /**
95
+ * Maven POM (Project Object Model) minimal structure
96
+ * Only essential fields for validation
97
+ */
98
+ export interface IMavenPom {
99
+ modelVersion: string;
100
+ groupId: string;
101
+ artifactId: string;
102
+ version: string;
103
+ packaging?: string;
104
+ name?: string;
105
+ description?: string;
106
+ }
107
+ /**
108
+ * Maven repository search result
109
+ */
110
+ export interface IMavenSearchResult {
111
+ groupId: string;
112
+ artifactId: string;
113
+ latestVersion: string;
114
+ versions: string[];
115
+ lastUpdated: string;
116
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Maven registry type definitions
3
+ * Supports Maven repository protocol for Java artifacts
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5tYXZlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL21hdmVuL2ludGVyZmFjZXMubWF2ZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@push.rocks/smartregistry",
3
- "version": "1.1.1",
3
+ "version": "1.4.0",
4
4
  "private": false,
5
5
  "description": "a registry for npm modules and oci images",
6
6
  "main": "dist_ts/index.js",
@@ -39,7 +39,8 @@
39
39
  "@push.rocks/qenv": "^6.1.3",
40
40
  "@push.rocks/smartbucket": "^4.3.0",
41
41
  "@push.rocks/smartlog": "^3.1.10",
42
- "@push.rocks/smartpath": "^6.0.0"
42
+ "@push.rocks/smartpath": "^6.0.0",
43
+ "adm-zip": "^0.5.10"
43
44
  },
44
45
  "scripts": {
45
46
  "test": "(tstest test/ --verbose --logfile --timeout 240)",