update socials section
This commit is contained in:
		
							
								
								
									
										205
									
								
								node_modules/eslint-config-prettier/bin/cli.js
									
									
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										205
									
								
								node_modules/eslint-config-prettier/bin/cli.js
									
									
									
										generated
									
									
										vendored
									
									
										Executable file
									
								
							| @@ -0,0 +1,205 @@ | ||||
| #!/usr/bin/env node | ||||
|  | ||||
| "use strict"; | ||||
|  | ||||
| const validators = require("./validators"); | ||||
| const config = require(".."); | ||||
| const prettier = require("../prettier"); | ||||
|  | ||||
| // Require locally installed eslint, for `npx eslint-config-prettier` support | ||||
| // with no local eslint-config-prettier installation. | ||||
| const { ESLint } = require(require.resolve("eslint", { | ||||
|   paths: [process.cwd(), ...require.resolve.paths("eslint")], | ||||
| })); | ||||
|  | ||||
| const SPECIAL_RULES_URL = | ||||
|   "https://github.com/prettier/eslint-config-prettier#special-rules"; | ||||
|  | ||||
| const PRETTIER_RULES_URL = | ||||
|   "https://github.com/prettier/eslint-config-prettier#arrow-body-style-and-prefer-arrow-callback"; | ||||
|  | ||||
| if (module === require.main) { | ||||
|   const args = process.argv.slice(2); | ||||
|  | ||||
|   if (args.length === 0) { | ||||
|     console.error(help()); | ||||
|     process.exit(1); | ||||
|   } | ||||
|  | ||||
|   const eslint = new ESLint(); | ||||
|  | ||||
|   Promise.all(args.map((file) => eslint.calculateConfigForFile(file))) | ||||
|     .then((configs) => { | ||||
|       const rules = configs.flatMap(({ rules }, index) => | ||||
|         Object.entries(rules).map((entry) => [...entry, args[index]]) | ||||
|       ); | ||||
|       const result = processRules(rules); | ||||
|       if (result.stderr) { | ||||
|         console.error(result.stderr); | ||||
|       } | ||||
|       if (result.stdout) { | ||||
|         console.error(result.stdout); | ||||
|       } | ||||
|       process.exit(result.code); | ||||
|     }) | ||||
|     .catch((error) => { | ||||
|       console.error(error.message); | ||||
|       process.exit(1); | ||||
|     }); | ||||
| } | ||||
|  | ||||
| function help() { | ||||
|   return ` | ||||
| Usage: npx eslint-config-prettier FILE... | ||||
|  | ||||
| Resolves an ESLint configuration for every given FILE and checks if they | ||||
| contain rules that are unnecessary or conflict with Prettier. Example: | ||||
|  | ||||
|   npx eslint-config-prettier index.js test/index.js other/file/to/check.js | ||||
|  | ||||
| Exit codes: | ||||
|  | ||||
| 0: No automatically detectable problems found. | ||||
| 1: General error. | ||||
| 2: Conflicting rules found. | ||||
|  | ||||
| For more information, see: | ||||
| https://github.com/prettier/eslint-config-prettier#cli-helper-tool | ||||
|   `.trim(); | ||||
| } | ||||
|  | ||||
| function processRules(configRules) { | ||||
|   const regularRules = filterRules(config.rules, (_, value) => value === "off"); | ||||
|   const optionsRules = filterRules( | ||||
|     config.rules, | ||||
|     (ruleName, value) => value === 0 && ruleName in validators | ||||
|   ); | ||||
|   const specialRules = filterRules( | ||||
|     config.rules, | ||||
|     (ruleName, value) => value === 0 && !(ruleName in validators) | ||||
|   ); | ||||
|  | ||||
|   const enabledRules = configRules | ||||
|     .map(([ruleName, value, source]) => { | ||||
|       const arrayValue = Array.isArray(value) ? value : [value]; | ||||
|       const [level, ...options] = arrayValue; | ||||
|       const isOff = level === "off" || level === 0; | ||||
|       return isOff ? null : { ruleName, options, source }; | ||||
|     }) | ||||
|     .filter(Boolean); | ||||
|  | ||||
|   const flaggedRules = enabledRules.filter( | ||||
|     ({ ruleName }) => ruleName in config.rules | ||||
|   ); | ||||
|  | ||||
|   const regularFlaggedRuleNames = filterRuleNames( | ||||
|     flaggedRules, | ||||
|     ({ ruleName }) => ruleName in regularRules | ||||
|   ); | ||||
|   const optionsFlaggedRuleNames = filterRuleNames( | ||||
|     flaggedRules, | ||||
|     ({ ruleName, ...rule }) => | ||||
|       ruleName in optionsRules && !validators[ruleName](rule) | ||||
|   ); | ||||
|   const specialFlaggedRuleNames = filterRuleNames( | ||||
|     flaggedRules, | ||||
|     ({ ruleName }) => ruleName in specialRules | ||||
|   ); | ||||
|   const prettierFlaggedRuleNames = filterRuleNames( | ||||
|     enabledRules, | ||||
|     ({ ruleName, source }) => | ||||
|       ruleName in prettier.rules && | ||||
|       enabledRules.some( | ||||
|         (rule) => | ||||
|           rule.ruleName === "prettier/prettier" && rule.source === source | ||||
|       ) | ||||
|   ); | ||||
|  | ||||
|   const regularMessage = [ | ||||
|     "The following rules are unnecessary or might conflict with Prettier:", | ||||
|     "", | ||||
|     printRuleNames(regularFlaggedRuleNames), | ||||
|   ].join("\n"); | ||||
|  | ||||
|   const optionsMessage = [ | ||||
|     "The following rules are enabled with config that might conflict with Prettier. See:", | ||||
|     SPECIAL_RULES_URL, | ||||
|     "", | ||||
|     printRuleNames(optionsFlaggedRuleNames), | ||||
|   ].join("\n"); | ||||
|  | ||||
|   const specialMessage = [ | ||||
|     "The following rules are enabled but cannot be automatically checked. See:", | ||||
|     SPECIAL_RULES_URL, | ||||
|     "", | ||||
|     printRuleNames(specialFlaggedRuleNames), | ||||
|   ].join("\n"); | ||||
|  | ||||
|   const prettierMessage = [ | ||||
|     "The following rules can cause issues when using eslint-plugin-prettier at the same time.", | ||||
|     "Only enable them if you know what you are doing! See:", | ||||
|     PRETTIER_RULES_URL, | ||||
|     "", | ||||
|     printRuleNames(prettierFlaggedRuleNames), | ||||
|   ].join("\n"); | ||||
|  | ||||
|   if ( | ||||
|     regularFlaggedRuleNames.length === 0 && | ||||
|     optionsFlaggedRuleNames.length === 0 | ||||
|   ) { | ||||
|     const message = | ||||
|       specialFlaggedRuleNames.length === 0 && | ||||
|       prettierFlaggedRuleNames.length === 0 | ||||
|         ? "No rules that are unnecessary or conflict with Prettier were found." | ||||
|         : [ | ||||
|             specialFlaggedRuleNames.length === 0 ? null : specialMessage, | ||||
|             prettierFlaggedRuleNames.length === 0 ? null : prettierMessage, | ||||
|             "Other than that, no rules that are unnecessary or conflict with Prettier were found.", | ||||
|           ] | ||||
|             .filter(Boolean) | ||||
|             .join("\n\n"); | ||||
|  | ||||
|     return { | ||||
|       stdout: message, | ||||
|       code: 0, | ||||
|     }; | ||||
|   } | ||||
|  | ||||
|   const message = [ | ||||
|     regularFlaggedRuleNames.length === 0 ? null : regularMessage, | ||||
|     optionsFlaggedRuleNames.length === 0 ? null : optionsMessage, | ||||
|     specialFlaggedRuleNames.length === 0 ? null : specialMessage, | ||||
|     prettierFlaggedRuleNames.length === 0 ? null : prettierMessage, | ||||
|   ] | ||||
|     .filter(Boolean) | ||||
|     .join("\n\n"); | ||||
|  | ||||
|   return { | ||||
|     stdout: message, | ||||
|     code: 2, | ||||
|   }; | ||||
| } | ||||
|  | ||||
| function filterRules(rules, fn) { | ||||
|   return Object.fromEntries( | ||||
|     Object.entries(rules) | ||||
|       .filter(([ruleName, value]) => fn(ruleName, value)) | ||||
|       .map(([ruleName]) => [ruleName, true]) | ||||
|   ); | ||||
| } | ||||
|  | ||||
| function filterRuleNames(rules, fn) { | ||||
|   return [ | ||||
|     ...new Set(rules.filter((rule) => fn(rule)).map((rule) => rule.ruleName)), | ||||
|   ]; | ||||
| } | ||||
|  | ||||
| function printRuleNames(ruleNames) { | ||||
|   return ruleNames | ||||
|     .slice() | ||||
|     .sort() | ||||
|     .map((ruleName) => `- ${ruleName}`) | ||||
|     .join("\n"); | ||||
| } | ||||
|  | ||||
| exports.processRules = processRules; | ||||
							
								
								
									
										63
									
								
								node_modules/eslint-config-prettier/bin/validators.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								node_modules/eslint-config-prettier/bin/validators.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| "use strict"; | ||||
|  | ||||
| // These validator functions answer the question “Is the config valid?” – return | ||||
| // `false` if the options DO conflict with Prettier, and `true` if they don’t. | ||||
|  | ||||
| module.exports = { | ||||
|   "curly"({ options }) { | ||||
|     if (options.length === 0) { | ||||
|       return true; | ||||
|     } | ||||
|  | ||||
|     const firstOption = options[0]; | ||||
|     return firstOption !== "multi-line" && firstOption !== "multi-or-nest"; | ||||
|   }, | ||||
|  | ||||
|   "lines-around-comment"({ options }) { | ||||
|     if (options.length === 0) { | ||||
|       return false; | ||||
|     } | ||||
|  | ||||
|     const firstOption = options[0]; | ||||
|     return Boolean( | ||||
|       firstOption && | ||||
|         firstOption.allowBlockStart && | ||||
|         firstOption.allowBlockEnd && | ||||
|         firstOption.allowObjectStart && | ||||
|         firstOption.allowObjectEnd && | ||||
|         firstOption.allowArrayStart && | ||||
|         firstOption.allowArrayEnd | ||||
|     ); | ||||
|   }, | ||||
|  | ||||
|   "no-confusing-arrow"({ options }) { | ||||
|     if (options.length === 0) { | ||||
|       return false; | ||||
|     } | ||||
|  | ||||
|     const firstOption = options[0]; | ||||
|     return firstOption ? firstOption.allowParens === false : false; | ||||
|   }, | ||||
|  | ||||
|   "no-tabs"({ options }) { | ||||
|     if (options.length === 0) { | ||||
|       return false; | ||||
|     } | ||||
|  | ||||
|     const firstOption = options[0]; | ||||
|     return Boolean(firstOption && firstOption.allowIndentationTabs); | ||||
|   }, | ||||
|  | ||||
|   "vue/html-self-closing"({ options }) { | ||||
|     if (options.length === 0) { | ||||
|       return false; | ||||
|     } | ||||
|  | ||||
|     const firstOption = options[0]; | ||||
|     return Boolean( | ||||
|       firstOption && firstOption.html && firstOption.html.void === "any" | ||||
|       // Enable when Prettier supports SVG: https://github.com/prettier/prettier/issues/5322 | ||||
|       // && firstOption.svg === "any" | ||||
|     ); | ||||
|   }, | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user