generate-themes.cjs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const config = require('../src/config.json');
  2. const path = require('path');
  3. const fs = require('fs-extra');
  4. let sassFileStr = ``;
  5. let tasks = [];
  6. config.nav.map((item) => {
  7. item.packages.forEach((element) => {
  8. let folderName = element.name.toLowerCase();
  9. tasks.push(
  10. fs
  11. .copy(
  12. path.resolve(__dirname, `../src/packages/__VUE/${folderName}/index.scss`),
  13. path.resolve(__dirname, `../dist/packages/${folderName}/index.scss`)
  14. )
  15. .then((success) => {
  16. if (element.exclude != true) {
  17. sassFileStr += `@import '../../packages/${folderName}/index.scss';\n`;
  18. }
  19. })
  20. .catch((error) => { })
  21. );
  22. });
  23. });
  24. tasks.push(fs.copy(path.resolve(__dirname, '../src/packages/styles'), path.resolve(__dirname, '../dist/styles')));
  25. Promise.all(tasks).then((res) => {
  26. let themes = [
  27. { file: 'default.scss', sourcePath: `@import '../variables.scss';` },
  28. { file: 'jdt.scss', sourcePath: `@import '../variables-jdt.scss';` },
  29. { file: 'jdb.scss', sourcePath: `@import '../variables-jdb.scss';` },
  30. { file: 'jddkh.scss', sourcePath: `@import '../variables-jddkh.scss';` }
  31. ];
  32. themes.forEach((item) => {
  33. fs.outputFile(
  34. path.resolve(__dirname, `../dist/styles/themes/${item.file}`),
  35. `${item.sourcePath}
  36. ${sassFileStr}`,
  37. 'utf8',
  38. (error) => {
  39. // logger.success(`文件写入成功`);
  40. }
  41. );
  42. });
  43. });