uxp-linter-test-app
Version:
UXP LINTER is useful for linting your code with ESLint rules and guidelines.
48 lines (37 loc) • 1.44 kB
JavaScript
;
require("v8-compile-cache");
var utils = require('./utils'),
constants = require('./constants');
const { cssLinterPackageName, cssUninstallPackageName } = constants;
const cssConfigFileName = '.stylelintrc.json';
const path = require('path'),
eslintConfigFilePath = path.join(__dirname, cssConfigFileName);
// For starting the configuration for uxp linter css
function configureCssLinter(param) {
return new Promise(function (resolve, reject) {
if (param === 'remove') {
uninstallCssLinter().then(() => { resolve(true) });
} else {
installCssLinter(eslintConfigFilePath, cssConfigFileName).then(() => { resolve(true) });
}
});
}
function isCssLinterInstalled() {
return new Promise(async function (resolve, reject) {
let configData = utils.readLinterConfig();
resolve(configData['css-linter']);
})
}
async function installCssLinter(eslintConfigPath, cssConfigName) {
await utils.installPackages(cssLinterPackageName, true);
await utils.addConfigFile(eslintConfigPath, cssConfigName, true);
return true;
}
async function uninstallCssLinter() {
if (await isCssLinterInstalled()) {
await utils.uninstallPackages(cssUninstallPackageName);
await utils.removeConfigFile(cssConfigFileName);
}
}
module.exports = { configureCssLinter, isCssLinterInstalled, installCssLinter };