open-index/open-npm huggingface dataset:
npm package: @game-sandbox/types
Description: Shared Prisma + Zod types for Game Sandbox
Author: Irfan Maulana
Latest version: 1.0.0

# @game-sandbox/types

Shared Prisma + Zod types for Game Sandbox project.

## Installation

```bash
npm install @game-sandbox/types
```

## Usage

```typescript
import { User, Character, Equipment, BattleResult } from "@game-sandbox/types";

// Use the types in your client-side code
const user: User = {
  id: "user123",
  username: "player1",
  email: "player@example.com",
  // ... other properties
};
```

## Available Types

This package includes all the generated types from your Prisma schema:

- **Models**: User, Character, Equipment, Item, Monster, etc.
- **Enums**: BattleResult, EquipmentType, Rarity, etc.
- **Schemas**: Zod validation schemas for all models
- **Helpers**: Utility types and helpers

## Development

These types are automatically generated from the Prisma schema in the server repository. To regenerate:

1. Update the Prisma schema
2. Run `npm run types:generate` in the server repo
3. The types will be automatically updated in this package

## License

MIT
npm package: @game.object/ts-class-entities
Description: A little toolbox of classes for some game development
Author: tobidot
Latest version: 0.0.5

# Ts Class Entities

Disclaimer:
This is a privately managed package feel free to use it at own risk.
At times i will introduce major changes.

> {danger} This package is far from stable.

## Description
This Package is providing Prefabs and Classes in the 'class-entity' coding style.


## Quick Version Log
- 0.0.0 
  - Project Create
- 0.0.1
  - Add the basic entity components
- 0.0.2 
  - Add helper functions for facotries 
- 0.0.3 
  - Loosing up the connection between BaseClassEntity and SimpleClassEntity
npm package: @game.object/ts-game-toolbox
Description: A little toolbox of classes for some game development
Author: tobidot
Latest version: 5.0.4

# Ts Game Toolbox

Disclaimer:
This is a privately managed package feel free to use it at own risk.
At times i will introduce major changes.

> {danger} This package is far from stable.

## Description

This is intended to be a personal toolbox for Games or Programs developed in Javascript/Typescript.
It contains a few reusable funcitons and classes, increasing over time.

## Recommendation

These tools will be mostly developed with a application in mind that will use React,
to handle the Menu and p5.js to display the gamestate.

## Namespaces

The tools are divided into the following namespaces.

### Assets

Tools to help with loading storing and retrieveng various types of assets.

### Geometry

Contains classes and functions handling Geometric calculations

The Geometric functions and classes assume a 2D-coordinate system,
where -x is left +x is at the right -y is at the bottom and +y at the top.

|..|-y|..|  
|-x|..|+x|  
|..|+y|..|

The angle of a vector will mostly be expected in radians (from 0 to +2Pi).
With angle 0 the vector is pointing to the right.

### Trees

Several classes and implementations of tree-structure to store and access data.

### Signals

Helpers to connect distant parts of the programs with events and signals

### Test-Helpers

Tools for a custom test-suite

## Quick Version Log

- 5.0.0
  - Removed MVC and "Abstract" module to concentrate on general helpers
- 4.0.0
  - Major restructuring of the mvc part
- 3.0.0
  - Cut the Dependencies to react and p5
- 2.0.0
  - Introduce the abstract MVC-Components
- 1.0.0
  - Initial version
npm package: @game3dee/darkstone-tools
Description: A set of tools for modding Darkstone
Author: Ithamar R. Adema
Latest version: 1.0.6

# Darkstone Tools

This repository contains [Darkstone](https://wikipedia.org/wiki/Darkstone) modding tools. You can install them using [NodeJS](https://nodejs.org) npm by using:

    npm install -g @game3dee/darkstone-tools

Rerun the command to update to the latest release. If you're feeling experimental, and want the bleeding edge, you can use:

    npm install -g Game3DEE/darkstone-tools

See below for a list of tools included.

## MTF

This tool enables you to list the content of an MTF file, extract MTF files, and create them. Please note that currently compression is not supported, so if you extract and recreate an MTF file, it'll likely be much bigger.

List:

    mtf list ddata.MTF

Extraction:

    mtf extract myquest.mtf /path/where/I/unpack

Creation:

    mtf create mynewshiny.mtf /path/from/where/I/pack/DATA

#### More to come...
npm package: @gamealytics/web-sdk
Description: GameAlytics SDK for Web/Node.js - Cross-platform analytics for game developers
Author: GameAlytics Team
Latest version: 2.0.20

# GameAlytics Web SDK

Version: **2.0.20**

Cross-platform analytics SDK for web-based games and applications.

## Installation

### Using npm (Recommended)

```bash
npm install @gamealytics/sdk
```

### Using CDN

```html
<script src="https://cdn.jsdelivr.net/npm/@gamealytics/sdk@2.0.20/dist/gamealytics.min.js"></script>
```

### Using GitHub Releases

Download the latest `gamealytics-web-sdk.js` from the [Releases](https://github.com/gamealytics/gamealytics-sdk/releases) page.

## Usage

### Initialize the SDK

```javascript
import GameAlytics from '@gamealytics/sdk';

// Initialize GameAlytics
GameAlytics.init({
    apiKey: 'your-api-key',
    environment: 'sandbox', // or 'production'
    userId: 'unique-user-id' // optional
});
```

### Track Events

```javascript
// Custom events
GameAlytics.customEvent('level_completed', {
    eventValue: 100,
    level: '1',
    time: '120'
});

// Progression events
GameAlytics.progressionEvent({
    progression: 'start',
    progressionName: 'world_1'
});

// Ad events
GameAlytics.adEvent({
    adType: 'rewarded_video',
    adPlacement: 'main_menu',
    adProvider: 'admob'
});
```

### TypeScript Support

The SDK includes full TypeScript definitions:

```typescript
import GameAlytics, { 
    GameAlyticsConfig, 
    CustomEventData, 
    ProgressionEventData 
} from '@gamealytics/sdk';

const config: GameAlyticsConfig = {
    apiKey: 'your-api-key',
    environment: 'sandbox'
};

GameAlytics.init(config);
```

## Requirements

- Node.js 16.0 or higher (for development)
- Modern browsers (ES2015+)
- TypeScript 4.0+ (for TypeScript projects)

## Building from Source

```bash
# Clone the repository
git clone https://github.com/gamealytics/gamealytics-sdk.git
cd gamealytics-sdk/web

# Install dependencies
npm install

# Build the SDK
npm run build

# Run tests
npm test

# Run example
npm run example
```

## License

MIT License - see LICENSE file in the root directory.
npm package: @gameastic/box2d-testbed
Description: Box2D physics debugger for PixiJS using Pixi.Graphics
Author: https://github.com/gameastic
Latest version: 1.0.0

[![npm version](https://badge.fury.io/js/%40gameastic%2Fbox2d-testbed.svg)](https://badge.fury.io/js/%40gameastic%2Fbox2d-testbed)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

# Box2d Testbed for PixiJS
npm package: @gameastic/crypto
Description: Simple encrypt/decrypt functionality
Author: https://github.com/gameastic
Latest version: 1.0.1

[![npm version](https://badge.fury.io/js/%40gameastic%2Fcrypto.svg)](https://badge.fury.io/js/%40gameastic%2Fcrypto)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

# Simple encrypt/decrypt functionality
npm package: @gameastic/haptic
Description: Haptic System
Author: https://github.com/gameastic
Latest version: 1.0.1

[![npm version](https://badge.fury.io/js/%40gameastic%2Fhaptic.svg)](https://badge.fury.io/js/%40gameastic%2Fhaptic)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

# Haptic System
npm package: @gameastic/localization
Description: Localization Lib
Author: https://github.com/gameastic
Latest version: 1.0.1

[![npm version](https://badge.fury.io/js/%40gameastic%2Flocalization.svg)](https://badge.fury.io/js/%40gameastic%2Flocalization)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

# Localization Lib
npm package: @gameastic/mono
Description: MVC like architectural solution
Author: https://github.com/gameastic
Latest version: 1.0.2

[![npm version](https://badge.fury.io/js/%40gameastic%2Fmono.svg)](https://badge.fury.io/js/%40gameastic%2Fmono)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

# MVC like architectural solution
npm package: @gameastic/pixi-grid
Description: Grid System for PixiJS
Author: https://github.com/gameastic
Latest version: 1.0.2

[![npm version](https://badge.fury.io/js/%40gameastic%2Fpixi-grid.svg)](https://badge.fury.io/js/%40gameastic%2Fpixi-grid)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

# Grid System for PixiJS
npm package: @gameastic/planck-testbed
Description: PlankJS physics debugger for PixiJS
Author: https://github.com/gameastic
Latest version: 1.0.3

[![npm version](https://badge.fury.io/js/%40gameastic%2Fplanck-testbed.svg)](https://badge.fury.io/js/%40gameastic%2Fplanck-testbed)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

# Planck Testbed for PixiJS
npm package: @gameastic/stats
Description: Performance Monitor for WebGL
Author: https://github.com/gameastic
Latest version: 1.0.4

[![npm version](https://badge.fury.io/js/%40gameastic%2Fstats.svg)](https://badge.fury.io/js/%40gameastic%2Fstats)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
![npm bundle size](https://img.shields.io/bundlephobia/min/@gameastic/stats)

# Performance Monitor for WebGL

-   **FPS** Frames rendered in the last second.
-   **MS** Milliseconds needed to render a frame.
-   **MB** MBytes of allocated memory.
-   **DC** Draw Calls made within one frame.
-   **TC** Texture Count used within one frame.
-   **CUSTOM** User-defined panel support.

### Screenshots

![fps.png](https://github.com/gameastic/pkg-stats/blob/main/packages/stats/files/fps.png?raw=true)
![ms.png](https://github.com/gameastic/pkg-stats/blob/main/packages/stats/files/ms.png?raw=true)
![mb.png](https://github.com/gameastic/pkg-stats/blob/main/packages/stats/files/mb.png?raw=true)
![custom.png](https://github.com/gameastic/pkg-stats/blob/main/packages/stats/files/custom.png?raw=true)
npm package: @gamechanger/datadog-apm
Description: Utility functions to help integrate Datadog's APM with a Node.js client
Author: GameChanger Media
Latest version: 1.4.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Datadog APM Helpers

A lightweight wrapper over Datadog's `dd-trace` library, adding utility functions to make it easier to trace, tag, and search for your functions.

## Motivation

`dd-trace` offers power and flexibility, but with that comes complexity. This wrapper adds helpers to simplify with:

-   Tracing functions (including async)
-   Tracing class methods
-   Adding tags to the active span
-   Adding tags to the _root_ span (Required to enable filtering and searching in Trace Search and Analytics)
-   Marking a span as an error without throwing

## Install

```sh
npm install --save @gamechanger/datadog-apm
```

or

```sh
yarn add @gamechanger/datadog-apm
```

## Decorators

Your observability code should stay out of the way of your business logic, and should be easy to add and remove. Decorators are a great way to accomplish that.

```TS
// Trace a function
@APM.trace()
async function foo() {}

// Trace *all* methods of a class
@APM.trace()
class GameChanger {
    public foo() {}
    private bar() {}
}

// Trace *individual* methods of a class
class GameChanger {
    @APM.trace()
    public foo() {}
    private bar() {}
}

// The decorator can be configured to override the defaults
class EmailQueue {
    @APM.trace({ serviceName: 'queue', spanName: 'queue.message' })
    public async pop() {}
}
```

## Tags

Adding tags happens throughout the code, and so ideally adds as few lines as possible.

With vanilla `dd-trace`, you must always check if the active span exists:

```JS
const span = tracer.scope().active();

if (span !== null) {
    span.addTags({
        'http.method': req.method
    });
}
```

This wrapper helps clean things up for you:

```TS
APM.addTags({ 'http.method': req.method })
```

## Root Span Access

If you're using `koa` or `express`, you can use `APM.getRootSpanFromContext` to get the root span.
This can be used to add tags to the root span, which are then accessible in the `Trace Search & Analytics` screens in datadog.

```TS
APM.addTags({ teamId: context.params.teamId }, APM.getRootSpanFromContext(context));
```

**NOTE: This uses undocumented properties and is not guaranteed to work.** However, if the underlying `dd-trace` code were to change, it will safely fall back to adding the tags to the current span rather than the root span.

## Marking Spans as Errors

```TS
APM.markAsError(new Error('I am not thrown'))
```

## Deploying

All publishing is done through the CI pipeline.

To trigger a new deploy, simply update the version number using `npm version <version>` and then push the `package.json` change and related tag to the repo with `git push --follow-tags`.
npm package: @gamechanger/eslint-plugin
Description: GC Lint Rules for TS Projects
Author: GameChanger
Latest version: 1.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

## Gamechanger JS/TS linting rules

### Updating ES-Lint

**Follow these steps to make updates to lint tools:**

1. Make your updates locally. Be sure to run `yarn` to update lock files.
1. After your package version updates are made, be sure to update the `package.json` version. Ex: "version": "0.0.11" -> "version": "0.0.12"
1. Create tag
   * After merging your change, create a tag locally
   * switch to main branch and `git pull origin main`
   * create the tag: `git tag vx.x.xx` (replace with your version number)
   * push your tag: `git push origin vx.x.xx` (replace with your version number)
   * This will trigger the [Publish workflow](https://github.com/gamechanger/lint/actions/workflows/publish.yml) to push the new package.
1. In Eden, you can now update `@gamechanger/eslint-plugin` with the appropriate version number

---

### Testing New Hooks or Rule Changes Without Publishing

1. Have Eden cloned side-by-side with this repo (e.g. my_dir/eden and my_dir/lint). Yes, you can do this from an Eden codespace by simply backing up one directory via `cd ..` and then cloning side-by-side in the /workspaces folder.
1. From a terminal in the Eden folder run this command

```
pre-commit try-repo ../lint some_hook
```

replacing `some_hook` with either `eslint` to lint the TS and JS or `eslint-package-json` to lint the package files.

---

### Important Notes

#### additional_dependencies for eslint based hooks
It is unfortunate but necessary that the `additional_dependencies` section in the .pre-commit-hooks.yaml, for any hook that uses eslint, include ALL of the dependencies used by every eslint hook. This is because the index.js file is loaded no matter which eslint driven hook is run, and it will fail to load due to missing depenedencies. Remember, pre-commit handles dependencies differently so even if they are in the node_modules folder, that isn't good enough.

---