{"version":3,"file":"get-ctx.mjs","sources":["../../src/helpers/get-ctx.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport merge from 'lodash.merge';\nimport { getDefaultOptions } from './get-default-options';\nimport { getLibOutputs } from './get-lib-outputs';\nimport { getBinOutput } from './get-bin-output';\nimport { isNil } from '../utils/checks';\nimport { getCSSFilename } from './get-css-filename';\nimport { pascalCase } from 'change-case';\nimport { isTs } from '../utils/is-ts';\nimport { isJsx } from '../utils/is-jsx';\nexport const getCtx = async (baseOptions) => {\n    const options = merge(getDefaultOptions(), baseOptions);\n    const pkgPath = path.resolve(options.cwd, 'package.json');\n    const pkg = JSON.parse(await fs.promises.readFile(pkgPath, 'utf-8'));\n    const tsconfigPath = path.resolve(options.cwd, 'tsconfig.json');\n    const swcPath = path.resolve(options.cwd, '.swc');\n    if (isNil(pkg.source) && isNil(pkg['bin:source'])) {\n        throw new Error('[bundle] provide source entry for you library, set `package.json` `source` or `bin:source` field');\n    }\n    const isModule = pkg.type === 'module';\n    const globalName = pascalCase(pkg.name);\n    const cssFilename = getCSSFilename({ pkg }) ?? 'index.css';\n    const libOutputs = getLibOutputs({ pkg, globalName, options, isModule, cssFilename });\n    const binOutput = getBinOutput({ pkg, options, isModule });\n    const resolvedSource = pkg.source ? path.resolve(options.cwd, pkg.source) : undefined;\n    const resolvedBinSource = pkg['bin:source']\n        ? path.resolve(options.cwd, pkg['bin:source'])\n        : undefined;\n    const ts = isTs(pkg);\n    const jsx = isJsx(pkg);\n    return {\n        baseOptions: baseOptions,\n        options: options,\n        globalName,\n        pkgPath,\n        pkg,\n        swcPath: fs.existsSync(swcPath) ? swcPath : undefined,\n        tsconfigPath: fs.existsSync(tsconfigPath) ? tsconfigPath : undefined,\n        isModule,\n        resolvedSource,\n        resolvedBinSource,\n        isTs: ts,\n        isJsx: jsx,\n        libOutputs,\n        binOutput,\n        cssFilename,\n    };\n};\n"],"names":["getCtx","baseOptions","options","merge","getDefaultOptions","pkgPath","path","resolve","cwd","pkg","JSON","parse","fs","promises","readFile","tsconfigPath","swcPath","isNil","source","Error","isModule","type","globalName","pascalCase","name","cssFilename","getCSSFilename","libOutputs","getLibOutputs","binOutput","getBinOutput","resolvedSource","undefined","resolvedBinSource","ts","isTs","jsx","isJsx","existsSync"],"mappings":";;;;;;;;;;;;AAWO,MAAMA,SAAS,OAAOC,WAAAA,GAAAA;IACzB,MAAMC,OAAAA,GAAUC,MAAMC,iBAAqBH,EAAAA,EAAAA,WAAAA,CAAAA;AAC3C,IAAA,MAAMI,UAAUC,IAAKC,CAAAA,OAAO,CAACL,OAAAA,CAAQM,GAAG,EAAE,cAAA,CAAA;IAC1C,MAAMC,GAAAA,GAAMC,IAAKC,CAAAA,KAAK,CAAC,MAAMC,GAAGC,QAAQ,CAACC,QAAQ,CAACT,OAAS,EAAA,OAAA,CAAA,CAAA;AAC3D,IAAA,MAAMU,eAAeT,IAAKC,CAAAA,OAAO,CAACL,OAAAA,CAAQM,GAAG,EAAE,eAAA,CAAA;AAC/C,IAAA,MAAMQ,UAAUV,IAAKC,CAAAA,OAAO,CAACL,OAAAA,CAAQM,GAAG,EAAE,MAAA,CAAA;IAC1C,IAAIS,KAAAA,CAAMR,IAAIS,MAAM,CAAA,IAAKD,MAAMR,GAAG,CAAC,aAAa,CAAG,EAAA;AAC/C,QAAA,MAAM,IAAIU,KAAM,CAAA,kGAAA,CAAA;AACpB;IACA,MAAMC,QAAAA,GAAWX,GAAIY,CAAAA,IAAI,KAAK,QAAA;IAC9B,MAAMC,UAAAA,GAAaC,UAAWd,CAAAA,GAAAA,CAAIe,IAAI,CAAA;AACtC,IAAA,MAAMC,cAAcC,cAAe,CAAA;AAAEjB,QAAAA;KAAU,CAAA,IAAA,WAAA;AAC/C,IAAA,MAAMkB,aAAaC,aAAc,CAAA;AAAEnB,QAAAA,GAAAA;AAAKa,QAAAA,UAAAA;AAAYpB,QAAAA,OAAAA;AAASkB,QAAAA,QAAAA;AAAUK,QAAAA;AAAY,KAAA,CAAA;AACnF,IAAA,MAAMI,YAAYC,YAAa,CAAA;AAAErB,QAAAA,GAAAA;AAAKP,QAAAA,OAAAA;AAASkB,QAAAA;AAAS,KAAA,CAAA;AACxD,IAAA,MAAMW,cAAiBtB,GAAAA,GAAAA,CAAIS,MAAM,GAAGZ,IAAKC,CAAAA,OAAO,CAACL,OAAAA,CAAQM,GAAG,EAAEC,GAAIS,CAAAA,MAAM,CAAIc,GAAAA,SAAAA;AAC5E,IAAA,MAAMC,iBAAoBxB,GAAAA,GAAG,CAAC,YAAA,CAAa,GACrCH,IAAKC,CAAAA,OAAO,CAACL,OAAAA,CAAQM,GAAG,EAAEC,GAAG,CAAC,aAAa,CAC3CuB,GAAAA,SAAAA;AACN,IAAA,MAAME,KAAKC,IAAK1B,CAAAA,GAAAA,CAAAA;AAChB,IAAA,MAAM2B,MAAMC,KAAM5B,CAAAA,GAAAA,CAAAA;IAClB,OAAO;QACHR,WAAaA,EAAAA,WAAAA;QACbC,OAASA,EAAAA,OAAAA;AACToB,QAAAA,UAAAA;AACAjB,QAAAA,OAAAA;AACAI,QAAAA,GAAAA;AACAO,QAAAA,OAAAA,EAASJ,EAAG0B,CAAAA,UAAU,CAACtB,OAAAA,CAAAA,GAAWA,OAAUgB,GAAAA,SAAAA;AAC5CjB,QAAAA,YAAAA,EAAcH,EAAG0B,CAAAA,UAAU,CAACvB,YAAAA,CAAAA,GAAgBA,YAAeiB,GAAAA,SAAAA;AAC3DZ,QAAAA,QAAAA;AACAW,QAAAA,cAAAA;AACAE,QAAAA,iBAAAA;QACAE,IAAMD,EAAAA,EAAAA;QACNG,KAAOD,EAAAA,GAAAA;AACPT,QAAAA,UAAAA;AACAE,QAAAA,SAAAA;AACAJ,QAAAA;AACJ,KAAA;AACJ;;;;"}