bunchee
Advanced tools
Comparing version 1.3.0 to 1.4.0
@@ -15,3 +15,2 @@ #!/usr/bin/env node | ||
.option("-f, --format <format>", "specify output file format") | ||
.option("-b, --bin", "output with shebang as banner at top") | ||
.action(run); | ||
@@ -40,3 +39,2 @@ program.parse(process.argv); | ||
module = require('.'); | ||
console.log('db:module', module); | ||
bunchee = module.default ? module.default : module; | ||
@@ -43,0 +41,0 @@ _a.label = 1; |
@@ -5,4 +5,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
var rollup = require('rollup'); | ||
var path = _interopDefault(require('path')); | ||
var fs = _interopDefault(require('fs')); | ||
var path = require('path'); | ||
var path__default = _interopDefault(path); | ||
var commonjs = _interopDefault(require('rollup-plugin-commonjs')); | ||
var shebang = _interopDefault(require('rollup-plugin-preserve-shebang')); | ||
var json = _interopDefault(require('@rollup/plugin-json')); | ||
@@ -28,3 +31,16 @@ var babel = _interopDefault(require('@rollup/plugin-babel')); | ||
]; | ||
function createInputConfig(entry, npmPackage) { | ||
var Module = require("module").Module; | ||
function resolveTypescript() { | ||
var ts; | ||
var m = new Module("", null); | ||
m.paths = Module._nodeModulePaths(config.rootDir); | ||
try { | ||
ts = m.require("typescript"); | ||
} | ||
catch (_) { | ||
ts = require("typescript"); | ||
} | ||
return ts; | ||
} | ||
function createInputConfig(entry, npmPackage, options) { | ||
var externals = [npmPackage.peerDependencies, npmPackage.dependencies] | ||
@@ -34,4 +50,3 @@ .filter(function (n) { return Boolean(n); }) | ||
.reduce(function (a, b) { return a.concat(b); }, []); | ||
var ext = path.extname(entry); | ||
var useTypescript = ext === ".ts" || ext === ".tsx"; | ||
var useTypescript = options.useTypescript; | ||
var plugins = [ | ||
@@ -45,2 +60,3 @@ nodeResolve({ | ||
json(), | ||
shebang(), | ||
useTypescript && typescript({ | ||
@@ -68,10 +84,22 @@ tsconfig: path.resolve(config.rootDir, "tsconfig.json"), | ||
} | ||
function createOutputOptions(cliArgs, npmPackage) { | ||
var file = cliArgs.file, format = cliArgs.format, shebang = cliArgs.shebang; | ||
function createOutputOptions(options, npmPackage) { | ||
var file = options.file, format = options.format, useTypescript = options.useTypescript; | ||
var tsconfigOptions = {}; | ||
var ts = resolveTypescript(); | ||
var tsconfigPath = path.resolve(config.rootDir, "tsconfig.json"); | ||
if (useTypescript) { | ||
if (fs.existsSync(tsconfigPath)) { | ||
var tsconfigJSON = ts.readConfigFile(tsconfigPath, ts.sys.readFile) | ||
.config; | ||
tsconfigOptions = ts.parseJsonConfigFileContent(tsconfigJSON, ts.sys, './').options; | ||
} | ||
} | ||
var useEsModuleMark = !!tsconfigOptions.esModuleInterop || | ||
(npmPackage.hasOwnProperty("main") && | ||
npmPackage.hasOwnProperty("module")); | ||
return { | ||
name: npmPackage.name, | ||
banner: shebang ? "#!/usr/bin/env node" : undefined, | ||
file: file, | ||
format: format, | ||
esModule: format !== "umd", | ||
esModule: !useEsModuleMark && format !== "umd", | ||
freeze: false, | ||
@@ -82,6 +110,8 @@ strict: false, | ||
} | ||
function createRollupConfig(_a) { | ||
var entry = _a.entry, npmPackage = _a.npmPackage, options = _a.options; | ||
var file = options.file, _b = options.format, format = _b === void 0 ? "esm" : _b; | ||
var inputOptions = createInputConfig(entry, npmPackage); | ||
function createRollupConfig(entry, npmPackage, cliArgs) { | ||
var file = cliArgs.file, _a = cliArgs.format, format = _a === void 0 ? "esm" : _a; | ||
var ext = path.extname(entry); | ||
var useTypescript = ext === ".ts" || ext === ".tsx"; | ||
var options = tslib.__assign(tslib.__assign({}, cliArgs), { useTypescript: useTypescript }); | ||
var inputOptions = createInputConfig(entry, npmPackage, options); | ||
var outputConfigs = mainFieldsConfig | ||
@@ -96,3 +126,3 @@ .filter(function (config) { | ||
format: config.format, | ||
shebang: options.shebang, | ||
useTypescript: useTypescript, | ||
}, npmPackage); | ||
@@ -105,3 +135,3 @@ }); | ||
format: format, | ||
shebang: options.shebang | ||
useTypescript: useTypescript, | ||
}, npmPackage) | ||
@@ -120,3 +150,3 @@ ]; | ||
function getPackageMeta() { | ||
var pkgFilePath = path.resolve(config.rootDir, 'package.json'); | ||
var pkgFilePath = path__default.resolve(config.rootDir, 'package.json'); | ||
var targetPackageJson; | ||
@@ -139,3 +169,3 @@ try { | ||
function resolvePackagePath(pathname) { | ||
return path.resolve(config.rootDir, pathname); | ||
return path__default.resolve(config.rootDir, pathname); | ||
} | ||
@@ -151,7 +181,3 @@ var utils = { | ||
var npmPackage = utils.getPackageMeta(); | ||
var rollupConfig = createRollupConfig({ | ||
entry: entry, | ||
npmPackage: npmPackage, | ||
options: options, | ||
}); | ||
var rollupConfig = createRollupConfig(entry, npmPackage, options); | ||
if (watch) { | ||
@@ -158,0 +184,0 @@ return Promise.resolve(runWatch(rollupConfig)); |
{ | ||
"name": "bunchee", | ||
"version": "1.3.0", | ||
"version": "1.4.0", | ||
"description": "zero config bundler for js/ts/jsx libraries", | ||
@@ -13,3 +13,3 @@ "bin": { | ||
"prerelease": "yarn clean && yarn build && chmod +x dist/cli.js", | ||
"build:cli": "ts-node src/cli.ts src/cli.ts -f cjs -b -o dist/cli.js", | ||
"build:cli": "ts-node src/cli.ts src/cli.ts -f cjs -o dist/cli.js", | ||
"build:main": "ts-node src/cli.ts src/index.ts -f cjs", | ||
@@ -42,2 +42,3 @@ "build": "yarn build:main && yarn build:cli" | ||
"rollup-plugin-commonjs": "10.1.0", | ||
"rollup-plugin-preserve-shebang": "1.0.1", | ||
"tslib": "2.0.0", | ||
@@ -44,0 +45,0 @@ "typescript": "^3.9.6" |
@@ -31,3 +31,2 @@ # bunchee | ||
-f, --format <format> specify bundle type. esm, cjs, umd. default is esm | ||
-b, --bin output with shebang banner at top of file | ||
-h, --help output usage information | ||
@@ -34,0 +33,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
26846
255
12
62
6
+ Addedrollup-plugin-preserve-shebang@1.0.1(transitive)