@switchbot/homebridge-switchbot 4.0.0-beta.5 → 4.0.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 +11 -4
- package/config.schema.json +708 -462
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +27 -4
- package/dist/device/device.js.map +1 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +1 -0
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +8 -5
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +1 -0
- package/dist/settings.js.map +1 -1
- package/package.json +4 -4
- package/src/device/device.ts +28 -5
- package/src/platform.ts +1 -0
- package/src/settings.ts +9 -5
- package/.github/npm-version-script.cjs +0 -81
package/dist/settings.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export interface options {
|
|
|
46
46
|
pushRate?: number;
|
|
47
47
|
logging?: string;
|
|
48
48
|
}
|
|
49
|
-
export type devicesConfig = botConfig | meterConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig;
|
|
49
|
+
export type devicesConfig = botConfig | meterConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | plugConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig;
|
|
50
50
|
export interface BaseDeviceConfig extends device {
|
|
51
51
|
bleMac?: string;
|
|
52
52
|
model: string;
|
|
@@ -93,7 +93,7 @@ export interface meterConfig extends BaseDeviceConfig {
|
|
|
93
93
|
hide_humidity?: boolean;
|
|
94
94
|
}
|
|
95
95
|
export interface indoorOutdoorSensorConfig extends BaseDeviceConfig {
|
|
96
|
-
configDeviceType: '
|
|
96
|
+
configDeviceType: 'WoIOSensor';
|
|
97
97
|
hide_temperature?: boolean;
|
|
98
98
|
convertUnitTo?: string;
|
|
99
99
|
hide_humidity?: boolean;
|
|
@@ -105,7 +105,7 @@ export interface humidifierConfig extends BaseDeviceConfig {
|
|
|
105
105
|
set_minStep?: number;
|
|
106
106
|
}
|
|
107
107
|
export interface curtainConfig extends BaseDeviceConfig {
|
|
108
|
-
configDeviceType: 'Curtain' | 'Curtain3';
|
|
108
|
+
configDeviceType: 'Curtain' | 'Curtain3' | 'WoRollerShade' | 'Roller Shade';
|
|
109
109
|
disable_group?: boolean;
|
|
110
110
|
hide_lightsensor?: boolean;
|
|
111
111
|
set_minLux?: number;
|
|
@@ -149,6 +149,9 @@ export interface waterDetectorConfig extends BaseDeviceConfig {
|
|
|
149
149
|
hide_leak?: boolean;
|
|
150
150
|
dry?: boolean;
|
|
151
151
|
}
|
|
152
|
+
export interface plugConfig extends BaseDeviceConfig {
|
|
153
|
+
configDeviceType: 'Plug' | 'Plug Mini (US)' | 'Plug Mini (JP)';
|
|
154
|
+
}
|
|
152
155
|
export interface colorBulbConfig extends BaseDeviceConfig {
|
|
153
156
|
configDeviceType: 'Color Bulb';
|
|
154
157
|
set_minStep?: number;
|
|
@@ -165,12 +168,12 @@ export interface ceilingLightConfig extends BaseDeviceConfig {
|
|
|
165
168
|
adaptiveLightingShift?: number;
|
|
166
169
|
}
|
|
167
170
|
export interface lockConfig extends BaseDeviceConfig {
|
|
168
|
-
configDeviceType: 'Lock' | 'Lock Pro';
|
|
171
|
+
configDeviceType: 'Smart Lock' | 'Smart Lock Pro';
|
|
169
172
|
hide_contactsensor?: boolean;
|
|
170
173
|
activate_latchbutton?: boolean;
|
|
171
174
|
}
|
|
172
175
|
export interface hubConfig extends BaseDeviceConfig {
|
|
173
|
-
configDeviceType: '
|
|
176
|
+
configDeviceType: 'Hub 2';
|
|
174
177
|
hide_temperature?: boolean;
|
|
175
178
|
convertUnitTo?: string;
|
|
176
179
|
hide_humidity?: boolean;
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAKhD,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAC/H;;GAEG;AACH,eAAO,MAAM,aAAa,cAAc,CAAA;AAExC;;GAEG;AACH,eAAO,MAAM,WAAW,oCAAoC,CAAA;AAG5D,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAA;CACvD;AACD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAA;IACtD,SAAS,CAAC,EAAE,eAAe,EAAE,CAAA;IAC7B,cAAc,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAA;IAC1D,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,yBAAyB,GAAG,gBAAgB,GAAG,aAAa,GAAG,eAAe,GAAG,aAAa,GAAG,YAAY,GAAG,mBAAmB,GAAG,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.js
CHANGED
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAA;AAkC3D,CAAC;AA2CD,CAAC;AAOD,CAAC;AAOD,CAAC;AAOD,CAAC;AAcD,CAAC;AAeD,CAAC;AAQD,CAAC;AAOD,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAUD,CAAC;AA6BD,CAAC;AAKD,CAAC;AAYD,CAAC;AAKD,CAAC"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAA;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAA;AAkC3D,CAAC;AA2CD,CAAC;AAOD,CAAC;AAOD,CAAC;AAOD,CAAC;AAcD,CAAC;AAeD,CAAC;AAQD,CAAC;AAOD,CAAC;AAMD,CAAC;AAID,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAMD,CAAC;AAUD,CAAC;AA6BD,CAAC;AAKD,CAAC;AAYD,CAAC;AAKD,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@switchbot/homebridge-switchbot",
|
|
3
3
|
"displayName": "SwitchBot",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "4.0.0
|
|
5
|
+
"version": "4.0.0",
|
|
6
6
|
"description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
|
|
7
7
|
"author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
|
|
8
8
|
"contributors": [
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"async-mqtt": "^2.6.3",
|
|
82
82
|
"fakegato-history": "^0.6.5",
|
|
83
83
|
"homebridge-lib": "^7.0.9",
|
|
84
|
-
"node-switchbot": "^3.
|
|
84
|
+
"node-switchbot": "^3.1.1",
|
|
85
85
|
"rxjs": "^7.8.1"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
@@ -97,12 +97,12 @@
|
|
|
97
97
|
"eslint": "^9.12.0",
|
|
98
98
|
"eslint-plugin-format": "^0.1.2",
|
|
99
99
|
"homebridge": "^1.8.4",
|
|
100
|
-
"homebridge-config-ui-x": "4.
|
|
100
|
+
"homebridge-config-ui-x": "4.61.0",
|
|
101
101
|
"nodemon": "^3.1.7",
|
|
102
102
|
"npm-check-updates": "^17.1.3",
|
|
103
103
|
"shx": "^0.3.4",
|
|
104
104
|
"ts-node": "^10.9.2",
|
|
105
|
-
"typedoc": "^0.26.
|
|
105
|
+
"typedoc": "^0.26.9",
|
|
106
106
|
"typescript": "^5.6.3",
|
|
107
107
|
"vitest": "^2.1.2"
|
|
108
108
|
},
|
package/src/device/device.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { MqttClient } from 'mqtt'
|
|
|
8
8
|
import type { ad, bodyChange, device, deviceStatus, deviceStatusRequest, pushResponse } from 'node-switchbot'
|
|
9
9
|
|
|
10
10
|
import type { SwitchBotPlatform } from '../platform.js'
|
|
11
|
-
import type { blindTiltConfig, botConfig, ceilingLightConfig, colorBulbConfig, contactConfig, curtainConfig, devicesConfig, hubConfig, humidifierConfig, indoorOutdoorSensorConfig, lockConfig, meterConfig, motionConfig, stripLightConfig, SwitchBotPlatformConfig, waterDetectorConfig } from '../settings.js'
|
|
11
|
+
import type { blindTiltConfig, botConfig, ceilingLightConfig, colorBulbConfig, contactConfig, curtainConfig, devicesConfig, hubConfig, humidifierConfig, indoorOutdoorSensorConfig, lockConfig, meterConfig, motionConfig, plugConfig, stripLightConfig, SwitchBotPlatformConfig, waterDetectorConfig } from '../settings.js'
|
|
12
12
|
|
|
13
13
|
import { hostname } from 'node:os'
|
|
14
14
|
|
|
@@ -188,7 +188,7 @@ export abstract class deviceBase {
|
|
|
188
188
|
case 'MeterPlus':
|
|
189
189
|
deviceSpecificConfig = device as meterConfig
|
|
190
190
|
break
|
|
191
|
-
case '
|
|
191
|
+
case 'WoIOSensor':
|
|
192
192
|
deviceSpecificConfig = device as indoorOutdoorSensorConfig
|
|
193
193
|
break
|
|
194
194
|
case 'Humidifier':
|
|
@@ -210,6 +210,11 @@ export abstract class deviceBase {
|
|
|
210
210
|
case 'Water Detector':
|
|
211
211
|
deviceSpecificConfig = device as waterDetectorConfig
|
|
212
212
|
break
|
|
213
|
+
case 'Plug':
|
|
214
|
+
case 'Plug Mini (US)':
|
|
215
|
+
case 'Plug Mini (JP)':
|
|
216
|
+
deviceSpecificConfig = device as plugConfig
|
|
217
|
+
break
|
|
213
218
|
case 'Color Bulb':
|
|
214
219
|
deviceSpecificConfig = device as colorBulbConfig
|
|
215
220
|
break
|
|
@@ -220,11 +225,11 @@ export abstract class deviceBase {
|
|
|
220
225
|
case 'Ceiling Light Pro':
|
|
221
226
|
deviceSpecificConfig = device as ceilingLightConfig
|
|
222
227
|
break
|
|
223
|
-
case 'Lock':
|
|
224
|
-
case 'Lock Pro':
|
|
228
|
+
case 'Smart Lock':
|
|
229
|
+
case 'Smart Lock Pro':
|
|
225
230
|
deviceSpecificConfig = device as lockConfig
|
|
226
231
|
break
|
|
227
|
-
case '
|
|
232
|
+
case 'Hub 2':
|
|
228
233
|
deviceSpecificConfig = device as hubConfig
|
|
229
234
|
break
|
|
230
235
|
default:
|
|
@@ -512,6 +517,18 @@ export abstract class deviceBase {
|
|
|
512
517
|
bleModelName: SwitchBotBLEModelName.Curtain3,
|
|
513
518
|
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3,
|
|
514
519
|
},
|
|
520
|
+
'WoRollerShade': {
|
|
521
|
+
model: SwitchBotModel.Curtain3,
|
|
522
|
+
bleModel: SwitchBotBLEModel.Curtain3,
|
|
523
|
+
bleModelName: SwitchBotBLEModelName.Curtain3,
|
|
524
|
+
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3,
|
|
525
|
+
},
|
|
526
|
+
'Roller Shade': {
|
|
527
|
+
model: SwitchBotModel.Curtain3,
|
|
528
|
+
bleModel: SwitchBotBLEModel.Curtain3,
|
|
529
|
+
bleModelName: SwitchBotBLEModelName.Curtain3,
|
|
530
|
+
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3,
|
|
531
|
+
},
|
|
515
532
|
'Blind Tilt': {
|
|
516
533
|
model: SwitchBotModel.BlindTilt,
|
|
517
534
|
bleModel: SwitchBotBLEModel.BlindTilt,
|
|
@@ -560,6 +577,12 @@ export abstract class deviceBase {
|
|
|
560
577
|
bleModelName: SwitchBotBLEModelName.Unknown,
|
|
561
578
|
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown,
|
|
562
579
|
},
|
|
580
|
+
'K10+ Pro': {
|
|
581
|
+
model: SwitchBotModel.K10Pro,
|
|
582
|
+
bleModel: SwitchBotBLEModel.Unknown,
|
|
583
|
+
bleModelName: SwitchBotBLEModelName.Unknown,
|
|
584
|
+
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown,
|
|
585
|
+
},
|
|
563
586
|
'WoSweeper': {
|
|
564
587
|
model: SwitchBotModel.WoSweeper,
|
|
565
588
|
bleModel: SwitchBotBLEModel.Unknown,
|
package/src/platform.ts
CHANGED
|
@@ -646,6 +646,7 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
646
646
|
'Smart Lock Pro': this.createLock.bind(this),
|
|
647
647
|
'Color Bulb': this.createColorBulb.bind(this),
|
|
648
648
|
'K10+': this.createRobotVacuumCleaner.bind(this),
|
|
649
|
+
'K10+ Pro': this.createRobotVacuumCleaner.bind(this),
|
|
649
650
|
'WoSweeper': this.createRobotVacuumCleaner.bind(this),
|
|
650
651
|
'WoSweeperMini': this.createRobotVacuumCleaner.bind(this),
|
|
651
652
|
'Robot Vacuum Cleaner S1': this.createRobotVacuumCleaner.bind(this),
|
package/src/settings.ts
CHANGED
|
@@ -53,7 +53,7 @@ export interface options {
|
|
|
53
53
|
logging?: string
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
export type devicesConfig = botConfig | meterConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig
|
|
56
|
+
export type devicesConfig = botConfig | meterConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | plugConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig
|
|
57
57
|
|
|
58
58
|
export interface BaseDeviceConfig extends device {
|
|
59
59
|
bleMac?: string
|
|
@@ -104,7 +104,7 @@ export interface meterConfig extends BaseDeviceConfig {
|
|
|
104
104
|
};
|
|
105
105
|
|
|
106
106
|
export interface indoorOutdoorSensorConfig extends BaseDeviceConfig {
|
|
107
|
-
configDeviceType: '
|
|
107
|
+
configDeviceType: 'WoIOSensor'
|
|
108
108
|
hide_temperature?: boolean
|
|
109
109
|
convertUnitTo?: string
|
|
110
110
|
hide_humidity?: boolean
|
|
@@ -118,7 +118,7 @@ export interface humidifierConfig extends BaseDeviceConfig {
|
|
|
118
118
|
};
|
|
119
119
|
|
|
120
120
|
export interface curtainConfig extends BaseDeviceConfig {
|
|
121
|
-
configDeviceType: 'Curtain' | 'Curtain3'
|
|
121
|
+
configDeviceType: 'Curtain' | 'Curtain3' | 'WoRollerShade' | 'Roller Shade'
|
|
122
122
|
disable_group?: boolean
|
|
123
123
|
hide_lightsensor?: boolean
|
|
124
124
|
set_minLux?: number
|
|
@@ -167,6 +167,10 @@ export interface waterDetectorConfig extends BaseDeviceConfig {
|
|
|
167
167
|
dry?: boolean
|
|
168
168
|
};
|
|
169
169
|
|
|
170
|
+
export interface plugConfig extends BaseDeviceConfig {
|
|
171
|
+
configDeviceType: 'Plug' | 'Plug Mini (US)' | 'Plug Mini (JP)'
|
|
172
|
+
};
|
|
173
|
+
|
|
170
174
|
export interface colorBulbConfig extends BaseDeviceConfig {
|
|
171
175
|
configDeviceType: 'Color Bulb'
|
|
172
176
|
set_minStep?: number
|
|
@@ -186,13 +190,13 @@ export interface ceilingLightConfig extends BaseDeviceConfig {
|
|
|
186
190
|
};
|
|
187
191
|
|
|
188
192
|
export interface lockConfig extends BaseDeviceConfig {
|
|
189
|
-
configDeviceType: 'Lock' | 'Lock Pro'
|
|
193
|
+
configDeviceType: 'Smart Lock' | 'Smart Lock Pro'
|
|
190
194
|
hide_contactsensor?: boolean
|
|
191
195
|
activate_latchbutton?: boolean
|
|
192
196
|
};
|
|
193
197
|
|
|
194
198
|
export interface hubConfig extends BaseDeviceConfig {
|
|
195
|
-
configDeviceType: '
|
|
199
|
+
configDeviceType: 'Hub 2'
|
|
196
200
|
hide_temperature?: boolean
|
|
197
201
|
convertUnitTo?: string
|
|
198
202
|
hide_humidity?: boolean
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
#!/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* This scripts queries the npm registry to pull out the latest version for a given tag.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const fs = require("fs");
|
|
8
|
-
const semver = require("semver");
|
|
9
|
-
const child_process = require("child_process");
|
|
10
|
-
const assert = require("assert");
|
|
11
|
-
|
|
12
|
-
const BRANCH_VERSION_PATTERN = /^([A-Za-z]*)-(\d+.\d+.\d+)$/
|
|
13
|
-
|
|
14
|
-
// Load the contents of the package.json file
|
|
15
|
-
const packageJSON = JSON.parse(fs.readFileSync("package.json", "utf8"));
|
|
16
|
-
|
|
17
|
-
let refArgument = process.argv[2];
|
|
18
|
-
let tagArgument = process.argv[3] || "latest";
|
|
19
|
-
|
|
20
|
-
if (refArgument == null) {
|
|
21
|
-
console.error("ref argument is missing");
|
|
22
|
-
console.error("Usage: npm-version-script.cjs <ref> [tag]");
|
|
23
|
-
process.exit(1);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Queries the NPM registry for the latest version for the provided tag.
|
|
28
|
-
* @param tag The tag to query for.
|
|
29
|
-
* @returns {string} Returns the version.
|
|
30
|
-
*/
|
|
31
|
-
function getTagVersionFromNpm(tag) {
|
|
32
|
-
try {
|
|
33
|
-
return child_process.execSync(`npm info ${packageJSON.name} version --tag="${tag}"`).toString("utf8").trim();
|
|
34
|
-
} catch (e) {
|
|
35
|
-
throw e;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function desiredTargetVersion(ref) {
|
|
40
|
-
// ref is a GitHub action ref string
|
|
41
|
-
if (ref.startsWith("refs/pull/")) {
|
|
42
|
-
throw Error("The version script was executed inside a PR!");
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
assert(ref.startsWith("refs/heads/"))
|
|
46
|
-
let branchName = ref.slice("refs/heads/".length);
|
|
47
|
-
|
|
48
|
-
let results = branchName.match(BRANCH_VERSION_PATTERN);
|
|
49
|
-
if (results != null) {
|
|
50
|
-
if (results[1] !== tagArgument) {
|
|
51
|
-
console.warn(`The base branch name (${results[1]}) differs from the tag name ${tagArgument}`);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return results[2];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// legacy mode were we use the `betaVersion` property in the package.json
|
|
58
|
-
if (branchName === "beta" && packageJSON.betaVersion) {
|
|
59
|
-
return packageJSON.betaVersion
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
throw new Error("Malformed branch name for ref: " + ref + ". Can't derive the base version. Use a branch name like: beta-x.x.x!");
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// derive the base version from the branch ref
|
|
66
|
-
const baseVersion = desiredTargetVersion(refArgument);
|
|
67
|
-
|
|
68
|
-
// query the npm registry for the latest version of the provided tag name
|
|
69
|
-
const latestReleasedVersion = getTagVersionFromNpm(tagArgument); // e.g. 0.7.0-beta.12
|
|
70
|
-
const latestReleaseBase = semver.inc(latestReleasedVersion, "patch"); // will produce 0.7.0 (removing the preid, needed for the equality check below)
|
|
71
|
-
|
|
72
|
-
let publishTag;
|
|
73
|
-
if (semver.eq(baseVersion, latestReleaseBase)) { // check if we are releasing another version for the latest beta
|
|
74
|
-
publishTag = latestReleasedVersion; // set the current latest beta to be incremented
|
|
75
|
-
} else {
|
|
76
|
-
publishTag = baseVersion; // start of with a new beta version
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// save the package.json
|
|
80
|
-
packageJSON.version = publishTag;
|
|
81
|
-
fs.writeFileSync("package.json", JSON.stringify(packageJSON, null, 2));
|