open-index/open-npm huggingface dataset:
npm package: @iankibetsh/gitlab-mr
Description: Nodejs app to help create gitlab merge requests
Author: Ian Kibet
Latest version: 1.0.1


# @iankibetsh/gitlab-mr

This is a Node.js application designed to assist in the management and creation of GitLab merge requests. It uses the `axios` library to make API calls to GitLab.

## Installation

To install the package, run the following command:

```bash
npm install -g @iankibetsh/gitlab-mr
```

## Usage

You can use the `createMr` function via the command line as follows:

```bash
gitlab-mr open ${CI_PROJECT_ID} ${CI_COMMIT_REF_NAME} master --title="${CI_COMMIT_REF_NAME} WIP" -p ${PRIVATE_TOKEN}
```

In this command:

- `${CI_PROJECT_ID}` should be replaced with your GitLab project ID.
- `${CI_COMMIT_REF_NAME}` should be replaced with the name of your commit reference.
- `master` is the target branch for the merge request.
- `${CI_COMMIT_REF_NAME} WIP` is the title of the merge request.
- `${PRIVATE_TOKEN}` should be replaced with your GitLab private token.

This command will create a merge request with the specified parameters.

## Docker

A Dockerfile is included in the repository. It uses the `lorisleiva/laravel-docker:8.2` image and installs Node.js version 16.13.0 using `nvm`. The application is then installed and linked using `npm`.

## Dependencies

- `axios`: Used to make HTTP requests.
- `commander`: Used for command-line interfaces.

## License

This project is licensed under the MIT License.


Please replace `${CI_PROJECT_ID}`, `${CI_COMMIT_REF_NAME}`, and `${PRIVATE_TOKEN}` with your actual GitLab project ID, commit reference name, and private token respectively.
npm package: @iankulin/is-even
Description: Check if a number is even
Author: iankulin
Latest version: 1.0.3

# @iankulin/is-even [![NPM version](https://img.shields.io/npm/v/@iankulin/is-even.svg?style=flat)](https://www.npmjs.com/package/@iankulin/is-even) [![NPM total downloads](https://img.shields.io/npm/dt/@iankulin/is-even.svg?style=flat)](https://npmjs.org/package/@iankulin/is-even)


* A simple utility to check if a number is even.
* Demo project for a [blog post](https://devendevour.wordpress.com/2024/10/14/code-reuse-by-publishing-to-npm/) about publishing code to npm.

## Installation

```bash
npm install @iankulin/is-even
```

## Usage

```javascript
import { isEven } from '@iankulin/is-even';

console.log(isEven(4));  // true
console.log(isEven(7));  // false
console.log(isEven(0));  // true
console.log(isEven(-2)); // true
```

## Changelog

- **1.0.0** - initial
- **1.0.1** - added types
- **1.0.3** - move to workflow for publishing

## License

MIT  
[Source](https://github.com/IanKulin/is-even)
npm package: @ianlangs/mathscript
Description: superset de js
Author: ianlangs
Latest version: 1.8.0

# MathScript

## Uso

### compilar

msc --init &lt;file list&gt;

msc msconfig.json # o solo msc

### ejecutar (un solo archivo)

ms-node main.ms

## Configuración

- msc --init &lt;file list&gt; -> genera msconfig.json
- Files -> archivos a traducir

## Sintaxis

### Funciones

```ms
using("module")
fn f(x) {
    return x
}
```

compila a:

```js
require("module")
function f(x) {
    return x
}
``` 

### variables

```ms
var x1 = value
let x2 = value
const x3 = value

//luego, solo con let
immut x2
```
npm package: @ianlintner/theme
Description: Shared theme components and configuration for Portfolio apps
Author: Ian Lintner
Latest version: 0.1.0

# @ianlintner/theme

Shared theme components and configuration for Portfolio apps.

## Installation

```bash
pnpm add @ianlintner/theme
```

## Usage

### 1. Configure Tailwind

Add the theme preset to your `tailwind.config.ts`:

```typescript
import type { Config } from "tailwindcss";
import themePreset from "@ianlintner/theme/tailwind.config";

const config: Config = {
  presets: [themePreset],
  content: [
    "./src/**/*.{js,ts,jsx,tsx,mdx}",
    // Add the theme package to content to ensure classes are generated
    "./node_modules/@ianlintner/theme/dist/**/*.{js,mjs}",
  ],
  // ...
};

export default config;
```

### 2. Import CSS

Import the global styles in your root layout or entry file (e.g., `src/app/globals.css` or `src/app/layout.tsx`):

```css
@import "@ianlintner/theme/styles.css";
```

Or in Next.js `layout.tsx`:

```tsx
import "@ianlintner/theme/styles.css";
```

### 3. Use ThemeProvider

Wrap your application with the `ThemeProvider`:

```tsx
import { ThemeProvider } from "@ianlintner/theme";

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>
        <ThemeProvider>{children}</ThemeProvider>
      </body>
    </html>
  );
}
```

### 4. Use Components

```tsx
import { ThemeSwitcher } from "@ianlintner/theme";

export function Header() {
  return (
    <header>
      <ThemeSwitcher />
    </header>
  );
}
```
npm package: @ianlucas/cs2-lib
Description: A TypeScript library for manipulating Counter-Strike 2 data
Author: Ian Lucas
Latest version: 7.32.0

# cs2-lib

> A TypeScript library for manipulating Counter-Strike 2 data

This library contains items and data from Counter-Strike 2, including utility functions and classes for interacting with them using TypeScript.

## Install

```sh
npm install @ianlucas/cs2-lib
```

## Usage

```typescript
import { CS2Economy, CS2_ITEMS } from "@ianlucas/cs2-lib";
import { english } from "@ianlucas/cs2-lib/translations";

CS2Economy.use({
    items: CS2_ITEMS,
    language: english
});

const item = CS2Economy.getById(307);

item.name;
//=> "AWP | Dragon Lore"
```

## Download asset images

By default the library uses my CDN at `cdn.cstrike.app` for image URLs. If you need to self-host your content, you can find and download the latest images at [cs2-lib-assets repository](https://github.com/ianlucas/cs2-lib-assets). Make sure to point the assets base URL to your website:

```typescript
CS2Economy.use({
    assetsBaseUrl: "https://your-website.com/assets",
    items: CS2_ITEMS,
    language: english
});
```
npm package: @ianlucas/cs2-lib-inspect
Description: An extension for cs2-lib to create Counter-Strike 2 inspect links
Author: Ian Lucas
Latest version: 5.5.0

# cs2-lib-inspect

> An extension for cs2-lib to create Counter-Strike 2 inspect links

## Install

```bash
npm install @ianlucas/cs2-lib-inspect
```

## Usage

```typescript
import { CS2Economy } from "@ianlucas/cs2-lib";
import { generateInspectLink } from "@ianlucas/cs2-lib-inspect";

const link = generateInspectLink(CS2Economy.getById(307));
//=> "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%2000180920D802280638004001B9A9F1D4"
```
npm package: @ianlucas/remix-auth-steam
Description: Remix authentication strategy for Steam
Author: Ian Lucas
Latest version: 7.0.0

# remix-auth-steam

> A Steam strategy for Remix Auth library

## Install

```bash
npm install @ianlucas/remix-auth-steam
```

## Usage

### Adding it to Remix Auth

```typescript
import { SteamStrategy as BaseSteamStrategy } from "@ianlucas/remix-auth-steam";
import { Strategy } from "remix-auth/strategy";
import SteamAPI, { type UserSummary } from "steamapi";

class SteamStrategy extends BaseSteamStrategy<string> {
    constructor() {
        super(
            async () => ({
                returnURL: STEAM_CALLBACK_URL
            }),
            async ({ userID }) =>
                await upsertUser((await new SteamAPI(STEAM_API_KEY).getUserSummary(userID)) as UserSummary)
        );
    }
}

export const authenticator = new Authenticator<string>();
authenticator.use(new SteamStrategy(), "steam");
```

### Using it in routes

#### `sign-in._index.tsx`

```typescript
export async function loader({ request }: Route.LoaderArgs) {
    return authenticator.authenticate("steam", request);
}
```

#### `sign-in.steam.callback._index.tsx`

```typescript
export async function loader({ request }: Route.LoaderArgs) {
    const userId = await authenticator.authenticate("steam", request);
    const session = await getSession(request.headers.get("cookie"));
    session.set("userId", userId);
    throw redirect("/", {
        headers: {
            "Set-Cookie": await commitSession(session)
        }
    });
}
```
npm package: @ianmartorell/billomat-ts
Description: Billomat API implementation in TypeScript for use in Node.js
Author: Seibert Media GmbH
Latest version: 0.3.0

# billomat-ts

![npm version](https://img.shields.io/npm/v/billomat-ts)
![npm bundle size](https://img.shields.io/bundlephobia/min/billomat-ts)
![GitHub repo size](https://img.shields.io/github/repo-size/seibert-media/billomat-ts)
![GitHub contributors](https://img.shields.io/github/contributors/seibert-media/billomat-ts)
![Twitter Follow](https://img.shields.io/twitter/follow/seibertmedia?style=social)
![License](https://img.shields.io/npm/l/billomat-ts)

`billomat-ts` is a library that allows TypeScript developers to connect to the popular online accounting software [Billomat](https://www.billomat.com/).

There's realistic mock data for the [client](https://www.billomat.com/en/api/clients/), [client property value](https://www.billomat.com/en/api/clients/properties/), [confirmations](https://www.billomat.com/en/api/confirmations/) and [invoice data](https://www.billomat.com/en/api/invoices/) types in Billomat's API. It follows that those data types are most likely to work as expected. All other data types are likely to work well though. If you want to contribute, please read [our contributing guidelines](CONTRIBUTING.md).

## Prerequisites

Before you begin, ensure you have met the following requirements:

-   You have installed the latest version of `node` and `npm`
-   You have read Billomat's own documentation about their API
-   [You have authentication information ready](https://www.billomat.com/en/api/basics/authentication/). [You'll likely want to configure an app inside of Billomat](https://www.billomat.com/en/api/basics/rate-limiting/). Make sure you have the base url to your Billomat instance, and an API key. If you go ahead an configure an app, you can also pass your app secret and app id into `billomat-ts`.

## Installing `billomat-ts`

To install `billomat-ts`, simply run:

```bash
npm install billomat-ts
```

## Using `billomat-ts`

For information on how to use `billomat-ts`, have a look at this example:

```typescript
import { Billomat, getBillomatApiClient } from 'billomat-ts';
import { readFileSync } from 'fs';

const config = JSON.parse(readFileSync('config.json', 'utf-8'));
const billomat = getBillomatApiClient(config);

billomat.clients
    .list()
    .then((clients: Billomat.Client[]) =>
        clients.map((client: Billomat.Client) => client.name).map((name) => console.log(name))
    )
    .catch(console.error);
```

`billomat-ts` currently supports `list`, `get`, `create`, and `edit` operations on all known data types. The `list` functions accept query arguments, etc. In case these methods don't satisfy your requirements, you can instead use the `raw` method to perform your own requests.

## Contact

If you want to contact me you can reach me at jrost@seibert-media.net. Also feel free to open an issue if you find a bug or have a question.

## License

This project uses the [MIT](https://opensource.org/licenses/MIT) license.
npm package: @ianmartorell/restyped-axios
Description: Axios typings for consuming RESTyped APIs
Author: Ian Martorell
Latest version: 2.0.2

# RESTyped Axios

Axios typings for consuming [RESTyped](https://github.com/rawrmaan/restyped) APIs

## Usage

`npm install restyped-axios`

_Note: >=2.0.0 supports TypeScript 2.8 and higher. Use a lower version if you need TypeScript 2.4-2.7 support._

It's just like normal axios, except you'll need to provide a RESTyped API definition file for the API you want to use.

```typescript
import axios from 'restyped-axios'
import {GiphyAPI} from 'restyped-giphy-api'

const client = axios.create<GiphyAPI>({baseURL: 'http://api.giphy.com/v1'})

// You'll get a compile error if you call an invalid route or use incorrect query params. Yay!
client.request({
  url: '/gifs/trending',
  params: {
    api_key: 'Qr5fw...'
  }
}).then(...)
```

## Special cases

### GET with query params (e.g. `/gifs/trending?api_key=...`)

Use the `client.request({url: ..., params: ...})` syntax instead of `client.get` in order to have your params typechecked. See above.

### Routes with params in their paths (e.g. `/posts/:id/like`)

Explicitly declare the canonical route in angle brackets to avoid an invalid route error.

```typescript
client.post<'/posts/:id/like'>('/posts/3/like')
```

## Popular APIs to try out

- Giphy API: [`restyped-giphy-api`](https://github.com/rawrmaan/restyped-giphy-api)