@zwave-js/nvmedit 15.28.0 → 15.29.0

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 (134) hide show
  1. package/build/cjs/cli.js.map +2 -2
  2. package/build/cjs/convert.js +36 -12
  3. package/build/cjs/convert.js.map +2 -2
  4. package/build/cjs/lib/NVM3.js +16 -12
  5. package/build/cjs/lib/NVM3.js.map +2 -2
  6. package/build/cjs/lib/NVM500.js.map +2 -2
  7. package/build/cjs/lib/common/definitions.d.ts +1 -1
  8. package/build/cjs/lib/common/definitions.js.map +2 -2
  9. package/build/cjs/lib/common/routeCache.js.map +2 -2
  10. package/build/cjs/lib/common/sucUpdateEntry.js.map +2 -2
  11. package/build/cjs/lib/common/utils.js.map +2 -2
  12. package/build/cjs/lib/io/BufferedNVMReader.js.map +2 -2
  13. package/build/cjs/lib/io/NVMFileIO.js +1 -1
  14. package/build/cjs/lib/io/NVMFileIO.js.map +2 -2
  15. package/build/cjs/lib/io/NVMMemoryIO.js.map +2 -2
  16. package/build/cjs/lib/nvm3/adapter.d.ts +1 -1
  17. package/build/cjs/lib/nvm3/adapter.js.map +2 -2
  18. package/build/cjs/lib/nvm3/consts.js.map +1 -1
  19. package/build/cjs/lib/nvm3/files/ApplicationCCsFile.js.map +2 -2
  20. package/build/cjs/lib/nvm3/files/ApplicationDataFile.js.map +2 -2
  21. package/build/cjs/lib/nvm3/files/ApplicationNameFile.js.map +2 -2
  22. package/build/cjs/lib/nvm3/files/ApplicationRFConfigFile.js.map +2 -2
  23. package/build/cjs/lib/nvm3/files/ApplicationTypeFile.js.map +2 -2
  24. package/build/cjs/lib/nvm3/files/ControllerInfoFile.js.map +2 -2
  25. package/build/cjs/lib/nvm3/files/NVMFile.js.map +2 -2
  26. package/build/cjs/lib/nvm3/files/NodeInfoFiles.js.map +2 -2
  27. package/build/cjs/lib/nvm3/files/ProtocolNodeMaskFiles.js.map +2 -2
  28. package/build/cjs/lib/nvm3/files/RouteCacheFiles.js.map +2 -2
  29. package/build/cjs/lib/nvm3/files/SUCUpdateEntriesFile.js.map +2 -2
  30. package/build/cjs/lib/nvm3/files/VersionFiles.js.map +2 -2
  31. package/build/cjs/lib/nvm3/object.js.map +2 -2
  32. package/build/cjs/lib/nvm3/page.js.map +2 -2
  33. package/build/cjs/lib/nvm3/utils.js.map +2 -2
  34. package/build/cjs/lib/nvm500/EntryParsers.js +1 -4
  35. package/build/cjs/lib/nvm500/EntryParsers.js.map +2 -2
  36. package/build/cjs/lib/nvm500/adapter.d.ts +1 -1
  37. package/build/cjs/lib/nvm500/adapter.js +3 -1
  38. package/build/cjs/lib/nvm500/adapter.js.map +2 -2
  39. package/build/cjs/lib/nvm500/impls/Bridge_6_6x.js.map +2 -2
  40. package/build/cjs/lib/nvm500/impls/Bridge_6_7x.js.map +2 -2
  41. package/build/cjs/lib/nvm500/impls/Bridge_6_8x.js.map +2 -2
  42. package/build/cjs/lib/nvm500/impls/Static_6_6x.js.map +2 -2
  43. package/build/cjs/lib/nvm500/impls/Static_6_7x.js.map +2 -2
  44. package/build/cjs/lib/nvm500/impls/Static_6_8x.js.map +2 -2
  45. package/build/cjs/lib/nvm500/shared.js.map +2 -2
  46. package/build/esm/cli.js.map +1 -1
  47. package/build/esm/convert.d.ts.map +1 -1
  48. package/build/esm/convert.js +49 -28
  49. package/build/esm/convert.js.map +1 -1
  50. package/build/esm/lib/NVM3.d.ts.map +1 -1
  51. package/build/esm/lib/NVM3.js +22 -21
  52. package/build/esm/lib/NVM3.js.map +1 -1
  53. package/build/esm/lib/NVM500.d.ts.map +1 -1
  54. package/build/esm/lib/NVM500.js +4 -5
  55. package/build/esm/lib/NVM500.js.map +1 -1
  56. package/build/esm/lib/common/definitions.d.ts +1 -1
  57. package/build/esm/lib/common/definitions.d.ts.map +1 -1
  58. package/build/esm/lib/common/definitions.js.map +1 -1
  59. package/build/esm/lib/common/routeCache.d.ts.map +1 -1
  60. package/build/esm/lib/common/routeCache.js +1 -2
  61. package/build/esm/lib/common/routeCache.js.map +1 -1
  62. package/build/esm/lib/common/sucUpdateEntry.d.ts.map +1 -1
  63. package/build/esm/lib/common/sucUpdateEntry.js.map +1 -1
  64. package/build/esm/lib/common/utils.d.ts.map +1 -1
  65. package/build/esm/lib/common/utils.js.map +1 -1
  66. package/build/esm/lib/io/BufferedNVMReader.d.ts.map +1 -1
  67. package/build/esm/lib/io/BufferedNVMReader.js +6 -6
  68. package/build/esm/lib/io/BufferedNVMReader.js.map +1 -1
  69. package/build/esm/lib/io/NVMFileIO.d.ts.map +1 -1
  70. package/build/esm/lib/io/NVMFileIO.js +1 -1
  71. package/build/esm/lib/io/NVMFileIO.js.map +1 -1
  72. package/build/esm/lib/io/NVMMemoryIO.d.ts.map +1 -1
  73. package/build/esm/lib/io/NVMMemoryIO.js.map +1 -1
  74. package/build/esm/lib/nvm3/adapter.d.ts +1 -1
  75. package/build/esm/lib/nvm3/adapter.d.ts.map +1 -1
  76. package/build/esm/lib/nvm3/adapter.js +28 -22
  77. package/build/esm/lib/nvm3/adapter.js.map +1 -1
  78. package/build/esm/lib/nvm3/consts.js +1 -1
  79. package/build/esm/lib/nvm3/files/ApplicationCCsFile.d.ts.map +1 -1
  80. package/build/esm/lib/nvm3/files/ApplicationCCsFile.js.map +1 -1
  81. package/build/esm/lib/nvm3/files/ApplicationDataFile.d.ts.map +1 -1
  82. package/build/esm/lib/nvm3/files/ApplicationDataFile.js.map +1 -1
  83. package/build/esm/lib/nvm3/files/ApplicationNameFile.d.ts.map +1 -1
  84. package/build/esm/lib/nvm3/files/ApplicationNameFile.js.map +1 -1
  85. package/build/esm/lib/nvm3/files/ApplicationRFConfigFile.d.ts.map +1 -1
  86. package/build/esm/lib/nvm3/files/ApplicationRFConfigFile.js.map +1 -1
  87. package/build/esm/lib/nvm3/files/ApplicationTypeFile.d.ts.map +1 -1
  88. package/build/esm/lib/nvm3/files/ApplicationTypeFile.js.map +1 -1
  89. package/build/esm/lib/nvm3/files/ControllerInfoFile.d.ts.map +1 -1
  90. package/build/esm/lib/nvm3/files/ControllerInfoFile.js.map +1 -1
  91. package/build/esm/lib/nvm3/files/NVMFile.d.ts.map +1 -1
  92. package/build/esm/lib/nvm3/files/NVMFile.js.map +1 -1
  93. package/build/esm/lib/nvm3/files/NodeInfoFiles.d.ts.map +1 -1
  94. package/build/esm/lib/nvm3/files/NodeInfoFiles.js +2 -4
  95. package/build/esm/lib/nvm3/files/NodeInfoFiles.js.map +1 -1
  96. package/build/esm/lib/nvm3/files/ProtocolNodeMaskFiles.d.ts.map +1 -1
  97. package/build/esm/lib/nvm3/files/ProtocolNodeMaskFiles.js.map +1 -1
  98. package/build/esm/lib/nvm3/files/RouteCacheFiles.d.ts.map +1 -1
  99. package/build/esm/lib/nvm3/files/RouteCacheFiles.js +2 -4
  100. package/build/esm/lib/nvm3/files/RouteCacheFiles.js.map +1 -1
  101. package/build/esm/lib/nvm3/files/SUCUpdateEntriesFile.d.ts.map +1 -1
  102. package/build/esm/lib/nvm3/files/SUCUpdateEntriesFile.js +1 -2
  103. package/build/esm/lib/nvm3/files/SUCUpdateEntriesFile.js.map +1 -1
  104. package/build/esm/lib/nvm3/files/VersionFiles.d.ts.map +1 -1
  105. package/build/esm/lib/nvm3/files/VersionFiles.js.map +1 -1
  106. package/build/esm/lib/nvm3/object.d.ts.map +1 -1
  107. package/build/esm/lib/nvm3/object.js.map +1 -1
  108. package/build/esm/lib/nvm3/page.d.ts.map +1 -1
  109. package/build/esm/lib/nvm3/page.js.map +1 -1
  110. package/build/esm/lib/nvm3/utils.d.ts.map +1 -1
  111. package/build/esm/lib/nvm3/utils.js.map +1 -1
  112. package/build/esm/lib/nvm500/EntryParsers.d.ts.map +1 -1
  113. package/build/esm/lib/nvm500/EntryParsers.js +4 -5
  114. package/build/esm/lib/nvm500/EntryParsers.js.map +1 -1
  115. package/build/esm/lib/nvm500/adapter.d.ts +1 -1
  116. package/build/esm/lib/nvm500/adapter.d.ts.map +1 -1
  117. package/build/esm/lib/nvm500/adapter.js +10 -12
  118. package/build/esm/lib/nvm500/adapter.js.map +1 -1
  119. package/build/esm/lib/nvm500/impls/Bridge_6_6x.d.ts.map +1 -1
  120. package/build/esm/lib/nvm500/impls/Bridge_6_6x.js.map +1 -1
  121. package/build/esm/lib/nvm500/impls/Bridge_6_7x.d.ts.map +1 -1
  122. package/build/esm/lib/nvm500/impls/Bridge_6_7x.js.map +1 -1
  123. package/build/esm/lib/nvm500/impls/Bridge_6_8x.d.ts.map +1 -1
  124. package/build/esm/lib/nvm500/impls/Bridge_6_8x.js.map +1 -1
  125. package/build/esm/lib/nvm500/impls/Static_6_6x.d.ts.map +1 -1
  126. package/build/esm/lib/nvm500/impls/Static_6_6x.js.map +1 -1
  127. package/build/esm/lib/nvm500/impls/Static_6_7x.d.ts.map +1 -1
  128. package/build/esm/lib/nvm500/impls/Static_6_7x.js.map +1 -1
  129. package/build/esm/lib/nvm500/impls/Static_6_8x.d.ts.map +1 -1
  130. package/build/esm/lib/nvm500/impls/Static_6_8x.js.map +1 -1
  131. package/build/esm/lib/nvm500/shared.d.ts.map +1 -1
  132. package/build/esm/lib/nvm500/shared.js.map +1 -1
  133. package/build/esm/nvm500/NVMParser.d.ts.map +1 -1
  134. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli.ts"],
4
- "sourcesContent": ["import { fs } from \"@zwave-js/core/bindings/fs/node\";\nimport { readJSON, writeTextFile } from \"@zwave-js/shared\";\nimport { isObject } from \"alcalzone-shared/typeguards\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport {\n\ttype MigrateNVMOptions,\n\tjson500To700,\n\tjson700To500,\n\tjsonToNVM,\n\tjsonToNVM500,\n\tmigrateNVM,\n\tnvm500ToJSON,\n\tnvmToJSON,\n} from \"./convert.js\";\n\nconst yargsInstance = yargs(hideBin(process.argv));\n\nvoid yargsInstance\n\t.env(\"NVMEDIT\")\n\t.strict()\n\t.usage(\"Z-Wave JS NVM converter utility\\n\\nUsage: $0 [options]\")\n\t.alias(\"h\", \"help\")\n\t.alias(\"v\", \"version\")\n\t.wrap(Math.min(100, yargsInstance.terminalWidth()))\n\t.options({\n\t\tverbose: {\n\t\t\talias: \"vv\",\n\t\t\tdescribe: \"Print verbose output\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t})\n\t.command(\n\t\t\"nvm2json\",\n\t\t\"Convert an NVM backup to JSON\",\n\t\t(yargs) =>\n\t\t\tyargs.usage(\"$0 nvm2json --in <input> --out <output>\").options({\n\t\t\t\tin: {\n\t\t\t\t\tdescribe: \"NVM backup filename\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t},\n\t\t\t\tout: {\n\t\t\t\t\tdescribe: \"JSON output filename\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t},\n\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst buffer = await fs.readFile(argv.in);\n\t\t\tlet json: any;\n\t\t\ttry {\n\t\t\t\tjson = await nvmToJSON(buffer, argv.verbose);\n\t\t\t} catch (e) {\n\t\t\t\ttry {\n\t\t\t\t\tjson = await nvm500ToJSON(buffer);\n\t\t\t\t} catch {\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\tprocess.exit(1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait writeTextFile(fs, argv.out, JSON.stringify(json, null, \"\\t\"));\n\t\t\tconsole.error(`NVM (JSON) written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.command(\n\t\t\"json2nvm\",\n\t\t\"Convert the JSON representation of an NVM to binary\",\n\t\t(yargs) =>\n\t\t\tyargs\n\t\t\t\t.usage(\n\t\t\t\t\t\"$0 json2nvm --in <input> --out <output> --protocolVersion <version>\",\n\t\t\t\t)\n\t\t\t\t.options({\n\t\t\t\t\tin: {\n\t\t\t\t\t\tdescribe: \"JSON input filename\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tout: {\n\t\t\t\t\t\tdescribe: \"NVM output filename\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tprotocolVersion: {\n\t\t\t\t\t\talias: \"V\",\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"target protocol version, determines the NVM format\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst { protocolVersion } = argv;\n\t\t\tconst versionIs500 = /^\\d\\.\\d+$/.test(protocolVersion);\n\n\t\t\tconst json = await readJSON(fs, argv.in);\n\t\t\tconst jsonIs500 = json.format === 500;\n\t\t\tif (versionIs500 && !jsonIs500) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`ERROR: Protocol version ${protocolVersion} looks like a 500-series version, but the JSON file does not belong to a 500-series NVM!\nConvert it first using the 700to500 command.`,\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t} else if (jsonIs500 && !versionIs500) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`ERROR: Protocol version ${protocolVersion} looks like a 700-series version, but the JSON file belong to a 500-series NVM!\nConvert it first using the 500to700 command.`,\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\n\t\t\tif (!isObject(json.meta)) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`ERROR: The JSON file does not contain the meta section, which is required for the conversion to a binary NVM!\nCreate a backup of the target stick, use the nvm2json command to convert it to JSON and copy the meta section from there.`,\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\n\t\t\tconst nvm = versionIs500\n\t\t\t\t? await jsonToNVM500(json, protocolVersion)\n\t\t\t\t: await jsonToNVM(json, protocolVersion);\n\t\t\tawait fs.writeFile(argv.out, nvm);\n\t\t\tconsole.error(`NVM (binary) written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.command(\n\t\t\"500to700\",\n\t\t\"Convert a 500-series JSON file into a 700-series JSON file\",\n\t\t(yargs) =>\n\t\t\tyargs\n\t\t\t\t.usage(\"$0 500to700 --in <input> --out <output> [--truncate]\")\n\t\t\t\t.options({\n\t\t\t\t\tin: {\n\t\t\t\t\t\tdescribe: \"500 series JSON input filename\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tout: {\n\t\t\t\t\t\tdescribe: \"700 series output filename\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\ttruncate: {\n\t\t\t\t\t\talias: \"t\",\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Truncate application data if it is too large (> 512 bytes)\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\trequired: false,\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst json500 = await readJSON(fs, argv.in);\n\t\t\tconst json700 = json500To700(json500, argv.truncate);\n\t\t\tawait writeTextFile(\n\t\t\t\tfs,\n\t\t\t\targv.out,\n\t\t\t\tJSON.stringify(json700, null, \"\\t\"),\n\t\t\t);\n\t\t\tconsole.error(`700-series NVM (JSON) written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.command(\n\t\t\"700to500\",\n\t\t\"Convert a 700-series JSON file into a 500-series JSON file\",\n\t\t(yargs) =>\n\t\t\tyargs.usage(\"$0 700to500 --in <input> --out <output>\").options({\n\t\t\t\tin: {\n\t\t\t\t\tdescribe: \"700 series JSON input filename\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t},\n\t\t\t\tout: {\n\t\t\t\t\tdescribe: \"500 series output filename\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t},\n\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst json700 = await readJSON(fs, argv.in);\n\t\t\tconst json500 = json700To500(json700);\n\t\t\tawait writeTextFile(\n\t\t\t\tfs,\n\t\t\t\targv.out,\n\t\t\t\tJSON.stringify(json500, null, \"\\t\"),\n\t\t\t);\n\t\t\tconsole.error(`500-series NVM (JSON) written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.command(\n\t\t\"convert\",\n\t\t\"Convert the format of an NVM backup between different Z-Wave modules\",\n\t\t(yargs) =>\n\t\t\tyargs\n\t\t\t\t.usage(\n\t\t\t\t\t\"$0 convert --source <source> --target <target> --out <output>\",\n\t\t\t\t)\n\t\t\t\t.options({\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"The source NVM filename. This file will be converted to match the target NVM.\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"The target NVM filename. This file will used to determine how to convert the source NVM.\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tout: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"The output filename where the convert NVM will be written.\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tnoAppData: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Whether application data should be stripped during the migration\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\tnoRoutes: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Whether known routes should be stripped during the migration\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\tnoNeighbors: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Whether information about neighbors should be stripped during the migration\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\tnoSUCEntries: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Whether SUC update entries should be stripped during the migration\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\tnoOptional: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Strip all optional information from the NVM. Overrides all other noXYZ flags.\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst {\n\t\t\t\tnoAppData,\n\t\t\t\tnoNeighbors,\n\t\t\t\tnoRoutes,\n\t\t\t\tnoSUCEntries,\n\t\t\t\tnoOptional,\n\t\t\t} = argv;\n\t\t\tconst options: MigrateNVMOptions = {\n\t\t\t\tpreserveApplicationData: !noOptional && !noAppData,\n\t\t\t\tpreserveRoutes: !noOptional && !noRoutes,\n\t\t\t\tpreserveNeighbors: !noOptional && !noNeighbors,\n\t\t\t\tpreserveSUCUpdateEntries: !noOptional && !noSUCEntries,\n\t\t\t};\n\n\t\t\tconst source = await fs.readFile(argv.source);\n\t\t\tconst target = await fs.readFile(argv.target);\n\n\t\t\tconst output = await migrateNVM(source, target, options);\n\n\t\t\tawait fs.writeFile(argv.out, output);\n\t\t\tconsole.error(`Converted NVM written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.demandCommand(1, \"Please specify a command\")\n\t.parseAsync();\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { fs } from \"@zwave-js/core/bindings/fs/node\";\nimport { readJSON, writeTextFile } from \"@zwave-js/shared\";\nimport { isObject } from \"alcalzone-shared/typeguards\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\n\nimport {\n\ttype MigrateNVMOptions,\n\tjson500To700,\n\tjson700To500,\n\tjsonToNVM,\n\tjsonToNVM500,\n\tmigrateNVM,\n\tnvm500ToJSON,\n\tnvmToJSON,\n} from \"./convert.js\";\n\nconst yargsInstance = yargs(hideBin(process.argv));\n\nvoid yargsInstance\n\t.env(\"NVMEDIT\")\n\t.strict()\n\t.usage(\"Z-Wave JS NVM converter utility\\n\\nUsage: $0 [options]\")\n\t.alias(\"h\", \"help\")\n\t.alias(\"v\", \"version\")\n\t.wrap(Math.min(100, yargsInstance.terminalWidth()))\n\t.options({\n\t\tverbose: {\n\t\t\talias: \"vv\",\n\t\t\tdescribe: \"Print verbose output\",\n\t\t\ttype: \"boolean\",\n\t\t},\n\t})\n\t.command(\n\t\t\"nvm2json\",\n\t\t\"Convert an NVM backup to JSON\",\n\t\t(yargs) =>\n\t\t\tyargs.usage(\"$0 nvm2json --in <input> --out <output>\").options({\n\t\t\t\tin: {\n\t\t\t\t\tdescribe: \"NVM backup filename\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t},\n\t\t\t\tout: {\n\t\t\t\t\tdescribe: \"JSON output filename\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t},\n\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst buffer = await fs.readFile(argv.in);\n\t\t\tlet json: any;\n\t\t\ttry {\n\t\t\t\tjson = await nvmToJSON(buffer, argv.verbose);\n\t\t\t} catch (e) {\n\t\t\t\ttry {\n\t\t\t\t\tjson = await nvm500ToJSON(buffer);\n\t\t\t\t} catch {\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\tprocess.exit(1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait writeTextFile(fs, argv.out, JSON.stringify(json, null, \"\\t\"));\n\t\t\tconsole.error(`NVM (JSON) written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.command(\n\t\t\"json2nvm\",\n\t\t\"Convert the JSON representation of an NVM to binary\",\n\t\t(yargs) =>\n\t\t\tyargs\n\t\t\t\t.usage(\n\t\t\t\t\t\"$0 json2nvm --in <input> --out <output> --protocolVersion <version>\",\n\t\t\t\t)\n\t\t\t\t.options({\n\t\t\t\t\tin: {\n\t\t\t\t\t\tdescribe: \"JSON input filename\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tout: {\n\t\t\t\t\t\tdescribe: \"NVM output filename\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tprotocolVersion: {\n\t\t\t\t\t\talias: \"V\",\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"target protocol version, determines the NVM format\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst { protocolVersion } = argv;\n\t\t\tconst versionIs500 = /^\\d\\.\\d+$/.test(protocolVersion);\n\n\t\t\tconst json = await readJSON(fs, argv.in);\n\t\t\tconst jsonIs500 = json.format === 500;\n\t\t\tif (versionIs500 && !jsonIs500) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`ERROR: Protocol version ${protocolVersion} looks like a 500-series version, but the JSON file does not belong to a 500-series NVM!\nConvert it first using the 700to500 command.`,\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t} else if (jsonIs500 && !versionIs500) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`ERROR: Protocol version ${protocolVersion} looks like a 700-series version, but the JSON file belong to a 500-series NVM!\nConvert it first using the 500to700 command.`,\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\n\t\t\tif (!isObject(json.meta)) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`ERROR: The JSON file does not contain the meta section, which is required for the conversion to a binary NVM!\nCreate a backup of the target stick, use the nvm2json command to convert it to JSON and copy the meta section from there.`,\n\t\t\t\t);\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\n\t\t\tconst nvm = versionIs500\n\t\t\t\t? await jsonToNVM500(json, protocolVersion)\n\t\t\t\t: await jsonToNVM(json, protocolVersion);\n\t\t\tawait fs.writeFile(argv.out, nvm);\n\t\t\tconsole.error(`NVM (binary) written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.command(\n\t\t\"500to700\",\n\t\t\"Convert a 500-series JSON file into a 700-series JSON file\",\n\t\t(yargs) =>\n\t\t\tyargs\n\t\t\t\t.usage(\"$0 500to700 --in <input> --out <output> [--truncate]\")\n\t\t\t\t.options({\n\t\t\t\t\tin: {\n\t\t\t\t\t\tdescribe: \"500 series JSON input filename\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tout: {\n\t\t\t\t\t\tdescribe: \"700 series output filename\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\ttruncate: {\n\t\t\t\t\t\talias: \"t\",\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Truncate application data if it is too large (> 512 bytes)\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\trequired: false,\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst json500 = await readJSON(fs, argv.in);\n\t\t\tconst json700 = json500To700(json500, argv.truncate);\n\t\t\tawait writeTextFile(\n\t\t\t\tfs,\n\t\t\t\targv.out,\n\t\t\t\tJSON.stringify(json700, null, \"\\t\"),\n\t\t\t);\n\t\t\tconsole.error(`700-series NVM (JSON) written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.command(\n\t\t\"700to500\",\n\t\t\"Convert a 700-series JSON file into a 500-series JSON file\",\n\t\t(yargs) =>\n\t\t\tyargs.usage(\"$0 700to500 --in <input> --out <output>\").options({\n\t\t\t\tin: {\n\t\t\t\t\tdescribe: \"700 series JSON input filename\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t},\n\t\t\t\tout: {\n\t\t\t\t\tdescribe: \"500 series output filename\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\trequired: true,\n\t\t\t\t},\n\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst json700 = await readJSON(fs, argv.in);\n\t\t\tconst json500 = json700To500(json700);\n\t\t\tawait writeTextFile(\n\t\t\t\tfs,\n\t\t\t\targv.out,\n\t\t\t\tJSON.stringify(json500, null, \"\\t\"),\n\t\t\t);\n\t\t\tconsole.error(`500-series NVM (JSON) written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.command(\n\t\t\"convert\",\n\t\t\"Convert the format of an NVM backup between different Z-Wave modules\",\n\t\t(yargs) =>\n\t\t\tyargs\n\t\t\t\t.usage(\n\t\t\t\t\t\"$0 convert --source <source> --target <target> --out <output>\",\n\t\t\t\t)\n\t\t\t\t.options({\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"The source NVM filename. This file will be converted to match the target NVM.\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"The target NVM filename. This file will used to determine how to convert the source NVM.\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tout: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"The output filename where the convert NVM will be written.\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\trequired: true,\n\t\t\t\t\t},\n\t\t\t\t\tnoAppData: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Whether application data should be stripped during the migration\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\tnoRoutes: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Whether known routes should be stripped during the migration\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\tnoNeighbors: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Whether information about neighbors should be stripped during the migration\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\tnoSUCEntries: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Whether SUC update entries should be stripped during the migration\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t\tnoOptional: {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Strip all optional information from the NVM. Overrides all other noXYZ flags.\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\tasync (argv) => {\n\t\t\tconst {\n\t\t\t\tnoAppData,\n\t\t\t\tnoNeighbors,\n\t\t\t\tnoRoutes,\n\t\t\t\tnoSUCEntries,\n\t\t\t\tnoOptional,\n\t\t\t} = argv;\n\t\t\tconst options: MigrateNVMOptions = {\n\t\t\t\tpreserveApplicationData: !noOptional && !noAppData,\n\t\t\t\tpreserveRoutes: !noOptional && !noRoutes,\n\t\t\t\tpreserveNeighbors: !noOptional && !noNeighbors,\n\t\t\t\tpreserveSUCUpdateEntries: !noOptional && !noSUCEntries,\n\t\t\t};\n\n\t\t\tconst source = await fs.readFile(argv.source);\n\t\t\tconst target = await fs.readFile(argv.target);\n\n\t\t\tconst output = await migrateNVM(source, target, options);\n\n\t\t\tawait fs.writeFile(argv.out, output);\n\t\t\tconsole.error(`Converted NVM written to ${argv.out}`);\n\n\t\t\tprocess.exit(0);\n\t\t},\n\t)\n\t.demandCommand(1, \"Please specify a command\")\n\t.parseAsync();\n"],
5
+ "mappings": "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",
6
6
  "names": ["yargs"]
7
7
  }
@@ -966,7 +966,9 @@ async function jsonToNVM(json, targetSDKVersion) {
966
966
  });
967
967
  }
968
968
  }
969
- await adapter.set({ domain: "controller", type: "nodeIds" }, [...nodeInfoExists]);
969
+ await adapter.set({ domain: "controller", type: "nodeIds" }, [
970
+ ...nodeInfoExists
971
+ ]);
970
972
  if (target.lrNodes) {
971
973
  for (const [id, node] of Object.entries(target.lrNodes)) {
972
974
  const nodeId = parseInt(id);
@@ -974,7 +976,9 @@ async function jsonToNVM(json, targetSDKVersion) {
974
976
  await adapter.set({ domain: "lrnode", nodeId, type: "info" }, nvmJSONLRNodeToLRNodeInfo(nodeId, node));
975
977
  }
976
978
  }
977
- await adapter.set({ domain: "controller", type: "lrNodeIds" }, [...lrNodeInfoExists]);
979
+ await adapter.set({ domain: "controller", type: "lrNodeIds" }, [
980
+ ...lrNodeInfoExists
981
+ ]);
978
982
  if (targetProtocolFormat >= 3) {
979
983
  target.controller.lastNodeIdLR ??= 255;
980
984
  target.controller.maxNodeIdLR ??= 0;
@@ -983,11 +987,21 @@ async function jsonToNVM(json, targetSDKVersion) {
983
987
  target.controller.dcdcConfig ??= 255;
984
988
  }
985
989
  adapter.setFile(new import_files.ControllerInfoFile(nvmJSONControllerToFileOptions(target.controller)));
986
- await adapter.set({ domain: "controller", type: "appRouteLock" }, [...appRouteLock]);
987
- await adapter.set({ domain: "controller", type: "routeSlaveSUC" }, [...routeSlaveSUC]);
988
- await adapter.set({ domain: "controller", type: "sucPendingUpdate" }, [...sucPendingUpdate]);
989
- await adapter.set({ domain: "controller", type: "virtualNodeIds" }, [...virtualNodeIds]);
990
- await adapter.set({ domain: "controller", type: "pendingDiscovery" }, [...pendingDiscovery]);
990
+ await adapter.set({ domain: "controller", type: "appRouteLock" }, [
991
+ ...appRouteLock
992
+ ]);
993
+ await adapter.set({ domain: "controller", type: "routeSlaveSUC" }, [
994
+ ...routeSlaveSUC
995
+ ]);
996
+ await adapter.set({ domain: "controller", type: "sucPendingUpdate" }, [
997
+ ...sucPendingUpdate
998
+ ]);
999
+ await adapter.set({ domain: "controller", type: "virtualNodeIds" }, [
1000
+ ...virtualNodeIds
1001
+ ]);
1002
+ await adapter.set({ domain: "controller", type: "pendingDiscovery" }, [
1003
+ ...pendingDiscovery
1004
+ ]);
991
1005
  if (target.controller.preferredRepeaters?.length) {
992
1006
  await adapter.set({ domain: "controller", type: "preferredRepeaters" }, target.controller.preferredRepeaters);
993
1007
  }
@@ -1088,11 +1102,21 @@ async function jsonToNVM500(json, protocolVersion) {
1088
1102
  });
1089
1103
  }
1090
1104
  }
1091
- await adapter.set({ domain: "controller", type: "appRouteLock" }, [...appRouteLock]);
1092
- await adapter.set({ domain: "controller", type: "routeSlaveSUC" }, [...routeSlaveSUC]);
1093
- await adapter.set({ domain: "controller", type: "sucPendingUpdate" }, [...sucPendingUpdate]);
1094
- await adapter.set({ domain: "controller", type: "virtualNodeIds" }, [...virtualNodeIds]);
1095
- await adapter.set({ domain: "controller", type: "pendingDiscovery" }, [...pendingDiscovery]);
1105
+ await adapter.set({ domain: "controller", type: "appRouteLock" }, [
1106
+ ...appRouteLock
1107
+ ]);
1108
+ await adapter.set({ domain: "controller", type: "routeSlaveSUC" }, [
1109
+ ...routeSlaveSUC
1110
+ ]);
1111
+ await adapter.set({ domain: "controller", type: "sucPendingUpdate" }, [
1112
+ ...sucPendingUpdate
1113
+ ]);
1114
+ await adapter.set({ domain: "controller", type: "virtualNodeIds" }, [
1115
+ ...virtualNodeIds
1116
+ ]);
1117
+ await adapter.set({ domain: "controller", type: "pendingDiscovery" }, [
1118
+ ...pendingDiscovery
1119
+ ]);
1096
1120
  await adapter.commit();
1097
1121
  await io.close();
1098
1122
  return ret;