正在显示
1 个修改的文件
包含
36 行增加
和
1 行删除
... | ... | @@ -2,6 +2,34 @@ const { readdirSync, readFileSync, writeFileSync, existsSync } = require('fs'); |
2 | 2 | const { join, basename } = require('path'); |
3 | 3 | const mkdirp = require('mkdirp'); |
4 | 4 | |
5 | +function haveDependencies(pkg, depName) { | |
6 | + if (pkg.dependencies && pkg.dependencies[depName]) { | |
7 | + return true; | |
8 | + } | |
9 | + if (pkg.devDependencies && pkg.devDependencies[depName]) { | |
10 | + return true; | |
11 | + } | |
12 | + return false; | |
13 | +} | |
14 | + | |
15 | +const EXT_NAMES = ['.tsx', '.ts', '.jsx', '.js']; | |
16 | + | |
17 | +function getFile(cwd, fileName) { | |
18 | + for (const ext of EXT_NAMES) { | |
19 | + const file = join(cwd, `${fileName}${ext}`); | |
20 | + if (existsSync(file)) { | |
21 | + return file; | |
22 | + } | |
23 | + } | |
24 | +} | |
25 | + | |
26 | +function haveImport(cwd, name) { | |
27 | + const indexFile = getFile(cwd, 'src/index'); | |
28 | + if (!indexFile) return false; | |
29 | + const content = readFileSync(indexFile, 'utf-8'); | |
30 | + return content.includes(`'${name}'`) || content.includes(`"${name}"`); | |
31 | +} | |
32 | + | |
5 | 33 | function parseJSON(root) { |
6 | 34 | const dirs = readdirSync(root); |
7 | 35 | const type = basename(root); |
... | ... | @@ -11,6 +39,13 @@ function parseJSON(root) { |
11 | 39 | const pkg = require(join(absDirPath, 'package.json')); |
12 | 40 | const url = `https://github.com/umijs/umi-blocks/tree/master/${type}/${dir}`; |
13 | 41 | const img = `https://github.com/umijs/umi-blocks/blob/master/${type}/${dir}/snapshot.png?raw=true`; |
42 | + const features = []; | |
43 | + if (haveDependencies(pkg, 'antd') || haveImport(absDirPath, 'antd')) { | |
44 | + features.push('antd'); | |
45 | + } | |
46 | + if (getFile(absDirPath, 'src/model')) { | |
47 | + features.push('dva'); | |
48 | + } | |
14 | 49 | memo.push({ |
15 | 50 | name: pkg.name, |
16 | 51 | description: pkg.description, |
... | ... | @@ -18,7 +53,7 @@ function parseJSON(root) { |
18 | 53 | tags: [], |
19 | 54 | img, |
20 | 55 | previewUrl: '', |
21 | - features: [], | |
56 | + features, | |
22 | 57 | }); |
23 | 58 | return memo; |
24 | 59 | }, []); | ... | ... |
请
注册
或
登录
后发表评论