diff --git a/src/index.js b/src/index.js index 078515b..54d0ea6 100644 --- a/src/index.js +++ b/src/index.js @@ -62,23 +62,13 @@ export default async function microbundle(inputOptions) { const { hasPackageJson, pkg } = await getConfigFromPkgJson(cwd); options.pkg = pkg; - if (!options.pkg.name) { - options.pkg.name = basename(options.cwd); - if (hasPackageJson) { - stderr( - chalk.yellow( - `${chalk.yellow.inverse( - 'WARN', - )} missing package.json "name" field. Assuming "${ - options.pkg.name - }".`, - ), - ); - } - } - - options.name = - options.name || options.pkg.amdName || safeVariableName(options.pkg.name); + options.name = getName({ + name: options.name, + pkgName: options.pkg.name, + amdName: options.pkg.amdName, + hasPackageJson, + cwd, + }); if (options.sourcemap !== false) { options.sourcemap = true; @@ -238,6 +228,23 @@ async function getConfigFromPkgJson(cwd) { } } +function getName({ name, pkgName, amdName, cwd, hasPackageJson }) { + if (!pkgName) { + pkgName = basename(cwd); + if (hasPackageJson) { + stderr( + chalk.yellow( + `${chalk.yellow.inverse( + 'WARN', + )} missing package.json "name" field. Assuming "${pkgName}".`, + ), + ); + } + } + + return name || amdName || safeVariableName(pkgName); +} + function createConfig(options, entry, format, writeMeta) { let { pkg } = options;