-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
38 lines (33 loc) · 1.13 KB
/
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
34
35
36
37
38
const logger = require('@parcel/logger');
const mkdirp = require('mkdirp');
const jsonfile = require('jsonfile');
const constFile = require('./src/const');
mkdirp.sync(constFile.cacheDir);
module.exports = (bundler) => {
jsonfile.writeFileSync(constFile.cacheFile, {});
bundler.addAssetType('css', require.resolve('./src/StyleLintCssAsset'));
bundler.addAssetType('less', require.resolve('./src/StyleLintLessAsset'));
bundler.addAssetType('sass', require.resolve('./src/StyleLintSassAsset'));
bundler.addAssetType('scss', require.resolve('./src/StyleLintScssAsset'));
bundler.addAssetType('sss', require.resolve('./src/StyleLintSSSAsset'));
bundler.on('bundled', () => {
let cache;
let deDupeCache = [];
try {
cache = jsonfile.readFileSync(constFile.cacheFile);
} catch (e) {
cache = {};
}
cache.log = cache.log || [];
if (cache.log.length) {
logger.clear();
}
cache.log.forEach((element) => {
if (deDupeCache.indexOf(element) === -1) {
logger.write(element);
deDupeCache.push(element);
}
});
jsonfile.writeFileSync(constFile.cacheFile, {});
});
};