( env: Env, origin: string, packageName: string, version: string, filename: string | undefined, packageJson: PackageJson, searchParams: URLSearchParams )
| 237 | } |
| 238 | |
| 239 | async 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 | |
| 281 | async function getBuildIntegrity( |
| 282 | env: Env, |
no test coverage detected