open-index/open-npm huggingface dataset:
npm package: @noxify/casl-drizzle
Description: Drizzle-ORM adapter for CASL - generate Drizzle where inputs from CASL abilities
Latest version: 0.0.1-beta.3

> work in progress :)

# casl-drizzle

CASL integration for Drizzle ORM - Add type-safe authorization to your database queries

## Install

```sh
npm install ucastle @casl/ability
```

## Quick Start

Define your abilities using Drizzle's query types directly:

```typescript
import type { QueryInput } from "ucastle"
import { integer, pgTable, text } from "drizzle-orm/pg-core"
import { accessibleBy, defineAbility } from "ucastle"

// Define your Drizzle schema
const users = pgTable("users", {
  id: integer().primaryKey(),
  name: text().notNull(),
  email: text().notNull(),
})

const schema = { users }

// Extract query types for your tables
type UserQuery = QueryInput<typeof schema, "users">

// Create abilities with subject-specific autocomplete
const ability = defineAbility<{ users: UserQuery }>((can, cannot) => {
  can("read", "users", { id: 1 }) // ✅ Autocomplete shows only user fields!
  can("update", "users", { id: 1 })
  cannot("delete", "users")
})

// Use with accessibleBy to get database filters
const filters = accessibleBy(ability, "read")
const readableUsers = await db.query.users.findMany({ where: filters.users })
```

## Features

- 🔒 **Type-safe authorization** - Full TypeScript support with Drizzle types
- 🎯 **CASL integration** - Leverage CASL's powerful rule system
- 🗄️ **DB agnostic** - Works with PostgreSQL, MySQL, SQLite, etc.
- 🔗 **Relation support** - Filter by related table conditions
- 📦 **Zero overhead** - Direct type composition, no runtime wrappers
- 💡 **Smart autocomplete** - Subject-specific field suggestions with `defineAbility()`

## With Relations

For schemas with relations, use `RelationalQueryInput`:

```typescript
import type { RelationalQueryInput } from "ucastle"
import { defineRelations } from "drizzle-orm"

const posts = pgTable("posts", {
  id: integer().primaryKey(),
  title: text().notNull(),
  authorId: integer().notNull(),
})

const relations = defineRelations({ users, posts }, (r) => ({
  users: { posts: r.many(posts) },
  posts: { author: r.one(users, { fields: [posts.authorId], references: [users.id] }) },
}))

type PostQuery = RelationalQueryInput<typeof relations, "posts">

const ability = defineAbility<{ posts: PostQuery }>((can) => {
  can("read", "posts", { published: true })
  can("update", "posts", { authorId: 1 })
})
```

## Alternative: AbilityBuilder

If you prefer the traditional AbilityBuilder pattern:

```typescript
import type { DefineAbility } from "ucastle"
import { AbilityBuilder } from "@casl/ability"
import { createDrizzleAbilityFor } from "ucastle"

type AppAbility = DefineAbility<{ users: UserQuery }>

const { can, cannot, build } = new AbilityBuilder<AppAbility>(createDrizzleAbilityFor())

can("read", "users", { id: 1 })
cannot("delete", "users")

const ability = build()
```

## Documentation

See [SIMPLIFIED_API.md](./SIMPLIFIED_API.md) for detailed examples and patterns.

## License

MIT
npm package: @noxify/gridsome-plugin-remark-embed
Description: Gridsome Remark plugin to embed external stuff like github gist, twitter feeds, youtube videos etc.
Author: Marcus Reinhardt
Latest version: 1.3.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# gridsome-plugin-remark-embed
Gridsome Remark plugin to embed external stuff into your gridsome site.

# Live Demo

https://gridsome-preview.ilovenox.now.sh/

# Installation

```bash
npm install --save @noxify/gridsome-plugin-remark-embed
```

# How to use

```js
//gridsome.config.js
module.exports = {
  plugins: [
    {
      use: '@gridsome/source-filesystem',
      options: {
        path: 'blog/**/*.md',
        route: '/blog/:year/:month/:day/:slug',
        remark: {
          plugins: [
            [ '@noxify/gridsome-plugin-remark-embed', {
                'enabledProviders' : ['Youtube', 'Twitter', 'Gist'],
            }]
          ]
        }
      }
    }
  ]
}
```

# Documentation

You can find the complete documentation here: https://webstone.info/documentation/gridsome-plugin-remark-embed
npm package: @noxify/gridsome-plugin-remote-image
Description: Simple gridsome plugin to download an remote image based on a defined graphql field
Author: Marcus Reinhardt
Latest version: 1.4.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Gridsome Remote Image Downloader

This is a simple plugin, which is based on a discord discussion.
It's more a workaround than a permanent solution.

The plugin should work with any data source, but I have tested it only with `source-filesystem`.

## Features

* Download of remote images
* Support of multiple images ( see example )

## Install

```sh
npm i @noxify/gridsome-plugin-remote-image

# or

yarn add @noxify/gridsome-plugin-remote-image
```

## Setup

```js
//gridsome.config.js

module.exports = {
  siteName: 'Gridsome',
  plugins: [
    //...
    {
      use: '@noxify/gridsome-plugin-remote-image',
      options: {
        'typeName' : 'Entry',
        'sourceField': 'remoteImage',
        'targetField': 'imageDownloaded',
        'targetPath': './src/assets/remoteImages'
      }
    },
    {
      use: '@noxify/gridsome-plugin-remote-image',
      options: {
        'typeName' : 'Entry',
        'sourceField': 'remoteImages',
        'targetField': 'imagesDownloaded',
        'targetPath': './src/assets/remoteImages'
      }
    }
  ]
  //...
}
```

## Documentation

You can find the complete documentation here: https://webstone.info/documentation/gridsome-plugin-remote-image
npm package: @noxify/gridsome-remark-classes
Description: Gridsome Remark plugin to add css class to any element
Author: Marcus Reinhardt
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# gridsome-remark-classes
Gridsome Remark plugin to add css classes to any element

Inspired by chrisg86/gatsby-remark-classes

# Installation

```
npm install --save @noxify/gridsome-remark-classes
```

# Configuration

## Globally

Inside the `gridsome.config.js` you can define it globally to enable this transformer for all data sources.

```js
module.exports = {

  plugins: [
    {
      use: '@gridsome/source-filesystem',
      options: {
        typeName: 'Blog',
        path: './content/blog/**/*.md',
      }
    }
  ],

  transformers : {
    remark : {
      plugins : [
        ['@noxify/gridsome-remark-classes', {
          'heading[depth=1]': 'title',
          'heading[depth=2]': 'subtitle',
          'paragraph': 'text-normal font-serif'
        }]
      ]
    }
  }
}
```

## Data Source

Inside the `gridsome.config.js` you can define it individual for each data source.

```js
module.exports = {

  plugins: [
    {
      use: '@gridsome/source-filesystem',
      options: {
        typeName: 'Blog',
        path: './content/blog/**/*.md',
        remark: {
          plugins: [
            ['@noxify/gridsome-remark-classes', {
              'heading[depth=1]': 'title',
              'heading[depth=2]': 'subtitle',
              'paragraph': 'text-normal font-serif'
            }]
          ]
        }
      }
    }
  ]
}
```

# Usage

The transformer uses (unist-util-select)[https://github.com/syntax-tree/unist-util-select] to identify an element.

You can find a list of supported/existing/allowed nodes types at
* https://github.com/syntax-tree/mdast#nodes
* https://github.com/syntax-tree/unist-util-select#support
npm package: @noxify/gridsome-remark-table-align
Description: Gridsome Remark plugin move the `table` align defintion to the `tableCell` definition.
Author: Marcus Reinhardt
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# gridsome-remark-table-align
Gridsome Remark plugin move the `table` align defintion to the `tableCell` definition.

With this changes, you can use [@noxify/gridsome-remark-classes](https://github.com/noxify/gridsome-remark-classes) to add your own classes.


# Installation

```
npm install --save @noxify/gridsome-remark-table-align
```

# Configuration

## Globally

Inside the `gridsome.config.js` you can define it globally to enable this transformer for all data sources.

```js
module.exports = {

  plugins: [
    {
      use: '@gridsome/source-filesystem',
      options: {
        typeName: 'Blog',
        path: './content/blog/**/*.md',
      }
    }
  ],

  transformers : {
    remark : {
      plugins : [
        '@noxify/gridsome-remark-table-align'
      ]
    }
  }
}
```

## Data Source

Inside the `gridsome.config.js` you can define it individual for each data source.

```js
module.exports = {

  plugins: [
    {
      use: '@gridsome/source-filesystem',
      options: {
        typeName: 'Blog',
        path: './content/blog/**/*.md',
        remark: {
          plugins: [
            '@noxify/gridsome-remark-table-align'
          ]
        }
      }
    }
  ]
}
```

# Example

## Example table

```md
| Tables   |      Are      |  Cool |
|----------|:-------------:|------:|
| col 1 is |  left-aligned | $1600 |
| col 2 is |    centered   |   $12 |
| col 3 is | right-aligned |    $1 |
```

## gridsome.config.js

```js
transformers : {
  remark : {
    plugins : [
      '@noxify/gridsome-remark-table-align',
      ['@noxify/gridsome-remark-classes', {
        'table' : 'table',
        'tableCell[align=center]' : 'text-center',
        'tableCell[align=right]': 'text-right',
      }]
    ]
  }
},
```

## Rendered table

```html
<table class="table">
  <thead>
    <tr>
      <th>Tables</th>
      <th class="text-center">Are</th>
      <th class="text-right">Cool</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>col 1 is</td>
      <td class="text-center">left-aligned</td>
      <td class="text-right">$1600</td>
    </tr>
    <tr>
      <td>col 2 is</td>
      <td class="text-center">centered</td>
      <td class="text-right">$12</td>
    </tr>
    <tr>
      <td>col 3 is</td>
      <td class="text-center">right-aligned</td>
      <td class="text-right">$1</td>
    </tr>
  </tbody>
</table>
```
npm package: @noxify/gridsome-source-git
Description: Git source for Gridsome
Author: Marcus Reinhardt
Latest version: 2.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# gridsome-source-git

Source plugin for fetching data from a GIT repository.
This source is based on the `@gridsome/source-filesystem` and includes
all functionality which is available in the `@gridsome/source-filesystem`.

This is a port from Gatsby: https://github.com/stevetweeddale/gatsby-source-git
But extended to enable the clone of private git repositories.

## Install

```bash
npm install --s @noxify/gridsome-source-git
```

## How to use

```js
module.exports = {
  plugins: [
    {
      use: '@noxify/gridsome-source-git',
      options: {
        remote: 'https://github.com/noxify/test.git',
        target: 'git-source/noxify-test/',
        typeName: 'GitPost',
        route: '/gitpost/:id'
      }
    }
  ]
}
```

## Documentation

You can find the complete documentation here: https://webstone.info/documentation/gridsome-source-git
npm package: @noxify/ts-lambda-api-local
Description: Test ts-lambda-api API's locally using express.
Author: Matthew Snoddy
Latest version: 2.4.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# ts-lambda-api-local

Extension module for the `ts-lambda-api` package which enables running lambda REST API's locally using express.

This module also provides Swagger UI support, powered by the `swagger-ui-express` npm package.

[NPM Package](https://www.npmjs.com/package/ts-lambda-api-local)
[GitHub Repo](https://github.com/djfdyuruiry/ts-lambda-api-local/)

Read the full `typedoc` documentation: https://djfdyuruiry.github.io/ts-lambda-api-local/

---

## Getting Started

---

**Note: These steps modify an existing `ts-lambda-api` app. If you don't have one, see the package documentation.**

- Install this package and types for Node.js as dev dependencies:

```shell
npm install -D ts-lambda-api-local
npm install -D @types/node
```

- Create a new typescript file, add the following:

```typescript
import * as path from "path"

import { ApiConsoleApp } from "ts-lambda-api-local"

// if you use a different directory, point to it here instead of 'controllers'
let app = new ApiConsoleApp(path.join(__dirname, "controllers"))

app.runServer(process.argv)
```

- Compile your application and run the new JS file using Node.js

- You can now call your API locally:

```
wget -qO - http://localhost:8080/api/v1/some-controller/
```

----

# Command Line Arguments

----

`ApiConsoleApp` supports several optional command line parameters.

- `-p` or `--port`: Port to listen on, defaults to `8080`
- `-h` or `--host`: Host to accept requests on, defaults to `*` (any hostname/ip)
- `-c` or `--cors-origin`: CORS origins to allow, defaults to `*` (any origin)

----

# Configuration

----

Both the `configureApp` and `configureApi` methods documented in `ts-lambda-api` are available in the `ApiConsoleApp` class.

----

# Swagger UI

----

To enable the Swagger UI page, simply enable open-api in your application config. The interface will then be available from the `/swagger` endpoint. For example, if you configured your app like below:

```typescript
import * as path from "path"

import { AppConfig } from "ts-lambda-api"
import { ApiConsoleApp } from "ts-lambda-api-local"

let appConfig = new AppConfig()

appConfig.base = "/api/v1"
appConfig.version = "v1"
appConfig.openApi.enabled = true

let app = new ApiConsoleApp(path.join(__dirname, "controllers"))

app.runServer(process.argv)
```

Then, the Swagger UI interface will be available @ http://localhost:8080/api/v1/swagger

----

# Packaging for Release

----

When you are packing up your lambda API for release to AWS, ensure that you have installed this package as a development dependency only, otherwise it will significantly slow down and bloat your lambda.