@companion-module/tools 2.8.0 → 2.9.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.9.0](https://github.com/bitfocus/companion-module-tools/compare/v2.8.0...v2.9.0) (2026-10-29)
4
+
5
+
6
+ ### Features
7
+
8
+ * support node26 ([51caa8c](https://github.com/bitfocus/companion-module-tools/commit/51caa8c05b054537184677e74292c9631d0052c5))
9
+
3
10
  ## [2.8.0](https://github.com/bitfocus/companion-module-tools/compare/v2.7.2...v2.8.0) (2026-08-28)
4
11
 
5
12
 
package/README.md CHANGED
@@ -14,6 +14,23 @@ More information on this command is available [on the wiki](https://github.com/b
14
14
 
15
15
  Generate the new format manifest from an old `package.json`.
16
16
 
17
+ ## Node.js versions
18
+
19
+ Modules declare the Node.js version they run on with `runtime.type` in `companion/manifest.json`. New modules, and
20
+ existing ones when convenient, are recommended to use `node26`.
21
+
22
+ A matching TypeScript config is available for each version, and `node26` is the recommended one:
23
+
24
+ ```json
25
+ {
26
+ "extends": "@companion-module/tools/tsconfig/node26/recommended.json"
27
+ }
28
+ ```
29
+
30
+ It uses `"module": "node20"`, so a file is compiled as ESM or CommonJS according to the `type` in its nearest
31
+ `package.json`. It targets ES2025, which requires TypeScript 6 or later. The `node18` and `node22` configs remain
32
+ available for modules that have not moved yet.
33
+
17
34
  ## Licensing
18
35
 
19
36
  A module has two licenses, and they are not the same thing:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companion-module/tools",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "license": "MIT",
@@ -19,7 +19,7 @@
19
19
  "test": "node --test test/*.test.mjs"
20
20
  },
21
21
  "engines": {
22
- "node": "^18.18 || ^22.18"
22
+ "node": "^18.18 || ^22.18 || ^26"
23
23
  },
24
24
  "files": [
25
25
  "eslint",
@@ -0,0 +1,26 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "node20",
4
+ "target": "es2025",
5
+ "noImplicitAny": true,
6
+ "moduleResolution": "node16",
7
+ "sourceMap": true,
8
+ "declaration": false,
9
+ "importHelpers": false,
10
+ "listFiles": false,
11
+ "traceResolution": false,
12
+ "pretty": true,
13
+ "lib": ["es2025"],
14
+ "types": ["node"],
15
+ "strict": true,
16
+ "forceConsistentCasingInFileNames": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noImplicitReturns": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "skipLibCheck": true,
22
+ "allowSyntheticDefaultImports": true,
23
+ "esModuleInterop": true
24
+ },
25
+ "compileOnSave": false
26
+ }