1.0.0 • Published 26 days ago

@zibuthe7j11/quo-facilis-commodi v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
26 days ago

@zibuthe7j11/quo-facilis-commodi

A plugin for ESLint that allows you to use project-specific rules, similar to the deprecated --rulesdir command line option (more).

Install

npm install @zibuthe7j11/quo-facilis-commodi

./eslint-local-rules.js (or ./eslint-local-rules/index.js)

'use strict';

module.exports = {
  'disallow-identifiers': {
    meta: {
      docs: {
        description: 'disallow identifiers',
        category: 'Possible Errors',
      },
      schema: [],
    },
    create: function (context) {
      return {
        Identifier: function (node) {
          context.report({
            node: node,
            message: 'Identifiers not allowed for Super Important reasons.',
          });
        },
      };
    },
  },
};

./.eslintrc

{
  "plugins": ["@zibuthe7j11/quo-facilis-commodi"],

  "rules": {
    "local-rules/disallow-identifiers": "error"
  }
}

Usage (TypeScript)

npm install ts-node @types/eslint

You'll also need an eslint config like the .eslintrc above (more info).

./eslint-local-rules/index.js

require("ts-node").register({
  transpileOnly: true,
  compilerOptions: {
    module: "commonjs",
  },
});

module.exports = require("./rules").default;

./eslint-local-rules/rules.ts

import type { Rule } from "eslint";

export default {
  "disallow-identifiers": {
    meta: {
      docs: {
        description: 'disallow identifiers',
        category: 'Possible Errors',
      },
      schema: [],
    },
    create: function (context) {
      return {
        Identifier: function (node) {
          context.report({
            node: node,
            message: 'Identifiers not allowed for Super Important reasons.',
          });
        },
      };
    },
  },
} satisfies Record<string, Rule.RuleModule>;

npm/yarn/pnpm workspaces support

This plugin supports npm/yarn/pnpm workspaces, although note that if the eslint-local-rules.js file is in the workspace subdirectory, running from the project root is unsupported.

For example, if there's an eslint-local-rules.js and index.js in ./src/app:

Wrong: npx eslint src/app/index.js

Right: (cd src/app; npx eslint index.js)

Also note that if there is an eslint-local-rules.js file in both the workspace subdirectory and project root, the workspace one takes precedence (assuming you're running eslint from the workspace directory, as above).

Alternatives

Context for this plugin

License

MIT

enumerablesymlinkjapaneseObservablesES7bluebirdtypeofECMAScript 2017point-freebundlingequalgloblastextendtoolstsfast-cloneWeakSettranspiler6to5signalsArrayBuffer.prototype.slicehasOwnrequestjson-schema-validatorgdprflagsunicodeUint8Arraychaiexecutablecommandertc39HyBiwatcherletwatchFilethreeopensrequirepyyamlfullconstfind-updotenvES2022class-validatorsortedECMAScript 2019ObjectStyleSheetdefinePropertytypedarraysformsCSShooksfast-deep-copyconcatMapescapereadableES8streamstimeES2023sharedjasminetakecall-bindsequenceES2021performancesearchSymbol.toStringTagguidbusyhasoptimistwalkdeep-copypureflattendescriptioncharacterwatchingreal-timemkdirsyntaxerrorcallbacksanitizegradients css3validatorwatchregularphoneoutputcachesafehttpsauthes2017fixed-widthendercolorreact poseless mixinsrapidcss lessislaunchqsbytelimittrimStreamsflagexeckarmaflatregular expressionwritedescriptorsjsonpathquerystringes-abstractTypedArrayECMAScript 2020user-streamsRxpushArray.prototype.includesassignscheme-validationmimewhatwgratelimitmimetypesES3toSortedmomentreact-testing-libraryarraybufferuuidtostringtagkoreanfunctionaleveryapiArrayBuffer#slicefastclonelinuximmermatcheschromeRxJSresolveartemojicolorszodpluginschemaparentsECMAScript 2015Streamiterationoperating-systemesshamECMAScript 3traverseimmutablewritablereact-hooksgetintrinsicextensionweakmaptouchstreams2folderapollo@@toStringTagfastcopytapecmascripthelperscompare[[Prototype]]mruthroatECMAScript 2023exitio-tsfilterinspectArray.prototype.filterArrayajaxObject.keysopenerrorrmprefixyamlargparsepromisetty.envstringqueueBigUint64Arrayfast-deep-cloneECMAScript 5redux-toolkitlinewrapECMAScript 2018WebSocketnested cssInt8ArrayaccessorECMAScript 2022YAMLserializerstarterUint16Arrayreuseprivate datawaitinternal slotcensor_.extendpnpm9sharedarraybufferArray.prototype.flatSetkeyscommand-lineurlssetImmediategroupindicatorrecursivesymbolsObject.assignpackage managerhigher-ordermkdirstypesafe256consoletoStringTagcall-boundgetes2016npmgetOwnPropertyDescriptorcodesconsumextermlockfilenopefullwidthmiddlewareparseRFC-6455irqfigletrfc4122metadatacontainsfpstylesbundlerprivatearrayassertes-shim APIasyncoptimizerreducerjwtexebyteOffsetoptionURLrmdironcees-shimschinesebrowserlistcommandES2016xssworkerfindLastIndexpreserve-symlinkssanitizationtddTypeScriptwaapisetforEachloggingnegative zeroinvariantnumberES2018concatasciipropdeepclonejsfseventsprototypeargseslintconfigenvsyntaxstructuredCloneefficientspawnECMAScript 7ECMAScript 2016jsdomuptoolkitstyleguidecoercibleestreecallpackagesrobusttesterframertrimStartisConcatSpreadabledataViewbrowserweakseteslintdateslotwgettypeerrornameslook-upES6listenersconcurrencyArray.prototype.flattenclassesWeakMapgesturesparentshebanginstallerURLSearchParamsparserloadingjestappmacosdeepcopyjson-schema-validationrgbFunction.prototype.namedescriptoreast-asian-widthencryptioncolumninferencesortvariablespropertywebjQuerydraglintwidthajvtextcjkES2020ES2015eslint-pluginbcryptES2017interruptsrangeerror-0jsxredactbddomitESnextutilsmonorepowordwrapMapiemodulemkdirpidgetPrototypeOflazyintrinsicharmonycomputed-typescss variablejoiregexpanimationdirarktypeprotobufstart3dPushfindLastbyteLengthregexvalidationerror-handlingdeepastRegExp.prototype.flagsObject.fromEntriesauthenticationpersistentInt32ArrayvalidateaccessibilitycallbindexpressionbatchcreateremovebabelJSONstyled-componentsUint32ArraycopyArray.prototype.containsserializesomeutilityreadablestreamdependency managerframeworktranspileprotocol-buffersbreaklesscssmobilepackage.jsonvalidRegExp#flagsfast-copyreadgenericsvaluesvisualbootstrap lessuninstallstringifyeventsmulti-packageiteratespringmergerateArray.prototype.findLastJSON-SchemafileECMAScript 2021core-jstypescriptnativemocha$.extendutilchromiumeventEmittercircularString.prototype.trimconfigurableserializationreducezerostableclientvariables in cssdefaultes6es2015spinnerdatareact-hook-formPromisetrimEndbindexpressstyleincludestaskes2018collection.es6CSSStyleDeclarationpruneregular expressionsArray.prototype.flatMapairbnbtrimRightInt16Arrayes70bufferless cssquerydataviewsuperstructargumentrandomdebugfile systemenvironmentObject.entriesprocessless.jscompilerfindcompile lessponyfillobjectstringifierreactwindowsbrowserslistxhrextragradients cssFloat64ArrayemitconfigpolyfillformattingschemetypanionnameviewwrapcryptotypesideautoprefixertypedArray.prototype.findLastIndexdayjsshrinkwrapsignalspecdebuggerruntimesetPrototypeOfduplexansigetoptcryptcurriedES2019String.prototype.matchAllmatchAllReactiveExtensionsrm -rfdeterministicentriesquotetoobject__proto__terminalelectrontypes
1.0.0

26 days ago