UNPKG

request-log-starter

Version:

Request logging middleware for Nuxt 3 applications

1 lines 7.72 kB
{"version":3,"sources":["../../../node_modules/defu/dist/defu.mjs","../src/module.ts","../src/index.ts"],"names":["defineNuxtModule","createResolver","addServerHandler"],"mappings":";;;;;;;;AAAA,SAAS,cAAc,KAAO,EAAA;AAC5B,EAAA,IAAI,KAAU,KAAA,IAAA,IAAQ,OAAO,KAAA,KAAU,QAAU,EAAA;AAC/C,IAAO,OAAA,KAAA;AAAA;AAET,EAAM,MAAA,SAAA,GAAY,MAAO,CAAA,cAAA,CAAe,KAAK,CAAA;AAC7C,EAAI,IAAA,SAAA,KAAc,QAAQ,SAAc,KAAA,MAAA,CAAO,aAAa,MAAO,CAAA,cAAA,CAAe,SAAS,CAAA,KAAM,IAAM,EAAA;AACrG,IAAO,OAAA,KAAA;AAAA;AAET,EAAI,IAAA,MAAA,CAAO,YAAY,KAAO,EAAA;AAC5B,IAAO,OAAA,KAAA;AAAA;AAET,EAAI,IAAA,MAAA,CAAO,eAAe,KAAO,EAAA;AAC/B,IAAA,OAAO,MAAO,CAAA,SAAA,CAAU,QAAS,CAAA,IAAA,CAAK,KAAK,CAAM,KAAA,iBAAA;AAAA;AAEnD,EAAO,OAAA,IAAA;AACT;AAEA,SAAS,KAAM,CAAA,UAAA,EAAY,QAAU,EAAA,SAAA,GAAY,KAAK,MAAQ,EAAA;AAC5D,EAAI,IAAA,CAAC,aAAc,CAAA,QAAQ,CAAG,EAAA;AAC5B,IAAA,OAAO,KAAM,CAAA,UAAA,EAAY,EAAC,EAAG,WAAW,MAAM,CAAA;AAAA;AAEhD,EAAA,MAAM,MAAS,GAAA,MAAA,CAAO,MAAO,CAAA,IAAI,QAAQ,CAAA;AACzC,EAAA,KAAA,MAAW,OAAO,UAAY,EAAA;AAC5B,IAAI,IAAA,GAAA,KAAQ,WAAe,IAAA,GAAA,KAAQ,aAAe,EAAA;AAChD,MAAA;AAAA;AAEF,IAAM,MAAA,KAAA,GAAQ,WAAW,GAAG,CAAA;AAC5B,IAAI,IAAA,KAAA,KAAU,IAAQ,IAAA,KAAA,KAAU,MAAQ,EAAA;AACtC,MAAA;AAAA;AAEF,IAAA,IAAI,UAAU,MAAO,CAAA,MAAA,EAAQ,GAAK,EAAA,KAAA,EAAO,SAAS,CAAG,EAAA;AACnD,MAAA;AAAA;AAEF,IAAI,IAAA,KAAA,CAAM,QAAQ,KAAK,CAAA,IAAK,MAAM,OAAQ,CAAA,MAAA,CAAO,GAAG,CAAC,CAAG,EAAA;AACtD,MAAO,MAAA,CAAA,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,MAAA,CAAO,GAAG,CAAC,CAAA;AAAA,KACzC,MAAA,IAAW,cAAc,KAAK,CAAA,IAAK,cAAc,MAAO,CAAA,GAAG,CAAC,CAAG,EAAA;AAC7D,MAAA,MAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA,QACZ,KAAA;AAAA,QACA,OAAO,GAAG,CAAA;AAAA,QAAA,CACT,YAAY,CAAG,EAAA,SAAS,CAAM,CAAA,CAAA,GAAA,EAAA,IAAM,IAAI,QAAS,EAAA;AAAA,QAClD;AAAA,OACF;AAAA,KACK,MAAA;AACL,MAAA,MAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA;AAChB;AAEF,EAAO,OAAA,MAAA;AACT;AACA,SAAS,WAAW,MAAQ,EAAA;AAC1B,EAAA,OAAO,CAAI,GAAA,UAAA;AAAA;AAAA,IAET,UAAW,CAAA,MAAA,CAAO,CAAC,CAAA,EAAG,CAAM,KAAA,KAAA,CAAM,CAAG,EAAA,CAAA,EAAG,EAAI,EAAA,MAAM,CAAG,EAAA,EAAE;AAAA,GAAA;AAE3D;AACA,IAAM,OAAO,UAAW,EAAA;;;AClDxB,IAAO,iBAAQA,oBAAoC,CAAA;AAAA,EACjD,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,qBAAA;AAAA,IACN,SAAW,EAAA,YAAA;AAAA,IACX,aAAe,EAAA;AAAA,MACb,IAAM,EAAA;AAAA;AACR,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,OAAS,EAAA,IAAA;AAAA,IACT,OAAS,EAAA,KAAA;AAAA,IACT,UAAY,EAAA,KAAA;AAAA,IACZ,MAAQ,EAAA,MAAA;AAAA,IACR,WAAA,EAAa,CAAC,eAAA,EAAiB,QAAQ;AAAA,GACzC;AAAA,EACA,KAAA,CAAM,SAAS,IAAM,EAAA;AACnB,IAAM,MAAA,QAAA,GAAWC,kBAAe,CAAA,2PAAe,CAAA;AAG/C,IAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,CAAc,MAAO,CAAA,UAAA,GAAa,IAAK,CAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,CAAc,MAAO,CAAA,UAAA,IAAc,EAAC,EAAG,OAAO,CAAA;AAG/G,IAAiBC,oBAAA,CAAA;AAAA,MACf,OAAA,EAAS,QAAS,CAAA,OAAA,CAAQ,sBAAsB,CAAA;AAAA,MAChD,UAAY,EAAA;AAAA,KACb,CAAA;AAGD,IAAK,IAAA,CAAA,IAAA,CAAK,cAAgB,EAAA,CAAC,WAAgB,KAAA;AACzC,MAAY,WAAA,CAAA,SAAA,GAAY,WAAY,CAAA,SAAA,IAAa,EAAC;AAClD,MAAA,WAAA,CAAY,SAAU,CAAA,MAAA,GAAS,WAAY,CAAA,SAAA,CAAU,UAAU,EAAC;AAChE,MAAA,WAAA,CAAY,UAAU,MAAO,CAAA,IAAA,CAAK,QAAS,CAAA,OAAA,CAAQ,WAAW,CAAC,CAAA;AAG/D,MAAA,WAAA,CAAY,gBAAgB,WAAY,CAAA,aAAA,IAAiB,EAAE,GAAA,EAAK,EAAG,EAAA;AACnE,MAAA,WAAA,CAAY,aAAc,CAAA,GAAA,GAAM,WAAY,CAAA,aAAA,CAAc,OAAO,EAAC;AAClE,MAAY,WAAA,CAAA,aAAA,CAAc,IAAI,UAAa,GAAA,OAAA;AAAA,KAC5C,CAAA;AAGD,IAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,YAAc,EAAA,CAAC,KAAe,KAAA;AAE5C,MAAA,KAAA,CAAM,OAAQ,CAAA,QAAA,GAAW,KAAM,CAAA,OAAA,CAAQ,YAAY,EAAC;AACpD,MAAA,KAAA,CAAM,OAAQ,CAAA,WAAA,GAAc,KAAM,CAAA,OAAA,CAAQ,eAAe,EAAC;AAC1D,MAAA,KAAA,CAAM,OAAQ,CAAA,SAAA,GAAY,KAAM,CAAA,OAAA,CAAQ,aAAa,EAAC;AACtD,MAAM,KAAA,CAAA,OAAA,CAAQ,UAAU,UAAa,GAAA,OAAA;AAAA,KACtC,CAAA;AAAA;AAEL,CAAC,CAAA;;;AClDD,IAAO,aAAQ,GAAA","file":"index.cjs","sourcesContent":["function isPlainObject(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {\n return false;\n }\n if (Symbol.iterator in value) {\n return false;\n }\n if (Symbol.toStringTag in value) {\n return Object.prototype.toString.call(value) === \"[object Module]\";\n }\n return true;\n}\n\nfunction _defu(baseObject, defaults, namespace = \".\", merger) {\n if (!isPlainObject(defaults)) {\n return _defu(baseObject, {}, namespace, merger);\n }\n const object = Object.assign({}, defaults);\n for (const key in baseObject) {\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = baseObject[key];\n if (value === null || value === void 0) {\n continue;\n }\n if (merger && merger(object, key, value, namespace)) {\n continue;\n }\n if (Array.isArray(value) && Array.isArray(object[key])) {\n object[key] = [...value, ...object[key]];\n } else if (isPlainObject(value) && isPlainObject(object[key])) {\n object[key] = _defu(\n value,\n object[key],\n (namespace ? `${namespace}.` : \"\") + key.toString(),\n merger\n );\n } else {\n object[key] = value;\n }\n }\n return object;\n}\nfunction createDefu(merger) {\n return (...arguments_) => (\n // eslint-disable-next-line unicorn/no-array-reduce\n arguments_.reduce((p, c) => _defu(p, c, \"\", merger), {})\n );\n}\nconst defu = createDefu();\nconst defuFn = createDefu((object, key, currentValue) => {\n if (object[key] !== void 0 && typeof currentValue === \"function\") {\n object[key] = currentValue(object[key]);\n return true;\n }\n});\nconst defuArrayFn = createDefu((object, key, currentValue) => {\n if (Array.isArray(object[key]) && typeof currentValue === \"function\") {\n object[key] = currentValue(object[key]);\n return true;\n }\n});\n\nexport { createDefu, defu as default, defu, defuArrayFn, defuFn };\n","import { defineNuxtModule, addServerHandler, createResolver } from \"@nuxt/kit\";\nimport { defu } from \"defu\";\nimport type { RequestLogOptions } from \"./types\";\n\nexport default defineNuxtModule<RequestLogOptions>({\n meta: {\n name: \"request-log-starter\",\n configKey: \"requestLog\",\n compatibility: {\n nuxt: \"^3.0.0\",\n },\n },\n defaults: {\n enabled: true,\n logBody: false,\n logHeaders: false,\n format: \"json\",\n maskHeaders: [\"authorization\", \"cookie\"],\n },\n setup(options, nuxt) {\n const resolver = createResolver(import.meta.url);\n\n // Make options available in runtime config\n nuxt.options.runtimeConfig.public.requestLog = defu(nuxt.options.runtimeConfig.public.requestLog || {}, options);\n\n // Add middleware for request logging\n addServerHandler({\n handler: resolver.resolve(\"./runtime/middleware\"),\n middleware: true,\n });\n\n // Setup context helper\n nuxt.hook(\"nitro:config\", (nitroConfig) => {\n nitroConfig.externals = nitroConfig.externals || {};\n nitroConfig.externals.inline = nitroConfig.externals.inline || [];\n nitroConfig.externals.inline.push(resolver.resolve(\"./runtime\"));\n\n // Add runtime context injections\n nitroConfig.runtimeConfig = nitroConfig.runtimeConfig || { app: {} };\n nitroConfig.runtimeConfig.app = nitroConfig.runtimeConfig.app || {};\n nitroConfig.runtimeConfig.app.requestLog = options;\n });\n\n // Register runtime config\n nuxt.hooks.hook(\"nitro:init\", (nitro: any) => {\n // Set up Nitro options\n nitro.options.handlers = nitro.options.handlers || [];\n nitro.options.devHandlers = nitro.options.devHandlers || [];\n nitro.options.appConfig = nitro.options.appConfig || {};\n nitro.options.appConfig.requestLog = options;\n });\n },\n});\n","// Module exports\nimport module from \"./module\";\nexport default module;\n\n// Re-export necessary types\nexport * from \"./types\";\n"]}