2 Commits

Author SHA1 Message Date
4d13fac9f1 v1.3.1
Some checks failed
Default (tags) / security (push) Successful in 25s
Default (tags) / test (push) Failing after 44s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2025-11-21 09:17:35 +00:00
42209d235d fix(maven): Pass request path to Maven checksum handler so checksum files are resolved correctly 2025-11-21 09:17:35 +00:00
5 changed files with 18 additions and 3 deletions

View File

@@ -1,5 +1,12 @@
# Changelog # Changelog
## 2025-11-21 - 1.3.1 - fix(maven)
Pass request path to Maven checksum handler so checksum files are resolved correctly
- Call handleChecksumRequest with the full request path from MavenRegistry.handleRequest
- Allows getChecksum to extract the checksum filename from the URL and fetch the correct checksum file from storage
- Fixes 404s when requesting artifact checksum files (md5, sha1, sha256, sha512)
## 2025-11-21 - 1.3.0 - feat(core) ## 2025-11-21 - 1.3.0 - feat(core)
Add Cargo and Composer registries with storage, auth and helpers Add Cargo and Composer registries with storage, auth and helpers

View File

@@ -1,6 +1,6 @@
{ {
"name": "@push.rocks/smartregistry", "name": "@push.rocks/smartregistry",
"version": "1.3.0", "version": "1.3.1",
"private": false, "private": false,
"description": "a registry for npm modules and oci images", "description": "a registry for npm modules and oci images",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",

View File

@@ -30,6 +30,14 @@ tap.test('Maven: should create registry instance', async () => {
expect(registry).toBeInstanceOf(SmartRegistry); expect(registry).toBeInstanceOf(SmartRegistry);
expect(mavenToken).toBeTypeOf('string'); expect(mavenToken).toBeTypeOf('string');
// Clean up any existing metadata from previous test runs
const storage = registry.getStorage();
try {
await storage.deleteMavenMetadata(testGroupId, testArtifactId);
} catch (error) {
// Ignore error if metadata doesn't exist
}
}); });
tap.test('Maven: should upload POM file (PUT /{groupPath}/{artifactId}/{version}/*.pom)', async () => { tap.test('Maven: should upload POM file (PUT /{groupPath}/{artifactId}/{version}/*.pom)', async () => {

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@push.rocks/smartregistry', name: '@push.rocks/smartregistry',
version: '1.3.0', version: '1.3.1',
description: 'a registry for npm modules and oci images' description: 'a registry for npm modules and oci images'
} }

View File

@@ -85,7 +85,7 @@ export class MavenRegistry extends BaseRegistry {
// Check if it's a checksum file // Check if it's a checksum file
if (coordinate.extension === 'md5' || coordinate.extension === 'sha1' || if (coordinate.extension === 'md5' || coordinate.extension === 'sha1' ||
coordinate.extension === 'sha256' || coordinate.extension === 'sha512') { coordinate.extension === 'sha256' || coordinate.extension === 'sha512') {
return this.handleChecksumRequest(context.method, coordinate, token); return this.handleChecksumRequest(context.method, coordinate, token, path);
} }
// Handle artifact requests (JAR, POM, WAR, etc.) // Handle artifact requests (JAR, POM, WAR, etc.)