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

rimor

v0.8.0

Published

テスト品質監査ツール - DIベースアーキテクチャと型ベースセキュリティ解析によるテストの質の検証

Readme

Rimor - テスト品質監査ツール v0.8.0

Rimor(リモール)は、テストの「質」を監査することに特化した、シンプルで強力なツールです。単なるテストカバレッジを超えて、テストが本当にプロダクトの品質を守っているかを検証します。

🎯 v0.8.0の特徴 - コア価値への回帰

Rimor v0.8.0は、「テスト品質監査」というコア価値に集中するため、アーキテクチャを完全に再設計しました。

主要な特徴

  • 🏗️ DIベースアーキテクチャ - Inversifyによる疎結合で保守性の高い設計
  • 統合分析エンジン - 3つのエンジンを統合し、最適な分析モードを自動選択
  • 🔬 型ベースセキュリティ解析 - コンパイル時解析でゼロランタイムオーバーヘッド
  • 📋 YAMLベースルール定義 - シンプルで理解しやすいルール設定
  • 🚀 高速実行 - 並列処理最適化により最大2倍の高速化

パフォーマンス指標

  • 起動時間: 40%短縮
  • 💾 メモリ使用量: 30%削減
  • 🚀 分析速度: 最大2倍高速化

🎓 技術的基盤

Rimorの設計は、以下の研究成果から影響を受けています:

  • 型ベースセキュリティ解析: Practical Type-Based Taint Checking and Inference - TypeScriptの型システムを活用した静的解析手法の実装において、この論文で提案されたtaint追跡とtype inferenceの概念を参考にしています。

この研究により、実行時オーバーヘッドなしにセキュリティ脆弱性を検出できる効率的な解析が可能になりました。

インストール

npm実行(推奨)

# インストール不要で即座実行
npx rimor

# 特定のディレクトリを分析
npx rimor analyze ./src

# 自動モードで最適な分析を実行
npx rimor analyze ./src --mode=auto

ローカル開発用

# プロジェクトのクローン
git clone https://github.com/sasakama-code/rimor.git
cd rimor

# 依存関係のインストール
npm install

# TypeScriptコンパイル
npm run build

🚀 使い方

基本的な使用方法

# プロジェクトの分析
npx rimor analyze ./src

# JSON形式で出力
npx rimor analyze ./src --output=json

# 並列処理モードで高速分析
npx rimor analyze ./src --mode=parallel

プログラマティックAPI

import { container } from 'rimor/container';
import { TYPES } from 'rimor/container/types';
import { IAnalysisEngine } from 'rimor/core/interfaces';

// DIコンテナから分析エンジンを取得
const engine = container.get<IAnalysisEngine>(TYPES.AnalysisEngine);

// 分析の実行
const result = await engine.analyze('./src');
console.log(`検出された問題: ${result.issues.length}件`);

📋 ルール定義

YAMLファイルで独自のルールを定義できます:

# rules/custom-rules.yaml
- id: auth-test-coverage
  name: 認証テストカバレッジ
  description: 認証機能に対する適切なテストカバレッジを確保
  category: security
  severity: error
  patterns:
    - type: keyword
      pattern: auth|login|logout|token
      message: 認証関連の機能にはセキュリティテストが必要です

🔌 プラグインシステム

import { IPlugin } from 'rimor/core/interfaces';

class CustomPlugin implements IPlugin {
  metadata = {
    id: 'custom-plugin',
    name: 'カスタムプラグイン',
    version: '1.0.0',
    enabled: true
  };

  async analyze(filePath: string): Promise<Issue[]> {
    // カスタム分析ロジック
    return [];
  }
}

// プラグインの登録
const pluginManager = container.get<IPluginManager>(TYPES.PluginManager);
pluginManager.register(new CustomPlugin());

📊 セキュリティ監査

組み込みのセキュリティ監査機能により、テストコードのセキュリティ問題を検出:

# セキュリティ監査の実行
npx rimor analyze ./src --security

# 詳細なセキュリティレポート
npx rimor analyze ./src --security --verbose

🔧 設定

.rimorrc.jsonファイルでプロジェクト固有の設定が可能:

{
  "targetPath": "./src",
  "plugins": {
    "testExistence": true,
    "assertionQuality": true,
    "securityAudit": true
  },
  "output": {
    "format": "json",
    "path": "./rimor-report.json"
  }
}

📈 開発コマンド

# テストの実行
npm test

# 型チェック
npm run typecheck

# リント
npm run lint

# 全チェック
npm run full-check

📄 ライセンス

MITライセンス - 詳細はLICENSEファイルを参照してください。

📋 変更履歴

最新の変更についてはRELEASE_NOTES_v0.8.0.mdを参照してください。


Rimor - テストの質を監査し、真の品質保証を実現する