🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

@defi-wonderland/natspec-smells

Package Overview
Dependencies
Maintainers
6
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@defi-wonderland/natspec-smells

Automatically identify missing or incomplete natspec

latest
Source
npmnpm
Version
1.1.6
Version published
Weekly downloads
422
-21.71%
Maintainers
6
Weekly downloads
 
Created
Source

Version License: MIT

Natspec Smells

Just like code, documentation can smell too. Natspec Smells aims to help automatically identify missing or incomplete natspec.

What can it do?

  • Verifies natspec for: constructors, variables, functions, structs, errors, events, modifiers
  • Finds misspelled or missing @param or @return's.
  • Lets you enforce the need for @inheritdoc in public/external functions.
  • Can integrate on your daily workflow, or just as a final check.

No setup usage

Want to quickly check if your natspec smells?

Just run:

npx @defi-wonderland/natspec-smells --include "src/**/*.sol"

[!NOTE] Remember to put quotes around the glob strings when using the include and exclude options.

  • Install the package:

    yarn add --dev @defi-wonderland/natspec-smells
    
  • Create a config file named natspec-smells.config.js, you can use the following as an example:

    /**
     * List of supported options: https://github.com/defi-wonderland/natspec-smells?tab=readme-ov-file#options
     */
    
    /** @type {import('@defi-wonderland/natspec-smells').Config} */
    module.exports = {
      include: 'src/**/*.sol',
      exclude: '(test|scripts)/**/*.sol',
    };
    
  • Run

    yarn natspec-smells
    

Verify your natspec in CI

With the setup defined above, it's possible to invoke the executable from within a github workflow, as long as node.js is available in that environment:

    steps:
      - uses: actions/checkout@v3

      - name: Use Node.js
        uses: actions/setup-node@v3

      - name: Check natspec
        run: yarn natspec-smells

Options

OptionDescriptionRequiredDefault
includeGlob pattern of files to process.Yes
excludeGlob pattern of files to exclude.No""
rootProject root directory.No./
enforceInheritdocTrue if all external and public functions should have @inheritdoc.Notrue
constructorNatspecTrue if the constructor should have natspec.Nofalse

Contributors

Natspec Smells was built with ❤️ by Wonderland.

Wonderland the largest core development group in web3. Our commitment is to a financial future that's open, decentralized, and accessible to all.

DeFi sucks, but Wonderland is here to make it better.

FAQs

Package last updated on 28 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts