@mypaas/hcm-cli
Version:
Vant Cli 是一个 Vue 组件库构建工具,通过 Vant Cli 可以快速搭建一套功能完备的 Vue 组件库。
67 lines (58 loc) • 2.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.genAMDPackageEntry = void 0;
const path_1 = require("path");
const common_1 = require("../common");
const constant_1 = require("../common/constant");
function genDefines(names) {
return names
.map((name) => {
const packageName = common_1.decamelize(name);
return `define('@mypaas/honeycomb-mobile-ui/lib/${packageName}', [], function() { return ${name}; });
define('@mypaas/honeycomb-mobile-ui/es/${packageName}', [], function() { return ${name}; });
define('@mypaas/honeycomb-mobile-ui/${packageName}', [], function() { return ${name}; });`;
})
.join('\n');
}
function genExports(names) {
return names.map((name) => `${name}`).join(',\n ');
}
function genImports(components, options) {
return components
.map((name) => {
let path = path_1.join(constant_1.SRC_DIR, name);
if (options.pathResolver) {
path = options.pathResolver(path);
}
return `const ${common_1.pascalize(name)} = require('${common_1.normalizePath(path)}').default;`;
})
.join('\n');
}
function genAMDPackageEntry(options) {
const names = common_1.getComponents();
const version = process.env.PACKAGE_VERSION || constant_1.getPackageJson().version;
const components = names.map(common_1.pascalize);
const exports = genExports(components);
const content = `${genImports(names, options)}
import style from '../lib/index.css';
const styleModule = style
define('@mypaas/honeycomb-mobile-ui/version', [], function() { return "${version}"; });
${genDefines(components)}
define('@mypaas/honeycomb-mobile-ui', [], function() { return {
${exports}
} });
define('@mypaas/honeycomb-mobile-ui/index.js', [], function() { return {
${exports}
} });
define('@mypaas/honeycomb-mobile-ui/lib/index.js', [], function() { return {
${exports}
} });
define('@mypaas/honeycomb-mobile-ui/es/index.js', [], function() { return {
${exports}
} });
define('@mypaas/honeycomb-mobile-ui/lib/index.css', [], function() { return styleModule });
define('@mypaas/honeycomb-mobile-ui/lib/index.less', [], function() { return styleModule });
`;
common_1.smartOutputFile(options.outputPath, content);
}
exports.genAMDPackageEntry = genAMDPackageEntry;