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.
Files changed (114) hide show
  1. package/batch/build_nako_version.nako3 +2 -4
  2. package/batch/command.txt +24 -36
  3. package/batch/pickup_command.nako3 +7 -8
  4. package/core/batch/build_nako_version.nako3 +1 -2
  5. package/core/command/plugin_snako.mjs +112 -0
  6. package/core/command/snako.mjs +112 -0
  7. package/core/package.json +1 -1
  8. package/core/src/nako3.mjs +598 -0
  9. package/core/src/nako_ast.mjs +4 -0
  10. package/core/src/nako_basic_plugins.mjs +32 -0
  11. package/core/src/nako_colors.mjs +77 -0
  12. package/core/src/nako_core_version.mjs +8 -0
  13. package/core/src/nako_core_version.mts +3 -3
  14. package/core/src/nako_csv.mjs +192 -0
  15. package/core/src/nako_errors.mjs +166 -0
  16. package/core/src/nako_event.mjs +37 -0
  17. package/core/src/nako_from_dncl.mjs +285 -0
  18. package/core/src/nako_from_dncl2.mjs +347 -0
  19. package/core/src/nako_gen.mjs +2581 -0
  20. package/core/src/nako_gen.mts +1 -1
  21. package/core/src/nako_global.mjs +161 -0
  22. package/core/src/nako_indent.mjs +442 -0
  23. package/core/src/nako_indent_chars.mjs +29 -0
  24. package/core/src/nako_indent_inline.mjs +361 -0
  25. package/core/src/nako_josi_list.mjs +47 -0
  26. package/core/src/nako_lex_rules.mjs +319 -0
  27. package/core/src/nako_lexer.mjs +794 -0
  28. package/core/src/nako_logger.mjs +221 -0
  29. package/core/src/nako_parser3.mjs +3146 -0
  30. package/core/src/nako_parser3.mts +81 -18
  31. package/core/src/nako_parser_async.mjs +147 -0
  32. package/core/src/nako_parser_base.mjs +351 -0
  33. package/core/src/nako_parser_const.mjs +37 -0
  34. package/core/src/nako_parser_message.mjs +106 -0
  35. package/core/src/nako_parser_operator.mjs +101 -0
  36. package/core/src/nako_plugin_manager.mjs +211 -0
  37. package/core/src/nako_prepare.mjs +329 -0
  38. package/core/src/nako_require.mjs +227 -0
  39. package/core/src/nako_reserved_words.mjs +42 -0
  40. package/core/src/nako_runner.mjs +179 -0
  41. package/core/src/nako_source_mapping.mjs +207 -0
  42. package/core/src/nako_test.mjs +37 -0
  43. package/core/src/nako_token.mjs +1 -0
  44. package/core/src/nako_tokenizer.mjs +174 -0
  45. package/core/src/nako_tools.mjs +53 -0
  46. package/core/src/nako_types.mjs +14 -0
  47. package/core/src/plugin_api.mjs +4 -0
  48. package/core/src/plugin_csv.mjs +97 -0
  49. package/core/src/plugin_math.mjs +352 -0
  50. package/core/src/plugin_promise.mjs +102 -0
  51. package/core/src/plugin_system.mjs +396 -0
  52. package/core/src/plugin_system.mts +1 -1
  53. package/core/src/plugin_system_array.mjs +762 -0
  54. package/core/src/plugin_system_datetime.mjs +372 -0
  55. package/core/src/plugin_system_debug.mjs +421 -0
  56. package/core/src/plugin_system_dict.mjs +92 -0
  57. package/core/src/plugin_system_json.mjs +49 -0
  58. package/core/src/plugin_system_json.mts +0 -24
  59. package/core/src/plugin_system_math.mjs +380 -0
  60. package/core/src/plugin_system_regexp.mjs +124 -0
  61. package/core/src/plugin_system_stdio.mjs +78 -0
  62. package/core/src/plugin_system_string.mjs +696 -0
  63. package/core/src/plugin_system_timer.mjs +149 -0
  64. package/core/src/plugin_system_timer.mts +0 -11
  65. package/core/src/plugin_system_types.mjs +151 -0
  66. package/core/src/plugin_system_url.mjs +195 -0
  67. package/core/src/plugin_test.mjs +52 -0
  68. package/core/src/plugin_toml.mjs +39 -0
  69. package/core/test/array_test.mjs +4 -0
  70. package/core/test/calc_test.mjs +12 -0
  71. package/core/test/core_module_test.mjs +4 -0
  72. package/core/test/error_message_test.mjs +13 -0
  73. package/core/test/parser_hang_test.mjs +64 -0
  74. package/core/test/plugin_system_debug_test.mjs +1 -1
  75. package/core/test/plugin_system_test.mjs +4 -4
  76. package/doc/browser-tests.md +3 -5
  77. package/doc/command_list.json +24 -174
  78. package/doc/release.md +75 -38
  79. package/package.json +1 -1
  80. package/release/_hash.txt +32 -32
  81. package/release/_script-tags.txt +16 -16
  82. package/release/command.json +1 -1
  83. package/release/command.json.js +1 -1
  84. package/release/command_cnako3.json +1 -1
  85. package/release/command_list.json +1 -1
  86. package/release/edit_main.js +7 -7
  87. package/release/edit_main.js.map +2 -2
  88. package/release/editor.js +7 -7
  89. package/release/plugin_markup.js +36 -35
  90. package/release/plugin_markup.js.map +3 -3
  91. package/release/version.js +1 -1
  92. package/release/version_main.js +1 -1
  93. package/release/version_main.js.map +2 -2
  94. package/release/wnako3.js +162 -162
  95. package/release/wnako3.js.map +3 -3
  96. package/release/wnako3webworker.js +8 -8
  97. package/release/wnako3webworker.js.map +3 -3
  98. package/src/nako_version.mjs +3 -3
  99. package/src/nako_version.mts +3 -3
  100. package/src/plugin_browser_ajax.mjs +0 -99
  101. package/src/plugin_browser_ajax.mts +0 -88
  102. package/src/plugin_httpserver.mjs +53 -16
  103. package/src/plugin_httpserver.mts +47 -13
  104. package/src/plugin_node.mjs +0 -17
  105. package/src/plugin_node.mts +0 -17
  106. package/test/node/build_command_test.mjs +65 -1
  107. package/test/node/error_message_test.mjs +52 -40
  108. package/test/node/package_json_test.mjs +61 -0
  109. package/test/node/plugin_httpserver_test.mjs +51 -0
  110. package/test/node/plugin_markup_test.mjs +11 -14
  111. package/test/node/plugin_node_test.mjs +1 -1
  112. package/test/node/plugin_test.mjs +40 -3
  113. package/test/node/scope_assignment.nako3 +5 -0
  114. package/core/package-lock.json +0 -516
@@ -44,11 +44,10 @@ export default nakoVersion
44
44
    VSを保存先へ保存。
45
45
    「
46
46
  # ---------------------------------------------
47
- # ● なでしこのバージョン情報(src/nako_version.mts)を更新しました。
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
- | 関数 | 秒逐次待機 | N | (非推奨) 逐次実行構文にて、N秒の間待機する (廃止予定)(非同期関数) | びょうちくじたいき | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L53
345
- | 関数 | 秒後 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒後に実行する。変数『対象』にタイマーIDを代入する。 | びょうご | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L63
346
- | 関数 | 秒毎 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒ごとに実行する(『タイマー停止』で停止できる)。変数『対象』にタイマーIDを代入する。 | びょうごと | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L90
347
- | 関数 | 秒タイマー開始時 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒ごとに実行する(『秒毎』と同じ) | びょうたいまーかいししたとき | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L107
348
- | 関数 | タイマー停止 | TIMERIDの/TIMERIDで | 『秒毎』『秒後』や『秒タイマー開始』で開始したタイマーを停止する | たいまーていし | https://github.com/kujirahand/nadesiko3/blob/master/core/src/plugin_system_timer.mts#L115
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#L1625
880
- | 関数 | SJIS変換 | STRに/STRへ/STRを | (v1非互換)文字列をShift_JISのバイナリバッファに変換 | SJISへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1633
881
- | 関数 | SJIS取得 | BUFから/BUFを/BUFで | Shift_JISのバイナリバッファを文字列に変換 | SJISしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1642
882
- | 関数 | エンコーディング変換 | SをCODEへ/CODEで | 文字列SをCODEへ変換してバイナリバッファを返す | えんこーでぃんぐへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1651
883
- | 関数 | エンコーディング取得 | BUFをCODEから/CODEで | バイナリバッファBUFをCODEから変換して返す | えんこーでぃんぐしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1660
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#L1670
886
- | 関数 | ハッシュ値計算 | SをALGのENCで | データSをアルゴリズムALG(sha256/sha512/md5)のエンコーディングENC(hex/base64)でハッシュ値を計算して返す | はっしゅちけいさん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1678
887
- | 関数 | ランダムUUID生成 | | ランダムに生成された36文字のv4 UUID(文字列)を返す | らんだむUUIDせいせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1688
888
- | 関数 | ランダム配列生成 | CNTの | 暗号強度の強い乱数のバイト配列(Uint8Array)を指定個数返す | らんだむはいれつせいせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1697
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#L350
894
- | 定数 | GETデータ | | '' | GETでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L351
895
- | 定数 | POSTデータ | | '' | POSTでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L352
896
- | 定数 | FILESデータ | | '' | FILESでーた | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L353
897
- | 関数 | 簡易HTTPサーバ起動時 | CALLBACKをPORTの/PORTで | ポート番号PORTを指定して簡易HTTPサーバを起動して、CALLBACKを実行する。 | かんいHTTPさーばきどうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L358
898
- | 関数 | 簡易HTTPサーバ静的パス指定 | URLをPATHに/PATHへ | 静的コンテンツのパスを指定。URLをPATHへマップする。 | かんいHTTPさーばせいてきぱすしてい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L380
899
- | 関数 | 簡易HTTPサーバ受信時 | CALLBACKをURLに/URLへ/URLで | URLを指定して合致するリクエストが来たら処理を実行する。 | かんいHTTPさーばじゅしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L395
900
- | 関数 | 簡易HTTPサーバ出力 | Sを/Sと/Sの | 受信時に、データSを出力する。 | かんいHTTPさーばしゅつりょく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L413
901
- | 関数 | 簡易HTTPサーバヘッダ出力 | NOでHEADを/HEADの/HEADと | 受信時にステータスコードNOで、ヘッダHEAD(辞書形式)を出力する。 | かんいHTTPさーばへっだしゅつりょく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L433
902
- | 関数 | 簡易HTTPサーバ移動 | URLへ/URLに | 受信時にヘッダ302(リダイレクト)を出力してURLへページを移動力する。 | かんいHTTPさーばいどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_httpserver.mts#L450
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
- SRC_URL=""
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
-   SRC_URL="https://github.com/kujirahand/nadesiko3/blob/master/core/src/{PNAME}"
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
-   SRC_URL="https://github.com/kujirahand/nadesiko3/tree/master/{PNAME}"
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
-   SRC_URL="https://github.com/kujirahand/{P0}/blob/master/{P1}"
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
- # ● なでしこのコアバージョン(core/src/nako_core_version.mts)情報を更新しました。
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);
package/core/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3core",
3
- "version": "3.7.24",
3
+ "version": "3.8.1",
4
4
  "description": "Japanese Programming Language Nadesiko v3 core",
5
5
  "main": "index.mjs",
6
6
  "type": "module",