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

@loutrejs/cli

v0.10.1

Published

Loutre Applicationを検査・可視化・buildするDeveloper CLIです。Application DefinitionからGraphを読み取り、validation、runtime compatibility check、deployment artifact、OpenAPI documentを生成できます。

Readme

@loutrejs/cli

Loutre Applicationを検査・可視化・buildするDeveloper CLIです。Application DefinitionからGraphを読み取り、validation、runtime compatibility check、deployment artifact、OpenAPI documentを生成できます。

Install

npm install --save-dev @loutrejs/cli

Commands

| Command | Description | | --------- | ------------------------------------------------------- | | graphql | SDLからserver / clientの型生成、watch、検証、互換性比較 | | check | Application Graphをvalidation | | doctor | runtime capabilityとの互換性を確認 | | graph | modules / DI / http / executions / runtimeを表示 | | dev | ApplicationをDevTools付きで起動 | | explain | Graph上のtargetを説明 | | build | Application bundleとdeployment entryを生成 | | openapi | OpenAPI 3.2 documentを生成 |

Usage

npm exec loutre -- check --entry src/app.ts
npm exec loutre -- doctor --entry src/app.ts
npm exec loutre -- doctor --runtime electron --entry src/app.ts
npm exec loutre -- graph di --entry src/app.ts
npm exec loutre -- graph http --entry src/app.ts --format mermaid
npm exec loutre -- explain GreetingService --entry src/app.ts

doctorで--runtimeを省略した場合は、CLIを実行しているruntimeを使用します。別runtimeとの互換性を確認する場合は--runtimeで明示します。

Graph outputはtext、json、mermaidに対応しています。

DevTools

ApplicationへDevtoolsModule()を追加し、loutre devから普段のApplication commandを起動します。CLIはApplication ModelからGraphを構築し、子Application processへlocal DevTools channelを渡します。

import { defineModule } from '@loutrejs/loutre'
import { DevtoolsModule } from '@loutrejs/loutre/devtools'

const AppModule = defineModule({
  imports: [DevtoolsModule()],
})
npm exec loutre -- dev --entry src/app.ts -- npm run dev

Dev serverは既定で127.0.0.1:25136にlistenします。BrowserやAgent向けControl Planeはws://127.0.0.1:25136/__loutre/client、Application runtime channelはws://127.0.0.1:25136/__loutre/appです。Graph更新、Runtime Trace、Replay、Provider Playgroundは同じstructured command/event protocolを利用します。Browser UIはControl Planeのclientの1つであり、Application Modelやruntime instanceをremote serverへ送る必要はありません。

listen先はloopbackに固定し、HostとBrowser Originを検証します。native clientはloopback接続ならOriginなしでControl Planeへ接続できます。Application channelはBrowser channelと分離し、loopbackかつBrowser Originを持たないruntime接続だけを受け付けます。Browser用tokenやhandshake endpointはありません。追加のBrowser originは--originで明示します。

npm exec loutre -- dev --entry src/app.ts \
  --port 25137 \
  --origin https://preview.example.com \
  -- npm run dev

source変更時はApplication Graphを再構築し、Browserへpushします。watch対象はApplication Definitionのbundle dependencyから絞り込み、.git、.loutre、.next、coverage、dist、node_modulesは既定で除外します。追加除外は--ignoreで指定できます。

Build

npm exec loutre -- build src/app.ts --out-dir dist/loutre

aws-lambda、cloudflare-workersではdeployment entryも生成できます。

npm exec loutre -- build src/app.ts --runtime aws-lambda

OpenAPI

Application DefinitionまたはHTTP Contractをdefault exportするentryからOpenAPIを生成できます。

npm exec loutre -- openapi --entry src/api.ts --output openapi.json

Contract-firstでschemaだけ先に定義する場合、Applicationやimplementationは不要です。Application entryから生成する場合も同じcommandを使えます。

API titleとversionはpackage.jsonから読み取られ、--title / --api-versionで上書きできます。

Documentation

License

MIT

GraphQL

loutre graphql generate --config graphql.config.ts
loutre graphql generate --config graphql.config.ts --check
loutre graphql generate --config graphql.config.ts --watch

Applicationを起動せず、共有SDLからserverの型・Typed Field Builder・Static Schemaと、指定されたclient targetののOperation型を生成します。serverではdomain mappingとcontext型を指定でき、clientでは選択fieldの結果とvariablesを型付けします。設定と契約共有の手順はGraphQLの型生成を参照してください。