iobroker.javascript 9.0.9 → 9.0.10

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 (27) hide show
  1. package/README.md +4 -1
  2. package/admin/assets/{OpenAiDialog-CDDsvlCe.js → OpenAiDialog-B4P-N63e.js} +1 -1
  3. package/admin/assets/{Save-D3ZQadHC.js → Save--0ldNXLf.js} +1 -1
  4. package/admin/assets/{ScriptEditor-Ciz-_SvX.js → ScriptEditor-MKyboaPj.js} +1 -1
  5. package/admin/assets/{ScriptEditorVanillaMonaco-Cs6PL8eZ.js → ScriptEditorVanillaMonaco-CkDzb80s.js} +1 -1
  6. package/admin/assets/{createSvgIcon-BDXN8whp.js → createSvgIcon-C_ElRFrf.js} +1 -1
  7. package/admin/assets/{index-PhbDiVdG.js → index-Bjydl5_6.js} +1 -1
  8. package/admin/assets/{index-DOeHpve2.js → index-CMttI-gM.js} +4 -4
  9. package/admin/assets/index-DJdd5j6E.js +930 -0
  10. package/admin/assets/{index-BxkzUxCi.js → index-DaagTm0N.js} +1 -1
  11. package/admin/assets/index-DeFm7TiX.js +5 -0
  12. package/admin/assets/{index-quKi7QsD.js → index-vw185EVR.js} +95 -95
  13. package/admin/assets/{inheritsLoose-BLb-YnoJ.js → inheritsLoose-CLw44UEv.js} +1 -1
  14. package/admin/assets/useTheme-CpAj0H76.js +1 -0
  15. package/admin/custom/assets/index-K4NodPhU.js +904 -0
  16. package/admin/custom/customComponents.js +2 -2
  17. package/admin/google-blockly/own/blocks_procedures.js +162 -0
  18. package/admin/google-blockly/own/blocks_system.js +1 -1
  19. package/admin/mf-manifest.json +1 -1
  20. package/admin/remoteEntry.js +2 -2
  21. package/admin/tab.html +4 -4
  22. package/io-package.json +14 -14
  23. package/package.json +2 -2
  24. package/admin/assets/index-BZGWELt0.js +0 -930
  25. package/admin/assets/index-DsS-er0h.js +0 -5
  26. package/admin/assets/useTheme-BbFVG4-1.js +0 -1
  27. package/admin/custom/assets/index-FOcWxrRT.js +0 -904
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-Co3YA5NW.js","./assets/_commonjsHelpers-D6-XlEtG.js","./assets/index-ClFSKKDu.js","./assets/ConfigCustomJavascriptSet__loadShare__react__loadShare__-B_YWmFeG.js","./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js","./assets/jsx-runtime-lE4rOet2.js","./assets/createSvgIcon-BxCMHFh5.js","./assets/DefaultPropsProvider-B41fRCEO.js","./assets/defaultTheme-C_aSR-NR.js","./assets/createTheme-Ajie0adn.js","./assets/DefaultPropsProvider-CfXkmG16.js","./assets/Tabs-DjdFNknI.js","./assets/useTheme-DWmRkwMP.js","./assets/FilledInput-BGGUNS4j.js","./assets/useEnhancedEffect-DSK35Rma.js","./assets/index-7YkEnLQM.js","./assets/useTheme-CpiJlUE9.js","./assets/ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DYzjQQsF.js","./assets/index-B2rBO0oC.js","./assets/index-UhQfKbTz.js","./assets/ThemeProvider-Uan4kCQd.js","./assets/index-FOcWxrRT.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-WrqdT1Hz.js","./assets/index-BkKMt4bp.js","./assets/index-Bw5ZKbIF.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-BHJt30My.js","./assets/preload-helper-Dp1pzeXC.js","./assets/index-bxilEzdP.js","./assets/leaflet-src-A2ZHl6nF.js","./assets/index-DXg_kRe6.js"])))=>i.map(i=>d[i]);
2
- import{i as d,C as p}from"./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js";import s from"./assets/virtualExposes-4pgHXHfp.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const n={react:async()=>await a(()=>import("./assets/index-Co3YA5NW.js").then(t=>t.i),__vite__mapDeps([0,1]),import.meta.url),"@mui/x-date-pickers":async()=>await a(()=>import("./assets/index-ClFSKKDu.js"),__vite__mapDeps([2,3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-UhQfKbTz.js"),__vite__mapDeps([19,9,3,1,4,7,8,10,5,11,12,13,14,15,16,6,17,18,20]),import.meta.url),"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-FOcWxrRT.js"),__vite__mapDeps([21,9,3,1,4,22,23,18,16,8,12]),import.meta.url),"@iobroker/json-config":async()=>await a(()=>import("./assets/index-Bw5ZKbIF.js"),__vite__mapDeps([24,3,1,4,22,23,18,25,17,13,7,8,9,10,5,14,12,26]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-bxilEzdP.js").then(t=>t.i),__vite__mapDeps([27,1,3,4]),import.meta.url),leaflet:async()=>await a(()=>import("./assets/leaflet-src-A2ZHl6nF.js").then(t=>t.l),__vite__mapDeps([28,1]),import.meta.url),"@mui/icons-material":async()=>await a(()=>import("./assets/index-DXg_kRe6.js"),__vite__mapDeps([29,5,3,1,4,6,7,8,9,10]),import.meta.url)},o={react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.react.loaded=!0;const{react:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/x-date-pickers":{name:"@mui/x-date-pickers",version:"7.29.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/x-date-pickers"].loaded=!0;const{"@mui/x-date-pickers":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/json-config":{name:"@iobroker/json-config",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/json-config"].loaded=!0;const{"@iobroker/json-config":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},leaflet:{name:"leaflet",version:"1.9.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.leaflet.loaded=!0;const{leaflet:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/icons-material":{name:"@mui/icons-material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/icons-material"].loaded=!0;const{"@mui/icons-material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},f=[],u={},l="default",c="ConfigCustomJavascriptSet";async function k(e={},t=[]){const r=d({name:c,remotes:f,shared:o,plugins:[],shareStrategy:"version-first"});var i=u[l];if(i||(i=u[l]={from:c}),!(t.indexOf(i)>=0)){t.push(i),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(m){console.error(m)}return p.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-Co3YA5NW.js","./assets/_commonjsHelpers-D6-XlEtG.js","./assets/index-ClFSKKDu.js","./assets/ConfigCustomJavascriptSet__loadShare__react__loadShare__-B_YWmFeG.js","./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js","./assets/jsx-runtime-lE4rOet2.js","./assets/createSvgIcon-BxCMHFh5.js","./assets/DefaultPropsProvider-B41fRCEO.js","./assets/defaultTheme-C_aSR-NR.js","./assets/createTheme-Ajie0adn.js","./assets/DefaultPropsProvider-CfXkmG16.js","./assets/Tabs-DjdFNknI.js","./assets/useTheme-DWmRkwMP.js","./assets/FilledInput-BGGUNS4j.js","./assets/useEnhancedEffect-DSK35Rma.js","./assets/index-7YkEnLQM.js","./assets/useTheme-CpiJlUE9.js","./assets/ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DYzjQQsF.js","./assets/index-B2rBO0oC.js","./assets/index-UhQfKbTz.js","./assets/ThemeProvider-Uan4kCQd.js","./assets/index-K4NodPhU.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-WrqdT1Hz.js","./assets/index-BkKMt4bp.js","./assets/index-Bw5ZKbIF.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-BHJt30My.js","./assets/preload-helper-Dp1pzeXC.js","./assets/index-bxilEzdP.js","./assets/leaflet-src-A2ZHl6nF.js","./assets/index-DXg_kRe6.js"])))=>i.map(i=>d[i]);
2
+ import{i as d,C as p}from"./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js";import s from"./assets/virtualExposes-4pgHXHfp.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const n={react:async()=>await a(()=>import("./assets/index-Co3YA5NW.js").then(t=>t.i),__vite__mapDeps([0,1]),import.meta.url),"@mui/x-date-pickers":async()=>await a(()=>import("./assets/index-ClFSKKDu.js"),__vite__mapDeps([2,3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-UhQfKbTz.js"),__vite__mapDeps([19,9,3,1,4,7,8,10,5,11,12,13,14,15,16,6,17,18,20]),import.meta.url),"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-K4NodPhU.js"),__vite__mapDeps([21,9,3,1,4,22,23,18,16,8,12]),import.meta.url),"@iobroker/json-config":async()=>await a(()=>import("./assets/index-Bw5ZKbIF.js"),__vite__mapDeps([24,3,1,4,22,23,18,25,17,13,7,8,9,10,5,14,12,26]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-bxilEzdP.js").then(t=>t.i),__vite__mapDeps([27,1,3,4]),import.meta.url),leaflet:async()=>await a(()=>import("./assets/leaflet-src-A2ZHl6nF.js").then(t=>t.l),__vite__mapDeps([28,1]),import.meta.url),"@mui/icons-material":async()=>await a(()=>import("./assets/index-DXg_kRe6.js"),__vite__mapDeps([29,5,3,1,4,6,7,8,9,10]),import.meta.url)},o={react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.react.loaded=!0;const{react:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/x-date-pickers":{name:"@mui/x-date-pickers",version:"7.29.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/x-date-pickers"].loaded=!0;const{"@mui/x-date-pickers":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/json-config":{name:"@iobroker/json-config",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/json-config"].loaded=!0;const{"@iobroker/json-config":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},leaflet:{name:"leaflet",version:"1.9.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.leaflet.loaded=!0;const{leaflet:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/icons-material":{name:"@mui/icons-material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/icons-material"].loaded=!0;const{"@mui/icons-material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},f=[],u={},l="default",c="ConfigCustomJavascriptSet";async function k(e={},t=[]){const r=d({name:c,remotes:f,shared:o,plugins:[],shareStrategy:"version-first"});var i=u[l];if(i||(i=u[l]={from:c}),!(t.indexOf(i)>=0)){t.push(i),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(m){console.error(m)}return p.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
@@ -95,6 +95,14 @@ Blockly.Procedures.flyoutCategoryNew = function (workspace) {
95
95
 
96
96
  xmlList.push(block);
97
97
  }
98
+ if (Blockly.Blocks['procedures_return']) {
99
+ // <block type="procedures_ifreturn" gap="16"></block>
100
+ const block = utils.createElement('block');
101
+ block.setAttribute('type', 'procedures_return');
102
+ block.setAttribute('gap', '16');
103
+
104
+ xmlList.push(block);
105
+ }
98
106
  if (Blockly.Blocks['procedures_defcustomnoreturn']) {
99
107
  // <block type="procedures_defcustomnoreturn" gap="16">
100
108
  // <field name="NAME">do something</field>
@@ -440,6 +448,26 @@ Blockly.Blocks['procedures_callcustomreturn'] = {
440
448
  Blockly.JavaScript.forBlock['procedures_callcustomreturn'] = Blockly.JavaScript.forBlock['procedures_callreturn'];
441
449
 
442
450
  // ---------------------- custom function with no return ------------------------------
451
+ // This was modified, so the shadow condition block is created in the init function
452
+ Blockly.Blocks['procedures_ifreturn'].init = function () {
453
+ const __input = this.appendValueInput('CONDITION')
454
+ .setCheck('Boolean')
455
+ .appendField(Blockly.Msg['CONTROLS_IF_MSG_IF']);
456
+
457
+ const _shadow = this.workspace.newBlock('logic_boolean');
458
+ _shadow.setShadow(true);
459
+ _shadow.setFieldValue('TRUE', 'BOOL');
460
+ _shadow.outputConnection.connect(__input.connection);
461
+
462
+ this.appendValueInput('VALUE').appendField(Blockly.Msg['PROCEDURES_DEFRETURN_RETURN']);
463
+ this.setInputsInline(true);
464
+ this.setPreviousStatement(true);
465
+ this.setNextStatement(true);
466
+ this.setStyle('procedure_blocks');
467
+ this.setTooltip(Blockly.Msg['PROCEDURES_IFRETURN_TOOLTIP']);
468
+ this.setHelpUrl(Blockly.Msg['PROCEDURES_IFRETURN_HELPURL']);
469
+ this.hasReturnValue_ = true;
470
+ };
443
471
 
444
472
  Blockly.Blocks['procedures_defcustomnoreturn'] = {
445
473
  getProcedureModel() {
@@ -523,4 +551,138 @@ Blockly.JavaScript.forBlock['procedures_callcustomnoreturn'] = function (block)
523
551
  // function call as a value, with the addition of line ending.
524
552
  const tuple = Blockly.JavaScript.forBlock['procedures_callcustomreturn'](block);
525
553
  return tuple[0] + ';\n';
554
+ };
555
+
556
+ Blockly.Blocks['procedures_return'] = {
557
+ /**
558
+ * Block for conditionally returning a value from a procedure.
559
+ */
560
+ init: function () {
561
+ this.appendValueInput('VALUE').appendField(
562
+ Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'],
563
+ );
564
+ this.setInputsInline(true);
565
+ this.setPreviousStatement(true);
566
+ this.setNextStatement(true);
567
+ this.setStyle('procedure_blocks');
568
+ this.setTooltip(Blockly.Msg['PROCEDURES_IFRETURN_TOOLTIP']);
569
+ this.setHelpUrl(Blockly.Msg['PROCEDURES_IFRETURN_HELPURL']);
570
+ this.hasReturnValue_ = true;
571
+ },
572
+ /**
573
+ * Create XML to represent whether this block has a return value.
574
+ *
575
+ * @returns XML storage element.
576
+ */
577
+ mutationToDom: function () {
578
+ const utils = Blockly.Xml.utils ? Blockly.Xml.utils : Blockly.utils.xml;
579
+ const container = utils.createElement('mutation');
580
+ container.setAttribute('value', String(Number(this.hasReturnValue_)));
581
+ return container;
582
+ },
583
+ /**
584
+ * Parse XML to restore whether this block has a return value.
585
+ *
586
+ * @param xmlElement XML storage element.
587
+ */
588
+ domToMutation: function (xmlElement) {
589
+ const value = xmlElement.getAttribute('value');
590
+ this.hasReturnValue_ = value === '1';
591
+ if (!this.hasReturnValue_) {
592
+ this.removeInput('VALUE');
593
+ this.appendDummyInput('VALUE').appendField(
594
+ Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'],
595
+ );
596
+ }
597
+ },
598
+
599
+ // This block does not need JSO serialization hooks (saveExtraState and
600
+ // loadExtraState) because the state of this block is already encoded in the
601
+ // block's position in the workspace.
602
+ // XML hooks are kept for backwards compatibility.
603
+
604
+ /**
605
+ * Called whenever anything on the workspace changes.
606
+ * Add warning if this flow block is not nested inside a loop.
607
+ *
608
+ * @param e Move event.
609
+ */
610
+ onchange: function (e) {
611
+ if (
612
+ (this.workspace.isDragging && this.workspace.isDragging()) ||
613
+ (e.type !== 'move' && e.type !== 'create')
614
+ ) {
615
+ return; // Don't change state at the start of a drag.
616
+ }
617
+ let legal = false;
618
+ // Is the block nested in a procedure?
619
+ let block = this; // eslint-disable-line @typescript-eslint/no-this-alias
620
+ do {
621
+ if (this.FUNCTION_TYPES.includes(block.type)) {
622
+ legal = true;
623
+ break;
624
+ }
625
+ block = block.getSurroundParent();
626
+ } while (block);
627
+ if (legal) {
628
+ // If needed, toggle whether this block has a return value.
629
+ if (block.type === 'procedures_defnoreturn' && this.hasReturnValue_) {
630
+ this.removeInput('VALUE');
631
+ this.appendDummyInput('VALUE').appendField(
632
+ Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'],
633
+ );
634
+ this.hasReturnValue_ = false;
635
+ } else if (
636
+ block.type === 'procedures_defreturn' &&
637
+ !this.hasReturnValue_
638
+ ) {
639
+ this.removeInput('VALUE');
640
+ this.appendValueInput('VALUE').appendField(
641
+ Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'],
642
+ );
643
+ this.hasReturnValue_ = true;
644
+ }
645
+ this.setWarningText(null);
646
+ } else {
647
+ this.setWarningText(Blockly.Msg['PROCEDURES_IFRETURN_WARNING']);
648
+ }
649
+
650
+ if (!this.isInFlyout) {
651
+ // const utils = Blockly.Xml.utils ? Blockly.Xml.utils : Blockly.utils.xml;
652
+ try {
653
+ // There is no need to record the enable/disable change on the undo/redo
654
+ // list since the change will be automatically recreated when replayed.
655
+ //utils.setRecordUndo(false);
656
+ this.setDisabledReason(!legal, 'UNPARENTED_IFRETURN');
657
+ } finally {
658
+ //utils.setRecordUndo(true);
659
+ }
660
+ }
661
+ },
662
+ /**
663
+ * List of block types that are functions and thus do not need warnings.
664
+ * To add a new function type add this to your code:
665
+ * Blocks['procedures_ifreturn'].FUNCTION_TYPES.push('custom_func');
666
+ */
667
+ FUNCTION_TYPES: ['procedures_defnoreturn', 'procedures_defreturn', 'procedures_defcustomreturn', 'procedures_defcustomnoreturn'],
668
+ };
669
+
670
+ Blockly.JavaScript.forBlock['procedures_return'] = function (block, generator) {
671
+ // Conditionally return value from a procedure.
672
+ let code = '';
673
+ if (generator.STATEMENT_SUFFIX) {
674
+ // Inject any statement suffix here since the regular one at the end
675
+ // will not get executed if the return is triggered.
676
+ code += generator.prefixLines(
677
+ generator.injectId(generator.STATEMENT_SUFFIX, block),
678
+ generator.INDENT,
679
+ );
680
+ }
681
+ if (block.hasReturnValue_) {
682
+ const value = generator.valueToCode(block, 'VALUE', 99 /* Order.NONE */) || 'null';
683
+ code += generator.INDENT + 'return ' + value + ';\n';
684
+ } else {
685
+ code += generator.INDENT + 'return;\n';
686
+ }
687
+ return code;
526
688
  };
@@ -586,7 +586,7 @@ Blockly.JavaScript.forBlock['control_ex'] = function (block) {
586
586
  fType = fType === true || fType === 'true' || fType === 'TRUE';
587
587
 
588
588
  let expire = '';
589
- if (vExpire > 0) {
589
+ if (vExpire) {
590
590
  expire = `, expire: ${vExpire}`;
591
591
  }
592
592
 
@@ -1 +1 @@
1
- {"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"7.7.2","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-BZGWELt0.js","assets/createSvgIcon-BDXN8whp.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/index-DsS-er0h.js","assets/Save-D3ZQadHC.js","assets/useTheme-BbFVG4-1.js","assets/index-BompUVvy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DOeHpve2.js","assets/createSvgIcon-BDXN8whp.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/inheritsLoose-BLb-YnoJ.js","assets/useTheme-BbFVG4-1.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DmpUKunr.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Do-nCdWy.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DQiceR5U.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]}
1
+ {"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"7.7.2","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DJdd5j6E.js","assets/createSvgIcon-C_ElRFrf.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/index-DeFm7TiX.js","assets/Save--0ldNXLf.js","assets/useTheme-CpAj0H76.js","assets/index-BompUVvy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-CMttI-gM.js","assets/createSvgIcon-C_ElRFrf.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/inheritsLoose-CLw44UEv.js","assets/useTheme-CpAj0H76.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DmpUKunr.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Do-nCdWy.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DQiceR5U.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]}
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-BZGWELt0.js","./assets/createSvgIcon-BDXN8whp.js","./assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","./assets/_commonjsHelpers-Cpj98o6Y.js","./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","./assets/index-DsS-er0h.js","./assets/Save-D3ZQadHC.js","./assets/useTheme-BbFVG4-1.js","./assets/index-BompUVvy.js","./assets/index-DOeHpve2.js","./assets/inheritsLoose-BLb-YnoJ.js","./assets/index-DmpUKunr.js","./assets/index-Do-nCdWy.js","./assets/index-DQiceR5U.js"])))=>i.map(i=>d[i]);
2
- import{i as d,a as m}from"./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js";import s from"./assets/virtualExposes-BIHI7g3E.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const i={"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-BZGWELt0.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-DOeHpve2.js"),__vite__mapDeps([9,1,2,3,4,10,7]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-DmpUKunr.js").then(t=>t.i),__vite__mapDeps([11,3,2,4]),import.meta.url),react:async()=>await a(()=>import("./assets/index-Do-nCdWy.js").then(t=>t.i),__vite__mapDeps([12,3]),import.meta.url),"prop-types":async()=>await a(()=>import("./assets/index-DQiceR5U.js").then(t=>t.i),__vite__mapDeps([13,3]),import.meta.url)},o={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.7.2",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o.react.loaded=!0;const{react:e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["prop-types"].loaded=!0;const{"prop-types":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},_=[],u={},p="default",c="iobroker_javascript";async function k(e={},t=[]){const r=d({name:c,remotes:_,shared:o,plugins:[],shareStrategy:"version-first"});var n=u[p];if(n||(n=u[p]={from:c}),!(t.indexOf(n)>=0)){t.push(n),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(l){console.error(l)}return m.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-DJdd5j6E.js","./assets/createSvgIcon-C_ElRFrf.js","./assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","./assets/_commonjsHelpers-Cpj98o6Y.js","./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","./assets/index-DeFm7TiX.js","./assets/Save--0ldNXLf.js","./assets/useTheme-CpAj0H76.js","./assets/index-BompUVvy.js","./assets/index-CMttI-gM.js","./assets/inheritsLoose-CLw44UEv.js","./assets/index-DmpUKunr.js","./assets/index-Do-nCdWy.js","./assets/index-DQiceR5U.js"])))=>i.map(i=>d[i]);
2
+ import{i as d,a as m}from"./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js";import s from"./assets/virtualExposes-BIHI7g3E.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const i={"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-DJdd5j6E.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-CMttI-gM.js"),__vite__mapDeps([9,1,2,3,4,10,7]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-DmpUKunr.js").then(t=>t.i),__vite__mapDeps([11,3,2,4]),import.meta.url),react:async()=>await a(()=>import("./assets/index-Do-nCdWy.js").then(t=>t.i),__vite__mapDeps([12,3]),import.meta.url),"prop-types":async()=>await a(()=>import("./assets/index-DQiceR5U.js").then(t=>t.i),__vite__mapDeps([13,3]),import.meta.url)},o={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.7.2",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o.react.loaded=!0;const{react:e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["prop-types"].loaded=!0;const{"prop-types":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},_=[],u={},p="default",c="iobroker_javascript";async function k(e={},t=[]){const r=d({name:c,remotes:_,shared:o,plugins:[],shareStrategy:"version-first"});var n=u[p];if(n||(n=u[p]={from:c}),!(t.indexOf(n)>=0)){t.push(n),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(l){console.error(l)}return m.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
package/admin/tab.html CHANGED
@@ -115,13 +115,13 @@
115
115
  type="text/javascript"
116
116
  src="google-blockly/own/blocks_object.js"
117
117
  ></script>
118
- <script type="module" crossorigin src="./assets/index-quKi7QsD.js"></script>
118
+ <script type="module" crossorigin src="./assets/index-vw185EVR.js"></script>
119
119
  <link rel="modulepreload" crossorigin href="./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js">
120
120
  <link rel="modulepreload" crossorigin href="./assets/_commonjsHelpers-Cpj98o6Y.js">
121
121
  <link rel="modulepreload" crossorigin href="./assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js">
122
- <link rel="modulepreload" crossorigin href="./assets/createSvgIcon-BDXN8whp.js">
123
- <link rel="modulepreload" crossorigin href="./assets/inheritsLoose-BLb-YnoJ.js">
124
- <link rel="modulepreload" crossorigin href="./assets/index-DsS-er0h.js">
122
+ <link rel="modulepreload" crossorigin href="./assets/createSvgIcon-C_ElRFrf.js">
123
+ <link rel="modulepreload" crossorigin href="./assets/inheritsLoose-CLw44UEv.js">
124
+ <link rel="modulepreload" crossorigin href="./assets/index-DeFm7TiX.js">
125
125
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-Dp1pzeXC.js">
126
126
  <link rel="stylesheet" crossorigin href="./assets/index-Dr_ZFwru.css">
127
127
  </head>
package/io-package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "javascript",
4
- "version": "9.0.9",
4
+ "version": "9.0.10",
5
5
  "blockedVersions": [
6
6
  "8.0.0",
7
7
  "8.0.1"
@@ -40,18 +40,18 @@
40
40
  "Matthias Kleine <info@haus-automatisierung.com>"
41
41
  ],
42
42
  "news": {
43
- "9.0.9": {
44
- "en": "Added Blockly block to format a numeric value\nFixing some blocks in blockly: cron, time",
45
- "de": "Hinzugefügt Blockly Block, um einen numerischen Wert zu formatieren\nEinige Blöcke blockweise fixieren: cron, time",
46
- "ru": "Добавлен блок Blockly для форматирования числового значения\nПочинка блоков в блоке: крон, время",
47
- "pt": "Adicionado Bloco para formatar um valor numérico\nConsertando alguns blocos em bloco: cron, tempo",
48
- "nl": "Blockly blok toegevoegd om een numerieke waarde te formatteren\nHet repareren van wat blokken in blokjes: cron, tijd",
49
- "fr": "Ajout d'un bloc bloc bloc pour formater une valeur numérique\nCorrection de quelques blocs en bloc : cron, temps",
50
- "it": "Aggiunto Blockly per formattare un valore numerico\nFissare alcuni blocchi in blocco: cron, tempo",
51
- "es": "Añadido Bloqueo bloqueado para formatear un valor numérico\nArreglar algunos bloques en bloque: cron, tiempo",
52
- "pl": "Dodano Blockly bloku do formatu wartości liczbowej\nNaprawianie niektórych bloków w blokowanych: cron, czas",
53
- "uk": "Додано блокнот для форматування числового значення\nВиправлення деяких блоків в блокноті: cron, час",
54
- "zh-cn": "添加块格式化一个数值\n整顿一些街区: cron, time"
43
+ "9.0.10": {
44
+ "en": "Added Blockly block to format a numeric value\nFixing some blocks in blockly: cron, time\nAdded new block: \"unconditional return\"\nType definitions for TypeScript were updated\nCorrected bug with deleting of sub-folders",
45
+ "de": "Hinzugefügt Blockly Block, um einen numerischen Wert zu formatieren\nEinige Blöcke blockweise fixieren: cron, time\nNeuer Block hinzugefügt: \"bedingungslose Rückkehr\"\nTypdefinitionen für TypeScript wurden aktualisiert\nFehler behoben mit Löschen von Unterordner",
46
+ "ru": "Добавлен блок Blockly для форматирования числового значения\nПочинка блоков в блоке: крон, время\nДобавлен новый блок: \"безусловный возврат\"\nОбновлены определения типов для TypeScript\nИсправлена ошибка с удалением подпапок",
47
+ "pt": "Adicionado Bloco para formatar um valor numérico\nConsertando alguns blocos em bloco: cron, tempo\nAdicionado novo bloco: \"retorno incondicional\"\nAs definições de tipo para TypeScript foram atualizadas\nErro corrigido com a exclusão de subpastas",
48
+ "nl": "Blockly blok toegevoegd om een numerieke waarde te formatteren\nHet repareren van wat blokken in blokjes: cron, tijd\nToegevoegd nieuw blok: \"onvoorwaardelijke terugkeer\"\nTypedefinities voor TypeScript zijn bijgewerkt\nGecorrigeerde bug met verwijderen van submappen",
49
+ "fr": "Ajout d'un bloc bloc bloc pour formater une valeur numérique\nCorrection de quelques blocs en bloc : cron, temps\nAjout d'un nouveau bloc : « retour inconditionnel »\nLes définitions de type pour TypeScript ont été mises à jour\nCorrection du bogue avec suppression des sous-dossiers",
50
+ "it": "Aggiunto Blockly per formattare un valore numerico\nFissare alcuni blocchi in blocco: cron, tempo\nAggiunto nuovo blocco: \"ritorno incondizionato\"\nLe definizioni di tipo per TypeScript sono state aggiornate\nCorretto bug con cancellazione di sotto-cartelle",
51
+ "es": "Añadido Bloqueo bloqueado para formatear un valor numérico\nArreglar algunos bloques en bloque: cron, tiempo\nNuevo bloque añadido: \"retorno incondicional\"\nSe actualizaron las definiciones de tipo para TipoScript\nError corregido con eliminación de subcarpetas",
52
+ "pl": "Dodano Blockly bloku do formatu wartości liczbowej\nNaprawianie niektórych bloków w blokowanych: cron, czas\nDodano nowy blok: \"bezwarunkowy powrót\"\nDefinicje typu dla TypeScript zostały zaktualizowane\nPoprawiony błąd z usuwaniem podfolderów",
53
+ "uk": "Додано блокнот для форматування числового значення\nВиправлення деяких блоків в блокноті: cron, час\nДодано новий блок: \"безумовне повернення\"\nОновлено тип визначення для TypeScript\nВиправлена помилка з видаленням підпапок",
54
+ "zh-cn": "添加块格式化一个数值\n整顿一些街区: cron, time\n新增块:\"无条件返回\"\n更新了 TypeScript 的类型定义\n删除子文件夹纠正错误"
55
55
  },
56
56
  "9.0.7": {
57
57
  "en": "Fixing some blocks in blockly: time, function",
@@ -186,7 +186,7 @@
186
186
  },
187
187
  "dependencies": [
188
188
  {
189
- "js-controller": ">=5.0.0"
189
+ "js-controller": ">=5.0.19"
190
190
  }
191
191
  ],
192
192
  "globalDependencies": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.javascript",
3
- "version": "9.0.9",
3
+ "version": "9.0.10",
4
4
  "description": "Rules Engine for ioBroker",
5
5
  "author": "bluefox <dogafox@gmail.com>",
6
6
  "contributors": [
@@ -64,8 +64,8 @@
64
64
  "@iobroker/adapter-dev": "^1.4.0",
65
65
  "@iobroker/build-tools": "^2.0.15",
66
66
  "@iobroker/eslint-config": "^2.0.2",
67
- "@iobroker/testing": "^5.0.4",
68
67
  "@iobroker/plugin-sentry": "^2.0.4",
68
+ "@iobroker/testing": "^5.0.4",
69
69
  "@iobroker/vis-2-widgets-react-dev": "^4.0.4",
70
70
  "@types/node-schedule": "^2.1.7",
71
71
  "@types/nodemailer": "^6.4.17",