Skip to content

eunchurn/packages

Repository files navigation

Unit Test CodeQL Create Pull Request /canary-release Node.js Package

@eunchurn node packages

npm npm version GitHub version License: MIT

Ring buffer

Usage

import { Ring } from "@eunchurn/ring-ts";

const ring = new Ring(100);

ring.push(1);

console.log(ring.toArray());
// [1]

const { isEmpty, count, isFull, size } = testRing;
console.log({ isEmpty, count, isFull, size });

// { isEmpty: false, count: 1, isFull: false, size: 100 }

ring.dequeue();

console.log(ring.toArray());
// []

console.log({ isEmpty, count, isFull, size });

// { isEmpty: true, count: 0, isFull: false, size: 100 }

npm npm version GitHub version License: MIT

TypeScript Project initialize

Project init script for TypeScript, ESLint, Prettier

Usage

npx @eunchurn/init

npm npm version GitHub version License: MIT

Eunchurn ESLint configuration

Code lint with TypeScript and Prettier

Install

yarn add -D @eunchurn/eslint-config

Usage

add .eslintrc.json

{
  "extends": ["@eunchurn/eslint-config"],
  "rules": {
    // your rules
  }
}

ESLint Configuration

This configuration follow

module.exports = {
  parser: "@typescript-eslint/parser",
  plugins: ["@typescript-eslint"],
  extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:prettier/recommended"],
  parserOptions: {
    ecmaVersion: 2018,
    createDefaultProgram: true,
  },
  rules: {
    "prettier/prettier": ["error"],
    "no-console": ["off"],
    "import/no-extraneous-dependencies": ["off"],
    "no-return-await": ["off"],
    "import/extensions": ["off"],
    "import/no-unresolved": ["off"],
    "class-methods-use-this": ["off"],
    "no-unused-vars": ["off"],
    "no-useless-escape": ["off"],
    "import/prefer-default-export": ["off"],
    "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
    "@typescript-eslint/explicit-function-return-type": "off",
    "@typescript-eslint/no-explicit-any": ["warn"],
  },
};

npm npm version GitHub version License: MIT

Standard Prettier configuration for Danbi team projects.

Installation

yarn add -D @eunchurn/prettier-config

Usage

In your package.json

{
  "prettier": "@eunchurn/prettier-config"
}

If you wish you extend these settings then in your .prettierrc.js

module.exports = {
  ...require("@eunchurn/prettier-config"),
};

npm npm version GitHub version License: MIT

Getting public IP address

Installation

yarn add @eunchurn/ipaddress

Usage

function getIPAddresses()

실제 물리적 네트워크 인터페이스의 IP주소를 가져옴 (sync)

import { getIPAddresses } from "@eunchurn/ipaddress";

const ipAddress = getIPAddresses(); // IP Address

function getNetworkIP(callback: (error: Error | undefined, data: string) => void)

www.google.com을 연결하는 인터페이스의 IP주소를 가져옴: 이더넷 혹은 Wi-Fi 연결을 동시에 사용하거나, 여러 네트워크 인터페이스가 열려있는 경우 실제 네트워크 주소를 가져옴.

import { getNetworkIP } from "@eunchurn/ipaddress";

getNetworkIP((error, data) => {
  console.log(data); // IP Address
});

Initial

npm config set access public