Brunobkr/llama.cpp_AlgMor24_github
ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.
03.1k
1#!/usr/bin/env node2 3"use strict";4 5const validators = require("./validators");6const config = require("..");7const prettier = require("../prettier");8 9// Require locally installed eslint, for `npx eslint-config-prettier` support10// with no local eslint-config-prettier installation.11const localRequire = (request) =>12 require(13 require.resolve(request, {14 paths: [process.cwd(), ...require.resolve.paths("eslint")],15 })16 );17 18let experimentalApi = {};19try {20 experimentalApi = localRequire("eslint/use-at-your-own-risk");21} catch (_error) {}22 23const { ESLint, FlatESLint = experimentalApi.FlatESLint } =24 localRequire("eslint");25 26const SPECIAL_RULES_URL =27 "https://github.com/prettier/eslint-config-prettier#special-rules";28 29const PRETTIER_RULES_URL =30 "https://github.com/prettier/eslint-config-prettier#arrow-body-style-and-prefer-arrow-callback";31 32if (module === require.main) {33 const args = process.argv.slice(2);34 35 if (args.length === 0) {36 console.error(help());37 process.exit(1);38 }39 40 const eslint = new ESLint();41 const flatESLint = FlatESLint === undefined ? undefined : new FlatESLint();42 43 Promise.all(44 args.map((file) => {45 switch (process.env.ESLINT_USE_FLAT_CONFIG) {46 case "true": {47 return flatESLint.calculateConfigForFile(file);48 }49 case "false": {50 return eslint.calculateConfigForFile(file);51 }52 default: {53 // This turns synchronous errors (such as `.calculateConfigForFile` not existing)54 // and turns them into promise rejections.55 return Promise.resolve()56 .then(() => flatESLint.calculateConfigForFile(file))57 .catch(() => eslint.calculateConfigForFile(file));58 }59 }60 })61 )62 .then((configs) => {63 const rules = configs.flatMap(64 (65 // Initializing config and rules for files that aren't included in the flat config,66 // which is a very unlikely scenario, but should still be treated as a success67 { rules = {} } = {},68 index69 ) => Object.entries(rules).map((entry) => [...entry, args[index]])70 );71 const result = processRules(rules);72 if (result.stderr) {73 console.error(result.stderr);74 }75 if (result.stdout) {76 console.error(result.stdout);77 }78 process.exit(result.code);79 })80 .catch((error) => {81 console.error(error.message);82 process.exit(1);83 });84}85 86function help() {87 return `88Usage: npx eslint-config-prettier FILE...89 90Resolves an ESLint configuration for every given FILE and checks if they91contain rules that are unnecessary or conflict with Prettier. Example:92 93 npx eslint-config-prettier index.js test/index.js other/file/to/check.js94 95Exit codes:96 970: No automatically detectable problems found.981: General error.992: Conflicting rules found.100 101For more information, see:102https://github.com/prettier/eslint-config-prettier#cli-helper-tool103 `.trim();104}105 106function processRules(configRules) {107 const regularRules = filterRules(config.rules, (_, value) => value === "off");108 const optionsRules = filterRules(109 config.rules,110 (ruleName, value) => value === 0 && ruleName in validators111 );112 const specialRules = filterRules(113 config.rules,114 (ruleName, value) => value === 0 && !(ruleName in validators)115 );116 117 const enabledRules = configRules118 .map(([ruleName, value, source]) => {119 const arrayValue = Array.isArray(value) ? value : [value];120 const [level, ...options] = arrayValue;121 const isOff = level === "off" || level === 0;122 return isOff ? null : { ruleName, options, source };123 })124 .filter(Boolean);125 126 const flaggedRules = enabledRules.filter(127 ({ ruleName }) => ruleName in config.rules128 );129 130 const regularFlaggedRuleNames = filterRuleNames(131 flaggedRules,132 ({ ruleName }) => ruleName in regularRules133 );134 const optionsFlaggedRuleNames = filterRuleNames(135 flaggedRules,136 ({ ruleName, ...rule }) =>137 ruleName in optionsRules && !validators[ruleName](rule)138 );139 const specialFlaggedRuleNames = filterRuleNames(140 flaggedRules,141 ({ ruleName }) => ruleName in specialRules142 );143 const prettierFlaggedRuleNames = filterRuleNames(144 enabledRules,145 ({ ruleName, source }) =>146 ruleName in prettier.rules &&147 enabledRules.some(148 (rule) =>149 rule.ruleName === "prettier/prettier" && rule.source === source150 )151 );152 153 const regularMessage = [154 "The following rules are unnecessary or might conflict with Prettier:",155 "",156 printRuleNames(regularFlaggedRuleNames),157 ].join("\n");158 159 const optionsMessage = [160 "The following rules are enabled with config that might conflict with Prettier. See:",161 SPECIAL_RULES_URL,162 "",163 printRuleNames(optionsFlaggedRuleNames),164 ].join("\n");165 166 const specialMessage = [167 "The following rules are enabled but cannot be automatically checked. See:",168 SPECIAL_RULES_URL,169 "",170 printRuleNames(specialFlaggedRuleNames),171 ].join("\n");172 173 const prettierMessage = [174 "The following rules can cause issues when using eslint-plugin-prettier at the same time.",175 "Only enable them if you know what you are doing! See:",176 PRETTIER_RULES_URL,177 "",178 printRuleNames(prettierFlaggedRuleNames),179 ].join("\n");180 181 if (182 regularFlaggedRuleNames.length === 0 &&183 optionsFlaggedRuleNames.length === 0184 ) {185 const message =186 specialFlaggedRuleNames.length === 0 &&187 prettierFlaggedRuleNames.length === 0188 ? "No rules that are unnecessary or conflict with Prettier were found."189 : [190 specialFlaggedRuleNames.length === 0 ? null : specialMessage,191 prettierFlaggedRuleNames.length === 0 ? null : prettierMessage,192 "Other than that, no rules that are unnecessary or conflict with Prettier were found.",193 ]194 .filter(Boolean)195 .join("\n\n");196 197 return {198 stdout: message,199 code: 0,200 };201 }202 203 const message = [204 regularFlaggedRuleNames.length === 0 ? null : regularMessage,205 optionsFlaggedRuleNames.length === 0 ? null : optionsMessage,206 specialFlaggedRuleNames.length === 0 ? null : specialMessage,207 prettierFlaggedRuleNames.length === 0 ? null : prettierMessage,208 ]209 .filter(Boolean)210 .join("\n\n");211 212 return {213 stdout: message,214 code: 2,215 };216}217 218function filterRules(rules, fn) {219 return Object.fromEntries(220 Object.entries(rules)221 .filter(([ruleName, value]) => fn(ruleName, value))222 .map(([ruleName]) => [ruleName, true])223 );224}225 226function filterRuleNames(rules, fn) {227 return [228 ...new Set(rules.filter((rule) => fn(rule)).map((rule) => rule.ruleName)),229 ];230}231 232function printRuleNames(ruleNames) {233 return ruleNames234 .slice()235 .sort()236 .map((ruleName) => `- ${ruleName}`)237 .join("\n");238}239 240exports.processRules = processRules;241 