{"version":3,"file":"errors.mjs","sources":["../../../../src/node/core/errors.ts"],"sourcesContent":["import boxen from 'boxen';\nimport chalk from 'chalk';\nimport os from 'node:os';\nimport { errors } from '@strapi/utils';\n\nconst isError = (err: unknown): err is Error => err instanceof Error;\n\n/**\n * @description Handle unexpected errors. No, but really, your CLI should anticipate error cases.\n * If a user hits an error we don't expect, then we need to flag to them that this is not normal\n * and they should use the `--debug` flag to get more information (assuming you've implemented this\n * in your action).\n */\nconst handleUnexpectedError = (err: unknown) => {\n console.error(\n chalk.red(\n `[ERROR] `,\n 'There seems to be an unexpected error, try again with --debug for more information',\n os.EOL\n )\n );\n\n if (isError(err) && err.stack) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n\n if (err instanceof errors.YupValidationError) {\n const message = [];\n const size = err.details.errors.length;\n\n for (const error of err.details.errors) {\n // No need to repeat the error message as it's the same as the err.message\n if (size === 1) {\n message.push(` value: ${error.value}`);\n continue;\n }\n\n message.push(\n [` [${error.name}]`, ` message: ${error.message}`, ` value: ${error.value}`].join(\n '\\n'\n )\n );\n }\n\n console.log(\n chalk.red(\n boxen(['Details:', message.join('\\n\\n')].join('\\n'), {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n\n process.exit(1);\n};\n\nexport { handleUnexpectedError, isError };\n"],"names":["isError","err","Error","handleUnexpectedError","console","error","chalk","red","os","EOL","stack","log","boxen","padding","align","errors","YupValidationError","message","size","details","length","push","value","name","join","process","exit"],"mappings":";;;;;AAKMA,MAAAA,OAAAA,GAAU,CAACC,GAAAA,GAA+BA,GAAeC,YAAAA;AAE/D;;;;;IAMA,MAAMC,wBAAwB,CAACF,GAAAA,GAAAA;IAC7BG,OAAQC,CAAAA,KAAK,CACXC,KAAAA,CAAMC,GAAG,CACP,CAAC,QAAQ,CAAC,EACV,oFACAC,EAAAA,EAAAA,CAAGC,GAAG,CAAA,CAAA;AAIV,IAAA,IAAIT,OAAQC,CAAAA,GAAAA,CAAAA,IAAQA,GAAIS,CAAAA,KAAK,EAAE;;QAE7BN,OAAQO,CAAAA,GAAG,CACTL,KAAMC,CAAAA,GAAG,CACPK,KAAMX,CAAAA,GAAAA,CAAIS,KAAK,EAAE;YACfG,OAAS,EAAA,CAAA;YACTC,KAAO,EAAA;AACT,SAAA,CAAA,CAAA,CAAA;AAGN;IAEA,IAAIb,GAAAA,YAAec,MAAOC,CAAAA,kBAAkB,EAAE;AAC5C,QAAA,MAAMC,UAAU,EAAE;AAClB,QAAA,MAAMC,OAAOjB,GAAIkB,CAAAA,OAAO,CAACJ,MAAM,CAACK,MAAM;AAEtC,QAAA,KAAK,MAAMf,KAASJ,IAAAA,GAAAA,CAAIkB,OAAO,CAACJ,MAAM,CAAE;;AAEtC,YAAA,IAAIG,SAAS,CAAG,EAAA;gBACdD,OAAQI,CAAAA,IAAI,CAAC,CAAC,SAAS,EAAEhB,KAAMiB,CAAAA,KAAK,CAAC,CAAC,CAAA;AACtC,gBAAA;AACF;AAEAL,YAAAA,OAAAA,CAAQI,IAAI,CACV;AAAC,gBAAA,CAAC,GAAG,EAAEhB,KAAAA,CAAMkB,IAAI,CAAC,CAAC,CAAC;AAAE,gBAAA,CAAC,aAAa,EAAElB,KAAMY,CAAAA,OAAO,CAAC,CAAC;AAAE,gBAAA,CAAC,aAAa,EAAEZ,KAAMiB,CAAAA,KAAK,CAAC;AAAE,aAAA,CAACE,IAAI,CACxF,IAAA,CAAA,CAAA;AAGN;AAEApB,QAAAA,OAAAA,CAAQO,GAAG,CACTL,KAAMC,CAAAA,GAAG,CACPK,KAAM,CAAA;AAAC,YAAA,UAAA;AAAYK,YAAAA,OAAAA,CAAQO,IAAI,CAAC,MAAA;SAAQ,CAACA,IAAI,CAAC,IAAO,CAAA,EAAA;YACnDX,OAAS,EAAA,CAAA;YACTC,KAAO,EAAA;AACT,SAAA,CAAA,CAAA,CAAA;AAGN;AAEAW,IAAAA,OAAAA,CAAQC,IAAI,CAAC,CAAA,CAAA;AACf;;;;"}