{"version":3,"file":"cli.mjs","sources":["../src/helpers/get-swc-env.ts","../src/helpers/get-swc-config.ts","../src/constants/js-extensions.ts","../src/utils/checks.ts","../src/helpers/get-rollup-typescript-config.ts","../src/constants/styles-extensions.ts","../src/constants/asset-extensions.ts","../src/utils/path.ts","../src/utils/url.ts","../src/utils/array-fmt.ts","../src/utils/resolve.ts","../src/helpers/get-rollup-styler-plugin.ts","../src/helpers/get-rollup-asset-plugins.ts","../src/helpers/bundle-lib-if-needed.ts","../src/helpers/bundle-bin-if-needed.ts","../src/helpers/get-default-options.ts","../src/utils/get-exports-filenames.ts","../src/utils/get-filename-output-format.ts","../src/helpers/get-lib-outputs.ts","../src/helpers/get-bin-output.ts","../src/helpers/get-css-filename.ts","../src/utils/is-ts.ts","../src/utils/is-jsx.ts","../src/helpers/get-ctx.ts","../src/index.ts","../src/program.ts","../src/cli.ts"],"sourcesContent":["import type { OptimalPkgModel } from '../models/optimal-pkg';\nimport type { EnvConfig } from '@swc/core';\n\nexport const getSwcEnv = (pkg: OptimalPkgModel): EnvConfig => {\n  const coreJsVersion =\n    pkg.dependencies?.['core-js'] ??\n    pkg.devDependencies?.['core-js'] ??\n    pkg.peerDependencies?.['core-js'];\n\n  if (!coreJsVersion) return { targets: 'defaults' };\n\n  return {\n    targets: 'defaults',\n    coreJs: coreJsVersion,\n    mode: 'usage',\n    bugfixes: true,\n  };\n};\n","import type { Options as SwcOptions } from '@swc/core';\nimport { getSwcEnv } from './get-swc-env';\nimport type { ContextModel } from '../models/context';\nimport type { ModuleFormat, OutputOptions } from 'rollup';\n\nexport type GetSwcConfigArg = {\n  ts: boolean;\n  jsx: boolean;\n};\n\nexport const getSwcConfig = (\n  { isTs, isJsx, pkg }: Pick<ContextModel, 'isJsx' | 'isTs' | 'pkg'>,\n  { format }: Pick<OutputOptions, 'format'>\n): SwcOptions => {\n  return {\n    env: getSwcEnv(pkg),\n    jsc: {\n      target: undefined,\n      parser: isTs\n        ? {\n            syntax: 'typescript',\n            tsx: isJsx,\n          }\n        : { syntax: 'ecmascript', jsx: isJsx },\n    },\n\n    module: {\n      type: formatToTypeMap[format ?? 'es'],\n    },\n\n    sourceMaps: true,\n    swcrc: false,\n  };\n};\n\nconst formatToTypeMap: Record<\n  ModuleFormat,\n  'es6' | 'commonjs' | 'umd' | 'amd' | 'nodenext' | 'systemjs'\n> = {\n  amd: 'amd',\n\n  umd: 'umd',\n  iife: 'umd',\n\n  system: 'systemjs',\n  systemjs: 'systemjs',\n\n  cjs: 'commonjs',\n  commonjs: 'commonjs',\n\n  es: 'es6',\n  esm: 'es6',\n  module: 'es6',\n};\n","export const jsExtensions = [\n  '.mjs',\n  '.cjs',\n  '.js',\n  '.mtsx',\n  '.ctsx',\n  '.tsx',\n  '.mts',\n  '.cts',\n  '.ts',\n];\n","// string\nexport const isString = (value: unknown): value is string => typeof value === 'string';\n\nexport const isStringFull = (value: string): boolean => value.length > 0;\n\nexport const isEmptyString = (value: string): boolean => value.length === 0;\n\n// nil\nexport const isNull = (value: unknown): value is null => value === null;\n\nexport const isUndefined = (value: unknown): value is undefined => value === undefined;\n\nexport const isNil = <T>(value: T): value is Extract<T, undefined | null> =>\n  value == null;\n\nexport const isDefined = <T>(value: T): value is Exclude<T, undefined | null> =>\n  value != null;\n\n// object\nexport const isObject = <T>(value: T): value is Extract<T, object> =>\n  typeof value === 'object' && value != null;\n\nexport const isObjectFull = (value: object): boolean =>\n  isObject(value) && Object.keys(value).length > 0;\n\nexport const isEmptyObject = (value: object): boolean => Object.keys(value).length === 0;\n\n// array\nexport const isArray = <T>(value: T): value is Extract<T, unknown[]> =>\n  Array.isArray(value);\n\nexport const isArrayFull = (value: unknown[]): boolean => value.length > 0;\n\nexport const isEmptyArray = (value: unknown[]): boolean => value.length === 0;\n","import path from 'path';\nimport type { ContextModel } from '../models/context';\nimport type { RollupTypescriptOptions } from '@rollup/plugin-typescript';\n\nexport const getRollupTypescriptConfig = ({\n  options,\n  pkg,\n  resolvedSource,\n  tsconfigPath,\n}: Pick<\n  ContextModel,\n  'options' | 'pkg' | 'resolvedSource' | 'tsconfigPath'\n>): RollupTypescriptOptions => {\n  const declarationOptions = pkg.types\n    ? {\n        emitDeclarationOnly: true,\n        declaration: true,\n        declarationDir: path.resolve(options.cwd, path.dirname(pkg.types)),\n      }\n    : {};\n\n  return {\n    tsconfig: tsconfigPath ?? false,\n\n    rootDir: resolvedSource ? path.dirname(resolvedSource) : undefined,\n\n    sourceMap: false,\n    exclude: [\n      '**/__tests__/**',\n      '**/*.test.*',\n      '**/*.spec.*',\n      '**/*.stories.*',\n      '**/*.mock.*',\n    ],\n\n    ...declarationOptions,\n  };\n};\n","export const stylesExtensions = [\n  '.css',\n  '.scss',\n  '.sass',\n  '.less',\n  '.pcss',\n  '.sss',\n  '.styl',\n  '.stylus',\n];\n","export const imageExtensions = [\n  '.png',\n  '.jpg',\n  '.jpeg',\n  '.gif',\n  '.webp',\n  '.avif',\n  '.ico',\n  '.bmp',\n  '.tiff',\n  '.tif',\n];\n\nexport const videoExtensions = [\n  '.mp4',\n  '.webm',\n  '.ogg',\n  '.avi',\n  '.mov',\n  '.wmv',\n  '.flv',\n  '.mkv',\n];\n\nexport const audioExtensions = ['.mp3', '.wav', '.ogg', '.aac', '.flac', '.m4a'];\n\nexport const fontExtensions = ['.woff', '.woff2', '.eot', '.ttf', '.otf'];\n\nexport const documentExtensions = ['.pdf', '.doc', '.docx', '.txt', '.md'];\n\nexport const svgExtensions = ['.svg'];\n\n// All asset extensions combined (excluding SVG as it needs special handling)\nexport const assetExtensions = [\n  ...imageExtensions,\n  ...videoExtensions,\n  ...audioExtensions,\n  ...fontExtensions,\n  ...documentExtensions,\n];\n\n// All extensions including SVG\nexport const allAssetExtensions = [...assetExtensions, ...svgExtensions];\n","import path from 'path';\n\nexport function normalizePath(...paths: string[]): string {\n  const f = path.join(...paths).replaceAll('\\\\', '/');\n\n  if (/^\\.[/\\\\]/.test(paths[0])) return `./${f}`;\n\n  return f;\n}\n","import path from 'path';\nimport { normalizePath } from './path';\n\nexport function getUrlOfPartial(url: string): string {\n  const { dir, base } = path.parse(url);\n\n  return dir ? `${normalizePath(dir)}/_${base}` : `_${base}`;\n}\n","export const arrayFmt = (arr: string[]): string =>\n  arr\n    .map((id, i, arr) => {\n      const fmt = `\\`${id}\\``;\n\n      switch (i) {\n        case arr.length - 1: {\n          return `or ${fmt}`;\n        }\n        case arr.length - 2: {\n          return fmt;\n        }\n        default: {\n          return `${fmt},`;\n        }\n      }\n    })\n    .join(' ');\n","import type { SyncOpts, PackageJSON } from 'resolve';\nimport resolver from 'resolve';\nimport { resolve as resolveExports, legacy as resolveFields } from 'resolve.exports';\nimport { arrayFmt } from './array-fmt';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst baseDir = path.dirname(fileURLToPath(import.meta.url));\n\ninterface Package extends PackageJSON {}\ntype PackageFilterFn = (pkg: Package, pkgfile: string) => Package;\n\nexport interface ResolveOpts {\n  /** name of the caller for error message (default to `Resolver`) */\n  caller?: string;\n  /** directories to begin resolving from (defaults to `[__dirname]`) */\n  basedirs?: string[];\n  /** array of file extensions to search in order (defaults to `[\".mjs\", \".js\", \".cjs\", \".json\"]`) */\n  extensions?: string | ReadonlyArray<string>;\n  /** don't resolve `basedirs` to real path before resolving. (defaults to `true`) */\n  preserveSymlinks?: boolean;\n  /** transform the parsed `package.json` contents before looking at the \"main\" field */\n  packageFilter?: PackageFilterFn;\n}\n\ninterface ResolveDefaultOpts {\n  caller: string;\n  basedirs: ReadonlyArray<string>;\n  extensions: ReadonlyArray<string>;\n  preserveSymlinks: boolean;\n  packageFilter: PackageFilterFn;\n}\n\ninterface PackageFilterBuilderOpts {\n  fields?: string[];\n  conditions?: string[];\n}\n\ntype PackageFilterBuilderFn = (\n  path?: string,\n  opts?: PackageFilterBuilderOpts\n) => PackageFilterFn;\n\nexport const packageFilterBuilder: PackageFilterBuilderFn = (path = '.', opts = {}) => {\n  const conditions = opts.conditions ?? ['style', 'import', 'require'];\n  const fields = opts.fields ?? ['style', 'module', 'main'];\n\n  return pkg => {\n    // Check `exports` fields\n    try {\n      const resolvedExport = resolveExports(pkg, path, { conditions, unsafe: true });\n\n      if (typeof resolvedExport === 'string') {\n        pkg.main = resolvedExport;\n\n        return pkg;\n      }\n    } catch {\n      /* noop */\n    }\n\n    // Check independent fields\n    try {\n      const resolvedField = resolveFields(pkg, { fields, browser: false });\n\n      if (typeof resolvedField === 'string') {\n        pkg.main = resolvedField;\n\n        return pkg;\n      }\n    } catch {\n      /* noop */\n    }\n\n    return pkg;\n  };\n};\n\nconst defaultOpts: ResolveDefaultOpts = {\n  caller: 'Resolver',\n  basedirs: [baseDir],\n  extensions: ['.mjs', '.js', '.cjs', '.json'],\n  preserveSymlinks: true,\n  packageFilter: packageFilterBuilder(),\n};\n\nconst resolverSync = (id: string, options: SyncOpts = {}): string | undefined => {\n  try {\n    return resolver.sync(id, {\n      ...options,\n      pathFilter: (pkg, _path, relativePath) => {\n        const result = resolveExports(pkg, relativePath);\n\n        if (result) return result[0];\n\n        return '';\n      },\n    });\n  } catch {\n    return;\n  }\n};\n\nexport function resolveSync(ids: string[], userOpts: ResolveOpts): string {\n  const options = { ...defaultOpts, ...userOpts };\n\n  for (const basedir of options.basedirs) {\n    const opts = { ...options, basedir, basedirs: undefined, caller: undefined };\n\n    for (const id of ids) {\n      const resolved = resolverSync(id, opts);\n\n      if (resolved) return resolved;\n    }\n  }\n\n  throw new Error(`${options.caller} could not resolve ${arrayFmt(ids)}`);\n}\n","import type { ContextModel } from '../models/context';\nimport { stylesExtensions } from '../constants/styles-extensions';\nimport styles from 'rollup-plugin-styler';\nimport postcssImport from 'postcss-import';\nimport path from 'path';\nimport { getUrlOfPartial } from '../utils/url';\nimport { packageFilterBuilder, resolveSync } from '../utils/resolve';\n\nconst finalize = (id: string) => ({ file: id.replace(/\\.css$/i, '') });\nconst conditions = ['sass', 'style'];\n\nexport const getRollupStylerPlugin = ({\n  options,\n  cssFilename,\n}: Pick<ContextModel, 'options' | 'cssFilename'>) =>\n  styles({\n    autoModules: true,\n    extensions: stylesExtensions,\n    mode: ['extract', cssFilename],\n    sourceMap: true,\n    to: cssFilename,\n    sass: {\n      importer: (url: string, importer: string) => {\n        if (path.isAbsolute(url) || url.startsWith('.')) return null;\n\n        const partialUrl = getUrlOfPartial(url);\n\n        const resolverOptions = {\n          caller: 'Sass importer',\n          basedirs: [path.dirname(importer)],\n          extensions: stylesExtensions,\n          packageFilter: packageFilterBuilder(url, { conditions }),\n        };\n\n        try {\n          return finalize(resolveSync([partialUrl, url], resolverOptions));\n        } catch {\n          return null;\n        }\n      },\n    } as any,\n    plugins: [\n      postcssImport({\n        root: options.cwd,\n      }),\n    ],\n  });\n","import url from '@rollup/plugin-url';\nimport svgr from '@svgr/rollup';\nimport type { Plugin } from 'rollup';\nimport { assetExtensions, svgExtensions } from '../constants/asset-extensions';\n\nexport const getRollupAssetPlugins = (): Plugin[] => {\n  return [\n    // Custom plugin to handle ?url suffix\n    {\n      name: 'url-suffix-handler',\n      resolveId(id) {\n        if (id.endsWith('?url')) {\n          // Remove the ?url suffix and resolve the actual file\n          const actualId = id.slice(0, -4);\n\n          return actualId;\n        }\n\n        return null;\n      },\n    } as Plugin,\n\n    // Handle SVG files with dual support: React components and URL imports\n    svgr({\n      exportType: 'named',\n      ref: true,\n      svgo: true,\n      titleProp: true,\n      include: '**/*.svg',\n    }) as Plugin,\n\n    // Handle all asset files including SVGs\n    url({\n      include: [...assetExtensions, ...svgExtensions].map(ext => `**/*${ext}`),\n      limit: 8192, // 8KB limit - smaller files will be inlined as base64\n      fileName: 'public/[name]-[hash][extname]',\n      publicPath: './',\n    }),\n  ];\n};\n\nexport const getRollupAssetPluginsForBin = (): Plugin[] => {\n  // For binary builds, we typically don't want to inline assets\n  // and we don't need React component support for SVGs\n  return [\n    url({\n      include: [...assetExtensions, ...svgExtensions].map(ext => `**/*${ext}`),\n      limit: 0, // Always emit files for binary builds\n      fileName: 'assets/[name]-[hash][extname]',\n      publicPath: './',\n    }),\n  ];\n};\n","import { rollup, type Plugin } 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';\n\nimport { getSwcConfig } from './get-swc-config';\nimport { jsExtensions } from '../constants/js-extensions';\nimport type { ContextModel } from '../models/context';\nimport { isEmptyArray, isNil, isString, isStringFull } from '../utils/checks';\nimport typescript from '@rollup/plugin-typescript';\nimport { getRollupTypescriptConfig } from './get-rollup-typescript-config';\nimport { stylesExtensions } from '../constants/styles-extensions';\nimport { allAssetExtensions } from '../constants/asset-extensions';\nimport { getRollupStylerPlugin } from './get-rollup-styler-plugin';\nimport { getRollupAssetPlugins } from './get-rollup-asset-plugins';\n\nexport const bundleLibIfNeeded = async (ctx: ContextModel) => {\n  const { pkg, options, libOutputs, pkgPath, resolvedSource } = ctx;\n\n  if (isNil(resolvedSource) || isEmptyArray(libOutputs)) return;\n\n  await Promise.all(\n    libOutputs.map(async output => {\n      const bundle = await rollup({\n        input: resolvedSource,\n        plugins: [\n          PeerDepsExternalPlugin({\n            includeDependencies: true,\n            packageJsonPath: pkgPath,\n          }) as Plugin<any>,\n          typescriptPaths({\n            preserveExtensions: true,\n          }),\n          json(),\n          ...getRollupAssetPlugins(),\n          swc({\n            ...getSwcConfig(ctx, output),\n            tsconfig: ctx.tsconfigPath ?? false,\n          }),\n          commonjs({ extensions: jsExtensions }),\n          nodeResolve({\n            rootDir: options.cwd,\n            extensions: [...jsExtensions, ...stylesExtensions, ...allAssetExtensions],\n          }),\n          getRollupStylerPlugin(ctx),\n          isString(pkg.types) &&\n            isStringFull(pkg.types) &&\n            typescript(getRollupTypescriptConfig(ctx)),\n        ],\n      });\n\n      await bundle.write(output);\n    })\n  );\n};\n","import path from 'path';\nimport { rollup, type Plugin } 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';\n\nimport { getSwcConfig } from './get-swc-config';\nimport { jsExtensions } from '../constants/js-extensions';\nimport type { ContextModel } from '../models/context';\nimport { isNil } from '../utils/checks';\nimport { stylesExtensions } from '../constants/styles-extensions';\nimport { allAssetExtensions } from '../constants/asset-extensions';\nimport { getRollupAssetPluginsForBin } from './get-rollup-asset-plugins';\n\nexport const bundleBinIfNeeded = async (ctx: ContextModel) => {\n  const { pkg, pkgPath, options, binOutput } = ctx;\n\n  if (isNil(pkg['bin:source']) || isNil(binOutput)) return;\n\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      }) as Plugin<any>,\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\n  await bundle.write(binOutput);\n};\n","import type { OptionsModel } from '../models/options';\n\nexport const getDefaultOptions = (): OptionsModel => ({\n  cwd: '.',\n});\n","import type { OptimalPkgModel } from '../models/optimal-pkg';\nimport { isEmptyObject, isEmptyString, isNil, isObject, isString } from './checks';\n\nexport const getExportsFilenames = (exs: OptimalPkgModel['exports']): string[] => {\n  if (\n    isNil(exs) ||\n    (isObject(exs) && isEmptyObject(exs)) ||\n    (isString(exs) && isEmptyString(exs))\n  )\n    return [];\n\n  if (isString(exs)) return [exs];\n\n  return Object.values(exs).flatMap(ex => getExportsFilenames(ex));\n};\n","import path from 'path';\n\nexport const getFilenameOutputFormat = (\n  filename: string,\n  isModule = false\n): 'esm' | 'cjs' | 'umd' | 'amd' | 'iife' => {\n  const ext = path.extname(filename);\n\n  filename.substring;\n\n  switch (ext) {\n    case '.mjs':\n      return 'esm';\n    case '.cjs':\n      return 'cjs';\n  }\n\n  const filenameWithoutExt = filename.substring(0, filename.length - ext.length);\n\n  const luxuryExt = path.extname(filenameWithoutExt);\n\n  if (!luxuryExt) {\n    return isModule ? 'esm' : 'cjs';\n  }\n\n  switch (luxuryExt) {\n    case '.umd':\n      return 'umd';\n    case '.amd':\n      return 'amd';\n    case '.iife':\n      return 'iife';\n  }\n\n  throw new Error('[lbundle] unknown output format for filename: ' + filename);\n};\n","import { type ModuleFormat, type OutputOptions } from 'rollup';\nimport { isDefined, isString } from '../utils/checks';\nimport { getExportsFilenames } from '../utils/get-exports-filenames';\nimport { getFilenameOutputFormat } from '../utils/get-filename-output-format';\nimport path from 'path';\nimport type { ContextModel } from '../models/context';\n\nexport const getLibOutputs = ({\n  options,\n  globalName,\n  pkg,\n  isModule,\n  cssFilename,\n}: Pick<\n  ContextModel,\n  'options' | 'pkg' | 'isModule' | 'globalName' | 'cssFilename'\n>): OutputOptions[] => {\n  const map = new Map<ModuleFormat, OutputOptions>();\n\n  [pkg.main, pkg.module, pkg.unpkg, ...getExportsFilenames(pkg.exports)]\n    .filter(\n      (filename): filename is string =>\n        isString(filename) && jsExtensions[path.extname(filename) as '.js']\n    )\n    .map<OutputOptions>(filename => {\n      const format = getFilenameOutputFormat(filename, isModule);\n      const ext = path.extname(filename);\n\n      const preserveModules = preserveModulesFormats[format as 'esm'];\n\n      const entryFileNames = preserveModules ? `[name]${ext}` : undefined;\n\n      const dir = preserveModules\n        ? path.resolve(options.cwd, path.dirname(filename))\n        : undefined;\n\n      const file = preserveModules ? undefined : path.resolve(options.cwd, filename);\n\n      return {\n        name: globalName,\n        format,\n\n        file,\n\n        dir,\n        entryFileNames,\n        preserveModules,\n        assetFileNames: ({ names }) => {\n          const normalizedCssFilename = path.posix.normalize(cssFilename);\n\n          if (names.includes(normalizedCssFilename)) {\n            if (isDefined(dir))\n              return path.relative(dir, path.resolve(options.cwd, normalizedCssFilename));\n\n            return normalizedCssFilename;\n          }\n\n          return 'assets/[name]-[hash][extname]';\n        },\n\n        esModule: format === 'cjs',\n\n        strict: true,\n        sourcemap: true,\n      };\n    })\n    .forEach(output => map.set(output.format!, output));\n\n  return [...map.values()];\n};\n\nconst preserveModulesFormats = {\n  'esm': true,\n  'cjs': true,\n};\n\nconst jsExtensions = {\n  '.js': true,\n  '.cjs': true,\n  '.mjs': true,\n};\n","import type { OutputOptions } from 'rollup';\nimport { isEmptyObject, isNil, isObject, isString } from '../utils/checks';\nimport path from 'path';\nimport type { ContextModel } from '../models/context';\nimport { getFilenameOutputFormat } from '../utils/get-filename-output-format';\n\nexport const getBinOutput = ({\n  options,\n  pkg,\n  isModule\n}: Pick<ContextModel, 'options' | 'pkg'| 'isModule'>): OutputOptions | undefined => {\n  if (isNil(pkg.bin) || (isObject(pkg.bin) && isEmptyObject(pkg.bin))) return;\n\n  if (isObject(pkg.bin) && Object.keys(pkg.bin).length > 1) {\n    console.warn(\"[lbundle] multiple bin isn't supported yet\");\n  }\n\n  const binSource = isString(pkg.bin) ? pkg.bin : Object.values(pkg.bin)[0]!;\n\n  return {\n    format: getFilenameOutputFormat(binSource, isModule),\n\n    file: path.resolve(options.cwd, binSource!),\n\n    strict: true,\n    sourcemap: true,\n  };\n};\n","import path from 'path';\nimport { getExportsFilenames } from '../utils/get-exports-filenames';\nimport type { ContextModel } from '../models/context';\n\nexport const getCSSFilename = ({\n  pkg,\n}: Pick<ContextModel, 'pkg'>): string | undefined => {\n  const filenames = getExportsFilenames(pkg.exports);\n\n  return filenames.find(filename => path.extname(filename) === '.css');\n};\n","import type { OptimalPkgModel } from '../models/optimal-pkg';\nimport path from 'path';\n\nexport const isTs = (pkg: OptimalPkgModel): boolean => {\n  if (pkg.source && path.extname(pkg.source).includes('ts')) return true;\n\n  return (\n    !!pkg.dependencies?.typescript ||\n    !!pkg.devDependencies?.typescript ||\n    !!pkg.peerDependencies?.typescript\n  );\n};\n","import type { OptimalPkgModel } from '../models/optimal-pkg';\nimport path from 'path';\n\nexport const isJsx = (pkg: OptimalPkgModel): boolean => {\n  if (pkg.source && path.extname(pkg.source).includes('sx')) return true;\n\n  return (\n    !!pkg.dependencies?.react ||\n    !!pkg.devDependencies?.react ||\n    !!pkg.peerDependencies?.react\n  );\n};\n","import path from 'path';\nimport fs from 'fs';\nimport merge from 'lodash.merge';\n\nimport type { OptimalPkgModel } from '../models/optimal-pkg';\nimport type { OptionsModel } from '../models/options';\nimport { getDefaultOptions } from './get-default-options';\nimport { getLibOutputs } from './get-lib-outputs';\nimport type { ContextModel } from '../models/context';\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';\n\nexport const getCtx = async (\n  baseOptions: Partial<OptionsModel>\n): Promise<ContextModel> => {\n  const options = merge(getDefaultOptions(), baseOptions);\n\n  const pkgPath = path.resolve(options.cwd, 'package.json');\n\n  const pkg = JSON.parse(await fs.promises.readFile(pkgPath, 'utf-8')) as OptimalPkgModel;\n\n  const tsconfigPath = path.resolve(options.cwd, 'tsconfig.json');\n\n  const swcPath = path.resolve(options.cwd, '.swc');\n\n  if (isNil(pkg.source) && isNil(pkg['bin:source'])) {\n    throw new Error(\n      '[bundle] provide source entry for you library, set `package.json` `source` or `bin:source` field'\n    );\n  }\n\n  const isModule = pkg.type === 'module';\n\n  const globalName = pascalCase(pkg.name);\n\n  const cssFilename = getCSSFilename({ pkg }) ?? 'index.css';\n\n  const libOutputs = getLibOutputs({ pkg, globalName, options, isModule, cssFilename });\n  const binOutput = getBinOutput({ pkg, options, isModule });\n\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\n  const ts = isTs(pkg);\n  const jsx = isJsx(pkg);\n\n  return {\n    baseOptions: baseOptions,\n    options: options,\n\n    globalName,\n\n    pkgPath,\n    pkg,\n\n    swcPath: fs.existsSync(swcPath) ? swcPath : undefined,\n\n    tsconfigPath: fs.existsSync(tsconfigPath) ? tsconfigPath : undefined,\n\n    isModule,\n\n    resolvedSource,\n    resolvedBinSource,\n\n    isTs: ts,\n    isJsx: jsx,\n\n    libOutputs,\n    binOutput,\n\n    cssFilename,\n  };\n};\n","import { bundleLibIfNeeded } from './helpers/bundle-lib-if-needed';\nimport { bundleBinIfNeeded } from './helpers/bundle-bin-if-needed';\nimport type { OptionsModel } from './models/options';\nimport { getCtx } from './helpers/get-ctx';\n\nexport const lbundle = async (baseOptions: Partial<OptionsModel>): Promise<void> => {\n  const ctx = await getCtx(baseOptions);\n\n  await Promise.all([bundleLibIfNeeded(ctx), bundleBinIfNeeded(ctx)]);\n};\n","import { Command } from 'commander';\nimport pkg from '../package.json';\n\nexport const prog = new Command(pkg.name);\n\nprog\n  .version(pkg.version)\n  .option('-c, --cwd <cwd>', 'root dir path of your lib', '.')\n  .parse();\n","#!/usr/bin/env node\n\nimport { lbundle } from './index';\nimport { prog } from './program';\n\nlbundle(prog.opts());\n"],"names":["getSwcEnv","pkg","coreJsVersion","dependencies","devDependencies","peerDependencies","targets","coreJs","mode","bugfixes","getSwcConfig","isTs","isJsx","format","env","jsc","target","undefined","parser","syntax","tsx","jsx","module","type","formatToTypeMap","sourceMaps","swcrc","amd","umd","iife","system","systemjs","cjs","commonjs","es","esm","jsExtensions","isString","value","isStringFull","length","isEmptyString","isNil","isDefined","isObject","isEmptyObject","Object","keys","isEmptyArray","getRollupTypescriptConfig","options","resolvedSource","tsconfigPath","declarationOptions","types","emitDeclarationOnly","declaration","declarationDir","path","resolve","cwd","dirname","tsconfig","rootDir","sourceMap","exclude","stylesExtensions","imageExtensions","videoExtensions","audioExtensions","fontExtensions","documentExtensions","svgExtensions","assetExtensions","allAssetExtensions","normalizePath","paths","f","join","replaceAll","test","getUrlOfPartial","url","dir","base","parse","arrayFmt","arr","map","id","i","fmt","baseDir","fileURLToPath","packageFilterBuilder","opts","conditions","fields","resolvedExport","resolveExports","unsafe","main","resolvedField","resolveFields","browser","defaultOpts","caller","basedirs","extensions","preserveSymlinks","packageFilter","resolverSync","resolver","sync","pathFilter","_path","relativePath","result","resolveSync","ids","userOpts","basedir","resolved","Error","finalize","file","replace","getRollupStylerPlugin","cssFilename","styles","autoModules","to","sass","importer","isAbsolute","startsWith","partialUrl","resolverOptions","plugins","postcssImport","root","getRollupAssetPlugins","name","resolveId","endsWith","actualId","slice","svgr","exportType","ref","svgo","titleProp","include","ext","limit","fileName","publicPath","getRollupAssetPluginsForBin","bundleLibIfNeeded","ctx","libOutputs","pkgPath","Promise","all","output","bundle","rollup","input","PeerDepsExternalPlugin","includeDependencies","packageJsonPath","typescriptPaths","preserveExtensions","json","swc","nodeResolve","typescript","write","bundleBinIfNeeded","binOutput","getDefaultOptions","getExportsFilenames","exs","values","flatMap","ex","getFilenameOutputFormat","filename","isModule","extname","substring","filenameWithoutExt","luxuryExt","getLibOutputs","globalName","Map","unpkg","exports","filter","preserveModules","preserveModulesFormats","entryFileNames","assetFileNames","names","normalizedCssFilename","posix","normalize","includes","relative","esModule","strict","sourcemap","forEach","set","getBinOutput","bin","console","warn","binSource","getCSSFilename","filenames","find","source","react","getCtx","baseOptions","merge","JSON","fs","promises","readFile","swcPath","pascalCase","resolvedBinSource","ts","existsSync","lbundle","prog","Command","version","option"],"mappings":"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"}