@fastly/remix-server-adapter 2.0.1 → 2.0.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../src/implementation.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAGhF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,cAAc,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA2B1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,cAAc,EACd,IAAI,GACL,EAAE;IACD,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,WAGgB,UAAU,
|
|
1
|
+
{"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../src/implementation.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAGhF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,cAAc,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA2B1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,cAAc,EACd,IAAI,GACL,EAAE;IACD,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,WAGgB,UAAU,uBAa1B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,cAAc,EACd,MAAM,EACN,IAAI,GACL,EAAE;IACD,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,WAiBgB,UAAU,UAgB1B"}
|
|
@@ -45,18 +45,16 @@ exports.handleAsset = handleAsset;
|
|
|
45
45
|
function createRequestHandler({ build, getLoadContext, mode, }) {
|
|
46
46
|
let handleRequest = (0, remix_server_runtime_1.createRequestHandler)(build, mode);
|
|
47
47
|
return (event) => {
|
|
48
|
+
var _a;
|
|
48
49
|
let loadContext = getLoadContext?.(event);
|
|
49
50
|
// HACK: Until js-compute supports AbortSignal on Request
|
|
50
51
|
// we add a fake AbortSignal that doesn't actually abort
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return handleRequest(request, loadContext);
|
|
52
|
+
(_a = Request.prototype).signal ?? (_a.signal = {
|
|
53
|
+
aborted: false,
|
|
54
|
+
addEventListener: () => { },
|
|
55
|
+
removeEventListener: () => { },
|
|
56
|
+
});
|
|
57
|
+
return handleRequest(event.request, loadContext);
|
|
60
58
|
};
|
|
61
59
|
}
|
|
62
60
|
exports.createRequestHandler = createRequestHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/implementation.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAKH,uEAAiG;AAajG;;;;;;GAMG;AACI,KAAK,UAAU,WAAW,CAC/B,KAAiB,EACjB,KAAkB,EAClB,MAAuB;IAGvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAEtD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACvD,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,KAAK,GAAqC,SAAS,CAAC;IAExD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QAC1C,KAAK,GAAG,OAAO,CAAC;KACjB;SAAM;QACL,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpE,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACrC,iEAAiE;YACjE,KAAK,GAAG,UAAU,CAAC;SACpB;aAAM;YACL,0FAA0F;SAC3F;KACF;IAED,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC;AA/BD,kCA+BC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,cAAc,EACd,IAAI,GAKL;IACC,IAAI,aAAa,GAAG,IAAA,2CAAyB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE3D,OAAO,CAAC,KAAiB,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/implementation.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright Fastly, Inc.\n * Licensed under the MIT license. See LICENSE file for details.\n */\n\nimport type { PublisherServer } from \"@fastly/compute-js-static-publish\";\n\nimport type { AppLoadContext, ServerBuild } from \"@fastly/remix-server-runtime\";\nimport { createRequestHandler as createRemixRequestHandler } from \"@fastly/remix-server-runtime\";\n\n/**\n * A function that returns the value to use as `context` in route `loader` and\n * `action` functions.\n *\n * You can think of this as an escape hatch that allows you to pass\n * environment/platform-specific values through to your loader/action.\n */\nexport type GetLoadContextFunction = (event: FetchEvent) => AppLoadContext;\n\nexport type RequestHandler = ReturnType<typeof createRequestHandler>;\n\n/**\n * Generates a Response that would serve a static asset corresponding to the URL requested\n * by the passed-in FetchEvent.\n * @param event { FetchEvent }\n * @param build { ServerBuild }\n * @param server { PublisherServer }\n */\nexport async function handleAsset(\n event: FetchEvent,\n build: ServerBuild,\n server: PublisherServer,\n): Promise<Response | null> {\n\n const request = event.request;\n const requestPathname = new URL(request.url).pathname;\n\n const asset = server.getMatchingAsset(requestPathname);\n if (asset == null) {\n return null;\n }\n\n let cache: 'extended' | 'never' | undefined = undefined;\n\n if (process.env.NODE_ENV === \"development\") {\n cache = 'never';\n } else {\n let assetpath = build.assets.url.split(\"/\").slice(0, -1).join(\"/\");\n let requestpath = requestPathname.split(\"/\").slice(0, -1).join(\"/\");\n\n if (requestpath.startsWith(assetpath)) {\n // Assets are hashed by Remix so are safe to cache in the browser\n cache = 'extended';\n } else {\n // Assets are not necessarily hashed in the request URL, so we cannot cache in the browser\n }\n }\n\n return server.serveAsset(event.request, asset, { cache });\n}\n\n/**\n * Returns a request handler for the Fastly Compute@Edge runtime that serves the\n * Remix SSR response.\n */\nexport function createRequestHandler({\n build,\n getLoadContext,\n mode,\n}: {\n build: ServerBuild;\n getLoadContext?: GetLoadContextFunction;\n mode?: string;\n}) {\n let handleRequest = createRemixRequestHandler(build, mode);\n\n return (event: FetchEvent) => {\n let loadContext = getLoadContext?.(event);\n\n // HACK: Until js-compute supports AbortSignal on Request\n // we add a fake AbortSignal that doesn't actually abort\n (Request.prototype as any).signal ??= {\n aborted: false,\n addEventListener: () => {},\n removeEventListener: () => {},\n };\n\n return handleRequest(event.request, loadContext);\n };\n}\n\n/**\n * Creates a simplified event handler that can be used on Fastly Compute@Edge.\n * @param build { ServerBuild }\n * @param getLoadContext { GetLoadContextFunction }\n * @param serve { PublisherServer }\n * @param mode { string }\n */\nexport function createEventHandler({\n build,\n getLoadContext,\n server,\n mode,\n}: {\n build: ServerBuild;\n getLoadContext?: GetLoadContextFunction;\n server: PublisherServer;\n mode?: string;\n}) {\n let handleRequest = createRequestHandler({\n build,\n getLoadContext,\n mode,\n });\n\n let handleEvent = async (event: FetchEvent) => {\n let response = await handleAsset(event, build, server);\n\n if (!response) {\n response = await handleRequest(event);\n }\n\n return response;\n };\n\n return (event: FetchEvent) => {\n try {\n event.respondWith(handleEvent(event));\n } catch (e: any) {\n if (process.env.NODE_ENV === \"development\") {\n event.respondWith(\n new Response(e.message || e.toString(), {\n status: 500,\n })\n );\n return;\n }\n\n event.respondWith(new Response(\"Internal Error\", { status: 500 }));\n }\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fastly/remix-server-adapter",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Remix Adapter for Fastly Compute@Edge",
|
|
6
6
|
"types": "./build/src/index.d.ts",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@fastly/compute-js-static-publish": "^5.0.0",
|
|
13
13
|
"@fastly/js-compute": "^2.0.0",
|
|
14
|
-
"@fastly/remix-server-runtime": "^2.0.
|
|
14
|
+
"@fastly/remix-server-runtime": "^2.0.2"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
17
|
"prepack": "npm run clean && npm run compile",
|