open-index/open-npm huggingface dataset:
npm package: @fc.sh/node-ssi
Description: A SSI parser
Author: Frank Cheung
Latest version: 1.0.0

# node-ssi

[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency status][david-dm-image]][david-dm-url] [![Build status][appveyor-image]][appveyor-url] [![Built with Grunt][grunt-image]][grunt-url]

A server-side-include system for nodejs.

We only support parts of nginx ssi syntax:

      <!--# include file="path" -->
      <!--# include virtual="path" -->

      <!--# set var="k" value="v" -->

      <!--# echo var="n" default="default" -->

      <!--# if expr="test" -->
      <!--# elif expr="" -->
      <!--# else -->
      <!--# endif -->

Note:

- `file` includes are always relative to the baseDir provided in the options.
- `virtual` includes are relative to the current file.

# usage

    var SSI = require('node-ssi');
    var ssi = new SSI({
            baseDir: './html/',
            encoding: 'utf-8',
            payload: {
                v: 5
            }
        });

    // handle a file
    ssi.compileFile('index.html', {payload:{title: 'Index'}}, function(err, content){

        });

    //handle a content
    ssi.compile('<!--# echo var="v" default="default" -->', function(err,content){

        });

# test

`grunt test`

# changelog

- 2014-11-03[17:00:51]:support special chars like `\n`,`\v` etc.
- 2014-12-04[12:39:20]:thanks for @nfriedly,we fixed some bugs and support more features
- 2022-04-16[02:29:00]:fix file syntax relative path

# todo

better lexer

# license

MIT

[downloads-image]: http://img.shields.io/npm/dm/node-ssi.svg
[npm-url]: https://npmjs.org/package/node-ssi
[npm-image]: http://img.shields.io/npm/v/node-ssi.svg
[travis-url]: https://travis-ci.org/yanni4night/node-ssi
[travis-image]: http://img.shields.io/travis/yanni4night/node-ssi.svg
[grunt-url]: http://gruntjs.com/
[grunt-image]: https://cdn.gruntjs.com/builtwith.png
[appveyor-image]: https://ci.appveyor.com/api/projects/status/6sv21grqrixe60yu?svg=true
[appveyor-url]: https://ci.appveyor.com/project/yanni4night/node-ssi
[david-dm-url]: https://david-dm.org/yanni4night/node-ssi
[david-dm-image]: https://david-dm.org/yanni4night/node-ssi.svg
npm package: @fc5570/phisherman.js
Description: A wrapper for https://phisherman.gg/
Author: FC5570
Latest version: 0.0.2
Deprecated: This package has been renamed to phisherman.gg. Please use it instead.

# phisherman.js

A NodeJS wrapper for [phisherman](https://phisherman.gg/) API.

## Installation

```
npm install phisherman.js
yarn add phisherman.js
```

## Example

```typescript
import { PhishermanClient } from '@fc5570/phisherman.js';

const client = new PhishermanClient({
	apiKey: '<your-api-key>'
});

// Check if domain is a phish or scam
client.check('disczrd.com').then(console.log); // { classification: 'malicious', verifiedPhish: true }

// Report a phish
client.report('https://dicsords-gifted.ru/nitro').then(console.log); // { success: false, message: 'Domain already exists' }
```

## API

### PhishermanClient.constructor(options)

`options` is an object with the following properties:

1. `apiKey` (string): The api key to authorize requests.

### PhishermanClient.check(domain)

Checks if a domain is a phish or scam.

### PhishermanClient.report(domain)

Reports a phish or a scam.

_If you encounter any issues, please join the [Discord Server](https://phisherman.gg/discord) and ask for help, or contact FC#5104._
npm package: @fcai-sis/shared-models
Description: contains all reusable mongoose models and schemas
Latest version: 30.1.0

# Shared Models

This NPM package contains all mongoose models, schemas and types that are reused in multiple components in the system.

## Adding Models

Adding a shared model is as simple as it gets. Imagine you have a model `Potato` that you want to use in two or more components, to make it a shared model, all you do is:

1. Create a file for the model

```bash
touch src/models/potato.model.ts
```

2. Build the model

```typescript
// src/models/potato.model.ts

import mongoose, { InferSchemaType } from 'mongoose';

const potatoSchema = new mongoose.Schema({
    // blablabla
});

const potatoModelName = 'Potato';

const PotatoModel = mongoose.model(potatoModelName, potatoSchema);

type PotatoType = InferSchemaType<typeof potatoSchema>;
```

3. Export the model and its inferred type

```typescript
// src/models/potato.model.ts

// ... at the end of the file
export { PotatoModel, PotatoType, potatoModelName };
```

4. Finally, export the file exports from `index.ts`

```typescript
// src/index.ts

// ... existing exports blablabla
export * from './models/potato.model';
```

## Usage

To use a shared model in a NodeJS component, all you need to do is install this package and viola!

```bash
npm install @fcai-sis/shared-models
```

```typescript
// some file in your NodeJS component codebase

import { PotatoModel } from "@fcai-sis/shared-models";
```

## License

This project is under the [MIT License](./LICENSE)
npm package: @fcamblor/on-changes-run
Description: Claude Code lifecycle hook: run commands when file changes are detected
Author: fcamblor
Latest version: 0.0.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# on-changes-run

Run commands when files matching a glob pattern change between executions. Designed as a [Claude Code](https://docs.anthropic.com/en/docs/claude-code) lifecycle hook (`Stop` / `SubagentStop`).

## How it works

1. On each run, `on-changes-run` snapshots the SHA-256 hashes of files that are in the git diff (unstaged + staged) and match the provided glob pattern.
2. It compares this snapshot with the one stored from the previous execution.
3. If any files changed between the two runs, it executes the specified commands in parallel.
4. On the **first run**, it stores a baseline and exits successfully without running any commands.

State is persisted in `<git-root>/.claude/on-changes-run.state.json`.

## Installation

```bash
npx on-changes-run --on '<glob>' --exec '<command>'
```

No installation needed when using `npx`.

## Usage

```bash
npx on-changes-run \
  --on "frontend/**/*.ts" \
  --exec "cd frontend && npm run lint" \
  --exec "cd frontend && npm run typecheck"
```

### Options

| Option | Description | Required |
|--------|-------------|----------|
| `--on <glob>` | Glob pattern to match changed files | Yes |
| `--exec <command>` | Shell command to run (repeatable) | Yes |
| `--exec-timeout <seconds>` | Timeout per command (default: 300) | No |

### Exit codes

- `0` — All commands succeeded (or no changes detected)
- `1` — At least one command failed (error output is printed to stderr)

## Claude Code Hook Configuration

Add to your project's `.claude/settings.json`:

```json
{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "npx on-changes-run --on 'frontend/**/*.ts' --exec 'cd frontend && npm run lint' --exec 'cd frontend && npm run typecheck'"
          }
        ]
      }
    ],
    "SubagentStop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "npx on-changes-run --on 'backend/**/*.kt' --exec 'cd backend && ./gradlew lint' --exec 'cd backend && ./gradlew build'"
          }
        ]
      }
    ]
  }
}
```

When a command fails, its stdout/stderr is printed to stderr so the LLM can interpret the errors and fix the issues.