Skip to content

Sergo706/utils

Repository files navigation

Shared Utilities

A collection of generic TypeScript utilities and types.

Structure

  • generic/: Core utility functions for data manipulation, sanitization, and validation.
  • eslint/: Reusable ESLint configurations for Vue/Next.js and TypeScript.
  • types/: Shared TypeScript interfaces and unified API response formats.
  • server/: Server utilities.

Usage

ESLint Configuration

The library exports strict, pre configured ESLint setups for both pure TypeScript, Vue projects and React projects.

For Pure TypeScript Projects:

// eslint.config.mjs
import { defineStrictTSConfig } from '@riavzon/utils/eslint/strict';

export default defineStrictTSConfig({
  rootDir: import.meta.dirname,
  extraIgnores: ['coverage/**']
});

For Vue + TypeScript Projects:

// eslint.config.mjs
import { defineStrictVueConfig } from '@riavzon/utils/eslint/strict/vue';

export default defineStrictVueConfig({
  rootDir: import.meta.dirname,
  overrides: [
    {
      rules: {
        'vue/multi-word-component-names': 'off'
      }
    }
  ]
});

General Utilities

import { ensureArray, miniCache, BatchQueue } from '@riavzon/utils';

const list = ensureArray(someValue);

Server only

import { uploadCsv, run } from '@riavzon/utils/server';

await run('some shell command')
const up = await uploadCsv(csvPath, 'table_name', pool as PgPool, 'pg');
const up = await uploadCsv(csvPath, 'table_name', pool as Pool, 'mysql');

Docs: https://docs.riavzon.com/docs/utils


MIT License

About

A bunch of generic utils i reuising accross diffrenet projects.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors