open-index/open-npm huggingface dataset:
npm package: @mscharley/api-documenter-hugo
Description: This project is a fork of `@microsoft/api-documenter` that adds support for generating Markdown in a format more useful when used with the Hugo static site generator.
Author: Matthew Scharley
Latest version: 1.0.6

# api-documenter-hugo

This project is a fork of `@microsoft/api-documenter` that adds support for generating Markdown in a format more useful when used with the Hugo static site generator.

## Installation

```shell
npm i --save-dev @mscharley/api-documenter-hugo
```

## Usage

This supports the same command line arguments as api-documenter. To get Hugo output, use `api-documenter-hugo hugo`.
npm package: @mscharley/eslint-config
Description: ESLint presets that I use a lot
Author: Matthew Scharley
Latest version: 4.2.23

# @mscharley/eslint-config

**Source:** [https://github.com/mscharley/node-presets](https://github.com/mscharley/node-presets)  
**Author:** Matthew Scharley  
**Contributors:** [See contributors on GitHub][gh-contrib]  
**Bugs/Support:** [Github Issues][gh-issues]  
**License:** [MIT license][license]  
**Status:** Active

## Synopsis

This is a preset for eslint for use with TypeScript or JavaScript projects.

## Installation

```console
$ npm install --save-dev @mscharley/eslint-config
```

## Usage

```js
// eslint.config.js
import { configs, withStyles } from "@mscharley/eslint-config";

export default [
    ...configs.recommended,
    ...configs.node, // For projects running on NodeJS
    // ...configs.react, // For projects running React
    // ...configs.license["MPL-2.0"](), // Some licenses require notices in each source file, and some of these are predefined for convenience
    ...withStyles(), // Include formatting rules
];
```

### Notes on Prettier

If using Prettier to format files other than TypeScript and JavaScript files then you should ignore all TS/JS files to prevent ESLint and Prettier from fighting with each other.

```ignore
# .prettierignore
**/*.cts
**/*.mts
**/*.ts
**/*.cjs
**/*.mjs
**/*.js
```

### Usage in JavaScript projects

```
Parsing error: [...]/configFile.js was not found by the project service. Consider either including it in the tsconfig.json or including it in allowDefaultProject
```

If you get messages like this, you can disable type-checked rules using the `disableTypeCheckedRules()` helper function exported by this module. This takes a list of file paths and returns a single configuration object. This takes into account all type checked rules enabled by this configuration and is a superset of the helper configuration provided by `typescript-eslint` for a similar purpose.

[gh-contrib]: https://github.com/mscharley/node-presets/graphs/contributors
[gh-issues]: https://github.com/mscharley/node-presets/issues
[license]: https://github.com/mscharley/node-presets/blob/main/LICENSE
npm package: @mscharley/ioc
Description: A lightweight inversion of control framework for JavaScript and TypeScript
Author: Matthew Scharley
Latest version: 1.3.2
Deprecated: This package has been renamed to @mscharley/dot

# Inversion of Control

[![npm](https://img.shields.io/npm/v/@mscharley/ioc.svg)](https://www.npmjs.com/package/@mscharley/ioc)

**Source:** [https://github.com/mscharley/ioc-deco](https://github.com/mscharley/ioc-deco)  
**Author:** Matthew Scharley  
**Contributors:** [See contributors on GitHub][gh-contrib]  
**Bugs/Support:** [Github Issues][gh-issues]  
**License:** [MIT license][license]  
**Status:** Active

## Synopsis

A small, well-tested IOC framework for TypeScript and JavaScript with a focus on type safety and forward compatibility.

Support for TC39 standard decorators for use with both TypeScript and JavaScript as well as TypeScript's experimental decorators for projects who still use them.

[Read more about our goals here.](https://github.com/mscharley/ioc-deco/discussions/39)

## Installation

    npm i --save @mscharley/ioc

This library should work out of the box with any TypeScript configuration if you are using TypeScript 5.0 or later. Read below for other versions.

### TypeScript support

This library is designed to work with either setting of the `experimentalDecorators` option in TypeScript 5.x or later. In TypeScript 4.x and earlier, you will need to enable experimental decorators as that is the only option for decorator support. In either case, the `emitDecoratorMetadata` is not required, and is not used for any functionality if enabled.

### JavaScript support

JavaScript should work out of the box with any JavaScript transpiler that supports TC39 decorators. For now you will need a transpiler until the standard gets implemented more widely.

Known implementations:

- [Babel](https://babeljs.io/docs/babel-plugin-proposal-decorators)

## Usage

[For usage examples, please see the documentation.](https://mscharley.github.io/ioc-deco/ioc.html#example)

## Inspiration

The API design of this project is heavily inspired by InversifyJS.

[gh-contrib]: https://github.com/mscharley/ioc-deco/graphs/contributors
[gh-issues]: https://github.com/mscharley/ioc-deco/issues
[license]: https://github.com/mscharley/ioc-deco/blob/master/LICENSE
npm package: @mscharley/prettier-config
Description: **Source:** [https://github.com/mscharley/node-presets](https://github.com/mscharley/node-presets)   **Author:** Matthew Scharley   **Contributors:** [See contributors on GitHub][gh-contrib]   **Bugs/Support:** [Github Issues][gh-issues]   **License:** [M
Author: Matthew Scharley
Latest version: 3.1.9

# @mscharley/prettier-config

**Source:** [https://github.com/mscharley/node-presets](https://github.com/mscharley/node-presets)  
**Author:** Matthew Scharley  
**Contributors:** [See contributors on GitHub][gh-contrib]  
**Bugs/Support:** [Github Issues][gh-issues]  
**License:** [MIT license][license]  
**Status:** Active

## Synopsis

This is a preset for Prettier for use with TypeScript projects.

## Installation

```console
$ npm install --save-dev @mscharley/prettier-config
```

## Usage

```jsonc
// .prettierrc
"@mscharley/prettier-config"
```

[gh-contrib]: https://github.com/mscharley/node-presets/graphs/contributors
[gh-issues]: https://github.com/mscharley/node-presets/issues
[license]: https://github.com/mscharley/node-presets/blob/main/LICENSE
npm package: @mschauer5/av-cli
Description: A tool to help with SPFx development
Author: Matt Schauer
Latest version: 1.0.35

# av-cli

## Installation

```bash
npm install @mschauer5/av-cli -g
```

## Commands

### Create Environment Variable

```bash
# Create environment file using {tenantDomain} placeholder
av env

# Create environment file using provided url
av env https://sp.sharepoint.com/sites/test1
```

### Serve

_Used with the package.json file scripts 'serve' configuration_

This command tries and determines if current project is using pnpm or npm as the package manager.

**I highly recommend using
[spfx-fast-serve](https://www.npmjs.com/package/spfx-fast-serve)**

```bash
av serve

# The actual commands it calls is one of the below:
- npm run serve
- pnpm run serve
```

### Yo

_This is just a short cut for using pnpm manager to create a SharePoint project_

```bash
av yo

# The actual commands it calls:
yo @microsoft/sharepoint --skip-install --package-manager pnpm
```

### Bundle

This commands grabs the version that is in the package.json file and add that version to the config/package-solution.json and then bundles the solution

```bash
av bundle

# The actual commands it calls:
gulp clean
gulp bundle --ship
gulp package-solution --ship
```

### Build

This command runs the build script in the package.json file

```bash
av build

# The actual commands it calls:
- npm run build
- pnpm run build
```

### Sync Version

This command copies the package.json version to the config/config/package-solution.json. It also creates a version.json file in the root src folder. Makes it easy to pull version into a webpart.

```bash
av sync-version
```

### Commit

This command is used to simplify checking in all your changes and pushing the changes to the remote repo.

```bash
av commit [message goes here]

# The actual commands it calls:
git add .
git commit -m [message goes here]
git push
```

### Pull

This command is a short cut for pulling down remote repo.

```bash
av pull

# The actual command it calls:
git pull --rebase

```
npm package: @mschauer5/spfx-toolkit
Description: Toolkit for SPFx projects
Author: Matt Schauer
Latest version: 1.0.28

# SPFx Toolkit

A CLI toolkit to help with SharePoint Framework (SPFx) project development, supporting both classic (gulp) and modern (Heft) build systems.

## Features

- Add and clear shell aliases for the toolkit
- Build and bundle SPFx projects (auto-detects Gulp or Heft)
- Serve/start the SPFx dev server
- Backup and restore ESLint config
- Version management for SPFx projects

## Installation

```sh
npm install -g @mschauer5/spfx-toolkit
```

## Usage

After installation, run:

```sh
spfx-toolkit --help
```

### Common Commands

- `spfx-toolkit build` — Build the project (auto-detects Gulp or Heft)
- `spfx-toolkit bundle [--increment <part>]` — Bundle the project (auto-detects Gulp or Heft, optionally increment version)
- `spfx-toolkit serve` — Start the SPFx dev server
- `spfx-toolkit add-alias <name>` — Add a shell alias for the toolkit
- `spfx-toolkit clear-alias` — Remove the shell alias for the toolkit
- `spfx-toolkit run <name>` — Run a script from package.json by name
- `spfx-toolkit open-global-config` — Open the global package.json for toolkit scripts in VS Code
- `spfx-toolkit global-config-init [--force]` — Initialize global package.json with default scripts (use --force to overwrite)
- `spfx-toolkit sync-script <name> <global|local>` — Sync a script name between global and local package.json
- `spfx-toolkit open-solution` — Open the solution folder in VS Code
- `spfx-toolkit set-heft-dotenv-plugin` — Installs and configures dotenv plugin for Heft
- `spfx-toolkit eslint --backup|--restore` — Backup or restore ESLint config
- `spfx-toolkit version --list|--sync|--increment <part>` — Version management

## Example

```sh
spfx-toolkit build
spfx-toolkit bundle
spfx-toolkit serve
spfx-toolkit add-alias st
spfx-toolkit clear-alias
```

## Requirements

- Node.js 18+
- For SPFx 1.22+ projects, Heft must be installed in your project
- For older SPFx projects, Gulp must be installed
- npm install -g @rushstack/heft to run heft commands from this tool

## License

MIT

---

**Disclaimer:**

This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

---

Developed by Matt Schauer