nadesiko3 3.7.24 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/batch/build_nako_version.nako3 +2 -4
- package/batch/command.txt +24 -36
- package/batch/pickup_command.nako3 +7 -8
- package/core/batch/build_nako_version.nako3 +1 -2
- package/core/command/plugin_snako.mjs +112 -0
- package/core/command/snako.mjs +112 -0
- package/core/package.json +1 -1
- package/core/src/nako3.mjs +598 -0
- package/core/src/nako_ast.mjs +4 -0
- package/core/src/nako_basic_plugins.mjs +32 -0
- package/core/src/nako_colors.mjs +77 -0
- package/core/src/nako_core_version.mjs +8 -0
- package/core/src/nako_core_version.mts +3 -3
- package/core/src/nako_csv.mjs +192 -0
- package/core/src/nako_errors.mjs +166 -0
- package/core/src/nako_event.mjs +37 -0
- package/core/src/nako_from_dncl.mjs +285 -0
- package/core/src/nako_from_dncl2.mjs +347 -0
- package/core/src/nako_gen.mjs +2581 -0
- package/core/src/nako_gen.mts +1 -1
- package/core/src/nako_global.mjs +161 -0
- package/core/src/nako_indent.mjs +442 -0
- package/core/src/nako_indent_chars.mjs +29 -0
- package/core/src/nako_indent_inline.mjs +361 -0
- package/core/src/nako_josi_list.mjs +47 -0
- package/core/src/nako_lex_rules.mjs +319 -0
- package/core/src/nako_lexer.mjs +794 -0
- package/core/src/nako_logger.mjs +221 -0
- package/core/src/nako_parser3.mjs +3146 -0
- package/core/src/nako_parser3.mts +81 -18
- package/core/src/nako_parser_async.mjs +147 -0
- package/core/src/nako_parser_base.mjs +351 -0
- package/core/src/nako_parser_const.mjs +37 -0
- package/core/src/nako_parser_message.mjs +106 -0
- package/core/src/nako_parser_operator.mjs +101 -0
- package/core/src/nako_plugin_manager.mjs +211 -0
- package/core/src/nako_prepare.mjs +329 -0
- package/core/src/nako_require.mjs +227 -0
- package/core/src/nako_reserved_words.mjs +42 -0
- package/core/src/nako_runner.mjs +179 -0
- package/core/src/nako_source_mapping.mjs +207 -0
- package/core/src/nako_test.mjs +37 -0
- package/core/src/nako_token.mjs +1 -0
- package/core/src/nako_tokenizer.mjs +174 -0
- package/core/src/nako_tools.mjs +53 -0
- package/core/src/nako_types.mjs +14 -0
- package/core/src/plugin_api.mjs +4 -0
- package/core/src/plugin_csv.mjs +97 -0
- package/core/src/plugin_math.mjs +352 -0
- package/core/src/plugin_promise.mjs +102 -0
- package/core/src/plugin_system.mjs +396 -0
- package/core/src/plugin_system.mts +1 -1
- package/core/src/plugin_system_array.mjs +762 -0
- package/core/src/plugin_system_datetime.mjs +372 -0
- package/core/src/plugin_system_debug.mjs +421 -0
- package/core/src/plugin_system_dict.mjs +92 -0
- package/core/src/plugin_system_json.mjs +49 -0
- package/core/src/plugin_system_json.mts +0 -24
- package/core/src/plugin_system_math.mjs +380 -0
- package/core/src/plugin_system_regexp.mjs +124 -0
- package/core/src/plugin_system_stdio.mjs +78 -0
- package/core/src/plugin_system_string.mjs +696 -0
- package/core/src/plugin_system_timer.mjs +149 -0
- package/core/src/plugin_system_timer.mts +0 -11
- package/core/src/plugin_system_types.mjs +151 -0
- package/core/src/plugin_system_url.mjs +195 -0
- package/core/src/plugin_test.mjs +52 -0
- package/core/src/plugin_toml.mjs +39 -0
- package/core/test/array_test.mjs +4 -0
- package/core/test/calc_test.mjs +12 -0
- package/core/test/core_module_test.mjs +4 -0
- package/core/test/error_message_test.mjs +13 -0
- package/core/test/parser_hang_test.mjs +64 -0
- package/core/test/plugin_system_debug_test.mjs +1 -1
- package/core/test/plugin_system_test.mjs +4 -4
- package/doc/browser-tests.md +3 -5
- package/doc/command_list.json +24 -174
- package/doc/release.md +75 -38
- package/package.json +1 -1
- package/release/_hash.txt +32 -32
- package/release/_script-tags.txt +16 -16
- package/release/command.json +1 -1
- package/release/command.json.js +1 -1
- package/release/command_cnako3.json +1 -1
- package/release/command_list.json +1 -1
- package/release/edit_main.js +7 -7
- package/release/edit_main.js.map +2 -2
- package/release/editor.js +7 -7
- package/release/plugin_markup.js +36 -35
- package/release/plugin_markup.js.map +3 -3
- package/release/version.js +1 -1
- package/release/version_main.js +1 -1
- package/release/version_main.js.map +2 -2
- package/release/wnako3.js +162 -162
- package/release/wnako3.js.map +3 -3
- package/release/wnako3webworker.js +8 -8
- package/release/wnako3webworker.js.map +3 -3
- package/src/nako_version.mjs +3 -3
- package/src/nako_version.mts +3 -3
- package/src/plugin_browser_ajax.mjs +0 -99
- package/src/plugin_browser_ajax.mts +0 -88
- package/src/plugin_httpserver.mjs +53 -16
- package/src/plugin_httpserver.mts +47 -13
- package/src/plugin_node.mjs +0 -17
- package/src/plugin_node.mts +0 -17
- package/test/node/build_command_test.mjs +65 -1
- package/test/node/error_message_test.mjs +52 -40
- package/test/node/package_json_test.mjs +61 -0
- package/test/node/plugin_httpserver_test.mjs +51 -0
- package/test/node/plugin_markup_test.mjs +11 -14
- package/test/node/plugin_node_test.mjs +1 -1
- package/test/node/plugin_test.mjs +40 -3
- package/test/node/scope_assignment.nako3 +5 -0
- package/core/package-lock.json +0 -516
|
@@ -44,11 +44,10 @@ export default nakoVersion
|
|
|
44
44
|
VSを保存先へ保存。
|
|
45
45
|
「
|
|
46
46
|
# ---------------------------------------------
|
|
47
|
-
# ●
|
|
47
|
+
# ● なでしこのバージョン情報を更新しました。
|
|
48
48
|
# version {VER}
|
|
49
49
|
# file: {保存先}
|
|
50
|
-
|
|
51
|
-
」を表示。
|
|
50
|
+
」をトリムして表示。
|
|
52
51
|
|
|
53
52
|
●コアバージョン更新とは:
|
|
54
53
|
もし、メインバージョン=空ならば:
|
|
@@ -56,7 +55,6 @@ export default nakoVersion
|
|
|
56
55
|
CORE_PACKAGE=「{基本パス}/core/package.json」
|
|
57
56
|
CORE_PACKAGEを読んでJSONデコードして、Pに代入。
|
|
58
57
|
VER=P@"version"
|
|
59
|
-
「★★コアバージョンを勝手に書き換えます!!」と表示。
|
|
60
58
|
P@"version" = メインバージョン
|
|
61
59
|
PをJSONエンコード整形してSに代入。
|
|
62
60
|
CORE_PACKAGEにSを保存。
|
package/batch/command.txt
CHANGED
|
@@ -311,9 +311,6 @@
|
|
|
311
311
|
| 関数 | JSONエンコード | Vを/Vの | オブジェクトVをJSON形式に変換して返す(『JSON変換』と同じ) | JSONえんこーど | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_json.mts#L29
|
|
312
312
|
| 関数 | JSONエンコード整形 | Vを/Vの | オブジェクトVをJSON形式の文字列(整形済み)に変換して整形して返す | JSONえんこーどせいけい | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_json.mts#L37
|
|
313
313
|
| 関数 | JSONデコード | Sを/Sの/Sから | JSON文字列Sをオブジェクトにして返す(『JSON取得』と同じ) | JSONでこーど | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_json.mts#L45
|
|
314
|
-
| 関数 | JSON_E | Vを/Vの | オブジェクトVをJSON形式の文字列に変換して返す(『JSON変換』と同じ) | JSON_E | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_json.mts#L53
|
|
315
|
-
| 関数 | JSON_ES | Vを/Vの | オブジェクトVをJSON形式の文字列(整形済み)に変換して返す(『JSONエンコード整形』と同じ) | JSON_ES | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_json.mts#L61
|
|
316
|
-
| 関数 | JSON_D | Sを/Sの/Sから | JSON文字列Sをオブジェクトにして返す(『JSON取得』と同じ) | JSON_D | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_json.mts#L69
|
|
317
314
|
●正規表現
|
|
318
315
|
| 関数 | 正規表現マッチ | AをBで/AがBに | 文字列Aを正規表現パターンBでマッチして結果を返す(パターンBは「/pat/opt」の形式で指定。optにgの指定がなければ部分マッチが『抽出文字列』に入る) | せいきひょうげんまっち | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_regexp.mts#L13
|
|
319
316
|
| 関数 | 正規表現抽出 | AからBで/Aを | 文字列Sを正規表現パターンREで正規表現マッチし、すべてのキャプチャグループ( )を一次元配列として返す。抽出文字列には二次元配列を返す | せいきひょうげんちゅうしゅつ | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_regexp.mts#L38
|
|
@@ -341,12 +338,11 @@
|
|
|
341
338
|
●タイマー
|
|
342
339
|
| 関数 | 秒待 | N | N秒の間待機する(非同期関数) | びょうまつ | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L17
|
|
343
340
|
| 関数 | 秒待機 | N | N秒の間待機する(『秒待』と同じ)(非同期関数) | びょうたいき | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L42
|
|
344
|
-
| 関数 |
|
|
345
|
-
| 関数 |
|
|
346
|
-
| 関数 |
|
|
347
|
-
| 関数 |
|
|
348
|
-
| 関数 |
|
|
349
|
-
| 関数 | 全タイマー停止 | | 『秒毎』『秒後』や『秒タイマー開始』で開始したタイマーを全部停止する | ぜんたいまーていし | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L136
|
|
341
|
+
| 関数 | 秒後 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒後に実行する。変数『対象』にタイマーIDを代入する。 | びょうご | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L52
|
|
342
|
+
| 関数 | 秒毎 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒ごとに実行する(『タイマー停止』で停止できる)。変数『対象』にタイマーIDを代入する。 | びょうごと | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L79
|
|
343
|
+
| 関数 | 秒タイマー開始時 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒ごとに実行する(『秒毎』と同じ) | びょうたいまーかいししたとき | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L96
|
|
344
|
+
| 関数 | タイマー停止 | TIMERIDの/TIMERIDで | 『秒毎』『秒後』や『秒タイマー開始』で開始したタイマーを停止する | たいまーていし | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L104
|
|
345
|
+
| 関数 | 全タイマー停止 | | 『秒毎』『秒後』や『秒タイマー開始』で開始したタイマーを全部停止する | ぜんたいまーていし | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L125
|
|
350
346
|
|
|
351
347
|
|
|
352
348
|
■plugin_csv(基本プラグイン,wnako,cnako)
|
|
@@ -485,11 +481,6 @@
|
|
|
485
481
|
| 関数 | AJAX内容取得 | RESからTYPEで | 「保証」を使った非同期通信(Ajax)の応答から内容を指定した形式で取り出すための非同期処理オブジェクト(Promise)を返す。 | AJAXないようしゅとく | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_ajax.mts#L319
|
|
486
482
|
●Blob
|
|
487
483
|
| 関数 | BLOB作成 | DATAをOPTIONSで/DATAから | DATA(配列型)をOPTIONS(辞書型)でBlobオブジェクトを作成する。 | BLOBさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_ajax.mts#L345
|
|
488
|
-
●HTTPとAJAX(非推奨)
|
|
489
|
-
| 関数 | AJAX逐次送信 | URLまで/URLへ/URLに | (非推奨)『AJAXテキスト取得』をご利用ください。- 逐次実行構文にて、非同期通信(Ajax)でURLにデータを送信する。成功すると『対象』にデータが代入される。 | AJAXちくじそうしん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_ajax.mts#L355
|
|
490
|
-
| 関数 | HTTP逐次取得 | URLの/URLから/URLを | (非推奨)『AJAXテキスト取得』をご利用ください。- 逐次実行構文にて、非同期通信(Ajax)でURLにデータを送信する。成功すると『対象』にデータが代入される。失敗すると『AJAX失敗時』を実行。 | HTTPちくじしゅとく | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_ajax.mts#L377
|
|
491
|
-
| 関数 | POST逐次送信 | URLまでPARAMSを/URLへ/URLに | (非推奨)逐次実行構文にて、AjaxでURLにPARAMSをPOST送信し『対象』にデータを設定。失敗すると『AJAX失敗時』を実行。 | POSTちくじそうしん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_ajax.mts#L387
|
|
492
|
-
| 関数 | POSTフォーム逐次送信 | URLまでPARAMSを/URLへ/URLに | (非推奨)逐次実行構文にて、AjaxでURLにPARAMSをフォームとしてPOST送信し『対象』にデータを設定。失敗すると『AJAX失敗時』を実行。 | POSTふぉーむちくじそうしん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_ajax.mts#L415
|
|
493
484
|
●DOM操作
|
|
494
485
|
| 定数 | DOCUMENT | | '' | DOCUMENT | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_basic.mts#L5
|
|
495
486
|
| 定数 | WINDOW | | '' | WINDOW | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_basic.mts#L6
|
|
@@ -872,34 +863,31 @@
|
|
|
872
863
|
| 関数 | AJAXバイナリ取得 | URLから | AJAXでURLにアクセスしバイナリ(arrayBuffer)形式で結果を得る。送信時AJAXオプションの値を参照。(非同期関数) | AJAXばいなりしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1550
|
|
873
864
|
| 関数 | DISCORD送信 | URLへSを/URLに | DISCORDのウェブフックURLにSのメッセージを送信する。宛先のウェブフックを取得しておく必要がある。(非同期関数) | DISCORDそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1565
|
|
874
865
|
| 関数 | DISCORDファイル送信 | URLへFとSを/URLに | DISCORDのウェブフックURLにファイルF(パスを指定)とメッセージSを送信する。(非同期関数) | DISCORDふぁいるそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1585
|
|
875
|
-
●LINE
|
|
876
|
-
| 関数 | LINE送信 | _TOKENへ_MESSAGEを/_TOKENに | LINEにメッセージを送信する。現在利用不可能。 | LINEそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1608
|
|
877
|
-
| 関数 | LINE画像送信 | _TOKENへ_IMAGEFILEと_MESSAGEを/_TOKENに | LINEにメッセージを送信する。先にLINE Notifyのページで宛先のトークンを取得する。TOKENへIMAGE_FILEとMESSAGEをLINE画像送信する。 | LINEがぞうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1616
|
|
878
866
|
●文字コード
|
|
879
|
-
| 関数 | 文字コード変換サポート判定 | CODEの/CODEを | 文字コードCODEをサポートしているか確認 | もじこーどへんかんさぽーとはんてい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
880
|
-
| 関数 | SJIS変換 | STRに/STRへ/STRを | (v1非互換)文字列をShift_JISのバイナリバッファに変換 | SJISへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
881
|
-
| 関数 | SJIS取得 | BUFから/BUFを/BUFで | Shift_JISのバイナリバッファを文字列に変換 | SJISしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
882
|
-
| 関数 | エンコーディング変換 | SをCODEへ/CODEで | 文字列SをCODEへ変換してバイナリバッファを返す | えんこーでぃんぐへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
883
|
-
| 関数 | エンコーディング取得 | BUFをCODEから/CODEで | バイナリバッファBUFをCODEから変換して返す | えんこーでぃんぐしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
867
|
+
| 関数 | 文字コード変換サポート判定 | CODEの/CODEを | 文字コードCODEをサポートしているか確認 | もじこーどへんかんさぽーとはんてい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1608
|
|
868
|
+
| 関数 | SJIS変換 | STRに/STRへ/STRを | (v1非互換)文字列をShift_JISのバイナリバッファに変換 | SJISへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1616
|
|
869
|
+
| 関数 | SJIS取得 | BUFから/BUFを/BUFで | Shift_JISのバイナリバッファを文字列に変換 | SJISしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1625
|
|
870
|
+
| 関数 | エンコーディング変換 | SをCODEへ/CODEで | 文字列SをCODEへ変換してバイナリバッファを返す | えんこーでぃんぐへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1634
|
|
871
|
+
| 関数 | エンコーディング取得 | BUFをCODEから/CODEで | バイナリバッファBUFをCODEから変換して返す | えんこーでぃんぐしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1643
|
|
884
872
|
●ハッシュ関数
|
|
885
|
-
| 関数 | ハッシュ関数一覧取得 | | 利用可能なハッシュ関数の一覧を返す | はっしゅかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
886
|
-
| 関数 | ハッシュ値計算 | SをALGのENCで | データSをアルゴリズムALG(sha256/sha512/md5)のエンコーディングENC(hex/base64)でハッシュ値を計算して返す | はっしゅちけいさん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
887
|
-
| 関数 | ランダムUUID生成 | | ランダムに生成された36文字のv4 UUID(文字列)を返す | らんだむUUIDせいせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
888
|
-
| 関数 | ランダム配列生成 | CNTの | 暗号強度の強い乱数のバイト配列(Uint8Array)を指定個数返す | らんだむはいれつせいせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#
|
|
873
|
+
| 関数 | ハッシュ関数一覧取得 | | 利用可能なハッシュ関数の一覧を返す | はっしゅかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1653
|
|
874
|
+
| 関数 | ハッシュ値計算 | SをALGのENCで | データSをアルゴリズムALG(sha256/sha512/md5)のエンコーディングENC(hex/base64)でハッシュ値を計算して返す | はっしゅちけいさん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1661
|
|
875
|
+
| 関数 | ランダムUUID生成 | | ランダムに生成された36文字のv4 UUID(文字列)を返す | らんだむUUIDせいせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1671
|
|
876
|
+
| 関数 | ランダム配列生成 | CNTの | 暗号強度の強い乱数のバイト配列(Uint8Array)を指定個数返す | らんだむはいれつせいせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1680
|
|
889
877
|
|
|
890
878
|
|
|
891
879
|
■plugin_httpserver(基本プラグイン,cnako)
|
|
892
880
|
●簡易HTTPサーバ
|
|
893
|
-
| 定数 | HTTPメソッド | | '' | HTTPめそっど | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
894
|
-
| 定数 | GETデータ | | '' | GETでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
895
|
-
| 定数 | POSTデータ | | '' | POSTでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
896
|
-
| 定数 | FILESデータ | | '' | FILESでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
897
|
-
| 関数 | 簡易HTTPサーバ起動時 | CALLBACKをPORTの/PORTで | ポート番号PORTを指定して簡易HTTPサーバを起動して、CALLBACKを実行する。 | かんいHTTPさーばきどうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
898
|
-
| 関数 | 簡易HTTPサーバ静的パス指定 | URLをPATHに/PATHへ | 静的コンテンツのパスを指定。URLをPATHへマップする。 | かんいHTTPさーばせいてきぱすしてい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
899
|
-
| 関数 | 簡易HTTPサーバ受信時 | CALLBACKをURLに/URLへ/URLで | URLを指定して合致するリクエストが来たら処理を実行する。 | かんいHTTPさーばじゅしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
900
|
-
| 関数 | 簡易HTTPサーバ出力 | Sを/Sと/Sの | 受信時に、データSを出力する。 | かんいHTTPさーばしゅつりょく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
901
|
-
| 関数 | 簡易HTTPサーバヘッダ出力 | NOでHEADを/HEADの/HEADと | 受信時にステータスコードNOで、ヘッダHEAD(辞書形式)を出力する。 | かんいHTTPさーばへっだしゅつりょく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
902
|
-
| 関数 | 簡易HTTPサーバ移動 | URLへ/URLに | 受信時にヘッダ302(リダイレクト)を出力してURLへページを移動力する。 | かんいHTTPさーばいどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#
|
|
881
|
+
| 定数 | HTTPメソッド | | '' | HTTPめそっど | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L379
|
|
882
|
+
| 定数 | GETデータ | | '' | GETでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L380
|
|
883
|
+
| 定数 | POSTデータ | | '' | POSTでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L381
|
|
884
|
+
| 定数 | FILESデータ | | '' | FILESでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L382
|
|
885
|
+
| 関数 | 簡易HTTPサーバ起動時 | CALLBACKをPORTの/PORTで | ポート番号PORTを指定して簡易HTTPサーバを起動して、CALLBACKを実行する。 | かんいHTTPさーばきどうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L387
|
|
886
|
+
| 関数 | 簡易HTTPサーバ静的パス指定 | URLをPATHに/PATHへ | 静的コンテンツのパスを指定。URLをPATHへマップする。 | かんいHTTPさーばせいてきぱすしてい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L414
|
|
887
|
+
| 関数 | 簡易HTTPサーバ受信時 | CALLBACKをURLに/URLへ/URLで | URLを指定して合致するリクエストが来たら処理を実行する。 | かんいHTTPさーばじゅしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L429
|
|
888
|
+
| 関数 | 簡易HTTPサーバ出力 | Sを/Sと/Sの | 受信時に、データSを出力する。 | かんいHTTPさーばしゅつりょく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L447
|
|
889
|
+
| 関数 | 簡易HTTPサーバヘッダ出力 | NOでHEADを/HEADの/HEADと | 受信時にステータスコードNOで、ヘッダHEAD(辞書形式)を出力する。 | かんいHTTPさーばへっだしゅつりょく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L467
|
|
890
|
+
| 関数 | 簡易HTTPサーバ移動 | URLへ/URLに | 受信時にヘッダ302(リダイレクト)を出力してURLへページを移動力する。 | かんいHTTPさーばいどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L484
|
|
903
891
|
|
|
904
892
|
|
|
905
893
|
■plugin_markup(基本プラグイン,wnako,cnako)
|
|
@@ -58,15 +58,15 @@ CORE="core/src"
|
|
|
58
58
|
|
|
59
59
|
#------------------------
|
|
60
60
|
結果データ=「」
|
|
61
|
-
|
|
61
|
+
jsplugin2text__SRC_URL=""
|
|
62
62
|
FILE_PATH=""
|
|
63
63
|
#------------------------
|
|
64
64
|
コアプラグイン一覧を反復
|
|
65
65
|
PNAME=対象@0
|
|
66
|
-
カレントプラグイン="{CORE}/{PNAME}"
|
|
66
|
+
jsplugin2text__カレントプラグイン="{CORE}/{PNAME}"
|
|
67
67
|
FILE_PATH="{基本パス}/{CORE}/{PNAME}"
|
|
68
68
|
# (ex) https://github.com/kujirahand/nadesiko3/blob/master/core/src/nako3.mts#L81
|
|
69
|
-
|
|
69
|
+
jsplugin2text__SRC_URL="https://github.com/kujirahand/nadesiko3/blob/master/core/src/{PNAME}"
|
|
70
70
|
ナコタイプ=対象@1
|
|
71
71
|
パスは「{基本パス}/{カレントプラグイン}」
|
|
72
72
|
パスを「(基本プラグイン,{ナコタイプ})」でプラグイン要約作成
|
|
@@ -75,10 +75,10 @@ FILE_PATH=""
|
|
|
75
75
|
#------------------------
|
|
76
76
|
基本プラグイン一覧を反復
|
|
77
77
|
PNAME=対象@0
|
|
78
|
-
カレントプラグイン=対象@0
|
|
78
|
+
jsplugin2text__カレントプラグイン=対象@0
|
|
79
79
|
ナコタイプ=対象@1
|
|
80
80
|
FILE_PATH="{基本パス}/{PNAME}"
|
|
81
|
-
|
|
81
|
+
jsplugin2text__SRC_URL="https://github.com/kujirahand/nadesiko3/tree/master/{PNAME}"
|
|
82
82
|
パスは「{基本パス}/{カレントプラグイン}」
|
|
83
83
|
RRR=パスを「(基本プラグイン,{ナコタイプ})」でプラグイン要約作成
|
|
84
84
|
もし、文字数(RRR)<50ならば:
|
|
@@ -88,14 +88,14 @@ FILE_PATH=""
|
|
|
88
88
|
ここまで
|
|
89
89
|
#------------------------
|
|
90
90
|
拡張プラグイン一覧を反復
|
|
91
|
-
カレントプラグイン=それ@0
|
|
91
|
+
jsplugin2text__カレントプラグイン=それ@0
|
|
92
92
|
ナコタイプ=それ@1
|
|
93
93
|
パスは「{REPOSパス}/{カレントプラグイン}」
|
|
94
94
|
FILE_PATH="{REPOSパス}/{カレントプラグイン}"
|
|
95
95
|
カレントプラグインを「/」で区切ってAに代入。
|
|
96
96
|
P0=Aの0を配列切取。
|
|
97
97
|
P1=Aを「/」で配列結合。
|
|
98
|
-
|
|
98
|
+
jsplugin2text__SRC_URL="https://github.com/kujirahand/{P0}/blob/master/{P1}"
|
|
99
99
|
パスが存在
|
|
100
100
|
もし、そうならば
|
|
101
101
|
# パスを表示。
|
|
@@ -120,4 +120,3 @@ FILE_PATH=""
|
|
|
120
120
|
B=「REPORT_ERR」の環境変数取得
|
|
121
121
|
もし、Bならば、結果データを表示。
|
|
122
122
|
結果データを「{基本パス}/batch/command.txt」に保存。
|
|
123
|
-
|
|
@@ -35,8 +35,7 @@ export default coreVersion
|
|
|
35
35
|
VSを保存先へ保存。
|
|
36
36
|
「
|
|
37
37
|
# ---------------------------------------------
|
|
38
|
-
# ●
|
|
38
|
+
# ● なでしこのコアバージョンの情報を更新しました。
|
|
39
39
|
# version {VER}
|
|
40
40
|
# file: {保存先}
|
|
41
|
-
# ---------------------------------------------
|
|
42
41
|
」を表示。
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* file: plugin_snako.js
|
|
3
|
+
* 簡単なファイル読み書きのプラグイン
|
|
4
|
+
*/
|
|
5
|
+
import fs from 'node:fs';
|
|
6
|
+
import { execSync } from 'node:child_process';
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
export default {
|
|
9
|
+
'meta': {
|
|
10
|
+
type: 'const',
|
|
11
|
+
value: {
|
|
12
|
+
pluginName: 'plugin_snako', // プラグインの名前
|
|
13
|
+
description: '最小の機能を提供するプラグイン', // プラグインの説明
|
|
14
|
+
pluginVersion: '3.6.3', // プラグインのバージョン
|
|
15
|
+
nakoRuntime: ['cnako'], // 対象ランタイム
|
|
16
|
+
nakoVersion: '3.6.3' // 要求なでしこバージョン
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
'初期化': {
|
|
20
|
+
type: 'func',
|
|
21
|
+
josi: [],
|
|
22
|
+
pure: true,
|
|
23
|
+
fn: function (sys) {
|
|
24
|
+
sys.__getBokanPath = () => {
|
|
25
|
+
let nakofile;
|
|
26
|
+
const cmd = path.basename(process.argv[1]);
|
|
27
|
+
if (cmd.indexOf('snako') < 0) {
|
|
28
|
+
nakofile = process.argv[1];
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
nakofile = process.argv[2];
|
|
32
|
+
}
|
|
33
|
+
return path.dirname(path.resolve(nakofile));
|
|
34
|
+
};
|
|
35
|
+
sys.__setSysVar('コマンドライン', process.argv);
|
|
36
|
+
sys.__setSysVar('ナデシコランタイムパス', process.argv[0]);
|
|
37
|
+
sys.__setSysVar('ナデシコランタイム', path.basename(process.argv[0]));
|
|
38
|
+
sys.__setSysVar('母艦パス', sys.__getBokanPath());
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
// @SNAKO
|
|
42
|
+
'コマンドライン': { type: 'const', value: '' },
|
|
43
|
+
'ナデシコランタイムパス': { type: 'const', value: '' },
|
|
44
|
+
'ナデシコランタイム': { type: 'const', value: '' },
|
|
45
|
+
'母艦パス': { type: 'const', value: '' },
|
|
46
|
+
'読': {
|
|
47
|
+
type: 'func',
|
|
48
|
+
josi: [['を', 'から']],
|
|
49
|
+
pure: true,
|
|
50
|
+
fn: function (f) {
|
|
51
|
+
return '' + fs.readFileSync(f);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
'開': {
|
|
55
|
+
type: 'func',
|
|
56
|
+
josi: [['を', 'から']],
|
|
57
|
+
pure: true,
|
|
58
|
+
fn: function (f) {
|
|
59
|
+
return '' + fs.readFileSync(f);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
'保存': {
|
|
63
|
+
type: 'func',
|
|
64
|
+
josi: [['を'], ['に', 'へ']],
|
|
65
|
+
pure: true,
|
|
66
|
+
fn: function (s, f) {
|
|
67
|
+
fs.writeFileSync(f, s, 'utf-8');
|
|
68
|
+
},
|
|
69
|
+
return_none: true
|
|
70
|
+
},
|
|
71
|
+
'起動待機': {
|
|
72
|
+
type: 'func',
|
|
73
|
+
josi: [['を']],
|
|
74
|
+
pure: true,
|
|
75
|
+
fn: function (s) {
|
|
76
|
+
const r = execSync(s);
|
|
77
|
+
return r.toString();
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
'ファイル名抽出': {
|
|
81
|
+
type: 'func',
|
|
82
|
+
josi: [['から', 'の']],
|
|
83
|
+
pure: true,
|
|
84
|
+
fn: function (s) {
|
|
85
|
+
return path.basename(s);
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
'パス抽出': {
|
|
89
|
+
type: 'func',
|
|
90
|
+
josi: [['から', 'の']],
|
|
91
|
+
pure: true,
|
|
92
|
+
fn: function (s) {
|
|
93
|
+
return path.dirname(s);
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
'絶対パス変換': {
|
|
97
|
+
type: 'func',
|
|
98
|
+
josi: [['を', 'の']],
|
|
99
|
+
pure: true,
|
|
100
|
+
fn: function (a) {
|
|
101
|
+
return path.resolve(a);
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
'相対パス展開': {
|
|
105
|
+
type: 'func',
|
|
106
|
+
josi: [['を'], ['で']],
|
|
107
|
+
pure: true,
|
|
108
|
+
fn: function (a, b) {
|
|
109
|
+
return path.resolve(path.join(a, b));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
#!/usr/bin/env node --no-warnings=ExperimentalWarning --loader ts-node/esm
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import com from '../index.mjs';
|
|
5
|
+
import { argv as nodejs_argv } from 'node:process';
|
|
6
|
+
import * as url from 'node:url';
|
|
7
|
+
import { NakoGenOptions } from '../src/nako_gen.mjs';
|
|
8
|
+
import PluginSnako from './plugin_snako.mjs';
|
|
9
|
+
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
10
|
+
/** コマンドラインオプション */
|
|
11
|
+
class CommandOptions {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.nodePath = '';
|
|
14
|
+
this.scriptPath = '';
|
|
15
|
+
this.filename = '';
|
|
16
|
+
this.evalStr = '';
|
|
17
|
+
this.isDebug = false;
|
|
18
|
+
this.flagConvert = false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** メイン処理 */
|
|
22
|
+
async function main(argvOrg) {
|
|
23
|
+
// コマンドラインオプションを確認
|
|
24
|
+
const argv = [...argvOrg];
|
|
25
|
+
const opt = new CommandOptions();
|
|
26
|
+
opt.nodePath = argv.shift() || '';
|
|
27
|
+
opt.scriptPath = argv.shift() || '';
|
|
28
|
+
while (argv.length > 0) {
|
|
29
|
+
const arg = argv.shift() || '';
|
|
30
|
+
if (arg === '-d' || arg === '--debug') {
|
|
31
|
+
opt.isDebug = true;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (arg === '-e' || arg === '--eval') {
|
|
35
|
+
opt.evalStr = argv.shift() || '';
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (arg === '-c' || arg === '--convert') {
|
|
39
|
+
opt.flagConvert = true;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (opt.filename === '') {
|
|
43
|
+
opt.filename = arg;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// なでしこのコンパイラを生成
|
|
47
|
+
const nako = new com.NakoCompiler();
|
|
48
|
+
nako.addPluginObject('PluginSnako', PluginSnako);
|
|
49
|
+
// 実行前にイベントを挟みたいとき
|
|
50
|
+
nako.addListener('beforeRun', (g) => {
|
|
51
|
+
g.__varslist[0].set('ナデシコ種類', 'snako');
|
|
52
|
+
});
|
|
53
|
+
// logger を設定 --- リスナーを登録することでデバッグレベルを指定
|
|
54
|
+
const logger = nako.getLogger();
|
|
55
|
+
if (opt.isDebug) {
|
|
56
|
+
logger.addListener('trace', (data) => {
|
|
57
|
+
console.log(data.nodeConsole);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
logger.addListener('stdout', (data) => {
|
|
61
|
+
console.log(data.noColor);
|
|
62
|
+
});
|
|
63
|
+
// -e オプションを実行したとき
|
|
64
|
+
if (opt.evalStr) {
|
|
65
|
+
await nako.runAsync(opt.evalStr, 'main.nako3');
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// パラメータが空だったとき
|
|
69
|
+
if (opt.filename === '') {
|
|
70
|
+
showHelp();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// ソースコードをファイルから読み込む
|
|
74
|
+
const code = fs.readFileSync(opt.filename, 'utf-8');
|
|
75
|
+
// -c オプションが指定されたとき
|
|
76
|
+
if (opt.flagConvert) {
|
|
77
|
+
convert(nako, code, opt);
|
|
78
|
+
}
|
|
79
|
+
// 実行
|
|
80
|
+
await nako.runAsync(code, opt.filename);
|
|
81
|
+
}
|
|
82
|
+
// -c オプションを指定したとき
|
|
83
|
+
function convert(nako, code, opt) {
|
|
84
|
+
// オプションを指定
|
|
85
|
+
const genOpt = new NakoGenOptions(false, ['nako_errors.mjs', 'nako_core_version.mjs', 'plugin_system.mjs',
|
|
86
|
+
'plugin_system_debug.mjs', 'plugin_system_math.mjs', 'plugin_system_string.mjs',
|
|
87
|
+
'plugin_system_array.mjs', 'plugin_system_datetime.mjs', 'plugin_system_url.mjs',
|
|
88
|
+
'plugin_system_types.mjs', 'plugin_system_json.mjs', 'plugin_system_regexp.mjs', 'plugin_system_dict.mjs',
|
|
89
|
+
'plugin_system_stdio.mjs', 'plugin_system_timer.mjs'], '__self.__varslist[0].set(\'ナデシコ種類\', \'snako\')');
|
|
90
|
+
// スタンドアロンコードを生成
|
|
91
|
+
const js = nako.compileStandalone(code, opt.filename, genOpt);
|
|
92
|
+
const jsFilename = opt.filename + '.js';
|
|
93
|
+
fs.writeFileSync(jsFilename, js, { encoding: 'utf-8' });
|
|
94
|
+
// 必要なライブラリをコピー
|
|
95
|
+
const runtimeDir = path.join(path.dirname(jsFilename), 'nako3runtime');
|
|
96
|
+
const srcDir = path.join(__dirname, '..', 'src');
|
|
97
|
+
if (!fs.existsSync(runtimeDir)) {
|
|
98
|
+
fs.mkdirSync(runtimeDir);
|
|
99
|
+
}
|
|
100
|
+
for (const f of genOpt.importFiles) {
|
|
101
|
+
fs.copyFileSync(path.join(srcDir, f), path.join(runtimeDir, f));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** 使い方を表示 */
|
|
105
|
+
function showHelp() {
|
|
106
|
+
console.log('●なでしこ(簡易版) # v.' + com.version.version);
|
|
107
|
+
console.log('[使い方] node snako.mjs [--debug|-d] (filename)');
|
|
108
|
+
console.log('[使い方] node snako.mjs [--eval|-e] (source)');
|
|
109
|
+
console.log('[使い方] node snako.mjs [-c] (source) ... convert');
|
|
110
|
+
}
|
|
111
|
+
/** メイン処理を実行 */
|
|
112
|
+
main(nodejs_argv);
|