{"version":3,"file":"public.mjs","sources":["../../src/middlewares/public.ts"],"sourcesContent":["import { defaultsDeep } from 'lodash/fp';\nimport koaStatic from 'koa-static';\nimport type { Core } from '@strapi/types';\n\ntype Config = koaStatic.Options;\n\nconst defaults = {\n  maxAge: 60000,\n};\n\nexport const publicStatic: Core.MiddlewareFactory = (\n  config: Config,\n  { strapi }: { strapi: Core.Strapi }\n) => {\n  const { maxAge } = defaultsDeep(defaults, config);\n\n  strapi.server.routes([\n    {\n      method: 'GET',\n      path: '/',\n      handler(ctx) {\n        ctx.redirect(strapi.config.get('admin.url', '/admin'));\n      },\n      config: { auth: false },\n    },\n    // All other public GET-routes except /uploads/(.*) which is handled in upload middleware\n    {\n      method: 'GET',\n      path: '/((?!uploads/).+)',\n      handler: koaStatic(strapi.dirs.static.public, {\n        maxage: maxAge,\n        defer: true,\n      }),\n      config: { auth: false },\n    },\n  ]);\n};\n"],"names":["defaults","maxAge","publicStatic","config","strapi","defaultsDeep","server","routes","method","path","handler","ctx","redirect","get","auth","koaStatic","dirs","static","public","maxage","defer"],"mappings":";;;AAMA,MAAMA,QAAAA,GAAW;IACfC,MAAAA,EAAQ;AACV,CAAA;MAEaC,YAAAA,GAAuC,CAClDC,MAAAA,EACA,EAAEC,MAAM,EAA2B,GAAA;AAEnC,IAAA,MAAM,EAAEH,MAAM,EAAE,GAAGI,aAAaL,QAAAA,EAAUG,MAAAA,CAAAA;IAE1CC,MAAAA,CAAOE,MAAM,CAACC,MAAM,CAAC;AACnB,QAAA;YACEC,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,GAAA;AACNC,YAAAA,OAAAA,CAAAA,CAAQC,GAAG,EAAA;AACTA,gBAAAA,GAAAA,CAAIC,QAAQ,CAACR,MAAAA,CAAOD,MAAM,CAACU,GAAG,CAAC,WAAA,EAAa,QAAA,CAAA,CAAA;AAC9C,YAAA,CAAA;YACAV,MAAAA,EAAQ;gBAAEW,IAAAA,EAAM;AAAM;AACxB,SAAA;;AAEA,QAAA;YACEN,MAAAA,EAAQ,KAAA;YACRC,IAAAA,EAAM,mBAAA;AACNC,YAAAA,OAAAA,EAASK,UAAUX,MAAAA,CAAOY,IAAI,CAACC,MAAM,CAACC,MAAM,EAAE;gBAC5CC,MAAAA,EAAQlB,MAAAA;gBACRmB,KAAAA,EAAO;AACT,aAAA,CAAA;YACAjB,MAAAA,EAAQ;gBAAEW,IAAAA,EAAM;AAAM;AACxB;AACD,KAAA,CAAA;AACH;;;;"}