{"version":3,"sources":["../../../../../build/webpack/plugins/wellknown-errors-plugin/parseBabel.ts"],"names":["chalk","Chalk","constructor","enabled","getBabelError","fileName","err","code","loc","lineNumber","Math","max","line","column","message","replace","RegExp","SimpleWebpackError","cyan","yellow","toString","red","bold","concat"],"mappings":"yEAAA,oDACA,wD,mFAEA,KAAMA,CAAAA,KAAK,CAAG,GAAIC,gBAAMC,WAAV,CAAsB,CAAEC,OAAO,CAAE,IAAX,CAAtB,CAAd,CAEO,QAASC,CAAAA,aAAT,CACLC,QADK,CAELC,GAFK,CAMuB,CAC5B,GAAIA,GAAG,CAACC,IAAJ,GAAa,mBAAjB,CAAsC,CACpC,MAAO,MAAP,CACD,CAED;AACA,GAAID,GAAG,CAACE,GAAR,CAAa,CACX,KAAMC,CAAAA,UAAU,CAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,CAAYL,GAAG,CAACE,GAAJ,CAAQI,IAApB,CAAnB,CACA,KAAMC,CAAAA,MAAM,CAAGH,IAAI,CAACC,GAAL,CAAS,CAAT,CAAYL,GAAG,CAACE,GAAJ,CAAQK,MAApB,CAAf,CAEA,GAAIC,CAAAA,OAAO,CAAGR,GAAG,CAACQ,OAChB;AADY,CAEXC,OAFW,CAEH,QAFG,CAEO,EAFP,CAGZ;AAHY,CAIXA,OAJW,CAKV,GAAIC,CAAAA,MAAJ,CAAY,mBAAkBP,UAAW,IAAGI,MAAO,kBAAnD,CALU,CAMV,EANU,CAAd,CASA,MAAO,IAAII,uCAAJ,CACJ,GAAEjB,KAAK,CAACkB,IAAN,CAAWb,QAAX,CAAqB,IAAGL,KAAK,CAACmB,MAAN,CACzBV,UAAU,CAACW,QAAX,EADyB,CAEzB,IAAGpB,KAAK,CAACmB,MAAN,CAAaN,MAAM,CAACO,QAAP,EAAb,CAAgC,EAHhC,CAILpB,KAAK,CAACqB,GAAN,CAAUC,IAAV,CAAe,cAAf,EAA+BC,MAA/B,CAAuC,KAAIT,OAAQ,EAAnD,CAJK,CAAP,CAMD,CAED,MAAO,MAAP,CACD","sourcesContent":["import Chalk from 'chalk'\nimport { SimpleWebpackError } from './simpleWebpackError'\n\nconst chalk = new Chalk.constructor({ enabled: true })\n\nexport function getBabelError(\n  fileName: string,\n  err: Error & {\n    code?: 'BABEL_PARSE_ERROR'\n    loc?: { line: number; column: number }\n  }\n): SimpleWebpackError | false {\n  if (err.code !== 'BABEL_PARSE_ERROR') {\n    return false\n  }\n\n  // https://github.com/babel/babel/blob/34693d6024da3f026534dd8d569f97ac0109602e/packages/babel-core/src/parser/index.js\n  if (err.loc) {\n    const lineNumber = Math.max(1, err.loc.line)\n    const column = Math.max(1, err.loc.column)\n\n    let message = err.message\n      // Remove file information, which instead is provided by webpack.\n      .replace(/^.+?: /, '')\n      // Remove column information from message\n      .replace(\n        new RegExp(`[^\\\\S\\\\r\\\\n]*\\\\(${lineNumber}:${column}\\\\)[^\\\\S\\\\r\\\\n]*`),\n        ''\n      )\n\n    return new SimpleWebpackError(\n      `${chalk.cyan(fileName)}:${chalk.yellow(\n        lineNumber.toString()\n      )}:${chalk.yellow(column.toString())}`,\n      chalk.red.bold('Syntax error').concat(`: ${message}`)\n    )\n  }\n\n  return false\n}\n"]}