@zwave-js/nvmedit 14.3.7 → 14.3.8-0-pr-7581-401b2ca

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.
package/build/cjs/cli.js CHANGED
@@ -23,8 +23,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
23
  ));
24
24
  var import_shared = require("@zwave-js/shared");
25
25
  var import_typeguards = require("alcalzone-shared/typeguards");
26
- var import_promises = __toESM(require("node:fs/promises"), 1);
27
26
  var import_reflect_metadata = require("reflect-metadata");
27
+ var import_node = require("@zwave-js/core/bindings/fs/node");
28
28
  var import_yargs = __toESM(require("yargs"), 1);
29
29
  var import_helpers = require("yargs/helpers");
30
30
  var import_convert = require("./convert.js");
@@ -47,7 +47,7 @@ void yargsInstance.env("NVMEDIT").strict().usage("Z-Wave JS NVM converter utilit
47
47
  required: true
48
48
  }
49
49
  }), async (argv) => {
50
- const buffer = await import_promises.default.readFile(argv.in);
50
+ const buffer = await import_node.fs.readFile(argv.in);
51
51
  let json;
52
52
  try {
53
53
  json = await (0, import_convert.nvmToJSON)(buffer, argv.verbose);
@@ -59,7 +59,7 @@ void yargsInstance.env("NVMEDIT").strict().usage("Z-Wave JS NVM converter utilit
59
59
  process.exit(1);
60
60
  }
61
61
  }
62
- await import_promises.default.writeFile(argv.out, JSON.stringify(json, null, " "));
62
+ await (0, import_shared.writeTextFile)(import_node.fs, argv.out, JSON.stringify(json, null, " "));
63
63
  console.error(`NVM (JSON) written to ${argv.out}`);
64
64
  process.exit(0);
65
65
  }).command("json2nvm", "Convert the JSON representation of an NVM to binary", (yargs2) => yargs2.usage("$0 json2nvm --in <input> --out <output> --protocolVersion <version>").options({
@@ -82,7 +82,7 @@ void yargsInstance.env("NVMEDIT").strict().usage("Z-Wave JS NVM converter utilit
82
82
  }), async (argv) => {
83
83
  const { protocolVersion } = argv;
84
84
  const versionIs500 = /^\d\.\d+$/.test(protocolVersion);
85
- const json = await (0, import_shared.readJSON)(argv.in);
85
+ const json = await (0, import_shared.readJSON)(import_node.fs, argv.in);
86
86
  const jsonIs500 = json.format === 500;
87
87
  if (versionIs500 && !jsonIs500) {
88
88
  console.error(`ERROR: Protocol version ${protocolVersion} looks like a 500-series version, but the JSON file does not belong to a 500-series NVM!
@@ -99,7 +99,7 @@ Create a backup of the target stick, use the nvm2json command to convert it to J
99
99
  process.exit(1);
100
100
  }
101
101
  const nvm = versionIs500 ? await (0, import_convert.jsonToNVM500)(json, protocolVersion) : await (0, import_convert.jsonToNVM)(json, protocolVersion);
102
- await import_promises.default.writeFile(argv.out, nvm);
102
+ await import_node.fs.writeFile(argv.out, nvm);
103
103
  console.error(`NVM (binary) written to ${argv.out}`);
104
104
  process.exit(0);
105
105
  }).command("500to700", "Convert a 500-series JSON file into a 700-series JSON file", (yargs2) => yargs2.usage("$0 500to700 --in <input> --out <output> [--truncate]").options({
@@ -121,9 +121,9 @@ Create a backup of the target stick, use the nvm2json command to convert it to J
121
121
  default: false
122
122
  }
123
123
  }), async (argv) => {
124
- const json500 = await (0, import_shared.readJSON)(argv.in);
124
+ const json500 = await (0, import_shared.readJSON)(import_node.fs, argv.in);
125
125
  const json700 = (0, import_convert.json500To700)(json500, argv.truncate);
126
- await import_promises.default.writeFile(argv.out, JSON.stringify(json700, null, " "));
126
+ await (0, import_shared.writeTextFile)(import_node.fs, argv.out, JSON.stringify(json700, null, " "));
127
127
  console.error(`700-series NVM (JSON) written to ${argv.out}`);
128
128
  process.exit(0);
129
129
  }).command("700to500", "Convert a 700-series JSON file into a 500-series JSON file", (yargs2) => yargs2.usage("$0 700to500 --in <input> --out <output>").options({
@@ -138,9 +138,9 @@ Create a backup of the target stick, use the nvm2json command to convert it to J
138
138
  required: true
139
139
  }
140
140
  }), async (argv) => {
141
- const json700 = await (0, import_shared.readJSON)(argv.in);
141
+ const json700 = await (0, import_shared.readJSON)(import_node.fs, argv.in);
142
142
  const json500 = (0, import_convert.json700To500)(json700);
143
- await import_promises.default.writeFile(argv.out, JSON.stringify(json500, null, " "));
143
+ await (0, import_shared.writeTextFile)(import_node.fs, argv.out, JSON.stringify(json500, null, " "));
144
144
  console.error(`500-series NVM (JSON) written to ${argv.out}`);
145
145
  process.exit(0);
146
146
  }).command("convert", "Convert the format of an NVM backup between different Z-Wave modules", (yargs2) => yargs2.usage("$0 convert --source <source> --target <target> --out <output>").options({
@@ -160,10 +160,10 @@ Create a backup of the target stick, use the nvm2json command to convert it to J
160
160
  required: true
161
161
  }
162
162
  }), async (argv) => {
163
- const source = await import_promises.default.readFile(argv.source);
164
- const target = await import_promises.default.readFile(argv.target);
163
+ const source = await import_node.fs.readFile(argv.source);
164
+ const target = await import_node.fs.readFile(argv.target);
165
165
  const output = await (0, import_convert.migrateNVM)(source, target);
166
- await import_promises.default.writeFile(argv.out, output);
166
+ await import_node.fs.writeFile(argv.out, output);
167
167
  console.error(`Converted NVM written to ${argv.out}`);
168
168
  process.exit(0);
169
169
  }).demandCommand(1, "Please specify a command").parseAsync();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli.ts"],
4
- "sourcesContent": ["import { readJSON } from \"@zwave-js/shared\";\nimport { isObject } from \"alcalzone-shared/typeguards\";\nimport fs from \"node:fs/promises\";\nimport \"reflect-metadata\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport {\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 fs.writeFile(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(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(argv.in);\n\t\t\tconst json700 = json500To700(json500, argv.truncate);\n\t\t\tawait fs.writeFile(argv.out, JSON.stringify(json700, null, \"\\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(argv.in);\n\t\t\tconst json500 = json700To500(json700);\n\t\t\tawait fs.writeFile(argv.out, JSON.stringify(json500, null, \"\\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}),\n\t\tasync (argv) => {\n\t\t\tconst source = await fs.readFile(argv.source);\n\t\t\tconst target = await fs.readFile(argv.target);\n\t\t\tconst output = await migrateNVM(source, target);\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
- "names": ["yargs", "fs"]
4
+ "sourcesContent": ["import { readJSON, writeTextFile } from \"@zwave-js/shared\";\nimport { isObject } from \"alcalzone-shared/typeguards\";\nimport \"reflect-metadata\";\nimport { fs } from \"@zwave-js/core/bindings/fs/node\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport {\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}),\n\t\tasync (argv) => {\n\t\t\tconst source = await fs.readFile(argv.source);\n\t\t\tconst target = await fs.readFile(argv.target);\n\t\t\tconst output = await migrateNVM(source, target);\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
+ "names": ["yargs"]
7
7
  }
@@ -1,13 +1,16 @@
1
1
  import "reflect-metadata";
2
- export type { NVMJSON, NVMJSONController, NVMJSONControllerRFConfig, NVMJSONNode, NVMJSONNodeWithInfo, NVMJSONVirtualNode, } from "./convert.js";
3
2
  export { json500To700, json700To500, jsonToNVM, jsonToNVM500, migrateNVM, nvm500ToJSON, nvmToJSON, } from "./convert.js";
4
- export type { NVM3EraseOptions, NVM3Meta } from "./lib/NVM3.js";
5
- export type { NVM500EraseOptions, NVM500Info } from "./lib/NVM500.js";
3
+ export type { NVMJSON, NVMJSONController, NVMJSONControllerRFConfig, NVMJSONNode, NVMJSONNodeWithInfo, NVMJSONVirtualNode, } from "./convert.js";
4
+ export { NVM3, type NVM3EraseOptions, type NVM3Meta } from "./lib/NVM3.js";
5
+ export { NVM500, type NVM500EraseOptions, type NVM500Info, } from "./lib/NVM500.js";
6
6
  export { NVMAccess } from "./lib/common/definitions.js";
7
7
  export type { ControllerNVMProperty, ControllerNVMPropertyToDataType, LRNodeNVMProperty, LRNodeNVMPropertyToDataType, NVM, NVMAdapter, NVMIO, NVMProperty, NVMPropertyToDataType, NodeNVMProperty, NodeNVMPropertyToDataType, } from "./lib/common/definitions.js";
8
8
  export { BufferedNVMReader } from "./lib/io/BufferedNVMReader.js";
9
+ export { NVM3Adapter } from "./lib/nvm3/adapter.js";
9
10
  export { FragmentType, ObjectType, PageStatus, PageWriteSize, } from "./lib/nvm3/consts.js";
11
+ export * from "./lib/nvm3/files/index.js";
10
12
  export type { NVM3Object } from "./lib/nvm3/object.js";
11
13
  export type { NVM3Page, NVM3PageHeader } from "./lib/nvm3/page.js";
14
+ export { NVM500Adapter } from "./lib/nvm500/adapter.js";
12
15
  export type { NVM500JSON, NVM500JSONController, NVM500JSONControllerRFConfig, NVM500JSONNode, NVM500JSONNodeWithInfo, NVM500JSONVirtualNode, NVM500Meta, } from "./nvm500/NVMParser.js";
13
16
  //# sourceMappingURL=index_browser.d.ts.map
@@ -15,11 +15,16 @@ var __copyProps = (to, from, except, desc) => {
15
15
  }
16
16
  return to;
17
17
  };
18
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
20
  var index_browser_exports = {};
20
21
  __export(index_browser_exports, {
21
22
  BufferedNVMReader: () => import_BufferedNVMReader.BufferedNVMReader,
22
23
  FragmentType: () => import_consts.FragmentType,
24
+ NVM3: () => import_NVM3.NVM3,
25
+ NVM3Adapter: () => import_adapter.NVM3Adapter,
26
+ NVM500: () => import_NVM500.NVM500,
27
+ NVM500Adapter: () => import_adapter2.NVM500Adapter,
23
28
  NVMAccess: () => import_definitions.NVMAccess,
24
29
  ObjectType: () => import_consts.ObjectType,
25
30
  PageStatus: () => import_consts.PageStatus,
@@ -35,13 +40,22 @@ __export(index_browser_exports, {
35
40
  module.exports = __toCommonJS(index_browser_exports);
36
41
  var import_reflect_metadata = require("reflect-metadata");
37
42
  var import_convert = require("./convert.js");
43
+ var import_NVM3 = require("./lib/NVM3.js");
44
+ var import_NVM500 = require("./lib/NVM500.js");
38
45
  var import_definitions = require("./lib/common/definitions.js");
39
46
  var import_BufferedNVMReader = require("./lib/io/BufferedNVMReader.js");
47
+ var import_adapter = require("./lib/nvm3/adapter.js");
40
48
  var import_consts = require("./lib/nvm3/consts.js");
49
+ __reExport(index_browser_exports, require("./lib/nvm3/files/index.js"), module.exports);
50
+ var import_adapter2 = require("./lib/nvm500/adapter.js");
41
51
  // Annotate the CommonJS export names for ESM import in node:
42
52
  0 && (module.exports = {
43
53
  BufferedNVMReader,
44
54
  FragmentType,
55
+ NVM3,
56
+ NVM3Adapter,
57
+ NVM500,
58
+ NVM500Adapter,
45
59
  NVMAccess,
46
60
  ObjectType,
47
61
  PageStatus,
@@ -52,6 +66,7 @@ var import_consts = require("./lib/nvm3/consts.js");
52
66
  jsonToNVM500,
53
67
  migrateNVM,
54
68
  nvm500ToJSON,
55
- nvmToJSON
69
+ nvmToJSON,
70
+ ...require("./lib/nvm3/files/index.js")
56
71
  });
57
72
  //# sourceMappingURL=index_browser.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index_browser.ts"],
4
- "sourcesContent": ["/* @forbiddenImports external */\n\nimport \"reflect-metadata\";\n\nexport type {\n\tNVMJSON,\n\tNVMJSONController,\n\tNVMJSONControllerRFConfig,\n\tNVMJSONNode,\n\tNVMJSONNodeWithInfo,\n\tNVMJSONVirtualNode,\n} from \"./convert.js\";\n// FIXME: This transitively imports `semver`, which is fine to have in the browser\n// Decide whether we want to add semver as a general exception to the forbidden imports rule\n// eslint-disable-next-line @zwave-js/no-forbidden-imports\nexport {\n\tjson500To700,\n\tjson700To500,\n\tjsonToNVM,\n\tjsonToNVM500,\n\tmigrateNVM,\n\tnvm500ToJSON,\n\tnvmToJSON,\n} from \"./convert.js\";\nexport type { NVM3EraseOptions, NVM3Meta } from \"./lib/NVM3.js\";\nexport type { NVM500EraseOptions, NVM500Info } from \"./lib/NVM500.js\";\nexport { NVMAccess } from \"./lib/common/definitions.js\";\nexport type {\n\tControllerNVMProperty,\n\tControllerNVMPropertyToDataType,\n\tLRNodeNVMProperty,\n\tLRNodeNVMPropertyToDataType,\n\tNVM,\n\tNVMAdapter,\n\tNVMIO,\n\tNVMProperty,\n\tNVMPropertyToDataType,\n\tNodeNVMProperty,\n\tNodeNVMPropertyToDataType,\n} from \"./lib/common/definitions.js\";\nexport { BufferedNVMReader } from \"./lib/io/BufferedNVMReader.js\";\nexport {\n\tFragmentType,\n\tObjectType,\n\tPageStatus,\n\tPageWriteSize,\n} from \"./lib/nvm3/consts.js\";\nexport type { NVM3Object } from \"./lib/nvm3/object.js\";\nexport type { NVM3Page, NVM3PageHeader } from \"./lib/nvm3/page.js\";\nexport type {\n\tNVM500JSON,\n\tNVM500JSONController,\n\tNVM500JSONControllerRFConfig,\n\tNVM500JSONNode,\n\tNVM500JSONNodeWithInfo,\n\tNVM500JSONVirtualNode,\n\tNVM500Meta,\n} from \"./nvm500/NVMParser.js\";\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;AAEA,8BAAO;AAaP,qBAQO;AAGP,yBAA0B;AAc1B,+BAAkC;AAClC,oBAKO;",
6
- "names": []
4
+ "sourcesContent": ["/* @forbiddenImports external */\n\nimport \"reflect-metadata\";\n\nexport {\n\tjson500To700,\n\tjson700To500,\n\tjsonToNVM,\n\tjsonToNVM500,\n\tmigrateNVM,\n\tnvm500ToJSON,\n\tnvmToJSON,\n} from \"./convert.js\";\nexport type {\n\tNVMJSON,\n\tNVMJSONController,\n\tNVMJSONControllerRFConfig,\n\tNVMJSONNode,\n\tNVMJSONNodeWithInfo,\n\tNVMJSONVirtualNode,\n} from \"./convert.js\";\nexport { NVM3, type NVM3EraseOptions, type NVM3Meta } from \"./lib/NVM3.js\";\nexport {\n\tNVM500,\n\ttype NVM500EraseOptions,\n\ttype NVM500Info,\n} from \"./lib/NVM500.js\";\nexport { NVMAccess } from \"./lib/common/definitions.js\";\nexport type {\n\tControllerNVMProperty,\n\tControllerNVMPropertyToDataType,\n\tLRNodeNVMProperty,\n\tLRNodeNVMPropertyToDataType,\n\tNVM,\n\tNVMAdapter,\n\tNVMIO,\n\tNVMProperty,\n\tNVMPropertyToDataType,\n\tNodeNVMProperty,\n\tNodeNVMPropertyToDataType,\n} from \"./lib/common/definitions.js\";\nexport { BufferedNVMReader } from \"./lib/io/BufferedNVMReader.js\";\nexport { NVM3Adapter } from \"./lib/nvm3/adapter.js\";\nexport {\n\tFragmentType,\n\tObjectType,\n\tPageStatus,\n\tPageWriteSize,\n} from \"./lib/nvm3/consts.js\";\nexport * from \"./lib/nvm3/files/index.js\";\nexport type { NVM3Object } from \"./lib/nvm3/object.js\";\nexport type { NVM3Page, NVM3PageHeader } from \"./lib/nvm3/page.js\";\nexport { NVM500Adapter } from \"./lib/nvm500/adapter.js\";\nexport type {\n\tNVM500JSON,\n\tNVM500JSONController,\n\tNVM500JSONControllerRFConfig,\n\tNVM500JSONNode,\n\tNVM500JSONNodeWithInfo,\n\tNVM500JSONVirtualNode,\n\tNVM500Meta,\n} from \"./nvm500/NVMParser.js\";\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;AAEA,8BAAO;AAEP,qBAQO;AASP,kBAA2D;AAC3D,oBAIO;AACP,yBAA0B;AAc1B,+BAAkC;AAClC,qBAA4B;AAC5B,oBAKO;AACP,kCAAc,sCAjDd;AAoDA,IAAAA,kBAA8B;",
6
+ "names": ["import_adapter"]
7
7
  }
@@ -2,7 +2,7 @@ import { type FLiRS, RouteProtocolDataRate } from "@zwave-js/core/safe";
2
2
  import { Bytes } from "@zwave-js/shared/safe";
3
3
  export declare const ROUTECACHE_SIZE: number;
4
4
  export declare const EMPTY_ROUTECACHE_FILL = 255;
5
- export declare const emptyRouteCache: Uint8Array;
5
+ export declare const emptyRouteCache: Uint8Array<ArrayBuffer>;
6
6
  export interface Route {
7
7
  beaming: FLiRS;
8
8
  protocolRate: RouteProtocolDataRate;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC"}
package/build/esm/cli.js CHANGED
@@ -1,7 +1,7 @@
1
- import { readJSON } from "@zwave-js/shared";
1
+ import { readJSON, writeTextFile } from "@zwave-js/shared";
2
2
  import { isObject } from "alcalzone-shared/typeguards";
3
- import fs from "node:fs/promises";
4
3
  import "reflect-metadata";
4
+ import { fs } from "@zwave-js/core/bindings/fs/node";
5
5
  import yargs from "yargs";
6
6
  import { hideBin } from "yargs/helpers";
7
7
  import { json500To700, json700To500, jsonToNVM, jsonToNVM500, migrateNVM, nvm500ToJSON, nvmToJSON, } from "./convert.js";
@@ -46,7 +46,7 @@ void yargsInstance
46
46
  process.exit(1);
47
47
  }
48
48
  }
49
- await fs.writeFile(argv.out, JSON.stringify(json, null, "\t"));
49
+ await writeTextFile(fs, argv.out, JSON.stringify(json, null, "\t"));
50
50
  console.error(`NVM (JSON) written to ${argv.out}`);
51
51
  process.exit(0);
52
52
  })
@@ -72,7 +72,7 @@ void yargsInstance
72
72
  }), async (argv) => {
73
73
  const { protocolVersion } = argv;
74
74
  const versionIs500 = /^\d\.\d+$/.test(protocolVersion);
75
- const json = await readJSON(argv.in);
75
+ const json = await readJSON(fs, argv.in);
76
76
  const jsonIs500 = json.format === 500;
77
77
  if (versionIs500 && !jsonIs500) {
78
78
  console.error(`ERROR: Protocol version ${protocolVersion} looks like a 500-series version, but the JSON file does not belong to a 500-series NVM!
@@ -117,9 +117,9 @@ Create a backup of the target stick, use the nvm2json command to convert it to J
117
117
  default: false,
118
118
  },
119
119
  }), async (argv) => {
120
- const json500 = await readJSON(argv.in);
120
+ const json500 = await readJSON(fs, argv.in);
121
121
  const json700 = json500To700(json500, argv.truncate);
122
- await fs.writeFile(argv.out, JSON.stringify(json700, null, "\t"));
122
+ await writeTextFile(fs, argv.out, JSON.stringify(json700, null, "\t"));
123
123
  console.error(`700-series NVM (JSON) written to ${argv.out}`);
124
124
  process.exit(0);
125
125
  })
@@ -135,9 +135,9 @@ Create a backup of the target stick, use the nvm2json command to convert it to J
135
135
  required: true,
136
136
  },
137
137
  }), async (argv) => {
138
- const json700 = await readJSON(argv.in);
138
+ const json700 = await readJSON(fs, argv.in);
139
139
  const json500 = json700To500(json700);
140
- await fs.writeFile(argv.out, JSON.stringify(json500, null, "\t"));
140
+ await writeTextFile(fs, argv.out, JSON.stringify(json500, null, "\t"));
141
141
  console.error(`500-series NVM (JSON) written to ${argv.out}`);
142
142
  process.exit(0);
143
143
  })
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
1
  import "reflect-metadata";
2
- export type { NVMJSON, NVMJSONController, NVMJSONControllerRFConfig, NVMJSONNode, NVMJSONNodeWithInfo, NVMJSONVirtualNode, } from "./convert.js";
3
2
  export { json500To700, json700To500, jsonToNVM, jsonToNVM500, migrateNVM, nvm500ToJSON, nvmToJSON, } from "./convert.js";
4
- export type { NVM3EraseOptions, NVM3Meta } from "./lib/NVM3.js";
5
- export type { NVM500EraseOptions, NVM500Info } from "./lib/NVM500.js";
3
+ export type { NVMJSON, NVMJSONController, NVMJSONControllerRFConfig, NVMJSONNode, NVMJSONNodeWithInfo, NVMJSONVirtualNode, } from "./convert.js";
4
+ export { NVM3, type NVM3EraseOptions, type NVM3Meta } from "./lib/NVM3.js";
5
+ export { NVM500, type NVM500EraseOptions, type NVM500Info, } from "./lib/NVM500.js";
6
6
  export { NVMAccess } from "./lib/common/definitions.js";
7
7
  export type { ControllerNVMProperty, ControllerNVMPropertyToDataType, LRNodeNVMProperty, LRNodeNVMPropertyToDataType, NVM, NVMAdapter, NVMIO, NVMProperty, NVMPropertyToDataType, NodeNVMProperty, NodeNVMPropertyToDataType, } from "./lib/common/definitions.js";
8
8
  export { BufferedNVMReader } from "./lib/io/BufferedNVMReader.js";
9
+ export { NVM3Adapter } from "./lib/nvm3/adapter.js";
9
10
  export { FragmentType, ObjectType, PageStatus, PageWriteSize, } from "./lib/nvm3/consts.js";
11
+ export * from "./lib/nvm3/files/index.js";
10
12
  export type { NVM3Object } from "./lib/nvm3/object.js";
11
13
  export type { NVM3Page, NVM3PageHeader } from "./lib/nvm3/page.js";
14
+ export { NVM500Adapter } from "./lib/nvm500/adapter.js";
12
15
  export type { NVM500JSON, NVM500JSONController, NVM500JSONControllerRFConfig, NVM500JSONNode, NVM500JSONNodeWithInfo, NVM500JSONVirtualNode, NVM500Meta, } from "./nvm500/NVMParser.js";
13
16
  //# sourceMappingURL=index_browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index_browser.d.ts","sourceRoot":"","sources":["../../src/index_browser.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;AAE1B,YAAY,EACX,OAAO,EACP,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,cAAc,CAAC;AAItB,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,GACT,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,YAAY,EACX,qBAAqB,EACrB,+BAA+B,EAC/B,iBAAiB,EACjB,2BAA2B,EAC3B,GAAG,EACH,UAAU,EACV,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,yBAAyB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,GACb,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EACX,UAAU,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,GACV,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index_browser.d.ts","sourceRoot":"","sources":["../../src/index_browser.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,GACT,MAAM,cAAc,CAAC;AACtB,YAAY,EACX,OAAO,EACP,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACN,MAAM,EACN,KAAK,kBAAkB,EACvB,KAAK,UAAU,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,YAAY,EACX,qBAAqB,EACrB,+BAA+B,EAC/B,iBAAiB,EACjB,2BAA2B,EAC3B,GAAG,EACH,UAAU,EACV,KAAK,EACL,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,yBAAyB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,GACb,MAAM,sBAAsB,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EACX,UAAU,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,GACV,MAAM,uBAAuB,CAAC"}
@@ -1,10 +1,12 @@
1
1
  /* @forbiddenImports external */
2
2
  import "reflect-metadata";
3
- // FIXME: This transitively imports `semver`, which is fine to have in the browser
4
- // Decide whether we want to add semver as a general exception to the forbidden imports rule
5
- // eslint-disable-next-line @zwave-js/no-forbidden-imports
6
3
  export { json500To700, json700To500, jsonToNVM, jsonToNVM500, migrateNVM, nvm500ToJSON, nvmToJSON, } from "./convert.js";
4
+ export { NVM3 } from "./lib/NVM3.js";
5
+ export { NVM500, } from "./lib/NVM500.js";
7
6
  export { NVMAccess } from "./lib/common/definitions.js";
8
7
  export { BufferedNVMReader } from "./lib/io/BufferedNVMReader.js";
8
+ export { NVM3Adapter } from "./lib/nvm3/adapter.js";
9
9
  export { FragmentType, ObjectType, PageStatus, PageWriteSize, } from "./lib/nvm3/consts.js";
10
+ export * from "./lib/nvm3/files/index.js";
11
+ export { NVM500Adapter } from "./lib/nvm500/adapter.js";
10
12
  //# sourceMappingURL=index_browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index_browser.js","sourceRoot":"","sources":["../../src/index_browser.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,kBAAkB,CAAC;AAU1B,kFAAkF;AAClF,4FAA4F;AAC5F,0DAA0D;AAC1D,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,GACT,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAcxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,GACb,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index_browser.js","sourceRoot":"","sources":["../../src/index_browser.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,GACT,MAAM,cAAc,CAAC;AAStB,OAAO,EAAE,IAAI,EAAwC,MAAM,eAAe,CAAC;AAC3E,OAAO,EACN,MAAM,GAGN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAcxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,GACb,MAAM,sBAAsB,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC"}
@@ -2,7 +2,7 @@ import { type FLiRS, RouteProtocolDataRate } from "@zwave-js/core/safe";
2
2
  import { Bytes } from "@zwave-js/shared/safe";
3
3
  export declare const ROUTECACHE_SIZE: number;
4
4
  export declare const EMPTY_ROUTECACHE_FILL = 255;
5
- export declare const emptyRouteCache: Uint8Array;
5
+ export declare const emptyRouteCache: Uint8Array<ArrayBuffer>;
6
6
  export interface Route {
7
7
  beaming: FLiRS;
8
8
  protocolRate: RouteProtocolDataRate;
@@ -1 +1 @@
1
- {"version":3,"file":"routeCache.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/routeCache.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,KAAK,EAEV,qBAAqB,EAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,eAAO,MAAM,eAAe,QAAiB,CAAC;AAC9C,eAAO,MAAM,qBAAqB,MAAO,CAAC;AAC1C,eAAO,MAAM,eAAe,YACC,CAAC;AAO9B,MAAM,WAAW,KAAK;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,qBAAqB,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;CACZ;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAWpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAqB3D;AAED,wBAAgB,aAAa,IAAI,KAAK,CAMrC"}
1
+ {"version":3,"file":"routeCache.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/routeCache.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,KAAK,EAEV,qBAAqB,EAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,eAAO,MAAM,eAAe,QAAiB,CAAC;AAC9C,eAAO,MAAM,qBAAqB,MAAO,CAAC;AAC1C,eAAO,MAAM,eAAe,yBACC,CAAC;AAO9B,MAAM,WAAW,KAAK;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,qBAAqB,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;CACZ;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAWpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAqB3D;AAED,wBAAgB,aAAa,IAAI,KAAK,CAMrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zwave-js/nvmedit",
3
- "version": "14.3.7",
3
+ "version": "14.3.8-0-pr-7581-401b2ca",
4
4
  "description": "zwave-js: library to edit NVM backups",
5
5
  "keywords": [],
6
6
  "publishConfig": {
@@ -44,11 +44,11 @@
44
44
  "url": "https://github.com/sponsors/AlCalzone/"
45
45
  },
46
46
  "engines": {
47
- "node": ">= 18"
47
+ "node": ">= 20"
48
48
  },
49
49
  "dependencies": {
50
- "@zwave-js/core": "14.3.7",
51
- "@zwave-js/shared": "14.3.7",
50
+ "@zwave-js/core": "14.3.8-0-pr-7581-401b2ca",
51
+ "@zwave-js/shared": "14.3.8-0-pr-7581-401b2ca",
52
52
  "alcalzone-shared": "^5.0.0",
53
53
  "reflect-metadata": "^0.2.2",
54
54
  "semver": "^7.6.3",
@@ -67,12 +67,13 @@
67
67
  "devDependencies": {
68
68
  "@alcalzone/esm2cjs": "^1.4.1",
69
69
  "@microsoft/api-extractor": "^7.48.0",
70
- "@types/node": "^18.19.63",
70
+ "@types/node": "^20.17.16",
71
71
  "@types/semver": "^7.5.8",
72
72
  "@types/yargs": "^17.0.33",
73
73
  "del-cli": "^6.0.0",
74
74
  "tsx": "^4.19.2",
75
- "typescript": "5.6.2",
76
- "vitest": "^2.1.4"
77
- }
75
+ "typescript": "5.7.3",
76
+ "vitest": "^2.1.9"
77
+ },
78
+ "stableVersion": "14.3.7"
78
79
  }