open-index/open-npm huggingface dataset:
npm package: @ss-micro/common
Description: Common utilities and helpers for SS Microservice architecture
Author: Your Name
Latest version: 0.1.0

# @ss-micro/common

Common utilities, decorators, DTOs, and helpers for SS Microservice architecture.

## Installation

```bash
npm install @ss-micro/common --save
```

## Features

This package provides:

- **Decorators**: Authentication and authorization decorators (Public, Roles, CurrentUser)
- **DTOs**: Common data transfer objects for pagination, API responses
- **Utilities**: String manipulation, async retries, random string generation

## Usage Examples

### Decorators

```typescript
import { Controller, Get } from '@nestjs/common';
import { Public, Roles, CurrentUser } from '@ss-micro/common';

@Controller('users')
export class UsersController {
  @Public()
  @Get('/public-endpoint')
  publicEndpoint() {
    return { message: 'This endpoint is public' };
  }
  
  @Roles('admin', 'superuser')
  @Get('/admin-only')
  adminEndpoint() {
    return { message: 'This endpoint is for admins only' };
  }
  
  @Get('/profile')
  userProfile(@CurrentUser() user) {
    return { user };
  }
}
```

### DTOs

```typescript
import { Controller, Get, Query } from '@nestjs/common';
import { PaginationDto, PaginatedResponseDto, ApiResponseDto } from '@ss-micro/common';

@Controller('products')
export class ProductsController {
  @Get()
  async getProducts(@Query() paginationDto: PaginationDto) {
    const products = await this.productService.findAll(
      paginationDto.skip,
      paginationDto.limit
    );
    
    const total = await this.productService.count();
    
    const response = new PaginatedResponseDto(
      products,
      total,
      paginationDto.page,
      paginationDto.limit
    );
    
    return ApiResponseDto.success(response, 'Products retrieved successfully');
  }
}
```

### Utilities

```typescript
import { Injectable } from '@nestjs/common';
import { retryAsync, toCamelCase, generateRandomString } from '@ss-micro/common';

@Injectable()
export class SomeService {
  async doSomethingWithRetry() {
    const result = await retryAsync(
      () => this.unreliableService.someOperation(),
      3,  // 3 retries
      1000  // 1 second delay between retries
    );
    
    return result;
  }
  
  transformData(input: string) {
    return toCamelCase(input);
  }
  
  generateToken() {
    return generateRandomString(32);
  }
}
```

## License

MIT
npm package: @ss-pkg-test/pkgtest
Description: A minimal package with tsup and changeset
Latest version: 0.3.0

# @ss-pkg-test/pkgtest

A minimal package project with tsup and changeset.

## Installation

```bash
npm install @ss-pkg-test/pkgtest
```

## Usage

```typescript
import { greet } from '@ss-pkg-test/pkgtest';

console.log(greet('World')); // Hello, World!
```

## Development

```bash
# Build
npm run build

# Watch mode
npm run dev

# Create a changeset
npm run changeset

# Version packages
npm run version

# Publish
npm run release
```
npm package: @ss1gg/tsconfig
Description: Handy TypeScript tsconfig.json
Author: ss1gg
Latest version: 1.1.0

# `@ss1gg/tsconfig`

> ✒ Here is my personal comfortable [TypeScript](https://www.typescriptlang.org) config.


## Install

```sh
npm install -D @ss1gg/tsconfig
```

```sh
yarn add @ss1gg/tsconfig -D
```

```sh
pnpm add @ss1gg/tsconfig -D
```

## Usage

```json
// tsconfig.json
{
  "extends": "@ss1gg/tsconfig",
  "compilerOptions": {
    "outDir": "dist" // placeholder for output directory
  },
  "include": [
    "src" // includes for typescript
  ]
}
```