uxp-linter-test-app
Version:
UXP LINTER is useful for linting your code with ESLint rules and guidelines.
46 lines (36 loc) • 1.4 kB
JavaScript
;
require("v8-compile-cache");
var utils = require('./utils'),
constants = require('./constants');
const { htmlLinterPackageName, htmlConfigFileName } = constants;
const path = require('path'),
eslintConfigFilePath = path.join(__dirname, htmlConfigFileName);
// For starting the configuration for uxp linter html
function configureHtmlLinter(param) {
return new Promise(function (resolve, reject) {
if (param === 'remove') {
uninstallHtmlLinter().then(() => { resolve(true) });
} else {
installHtmlLinter(eslintConfigFilePath, htmlConfigFileName).then(() => { resolve(true) });
}
});
}
function isHtmlLinterInstalled() {
return new Promise(async function (resolve, reject) {
let configData = utils.readLinterConfig();
resolve(configData['html-linter']);
})
}
async function installHtmlLinter(eslintConfigPath, htmlConfigName) {
await utils.installPackages(htmlLinterPackageName, true);
await utils.addConfigFile(eslintConfigPath, htmlConfigName, true);
return true;
}
async function uninstallHtmlLinter() {
if (await isHtmlLinterInstalled()) {
await utils.uninstallPackages(htmlLinterPackageName);
await utils.removeConfigFile(htmlConfigFileName);
}
}
module.exports = { configureHtmlLinter, isHtmlLinterInstalled, installHtmlLinter };