open-index/open-npm huggingface dataset:
npm package: @3akram/strapi-provider-upload-google-cloud-storage
Description: Google Cloud Storage provider for Strapi v5 upload
Author: 3akram
Latest version: 1.3.0

# Strapi Google Cloud Storage Provider

A Google Cloud Storage provider for Strapi v5 upload.

## Installation

```bash
yarn add @3akram/strapi-provider-upload-google-cloud-storage
```

## Configuration

### Provider Configuration

`./config/plugins.ts`
```typescript
export default ({ env }) => ({
  upload: {
    config: {
      provider: '@3akram/strapi-provider-upload-google-cloud-storage',
      providerOptions: {
        bucketName: env('GOOGLE_CLOUD_BUCKET'),
        publicFiles: true,
        uniform: true,
        basePath: '',
        baseUrl: 'https://custom-url.com' // Optional base url. Replaces https://storage.googleapis.com/{bucketName}
      },
    },
  },
});
```

### Required Environment Variables

```env
GOOGLE_CLOUD_BUCKET=your-bucket-name
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
```

### Google Cloud Setup

1. Create a Google Cloud Storage bucket
2. Enable uniform bucket-level access
3. Make the bucket publicly accessible by adding the following IAM policy:
   - Member: `allUsers`
   - Role: `Storage Object Viewer`
4. Create a service account with the following roles:
   - `Storage Object Creator`
   - `Storage Object Viewer`
   - `Storage Object Admin` (if you want to enable file deletion)
5. Download the service account key JSON file and set its path in `GOOGLE_APPLICATION_CREDENTIALS`

## Features

- Upload files to Google Cloud Storage
- Delete files from Google Cloud Storage
- Support for uniform bucket-level access
- Detailed logging for debugging
- TypeScript support

## Development

```bash
# Install dependencies
yarn install

# Build the provider
yarn build

# Run tests (when implemented)
yarn test
```

## License

MIT
npm package: @3dlyra/line3
Description: This library is a line3 part of the 3DLyra's math library.
Author: 3DLyra
Latest version: 1.0.3

# Line3
This library is a line3 part of the 3DLyra's math library.
### Installation
```
npm i @3dlyra/line3
```
### Example
```JavaScript
import * as Line3 from "@3dlyra/line3"
import * as Vector3 from "@3dlyra/vector3"

const a = Vector3.create( - 5, 0, 0 )
const b = Vector3.create( 5, 0, 0 )

const line3 = Line3.create( a, b )

// Check intersection

console.log( Line3.intersectsPoint( line3, [ 0, 0, 0 ] ) ) // true
console.log( Line3.intersectsPoint( line3, [ 0, 0.5, 0 ] ) ) // false
console.log( Line3.intersectsPoint( line3, [ 0, 0.5, 0 ], 0.1 ) ) // true

//

const out = Line3.nearestPoint( line3, [ -2.5, 1, 0 ] )

// Nearest point
console.log( [ out[ 0 ], out[ 1 ], out[ 2 ] ] ) // [ -5, 0, 0 ]

// Perpendicular point
console.log( [ out[ 3 ], out[ 4 ], out[ 5 ] ] ) // [ -2.5, 0, 0 ]

// Center point
console.log( [ out[ 6 ], out[ 7 ], out[ 8 ] ] ) // [ 0, 0, 0 ]

// Time
console.log( nearest[ 9 ] ) // 0.25

```

### API
```TypeScript
// type vector3 = Float32Array( 3 ) [or use @3dlyra/vector3]
// type line3 = Float32Array( 6 )
// type result = Float32Array( 10 )

/*
	nearest point = [ out[ 0 ], out[ 1 ], out[ 2 ] ]
	perpendicular point = [ out[ 3 ], out[ 4 ], out[ 5 ] ]
	center point = [ out[ 6 ], out[ 7 ], out[ 8 ] ]
	time = out[ 9 ]
*/

quadratic( v3a: vector3, v3a: vector3 ): Float32Array;
intersectsPoint( line3: line3, v3: vector3, tolerance?: number ): boolean;
nearestPoint( line3: line3, v3: vector3 ): result;
```
npm package: @3nobita/server
Description: Custom web server framework
Author: Bhavesh Shinde
Latest version: 1.2.6

# @3nobita/server


![npm](https://img.shields.io/npm/v/@3nobita/server?color=blue&label=npm%20version)
![npm](https://img.shields.io/npm/dw/@3nobita/server?color=green&label=weekly%20downloads)
![License](https://img.shields.io/npm/l/@3nobita/server?color=brightgreen)
![bundlephobia](https://img.shields.io/bundlephobia/minzip/@3nobita/server?label=bundle%20size)
![MadeWithLove](https://img.shields.io/badge/Made%20with-%E2%9D%A4%EF%B8%8F%20by%20Bhavesh-teal)


A lightweight Node.js HTTP framework alternative to Express.  
Super fast, super clean, and easy to use.
Lightweight web server framework made by Bhavesh Shinde 🧠🔥

## Install

```bash
npm i @3nobita/server
```
create app.js and add this code
```bash
const server = require('@3nobita/server')(); // 👈 User is using your framework

// 🧩 User-defined middlewares
server.use((req, res, next) => {
    console.log(`[LOG] ${req.method} - ${req.url}`);
    next();
});

server.use((req, res, next) => {
    req.timestamp = Date.now();
    next();
});

// 🚀 User-defined route
server.get('/', (req, res) => {
    res.send(`Request received at ${new Date(req.timestamp).toISOString()}`);
});

server.listen(3000, () => {
    console.log('Server running on port 3000');
});
```
## How to Contribute
Interested in contributing? Here's how you can help:

1. Fork the repository.
2. Make your changes.
3. Create a Pull Request.

We'd love to have your help! Check out our [CONTRIBUTING.md](CONTRIBUTING.md) for more details.


# -3nobita-server framework
npm package: @3rd/strip-bom
Description: Strip UTF-8 byte order mark (BOM) from a string
Latest version: 0.0.1

# @3rd/strip-bom

> Strip UTF-8 [byte order mark](https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8) (BOM) from a string

From Wikipedia:

> The Unicode Standard permits the BOM in UTF-8, but does not require nor recommend its use. Byte order has no meaning in UTF-8.

## Install

```sh
npm install strip-bom
```

## Usage

```js
import stripBom from '@3rd/strip-bom';

stripBom('\uFEFFunicorn');
//=> 'unicorn'
```

## Related

- [strip-bom-cli](https://github.com/sindresorhus/strip-bom-cli) - CLI for this module
- [strip-bom-buf](https://github.com/sindresorhus/strip-bom-buf) - Buffer version of this module
- [strip-bom-stream](https://github.com/sindresorhus/strip-bom-stream) - Stream version of this module