1.0.0 • Published 22 days ago

@ptkhanh94npm/fugiat-architecto-error v1.0.0

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

NPM Version GitHub Actions status Coverage Status NPM Downloads

@ptkhanh94npm/fugiat-architecto-error

ESLint rules for mocha.

Install and configure

This plugin requires ESLint 4.0.0 or later.

npm install --save-dev @ptkhanh94npm/fugiat-architecto-error

.eslintrc.json

Then add a reference to this plugin and selected rules in your eslint config:

{
    "plugins": [
        "mocha"
    ]
}

eslint.config.js (requires eslint >= 8.23.0)

To use this plugin with the new eslint configuration format (flat config):

import mochaPlugin from '@ptkhanh94npm/fugiat-architecto-error';

export default [
    mochaPlugin.configs.flat.recommended // or `mochaPlugin.configs.flat.all` to enable all
    // ... Your configurations here
];

Plugin Settings

This plugin supports the following settings, which are used by multiple rules:

  • additionalCustomNames: This allows rules to check additional function names when looking for suites or test cases. This might be used with a custom Mocha extension, such as ember-mocha or mocha-each.

    Example:

    {
        "rules": {
            "mocha/no-skipped-tests": "error",
            "mocha/no-exclusive-tests": "error"
        },
        "settings": {
            "mocha/additionalCustomNames": [
                { "name": "describeModule", "type": "suite", "interfaces": [ "BDD" ] },
                { "name": "testModule", "type": "testCase", "interfaces": [ "TDD" ] }
            ]
        }
    }

    The name property can be in any of the following forms:

    • A plain name e.g. describeModule, which allows:

      describeModule("example", function() { ... });
    • A dotted name, e.g. describe.modifier, which allows:

      describe.modifier("example", function() { ... });
    • A name with parentheses, e.g. forEach().describe, which allows:

      forEach([ 1, 2, 3 ])
          .describe("example", function(n) { ... });
    • Any combination of the above, e.g. forEach().describeModule.modifier, which allows:

      forEach([ 1, 2, 3 ])
          .describeModule.modifier("example", function(n) { ... });

Configs

recommended

This plugin exports a recommended config that enforces good practices.

Enable it with the extends option:

{
    "extends": [
        "plugin:mocha/recommended"
    ]
}

all

There's also a configuration that enables all of our rules.

See Configuring Eslint on eslint.org for more info.

Rules

💼 Configurations enabled in.\ ⚠️ Configurations set to warn in.\ 🚫 Configurations disabled in.\ ✅ Set in the recommended configuration.\ 🔧 Automatically fixable by the --fix CLI option.

Name                             Description💼⚠️🚫🔧
consistent-spacing-between-blocksRequire consistent spacing between blocks🔧
handle-done-callbackEnforces handling of callbacks for async tests
max-top-level-suitesEnforce the number of top-level suites in a single file
no-async-describeDisallow async functions passed to describe🔧
no-empty-descriptionDisallow empty test descriptions
no-exclusive-testsDisallow exclusive tests
no-exportsDisallow exports from test files
no-global-testsDisallow global tests
no-hooksDisallow hooks
no-hooks-for-single-caseDisallow hooks for a single test or test suite
no-identical-titleDisallow identical titles
no-mocha-arrowsDisallow arrow functions as arguments to mocha functions🔧
no-nested-testsDisallow tests to be nested within other tests
no-pending-testsDisallow pending tests
no-return-and-callbackDisallow returning in a test or hook function that uses a callback
no-return-from-asyncDisallow returning from an async test or hook
no-setup-in-describeDisallow setup in describe blocks
no-sibling-hooksDisallow duplicate uses of a hook at the same level inside a describe
no-skipped-testsDisallow skipped tests
no-synchronous-testsDisallow synchronous tests
no-top-level-hooksDisallow top-level hooks
prefer-arrow-callbackRequire using arrow functions for callbacks🔧
valid-suite-descriptionRequire suite descriptions to match a pre-configured regular expression
valid-test-descriptionRequire test descriptions to match a pre-configured regular expression
schemaelectronreadableObject.valuesES8bootstrap lessES5Object.assignlinuxrestfulcss variablefilterparentssignalstrimStartintrinsichooksfseventsreduxArray.prototype.findLastsymbolsArray.prototype.filterfolderpropertiesECMAScript 2021i18nmkdirpworkerlintidprototyperedactcomputed-typesInt32Arraypicomatchlookes2015guidCSSpackagesUint8ClampedArraydropdefinethroatbyteOffsetfpsmakeObject.fromEntriesescapematchAllWebSocketurlcjkclassnamecollection.es6tsgetterremoveES6descriptionpyyamllast-0accessibilityjavascriptStreaml10ntrimEndpasswordrequireinputponyfilllook-uptoolkitkeydescriptors__proto__avaarktypearraynpmconfigshamsignalsafedayjsbatchTypeBoxinterruptsxhrreuseECMAScript 2023resolveirqshrinkwrapterminalsetImmediatetostringtageveryworkspace:*telephonemruES2022callnamestructuredCloneexecreact-hooksfastifyutil.inspect_.extendES2018assertarraysmulti-package[[Prototype]]argparsereactartasciiECMAScript 2016exit-codeisargvdeterministicmiddlewareiamtc39Uint32ArrayinES2016whichvestagentuninstalllessstylesheetimmutabledatanamesgradients cssvalidtypedarraysfigletES2017RFC-6455tddes2016extensionlengthprunetyped arraycommandhttpspropertygradients css3stringifybundlingwaityupconfigurablelrucodesutilitiespnpm9fastcloneeslinteventDispatcherupawesomesaucescheme-validationoptimisthookformMicrosoftvalidatefindLastIndexESMapbundlerclientjsdomdeepclonephonekeysglobmkdirenumerablelanguageonceSymbol.toStringTagenvironmentdirectoryeslintconfigmovejQueryquerystringURLpluginreduceserializeassertionerror-handlingzeroclassnamesObject.definePropertytesterjoiinspectcall-boundargsgetOwnPropertyDescriptormatchmimeserializerhotECMAScript 5findmodule256debuggerjsximmerjshintenderPromiseidentifiersInt8Arrayec2graphqlbddwebbytebrowserslistclassesmoment0Reflect.getPrototypeOfcore-jsArraypatchemrinferencelibphonenumberECMAScript 2018persistentbcryptpushstyled-componentsdirdataViewconcatMapRegExp#flagsrecursivecssObjectsliceimportexporthasArrayBuffercallbackHyBijsdiffrfc4122idlecloudtrailprocessmatchesrobustencryptionregular expressionsspeedoffsetpackageArray.prototype.flatMaprgbsiginteventEmitteressidestreamgdprformattingcachelimitedcallboundECMAScript 2022sortedcurltrimRightawspromisesrm -frpositiveequalstyleguideeast-asian-widthcircularframeworkvpccloudfrontjsonpathtakefull-widthArray.prototype.containspipeshimtslibdiffconcatRxcontainsieobjectpolyfillcorewindowsprogressSymboliterationIteratorspinnerprettylinewraprm -rfshellindicatorimportrouterforEachfast-deep-copylinktesttypedarrayInt16Arrayfast-copyliveObject.getPrototypeOfmkdirsexittouchqueuereadmonorepoinvariantES2019flatsnsstreams2httpwatchFiletermemitArray.prototype.flates6flagsiteratorvariablesreact-testing-librarysyntaxerrorsesrmcolourcloudformationreadablestreamsigtermstyleECMAScript 2019es2017channelstdliba11yless mixinsutilexpressiondataviewsqsinstalliteratesymbolweaksetfunctionsUint8Arraywritablegenericscommand-linepostcss-pluginstartervaluetypesestreecallbindruntimeerrorkinesispackage managerastglobaltestingwalking@@toStringTaggetintrinsicArrayBuffer#slicecss lessfind-upargumentprotocompilerpreprocessorRegExp.prototype.flagschaioperating-systemrdschromefastcopywatcherfluxarraybufferfile systemfast-deep-cloneloadingwordbreakUnderscoresharedarraybufferglaciersetterES7eventsjapaneserateviewbuffersconnectspinnerssomequerymime-dbcolorsvarsregular expressionFloat32Arrays3internal slotcryptoopennodeawaitregexpsequenceflagAsyncIteratornumberwriteperformanceqsfindLastfindupsharedstreamssymlinksshebangdebugform-validationdeepcopybannerreducerequalityArrayBuffer.prototype.slicecorsECMAScript 3toolscharacterscompile lesschromiumxtermloggingtypescriptdom-testing-librarywatchingstringifierjestrangeerrortaskhashweakmapreal-timelazyhigher-orderparsefunctionalwhatwgdynamodbsyntaxArray.prototype.flattenunicodeasyncfunctionsuperagentcloudwatchenvWeakMapReactiveExtensionsUint16Arraynested csstypeofmapFunction.prototype.namebrowseraccessorfromdefinePropertygroupByreact-hook-formredux-toolkitcloneparentajvecmascripttimeregularprivate datawidthwarningchecklesscsstypanionquoteESnextwgetobjchinesetapbreakio-tsauthtoobjectboundtoArrayqueueMicrotaskformsprotobufprefixString.prototype.matchAllECMAScript 2020es-shimsdeep-copystablegroupgetPrototypeOfcode pointsdependenciesinternalReactiveXglobalsObservableses-abstractECMAScript 6proptrimomitbeanstalk$.extendthrottleloadbalancinghardlinksparserflatMapes7concurrencymochaassignsymlinkownswfcreatecoerciblerandomtext.envauthenticationstoragegatewayless csscopyBigUint64Arraycensorentriescss-in-jsjwtless compilerapolloprivateYAMLuuidRxJSansiworkflowcryptPushdescriptorserializationamazoncollectionformtrimLeftjsBigInt64ArrayECMAScript 7yamlless.jssuperstructbufferstringzodefficientflattenstatushandlersreplaytraverseeslint-pluginschemedeependpointajaxlistenerssinatradeep-clonenegativejasminemacoscommanderES3expressSetES2020postcssdeleteenvironmentswalksameValueZeroArray.prototype.findLastIndexbyteLengthsearchkarmanodejsconsumestateincludesutilitymimetypessimpledbairbnbratelimitelasticacheES2021getoptTypedArraydateproxyspecwaffsprotocol-buffersCSSStyleDeclarationnopeObject.keysebsvaluesECMAScript 2017loggerWebSocketssortes5assertsmodulesoutputcharacterECMAScript 2015eslintpluginjsonsetPrototypeOftoSortedfetchcliwordwrapES2015StyleSheetparsingcall-bindpackage.jsonfullwidthelmminimalconsolemake dires2018lockfilevariables in csshas-ownURLSearchParamstypesafevalidationfileroute53optiondotenvcolumnsFloat64Arrayfullduplexbluebirdpathfastcolorpreserve-symlinkswraprequest
1.0.0

22 days ago