npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

eslint-plugin-hackmud2

v0.3.1

Published

Linting rules for hackmud player-scripts

Downloads

121

Readme

eslint-plugin-hackmud2

npm license npm

Linting rules for hackmud scripts.

Features

  • Permits and validates code enclosure in single top-level anonymous function
  • Permits subscript syntax #fs.user.script(), #f4.user.script()
  • Limited validation of subscript syntax
  • Permits #db calls
  • Defines hackmud globals _START, _TIMEOUT, _ST, _TO, _END
  • Permits #D, #G, and #FMCL preprocessor directives

This plugin is somewhat hackish, at the moment - the largest caveat is that linted scripts should not contain $S_, $DB_, $G, $D, or $FMCL.

Installation

Install the ESLint linter and eslint-plugin-hackmud2, either locally (in the directory containing your scripts, or an ancestor of it) or globally - if you don't know the difference I recommend the latter:

$ npm install --global eslint eslint-plugin-hackmud2

Usage

To activate eslint-plugin-hackmud2, create a .eslintrc.json configuration file in the root work directories containing the script sources which you'd like to lint (or configure your linter/editor's linter plugin to use the configuration file in the location of your choice).

Add hackmud2 to the plugins section of your .eslintrc.json configuration file, and "plugin:hackmud2/recommended" as the base configuration:

{
  "plugins": [
    "hackmud2"
  ],
  "extends": "plugin:hackmud2/recommended"
}

If your scripts reside in the standard hackmud/{user}/scripts directories, most ESLint consumers should pick up on a single configuration file in the common hackmud directory.

Command line usage

$ eslint myscript.js

IDE Support

Many popular editors and IDEs support ESLint integration to provide visual indicators for validation rules. Try searching for how to enable ESLint support for your editor if it is not listed below.

Atom

Install the Linter and linter-eslint packages:

$ apm install linter
$ apm install linter-eslint

If you installed eslint/eslint-plugin-hackmud2 globally, check the "Use global ESLint installation" option in Settings > Packages > linter-eslint > Settings.

Visual Studio Code

Enable ESLint linting in your Workspace's settings - I also recommend disabling VSCode's TypeScript validation engine to suppress extraneous warnings. If it doesn't exist already, create a .vscode directory in your workspace root containing a settings.json file. Add the following lines:

{
    "javascript.validate.enable": false,
    "eslint.enable": true
}

Supported Rules

TODO