1 | const match = require('minimatch')
|
2 | const evaluate = require('./eval')
|
3 |
|
4 | module.exports = (files, filters, data, done) => {
|
5 |
|
6 | if (!filters) {
|
7 | return done()
|
8 | }
|
9 | const fileNames = Object.keys(files)
|
10 | Object.keys(filters).forEach(glob => {
|
11 | fileNames.forEach(file => {
|
12 | if (match(file, glob, { dot: true })) {
|
13 | const condition = filters[glob]
|
14 | console.log('经过filter');
|
15 | if (!evaluate(condition, data)) {
|
16 | delete files[file]
|
17 | }
|
18 | }
|
19 | })
|
20 | })
|
21 | done()
|
22 | }
|