Comparing version 1.1.0 to 1.1.1
#!/usr/bin/env node | ||
"use strict"; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var fs_1 = __importDefault(require("fs")); | ||
var path_1 = __importDefault(require("path")); | ||
var commander_1 = __importDefault(require("commander")); | ||
var config_1 = __importDefault(require("./config")); | ||
var pkg_1 = __importDefault(require("./pkg")); | ||
var index_1 = __importDefault(require("./index")); | ||
commander_1.default | ||
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
var tslib = require('tslib'); | ||
var fs = _interopDefault(require('fs')); | ||
var path = _interopDefault(require('path')); | ||
var program = _interopDefault(require('commander')); | ||
program | ||
.name("bunchee") | ||
.version(pkg_1.default.version, "-v, --version") | ||
.version(require('../package.json').version, "-v, --version") | ||
.option("-w, --watch", "watch src files changes") | ||
@@ -57,10 +17,10 @@ .option("-o, --output <file>", "specify output filename") | ||
.action(run); | ||
commander_1.default.parse(process.argv); | ||
program.parse(process.argv); | ||
function run(entryFilePath) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
return tslib.__awaiter(this, void 0, void 0, function () { | ||
var format, file, bin, watch, outputConfig, entry; | ||
return __generator(this, function (_a) { | ||
return tslib.__generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
format = commander_1.default.format, file = commander_1.default.output, bin = commander_1.default.bin, watch = commander_1.default.watch; | ||
format = program.format, file = program.output, bin = program.bin, watch = program.watch; | ||
outputConfig = { | ||
@@ -75,7 +35,7 @@ file: file, | ||
} | ||
entry = path_1.default.resolve(config_1.default.rootDir, entryFilePath); | ||
if (!fs_1.default.existsSync(entry)) { | ||
entry = path.resolve(process.cwd(), entryFilePath); | ||
if (!fs.existsSync(entry)) { | ||
return [2, help()]; | ||
} | ||
return [4, index_1.default(entry, outputConfig)]; | ||
return [4, eval("require('.')")(entry, outputConfig)]; | ||
case 1: | ||
@@ -89,3 +49,4 @@ _a.sent(); | ||
function help() { | ||
commander_1.default.help(); | ||
program.help(); | ||
} | ||
//# sourceMappingURL=cli.js.map |
@@ -1,4 +0,189 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var bundle_1 = require("./bundle"); | ||
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return bundle_1.default; } }); | ||
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
var tslib = require('tslib'); | ||
var rollup = require('rollup'); | ||
var path = _interopDefault(require('path')); | ||
var commonjs = _interopDefault(require('rollup-plugin-commonjs')); | ||
var json = _interopDefault(require('@rollup/plugin-json')); | ||
var babel = _interopDefault(require('@rollup/plugin-babel')); | ||
var nodeResolve = _interopDefault(require('@rollup/plugin-node-resolve')); | ||
var typescript = _interopDefault(require('@rollup/plugin-typescript')); | ||
var rootDir = process.cwd(); | ||
var config = { | ||
rootDir: rootDir, | ||
}; | ||
var mainFieldsConfig = [ | ||
{ | ||
field: "main", | ||
format: "cjs", | ||
}, | ||
{ | ||
field: "module", | ||
format: "esm", | ||
}, | ||
]; | ||
function createInputConfig(entry, npmPackage) { | ||
var externals = [npmPackage.peerDependencies, npmPackage.dependencies] | ||
.filter(function (n) { return Boolean(n); }) | ||
.map(function (o) { return Object.keys(o); }) | ||
.reduce(function (a, b) { return a.concat(b); }, []); | ||
var ext = path.extname(entry); | ||
var useTypescript = ext === ".ts" || ext === ".tsx"; | ||
var plugins = [ | ||
nodeResolve({ | ||
preferBuiltins: false, | ||
}), | ||
commonjs({ | ||
include: /node_modules\//, | ||
}), | ||
json(), | ||
useTypescript && typescript({ | ||
tsconfig: path.resolve(config.rootDir, "tsconfig.json"), | ||
typescript: require("typescript"), | ||
module: "ES6", | ||
target: "ES5", | ||
}), | ||
!useTypescript && babel({ | ||
babelHelpers: 'bundled', | ||
babelrc: false, | ||
configFile: false, | ||
exclude: 'node_modules/**', | ||
presets: [ | ||
require.resolve('@babel/preset-react'), | ||
[ | ||
require.resolve('@babel/preset-env'), | ||
{ | ||
loose: true, | ||
useBuiltIns: false, | ||
targets: { | ||
node: '4', | ||
esmodules: true, | ||
}, | ||
}, | ||
] | ||
], | ||
}) | ||
].filter(function (n) { return Boolean(n); }); | ||
return { | ||
input: entry, | ||
external: externals, | ||
plugins: plugins, | ||
}; | ||
} | ||
function createOutputOptions(cliArgs, npmPackage) { | ||
var file = cliArgs.file, format = cliArgs.format, shebang = cliArgs.shebang; | ||
return { | ||
name: npmPackage.name, | ||
banner: shebang ? '#!/usr/bin/env node' : undefined, | ||
file: file, | ||
format: format, | ||
esModule: format !== "umd", | ||
freeze: false, | ||
strict: false, | ||
sourcemap: true, | ||
}; | ||
} | ||
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); | ||
var outputConfigs = mainFieldsConfig | ||
.filter(function (config) { | ||
return Boolean(npmPackage[config.field]); | ||
}) | ||
.map(function (config) { | ||
var filename = npmPackage[config.field]; | ||
return createOutputOptions({ | ||
file: filename, | ||
format: config.format, | ||
shebang: options.shebang, | ||
}, npmPackage); | ||
}); | ||
if (file) { | ||
outputConfigs = [ | ||
createOutputOptions({ | ||
file: file, | ||
format: format, | ||
shebang: options.shebang | ||
}, npmPackage) | ||
]; | ||
} | ||
return { | ||
input: inputOptions, | ||
output: outputConfigs, | ||
treeshake: { | ||
propertyReadSideEffects: false, | ||
}, | ||
}; | ||
} | ||
function getPackageMeta() { | ||
var pkgFilePath = path.resolve(config.rootDir, 'package.json'); | ||
var targetPackageJson; | ||
try { | ||
targetPackageJson = require(pkgFilePath); | ||
} | ||
catch (e) { | ||
targetPackageJson = {}; | ||
} | ||
var name = targetPackageJson.name, main = targetPackageJson.main, module = targetPackageJson.module, dependencies = targetPackageJson.dependencies, peerDependencies = targetPackageJson.peerDependencies; | ||
return { | ||
name: name, | ||
main: main, | ||
module: module, | ||
dependencies: dependencies, | ||
peerDependencies: peerDependencies, | ||
}; | ||
} | ||
function resolvePackagePath(pathname) { | ||
return path.resolve(config.rootDir, pathname); | ||
} | ||
var utils = { | ||
getPackageMeta: getPackageMeta, | ||
resolvePackagePath: resolvePackagePath, | ||
}; | ||
function bundle(entry, _a) { | ||
if (_a === void 0) { _a = {}; } | ||
var watch = _a.watch, options = tslib.__rest(_a, ["watch"]); | ||
var npmPackage = utils.getPackageMeta(); | ||
var rollupConfig = createRollupConfig({ | ||
entry: entry, | ||
npmPackage: npmPackage, | ||
options: options, | ||
}); | ||
if (watch) { | ||
return Promise.resolve(runWatch(rollupConfig)); | ||
} | ||
return runBundle(rollupConfig); | ||
} | ||
function runWatch(_a) { | ||
var input = _a.input, output = _a.output; | ||
var watchOptions = [tslib.__assign(tslib.__assign({}, input), { output: output, watch: { | ||
exclude: ["node_modules/**"], | ||
} })]; | ||
return rollup.watch(watchOptions); | ||
} | ||
function runBundle(_a) { | ||
var input = _a.input, output = _a.output; | ||
return rollup.rollup(input).then(function (bundle) { | ||
var wirteJobs = output.map(function (options) { | ||
return bundle.write(options); | ||
}); | ||
return Promise.all(wirteJobs); | ||
}, function (error) { | ||
if (error === void 0) { error = {}; } | ||
if (error.frame) { | ||
process.stdout.write(error.frame + '\n'); | ||
} | ||
if (error.stack) { | ||
process.stdout.write(error.stack + '\n'); | ||
} | ||
throw error; | ||
}); | ||
} | ||
module.exports = bundle; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "bunchee", | ||
"version": "1.1.0", | ||
"version": "1.1.1", | ||
"description": "simple bundler", | ||
@@ -12,4 +12,6 @@ "bin": { | ||
"clean": "rm -rf ./dist", | ||
"prerelease": "yarn clean && yarn build && chmod +x ./dist/cli.js", | ||
"build": "tsc" | ||
"prerelease": "yarn clean && yarn build && chmod +x dist/cli.js", | ||
"build:cli": "bunchee src/cli.ts -f cjs -b -o dist/cli.js", | ||
"build:main": "bunchee src/index.ts -f cjs", | ||
"build": "yarn build:main && yarn build:cli" | ||
}, | ||
@@ -43,4 +45,5 @@ "keywords": [ | ||
"devDependencies": { | ||
"bunchee": "1.1.0", | ||
"jest": "26.6.1" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
23192
2
6
230
2