UNPKG

lbundle

Version:

Small zero-configuration bundler build on top of Rollup.js and SWC for NPM libraries

99 lines (96 loc) 3.7 kB
'use strict'; var getCtx = require('../_virtual/get-ctx.js'); var require$$0 = require('path'); var require$$1 = require('fs'); var require$$2 = require('lodash.merge'); require('./get-default-options.js'); require('./get-lib-outputs.js'); require('./get-bin-output.js'); require('../utils/checks.js'); require('./get-css-filename.js'); var require$$8 = require('change-case'); require('../utils/is-ts.js'); require('../utils/is-jsx.js'); var getDefaultOptions = require('../_virtual/get-default-options.js'); var checks = require('../_virtual/checks.js'); var getCssFilename = require('../_virtual/get-css-filename.js'); var getLibOutputs = require('../_virtual/get-lib-outputs.js'); var getBinOutput = require('../_virtual/get-bin-output.js'); var isTs = require('../_virtual/is-ts.js'); var isJsx = require('../_virtual/is-jsx.js'); (function (exports) { Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "getCtx", { enumerable: true, get: function() { return getCtx; } }); const _path = /*#__PURE__*/ _interop_require_default(require$$0); const _fs = /*#__PURE__*/ _interop_require_default(require$$1); const _lodashmerge = /*#__PURE__*/ _interop_require_default(require$$2); const _getdefaultoptions = getDefaultOptions.__exports; const _getliboutputs = getLibOutputs.__exports; const _getbinoutput = getBinOutput.__exports; const _checks = checks.__exports; const _getcssfilename = getCssFilename.__exports; const _changecase = require$$8; const _ists = isTs.__exports; const _isjsx = isJsx.__exports; function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const getCtx = async (baseOptions)=>{ const options = (0, _lodashmerge.default)((0, _getdefaultoptions.getDefaultOptions)(), baseOptions); const pkgPath = _path.default.resolve(options.cwd, 'package.json'); const pkg = JSON.parse(await _fs.default.promises.readFile(pkgPath, 'utf-8')); const tsconfigPath = _path.default.resolve(options.cwd, 'tsconfig.json'); const swcPath = _path.default.resolve(options.cwd, '.swc'); if ((0, _checks.isNil)(pkg.source) && (0, _checks.isNil)(pkg['bin:source'])) { throw new Error('[bundle] provide source entry for you library, set `package.json` `source` or `bin:source` field'); } const isModule = pkg.type === 'module'; const globalName = (0, _changecase.pascalCase)(pkg.name); const cssFilename = (0, _getcssfilename.getCSSFilename)({ pkg }) ?? 'index.css'; const libOutputs = (0, _getliboutputs.getLibOutputs)({ pkg, globalName, options, isModule, cssFilename }); const binOutput = (0, _getbinoutput.getBinOutput)({ pkg, options, isModule }); const resolvedSource = pkg.source ? _path.default.resolve(options.cwd, pkg.source) : undefined; const resolvedBinSource = pkg['bin:source'] ? _path.default.resolve(options.cwd, pkg['bin:source']) : undefined; const ts = (0, _ists.isTs)(pkg); const jsx = (0, _isjsx.isJsx)(pkg); return { baseOptions: baseOptions, options: options, globalName, pkgPath, pkg, swcPath: _fs.default.existsSync(swcPath) ? swcPath : undefined, tsconfigPath: _fs.default.existsSync(tsconfigPath) ? tsconfigPath : undefined, isModule, resolvedSource, resolvedBinSource, isTs: ts, isJsx: jsx, libOutputs, binOutput, cssFilename }; }; } (getCtx.__exports)); //# sourceMappingURL=get-ctx.js.map