npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ssaju

v0.2.0

Published

Tiny, blazing-fast saju/manselyeok engine with LLM-ready output. Zero deps, gzip 15KB, 0.04ms per calc.

Downloads

1,529

Readme

ssaju

🐶작고 ⚡빠른 사주/만세력 라이브러리.

gzip 15KB · 계산 0.04ms · 의존성 0개

npm install ssaju

생년월일 하나 넣으면 원국, 십성, 12운성, 합충형파해, 신살, 격국, 용신, 대운, 세운, 월운, 공망까지 한 방에 다 나옵니다. LLM한테 먹이기 좋은 toCompact()랑 사람 눈에 예쁜 toMarkdown() 두 가지 출력 탑재.

🤔 왜 ssaju?

| | | |:--|:--| | 🐶 작다 | gzip 15KB, 의존성 제로 | | ⚡ 빠르다 | 평균 0.04ms, 초당 24,000건 처리 | | 🎯 정확하다 | 한국천문연구원 음력 데이터와 천문학적 계산에 기반한 근사 공식 사용 및 절입시각(시/분) 기준 계산 | | 🤖 LLM-ready | 사주 해석에 필요한 거의 모든 정보를 LLM friendly하게 950토큰으로 압축 제공 |

🚀 3초 컷

import { calculateSaju } from "ssaju";

const result = calculateSaju({
  year: 2001, month: 11, day: 3,
  hour: 14, minute: 20,
  gender: "남",
});

result.toCompact();  // 🤖 LLM한테 던지세요
result.toMarkdown(); // 👀 사람한테 보여주세요

📦 API

| 함수 | 하는 일 | |:--|:--| | calculateSaju(input) | 사주 분석 풀 패키지 🎁 | | result.toCompact() | LLM용 압축 텍스트 🤖 | | result.toMarkdown() | 사람용 Markdown 테이블 👀 | | lunarToSolar(y, m, d, leap) | 음력 → 양력 🌙→☀️ | | solarToLunar(y, m, d) | 양력 → 음력 ☀️→🌙 |

calculateSaju({
  // 필수
  year: 2001,
  month: 11,
  day: 3,

  // 선택 (다 안 넣어도 됨)
  hour: 14,             // 기본 12
  minute: 20,            // 기본 0
  gender: "남",          // "남" | "여"
  calendar: "solar",     // "solar" | "lunar"
  leap: false,           // 음력 윤달 여부
  timezone: "Asia/Seoul",
  longitude: 126.9784,   // applyLocalMeanTime=true일 때
  applyLocalMeanTime: false,
  now: new Date(),       // 테스트/재현용 기준 시각
});

📊 출력 비교

| 포맷 | 토큰 수 | 언제 쓰나 | |:--|--:|--:| | toCompact() | ~950 | 🤖 LLM API 호출할 때 | | toMarkdown() | ~2,170 | 👀 UI에 예쁘게 보여줄 때 |

🔍 출력 샘플

## 기본
2001.11.03 14:20 남 양력 Asia/Seoul 만 24세
일간 庚(경)금+ 강약: 강(78) 격: 인수격 용신: 己, 丙, 癸

## 원국
 시 | 일 | 월 | 연
干 癸(계)수- | 庚(경)금+ | 戊(무)토+ | 辛(신)금-
支 未(미)토- | 午(오)화+ | 戌(술)토+ | 巳(사)화-
장간 丁,乙,己 | -,己,丁 | 辛,丁,戊 | 戊,庚,丙
干성 상관 | (일간) | 편인 | 겁재
支성 정인 | 정관 | 편인 | 편관
봉12 관대 | 목욕 | 쇠 | 장생
거12 장생 | 목욕 | 절 | 관대
12살 망신살 | 월살 | 역마살 | 년살
특살 천을귀인 | - | 화개살 | -

## 오행
干: 목0 화0 토1 금2 수1 | 支: 목0 화2 토2 금0 수0 | 계: 목0 화2 토3 금2 수1
공망 戌(술) 亥(해)
길신: 천을귀인, 화개 / 흉신: -

## 관계
干합: 癸戊 → 화 | 방합: 巳午未 남방화국 | 반합: 午戌 → 화국 | 육합: 未午 | 형: 未戌 | 파: 未戌 | 원진: 戌巳

## 대운 역행 시작 9세 현재 ★丙申(19~28 잔여 4년)
 9(2010) 丁酉 정관/겁재 제왕 -
★19(2020) 丙申 편관/비견 건록 -
 29(2030) 乙未 정재/정인 관대 천을귀인
 39(2040) 甲午 편재/정관 목욕 -
 49(2050) 癸巳 상관/편관 장생 -
 59(2060) 壬辰 식신/편인 양 -
 69(2070) 辛卯 겁재/정재 태 도화살
 79(2080) 庚寅 비견/편재 절 -
 89(2090) 己丑 정인/정인 묘 천을귀인
 99(2100) 戊子 편인/상관 사 역마살

## 세운 2026 기준
 2021 辛丑 겁재/정인 묘
 2022 壬寅 식신/편재 절
 2023 癸卯 상관/정재 태
 2024 甲辰 편재/편인 양
 2025 乙巳 정재/편관 장생
★2026 丙午 편관/정관 목욕
 2027 丁未 정관/정인 관대
 2028 戊申 편인/비견 건록
 2029 己酉 정인/겁재 제왕
 2030 庚戌 비견/편인 쇠

## 월운 2026
1월 庚寅 비견/편재 절
2월 辛卯 겁재/정재 태
3월 壬辰 식신/편인 양
4월 癸巳 상관/편관 장생
5월 甲午 편재/정관 목욕
6월 乙未 정재/정인 관대
7월 丙申 편관/비견 건록
8월 丁酉 정관/겁재 제왕
9월 戊戌 편인/편인 쇠
10월 己亥 정인/식신 병
11월 庚子 비견/상관 사
12월 辛丑 겁재/정인 묘

## 만세력
이달 庚寅 다음 辛卯 오늘 丁丑 내일 戊寅 (2026-03-04)
## 기본 정보
- 생년월일: 2001년 11월 3일 14:20
- 성별: 남성
- 역법: 양력
- 시간대: Asia/Seoul
- 일간: 庚 (경금, 양)

## 사주 4주 (남성)
| | 시주 | 일주 | 월주 | 연주 |
|:---:|:---:|:---:|:---:|:---:|
| 천간 | 癸(계) | 庚(경) | 戊(무) | 辛(신) |
| 오행/음양 | 수/음 | 금/양 | 토/양 | 금/음 |
| 지지 | 未(미) | 午(오) | 戌(술) | 巳(사) |
| 오행/음양 | 토/음 | 화/양 | 토/양 | 화/음 |

## 지장간
| 구분 | 시주(未) | 일주(午) | 월주(戌) | 연주(巳) |
|:---:|:---:|:---:|:---:|:---:|
| 여기 | 丁 | - | 辛 | 戊 |
| 중기 | 乙 | 己 | 丁 | 庚 |
| 정기 | 己 | 丁 | 戊 | 丙 |

## 오행 분포
| 구분 | 목 | 화 | 토 | 금 | 수 |
|:---:|:---:|:---:|:---:|:---:|:---:|
| 천간 | 0 | 0 | 1 | 2 | 1 |
| 지지 | 0 | 2 | 2 | 0 | 0 |
| 합계 | 0 | 2 | 3 | 2 | 1 |

## 십성 & 12운성
| 구분 | 시주 | 일주 | 월주 | 연주 |
|:---:|:---:|:---:|:---:|:---:|
| 천간십성 | 상관 | (일간) | 편인 | 겁재 |
| 지지십성 | 정인 | 정관 | 편인 | 편관 |
| 봉법12운성 | 관대 | 목욕 | 쇠 | 장생 |
| 거법12운성 | 장생 | 목욕 | 절 | 관대 |

## 관계 해석 근거
- 천간 관계: 癸戊 합 → 화
- 지장간: 시주 여기:丁 중기:乙 정기:己 / 일주 중기:己 정기:丁 / 월주 여기:辛 중기:丁 정기:戊 / 연주 여기:戊 중기:庚 정기:丙
- 지지 관계: 방합: 巳午未 방합 남방화국 | 반합: 午戌 반합 → 화국 | 육합: 未午 육합 | 형: 未戌 형 | 파: 未戌 파 | 원진: 戌巳 원진

## 관계 강도 (우선순위)
- 1순위 지지 형 (점수 4.5): 긴장/소모 누적 가능성 | 未戌 형
- 2순위 지지 파 (점수 3.5): 관계 균열/계획 변동 가능성 | 未戌 파
- 3순위 지지 원진 (점수 2.8): 감정적 피로 누적 가능성 | 戌巳 원진
- 4순위 지지 방합 (점수 2.4): 방향성/세력화 포인트 | 巳午未 방합 남방화국
- 5순위 지지 육합 (점수 2.2): 협력/완충 포인트 | 未午 육합
- 6순위 천간 합 (점수 2.0): 완충/협력 가능성 | 癸戊 합 → 화
- 7순위 지지 반합 (점수 1.8): 조건부 협력 포인트 | 午戌 반합 → 화국

## 해석 시 주의 포인트 (충/형 중심)
- 지지 형: 未戌 형 -> 압박/피로 누적 구간이 생기기 쉬워 갈등 확대 전에 조정이 필요합니다.
- 지지 파: 未戌 파 -> 계획의 균열이나 기대치 차이로 인한 이탈 신호를 점검하세요.

## 사주별 신살
| 구분 | 시주 | 일주 | 월주 | 연주 |
|:---:|:---:|:---:|:---:|:---:|
| 12신살 | 망신살 | 월살 | 역마살 | 년살 |
| 특수신살 | 천을귀인 | - | 화개살 | - |

## 공망 (空亡)
- 공망: 戌(술), 亥(해)

## 고급 분석
- 일간 강약: 강함 (78)
- 격국: 인수격
- 용신: 己, 丙, 癸
- 길신: 천을귀인, 화개
- 흉신: -

## 대운
- 시작나이: 9세 (정밀 8.67세)
- 현재 대운: 丙申 (19세~28세, 잔여 4년)
| 대운나이 | 간지 | 천간십성 | 지지십성 | 12운성 | 신살 |
|:---:|:---:|:---:|:---:|:---:|:---:|
| 9세 | 丁酉 | 정관 | 겁재 | 제왕 | - |
| 19세 ★ | 丙申 | 편관 | 비견 | 건록 | - |
| 29세 | 乙未 | 정재 | 정인 | 관대 | 천을귀인 |
| 39세 | 甲午 | 편재 | 정관 | 목욕 | - |
| 49세 | 癸巳 | 상관 | 편관 | 장생 | - |
| 59세 | 壬辰 | 식신 | 편인 | 양 | - |
| 69세 | 辛卯 | 겁재 | 정재 | 태 | 도화살 |
| 79세 | 庚寅 | 비견 | 편재 | 절 | - |
| 89세 | 己丑 | 정인 | 정인 | 묘 | 천을귀인 |
| 99세 | 戊子 | 편인 | 상관 | 사 | 역마살 |

## 세운 (2026년 기준)
| 연도 | 간지 | 천간십성 | 지지십성 | 12운성 |
|:---:|:---:|:---:|:---:|:---:|
| 2021 | 辛丑 | 겁재 | 정인 | 묘 |
| 2022 | 壬寅 | 식신 | 편재 | 절 |
| 2023 | 癸卯 | 상관 | 정재 | 태 |
| 2024 | 甲辰 | 편재 | 편인 | 양 |
| 2025 | 乙巳 | 정재 | 편관 | 장생 |
| 2026 ★ | 丙午 | 편관 | 정관 | 목욕 |
| 2027 | 丁未 | 정관 | 정인 | 관대 |
| 2028 | 戊申 | 편인 | 비견 | 건록 |
| 2029 | 己酉 | 정인 | 겁재 | 제왕 |
| 2030 | 庚戌 | 비견 | 편인 | 쇠 |

## 월운 (2026년)
| 월 | 간지 | 천간십성 | 지지십성 | 12운성 |
|:---:|:---:|:---:|:---:|:---:|
| 인월(1월) | 庚寅 | 비견 | 편재 | 절 |
| 묘월(2월) | 辛卯 | 겁재 | 정재 | 태 |
| 진월(3월) | 壬辰 | 식신 | 편인 | 양 |
| 사월(4월) | 癸巳 | 상관 | 편관 | 장생 |
| 오월(5월) | 甲午 | 편재 | 정관 | 목욕 |
| 미월(6월) | 乙未 | 정재 | 정인 | 관대 |
| 신월(7월) | 丙申 | 편관 | 비견 | 건록 |
| 유월(8월) | 丁酉 | 정관 | 겁재 | 제왕 |
| 술월(9월) | 戊戌 | 편인 | 편인 | 쇠 |
| 해월(10월) | 己亥 | 정인 | 식신 | 병 |
| 자월(11월) | 庚子 | 비견 | 상관 | 사 |
| 축월(12월) | 辛丑 | 겁재 | 정인 | 묘 |

## 계산 기준
- 대운 기준: 역행, 절입 2001-10-08 05:22 UTC

## 만세력
- 올해: 丙午
- 내년: 丁未
- 이번달: 庚寅
- 다음달: 辛卯
- 오늘: 丁丑
- 내일: 戊寅
- 오늘날짜: 2026-03-04

## 해석
인수격 구조입니다. 학습, 연구, 문서, 상담 영역에서 장점이 큽니다.

가장 강한 오행은 토(3개)이며, 안정·중재 지향 성향이 두드러집니다.
길신: 천을귀인, 화개

⏱️ 벤치마크

warmup 800회 돌리고 6,000회 측정. Apple M2 기준.

| 뭘 했나 | 걸린 시간 | ops/sec | |:--|--:|--:| | 사주 계산 (양력) | 0.04ms | 23,348 | | 사주 계산 (음력) | 0.04ms | 24,264 | | 계산 + toCompact() | 0.06ms | 17,160 | | 계산 + toMarkdown() | 0.06ms | 17,333 |

| 파일 | 크기 | |:--|--:| | dist raw | 42.5 KB | | dist gzip | 14.7 KB | | dist brotli | 12.4 KB |