UNPKG

ts-lit-plugin

Version:

Typescript plugin that adds type checking and code completion to lit-html

153 lines (152 loc) 5.2 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = exports.Logger = void 0; /* eslint-disable @typescript-eslint/no-explicit-any */ var fs_1 = require("fs"); var lit_analyzer_1 = require("lit-analyzer"); var path_1 = require("path"); var util_1 = require("util"); var LOG_FILE_NAME = "lit-plugin.log"; /** * This class takes care of logging while fixing issues regarding the type script service logger. * It logs to a file called "log.txt" in the root of this project. */ var Logger = /** @class */ (function (_super) { __extends(Logger, _super); function Logger() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.level = lit_analyzer_1.LitAnalyzerLoggerLevel.OFF; _this.logPath = path_1.join(process.cwd(), LOG_FILE_NAME); return _this; } /** * Logs if this.level >= DEBUG * @param args */ Logger.prototype.debug = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } this.appendLogWithLevel.apply(this, __spread([lit_analyzer_1.LitAnalyzerLoggerLevel.DEBUG], args)); }; /** * Logs if this.level >= ERROR * @param args */ Logger.prototype.error = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } this.appendLogWithLevel.apply(this, __spread([lit_analyzer_1.LitAnalyzerLoggerLevel.ERROR], args)); }; /** * Logs if level >= WARN * @param args */ Logger.prototype.warn = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } this.appendLogWithLevel.apply(this, __spread([lit_analyzer_1.LitAnalyzerLoggerLevel.WARN], args)); }; /** * Logs if level >= VERBOSE * @param args */ Logger.prototype.verbose = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } this.appendLogWithLevel.apply(this, __spread([lit_analyzer_1.LitAnalyzerLoggerLevel.VERBOSE], args)); }; Object.defineProperty(Logger.prototype, "cwd", { set: function (cwd) { this.logPath = path_1.join(cwd, LOG_FILE_NAME); }, enumerable: false, configurable: true }); /** * Resets the log file. */ Logger.prototype.resetLogs = function () { if (this.level > lit_analyzer_1.LitAnalyzerLoggerLevel.OFF) { fs_1.writeFileSync(this.logPath, ""); } }; /** * Appends a log if this.level > level * @param level * @param args */ Logger.prototype.appendLogWithLevel = function (level) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } if (this.level >= level) { var prefix = this.getLogLevelPrefix(level); this.appendLog.apply(this, __spread([prefix], args)); } }; /** * Appends a log entry to the log file. * @param prefix * @param args */ Logger.prototype.appendLog = function (prefix) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } fs_1.appendFileSync(this.logPath, "" + prefix + util_1.inspect(args, { colors: true, depth: 6, breakLength: 50, maxArrayLength: 10 }) + "\n"); }; Logger.prototype.getLogLevelPrefix = function (level) { return "[" + new Date().toLocaleString() + "] [" + this.severityPrefix(level) + "] "; }; return Logger; }(lit_analyzer_1.DefaultLitAnalyzerLogger)); exports.Logger = Logger; exports.logger = new Logger();