{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import * as qs from 'qs';\nimport type { Core } from '@strapi/types';\n\nimport Strapi, { type StrapiOptions } from './Strapi';\nimport { destroyOnSignal, resolveWorkingDirectories, createUpdateNotifier } from './utils';\n\nexport { default as compileStrapi } from './compile';\nexport * as factories from './factories';\n\nexport const createStrapi = (options: Partial<StrapiOptions> = {}): Core.Strapi => {\n  const strapi = new Strapi({\n    ...options,\n    ...resolveWorkingDirectories(options),\n  });\n\n  destroyOnSignal(strapi);\n  createUpdateNotifier(strapi);\n\n  // TODO: deprecate and remove in next major\n  global.strapi = strapi;\n\n  return strapi;\n};\n\n// Augment Koa query type based on Strapi query middleware\n\ndeclare module 'koa' {\n  type ParsedQuery = ReturnType<typeof qs.parse>;\n\n  export interface BaseRequest {\n    _querycache?: ParsedQuery;\n\n    get query(): ParsedQuery;\n    set query(obj: any);\n  }\n\n  export interface BaseContext {\n    _querycache?: ParsedQuery;\n\n    get query(): ParsedQuery;\n    set query(obj: any);\n  }\n}\n"],"names":["createStrapi","options","strapi","Strapi","resolveWorkingDirectories","destroyOnSignal","createUpdateNotifier","global"],"mappings":";;;;;;;;;;;;;;;;;AASO,MAAMA,YAAAA,GAAe,CAACC,OAAAA,GAAkC,EAAE,GAAA;IAC/D,MAAMC,MAAAA,GAAS,IAAIC,MAAAA,CAAO;AACxB,QAAA,GAAGF,OAAO;AACV,QAAA,GAAGG,0BAA0BH,OAAAA;AAC/B,KAAA,CAAA;IAEAI,eAAAA,CAAgBH,MAAAA,CAAAA;IAChBI,oBAAAA,CAAqBJ,MAAAA,CAAAA;;AAGrBK,IAAAA,MAAAA,CAAOL,MAAM,GAAGA,MAAAA;IAEhB,OAAOA,MAAAA;AACT;;;;"}