open-index/open-npm huggingface dataset:
npm package: @lionhat/peep
Description: ![lionhat-peep-logo](peep.gif)
Latest version: 0.0.14
Deprecated: no longer maintained. has been archived

![lionhat-peep-logo](peep.gif)

lionhat-peep is a React.JS UI Kit. lionhat-peep contains components used in real lionhat-collective created projects.
Our process for this is simple, for a given task we create the needed component and than start to make it more generic,
thus contributing towards lionhat-peep.

This repository contains a storybook app, as well as the library itself.

### Here are some of our other projects!
 - https://github.com/lionhat-collective/rosegold (soon)
 - https://github.com/lionhat-collective/tuesday
 - https://github.com/lionhat-collective/black-parade
npm package: @lionhat/slatt
Description: A minimal middleware for serverless Vercel apps
Author: lionhat collective
Latest version: 1.0.0

![slatt](./slatt.svg)
_slime love all the time_

### Docs

`Context` contains vercel/now/next Response and Request types (NowRequest, NowResponse)

### Usage
```javascript
import { slatt } from '@lionhat/slatt'

// ...

export default slatt({
    get: ctx => list(ctx),
    post,
    put,
    patch,
    delete
})
```
npm package: @lionhat/use-form
Description: A hook for form management in ReactJS
Author: lionhat collective
Latest version: 1.0.1

# useForm

[![Travis][build-badge]][build]
[![npm package][npm-badge]][npm]
[![Coveralls][coveralls-badge]][coveralls]

Describe useForm here.

[build-badge]: https://img.shields.io/travis/user/repo/master.png?style=flat-square
[build]: https://travis-ci.org/user/repo

[npm-badge]: https://img.shields.io/npm/v/npm-package.png?style=flat-square
[npm]: https://www.npmjs.org/package/npm-package

[coveralls-badge]: https://img.shields.io/coveralls/user/repo/master.png?style=flat-square
[coveralls]: https://coveralls.io/github/user/repo
npm package: @lionipsum/negative
Description: Ensure that a number is always negative
Author: Lion Ipsum
Latest version: 0.0.5

# Negative

Ensure that a number is negative and enforce it.

## Usage
```js
import {negative} from '@lionipsum/negative'

console.log(negative(1))
// Returns -1

console.log(negative(-1))
// Also Returns -1

console.log(negative(0))
// Returns 0
```

## Install
```
npm install
```

## Test
```
npm run test
```
supports naming convention: moduleName.test.ts
Check out [ava](https://github.com/avajs/ava)
npm package: @lionl/passport-instagram-graph
Description: passport login using instagram graph API
Author: lionls
Latest version: 1.0.0

# Passport-Instagram

[Passport](https://github.com/jaredhanson/passport) strategy for authenticating
with [Instagram](http://instagr.am/) using the OAuth 2.0 API.

This module lets you authenticate using Instagram in your Node.js applications.
By plugging into Passport, Instagram authentication can be easily and
unobtrusively integrated into any application or framework that supports
[Connect](http://www.senchalabs.org/connect/)-style middleware, including
[Express](http://expressjs.com/).

## Install

    $ npm install passport-instagram

## Usage

#### Configure Strategy

The Instagram authentication strategy authenticates users using a Instagram
account and OAuth 2.0 tokens.  The strategy requires a `verify` callback, which
accepts these credentials and calls `done` providing a user, as well as
`options` specifying a client ID, client secret, and callback URL.

    passport.use(new InstagramStrategy({
        clientID: INSTAGRAM_CLIENT_ID,
        clientSecret: INSTAGRAM_CLIENT_SECRET,
        callbackURL: "http://127.0.0.1:3000/auth/instagram/callback"
      },
      function(accessToken, refreshToken, profile, done) {
        User.findOrCreate({ instagramId: profile.id }, function (err, user) {
          return done(err, user);
        });
      }
    ));

#### Authenticate Requests

Use `passport.authenticate()`, specifying the `'instagram'` strategy, to
authenticate requests.

For example, as route middleware in an [Express](http://expressjs.com/)
application:

    app.get('/auth/instagram',
      passport.authenticate('instagram'));

    app.get('/auth/instagram/callback', 
      passport.authenticate('instagram', { failureRedirect: '/login' }),
      function(req, res) {
        // Successful authentication, redirect home.
        res.redirect('/');
      });

## Examples

For a complete, working example, refer to the [login example](https://github.com/jaredhanson/passport-instagram/tree/master/examples/login).

## Tests

    $ npm install --dev
    $ make test

[![Build Status](https://secure.travis-ci.org/jaredhanson/passport-instagram.png)](http://travis-ci.org/jaredhanson/passport-instagram)

## Credits

  - [Jared Hanson](http://github.com/jaredhanson)

## License

[The MIT License](http://opensource.org/licenses/MIT)

Copyright (c) 2011-2013 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>
npm package: @lionrapid/formatters
Description: Advanced text formatters for LionRapid localization library
Author: Janrau B
Latest version: 0.1.0

# @lionrapid/formatters

ICU MessageFormat plugin for LionRapid. Adds pluralization, select, date/time, number, and currency formatting to translations.

## Installation

```bash
npm install @lionrapid/formatters @lionrapid/core
```

## Usage

```typescript
import { LionRapidBuilder, MemoryRepository, NetworkRepository } from '@lionrapid/core';
import { CoreFormattersPlugin } from '@lionrapid/formatters';

const lionRapid = await LionRapidBuilder.init({
  defaultLocale: 'en',
  namespace: 'app',
})
  .use(new MemoryRepository({ enabled: true }))
  .use(new NetworkRepository({
    enabled: true,
    options: { baseUrl: 'https://api.lionrapid.com' },
  }))
  .use(new CoreFormattersPlugin())
  .build();

// Pluralization
lionRapid.t('items', { count: 5 });
// Translation: "{count, plural, one {# item} other {# items}}"
// Output: "5 items"

// Select
lionRapid.t('greeting', { gender: 'female' });
// Translation: "{gender, select, male {He} female {She} other {They}}"
// Output: "She"

// Currency
lionRapid.t('price', { amount: 99.99 });
// Translation: "{amount, number, currency}"
// Output: "$99.99"

// Date
lionRapid.t('today', { date: new Date() });
// Translation: "Today is {date, date, long}"
// Output: "Today is January 15, 2026"
```

## Supported Formatters

| Formatter | ICU Pattern | Example |
|-----------|-------------|---------|
| Interpolate | `{name}` | `Hello, John` |
| Plural | `{count, plural, ...}` | `5 items` |
| Select | `{gender, select, ...}` | `She` |
| Number | `{val, number}` | `1,234.56` |
| Currency | `{val, number, currency}` | `$99.99` |
| Percent | `{val, number, percent}` | `75%` |
| Date | `{val, date, short}` | `1/15/26` |
| Time | `{val, time, medium}` | `3:30 PM` |
| Uppercase | `{val, uppercase}` | `HELLO` |
| Lowercase | `{val, lowercase}` | `hello` |
| Capitalize | `{val, capitalize}` | `Hello` |

## License

MIT
npm package: @lionrockjs/adapter-view-liquidjs
Description: The LionRockJS Web Platform support using LiquidJS
Author: Kojin Nakana
Latest version: 0.0.40

# adapter-view
View adapters using LiquidJS

- [x] JSON Template
- [x] Template Settings
- [x] Template Settings variable 
- [x] Filter Translate
- [x] Default View
npm package: @lionrockjs/central
Description: Node.js MVC framework inspire from PHP Kohana Framework
Author: Kojin Nakana
Latest version: 0.0.55

# LionRockJS
Node.js MVC structure base on Kohana Framework, 
With ORM using better-sqlite3
View with LiquidJS

### Getting started
download start project from GitHub
- https://github.com/LionRockJS/example/tree/bare-node

Install dependencies
``` 
npm i
```


The file structure
```
 L application
   L classes
   L config
   L logs
   - bootstrap.js
   - routes.js

   L modules
     L example-module
       L index.js
       L init.js
       L routes.js
       L classes
       L config
       L views
 L views

 - main.js
```

## Bootstrap
module.exports = {
};

## ORM
ORM provide following static variables:

- ORM.tableName
  - table name of the class
- ORM.jointTablePrefix
- ORM.belongsTo
  - list of the class belongs
- ORM.hasMany 
- ORM.belongsToMany


## Controller
Controller provide basic flow of execution.
1. constructor
2. before
3. action_xxx
4. after

it also provide basic function
1. redirect(location);
2. notFound(msg);

default action:
1. action_index

## Controller Mixin
We can use extends to provide addition features to controller, but it will increase complexity and unused functions to child classes.

Controller Mixin introduced to prevent problems create by extends.

```
//sample controller mixin
class SampleMixin extends ControllerMixin{
static mixins = [...ControllerMixin.mixins, SampleMixin];

//client is a controller
constructor(client)

//add function on before
async before()
async after()

//manually called by client controller
action_index()
action_something()

//additional functions
getView(path, data)
moreFunctions(arg)

}
```
sample code to add mixin in controller

```

class ControllerView extends Controller{
  static mixins = [...Controller.mixins, ControllerMixinView];

  constructor(request){
    super(request);
  }
  
  action_index(){

  }
}

```

## Read ORM with specific columns
```
const result = await ORM.readBy(Page, 'page_type', [key], {database: liveDatabase, asArray:true, limit: 10000, columns:['id', 'name', 'slug', 'weight']});
```
npm package: @lionrockjs/mod-cold-leads
Description: The Form to Email Module for LionRockJS
Author: Kojin Nakana
Latest version: 0.0.15

# mod-cold-leads
The form to email module for LionRockJS, 
customize schema/lead_info for your own needs

## Installation
``npm i @lionrockjs/mod-cold-leads``

## Usage
1. Form post to route mapping to ControllerLead.action_update()
2. Form fields using ORMInput syntax and attributes[*lead_info*] for lead info customised fields.
3. Form field *destination* for thank you page redirection.
4. utm tracking fields are automatically captured and stored in the lead object if using ControllerLead.action_index() .
5. Greeting email will be sent to the lead if contact type "email" is present.
6. support json response for thank you page and duplicate page.

## routes
```
RouteList.add(Central.config.language.route + '/registration/verify', 'controller/Lead', 'verify', 'POST');
RouteList.add(Central.config.language.route + '/registration/create', 'controller/Lead', 'update', 'POST');
RouteList.add(Central.config.language.route + '/registration/thank-you', 'controller/Lead', 'thank_you');
RouteList.add(Central.config.language.route + '/registration/thank-you/:sign', 'controller/Lead', 'thank_you');
RouteList.add(Central.config.language.route + '/registration/thank-you.json', 'controller/Lead', 'thank_you_json');
RouteList.add(Central.config.language.route + '/registration/duplicate', 'controller/Lead', 'duplicate');
RouteList.add(Central.config.language.route + '/registration/duplicate.json', 'controller/Lead', 'duplicate_json');
RouteList.add(Central.config.language.route + '/edm/view/:template', 'controller/Edm', 'view');

```
npm package: @lionrockjs/mod-mail
Description: LionRockJS Transactional Email Module
Author: Kojin Nakana
Latest version: 0.0.17

# kohanajs-mod-mail

Module for Transactional email

##install
```npm i @kohanajs/mod-mail```

this will install Mail Object with default adapter for preview

add ```require("@kohanajs/mod-mail");``` to application/require.js to load default config file and default routes.

##usage
```
const {Mail} = require('@kohanajs/mod-mail');

const mail = new Mail({
  domain:'localhost',
  ip:'127.0.0.1'
});
await mail.send('this is subject', 'this is body text', 'sender@kohanajs.com', 'recipient@example.com')
```

###templates
```
const mail = new Mail({
  domain:'localhost',
  ip:'127.0.0.1'
  templateFolder: `${__dirname}/edm`
});

const result = await mail.send('subject', 'test.txt', 'TEST', '20221234', {
  html:'test.html',
  tokens: {'message': 'hello world'},
});

//result.payload.text
//result.payload.html
```

###only html template
```
const mail = new Mail({
  domain:'localhost',
  ip:'127.0.0.1'
  templateFolder: new Map([
    ['html', `${__dirname}/edm`]
  ])
});

const result = await mail.send('subject', 'hello {{@message}}', 'TEST', '20221234', {
  html:'test.html',
  tokens: {'message': 'hello world'},
});

//result.payload.text
//result.payload.html
```

###template use handle (WIP)
```
const mail = new Mail({
  domain:'localhost',
  ip:'127.0.0.1'
  templateFolder: '@edm'
});

const result = await mail.send('subject', 'test::text', 'TEST', '20221234', {
  html:'test::html',
  tokens: {'message': 'hello world'},
});
```
npm package: @lionstone-digital/postcss-critical-split
Description: A customized version of the unmaintained postcss-critical-split package
Author: Frederick Chan
Latest version: 0.0.4

# PostCSS Critical Split

A PostCSS plugin for splitting critical CSS. This is a customized version of the unmaintained [postcss-critical-split](https://www.npmjs.com/package/postcss-critical-split) package.

The package has been updated to ensure compatibility with the latest versions of PostCSS and Vite, along with seamless integration into our own processes.

## Compatibility

⚠️ **Important**: This plugin is NOT compatible with Tailwind 4.
npm package: @lionstone-digital/ts-config
Description: Helpful TypeScript configs for your projects
Author: Frederick Chan
Latest version: 0.0.3

# TypeScript Config

Different TypeScript configs for different use cases across projects:

- `tsconfig.base.json` - Base helpful TypeScript configs for general cases
- `tsconfig.bundler.json` - TypeScript configs for bundler projects (e.g. Vite, Webpack, etc.)
- `tsconfig.dom.json` - TypeScript configs for DOM projects (e.g. React, Vue, etc.)
- `tsconfig.node-next.json` - TypeScript configs for Node.js projects (e.g. Next.js, Express, Firebase, etc.)