{"version":3,"names":["removePlugin","plugins","name","indices","forEach","plugin","i","n","Array","isArray","unshift","splice","declare","api","disallowAmbiguousJSXLike","dts","isTSX","assertVersion","manipulateOptions","opts","parserOpts","push"],"sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\nimport type { ParserPlugin } from \"@babel/parser\";\n\nfunction removePlugin(plugins: ParserPlugin[], name: string) {\n const indices: number[] = [];\n plugins.forEach((plugin, i) => {\n const n = Array.isArray(plugin) ? plugin[0] : plugin;\n\n if (n === name) {\n indices.unshift(i);\n }\n });\n\n for (const i of indices) {\n plugins.splice(i, 1);\n }\n}\n\nexport interface Options {\n disallowAmbiguousJSXLike?: boolean;\n dts?: boolean;\n isTSX?: boolean;\n}\n\nexport default declare(\n (api, { disallowAmbiguousJSXLike, dts, isTSX }: Options) => {\n api.assertVersion(7);\n\n return {\n name: \"syntax-typescript\",\n\n manipulateOptions(opts, parserOpts) {\n const { plugins } = parserOpts;\n // If the Flow syntax plugin already ran, remove it since Typescript\n // takes priority.\n removePlugin(plugins, \"flow\");\n\n // If the JSX syntax plugin already ran, remove it because JSX handling\n // in TS depends on the extensions, and is purely dependent on 'isTSX'.\n removePlugin(plugins, \"jsx\");\n\n plugins.push(\n [\"typescript\", { disallowAmbiguousJSXLike, dts }],\n \"classProperties\",\n );\n\n if (!process.env.BABEL_8_BREAKING) {\n // This is enabled by default since @babel/parser 7.1.5\n plugins.push(\"objectRestSpread\");\n }\n\n if (isTSX) {\n plugins.push(\"jsx\");\n }\n },\n };\n },\n);\n"],"mappings":";;;;;;;AAAA;;AAGA,SAASA,YAAT,CAAsBC,OAAtB,EAA+CC,IAA/C,EAA6D;EAC3D,MAAMC,OAAiB,GAAG,EAA1B;EACAF,OAAO,CAACG,OAAR,CAAgB,CAACC,MAAD,EAASC,CAAT,KAAe;IAC7B,MAAMC,CAAC,GAAGC,KAAK,CAACC,OAAN,CAAcJ,MAAd,IAAwBA,MAAM,CAAC,CAAD,CAA9B,GAAoCA,MAA9C;;IAEA,IAAIE,CAAC,KAAKL,IAAV,EAAgB;MACdC,OAAO,CAACO,OAAR,CAAgBJ,CAAhB;IACD;EACF,CAND;;EAQA,KAAK,MAAMA,CAAX,IAAgBH,OAAhB,EAAyB;IACvBF,OAAO,CAACU,MAAR,CAAeL,CAAf,EAAkB,CAAlB;EACD;AACF;;eAQc,IAAAM,0BAAA,EACb,CAACC,GAAD,EAAM;EAAEC,wBAAF;EAA4BC,GAA5B;EAAiCC;AAAjC,CAAN,KAA4D;EAC1DH,GAAG,CAACI,aAAJ,CAAkB,CAAlB;EAEA,OAAO;IACLf,IAAI,EAAE,mBADD;;IAGLgB,iBAAiB,CAACC,IAAD,EAAOC,UAAP,EAAmB;MAClC,MAAM;QAAEnB;MAAF,IAAcmB,UAApB;MAGApB,YAAY,CAACC,OAAD,EAAU,MAAV,CAAZ;MAIAD,YAAY,CAACC,OAAD,EAAU,KAAV,CAAZ;MAEAA,OAAO,CAACoB,IAAR,CACE,CAAC,YAAD,EAAe;QAAEP,wBAAF;QAA4BC;MAA5B,CAAf,CADF,EAEE,iBAFF;MAKmC;QAEjCd,OAAO,CAACoB,IAAR,CAAa,kBAAb;MACD;;MAED,IAAIL,KAAJ,EAAW;QACTf,OAAO,CAACoB,IAAR,CAAa,KAAb;MACD;IACF;;EA1BI,CAAP;AA4BD,CAhCY,C"}