{"version":3,"file":"bundle-bin-if-needed.mjs","sources":["../../src/helpers/bundle-bin-if-needed.ts"],"sourcesContent":["import path from 'path';\nimport { rollup } from 'rollup';\nimport { nodeResolve } from '@rollup/plugin-node-resolve';\nimport commonjs from '@rollup/plugin-commonjs';\nimport { swc } from 'rollup-plugin-swc3';\nimport { typescriptPaths } from 'rollup-plugin-typescript-paths';\nimport PeerDepsExternalPlugin from 'rollup-plugin-peer-deps-external';\nimport json from '@rollup/plugin-json';\nimport { getSwcConfig } from './get-swc-config';\nimport { jsExtensions } from '../constants/js-extensions';\nimport { isNil } from '../utils/checks';\nimport { stylesExtensions } from '../constants/styles-extensions';\nimport { allAssetExtensions } from '../constants/asset-extensions';\nimport { getRollupAssetPluginsForBin } from './get-rollup-asset-plugins';\nexport const bundleBinIfNeeded = async (ctx) => {\n    const { pkg, pkgPath, options, binOutput } = ctx;\n    if (isNil(pkg['bin:source']) || isNil(binOutput))\n        return;\n    const bundle = await rollup({\n        input: path.resolve(options.cwd, pkg['bin:source']),\n        plugins: [\n            PeerDepsExternalPlugin({\n                includeDependencies: true,\n                packageJsonPath: pkgPath,\n            }),\n            typescriptPaths({\n                preserveExtensions: true,\n            }),\n            json(),\n            ...getRollupAssetPluginsForBin(),\n            swc({\n                ...getSwcConfig(ctx, binOutput),\n                tsconfig: ctx.tsconfigPath ?? false,\n            }),\n            commonjs({ extensions: jsExtensions }),\n            nodeResolve({\n                rootDir: options.cwd,\n                extensions: [...jsExtensions, ...stylesExtensions, ...allAssetExtensions],\n            }),\n        ],\n    });\n    await bundle.write(binOutput);\n};\n"],"names":["bundleBinIfNeeded","ctx","pkg","pkgPath","options","binOutput","isNil","bundle","rollup","input","path","resolve","cwd","plugins","PeerDepsExternalPlugin","includeDependencies","packageJsonPath","typescriptPaths","preserveExtensions","json","getRollupAssetPluginsForBin","swc","getSwcConfig","tsconfig","tsconfigPath","commonjs","extensions","jsExtensions","nodeResolve","rootDir","stylesExtensions","allAssetExtensions","write"],"mappings":";;;;;;;;;;;;;;;AAcO,MAAMA,oBAAoB,OAAOC,GAAAA,GAAAA;IACpC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAGJ,GAAAA;AAC7C,IAAA,IAAIK,MAAMJ,GAAG,CAAC,YAAa,CAAA,CAAA,IAAKI,MAAMD,SAClC,CAAA,EAAA;IACJ,MAAME,MAAAA,GAAS,MAAMC,MAAO,CAAA;QACxBC,KAAOC,EAAAA,IAAAA,CAAKC,OAAO,CAACP,OAAAA,CAAQQ,GAAG,EAAEV,GAAG,CAAC,YAAa,CAAA,CAAA;QAClDW,OAAS,EAAA;YACLC,sBAAuB,CAAA;gBACnBC,mBAAqB,EAAA,IAAA;gBACrBC,eAAiBb,EAAAA;AACrB,aAAA,CAAA;YACAc,eAAgB,CAAA;gBACZC,kBAAoB,EAAA;AACxB,aAAA,CAAA;AACAC,YAAAA,IAAAA,EAAAA;AACGC,YAAAA,GAAAA,2BAAAA,EAAAA;YACHC,GAAI,CAAA;gBACA,GAAGC,YAAAA,CAAarB,KAAKI,SAAU,CAAA;gBAC/BkB,QAAUtB,EAAAA,GAAAA,CAAIuB,YAAY,IAAI;AAClC,aAAA,CAAA;YACAC,QAAS,CAAA;gBAAEC,UAAYC,EAAAA;AAAa,aAAA,CAAA;YACpCC,WAAY,CAAA;AACRC,gBAAAA,OAAAA,EAASzB,QAAQQ,GAAG;gBACpBc,UAAY,EAAA;AAAIC,oBAAAA,GAAAA,YAAAA;AAAiBG,oBAAAA,GAAAA,gBAAAA;AAAqBC,oBAAAA,GAAAA;AAAmB;AAC7E,aAAA;AACH;AACL,KAAA,CAAA;IACA,MAAMxB,MAAAA,CAAOyB,KAAK,CAAC3B,SAAAA,CAAAA;AACvB;;;;"}