| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- const config = require('../src/config.json');
- const packageConfig = require('../package.json');
- const path = require('path');
- const fs = require('fs-extra');
- // 获取依赖关系
- const styleMap = new Map();
- const tasks = [];
- let outputFileEntry = ``;
- let components = [];
- // import Locale from './packages/locale';\n
- config.nav.forEach((item) => {
- item.packages.forEach((element) => {
- styleMap.set(element.name, {
- name: element.name,
- children: element.styleDeps
- });
- // gen entry
- let outputMjs = `import '../../styles/reset.css';\nimport _${element.name} from '../_es/${element.name}.js';
- const treeshaking = (t) => t;
- const ${element.name} = treeshaking(_${element.name});
- export { ${element.name} };`;
- tasks.push(
- fs.outputFile(path.resolve(__dirname, `../dist/packages/${element.name}/index.mjs`), outputMjs, 'utf8', () => {
- // console.log('')
- })
- );
- let folderName = element.name.toLowerCase();
- outputFileEntry += `export * from "./packages/${folderName}/index.mjs";\n`;
- components.push(element.name);
- });
- });
- outputFileEntry += components
- .map((name) => `import { ${name} } from "./packages/${name.toLowerCase()}/index.mjs";`)
- .join('\n');
- outputFileEntry += `\nimport { Locale } from "./packages/locale/lang";
- function install(app) {
- const packages = [${components.join(',')}];
- packages.forEach((item) => {
- if (item.install) {
- app.use(item);
- } else if (item.name) {
- app.component(item.name, item);
- }
- });
- }
- const version = '${packageConfig.version}';
- var stdin_default = {
- install,
- version,
- Locale
- };
- export {
- stdin_default as default,
- install,
- version,
- Locale
- };`;
- tasks.push(
- fs.outputFile(path.resolve(__dirname, `../dist/nutui.es.js`), outputFileEntry, 'utf8', () => {
- // console.log('')
- })
- );
- Promise.all(tasks);
|