UNPKG

eslint-plugin-green

Version:

ESLint plugin for evaluating and promoting green coding practices

74 lines (73 loc) 2.9 kB
"use strict"; // Performance rules const noInefficientLoops = require("./rules/performance/noInefficientLoops"); const preferArrayMethods = require("./rules/performance/preferArrayMethods"); // DOM rules const optimizeDomOperations = require("./rules/dom/optimizeDomOperations"); // Memory rules const avoidMemoryLeaks = require("./rules/memory/avoidMemoryLeaks"); // CSS rules const optimizeCssSelectors = require("./rules/css/optimizeCssSelectors"); // Network rules const optimizeNetworkRequests = require("./rules/network/optimizeNetworkRequests"); // Media rules const optimizeImageLoading = require("./rules/media/optimizeImageLoading"); // Performance rules const optimizeAnimations = require("./rules/performance/optimizeAnimations"); const optimizeDataStructures = require("./rules/performance/optimizeDataStructures"); // Green score reporter const green_score_1 = require("./reporters/green-score"); const plugin = { rules: { // Performance 'no-inefficient-loops': noInefficientLoops, 'prefer-array-methods': preferArrayMethods, // DOM 'optimize-dom-operations': optimizeDomOperations, // Memory 'avoid-memory-leaks': avoidMemoryLeaks, // CSS 'optimize-css-selectors': optimizeCssSelectors, // Network 'optimize-network-requests': optimizeNetworkRequests, // Media 'optimize-image-loading': optimizeImageLoading, // Performance 'optimize-animations': optimizeAnimations, 'optimize-data-structures': optimizeDataStructures }, configs: { recommended: { plugins: ['green'], rules: { 'green/no-inefficient-loops': 'warn', 'green/prefer-array-methods': 'warn', 'green/optimize-dom-operations': 'warn', 'green/avoid-memory-leaks': 'warn', 'green/optimize-css-selectors': 'warn', 'green/optimize-network-requests': 'warn', 'green/optimize-image-loading': 'warn', 'green/optimize-animations': 'warn', 'green/optimize-data-structures': 'warn' } }, strict: { plugins: ['green'], rules: { 'green/no-inefficient-loops': 'error', 'green/prefer-array-methods': 'error', 'green/optimize-dom-operations': 'error', 'green/avoid-memory-leaks': 'error', 'green/optimize-css-selectors': 'error', 'green/optimize-network-requests': 'error', 'green/optimize-image-loading': 'error', 'green/optimize-animations': 'error', 'green/optimize-data-structures': 'error' } } }, reporters: { 'green-score': green_score_1.greenScoreReporter } }; module.exports = plugin;