-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
33 lines (31 loc) · 936 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var parsecss = require('./css/parsecss')
const path = require('path')
const fs = require('fs')
const globby = require('globby')
var { getIgnoreConfig, validArr, getVueConfig } = require('./util')
module.exports = function filterCss(url,opt={}) {
url = path.resolve(process.cwd(), url)
let isDirectory = fs.lstatSync(url).isDirectory()
let ignoreConfig = getIgnoreConfig(url)
if (validArr(ignoreConfig)) {
opt.ignore = ignoreConfig.concat(opt.ignore)
}
let vueConfig = getVueConfig(url)
opt.vueConfig = vueConfig
let cssResolver
if (isDirectory) {
const paths = globby.sync(['**.vue'], {
cwd: url,
absolute: true,
})
return Promise.all(
paths.map((e) => {
let cssResolver = new parsecss(e,opt)
return cssResolver.findUnuseCss()
})
)
} else {
cssResolver = new parsecss(url, { mode: 'singlePage' ,...opt })
return cssResolver.findUnuseCss()
}
}