matterbridge-example-dynamic-platform 1.0.13 → 1.0.14

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,38 +1,38 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- <a href="https://www.buymeacoffee.com/luligugithub">
6
- <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
7
- </a>
8
-
9
- <!-- Commented out section
10
- ## [1.1.2] - 2024-03-08
11
-
12
- ### Added
13
-
14
- - [Feature 1]: Description of the feature.
15
- - [Feature 2]: Description of the feature.
16
-
17
- ### Changed
18
-
19
- - [Feature 3]: Description of the change.
20
- - [Feature 4]: Description of the change.
21
-
22
- ### Deprecated
23
-
24
- - [Feature 5]: Description of the deprecation.
25
-
26
- ### Removed
27
-
28
- - [Feature 6]: Description of the removal.
29
-
30
- ### Fixed
31
-
32
- - [Bug 1]: Description of the bug fix.
33
- - [Bug 2]: Description of the bug fix.
34
-
35
- ### Security
36
-
37
- - [Security 1]: Description of the security improvement.
38
- -->
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ <a href="https://www.buymeacoffee.com/luligugithub">
6
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
7
+ </a>
8
+
9
+ <!-- Commented out section
10
+ ## [1.1.2] - 2024-03-08
11
+
12
+ ### Added
13
+
14
+ - [Feature 1]: Description of the feature.
15
+ - [Feature 2]: Description of the feature.
16
+
17
+ ### Changed
18
+
19
+ - [Feature 3]: Description of the change.
20
+ - [Feature 4]: Description of the change.
21
+
22
+ ### Deprecated
23
+
24
+ - [Feature 5]: Description of the deprecation.
25
+
26
+ ### Removed
27
+
28
+ - [Feature 6]: Description of the removal.
29
+
30
+ ### Fixed
31
+
32
+ - [Bug 1]: Description of the bug fix.
33
+ - [Bug 2]: Description of the bug fix.
34
+
35
+ ### Security
36
+
37
+ - [Security 1]: Description of the security improvement.
38
+ -->
package/README.md CHANGED
@@ -14,12 +14,13 @@
14
14
  Matterbridge dynamic platform example plugin is a template to develop your own plugin using the dynamic platform.
15
15
 
16
16
  It exposes:
17
+
17
18
  - a switch with onOff cluster
18
19
  - a light with onOff-levelControl-colorControl clusters
19
20
  - an outlet with onOff cluster
20
21
  - a cover with windowCovering cluster
21
22
  - a lock with doorLock cluster
22
- - a thermo with thermostat cluster and 3 sub endpoints with flowMeasurement cluster, temperatureMeasurement cluster
23
+ - a thermo with thermostat cluster and 3 sub endpoints with flowMeasurement cluster, temperatureMeasurement cluster
23
24
  and relativeHumidityMeasurement cluster (to show how to create a composed device with sub enpoints)
24
25
 
25
26
  All these devices continuously change state and position. The plugin also shows how to use all the command handlers (you can control all the devices) and how to subscribe to attributes.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Matterbridge, PlatformConfig } from 'matterbridge';
2
- import { AnsiLogger } from 'node-ansi-logger';
2
+ import { AnsiLogger } from 'matterbridge/logger';
3
3
  import { ExampleMatterbridgeDynamicPlatform } from './platform.js';
4
4
  /**
5
5
  * This is the standard interface for Matterbridge plugins.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,kCAAkC,CAEhJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,GAAG,kCAAkC,CAEhJ"}
@@ -1,7 +1,6 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  import { PlatformConfig } from 'matterbridge';
3
2
  import { Matterbridge, MatterbridgeDevice, MatterbridgeDynamicPlatform } from 'matterbridge';
4
- import { AnsiLogger } from 'node-ansi-logger';
3
+ import { AnsiLogger } from 'matterbridge/logger';
5
4
  export declare class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatform {
6
5
  switch: MatterbridgeDevice | undefined;
7
6
  light: MatterbridgeDevice | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";AAAA,OAAO,EASL,cAAc,EAQf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,kCAAmC,SAAQ,2BAA2B;IACjF,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAE/B,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAIhE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IA6MvB,WAAW;IAuHX,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;CAU1C"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,cAAc,EASf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,kCAAmC,SAAQ,2BAA2B;IACjF,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAE/B,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAIhE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAqNvB,WAAW;IAuHX,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;CAU1C"}
package/dist/platform.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ColorControl, ColorControlCluster, DeviceTypes, DoorLock, DoorLockCluster, FlowMeasurement, LevelControlCluster, OnOffCluster, RelativeHumidityMeasurement, TemperatureMeasurement, Thermostat, ThermostatCluster, WindowCovering, WindowCoveringCluster, onOffSwitch, } from 'matterbridge';
1
+ import { ColorControl, ColorControlCluster, DeviceTypes, DoorLock, DoorLockCluster, FlowMeasurement, LevelControlCluster, OnOffCluster, RelativeHumidityMeasurement, TemperatureMeasurement, Thermostat, ThermostatCluster, WindowCovering, WindowCoveringCluster, onOffSwitch, powerSource, } from 'matterbridge';
2
2
  import { MatterbridgeDevice, MatterbridgeDynamicPlatform } from 'matterbridge';
3
3
  export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatform {
4
4
  switch;
@@ -24,8 +24,9 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
24
24
  this.switch.createDefaultGroupsClusterServer();
25
25
  this.switch.createDefaultScenesClusterServer();
26
26
  this.switch.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 3', '0x23452164', 0xfff1, 'Luligu', 'Dynamic device 3');
27
- this.switch.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
28
27
  this.switch.createDefaultOnOffClusterServer();
28
+ this.switch.addDeviceType(powerSource);
29
+ this.switch.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
29
30
  await this.registerDevice(this.switch);
30
31
  this.switch.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
31
32
  this.log.info(`Command identify called identifyTime:${identifyTime}`);
@@ -44,10 +45,11 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
44
45
  this.light.createDefaultGroupsClusterServer();
45
46
  this.light.createDefaultScenesClusterServer();
46
47
  this.light.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 2', '0x23480564', 0xfff1, 'Luligu', 'Dynamic device 2');
47
- this.light.createDefaultPowerSourceReplaceableBatteryClusterServer(70);
48
48
  this.light.createDefaultOnOffClusterServer();
49
49
  this.light.createDefaultLevelControlClusterServer();
50
50
  this.light.createDefaultColorControlClusterServer();
51
+ this.light.addDeviceType(powerSource);
52
+ this.light.createDefaultPowerSourceReplaceableBatteryClusterServer(70);
51
53
  await this.registerDevice(this.light);
52
54
  this.light.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
53
55
  this.log.info(`Command identify called identifyTime:${identifyTime}`);
@@ -83,8 +85,9 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
83
85
  this.outlet.createDefaultGroupsClusterServer();
84
86
  this.outlet.createDefaultScenesClusterServer();
85
87
  this.outlet.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 4', '0x29252164', 0xfff1, 'Luligu', 'Dynamic device 4');
86
- this.outlet.createDefaultPowerSourceWiredClusterServer();
87
88
  this.outlet.createDefaultOnOffClusterServer();
89
+ this.outlet.addDeviceType(powerSource);
90
+ this.outlet.createDefaultPowerSourceWiredClusterServer();
88
91
  await this.registerDevice(this.outlet);
89
92
  this.outlet.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
90
93
  this.log.info(`Command identify called identifyTime:${identifyTime}`);
@@ -103,8 +106,9 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
103
106
  this.cover.createDefaultGroupsClusterServer();
104
107
  this.cover.createDefaultScenesClusterServer();
105
108
  this.cover.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 1', '0x01020564', 0xfff1, 'Luligu', 'Dynamic device 1');
106
- this.cover.createDefaultPowerSourceRechargeableBatteryClusterServer(86);
107
109
  this.cover.createDefaultWindowCoveringClusterServer();
110
+ this.cover.addDeviceType(powerSource);
111
+ this.cover.createDefaultPowerSourceRechargeableBatteryClusterServer(86);
108
112
  await this.registerDevice(this.cover);
109
113
  this.cover.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
110
114
  this.log.info(`Command identify called identifyTime:${identifyTime}`);
@@ -139,8 +143,9 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
139
143
  this.lock = new MatterbridgeDevice(DeviceTypes.DOOR_LOCK);
140
144
  this.lock.createDefaultIdentifyClusterServer();
141
145
  this.lock.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 5', '0x96352164', 0xfff1, 'Luligu', 'Dynamic device 5');
142
- this.lock.createDefaultPowerSourceRechargeableBatteryClusterServer(30);
143
146
  this.lock.createDefaultDoorLockClusterServer();
147
+ this.lock.addDeviceType(powerSource);
148
+ this.lock.createDefaultPowerSourceRechargeableBatteryClusterServer(30);
144
149
  await this.registerDevice(this.lock);
145
150
  this.lock.addCommandHandler('identify', async ({ request: { identifyTime } }) => {
146
151
  this.log.info(`Command identify called identifyTime:${identifyTime}`);
@@ -159,8 +164,9 @@ export class ExampleMatterbridgeDynamicPlatform extends MatterbridgeDynamicPlatf
159
164
  this.thermo.createDefaultGroupsClusterServer();
160
165
  this.thermo.createDefaultScenesClusterServer();
161
166
  this.thermo.createDefaultBridgedDeviceBasicInformationClusterServer('Bridged device 6', '0x96382164', 0xfff1, 'Luligu', 'Dynamic device 6');
162
- this.thermo.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
163
167
  this.thermo.createDefaultThermostatClusterServer(20, 18, 22);
168
+ this.thermo.addDeviceType(powerSource);
169
+ this.thermo.createDefaultPowerSourceRechargeableBatteryClusterServer(70);
164
170
  const flowChild = this.thermo.addChildDeviceTypeWithClusterServer('Flow', [DeviceTypes.FLOW_SENSOR], [FlowMeasurement.Cluster.id]);
165
171
  flowChild.getClusterServer(FlowMeasurement.Cluster)?.setMeasuredValueAttribute(1 * 10);
166
172
  const tempChild = this.thermo.addChildDeviceTypeWithClusterServer('Temperature', [DeviceTypes.TEMPERATURE_SENSOR], [TemperatureMeasurement.Cluster.id]);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ // @ts-check
2
+
3
+ import eslint from '@eslint/js';
4
+ import tseslint from 'typescript-eslint';
5
+ import jesteslint from 'eslint-plugin-jest';
6
+ import eslintPluginPrettier from 'eslint-plugin-prettier/recommended';
7
+
8
+ export default [
9
+ {
10
+ name: 'global ignores',
11
+ ignores: ['dist/', 'build/', 'node_modules/', 'coverage/', 'frontend/'],
12
+ },
13
+ eslint.configs.recommended,
14
+ ...tseslint.configs.strict,
15
+ ...tseslint.configs.stylistic,
16
+ // ...tseslint.configs.strictTypeChecked,
17
+ // ...tseslint.configs.stylisticTypeChecked,
18
+ eslintPluginPrettier,
19
+ {
20
+ languageOptions: {
21
+ ecmaVersion: 'latest',
22
+ sourceType: 'module',
23
+ /*
24
+ parser: tseslint.parser,
25
+ parserOptions: {
26
+ project: './tsconfig.eslint.json',
27
+ tsconfigRootDir: import.meta.dirname,
28
+ },
29
+ */
30
+ },
31
+ linterOptions: {
32
+ reportUnusedDisableDirectives: 'warn',
33
+ },
34
+ rules: {
35
+ 'no-console': 'warn',
36
+ 'no-undef': 'off',
37
+ 'spaced-comment': ['error', 'always'],
38
+ 'no-useless-constructor': 'off',
39
+ },
40
+ },
41
+ {
42
+ name: 'javascript',
43
+ files: ['**/*.js'],
44
+ // ...tseslint.configs.disableTypeChecked,
45
+ },
46
+ {
47
+ name: 'typescript',
48
+ files: ['**/*.ts'],
49
+ ignores: ['**/__test__/*', '**/*.test.ts', '**/*.spec.ts'],
50
+ languageOptions: {
51
+ ecmaVersion: 'latest',
52
+ sourceType: 'module',
53
+ parser: tseslint.parser,
54
+ parserOptions: {
55
+ project: './tsconfig.json',
56
+ tsconfigRootDir: import.meta.dirname,
57
+ },
58
+ },
59
+ plugins: {
60
+ '@typescript-eslint': tseslint.plugin,
61
+ },
62
+ rules: {
63
+ '@typescript-eslint/no-useless-constructor': 'off',
64
+ },
65
+ },
66
+ {
67
+ name: 'jest',
68
+ files: ['**/__test__/*', '**/*.test.ts', '**/*.spec.ts'],
69
+ // ...tseslint.configs.disableTypeChecked,
70
+ plugins: {
71
+ '@typescript-eslint': tseslint.plugin,
72
+ jest: jesteslint,
73
+ },
74
+ rules: {
75
+ ...jesteslint.configs['flat/recommended'].rules,
76
+ },
77
+ },
78
+ ];
package/jest.config.js ADDED
@@ -0,0 +1,29 @@
1
+ // jest.config.js
2
+ /*
3
+
4
+ How to install:
5
+ npm install --save-dev jest ts-jest @types/jest eslint-plugin-jest
6
+
7
+ Add package.json scripts:
8
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
9
+ "test:verbose": "node --experimental-vm-modules node_modules/jest/bin/jest.js --verbose",
10
+ "test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watch",
11
+
12
+ */
13
+
14
+ export default {
15
+ testEnvironment: 'node',
16
+ extensionsToTreatAsEsm: ['.ts'],
17
+ moduleNameMapper: {
18
+ '^(\\.{1,2}/.*)\\.js$': '$1',
19
+ },
20
+ transform: {
21
+ '^.+\\.ts$': [
22
+ 'ts-jest',
23
+ {
24
+ useESM: true,
25
+ },
26
+ ],
27
+ },
28
+ transformIgnorePatterns: ['/node_modules/'],
29
+ };
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-console */
1
2
  import { exec } from 'child_process';
2
3
 
3
4
  const command = process.platform === 'win32' ? 'npm link matterbridge' : 'sudo npm link matterbridge';
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge-example-dynamic-platform",
3
- "version": "1.0.13",
4
- "description": "Matterbridge dynamic platform plugin example",
3
+ "version": "1.0.14",
4
+ "description": "Matterbridge dynamic plugin",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
9
- "types": "dist/index.d.js",
9
+ "types": "dist/index.d.ts",
10
10
  "repository": {
11
11
  "type": "git",
12
12
  "url": "git+https://github.com/Luligu/matterbridge-example-dynamic-platform.git"
@@ -34,19 +34,20 @@
34
34
  "watch": "tsc --watch",
35
35
  "start:bridge": "matterbridge -bridge",
36
36
  "start:childbridge": "matterbridge -childbridge",
37
- "test": "jest",
38
- "test:verbose": "jest --verbose",
39
- "test:watch": "jest --watch",
40
- "lint": "eslint src/**.ts",
41
- "lint:fix": "eslint src/**.ts --fix",
42
- "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
43
- "format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
37
+ "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --passWithNoTests",
38
+ "test:verbose": "node --experimental-vm-modules node_modules/jest/bin/jest.js --passWithNoTests --verbose",
39
+ "test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --passWithNoTests --watch",
40
+ "lint": "eslint --max-warnings=0 .",
41
+ "lint:fix": "eslint --fix --max-warnings=0 .",
42
+ "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
43
+ "format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
44
44
  "clean": "rimraf tsconfig.tsbuildinfo ./dist",
45
45
  "cleanBuild": "npm run clean && tsc",
46
- "deepClean": "rimraf tsconfig.tsbuildinfo package-lock.json ./dist ./node_modules",
46
+ "deepClean": "rimraf tsconfig.tsbuildinfo package-lock.json ./dist ./node_modulesI",
47
+ "deepCleanRebuild": "npm run deepClean && npm install && npm run build",
47
48
  "prepublishOnly": "npm run lint && npm run cleanBuild",
48
49
  "checkDependencies": "npx npm-check-updates",
49
- "updateDependencies": "npx npm-check-updates -u",
50
+ "updateDependencies": "npx npm-check-updates -u && npm install & npm run cleanBuild",
50
51
  "matterbridge:add": "matterbridge -add .\\",
51
52
  "matterbridge:remove": "matterbridge -remove .\\",
52
53
  "matterbridge:enable": "matterbridge -enable .\\",
@@ -57,18 +58,26 @@
57
58
  "dev:uninstall": "npm uninstall matterbridge && npm unlink matterbridge",
58
59
  "install": "node link-matterbridge-script.js"
59
60
  },
61
+ "overrides": {
62
+ "eslint": "latest"
63
+ },
60
64
  "devDependencies": {
61
- "@stylistic/eslint-plugin": "^2.1.0",
62
- "@tsconfig/node-lts": "^20.1.3",
63
- "@types/node": "^20.12.13",
64
- "@typescript-eslint/eslint-plugin": "^7.11.0",
65
- "@typescript-eslint/parser": "^7.11.0",
65
+ "@eslint/js": "^9.6.0",
66
+ "@types/eslint__js": "^8.42.3",
67
+ "@types/jest": "^29.5.12",
68
+ "@types/node": "^20.14.10",
66
69
  "eslint-config-prettier": "^9.1.0",
70
+ "eslint-plugin-jest": "^28.6.0",
67
71
  "eslint-plugin-prettier": "^5.1.3",
68
- "prettier": "^3.2.5",
69
- "typescript": "^5.4.5"
72
+ "jest": "^29.7.0",
73
+ "prettier": "^3.3.2",
74
+ "rimraf": "^6.0.0",
75
+ "ts-jest": "^29.2.1",
76
+ "typescript": "^5.5.3",
77
+ "typescript-eslint": "^7.16.0"
70
78
  },
71
79
  "dependencies": {
72
- "node-ansi-logger": "^1.9.5"
80
+ "node-ansi-logger": "^1.9.5",
81
+ "node-persist-manager": "^1.0.7"
73
82
  }
74
- }
83
+ }
@@ -0,0 +1,49 @@
1
+ // @ts-check
2
+ /*
3
+
4
+ prettier.config.js
5
+
6
+ Prettier:
7
+
8
+ How to install:
9
+ npm install --save-dev prettier eslint-config-prettier eslint-plugin-prettier
10
+
11
+
12
+ Add package.json scripts:
13
+ */
14
+ // "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
15
+ // "format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
16
+
17
+ /*
18
+
19
+ Add .prettierignore
20
+
21
+ # Ignore artifacts:
22
+ dist
23
+ node_modules
24
+ build
25
+ coverage
26
+
27
+ # Ignore all HTML files:
28
+ */
29
+ // **/*.html
30
+
31
+ export default {
32
+ printWidth: 180, // default 80
33
+ tabWidth: 2,
34
+ useTabs: false,
35
+ semi: true,
36
+ singleQuote: true, // default false
37
+ quoteProps: 'preserve', // default 'as-needed'
38
+ jsxSingleQuote: false,
39
+ trailingComma: 'all',
40
+ bracketSpacing: true,
41
+ bracketSameLine: false,
42
+ arrowParens: 'always',
43
+ requirePragma: false,
44
+ insertPragma: false,
45
+ proseWrap: 'preserve',
46
+ endOfLine: 'lf',
47
+ embeddedLanguageFormatting: 'off', // default 'auto'
48
+ singleAttributePerLine: false,
49
+ };