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

nadesiko3-server

v3.7.1

Published

HTTP Server Plugin for Nadesiko3

Readme

nadesiko3-server

日本語プログラミング言語「なでしこ3 (cnako3)」で、Webサーバー(Express)機能を利用するためのプラグインです。

特徴

  • Node.jsのExpressをなでしこ向けにラップしており、なでしこ3の構文で簡単にHTTPサーバーを構築できます。
  • 静的ファイルの配信、GET/POST/PUT/DELETEなどのルーティング、リダイレクト等に対応しています。

インストール方法

一般的なプロジェクトでの利用

なでしこ3プロジェクトのディレクトリで、以下のコマンドを実行してインストールします。

npm install nadesiko3-server

開発・テスト時の利用(ローカルリポジトリ連携)

nadesiko3(本体)および nadesiko3-server(本リポジトリ)をローカルで連携させて動かす場合、以下の方法があります。

1. 相対パス指定で取り込む

スクリプト内から直接相対パスでプラグインファイルを指定します(sample/hello.nako3 などで使われています)。

!「../nadesiko3-server/nadesiko3-server.mjs」を取り込む。

2. npm link を利用する

nadesiko3-server をグローバルにリンクし、テスト用プロジェクト等から呼び出します。

# nadesiko3-server のディレクトリで
npm link

# テストを行いたいプロジェクトのディレクトリで
npm link nadesiko3-server

3. ローカルの nadesiko3 本体リポジトリから実行する

ローカルの ~/repos/nadesiko3 にある cnako3 から本プラグインをテスト・実行するには、以下のように cnako3.mjs を直接指定して実行します。

# nadesiko3-server のディレクトリから、ローカルの nadesiko3 を使ってサンプルを実行する
node ~/repos/nadesiko3/src/cnako3.mjs sample/hello.nako3

使い方・サンプルコード

以下は、localhost:3000 で簡単なWebサーバーを起動し、「/」にアクセスした際に「ハローワールド!」と出力するサンプルプログラムです。

!「nadesiko3-server」を取り込む。

# 3000番ポートでWEBサーバーを起動
3000でWEBサーバ起動した時には
    「サーバーが http://localhost:3000 で起動しました」と表示。
ここまで。

# ルーティング設定 (GET /)
「/」へWEBサーバGETした時には
    「ハローワールド!」をWEBサーバ出力。
    「- アクセスがありました」を表示。
ここまで。

実行方法

cnako3 コマンドでプログラムを実行します。

cnako3 hello.nako3

提供コマンド一覧

本プラグインを読み込むことで、以下の命令や変数が利用可能になります。

サーバー起動・管理

  • [ポート番号]でWEBサーバ起動 指定したポート番号でWebサーバーを起動します。
  • [コールバック]を[ポート番号]のWEBサーバ起動時 サーバーを起動し、起動成功時にコールバックを実行します。
  • [コールバック]をWEBサーバ起動成功時 サーバーの起動に成功した際に実行するコールバックを設定します。
  • [コールバック]をWEBサーバ起動失敗時 サーバーの起動に失敗した際に実行するコールバックを設定します。
  • [名前]にWEBサーバ名前設定 コンソール表示用のWebサーバーの名前を設定します(デバッグ表示がオフになります)。

ルーティング・静的ファイル配信

  • [URLパス]を[ローカルディレクトリパス]へWEBサーバ静的パス指定 HTML、画像、CSSなどの静的ファイルを配置するディレクトリを指定します。
  • [コールバック]を[URLパス]へWEBサーバGETした時には (または WEBサーバGET時) GETリクエストがあった時の処理を指定します。
  • [コールバック]を[URLパス]へWEBサーバPOSTした時には (または WEBサーバPOST時) POSTリクエストがあった時の処理を指定します。
  • [コールバック]を[URLパス]へWEBサーバPUTした時には (または WEBサーバPUT時) PUTリクエストがあった時の処理を指定します。
  • [コールバック]を[URLパス]へWEBサーバDELETEした時には (または WEBサーバDELETE時) DELETEリクエストがあった時の処理を指定します。

レスポンス・データ取得

  • GETデータ (定数) GETリクエストのクエリパラメータ(オブジェクト)が格納されます。
  • POSTデータ (定数) POST/PUTリクエストのボディデータが格納されます。
  • [データ]をWEBサーバ出力 クライアントにレスポンス(テキスト/HTML等)を出力します。
  • [ステータスコード]をWEBサーバステータス出力 クライアントにHTTPステータスコードを送信します。
  • [ヘッダオブジェクト]をWEBサーバヘッダ出力 クライアントへのレスポンスヘッダを設定します。
  • [URL]へWEBサーバリダイレクト 指定したURLへクライアントをリダイレクト(302)します。

サンプルの実行方法

本リポジトリにはサンプルプログラムが付属しています。

# 依存パッケージのインストール
npm install

# ハローワールドサンプルの実行
npm run start

# より複雑なエディタ連携サンプルの実行
npm run nako3edit

テストの実行方法

Node.js標準のテストフレームワークを使用したユニット・統合テストが用意されています。

# テストの実行
npm test

マニュアル

詳細なマニュアルや各命令の使い方は、公式サイトのドキュメントを参照してください。