Hello,
thanks for trying, I copied sample-app-ts example, just installed backpack plugin and added it in index.ts:
import * as Blockly from 'blockly';
import {Backpack} from '@blockly/workspace-backpack';
import {blocks} from './blocks/text';
import {forBlock} from './generators/javascript';
import {javascriptGenerator} from 'blockly/javascript';
import {save, load} from './serialization';
import {toolbox} from './toolbox';
import './index.css';
// Register the blocks and generator with Blockly
Blockly.common.defineBlocks(blocks);
Object.assign(javascriptGenerator.forBlock, forBlock);
// Set up UI elements and inject Blockly
const codeDiv = document.getElementById('generatedCode')?.firstChild;
const outputDiv = document.getElementById('output');
const blocklyDiv = document.getElementById('blocklyDiv');
const ws = blocklyDiv && Blockly.inject(blocklyDiv, {toolbox});
const backpack = new Backpack(ws);
backpack.init();
and updated all dependencies:
"devDependencies": {
"css-loader": "^6.8.1",
"html-webpack-plugin": "^5.5.3",
"source-map-loader": "^4.0.1",
"style-loader": "^3.3.3",
"ts-loader": "^9.4.4",
"typescript": "^5.2.2",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1"
},
"dependencies": {
"@blockly/workspace-backpack": "^5.2.2",
"blockly": "^10.2.0"
}
When launching 'npm run start', I have a type error:
[tsl] ERROR in index.ts(26,31) (it's line with
const backpack = new Backpack(ws);
)
TS2345: Argument of type 'WorkspaceSvg | null' is not assignable to parameter of type 'WorkspaceSvg'.
Type 'null' is not assignable to type 'WorkspaceSvg'.
ts-loader-default_e3b0c44298fc1c14
It's for a clean sample-app-ts, but for my application I have 42 errors about backpack plugin like "TS18047: 'VerticalFlyout' is possibly 'null'." ; TS18047: 'parentNode' is possibly 'null'." and I have no idea what the pb is coming from...maybe my TS configuration?