{"version":3,"sources":["../../src/adonisjs/configure.ts"],"sourcesContent":["/**\n * Allows users to add Apitally to their AdonisJS application using the built-in Ace command.\n */\n\nimport type Configure from \"@adonisjs/core/commands/configure\";\nimport { fileURLToPath } from \"node:url\";\n\nimport { isValidClientId, isValidEnv } from \"../common/paramValidation.js\";\n\nconst STUBS_ROOT = fileURLToPath(new URL(\"./stubs/\", import.meta.url));\n\nexport async function configure(command: Configure) {\n  const clientId = await command.prompt.ask(\"Apitally client ID\", {\n    result(value) {\n      return value.trim().toLowerCase();\n    },\n    validate(value) {\n      return isValidClientId(value);\n    },\n  });\n  const env = await command.prompt.ask(\"Environment name\", {\n    default: \"dev\",\n    result(value) {\n      return value\n        .trim()\n        .toLowerCase()\n        .replaceAll(\"_\", \"-\")\n        .replaceAll(\" \", \"-\");\n    },\n    validate(value) {\n      return isValidEnv(value);\n    },\n  });\n  const enableRequestLogging = await command.prompt.confirm(\n    \"Enable request logging?\",\n    {\n      default: false,\n    },\n  );\n\n  const codemods = await command.createCodemods();\n\n  await codemods.makeUsingStub(STUBS_ROOT, \"config/apitally.stub\", {\n    enableRequestLogging,\n  });\n\n  await codemods.registerMiddleware(\"router\", [\n    {\n      path: \"apitally/adonisjs/middleware\",\n    },\n  ]);\n\n  await codemods.updateRcFile((rcFile: any) => {\n    rcFile.addProvider(\"apitally/adonisjs/provider\");\n  });\n\n  await codemods.defineEnvVariables({\n    APITALLY_CLIENT_ID: clientId,\n    APITALLY_ENV: env,\n  });\n\n  await codemods.defineEnvValidations({\n    leadingComment: \"Variables for configuring the apitally package\",\n    variables: {\n      APITALLY_CLIENT_ID: \"Env.schema.string()\",\n      APITALLY_ENV: \"Env.schema.string.optional()\",\n    },\n  });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAKA,sBAA8B;AAE9B,6BAA4C;AAE5C,MAAMA,iBAAaC,+BAAc,IAAIC,IAAI,YAAY,YAAYC,GAAG,CAAA;AAEpE,eAAsBC,UAAUC,SAAkB;AAChD,QAAMC,WAAW,MAAMD,QAAQE,OAAOC,IAAI,sBAAsB;IAC9DC,OAAOC,OAAK;AACV,aAAOA,MAAMC,KAAI,EAAGC,YAAW;IACjC;IACAC,SAASH,OAAK;AACZ,iBAAOI,wCAAgBJ,KAAAA;IACzB;EACF,CAAA;AACA,QAAMK,MAAM,MAAMV,QAAQE,OAAOC,IAAI,oBAAoB;IACvDQ,SAAS;IACTP,OAAOC,OAAK;AACV,aAAOA,MACJC,KAAI,EACJC,YAAW,EACXK,WAAW,KAAK,GAAA,EAChBA,WAAW,KAAK,GAAA;IACrB;IACAJ,SAASH,OAAK;AACZ,iBAAOQ,mCAAWR,KAAAA;IACpB;EACF,CAAA;AACA,QAAMS,uBAAuB,MAAMd,QAAQE,OAAOa,QAChD,2BACA;IACEJ,SAAS;EACX,CAAA;AAGF,QAAMK,WAAW,MAAMhB,QAAQiB,eAAc;AAE7C,QAAMD,SAASE,cAAcvB,YAAY,wBAAwB;IAC/DmB;EACF,CAAA;AAEA,QAAME,SAASG,mBAAmB,UAAU;IAC1C;MACEC,MAAM;IACR;GACD;AAED,QAAMJ,SAASK,aAAa,CAACC,WAAAA;AAC3BA,WAAOC,YAAY,4BAAA;EACrB,CAAA;AAEA,QAAMP,SAASQ,mBAAmB;IAChCC,oBAAoBxB;IACpByB,cAAchB;EAChB,CAAA;AAEA,QAAMM,SAASW,qBAAqB;IAClCC,gBAAgB;IAChBC,WAAW;MACTJ,oBAAoB;MACpBC,cAAc;IAChB;EACF,CAAA;AACF;AAzDsB3B;","names":["STUBS_ROOT","fileURLToPath","URL","url","configure","command","clientId","prompt","ask","result","value","trim","toLowerCase","validate","isValidClientId","env","default","replaceAll","isValidEnv","enableRequestLogging","confirm","codemods","createCodemods","makeUsingStub","registerMiddleware","path","updateRcFile","rcFile","addProvider","defineEnvVariables","APITALLY_CLIENT_ID","APITALLY_ENV","defineEnvValidations","leadingComment","variables"]}