{"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":[],"mappings":";;;;;;;;;;;;;;;AASO,MAAM,eAAe,CAAC,UAAkC,OAAoB;AAC3E,QAAA,SAAS,IAAI,OAAO;AAAA,IACxB,GAAG;AAAA,IACH,GAAG,0BAA0B,OAAO;AAAA,EAAA,CACrC;AAED,kBAAgB,MAAM;AACtB,uBAAqB,MAAM;AAG3B,SAAO,SAAS;AAET,SAAA;AACT;"}