nadesiko3 3.2.27
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/LICENSE +21 -0
- package/README.md +107 -0
- package/bin/cnako3 +10 -0
- package/bin/cnako3.bat +11 -0
- package/bin/nako3server.bat +6 -0
- package/demo/ace_editor.html +90 -0
- package/demo/ace_editor_tabs.html +162 -0
- package/demo/basic.html +71 -0
- package/demo/browsers.html +128 -0
- package/demo/css/basic.css +3 -0
- package/demo/css/common.css +157 -0
- package/demo/css/editor.css +8 -0
- package/demo/css/flow.css +3 -0
- package/demo/css/index.css +3 -0
- package/demo/extlib/ace@1.4.12/ace.js +17 -0
- package/demo/extlib/ace@1.4.12/ext-code_lens.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-language_tools.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-options.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-settings_menu.js +8 -0
- package/demo/extlib/ace@1.4.12/keybinding-vscode.js +8 -0
- package/demo/extlib/ace@1.4.12/theme-monokai.js +8 -0
- package/demo/extlib/ace@1.4.12/theme-xcode.js +8 -0
- package/demo/extlib/chart.js@3.2.1/chart.min.js +13 -0
- package/demo/extlib/pure-min.css +11 -0
- package/demo/flow.html +97 -0
- package/demo/graph.html +53 -0
- package/demo/image/nako.png +0 -0
- package/demo/image/nakopad-icon256.png +0 -0
- package/demo/image/turtle.fla +0 -0
- package/demo/image/turtle.png +0 -0
- package/demo/index.html +134 -0
- package/demo/js/common.js +17 -0
- package/demo/js/turtle3d_test.js +44 -0
- package/demo/js/turtle_test.js +44 -0
- package/demo/runscript.html +47 -0
- package/demo/runscript2.html +33 -0
- package/demo/turtle.html +58 -0
- package/demo/turtle2.html +141 -0
- package/demo/turtle3.html +278 -0
- package/demo/turtle3d.html +58 -0
- package/demo/turtle3d2.html +107 -0
- package/demo/version.html +24 -0
- package/doc/SETUP.md +172 -0
- package/doc/about.md +34 -0
- package/doc/browsers.md +60 -0
- package/doc/docgen.md +21 -0
- package/doc/editor.md +44 -0
- package/doc/files.md +37 -0
- package/doc/plugins.md +195 -0
- package/doc/release.md +78 -0
- package/doc/win32.md +57 -0
- package/package.json +196 -0
- package/release/_hash.txt +65 -0
- package/release/_script-tags.txt +13 -0
- package/release/command.json +1 -0
- package/release/command.json.js +1 -0
- package/release/command_cnako3.json +1 -0
- package/release/command_list.json +1 -0
- package/release/editor.js +2 -0
- package/release/editor.js.LICENSE.txt +32 -0
- package/release/josi.json +48 -0
- package/release/nako_gen_async.js +1 -0
- package/release/nako_gen_async.js.LICENSE.txt +595 -0
- package/release/plugin_caniuse.js +1 -0
- package/release/plugin_caniuse.js.LICENSE.txt +411 -0
- package/release/plugin_csv.js +1 -0
- package/release/plugin_csv.js.LICENSE.txt +367 -0
- package/release/plugin_datetime.js +1 -0
- package/release/plugin_datetime.js.LICENSE.txt +471 -0
- package/release/plugin_kansuji.js +1 -0
- package/release/plugin_kansuji.js.LICENSE.txt +491 -0
- package/release/plugin_markup.js +1 -0
- package/release/plugin_markup.js.LICENSE.txt +363 -0
- package/release/plugin_turtle.js +1 -0
- package/release/plugin_turtle.js.LICENSE.txt +435 -0
- package/release/plugin_webworker.js +1 -0
- package/release/plugin_webworker.js.LICENSE.txt +491 -0
- package/release/version.js +2 -0
- package/release/version.js.LICENSE.txt +32 -0
- package/release/wnako3.js +2 -0
- package/release/wnako3.js.LICENSE.txt +1 -0
- package/release/wnako3webworker.js +1 -0
- package/release/wnako3webworker.js.LICENSE.txt +847 -0
- package/release/yoyakugo.json +30 -0
- package/src/browsers.md +60 -0
- package/src/cnako3.js +466 -0
- package/src/commander_ja.js +154 -0
- package/src/enako3.js +69 -0
- package/src/era.json +22 -0
- package/src/index.js +5 -0
- package/src/nako3.js +836 -0
- package/src/nako3_assert.js +37 -0
- package/src/nako3editorfix.sfd +106 -0
- package/src/nako3editorfix.woff +0 -0
- package/src/nako3server.js +51 -0
- package/src/nako_colors.js +86 -0
- package/src/nako_errors.js +176 -0
- package/src/nako_gen.js +1459 -0
- package/src/nako_gen_async.js +1622 -0
- package/src/nako_global.js +113 -0
- package/src/nako_indent.js +480 -0
- package/src/nako_josi_list.js +46 -0
- package/src/nako_lex_rules.js +259 -0
- package/src/nako_lexer.js +576 -0
- package/src/nako_logger.js +138 -0
- package/src/nako_parser3.js +1768 -0
- package/src/nako_parser_base.js +265 -0
- package/src/nako_parser_const.js +37 -0
- package/src/nako_prepare.js +293 -0
- package/src/nako_reserved_words.js +35 -0
- package/src/nako_source_mapping.js +251 -0
- package/src/nako_test.js +37 -0
- package/src/nako_version.js +8 -0
- package/src/plugin_browser.js +191 -0
- package/src/plugin_browser_ajax.js +352 -0
- package/src/plugin_browser_audio.js +109 -0
- package/src/plugin_browser_canvas.js +462 -0
- package/src/plugin_browser_chart.js +296 -0
- package/src/plugin_browser_color.js +49 -0
- package/src/plugin_browser_crypto.js +26 -0
- package/src/plugin_browser_dialog.js +53 -0
- package/src/plugin_browser_dom_basic.js +322 -0
- package/src/plugin_browser_dom_event.js +193 -0
- package/src/plugin_browser_dom_parts.js +163 -0
- package/src/plugin_browser_geolocation.js +51 -0
- package/src/plugin_browser_hotkey.js +25 -0
- package/src/plugin_browser_html.js +59 -0
- package/src/plugin_browser_in_worker.js +44 -0
- package/src/plugin_browser_location.js +21 -0
- package/src/plugin_browser_speech.js +111 -0
- package/src/plugin_browser_storage.js +121 -0
- package/src/plugin_browser_system.js +12 -0
- package/src/plugin_browser_websocket.js +73 -0
- package/src/plugin_caniuse.js +24 -0
- package/src/plugin_csv.js +57 -0
- package/src/plugin_datetime.js +414 -0
- package/src/plugin_express.js +212 -0
- package/src/plugin_kansuji.js +224 -0
- package/src/plugin_keigo.js +55 -0
- package/src/plugin_markup.js +32 -0
- package/src/plugin_math.js +319 -0
- package/src/plugin_node.js +1018 -0
- package/src/plugin_promise.js +94 -0
- package/src/plugin_system.js +2109 -0
- package/src/plugin_test.js +38 -0
- package/src/plugin_turtle.js +646 -0
- package/src/plugin_webworker.js +334 -0
- package/src/plugin_weykturtle3d.js +1216 -0
- package/src/plugin_worker.js +92 -0
- package/src/repl.nako3 +63 -0
- package/src/turtle-elephant.png +0 -0
- package/src/turtle-panda.png +0 -0
- package/src/turtle64.png +0 -0
- package/src/wnako3.js +162 -0
- package/src/wnako3_editor.css +215 -0
- package/src/wnako3_editor.js +1645 -0
- package/src/wnako3_editor_marker_red.png +0 -0
- package/src/wnako3_editor_marker_red.xcf +0 -0
- package/src/wnako3_editor_marker_yellow.png +0 -0
- package/src/wnako3_editor_marker_yellow.xcf +0 -0
- package/src/wnako3webworker.js +70 -0
- package/test/ace_editor/karma.config.js +94 -0
- package/test/ace_editor/test/.babelrc.json +3 -0
- package/test/ace_editor/test/ace_editor_test.js +178 -0
- package/test/ace_editor/test/html/custom_context.html +140 -0
- package/test/async/async_basic_test.js +124 -0
- package/test/browser/karma.config.js +212 -0
- package/test/browser/test/.babelrc.json +3 -0
- package/test/browser/test/compare_util.js +50 -0
- package/test/browser/test/html/canvas_basic.html +1 -0
- package/test/browser/test/html/div_basic.html +2 -0
- package/test/browser/test/html/event_dom_form.html +4 -0
- package/test/browser/test/html/event_dom_scrolldiv.html +5 -0
- package/test/browser/test/image/canvas_test1.png +0 -0
- package/test/browser/test/image/canvas_test2.png +0 -0
- package/test/browser/test/image/canvas_test3.png +0 -0
- package/test/browser/test/image/canvas_test4.png +0 -0
- package/test/browser/test/image/canvas_test7.png +0 -0
- package/test/browser/test/image/canvas_test8.png +0 -0
- package/test/browser/test/image/canvas_test_blank.png +0 -0
- package/test/browser/test/image/elephant_kana.png +0 -0
- package/test/browser/test/image/panda_kana.png +0 -0
- package/test/browser/test/image/turtle_kana.png +0 -0
- package/test/browser/test/import_plugin_checker.js +24 -0
- package/test/browser/test/plugin_browser_test.js +52 -0
- package/test/browser/test/plugin_browser_test_ajax.js +123 -0
- package/test/browser/test/plugin_browser_test_color.js +18 -0
- package/test/browser/test/plugin_browser_test_dialog.js +72 -0
- package/test/browser/test/plugin_browser_test_dom_event.js +598 -0
- package/test/browser/test/plugin_browser_test_dom_parts.js +125 -0
- package/test/browser/test/plugin_browser_test_system.js +9 -0
- package/test/browser/test/plugin_turtle_test.js +817 -0
- package/test/browser/test/plugin_webworker_test.js +87 -0
- package/test/browser/test/require_test.js +71 -0
- package/test/bundled/karma.config.base.js +117 -0
- package/test/bundled/karma.config.js +86 -0
- package/test/bundled/test/.babelrc.json +3 -0
- package/test/bundled/test/bundled_test.js +69 -0
- package/test/bundled/test/html/custom_context.html +65 -0
- package/test/bundled/test/html/custom_debug.html +66 -0
- package/test/bundled/test4b.cmd +52 -0
- package/test/bundled/test_base/.babelrc.json +3 -0
- package/test/bundled/test_base/_checktool_test.js +25 -0
- package/test/bundled/test_base/basic_ajax_test.js +56 -0
- package/test/bundled/test_base/basic_async_test.js +18 -0
- package/test/bundled/test_base/basic_test.js +153 -0
- package/test/bundled/test_base/calc_test.js +132 -0
- package/test/bundled/test_base/css/browsers_box.css +114 -0
- package/test/bundled/test_base/html/custom_context.html +69 -0
- package/test/bundled/test_base/html/custom_debug.html +71 -0
- package/test/bundled/test_base/js/browsers_box.js +72 -0
- package/test/bundled/test_base/plugin_csv_test.js +37 -0
- package/test/bundled/test_base/plugin_datetime_test.js +115 -0
- package/test/bundled/test_base/plugin_kansuji_test.js +49 -0
- package/test/bundled/test_base/plugin_system_test.js +410 -0
- package/test/bundled/test_base/plugin_webworker_test.js +53 -0
- package/test/bundled/test_base/resources/ok.txt +1 -0
- package/test/bundled/test_base/test_utils.js +191 -0
- package/test/common/array_test.js +40 -0
- package/test/common/basic_test.js +317 -0
- package/test/common/calc_test.js +139 -0
- package/test/common/debug_test.js +16 -0
- package/test/common/error_test.js +16 -0
- package/test/common/flow_test.js +360 -0
- package/test/common/func_call.js +136 -0
- package/test/common/func_test.js +149 -0
- package/test/common/indent_test.js +362 -0
- package/test/common/lex_test.js +146 -0
- package/test/common/literal_test.js +72 -0
- package/test/common/nako_logger_test.js +26 -0
- package/test/common/plugin_browser_test.js +24 -0
- package/test/common/plugin_browser_ut_audio_test.js +88 -0
- package/test/common/plugin_browser_ut_color_test.js +21 -0
- package/test/common/plugin_browser_ut_dialog_test.js +100 -0
- package/test/common/plugin_browser_ut_html_test.js +13 -0
- package/test/common/plugin_browser_ut_system_test.js +10 -0
- package/test/common/plugin_csv_test.js +39 -0
- package/test/common/plugin_datetime_test.js +120 -0
- package/test/common/plugin_kansuji_test.js +59 -0
- package/test/common/plugin_promise_test.js +18 -0
- package/test/common/plugin_system_test.js +451 -0
- package/test/common/prepare_test.js +93 -0
- package/test/common/re_test.js +20 -0
- package/test/common/variable_scope_test.js +105 -0
- package/test/jsconfig.json +19 -0
- package/test/karma.config.js +91 -0
- package/test/node/add_test.nako3 +1 -0
- package/test/node/async_test.js +80 -0
- package/test/node/commander_ja_test.js +82 -0
- package/test/node/error_message_test.js +244 -0
- package/test/node/kai_test.nako3 +6 -0
- package/test/node/node_test.js +43 -0
- package/test/node/plugin_broken.js.txt +3 -0
- package/test/node/plugin_browser_ut_ajax_test.js +355 -0
- package/test/node/plugin_browser_ut_location_test.js +32 -0
- package/test/node/plugin_markup_test.js +44 -0
- package/test/node/plugin_math_test.js +42 -0
- package/test/node/plugin_node_test.js +93 -0
- package/test/node/plugin_test.js +16 -0
- package/test/node/relative_import_test_1.nako3 +1 -0
- package/test/node/relative_import_test_2.nako3 +2 -0
- package/test/node/require_nako3_test.js +59 -0
- package/test/node/requiretest.nako3 +4 -0
- package/test/node/requiretest_indirect.nako3 +1 -0
- package/test/node/requiretest_name.nako3 +5 -0
- package/test/node/runtime_error.nako3 +2 -0
- package/test/node/side_effects_test.js +106 -0
- package/test/node/sjis.txt +5 -0
- package/test/node/syntax_error.nako3 +2 -0
- package/test/node/wnako3_editor_test.js +360 -0
- package/tools/README.md +7 -0
- package/tools/nako3edit/html/edit.html +83 -0
- package/tools/nako3edit/html/edit_plugin.js +6 -0
- package/tools/nako3edit/html/files.html +49 -0
- package/tools/nako3edit/html/nako3edit.css +66 -0
- package/tools/nako3edit/index.nako3 +145 -0
- package/tools/nako3edit/run.js +12 -0
- package/tools/nako3server/html/edit.html +104 -0
- package/tools/nako3server/html/edit_plugin.js +6 -0
- package/tools/nako3server/html/files.html +53 -0
- package/tools/nako3server/html/nako3edit.css +66 -0
- package/tools/nako3server/index.nako3 +129 -0
- package/tools/nako3server/run.js +12 -0
package/doc/SETUP.md
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# なでしこ3 - 開発環境のセットアップ方法
|
|
2
|
+
|
|
3
|
+
[](https://standardjs.com/)
|
|
4
|
+
|
|
5
|
+
なでしこ3自身を開発する手順をまとめたもの。なでしこ3を使うだけならば、以下の手順は不要。
|
|
6
|
+
|
|
7
|
+
[Node.js](https://nodejs.org/ja/)をインストールしておく。
|
|
8
|
+
|
|
9
|
+
コマンドラインから以下を実行して、必要なライブラリをシステムにインストール。
|
|
10
|
+
|
|
11
|
+
このとき、npm installするときに、なでしこのモジュールで、Native Add-onを使うものがあるため、ビルド環境を整える必要がある。
|
|
12
|
+
|
|
13
|
+
## 【Windows】
|
|
14
|
+
|
|
15
|
+
コンパイル環境が必要になるので、ビルドツールをインストールする。PowerShellから以下のコマンドを実行すると、自動的に必要なツールが入る。(Windowsのユーザー名に日本語が使われているとうまくコンパイルできないという情報もあるので注意)
|
|
16
|
+
|
|
17
|
+
また、Gitなどのツールをインストールするために、Chocolatey( <https://chocolatey.org/> )をインストールしておく。
|
|
18
|
+
|
|
19
|
+
```bach
|
|
20
|
+
# Chocolatey でGitをインストール
|
|
21
|
+
cinst git
|
|
22
|
+
|
|
23
|
+
# npm のビルドツール (build tools+python2)
|
|
24
|
+
npm install -g node-gyp
|
|
25
|
+
npm install -g windows-build-tools
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 【macOS】
|
|
29
|
+
|
|
30
|
+
Homebrew( <https://brew.sh/index_ja> ) (そしてXcode)をインストールしておく。
|
|
31
|
+
|
|
32
|
+
## 【共通】
|
|
33
|
+
|
|
34
|
+
コマンドラインから以下を実行して、nadesiko3のリポジトリをcloneし、必要なライブラリをインストール。ただし、Node.jsのバージョンv10以上が必要。もし、Ubuntuで古いのNode.jsをインストールした場合など、nモジュールを利用して最新安定版のNode.jsを利用してください。
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
git clone https://github.com/kujirahand/nadesiko3
|
|
38
|
+
cd nadesiko3
|
|
39
|
+
npm install --no-optional
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
コマンドラインから以下のコマンドを実行することで、ソースコードをビルドできる。
|
|
43
|
+
srcディレクトリの中のコードを編集すると、releaseディレクトリに結果が出力される。
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Node.js用のソースコードをWeb用のJSに変換
|
|
47
|
+
npm run build
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
ビルド後に以下のコマンドを実行することで、 バンドルファイル内の各パッケージがどのぐらいの容量を占めているかを可視化できる。
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# バンドルファイル内の各パッケージがどのぐらいの容量を占めているかを可視化
|
|
54
|
+
$ npm run analyze
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
開発時、以下のコマンドを実行すれば、監視ビルドさせることができる。
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm run watch
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
また、コマンドラインから以下のコマンドを実行することで、ソースコードをテストできる。
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm run test
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 開発時の約束
|
|
70
|
+
|
|
71
|
+
### コーディング規約について
|
|
72
|
+
|
|
73
|
+
コーディング規約は、[JavaScript Standard Style](https://standardjs.com/)に準拠するものとする。
|
|
74
|
+
|
|
75
|
+
ATOMエディタを使っている場合は、以下のプラグインを導入すると非常に便利。
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
apm install linter
|
|
79
|
+
apm install linter-js-standard
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
また、EditorConfigに対応しています。
|
|
83
|
+
(詳しくは[どんなエディタでもEditorConfigを使ってコードの統一性を高める - Qiita](https://qiita.com/naru0504/items/82f09881abaf3f4dc171)を参照)
|
|
84
|
+
これに対応したエディタを使用することで、開発者側が意識することなくインデントやタブに関する規則に対応することが可能。
|
|
85
|
+
|
|
86
|
+
## コマンドラインからなでしこを使う方法
|
|
87
|
+
|
|
88
|
+
なでしこ3ではコマンドラインからなでしこを実行できるcnako3(Windowsは、cnako3.bat)というスクリプトを用意。今後、なでしこの各種バッチファイルはなでしこ自身で記述される。
|
|
89
|
+
|
|
90
|
+
ちなみに、`npm install -g nadeisko3` を実行すると、npmコマンドでcnako3コマンドが利用できるようになるが、その場合は安定版のなでしこがインストールされることになる。
|
|
91
|
+
|
|
92
|
+
環境変数に本ファイルのパスをNAKO_HOMEとして登録し、パスをNAKO_HOME/srcに通す。以下、macOS/Linuxでの `.bashrc` の記述例。(ユーザー名がkujiraの場合)
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
HOME=/Users/kujira
|
|
96
|
+
export NAKO_HOME=$HOME/nadesiko3
|
|
97
|
+
export PATH=$PATH:$NAKO_HOME/src
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### コマンドライン版なでしこの利用方法
|
|
101
|
+
|
|
102
|
+
例えば、なでしこのコマンド一覧ファイルを生成するバッチを実行する方法。
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
cnako3 $NAKO_HOME/batch/pickup_command.nako
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
テストを実行する場合には、 `-t` (`--test`) オプションを付けてcnako3を実行します。
|
|
109
|
+
|
|
110
|
+
### デモプログラムを動かす方法
|
|
111
|
+
|
|
112
|
+
demoディレクトリに、なでしこをブラウザから使うデモがある。
|
|
113
|
+
|
|
114
|
+
大抵の機能はブラウザにHTMLファイルをドラッグ&ドロップすれば動くが、一部の機能はローカルサーバーを動かさないと利用できない。
|
|
115
|
+
|
|
116
|
+
なでしこでは、簡易サーバーを用意。コマンドラインで以下のように入力すると、[http://localhost:3000/](http://localhost:3000/)でサーバーが起動。
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npm start
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 対応機器/ブラウザの生成
|
|
123
|
+
|
|
124
|
+
コマンドラインから以下を実行して、以下のファイルを生成。
|
|
125
|
+
|
|
126
|
+
* [doc/browsers.md](browsers.md): 対応機器/ブラウザ (マークダウン形式)
|
|
127
|
+
* [src/browsers.md](../src/browsers.md): 対応機器/ブラウザ (マークダウン形式, cnako3用)
|
|
128
|
+
* [demo/browsers.html](../demo/browsers.html): 対応機器/ブラウザ (HTML形式, なでしこ3エディタ用)
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
npm run build:browsers
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Node.jsのパッケージの更新方法
|
|
135
|
+
|
|
136
|
+
コマンドラインから以下を実行して、Node.jsのパッケージを更新。
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
npm-check-updates -u
|
|
140
|
+
npm update --no-optional
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Electron
|
|
144
|
+
|
|
145
|
+
モジュールをインストールする。
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
npm install electron
|
|
149
|
+
npm install electron-packager
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
以下のコマンドを実行することで、Electronによるなでしこが起動。
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
npm run electron
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
ビルドは以下のコマンドで行う。
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
npm run build:electron
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Gitからリポジトリを取得して利用する場合
|
|
165
|
+
|
|
166
|
+
最低限のライブラリで良い場合には、``npm install --production``を実行するだけ。
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
git clone https://github.com/kujirahand/nadesiko3.git
|
|
170
|
+
cd nadesiko3
|
|
171
|
+
npm install --production
|
|
172
|
+
```
|
package/doc/about.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# なでしこ3とは
|
|
2
|
+
|
|
3
|
+
日本語のプログラミング言語「なでしこ」(第三版)は、現在、鋭意開発中です。 HTML/JavaScriptをベースとしているので、PC/スマホ/タブレットなど、さまざまな環境で動作させることができます。
|
|
4
|
+
|
|
5
|
+
-[URL][なでしこ3/マニュアル](https://nadesi.com/doc3/)
|
|
6
|
+
|
|
7
|
+
## 開発目標
|
|
8
|
+
|
|
9
|
+
- (日本語の母語話者を対象とした) 母国語に特化したプログラミング言語
|
|
10
|
+
- 教育用途に特化
|
|
11
|
+
- ブラウザで手軽に試せること
|
|
12
|
+
|
|
13
|
+
## どこまでできているのか
|
|
14
|
+
|
|
15
|
+
- 簡単なWebエディタがあり、最小限の文字入力でプログラミングできる
|
|
16
|
+
- 条件分岐、繰り返しなど、基本的な制御構文が実装されている
|
|
17
|
+
|
|
18
|
+
## 対応機器/ブラウザ
|
|
19
|
+
|
|
20
|
+
- HTML5対応ブラウザ (Internet Explorer / Safari / Chrome / Firefox等)
|
|
21
|
+
- スマホブラウザ (iOS Safari / Android標準ブラウザ)
|
|
22
|
+
- PC (Windows/macOS/Linux - Node.jsが動く環境)
|
|
23
|
+
|
|
24
|
+
## 今後の開発物の予定
|
|
25
|
+
|
|
26
|
+
- Web上で本格的なプログラムができるようにする
|
|
27
|
+
- 動物やキャラクターを動かしたり、お絵かきしたりできるようにする
|
|
28
|
+
- ラズパイ上で動かし、電子工作が楽しめるようにする
|
|
29
|
+
- ライブラリやAPIなどモジュールを追加する
|
|
30
|
+
- 教育・プレゼン用途
|
|
31
|
+
- グラフの作成
|
|
32
|
+
- 音を出す
|
|
33
|
+
- PC向けバッチ処理ツールとして
|
|
34
|
+
- なでしこv1で得たノウハウを、macOS/Linuxでも活用できるようにする
|
package/doc/browsers.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# 対応機器/ブラウザ
|
|
2
|
+
|
|
3
|
+
* ブラウザ
|
|
4
|
+
* モバイル
|
|
5
|
+
* Chrome for Android
|
|
6
|
+
* 80
|
|
7
|
+
* Firefox for Android
|
|
8
|
+
* 68
|
|
9
|
+
* QQ Browser
|
|
10
|
+
* 1.2
|
|
11
|
+
* UC Browser for Android
|
|
12
|
+
* 12.12
|
|
13
|
+
* Android Browser
|
|
14
|
+
* 80
|
|
15
|
+
* Baidu Browser
|
|
16
|
+
* 7.12
|
|
17
|
+
* iOS Safari
|
|
18
|
+
* 13.3
|
|
19
|
+
* 13.2
|
|
20
|
+
* 13.0-13.1
|
|
21
|
+
* 12.2-12.4
|
|
22
|
+
* 12.0-12.1
|
|
23
|
+
* 11.3-11.4
|
|
24
|
+
* 10.3
|
|
25
|
+
* 9.3
|
|
26
|
+
* KaiOS Browser
|
|
27
|
+
* 2.5
|
|
28
|
+
* Opera Mini
|
|
29
|
+
* all
|
|
30
|
+
* Opera Mobile
|
|
31
|
+
* 46
|
|
32
|
+
* Samsung Internet
|
|
33
|
+
* 11.1
|
|
34
|
+
* 10.1
|
|
35
|
+
* PC
|
|
36
|
+
* Chrome
|
|
37
|
+
* 80
|
|
38
|
+
* 79
|
|
39
|
+
* 49
|
|
40
|
+
* Edge
|
|
41
|
+
* 80
|
|
42
|
+
* 79
|
|
43
|
+
* 18
|
|
44
|
+
* Firefox
|
|
45
|
+
* 74
|
|
46
|
+
* 73
|
|
47
|
+
* 72
|
|
48
|
+
* 68
|
|
49
|
+
* Internet Explorer
|
|
50
|
+
* 11
|
|
51
|
+
* Opera
|
|
52
|
+
* 66
|
|
53
|
+
* 65
|
|
54
|
+
* Safari
|
|
55
|
+
* 13
|
|
56
|
+
* 12.1
|
|
57
|
+
* PC (Windows/macOS/Linux)
|
|
58
|
+
* Node
|
|
59
|
+
* 12.16.0
|
|
60
|
+
* 10.19.0
|
package/doc/docgen.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# なでしこ3のマニュアルについて
|
|
2
|
+
|
|
3
|
+
なでしこ3の[マニュアル](https://nadesi.com/v3/doc/)はkonawiki3形式になっており、[こちら](https://github.com/kujirahand/nadesiko3doc)で保守されている。
|
|
4
|
+
|
|
5
|
+
## 命令一覧ページ
|
|
6
|
+
|
|
7
|
+
なお、[命令一覧ページ](https://nadesi.com/v3/doc/index.php?%E5%91%BD%E4%BB%A4%E4%B8%80%E8%A6%A7%2F%E6%A9%9F%E8%83%BD%E9%A0%86)の目次と概要は、マニュアル生成スクリプトにより生成されている。リポジトリ内のソースコードのマニュアルの自動生成は以下のコマンドで生成できる。
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm build:command
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 独自のプラグインの目次を生成するには
|
|
14
|
+
|
|
15
|
+
独自のプラグインを作った場合、マニュアル生成機能を利用して、独自のマニュアルを生成できる。
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
cnako3 batch/jsplugin2text.nako3 /plugin/path/nadesiko3-xxx
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
生成したテキストは、konawiki3形式となっている。
|
package/doc/editor.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# エディタの仕様
|
|
2
|
+
|
|
3
|
+
## 通常のエディタ
|
|
4
|
+
|
|
5
|
+
HTMLに以下のコードを挿入することでエディタを実装できる。
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
...
|
|
9
|
+
<head>
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="basic.css">
|
|
11
|
+
<link rel="stylesheet" href="../src/wnako3_editor.css">
|
|
12
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ace.js"
|
|
13
|
+
integrity="sha512-GZ1RIgZaSc8rnco/8CXfRdCpDxRCphenIiZ2ztLy3XQfCbQUSCuk8IudvNHxkRA3oUg6q0qejgN/qqyG1duv5Q=="
|
|
14
|
+
crossorigin="anonymous"></script>
|
|
15
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ext-language_tools.min.js"
|
|
16
|
+
integrity="sha512-8qx1DL/2Wsrrij2TWX5UzvEaYOFVndR7BogdpOyF4ocMfnfkw28qt8ULkXD9Tef0bLvh3TpnSAljDC7uyniEuQ=="
|
|
17
|
+
crossorigin="anonymous"></script>
|
|
18
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ext-options.min.js"
|
|
19
|
+
integrity="sha512-oHR+WVzBiVZ6njlMVlDDLUIOLRDfUUfRQ55PfkZvgjwuvGqL4ohCTxaahJIxTmtya4jgyk0zmOxDMuLzbfqQDA=="
|
|
20
|
+
crossorigin="anonymous"></script>
|
|
21
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.12/ext-code_lens.min.js"
|
|
22
|
+
integrity="sha512-gsDyyKTnOmSWRDzUbpYcPjzVsEyFGSWeWefzVKvbMULPR2ElIlKKsOtU3ycfybN9kncZXKLFSsUiG3cgJUbc/g=="
|
|
23
|
+
crossorigin="anonymous"></script>
|
|
24
|
+
</head>
|
|
25
|
+
<body>
|
|
26
|
+
...
|
|
27
|
+
<div class="editor-component">
|
|
28
|
+
<script type="application/json">
|
|
29
|
+
{
|
|
30
|
+
"title": "{タイトル (エディタのtitle属性)}",
|
|
31
|
+
"code": "{エディタに入力するコードの初期値}"
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
</div>
|
|
35
|
+
...
|
|
36
|
+
<script src="../release/wnako3.js"></script>
|
|
37
|
+
<script src="../release/editor.js"></script>
|
|
38
|
+
...
|
|
39
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/8.3.0/mocha.min.js"
|
|
40
|
+
integrity="sha512-LA/TpBXau/JNubKzHQhdi5vGkRLyQjs1vpuk2W1nc8WNgf/pCqBplD8MzlzeKJQTZPvkEZi0HqBDfRC2EyLMXw=="
|
|
41
|
+
crossorigin="anonymous"></script>
|
|
42
|
+
</body>
|
|
43
|
+
...
|
|
44
|
+
```
|
package/doc/files.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# なでしこを構成するファイルたち
|
|
2
|
+
|
|
3
|
+
## src/nako3.js
|
|
4
|
+
|
|
5
|
+
なでしこコンパイラ本体。なでしこのソースコードをJSに変換する。変換処理は、以下のように行われる。
|
|
6
|
+
|
|
7
|
+
- なでしこソース
|
|
8
|
+
- 構文木(中間表現)
|
|
9
|
+
- JavaScriptソース
|
|
10
|
+
|
|
11
|
+
## src/nako_prepare.js
|
|
12
|
+
|
|
13
|
+
なでしこのソースコードの前置処理を行うもの。主に全角半角の変換処理を行う。
|
|
14
|
+
|
|
15
|
+
## src/nako_parser3.js
|
|
16
|
+
|
|
17
|
+
なでしこ構文から構文木を生成するもの。
|
|
18
|
+
|
|
19
|
+
## src/nako_gen.js
|
|
20
|
+
|
|
21
|
+
構文木を元に、JavaScriptのコードを生成するもの。
|
|
22
|
+
|
|
23
|
+
## src/plugin_xxx.js
|
|
24
|
+
|
|
25
|
+
なでしこの命令を定義したプラグイン。
|
|
26
|
+
|
|
27
|
+
## src/cnako3.js
|
|
28
|
+
|
|
29
|
+
バッチファイル実行用。コマンドラインのインタフェースを実装するモノ。
|
|
30
|
+
|
|
31
|
+
## src/wnako3.js
|
|
32
|
+
|
|
33
|
+
ブラウザ用。
|
|
34
|
+
|
|
35
|
+
## src/enako3.js
|
|
36
|
+
|
|
37
|
+
Electronによるアプリ本体。
|
package/doc/plugins.md
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# プラグインのAPIの仕様
|
|
2
|
+
|
|
3
|
+
なでしこ3には、以下の二種類のプラグインがある。
|
|
4
|
+
|
|
5
|
+
- (1) なでしこ3自身で開発したなでしこプラグイン
|
|
6
|
+
- (2) JavaScriptで開発したJSプラグイン
|
|
7
|
+
|
|
8
|
+
なお、(1)のプラグインはなでしこ自身で関数を定義するだけである。
|
|
9
|
+
以下では、(2)のJavaScriptで開発したプラグインについて解説する。
|
|
10
|
+
|
|
11
|
+
## Webプラグインを利用する手順
|
|
12
|
+
|
|
13
|
+
HTMLファイル内でなでしこ本体(wnako3.js)よりも後ろで`<script src="(JSプラグイン).js">`と記述して読み込む。
|
|
14
|
+
|
|
15
|
+
なお「wnako3.js」を読み込むと、ブラウザの「navigator」オブジェクトにプロパティ「nako3」(navigator.nako3)にコンパイラのインスタンスが作成される。
|
|
16
|
+
|
|
17
|
+
## プラグイン側の実装方法
|
|
18
|
+
|
|
19
|
+
プラグインの実体は、Objectである。
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
{
|
|
23
|
+
'定数名': { 定義 },
|
|
24
|
+
'命令名': { 定義 },
|
|
25
|
+
...
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 定義:関数
|
|
30
|
+
|
|
31
|
+
プラグインの実体は、Object。実際の関数定義は、fnプロパティに行う。実際の関数の引数に加えて、システムを表すsysを用意する。
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
{
|
|
35
|
+
'関数名': { // @関数の説明 // @ヨミガナ
|
|
36
|
+
type: 'func', // 関数であれば func にする
|
|
37
|
+
josi: [['を', 'から'], ['まで']], // 助詞を配列で宣言する (可変長引数として扱いたい助詞は末尾で宣言する)
|
|
38
|
+
isVariableJosi: false, // 末尾の助詞を可変長引数として扱う場合 true にする
|
|
39
|
+
uses: [], // この関数から別の関数を呼ぶ場合に記述する // (TODO: #282)
|
|
40
|
+
fn: function (aFrom, aTo, sys) { ... }, // 関数の実態
|
|
41
|
+
return_none: false // 戻り値を返すかどうか
|
|
42
|
+
},
|
|
43
|
+
...
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
なお、コメントを記述した場合、`npm run build:command`を実行すると自動的にコマンドマニュアルが生成される。
|
|
48
|
+
|
|
49
|
+
### 定義:定数
|
|
50
|
+
|
|
51
|
+
typeプロパティに「const」を指定して、valueプロパティに値を指定する。
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
{ type: 'const', value: 100 } // @ヨミガナ
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 定義:変数
|
|
58
|
+
|
|
59
|
+
typeプロパティに「var」を指定して、valueプロパティに値を指定する。
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
{ type: 'var', value: 100 } // @ヨミガナ
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### プラグインの自動登録
|
|
66
|
+
|
|
67
|
+
プラグインの末尾に以下のコードを仕込むとscriptタグで読み込んだときシステムに登録できる。
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
if (typeof (navigator) === 'object') {
|
|
71
|
+
navigator.nako3.addPluginObject(プラグイン名, オブジェクト)
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 初期化メソッド
|
|
76
|
+
|
|
77
|
+
以下のようなエントリを用意しておくと、プラグインを取り込み、初回実行するときに初期化メソッドが実行される。
|
|
78
|
+
(ただし、プラグイン取り込み時に、 `!{プラグイン名}:初期化` というメソッド名にリネームされる)
|
|
79
|
+
|
|
80
|
+
```js
|
|
81
|
+
{
|
|
82
|
+
'初期化': {
|
|
83
|
+
type: 'func',
|
|
84
|
+
josi: [],
|
|
85
|
+
fn: function (sys) { ... }
|
|
86
|
+
}
|
|
87
|
+
...
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## クリアメソッド
|
|
92
|
+
|
|
93
|
+
以下のようなエントリを用意しておくと、プログラム終了時(あるいはクリア時)にプラグインごとプログラムが実行される。
|
|
94
|
+
|
|
95
|
+
```js
|
|
96
|
+
{
|
|
97
|
+
'!クリア': {
|
|
98
|
+
type: 'func',
|
|
99
|
+
josi: [],
|
|
100
|
+
fn: function (sys) { ... }
|
|
101
|
+
}
|
|
102
|
+
...
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## プラグイン側からシステム変数へのアクセス
|
|
107
|
+
|
|
108
|
+
関数を定義したとき、プラグイン関数側からシステムにアクセスしなければならない場合がある。
|
|
109
|
+
以下は引数のない関数を定義した例だが、必ず必要とされる引数の末尾に実行したシステムのthisを保持するオブジェクトが渡される。
|
|
110
|
+
このオブジェクトを参照することで、システム変数にアクセスできる。
|
|
111
|
+
|
|
112
|
+
```js
|
|
113
|
+
{
|
|
114
|
+
type: 'func',
|
|
115
|
+
josi: [],
|
|
116
|
+
fn: function (sys) {
|
|
117
|
+
console.log(sys)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
例えば、なでしこで管理されている変数「A」にアクセスしたいときは、以下のようなコードを記述する。なお、ローカル変数を参照するときpure: trueの関数は正しく動作しない。
|
|
123
|
+
|
|
124
|
+
```js
|
|
125
|
+
{
|
|
126
|
+
type: 'func',
|
|
127
|
+
josi: [],
|
|
128
|
+
fn: function (sys) {
|
|
129
|
+
const a = sys.__findVar('A')
|
|
130
|
+
console.log(a)
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
そのほかに、なでしこ側で定義した関数「HOGE」を実行したいときは、以下のように記述する。
|
|
136
|
+
|
|
137
|
+
```js
|
|
138
|
+
{
|
|
139
|
+
type: 'func',
|
|
140
|
+
josi: [],
|
|
141
|
+
fn: function (sys) {
|
|
142
|
+
const result = sys.__exec('HOGE', [arg1, arg2, arg3, sys])
|
|
143
|
+
console.log(result)
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
また、関数の引数に与える、sysはなでしこ自身を表す。
|
|
149
|
+
もし、代入的関数呼び出し(setter)であれば、sys.isSetterにtrueの値が入る。
|
|
150
|
+
|
|
151
|
+
なお、プラグインでは、以下のメソッドが使えるようになる。(すべてsrc/plugin_system.jsで定義されている。システム関数の初期化時に、これらの関数が追加される)
|
|
152
|
+
|
|
153
|
+
- sys.__findVar(name)
|
|
154
|
+
- sys.__exec(name, params)
|
|
155
|
+
|
|
156
|
+
関数内で、システム・グローバル変数にアクセスするには、``sys.__v0['変数名']``でアクセスできる。
|
|
157
|
+
|
|
158
|
+
なお、最後の助詞を可変長引数として扱う場合、システム変数は末尾の引数の末尾の要素として挿入される。
|
|
159
|
+
|
|
160
|
+
```js
|
|
161
|
+
{
|
|
162
|
+
type: 'func',
|
|
163
|
+
josi: [['は'], ['で']],
|
|
164
|
+
isVariableJosi: true,
|
|
165
|
+
fn: function (a, ...b) {
|
|
166
|
+
const sys = b.pop()
|
|
167
|
+
const result = sys.__exec('HOGE', [arg1, arg2, arg3, sys])
|
|
168
|
+
console.log(result)
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## 非同期モードに対応した関数を作る場合
|
|
174
|
+
|
|
175
|
+
v3.2.22で導入された非同期モードに対応した関数を作るには、以下のように記述する。
|
|
176
|
+
|
|
177
|
+
```js
|
|
178
|
+
fn: function (n, sys) {
|
|
179
|
+
if (sys.__genMode == '非同期モード') {
|
|
180
|
+
sys.async = true // 非同期モードを使うことを明示
|
|
181
|
+
setTimeout(() => {
|
|
182
|
+
sys.nextAsync(sys) // ここで非同期処理が完了した時にこの関数を呼ぶ
|
|
183
|
+
}, n * 1000)
|
|
184
|
+
} else {
|
|
185
|
+
// 非同期モードに対応していない時の処理
|
|
186
|
+
throw new Error('「!非同期モード」で使ってください')
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
- (参考)[秒待機](https://github.com/kujirahand/nadesiko3/blob/f3d51519aff77df04b0d9b1e29ed16914a3f0e74/src/plugin_system.js#L1808)
|
|
192
|
+
|
|
193
|
+
## マニュアルを自動生成する
|
|
194
|
+
|
|
195
|
+
- [doc/docgen.md](docgen.md) にマニュアル自動生成のスクリプトが紹介されている。
|
package/doc/release.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# なでしこv3のリリース手順
|
|
2
|
+
|
|
3
|
+
なでしこv3の最新版を、Webにアップするまでの備忘録です。いつも、手順飛ばしてしまうので、忘れないようにメモ。特に、npm publishの部分とか。
|
|
4
|
+
|
|
5
|
+
## 1.GitHubのリリース機能を使う
|
|
6
|
+
|
|
7
|
+
ただし、リリース前(コミット前)には必ずテストを実行して、テストが成功するか確認する。
|
|
8
|
+
|
|
9
|
+
```shell
|
|
10
|
+
npm test
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
なお、よくエラーが出る部分で「ナデシコバージョン」で問題があれば、package.jsonのversion値とsrc/plugin_system.jsの変数番号が合っているかを確認する。
|
|
14
|
+
|
|
15
|
+
## 2.必要なファイルをビルドする
|
|
16
|
+
|
|
17
|
+
まず、リリース用にwebpackでパックしたソースを生成する(/releaseに生成物が作られる)。
|
|
18
|
+
|
|
19
|
+
```shell
|
|
20
|
+
npm run build
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
対応ブラウザを更新する。
|
|
24
|
+
|
|
25
|
+
```shell
|
|
26
|
+
npm run build:browsers
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 3.npmにpublish
|
|
30
|
+
|
|
31
|
+
package.jsonのバージョン番号を更新したことを確認する。npm publishでnpmに公開する。
|
|
32
|
+
|
|
33
|
+
```shell
|
|
34
|
+
npm publish
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 4.Webにアップロード
|
|
38
|
+
|
|
39
|
+
必要なら、WEB(nadesi.com/doc3)の簡易エディタを最新版に更新する。
|
|
40
|
+
|
|
41
|
+
## 5.Webサイトで最新版を告知
|
|
42
|
+
|
|
43
|
+
リリース内容を告知する。
|
|
44
|
+
|
|
45
|
+
## 6.Windowsバイナリ版のアップロード
|
|
46
|
+
|
|
47
|
+
Windows用のリポジトリ生成のためにファイルをnadesiko3win32へコピーする。ただし、事前準備として、 `git clone` でnadesiko3win32のリポジトリを取得しておく必要がある。
|
|
48
|
+
|
|
49
|
+
```shell
|
|
50
|
+
npm run build:win32
|
|
51
|
+
bash ./win32.bash
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
nadesiko3win32のフォルダに移動。
|
|
55
|
+
|
|
56
|
+
```shell
|
|
57
|
+
cd ../nadesiko3win32
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
なお、Windowsで実行してモジュールの最新版を取得。
|
|
61
|
+
|
|
62
|
+
```shell
|
|
63
|
+
nodejs\npm install --production
|
|
64
|
+
nodejs\npm audit fix
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
次に、7zipでモジュールを固める。
|
|
68
|
+
|
|
69
|
+
```shell
|
|
70
|
+
bin\7z -mx=9 a node_modules.7z node_modules
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
最後にGitへアップする。
|
|
74
|
+
|
|
75
|
+
```shell
|
|
76
|
+
git commit -a
|
|
77
|
+
git push
|
|
78
|
+
```
|