#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