lib-tools
Version:
The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.
27 lines • 3.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatTsDiagnostics = void 0;
const ts = require("typescript");
function formatTsDiagnostics(diagnostic) {
if (!diagnostic) {
return '';
}
const diags = Array.isArray(diagnostic) ? diagnostic : [diagnostic];
if (!diags || !diags.length || !diags[0].length) {
return '';
}
return diags
.map((d) => {
let res = ts.DiagnosticCategory[d.category];
if (d.file) {
res += ` at ${d.file.fileName}:`;
const { line, character } = d.file.getLineAndCharacterOfPosition(d.start);
res += `${line + 1}:${character + 1}:`;
}
res += ` ${ts.flattenDiagnosticMessageText(d.messageText, '\n')}`;
return res;
})
.join('\n');
}
exports.formatTsDiagnostics = formatTsDiagnostics;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXRzLWRpYWdub3N0aWNzLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJoZWxwZXJzL2Zvcm1hdC10cy1kaWFnbm9zdGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBaUM7QUFFakMsU0FBZ0IsbUJBQW1CLENBQUMsVUFBMkM7SUFDM0UsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNiLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFFRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEUsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO1FBQzdDLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFFRCxPQUFPLEtBQUs7U0FDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNQLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ1IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQztZQUNqQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEtBQWUsQ0FBQyxDQUFDO1lBQ3BGLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQzFDO1FBQ0QsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUVsRSxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBdkJELGtEQXVCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VHNEaWFnbm9zdGljcyhkaWFnbm9zdGljOiB0cy5EaWFnbm9zdGljIHwgdHMuRGlhZ25vc3RpY1tdKTogc3RyaW5nIHtcbiAgICBpZiAoIWRpYWdub3N0aWMpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGRpYWdzID0gQXJyYXkuaXNBcnJheShkaWFnbm9zdGljKSA/IGRpYWdub3N0aWMgOiBbZGlhZ25vc3RpY107XG4gICAgaWYgKCFkaWFncyB8fCAhZGlhZ3MubGVuZ3RoIHx8ICFkaWFnc1swXS5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiBkaWFnc1xuICAgICAgICAubWFwKChkKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzID0gdHMuRGlhZ25vc3RpY0NhdGVnb3J5W2QuY2F0ZWdvcnldO1xuICAgICAgICAgICAgaWYgKGQuZmlsZSkge1xuICAgICAgICAgICAgICAgIHJlcyArPSBgIGF0ICR7ZC5maWxlLmZpbGVOYW1lfTpgO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgbGluZSwgY2hhcmFjdGVyIH0gPSBkLmZpbGUuZ2V0TGluZUFuZENoYXJhY3Rlck9mUG9zaXRpb24oZC5zdGFydCBhcyBudW1iZXIpO1xuICAgICAgICAgICAgICAgIHJlcyArPSBgJHtsaW5lICsgMX06JHtjaGFyYWN0ZXIgKyAxfTpgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzICs9IGAgJHt0cy5mbGF0dGVuRGlhZ25vc3RpY01lc3NhZ2VUZXh0KGQubWVzc2FnZVRleHQsICdcXG4nKX1gO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9KVxuICAgICAgICAuam9pbignXFxuJyk7XG59XG4iXX0=