@stacksjs/registry 0.10.25 → 0.10.28
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/dist/index.js +15 -8
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -101116,7 +101116,7 @@ async function renderPackagesPage() {
|
|
|
101116
101116
|
}
|
|
101117
101117
|
return _packagesPageHtml;
|
|
101118
101118
|
}
|
|
101119
|
-
function createHandler(registry, analyticsStorage, zigPackageStorage, baseUrl, binaryStorage, phpPackageStorage, authService) {
|
|
101119
|
+
function createHandler(registry, analyticsStorage, zigPackageStorage, baseUrl, binaryStorage, phpPackageStorage, authService, internalBaseUrl = baseUrl) {
|
|
101120
101120
|
return async (req) => {
|
|
101121
101121
|
const url = new URL(req.url);
|
|
101122
101122
|
const path6 = url.pathname;
|
|
@@ -101490,10 +101490,10 @@ function createHandler(registry, analyticsStorage, zigPackageStorage, baseUrl, b
|
|
|
101490
101490
|
}
|
|
101491
101491
|
}
|
|
101492
101492
|
if (path6 === "/registry/download" && req.method === "POST") {
|
|
101493
|
-
return handleRegistryDownload(req, corsHeaders);
|
|
101493
|
+
return handleRegistryDownload(req, corsHeaders, internalBaseUrl);
|
|
101494
101494
|
}
|
|
101495
101495
|
if (path6 === "/npm/download" && req.method === "POST") {
|
|
101496
|
-
return handleRegistryDownload(req, corsHeaders);
|
|
101496
|
+
return handleRegistryDownload(req, corsHeaders, internalBaseUrl);
|
|
101497
101497
|
}
|
|
101498
101498
|
if (path6 === "/npm/resolve" && req.method === "POST") {
|
|
101499
101499
|
return handleNpmResolve(req, corsHeaders);
|
|
@@ -101759,7 +101759,8 @@ function createServer(registry, port = 3000, analytics, zigStorage, binaryStorag
|
|
|
101759
101759
|
const authSvc = new AuthService(auth);
|
|
101760
101760
|
_authService = authSvc;
|
|
101761
101761
|
const baseUrl = process.env.BASE_URL || `http://localhost:${port}`;
|
|
101762
|
-
const
|
|
101762
|
+
const internalBaseUrl = process.env.REGISTRY_INTERNAL_URL || `http://127.0.0.1:${port}`;
|
|
101763
|
+
const handler = createHandler(registry, analyticsStorage, zigPackageStorage, baseUrl, binaryStorage, phpPackageStorage, authSvc, internalBaseUrl);
|
|
101763
101764
|
const start = () => {
|
|
101764
101765
|
server = Bun.serve({
|
|
101765
101766
|
port,
|
|
@@ -102748,11 +102749,17 @@ function isAllowedBulkTarballUrl(value) {
|
|
|
102748
102749
|
return false;
|
|
102749
102750
|
}
|
|
102750
102751
|
}
|
|
102751
|
-
|
|
102752
|
+
function internalBulkTarballUrl(value, internalBaseUrl) {
|
|
102753
|
+
const url = new URL(value);
|
|
102754
|
+
if (url.hostname !== "registry.pantry.dev")
|
|
102755
|
+
return value;
|
|
102756
|
+
return new URL(`${url.pathname}${url.search}`, `${internalBaseUrl.replace(/\/$/, "")}/`).href;
|
|
102757
|
+
}
|
|
102758
|
+
async function fetchRegistryTarballBytes(pkg, internalBaseUrl) {
|
|
102752
102759
|
if (!isAllowedBulkTarballUrl(pkg.tarball)) {
|
|
102753
102760
|
return null;
|
|
102754
102761
|
}
|
|
102755
|
-
const res = await fetch(pkg.tarball, {
|
|
102762
|
+
const res = await fetch(internalBulkTarballUrl(pkg.tarball, internalBaseUrl), {
|
|
102756
102763
|
headers: { Accept: "application/octet-stream" }
|
|
102757
102764
|
});
|
|
102758
102765
|
if (!res.ok)
|
|
@@ -102785,7 +102792,7 @@ function appendTarEntry(controller, name, data) {
|
|
|
102785
102792
|
if (padding)
|
|
102786
102793
|
controller.enqueue(padding);
|
|
102787
102794
|
}
|
|
102788
|
-
async function handleRegistryDownload(req, corsHeaders) {
|
|
102795
|
+
async function handleRegistryDownload(req, corsHeaders, internalBaseUrl) {
|
|
102789
102796
|
try {
|
|
102790
102797
|
const body = await req.json();
|
|
102791
102798
|
if (!Array.isArray(body?.packages) || body.packages.length === 0) {
|
|
@@ -102807,7 +102814,7 @@ async function handleRegistryDownload(req, corsHeaders) {
|
|
|
102807
102814
|
const fetched = await Promise.all(batch.map(async (pkg, batchIndex) => ({
|
|
102808
102815
|
pkg,
|
|
102809
102816
|
index: i9 + batchIndex,
|
|
102810
|
-
bytes: await fetchRegistryTarballBytes(pkg)
|
|
102817
|
+
bytes: await fetchRegistryTarballBytes(pkg, internalBaseUrl)
|
|
102811
102818
|
})));
|
|
102812
102819
|
for (const item of fetched) {
|
|
102813
102820
|
if (!item.bytes || item.bytes.byteLength === 0)
|