nadesiko3 3.7.22 → 3.7.24

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 (118) hide show
  1. package/README.md +20 -1
  2. package/batch/build_command.nako3 +2 -1
  3. package/batch/cmd_txt2json.nako3 +2 -1
  4. package/batch/command.txt +185 -219
  5. package/batch/doctest.mjs +248 -0
  6. package/batch/generate_command_list.mjs +102 -0
  7. package/batch/jsplugin2text.nako3 +26 -8
  8. package/batch/pickup_command.nako3 +3 -15
  9. package/batch/search_command.mjs +34 -0
  10. package/batch/search_command.nako3 +430 -0
  11. package/core/package.json +4 -1
  12. package/core/sample/algorithms/README.md +43 -0
  13. package/core/sample/algorithms/graph/dijkstra.nako3 +47 -0
  14. package/core/sample/algorithms/graph/kruskal.nako3 +69 -0
  15. package/core/sample/algorithms/math/euclidean_gcd.nako3 +15 -0
  16. package/core/sample/algorithms/math/sieve_of_eratosthenes.nako3 +26 -0
  17. package/core/sample/algorithms/search/binary_search.nako3 +17 -0
  18. package/core/sample/algorithms/search/breadth_first_search.nako3 +33 -0
  19. package/core/sample/algorithms/search/depth_first_search.nako3 +25 -0
  20. package/core/sample/algorithms/sort/heap_sort.nako3 +37 -0
  21. package/core/sample/algorithms/sort/insertion_sort.nako3 +18 -0
  22. package/core/sample/algorithms/sort/merge_sort.nako3 +40 -0
  23. package/core/sample/algorithms/sort/quick_sort.nako3 +36 -0
  24. package/core/sample/algorithms/string/knuth_morris_pratt.nako3 +50 -0
  25. package/core/sample/algorithms/string/run_length_encoding.nako3 +25 -0
  26. package/core/src/nako_core_version.mts +2 -2
  27. package/core/src/nako_gen.mts +86 -81
  28. package/core/src/nako_global.mts +18 -0
  29. package/core/src/nako_parser3.mts +156 -262
  30. package/core/src/nako_parser_async.mts +86 -18
  31. package/core/src/nako_parser_base.mts +7 -0
  32. package/core/src/nako_runner.mts +21 -4
  33. package/core/src/plugin_api.mts +0 -3
  34. package/core/src/plugin_system.mts +0 -27
  35. package/core/src/plugin_system_datetime.mts +6 -4
  36. package/core/test/algorithm_samples_test.mjs +58 -0
  37. package/core/test/algorithms/graph/dijkstra_test.nako3 +21 -0
  38. package/core/test/algorithms/graph/kruskal_test.nako3 +21 -0
  39. package/core/test/algorithms/helper.mjs +13 -0
  40. package/core/test/algorithms/math/euclidean_gcd_test.nako3 +13 -0
  41. package/core/test/algorithms/math/sieve_of_eratosthenes_test.nako3 +10 -0
  42. package/core/test/algorithms/search/binary_search_test.nako3 +15 -0
  43. package/core/test/algorithms/search/breadth_first_search_test.nako3 +13 -0
  44. package/core/test/algorithms/search/depth_first_search_test.nako3 +13 -0
  45. package/core/test/algorithms/sort/heap_sort_test.nako3 +13 -0
  46. package/core/test/algorithms/sort/insertion_sort_test.nako3 +13 -0
  47. package/core/test/algorithms/sort/merge_sort_test.nako3 +18 -0
  48. package/core/test/algorithms/sort/quick_sort_test.nako3 +34 -0
  49. package/core/test/algorithms/string/knuth_morris_pratt_test.nako3 +16 -0
  50. package/core/test/algorithms/string/run_length_encoding_test.nako3 +13 -0
  51. package/core/test/array_test.mjs +101 -17
  52. package/core/test/basic_test.mjs +38 -10
  53. package/core/test/const_test.mjs +103 -0
  54. package/core/test/fixtures/parser_ast_golden.json +482 -2
  55. package/core/test/fixtures/parser_corpus.mjs +4 -1
  56. package/core/test/func_call.mjs +18 -0
  57. package/core/test/func_test.mjs +28 -0
  58. package/core/test/nako_event_test.mjs +42 -0
  59. package/core/test/nako_parser_async_test.mjs +284 -11
  60. package/core/test/nako_runner_test.mjs +60 -0
  61. package/core/test/plugin_system_debug_test.mjs +0 -3
  62. package/core/test/plugin_system_test.mjs +28 -0
  63. package/demo/browsers.html +1 -1
  64. package/doc/SETUP.md +1 -1
  65. package/doc/ai-code-generation.md +136 -0
  66. package/doc/browsers.md +1 -1
  67. package/doc/command_list.json +16871 -0
  68. package/doc/doctest.md +75 -0
  69. package/doc/search_command.md +222 -0
  70. package/doc/syntax-nako3.md +357 -0
  71. package/package.json +20 -8
  72. package/release/_hash.txt +32 -32
  73. package/release/_script-tags.txt +16 -16
  74. package/release/command.json +1 -1
  75. package/release/command.json.js +1 -1
  76. package/release/command_cnako3.json +1 -1
  77. package/release/command_list.json +1 -1
  78. package/release/edit_main.js +6 -6
  79. package/release/edit_main.js.map +3 -3
  80. package/release/editor.js +6 -6
  81. package/release/plugin_caniuse.js +1 -1
  82. package/release/plugin_caniuse.js.map +2 -2
  83. package/release/version.js +1 -1
  84. package/release/version_main.js +1 -1
  85. package/release/version_main.js.map +1 -1
  86. package/release/wnako3.js +214 -203
  87. package/release/wnako3.js.map +3 -3
  88. package/release/wnako3webworker.js +115 -104
  89. package/release/wnako3webworker.js.map +3 -3
  90. package/src/browsers.mjs +1 -1
  91. package/src/browsers.txt +0 -1
  92. package/src/nako_version.mjs +2 -2
  93. package/src/nako_version.mts +2 -2
  94. package/src/plugin_browser.mjs +38 -9
  95. package/src/plugin_browser.mts +32 -14
  96. package/src/plugin_browser_api.mts +2 -1
  97. package/src/plugin_browser_dom_basic.mjs +10 -4
  98. package/src/plugin_browser_dom_basic.mts +10 -4
  99. package/src/plugin_browser_dom_parts.mjs +2 -0
  100. package/src/plugin_browser_dom_parts.mts +2 -0
  101. package/src/plugin_httpserver.mjs +6 -2
  102. package/src/plugin_httpserver.mts +6 -2
  103. package/src/plugin_node.mjs +9 -0
  104. package/src/plugin_node.mts +9 -0
  105. package/test/common/plugin_browser_prop_test.mjs +92 -0
  106. package/test/nako3edit/index_nako3_test.mjs +282 -0
  107. package/test/nako3server/index_nako3_test.mjs +239 -0
  108. package/test/node/ai_code_generation_guide_test.mjs +29 -0
  109. package/test/node/build_command_test.mjs +105 -0
  110. package/test/node/doctest_test.mjs +86 -0
  111. package/test/node/node_version_support_test.mjs +45 -0
  112. package/test/node/plugin_httpserver_test.mjs +38 -0
  113. package/test/node/plugin_node_test.mjs +16 -0
  114. package/test/node/search_command_test.mjs +174 -0
  115. package/tools/nako3edit/AGENTS.md +23 -0
  116. package/tools/nako3edit/index.nako3 +404 -0
  117. package/tools/nako3server/AGENTS.md +23 -0
  118. package/tools/nako3server/index.nako3 +156 -23
package/README.md CHANGED
@@ -13,6 +13,7 @@
13
13
  はじめて「なでしこ」に挑戦する方は、次のチュートリアルから始めることをオススメします。日本語プログラミング言語の雰囲気が容易に理解できます。
14
14
 
15
15
  - [チュートリアル](https://nadesi.com/v3/doc/go.php?997)
16
+ - [生成AIになでしこ3のプログラムを作ってもらう](doc/ai-code-generation.md)
16
17
 
17
18
  ## 対応機器/ブラウザ
18
19
 
@@ -22,7 +23,7 @@
22
23
  2. コマンドライン(cnako) - JavaScriptの実行エンジン「Node.js」上で動作
23
24
  3. 配付パッケージ - Electronを利用してローカルPC上で動作
24
25
 
25
- 具体的な対応ブラウザについて詳しくは、[対応機器/ブラウザ](doc/browsers.md) をご覧ください。Node.jsの対応バージョンは、v20以上です。
26
+ 具体的な対応ブラウザについて詳しくは、[対応機器/ブラウザ](doc/browsers.md) をご覧ください。Node.jsの対応バージョンは、v22以上です。
26
27
 
27
28
  ## ブラウザで利用する方法
28
29
 
@@ -124,6 +125,24 @@ npm start
124
125
  npm run nako3edit
125
126
  ```
126
127
 
128
+ ## 命令を検索するコマンド
129
+
130
+ なでしこ3の命令一覧(`doc/command_list.json`)を、ターミナルから検索できます。
131
+ 検索処理は、なでしこ3自身(`batch/search_command.nako3`)で書かれています。
132
+
133
+ ```sh
134
+ # 命令名・読み方・説明から部分一致検索
135
+ npm run search:command -- ファイル
136
+ # Node.js版で使える命令だけを検索
137
+ npm run search:command -- ファイル --target cnako
138
+ # JSON形式で出力(AIエージェントや別ツール向け)
139
+ npm run search:command -- CSV --json
140
+ # 使い方を表示
141
+ npm run search:command -- --help
142
+ ```
143
+
144
+ 詳しくは、[doc/search_command.md](doc/search_command.md) をご覧ください。
145
+
127
146
  ## Colabでなでしこを使って作業をする場合
128
147
 
129
148
  以下にColabを使ってなでしこを使う場合の作業用テンプレートを用意しました。
@@ -40,6 +40,7 @@
40
40
  もし、それ>0ならば、いいえを成功フラグに代入。
41
41
  もし、成功フラグ=いいえならば
42
42
    「⚠︎⚠︎⚠︎[コマンド生成の失敗]: {S}」を表示
43
-   終わり。
43
+   # 終了コード1で終わり、後続のJSON生成処理を実行させない (#2401)
44
+   1でプロセス終わる。
44
45
  ここまで。
45
46
  ここまで。
@@ -43,7 +43,8 @@ P_list=[]
43
43
      名前=トリム(C[1])
44
44
      引数=トリム(C[2])
45
45
      説明=トリム(C[3])
46
-     URL=トリム(C[4])
46
+     # command.txtの列は タイプ|名前|引数|説明|ヨミ|URL なのでURLはC[5] (#2401)
47
+     URL=トリム(C[5])
47
48
   ヨミ_cnako3=トリム(C[4])
48
49
      ヨミ=LEFT(ヨミ_cnako3,1)
49
50
      もし、タイプ=「関数」ならば