open-index/open-npm huggingface dataset:
npm package: @jmandawg/gemini-vertex-review-code
Description: ![](preview.png)
Author: Tai.Ha
Latest version: 1.0.3

# @jmandawg/gemini-vertex-review-code

[![npm version](https://badge.fury.io/js/%40hataiit9x%2Freview-code-ai.svg)](https://badge.fury.io/js/%40hataiit9x%2Freview-code-ai)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Summary

![](preview.png)

This is a fork of the excellent work by `@hataiit9x` which adds support for vertex AI.
For more details, visit the [@hataiit9x/gemini-review-code](https://github.com/hataiit9x/gemini-review-code).

`@hataiit9x/gemini-review-code` It is a small tool used for code review in GitLab Merge Requests. It supports calling the GitLab API for private 
deployment and uses the Gemini AI API to obtain review results. Please note that when using it, ensure compliance with company regulations. 😉


## Features

- 🛠️ Support configuration GitLab API address
- ⚙️ Support configuration Gemini API Key to implement load balancing of interface calls (multiple Keys are separated by commas)
- 📦 Support configuration Gemini custom model ID
- 📦 Support configuration GitLab Project ID
- 📦 Support configuration GitLab Merge Request ID
- 🚀 Support running in CI/CD
- 🚦 Automatically wait and try again when the rate limit is exceeded
- 💬 The review results are appended to the location of the corresponding code block in the form of comments


## Install

```sh
npm i @hataiit9x/gemini-review-code
`````

## Use

### Use via shell script

```shell
Usage: gemini-review-code [options]
Options:
  -g, --gitlab-api-url <string>       GitLab API URL (default: " https://gitlab.com/api/v4")
  -t, --gitlab-access-token <string>  GitLab Access Token
  -a, --api-key <string>              Gemini API Key
  -p, --project-id <number>           GitLab Project ID
  -m, --merge-request-id <string>     GitLab Merge Request ID
  -c, --custom-model <string>         Custom Model ID, (default: "gemini-1.5-flash")
  -h, --help                          display help for command
  -l, --location <string>             GCP location (vertex only) (default: "global")
  -z, --google-project-id <string>    Google Project ID (vertex only)
  -k, --keep-previous-comments        Keep previous comments (default: false)
```

Example:

```sh
gemini-review-code -g https://gitlab.com/api/v4 -t glpat-xxxxxxx -a AIzaSyAYNxxxxxxx,AIzaSyAYNxxxxxxx -p 1 -c gpt-3.5-turbo 432288 -m 8
```

### Use in CI

Set the `GITLAB_TOKEN` and `API_KEY` variables in GitLab CI/CD, `.gitlab-ci.yml` is as follows:

```yml
stages:
  - merge-request

Code Review:
  stage: merge-request  
  image: node:16
  script:
    - npm i @hataiit9x/gemini-review-code -g
    - gemini-review-code -t "$GITLAB_TOKEN" -a "$API_KEY" -c "$CUSTOM_MODELS" -p "$CI_MERGE_REQUEST_PROJECT_ID" -m "$CI_MERGE_REQUEST_IID"
  only:
    - merge_requests
  when: on_success
```

## contribute
Welcome to contribute code, ask questions and suggestions! 👏

## License
This project is based on the MIT license. See the LICENSE file for details. 📜
npm package: @jmandzik/apollo-server-plugin-server-timing
Description: Adds server-timing response headers for Apollo Server
Latest version: 0.1.6

# [Server-Timing](https://w3c.github.io/server-timing/) response headers for Apollo Server

This Apollo Server plugin aims to improve GraphQL observability characteristics by exposing resolver execution [timing information](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-tracing) to standard browser developer tools via HTTP response headers.

Caveat: This plugin has the potential to create large response headers; it's probably best to use as a development aid rather than indiscriminately in production.

This serialization of the resolver paths is inspired by @stipson's approach proposed here: https://github.com/apollographql/apollo-server/pull/1490.

## Quick start

### Pre-requisites

- Node.js v8 LTS or higher
- Apollo Server v1.1.0 or higher (this plugin requires `tracing: true` for timing instrumentation)

### Install the dependency:

`npm i @jmandzik/apollo-server-plugin-server-timing`

### Register the plugin with your Apollo Server:

```javascript
const ServerTimingPlugin = require("@jmandzik/apollo-server-plugin-server-timing");

const server = new ApolloServer({
  typeDefs,
  resolvers,
  // Tracing must be enabled for this plugin to add the headers
  tracing: true,
  // Register the plugin
  plugins: [ServerTimingPlugin]
});
```

## Timing visualization

### Chrome

![chrome](https://user-images.githubusercontent.com/885114/69303377-bd09a480-0bea-11ea-8e37-1cc84d0b47ce.png)

Just a heads up, Chrome truncates metric names after 22 characters. Deeply nested paths or long query/field names will be difficult to disambiguate.
![truncate](https://user-images.githubusercontent.com/885114/69304068-428e5400-0bed-11ea-9c80-4002e79163ac.png)

### Safari

Safari does a better job and doesn't truncate.
![safari](https://user-images.githubusercontent.com/885114/69303745-2342f700-0bec-11ea-8209-53b4945d3d6f.png)

## JS API

![js-api](https://user-images.githubusercontent.com/885114/69303503-4620db80-0beb-11ea-98fc-e6e61d2e37d0.png)

Some interesting use cases here might be to send a [Beacon](https://developer.mozilla.org/en-US/docs/Web/API/Beacon_API) request and log slow queries.

### An example server can be run to see it in action:

```shell
git clone git@github.com:jmandzik/apollo-server-plugin-server-timing.git
cd apollo-server-plugin-server-timing
npm install
node example.js
```

Open up http://localhost:4000 and run the following query:

```graphql
{
  books {
    title
    author
  }
  fastBook: book(id: 1) {
    title
    author
  }
  slowBook: book(id: 2) {
    title
    author
  }
  someReallyLongNameThat: book(id: 2) {
    title
    author
  }
}
```
npm package: @jmarcelof/leaflet.markercluster.d
Description: TypeScript definitions for Leaflet.markercluster
Latest version: 1.4.2

# Installation
> `npm install --save @types/leaflet.markercluster`

# Summary
This package contains type definitions for Leaflet.markercluster (https://github.com/Leaflet/Leaflet.markercluster).

# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/leaflet.markercluster.

### Additional Details
 * Last updated: Mon, 23 Dec 2019 18:30:55 GMT
 * Dependencies: [@types/leaflet](https://npmjs.com/package/@types/leaflet)
 * Global values: none

# Credits
These definitions were written by Robert Imig (https://github.com/rimig).
npm package: @jmarianski/strapi-plugin-soft-delete
Description: Add a soft delete feature to your Strapi v5 project
Author: Jacek Mariański
Latest version: 1.0.0

# Strapi v5 - Soft Delete Plugin

A powerful Strapi v5 plugin that adds soft delete functionality to your content types, allowing you to "delete" entries without permanently removing them from the database.

## ✨ Features

- 🛢 **Database Integration**
  - Adds `_softDeletedAt`, `_softDeletedById` and `_softDeletedByType` fields to all collection content types
  - Fields are private and not visible in the Content Manager or through the API

- 🗂️ **Content Manager & API**
  - Delete operations behave as soft deletes
  - Sets `_softDeletedAt` to current datetime, `_softDeletedById` to user ID, and `_softDeletedByType` to deletion initiator type
  - Soft deleted entries are automatically excluded from queries

- 👤 **RBAC (Role-Based Access Control)**
  - Renames "Delete" permission to "Soft Delete"
  - Adds "Deleted Read" permission for viewing soft deleted entries
  - Adds "Deleted Restore" permission for restoring entries
  - Adds "Delete Permanently" permission for permanent deletion
  - Plugin-level "Read" and "Settings" permissions

- 🗂️ **Soft Delete Explorer**
  - Admin panel interface for viewing soft deleted entries
  - Restore entries with one click
  - Permanently delete entries when needed
  - Organized by content type

- ⚙️ **Settings**
  - Restoration Behavior configuration
  - Single Type restoration options (soft delete vs permanent delete existing entries)
  - Draft & Publish restoration options (restore as draft vs unchanged state)

## 📦 Installation

Install the plugin via npm:

```bash
npm install strapi-plugin-soft-delete
```

Add the plugin to your Strapi configuration in `config/plugins.js` or `config/plugins.ts`:

```javascript
module.exports = {
  // ...other plugins
  'soft-delete': {
    enabled: true,
  },
};
```

## 🚀 Usage

1. **Install and configure** the plugin as described above
2. **Restart your Strapi server** to apply the database changes
3. **Access the Soft Delete Explorer** from the admin panel sidebar
4. **Configure permissions** for your admin roles in Settings > Administration Panel > Roles
5. **Set restoration behavior** in Settings > Soft Delete > Restoration Behavior

## ⚠️ Important Notes

- **Backup your database** before installing in production
- The plugin modifies your database schema by adding soft delete fields
- Once enabled, all delete operations become soft deletes for supported content types
- Use "Delete Permanently" feature with caution as it cannot be undone
- Plugin is still a work-in-progress state. Tested locally on draft-publish environments
- Originally a fork of strapi v4 plugin, but rewritten from scratch in the end

## 📋 Requirements

- Node.js >= 18.x
- Strapi >= 5.0.0
npm package: @jmarthernandez/express-spa
Description: express middleware for push state
Author: Justin Hernandez
Latest version: 0.0.1

# Express SPA
Allows for single page apps to either be bookmarked or refreshed even when using front end routing.

## Usage
`npm install --save @jmarthernandez/express-spa`

```
var express = require('express');
var pushState = require('@jmarthernandez/express-spa');

var app = express();
var static = __dirname + 'path/to/static/directory';

app.use(express.static(root));
app.use(@jmarthernandez/express-spa('index.html', { root: root }));

app.listen(8080, function () {
  console.log('Now you can bookmark your single page application');
});
```
npm package: @jmartsch/address-autocomplete
Description: adds Google address autocompletition to form fields and checks on submit, if the entered address can be found. If not, it suggests a correction.
Author: Jens Martsch
Latest version: 0.2.4

# Address Autocomplete

adds Google address autocompletition to form fields and checks on submit, if the entered address can be found. If not, it suggests a correction.

```javascript
if (document.getElementById('form')) {

  import('@googlemaps/js-api-loader').then(module => {
    let Loader = module.Loader;

    const loader = new Loader({
      apiKey: 'GOOGLE-API-KEY',
      version: 'weekly',
      libraries: ['places'],
      language: 'de',
    });
    loader
      .load()
      .then(() => {
        console.log('loader ist loaded');
        import('./googleMapsAutocomplete').then((autocomplete) => {
            console.log(autocomplete.default);
            const useMap = false;
            let autocompleteForm = document.getElementById('form');
            let autocompleteFields = [
              {
                id: 'strasse',
                googleResultName: 'route',
                outputFormat: 'short_name',
                autocomplete: true
              },
              {
                id: 'plz',
                googleResultName: 'postal_code',
                outputFormat: 'long_name',
                autocomplete: true,
                types: ['postal_code']
              },
              {
                id: 'ort',
                googleResultName: 'locality',
                outputFormat: 'long_name',
                autocomplete: true,
                types: ['(cities)']
              },
              {
                id: 'hausnr',
                googleResultName: 'street_number',
                outputFormat: 'long_name',
                autocomplete: false
              },
            ]
            new autocomplete.default(autocompleteForm, autocompleteFields);

          }
        );
      })
      .catch(e => {
        console.log(e);
        // do something
      });
  });


}
```
### Install

NPM

```bash
npm install @jmartsch/address-autocomplete
```

### Import

JavaScript ES6 import

```js
import lazyframe from 'googleMapsAutocomplete';
import 'styles.css'
```