iconInit.js 652 B

12345678910111213141516171819202122
  1. 'use strict';
  2. var postcss = require('postcss');
  3. var fs = require('fs');
  4. var path = require('path');
  5. var fontFile = fs.readFileSync(path.resolve(__dirname, '../../packages/theme-chalk/src/icon.scss'), 'utf8');
  6. var nodes = postcss.parse(fontFile).nodes;
  7. var classList = [];
  8. nodes.forEach((node) => {
  9. var selector = node.selector || '';
  10. var reg = new RegExp(/\.el-icon-([^:]+):before/);
  11. var arr = selector.match(reg);
  12. if (arr && arr[1]) {
  13. classList.push(arr[1]);
  14. }
  15. });
  16. classList.reverse(); // 希望按 css 文件顺序倒序排列
  17. fs.writeFile(path.resolve(__dirname, '../../examples/icon.json'), JSON.stringify(classList), () => {});