(env: Env, packageName: string, version: string, filename: string)
| 348 | } |
| 349 | |
| 350 | async function serveCssModule(env: Env, packageName: string, version: string, filename: string): Promise<Response> { |
| 351 | let response = await serveRawFile(env, packageName, version, filename); |
| 352 | if (!response.ok) { |
| 353 | return response; |
| 354 | } |
| 355 | |
| 356 | let css = await response.text(); |
| 357 | let code = [ |
| 358 | "/* esm.unpkg.com - css module */", |
| 359 | "const stylesheet = new CSSStyleSheet();", |
| 360 | `stylesheet.replaceSync(${JSON.stringify(css)});`, |
| 361 | "export default stylesheet;", |
| 362 | "", |
| 363 | ].join("\n"); |
| 364 | |
| 365 | return new Response(code, { |
| 366 | headers: corsHeaders({ |
| 367 | "Cache-Control": moduleCacheControl, |
| 368 | "Content-Type": "application/javascript; charset=utf-8", |
| 369 | }), |
| 370 | }); |
| 371 | } |
| 372 | |
| 373 | function resolveCssPath(packageJson: PackageJson, filename: string | undefined): string | null { |
| 374 | if (filename != null && filename !== "/") { |
no test coverage detected