@webiny/handler 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.97a151f74d
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/fastify.js +24 -0
- package/fastify.js.map +1 -1
- package/package.json +10 -9
package/fastify.js
CHANGED
|
@@ -23,6 +23,8 @@ var _handlerClient = require("@webiny/handler-client");
|
|
|
23
23
|
|
|
24
24
|
var _cookie = _interopRequireDefault(require("@fastify/cookie"));
|
|
25
25
|
|
|
26
|
+
var _compress = _interopRequireDefault(require("@fastify/compress"));
|
|
27
|
+
|
|
26
28
|
var _middleware = require("./middleware");
|
|
27
29
|
|
|
28
30
|
var _api = require("@webiny/api");
|
|
@@ -154,13 +156,35 @@ const createHandler = params => {
|
|
|
154
156
|
addDefinedRoute(method, route.path);
|
|
155
157
|
});
|
|
156
158
|
/**
|
|
159
|
+
* ############################
|
|
160
|
+
* Register the Fastify plugins.
|
|
161
|
+
*/
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Package @fastify/cookie
|
|
157
165
|
*
|
|
166
|
+
* https://github.com/fastify/fastify-cookie
|
|
158
167
|
*/
|
|
159
168
|
|
|
160
169
|
app.register(_cookie.default, {
|
|
161
170
|
parseOptions: {} // options for parsing cookies
|
|
162
171
|
|
|
163
172
|
});
|
|
173
|
+
/**
|
|
174
|
+
* Package @fastify/compress
|
|
175
|
+
*
|
|
176
|
+
* https://github.com/fastify/fastify-compress
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
app.register(_compress.default, {
|
|
180
|
+
global: true,
|
|
181
|
+
threshold: 1024,
|
|
182
|
+
onUnsupportedEncoding: (encoding, _, reply) => {
|
|
183
|
+
reply.code(406);
|
|
184
|
+
return `We do not support the ${encoding} encoding.`;
|
|
185
|
+
},
|
|
186
|
+
inflateIfDeflated: true
|
|
187
|
+
});
|
|
164
188
|
/**
|
|
165
189
|
* Route helpers - mostly for users.
|
|
166
190
|
*/
|
package/fastify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_HEADERS","getWebinyVersionHeaders","getDefaultHeaders","routes","keys","Object","all","every","key","length","filter","type","Array","isArray","sort","join","OPTIONS_HEADERS","createHandler","params","definedRoutes","POST","GET","OPTIONS","DELETE","PATCH","PUT","HEAD","COPY","LOCK","MKCOL","MOVE","PROPFIND","PROPPATCH","SEARCH","TRACE","UNLOCK","throwOnDefinedRoute","path","options","some","includes","WebinyError","override","addDefinedRoute","inputType","toUpperCase","push","app","fastify","addHook","route","method","m","register","fastifyCookies","parseOptions","defined","onPost","handler","post","onGet","get","onOptions","onDelete","delete","onPatch","patch","onPut","put","onAll","onHead","head","context","Context","plugins","createHandlerClient","WEBINY_VERSION","process","env","server","decorate","routePlugins","webiny","byType","RoutePlugin","plugin","cb","request","reply","defaultHeaders","headers","raw","code","hijack","setHeader","end","ContextPlugin","apply","BeforeHandlerPlugin","preSerialization","_","__","payload","HandlerResultPlugin","handle","error","HandlerErrorPlugin","console","log","JSON","stringify","message","middleware","map","pl","next","status"],"sources":["fastify.ts"],"sourcesContent":["import { PluginCollection } from \"@webiny/plugins/types\";\nimport fastify, {\n FastifyServerOptions as ServerOptions,\n preSerializationAsyncHookHandler\n} from \"fastify\";\nimport { getWebinyVersionHeaders } from \"@webiny/utils\";\nimport { ContextRoutes, DefinedContextRoutes, RouteMethodOptions, HTTPMethods } from \"~/types\";\nimport { Context } from \"~/Context\";\nimport WebinyError from \"@webiny/error\";\nimport { RoutePlugin } from \"./plugins/RoutePlugin\";\nimport { createHandlerClient } from \"@webiny/handler-client\";\nimport fastifyCookies from \"@fastify/cookie\";\nimport { middleware } from \"~/middleware\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { BeforeHandlerPlugin } from \"./plugins/BeforeHandlerPlugin\";\nimport { HandlerResultPlugin } from \"./plugins/HandlerResultPlugin\";\nimport { HandlerErrorPlugin } from \"./plugins/HandlerErrorPlugin\";\n\nconst DEFAULT_HEADERS: Record<string, string> = {\n \"Cache-Control\": \"no-store\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Methods\": \"OPTIONS,POST,GET,DELETE,PUT,PATCH\",\n ...getWebinyVersionHeaders()\n};\n\nconst getDefaultHeaders = (routes: DefinedContextRoutes): Record<string, string> => {\n /**\n * If we are accepting all headers, just output that one.\n */\n const keys = Object.keys(routes);\n const all = keys.every(key => routes[key as HTTPMethods].length > 0);\n if (all) {\n return {\n ...DEFAULT_HEADERS,\n \"Access-Control-Allow-Methods\": \"*\"\n };\n }\n return {\n ...DEFAULT_HEADERS,\n \"Access-Control-Allow-Methods\": keys\n .filter(key => {\n const type = key as unknown as HTTPMethods;\n if (!routes[type] || Array.isArray(routes[type]) === false) {\n return false;\n }\n return routes[type].length > 0;\n })\n .sort()\n .join(\",\")\n };\n};\n\nconst OPTIONS_HEADERS: Record<string, string> = {\n \"Access-Control-Max-Age\": \"86400\",\n \"Cache-Control\": \"public, max-age=86400\"\n};\n\nexport interface CreateHandlerParams {\n plugins: PluginCollection;\n options?: ServerOptions;\n}\n\nexport const createHandler = (params: CreateHandlerParams) => {\n const definedRoutes: DefinedContextRoutes = {\n POST: [],\n GET: [],\n OPTIONS: [],\n DELETE: [],\n PATCH: [],\n PUT: [],\n HEAD: [],\n COPY: [],\n LOCK: [],\n MKCOL: [],\n MOVE: [],\n PROPFIND: [],\n PROPPATCH: [],\n SEARCH: [],\n TRACE: [],\n UNLOCK: []\n };\n\n const throwOnDefinedRoute = (\n type: HTTPMethods | \"ALL\",\n path: string,\n options?: RouteMethodOptions\n ): void => {\n if (type === \"ALL\") {\n const all = Object.keys(definedRoutes).some(key => {\n const routes = definedRoutes[key as HTTPMethods];\n return routes.includes(path);\n });\n if (!all) {\n return;\n }\n throw new WebinyError(\n `You cannot override a route with onAll() method, please remove unnecessary route from the system.`,\n \"OVERRIDE_ROUTE_ERROR\",\n {\n type,\n path\n }\n );\n } else if (definedRoutes[type].includes(path) === false) {\n return;\n } else if (options?.override === true) {\n return;\n }\n throw new WebinyError(\n `When you are trying to override existing route, you must send \"override\" parameter when adding that route.`,\n \"OVERRIDE_ROUTE_ERROR\",\n {\n type,\n path\n }\n );\n };\n\n const addDefinedRoute = (inputType: HTTPMethods, path: string): void => {\n const type = (inputType as string).toUpperCase() as HTTPMethods;\n if (!definedRoutes[type]) {\n return;\n } else if (definedRoutes[type].includes(path)) {\n return;\n }\n definedRoutes[type].push(path);\n };\n /**\n * We must attach the server to our internal context if we want to have it accessible.\n */\n const app = fastify({\n ...(params.options || {})\n });\n /**\n * We need to register routes in our system so we can output headers later on and dissallow overriding routes.\n */\n app.addHook(\"onRoute\", route => {\n const method = route.method;\n if (Array.isArray(method)) {\n for (const m of method) {\n addDefinedRoute(m, route.path);\n }\n return;\n }\n addDefinedRoute(method, route.path);\n });\n /**\n *\n */\n app.register(fastifyCookies, {\n parseOptions: {} // options for parsing cookies\n });\n /**\n * Route helpers - mostly for users.\n */\n const routes: ContextRoutes = {\n defined: definedRoutes,\n onPost: (path, handler, options) => {\n throwOnDefinedRoute(\"POST\", path, options);\n app.post(path, handler);\n },\n onGet: (path, handler, options) => {\n throwOnDefinedRoute(\"GET\", path, options);\n app.get(path, handler);\n },\n onOptions: (path, handler, options) => {\n throwOnDefinedRoute(\"OPTIONS\", path, options);\n app.options(path, handler);\n },\n onDelete: (path, handler, options) => {\n throwOnDefinedRoute(\"DELETE\", path, options);\n app.delete(path, handler);\n },\n onPatch: (path, handler, options) => {\n throwOnDefinedRoute(\"PATCH\", path, options);\n app.patch(path, handler);\n },\n onPut: (path, handler, options) => {\n throwOnDefinedRoute(\"PUT\", path, options);\n app.put(path, handler);\n },\n onAll: (path, handler, options) => {\n throwOnDefinedRoute(\"ALL\", path, options);\n app.all(path, handler);\n },\n onHead: (path, handler, options) => {\n throwOnDefinedRoute(\"HEAD\", path, options);\n app.head(path, handler);\n }\n };\n const context = new Context({\n plugins: [\n /**\n * We must have handlerClient by default.\n * And it must be one of the first context plugins applied.\n */\n createHandlerClient(),\n ...(params.plugins || [])\n ],\n /**\n * Inserted via webpack on build time.\n */\n WEBINY_VERSION: process.env.WEBINY_VERSION as string,\n server: app,\n routes\n });\n /**\n * We are attaching our custom context to webiny variable on the fastify app so it is accessible everywhere\n */\n app.decorate(\"webiny\", context);\n\n /**\n * We have few types of triggers:\n * * Events - EventPlugin\n * * Routes - RoutePlugin\n *\n * Routes are registered in fastify but events must be handled in package which implements cloud specific methods.\n */\n const routePlugins = app.webiny.plugins.byType<RoutePlugin>(RoutePlugin.type);\n\n /**\n * Add routes to the system.\n */\n for (const plugin of routePlugins) {\n plugin.cb({\n ...app.webiny.routes,\n context: app.webiny\n });\n }\n\n /**\n * On every request we add default headers, which can be changed later.\n * Also, if it is an options request, we skip everything after this hook and output options headers.\n */\n app.addHook(\"onRequest\", async (request, reply) => {\n const defaultHeaders = getDefaultHeaders(definedRoutes);\n reply.headers(defaultHeaders);\n if (request.method !== \"OPTIONS\") {\n return;\n }\n const raw = reply.code(204).hijack().raw;\n const headers = { ...defaultHeaders, ...OPTIONS_HEADERS };\n for (const key in headers) {\n raw.setHeader(key, headers[key]);\n }\n\n raw.end(\"\");\n });\n\n app.addHook(\"preParsing\", async request => {\n app.webiny.request = request;\n const plugins = app.webiny.plugins.byType<ContextPlugin>(ContextPlugin.type);\n for (const plugin of plugins) {\n await plugin.apply(app.webiny);\n }\n });\n /**\n *\n */\n app.addHook(\"preHandler\", async () => {\n const plugins = app.webiny.plugins.byType<BeforeHandlerPlugin>(BeforeHandlerPlugin.type);\n for (const plugin of plugins) {\n await plugin.apply(app.webiny);\n }\n });\n\n /**\n *\n */\n const preSerialization: preSerializationAsyncHookHandler<any> = async (_, __, payload) => {\n const plugins = app.webiny.plugins.byType<HandlerResultPlugin>(HandlerResultPlugin.type);\n for (const plugin of plugins) {\n await plugin.handle(app.webiny, payload);\n }\n return payload;\n };\n\n app.addHook(\"preSerialization\", preSerialization);\n\n app.addHook(\"onError\", async (_, reply, error) => {\n const plugins = app.webiny.plugins.byType<HandlerErrorPlugin>(HandlerErrorPlugin.type);\n // Log error to cloud, as these can be extremely annoying to debug!\n console.log(\"@webiny/handler\");\n console.log(\n JSON.stringify({\n ...(error || {}),\n message: error?.message,\n code: error?.code\n })\n );\n const handler = middleware(\n plugins.map(pl => {\n return (context: Context, error: Error, next: Function) => {\n return pl.handle(context, error, next);\n };\n })\n );\n await handler(app.webiny, error);\n\n return reply\n .headers({\n \"Cache-Control\": \"no-store\"\n })\n .status(500);\n });\n\n return app;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["DEFAULT_HEADERS","getWebinyVersionHeaders","getDefaultHeaders","routes","keys","Object","all","every","key","length","filter","type","Array","isArray","sort","join","OPTIONS_HEADERS","createHandler","params","definedRoutes","POST","GET","OPTIONS","DELETE","PATCH","PUT","HEAD","COPY","LOCK","MKCOL","MOVE","PROPFIND","PROPPATCH","SEARCH","TRACE","UNLOCK","throwOnDefinedRoute","path","options","some","includes","WebinyError","override","addDefinedRoute","inputType","toUpperCase","push","app","fastify","addHook","route","method","m","register","fastifyCookie","parseOptions","fastifyCompress","global","threshold","onUnsupportedEncoding","encoding","_","reply","code","inflateIfDeflated","defined","onPost","handler","post","onGet","get","onOptions","onDelete","delete","onPatch","patch","onPut","put","onAll","onHead","head","context","Context","plugins","createHandlerClient","WEBINY_VERSION","process","env","server","decorate","routePlugins","webiny","byType","RoutePlugin","plugin","cb","request","defaultHeaders","headers","raw","hijack","setHeader","end","ContextPlugin","apply","BeforeHandlerPlugin","preSerialization","__","payload","HandlerResultPlugin","handle","error","HandlerErrorPlugin","console","log","JSON","stringify","message","middleware","map","pl","next","status"],"sources":["fastify.ts"],"sourcesContent":["import { PluginCollection } from \"@webiny/plugins/types\";\nimport fastify, {\n FastifyServerOptions as ServerOptions,\n preSerializationAsyncHookHandler\n} from \"fastify\";\nimport { getWebinyVersionHeaders } from \"@webiny/utils\";\nimport { ContextRoutes, DefinedContextRoutes, RouteMethodOptions, HTTPMethods } from \"~/types\";\nimport { Context } from \"~/Context\";\nimport WebinyError from \"@webiny/error\";\nimport { RoutePlugin } from \"./plugins/RoutePlugin\";\nimport { createHandlerClient } from \"@webiny/handler-client\";\nimport fastifyCookie from \"@fastify/cookie\";\nimport fastifyCompress from \"@fastify/compress\";\nimport { middleware } from \"~/middleware\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { BeforeHandlerPlugin } from \"./plugins/BeforeHandlerPlugin\";\nimport { HandlerResultPlugin } from \"./plugins/HandlerResultPlugin\";\nimport { HandlerErrorPlugin } from \"./plugins/HandlerErrorPlugin\";\n\nconst DEFAULT_HEADERS: Record<string, string> = {\n \"Cache-Control\": \"no-store\",\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Methods\": \"OPTIONS,POST,GET,DELETE,PUT,PATCH\",\n ...getWebinyVersionHeaders()\n};\n\nconst getDefaultHeaders = (routes: DefinedContextRoutes): Record<string, string> => {\n /**\n * If we are accepting all headers, just output that one.\n */\n const keys = Object.keys(routes);\n const all = keys.every(key => routes[key as HTTPMethods].length > 0);\n if (all) {\n return {\n ...DEFAULT_HEADERS,\n \"Access-Control-Allow-Methods\": \"*\"\n };\n }\n return {\n ...DEFAULT_HEADERS,\n \"Access-Control-Allow-Methods\": keys\n .filter(key => {\n const type = key as unknown as HTTPMethods;\n if (!routes[type] || Array.isArray(routes[type]) === false) {\n return false;\n }\n return routes[type].length > 0;\n })\n .sort()\n .join(\",\")\n };\n};\n\nconst OPTIONS_HEADERS: Record<string, string> = {\n \"Access-Control-Max-Age\": \"86400\",\n \"Cache-Control\": \"public, max-age=86400\"\n};\n\nexport interface CreateHandlerParams {\n plugins: PluginCollection;\n options?: ServerOptions;\n}\n\nexport const createHandler = (params: CreateHandlerParams) => {\n const definedRoutes: DefinedContextRoutes = {\n POST: [],\n GET: [],\n OPTIONS: [],\n DELETE: [],\n PATCH: [],\n PUT: [],\n HEAD: [],\n COPY: [],\n LOCK: [],\n MKCOL: [],\n MOVE: [],\n PROPFIND: [],\n PROPPATCH: [],\n SEARCH: [],\n TRACE: [],\n UNLOCK: []\n };\n\n const throwOnDefinedRoute = (\n type: HTTPMethods | \"ALL\",\n path: string,\n options?: RouteMethodOptions\n ): void => {\n if (type === \"ALL\") {\n const all = Object.keys(definedRoutes).some(key => {\n const routes = definedRoutes[key as HTTPMethods];\n return routes.includes(path);\n });\n if (!all) {\n return;\n }\n throw new WebinyError(\n `You cannot override a route with onAll() method, please remove unnecessary route from the system.`,\n \"OVERRIDE_ROUTE_ERROR\",\n {\n type,\n path\n }\n );\n } else if (definedRoutes[type].includes(path) === false) {\n return;\n } else if (options?.override === true) {\n return;\n }\n throw new WebinyError(\n `When you are trying to override existing route, you must send \"override\" parameter when adding that route.`,\n \"OVERRIDE_ROUTE_ERROR\",\n {\n type,\n path\n }\n );\n };\n\n const addDefinedRoute = (inputType: HTTPMethods, path: string): void => {\n const type = (inputType as string).toUpperCase() as HTTPMethods;\n if (!definedRoutes[type]) {\n return;\n } else if (definedRoutes[type].includes(path)) {\n return;\n }\n definedRoutes[type].push(path);\n };\n /**\n * We must attach the server to our internal context if we want to have it accessible.\n */\n const app = fastify({\n ...(params.options || {})\n });\n /**\n * We need to register routes in our system so we can output headers later on and dissallow overriding routes.\n */\n app.addHook(\"onRoute\", route => {\n const method = route.method;\n if (Array.isArray(method)) {\n for (const m of method) {\n addDefinedRoute(m, route.path);\n }\n return;\n }\n addDefinedRoute(method, route.path);\n });\n /**\n * ############################\n * Register the Fastify plugins.\n */\n /**\n * Package @fastify/cookie\n *\n * https://github.com/fastify/fastify-cookie\n */\n app.register(fastifyCookie, {\n parseOptions: {} // options for parsing cookies\n });\n /**\n * Package @fastify/compress\n *\n * https://github.com/fastify/fastify-compress\n */\n app.register(fastifyCompress, {\n global: true,\n threshold: 1024,\n onUnsupportedEncoding: (encoding, _, reply) => {\n reply.code(406);\n return `We do not support the ${encoding} encoding.`;\n },\n inflateIfDeflated: true\n });\n /**\n * Route helpers - mostly for users.\n */\n const routes: ContextRoutes = {\n defined: definedRoutes,\n onPost: (path, handler, options) => {\n throwOnDefinedRoute(\"POST\", path, options);\n app.post(path, handler);\n },\n onGet: (path, handler, options) => {\n throwOnDefinedRoute(\"GET\", path, options);\n app.get(path, handler);\n },\n onOptions: (path, handler, options) => {\n throwOnDefinedRoute(\"OPTIONS\", path, options);\n app.options(path, handler);\n },\n onDelete: (path, handler, options) => {\n throwOnDefinedRoute(\"DELETE\", path, options);\n app.delete(path, handler);\n },\n onPatch: (path, handler, options) => {\n throwOnDefinedRoute(\"PATCH\", path, options);\n app.patch(path, handler);\n },\n onPut: (path, handler, options) => {\n throwOnDefinedRoute(\"PUT\", path, options);\n app.put(path, handler);\n },\n onAll: (path, handler, options) => {\n throwOnDefinedRoute(\"ALL\", path, options);\n app.all(path, handler);\n },\n onHead: (path, handler, options) => {\n throwOnDefinedRoute(\"HEAD\", path, options);\n app.head(path, handler);\n }\n };\n const context = new Context({\n plugins: [\n /**\n * We must have handlerClient by default.\n * And it must be one of the first context plugins applied.\n */\n createHandlerClient(),\n ...(params.plugins || [])\n ],\n /**\n * Inserted via webpack on build time.\n */\n WEBINY_VERSION: process.env.WEBINY_VERSION as string,\n server: app,\n routes\n });\n /**\n * We are attaching our custom context to webiny variable on the fastify app so it is accessible everywhere\n */\n app.decorate(\"webiny\", context);\n\n /**\n * We have few types of triggers:\n * * Events - EventPlugin\n * * Routes - RoutePlugin\n *\n * Routes are registered in fastify but events must be handled in package which implements cloud specific methods.\n */\n const routePlugins = app.webiny.plugins.byType<RoutePlugin>(RoutePlugin.type);\n\n /**\n * Add routes to the system.\n */\n for (const plugin of routePlugins) {\n plugin.cb({\n ...app.webiny.routes,\n context: app.webiny\n });\n }\n\n /**\n * On every request we add default headers, which can be changed later.\n * Also, if it is an options request, we skip everything after this hook and output options headers.\n */\n app.addHook(\"onRequest\", async (request, reply) => {\n const defaultHeaders = getDefaultHeaders(definedRoutes);\n reply.headers(defaultHeaders);\n if (request.method !== \"OPTIONS\") {\n return;\n }\n const raw = reply.code(204).hijack().raw;\n const headers = { ...defaultHeaders, ...OPTIONS_HEADERS };\n for (const key in headers) {\n raw.setHeader(key, headers[key]);\n }\n\n raw.end(\"\");\n });\n\n app.addHook(\"preParsing\", async request => {\n app.webiny.request = request;\n const plugins = app.webiny.plugins.byType<ContextPlugin>(ContextPlugin.type);\n for (const plugin of plugins) {\n await plugin.apply(app.webiny);\n }\n });\n /**\n *\n */\n app.addHook(\"preHandler\", async () => {\n const plugins = app.webiny.plugins.byType<BeforeHandlerPlugin>(BeforeHandlerPlugin.type);\n for (const plugin of plugins) {\n await plugin.apply(app.webiny);\n }\n });\n\n /**\n *\n */\n const preSerialization: preSerializationAsyncHookHandler<any> = async (_, __, payload) => {\n const plugins = app.webiny.plugins.byType<HandlerResultPlugin>(HandlerResultPlugin.type);\n for (const plugin of plugins) {\n await plugin.handle(app.webiny, payload);\n }\n return payload;\n };\n\n app.addHook(\"preSerialization\", preSerialization);\n\n app.addHook(\"onError\", async (_, reply, error) => {\n const plugins = app.webiny.plugins.byType<HandlerErrorPlugin>(HandlerErrorPlugin.type);\n // Log error to cloud, as these can be extremely annoying to debug!\n console.log(\"@webiny/handler\");\n console.log(\n JSON.stringify({\n ...(error || {}),\n message: error?.message,\n code: error?.code\n })\n );\n const handler = middleware(\n plugins.map(pl => {\n return (context: Context, error: Error, next: Function) => {\n return pl.handle(context, error, next);\n };\n })\n );\n await handler(app.webiny, error);\n\n return reply\n .headers({\n \"Cache-Control\": \"no-store\"\n })\n .status(500);\n });\n\n return app;\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/handler",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
3
|
+
"version": "0.0.0-unstable.97a151f74d",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@babel/runtime": "7.19.0",
|
|
16
|
+
"@fastify/compress": "6.2.0",
|
|
16
17
|
"@fastify/cookie": "8.3.0",
|
|
17
|
-
"@webiny/api": "0.0.0-unstable.
|
|
18
|
-
"@webiny/error": "0.0.0-unstable.
|
|
19
|
-
"@webiny/handler-client": "0.0.0-unstable.
|
|
20
|
-
"@webiny/plugins": "0.0.0-unstable.
|
|
21
|
-
"@webiny/utils": "0.0.0-unstable.
|
|
18
|
+
"@webiny/api": "0.0.0-unstable.97a151f74d",
|
|
19
|
+
"@webiny/error": "0.0.0-unstable.97a151f74d",
|
|
20
|
+
"@webiny/handler-client": "0.0.0-unstable.97a151f74d",
|
|
21
|
+
"@webiny/plugins": "0.0.0-unstable.97a151f74d",
|
|
22
|
+
"@webiny/utils": "0.0.0-unstable.97a151f74d",
|
|
22
23
|
"fastify": "4.9.2"
|
|
23
24
|
},
|
|
24
25
|
"devDependencies": {
|
|
@@ -26,8 +27,8 @@
|
|
|
26
27
|
"@babel/core": "^7.19.3",
|
|
27
28
|
"@babel/preset-env": "^7.19.4",
|
|
28
29
|
"@babel/preset-typescript": "^7.18.6",
|
|
29
|
-
"@webiny/cli": "^0.0.0-unstable.
|
|
30
|
-
"@webiny/project-utils": "^0.0.0-unstable.
|
|
30
|
+
"@webiny/cli": "^0.0.0-unstable.97a151f74d",
|
|
31
|
+
"@webiny/project-utils": "^0.0.0-unstable.97a151f74d",
|
|
31
32
|
"babel-plugin-lodash": "^3.3.4",
|
|
32
33
|
"merge": "^1.2.1",
|
|
33
34
|
"rimraf": "^3.0.2",
|
|
@@ -42,5 +43,5 @@
|
|
|
42
43
|
"build": "yarn webiny run build",
|
|
43
44
|
"watch": "yarn webiny run watch"
|
|
44
45
|
},
|
|
45
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "97a151f74d8c5679323989fcc8cc7036be0f150e"
|
|
46
47
|
}
|