#author("2024-03-10T10:58:17+00:00","default:iseki","iseki")
#author("2024-03-20T23:49:51+00:00","default:iseki","iseki")
* JupyterLab-Broccoli [#i8286928]
- Fork of [[JupyterLab-Blockly]]

** Version [#m5254693]
- ''0.3.x (PyPI, npm)''
-- JupyterLab 3.6.x, Blockly 9.3.3
- ''0.4.x (PyPI, npm)''
- ''0.4.5 (PyPI, npm)''
-- JupyterLab 4.0.x, Blockly 9.3.3
- ''0.4.6 (PyPI, npm)''
-- JupyterLab 4.1.x, Blockly 9.3.3
- ''0.5.x (npm)''
-- JupyterLab 4.0.x, Blockly 10.2.2

*** github [#weba4f24]
- https://github.com/jupyter-fumihax/jupyterlab-broccoli
*** PyPI [#z2d36a3c]
- https://pypi.org/project/jupyterlab-broccoli/
*** npm [#u70fcf85]
- https://www.npmjs.com/package/jupyterlab-broccoli
** Development [#s469352e]
*** npm [#uc3438e8]
- npm install を実行すると package.json から package-lock.json ができる?
- jupyterlab-blockly (broccoli) は yarn を使用する

*** yarn [#hdd3d3d4]
- yarn install を実行すると package.json から yarn.lock ができる
<pre>
\rm -r node_modules  yarn.lock 
yarn install
jlpm build
</pre>
*** jupyter [#ub8e922f]
- jupyter labextension list
- jupyter labextension uninstall ......
*** jlpm [#l8f2ee7e]
- jlpm clean
- jlpm cache clean

*** 実際のCommand [#v5b6531b]
 \rm -r node_modules/ yarn.lock packages/*/node_modules/ */labextension
 yarn install
 jlpm build

*** for JupyterLab v4 [#g5d9aade]
- ソースコードの表示には InputArea クラスを使用する.
- メニューの追加が大幅(?)変更
*** Source Code [#s37fc93a]
**** HTMLElememt [#e3c88e07]
- http://alphasis.info/javascript/dom/styleobject/
- https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
**** highlight.js [#r659d645]
- https://www.npmjs.com/package/highlight.js?activeTab=readme#basic-usage
** Development of Blocks [#x84be942]
- https://github.com/QuantStack/jupyterlab-blockly
- https://github.com/wolfv/jupyterlab-blockly
- [[Devel>./Devel]]
** Upload [#t18c9a3f]
*** PIP (PyPI) [#ff51c46c]
<pre>
\rm -r dist
python -m build
twine upload --repository pypi dist/*
</pre>
*** NPM [#i154d73c]
<pre>
jlpm build
cd packages/blockly
npm publish --access public
</pre>

** Blockly [#n5415e7b]
*** Blockly 9.3.3 [#t60287ef]
- 対応バージョン
*** Blockly 10.2.2 [#tcbf24c2]
- generator の登録に変更があった模様.
- jupyterlab-broccoli 0.5.0 で関数の上書きができない.

** Trouble Shooting [#i8551a0d]
*** jlpm build [#e00308ac]
**** Class 'RenderedCommon' incorrectly implements interface 'IRenderer' [#eae3db2f]
- tsconfig.json に "skipLibCheck": true を追加.
**** error TS2320: Interface 'ElementClass' cannot simultaneously extend types [#x227b16f]
- package.json で react 18.2.0 ではなく,@types/react 18.0.26 を指定.
**** blocks [#c1ea4e33]
<pre>
BlocklyPy.statementToCode(block, 'Do')
BlocklyPy.valueToCode

'check': 'Boolean',
'check': 'Number',
'check': 'String',
'check': 'Array',
'check': ['String', 'Array']
</pre>
- https://developers.google.com/blockly/reference/js/blockly.codegenerator_class.md?hl=ja
- https://developers.google.com/blockly/reference/js/blockly.block_class.md?hl=ja

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS