MCPcopy Index your code
hub / github.com/unpkg/unpkg / createMetadata

Function createMetadata

packages/unpkg-esm/src/request-handler.ts:239–279  ·  view source on GitHub ↗
(
  env: Env,
  origin: string,
  packageName: string,
  version: string,
  filename: string | undefined,
  packageJson: PackageJson,
  searchParams: URLSearchParams
)

Source from the content-addressed store, hash-verified

237}
238
239async function createMetadata(
240 env: Env,
241 origin: string,
242 packageName: string,
243 version: string,
244 filename: string | undefined,
245 packageJson: PackageJson,
246 searchParams: URLSearchParams
247): Promise<Metadata | { response: Response }> {
248 let subpath = getEsmPackageSubpath(filename);
249 let target = searchParams.get("target") ?? "es2022";
250 let artifactSearchParams = new URLSearchParams(searchParams);
251 artifactSearchParams.delete("meta");
252 let artifactSearch = normalizeSearch(artifactSearchParams);
253 let modulePath = `/${packageName}@${version}${filename ?? ""}${artifactSearch}`;
254 let module = new URL(modulePath, origin).toString();
255 let types = getPackageTypesUrl(origin, packageName, version, filename, packageJson);
256 let integrity = await getBuildIntegrity(env, origin, packageName, version, filename, artifactSearchParams);
257 if ("response" in integrity) {
258 return integrity;
259 }
260
261 return {
262 name: packageName,
263 version,
264 specifier: `${packageName}@${version}`,
265 subpath,
266 target,
267 module,
268 types,
269 integrity: integrity.value,
270 dependencies: packageJson.dependencies ?? {},
271 peerDependencies: packageJson.peerDependencies ?? {},
272 exports: listExportSubpaths(packageJson),
273 build: {
274 bundle: searchParams.has("standalone") ? "standalone" : searchParams.has("bundle") ? "bundle" : "smart",
275 minify: searchParams.has("min"),
276 sourcemap: searchParams.has("sourcemap"),
277 },
278 };
279}
280
281async function getBuildIntegrity(
282 env: Env,

Callers 1

handleRequestFunction · 0.85

Calls 5

getEsmPackageSubpathFunction · 0.90
normalizeSearchFunction · 0.85
getPackageTypesUrlFunction · 0.85
getBuildIntegrityFunction · 0.85
listExportSubpathsFunction · 0.85

Tested by

no test coverage detected