line_push/node_modules/eslint-loader/dist/cacheLoader.js
2022-07-17 13:16:16 +08:00

50 lines
1.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = cacheLoader;
var _package = require("../package.json");
var _cache = _interopRequireDefault(require("./cache"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function cacheLoader(linter, content, map) {
const {
loaderContext,
options,
CLIEngine
} = linter;
const callback = loaderContext.async();
const cacheIdentifier = JSON.stringify({
'eslint-loader': _package.version,
eslint: CLIEngine.version
});
(0, _cache.default)({
cacheDirectory: options.cache,
cacheIdentifier,
cacheCompression: true,
options,
source: content,
transform() {
return linter.lint(content);
}
}).then(res => {
try {
linter.printOutput({ ...res,
src: content
});
} catch (error) {
return callback(error, content, map);
}
return callback(null, content, map);
}).catch(err => {
// istanbul ignore next
return callback(err);
});
}