generate-types.js 814 B

123456789101112131415161718192021222324
  1. const config = require('../src/config.json');
  2. const path = require('path');
  3. const fs = require('fs-extra');
  4. let importStr = `import Locale from '../packages/locale';\n`;
  5. const packages = [];
  6. config.nav.map((item) => {
  7. item.packages.forEach((element) => {
  8. let { name, type } = element;
  9. importStr += `import ${name} from './__VUE/${name.toLowerCase()}${type === 'methods' ? '' : '/index.vue'}';\n`;
  10. packages.push(name);
  11. });
  12. });
  13. let installFunction = `
  14. export { Locale,${packages.join(',')} };`;
  15. let fileStr = importStr + installFunction;
  16. fs.outputFileSync(path.resolve(__dirname, '../dist/types/nutui.d.ts'), fileStr, 'utf8');
  17. fs.outputFileSync(
  18. path.resolve(__dirname, '../dist/types/index.d.ts'),
  19. `import * as NutUI from './nutui';
  20. export default NutUI;
  21. export * from './nutui';`,
  22. 'utf8'
  23. );