Skip to content

Commit d09f509

Browse files
summeroffclaude
andcommitted
revert const enum -> regular enum conversion
Restores `const enum` for all exported enums. The regular-enum conversion (folded in from #1430) made the enum runtime objects live in module.js, which broke the desktop webpack build: ~11 desktop files import enum values directly from 'obs-studio-node' and relied on const-enum inlining to keep them type-only. As regular enums those imports became runtime value imports, pulling obs-studio-node/module.js (and its native obs_studio_client.node require) into the renderer bundle, which has no node-loader and does not externalize osn. desktop never bundles osn (it loads it at runtime via window.require), so #1430's "bundlers can't inline const enums" rationale does not apply to the primary consumer. Keeping const enums. The js/ build pipeline, generated-file CI check, API-drift fixes, and the typing-accuracy fixes from PR review are unaffected and retained. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent bcbd8b6 commit d09f509

4 files changed

Lines changed: 105 additions & 486 deletions

File tree

js/module.d.ts

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -6,41 +6,41 @@ export declare const DefaultDataPath: string;
66
export declare const DefaultPluginPath: string;
77
export declare const DefaultPluginDataPath: string;
88
export declare const DefaultPluginPathMac: string;
9-
export declare enum ESourceFlags {
9+
export declare const enum ESourceFlags {
1010
Unbuffered = 1,
1111
ForceMono = 2
1212
}
13-
export declare enum EMonitoringType {
13+
export declare const enum EMonitoringType {
1414
None = 0,
1515
MonitoringOnly = 1,
1616
MonitoringAndOutput = 2
1717
}
18-
export declare enum EOrderMovement {
18+
export declare const enum EOrderMovement {
1919
Up = 0,
2020
Down = 1,
2121
Top = 2,
2222
Bottom = 3
2323
}
24-
export declare enum EDeinterlaceFieldOrder {
24+
export declare const enum EDeinterlaceFieldOrder {
2525
Top = 0,
2626
Bottom = 1
2727
}
28-
export declare enum EVideoCodes {
28+
export declare const enum EVideoCodes {
2929
Success = 0,
3030
Fail = -1,
3131
NotSupported = -2,
3232
InvalidParam = -3,
3333
CurrentlyActive = -4,
3434
ModuleNotFound = -5
3535
}
36-
export declare enum EHotkeyObjectType {
36+
export declare const enum EHotkeyObjectType {
3737
Frontend = 0,
3838
Source = 1,
3939
Output = 2,
4040
Encoder = 3,
4141
Service = 4
4242
}
43-
export declare enum EDeinterlaceMode {
43+
export declare const enum EDeinterlaceMode {
4444
Disable = 0,
4545
Discard = 1,
4646
Retro = 2,
@@ -51,11 +51,11 @@ export declare enum EDeinterlaceMode {
5151
Yadif = 7,
5252
Yadif2X = 8
5353
}
54-
export declare enum EBlendingMethod {
54+
export declare const enum EBlendingMethod {
5555
Default = 0,
5656
SrgbOff = 1
5757
}
58-
export declare enum EBlendingMode {
58+
export declare const enum EBlendingMode {
5959
Normal = 0,
6060
Additive = 1,
6161
Substract = 2,
@@ -64,13 +64,13 @@ export declare enum EBlendingMode {
6464
Lighten = 5,
6565
Darken = 6
6666
}
67-
export declare enum EFontStyle {
67+
export declare const enum EFontStyle {
6868
Bold = 1,
6969
Italic = 2,
7070
Underline = 4,
7171
Strikeout = 8
7272
}
73-
export declare enum EPropertyType {
73+
export declare const enum EPropertyType {
7474
Invalid = 0,
7575
Boolean = 1,
7676
Int = 2,
@@ -87,38 +87,38 @@ export declare enum EPropertyType {
8787
ColorAlpha = 13,
8888
Capture = 14
8989
}
90-
export declare enum EListFormat {
90+
export declare const enum EListFormat {
9191
Invalid = 0,
9292
Int = 1,
9393
Float = 2,
9494
String = 3
9595
}
96-
export declare enum EEditableListType {
96+
export declare const enum EEditableListType {
9797
Strings = 0,
9898
Files = 1,
9999
FilesAndUrls = 2
100100
}
101-
export declare enum EPathType {
101+
export declare const enum EPathType {
102102
File = 0,
103103
FileSave = 1,
104104
Directory = 2
105105
}
106-
export declare enum ETextType {
106+
export declare const enum ETextType {
107107
Default = 0,
108108
Password = 1,
109109
Multiline = 2,
110110
TextInfo = 3
111111
}
112-
export declare enum ETextInfoType {
112+
export declare const enum ETextInfoType {
113113
Normal = 0,
114114
Warning = 1,
115115
Error = 2
116116
}
117-
export declare enum ENumberType {
117+
export declare const enum ENumberType {
118118
Scroller = 0,
119119
Slider = 1
120120
}
121-
export declare enum EAlignment {
121+
export declare const enum EAlignment {
122122
Center = 0,
123123
Left = 1,
124124
Right = 2,
@@ -129,15 +129,15 @@ export declare enum EAlignment {
129129
BottomLeft = 9,
130130
BottomRight = 10
131131
}
132-
export declare enum EOutputFlags {
132+
export declare const enum EOutputFlags {
133133
Video = 1,
134134
Audio = 2,
135135
AV = 3,
136136
Encoded = 4,
137137
Service = 8,
138138
MultiTrack = 16
139139
}
140-
export declare enum ESourceOutputFlags {
140+
export declare const enum ESourceOutputFlags {
141141
Video = 1,
142142
Audio = 2,
143143
Async = 4,
@@ -150,24 +150,24 @@ export declare enum ESourceOutputFlags {
150150
DoNotSelfMonitor = 512,
151151
ForceUiRefresh = 1073741824
152152
}
153-
export declare enum ESceneDupType {
153+
export declare const enum ESceneDupType {
154154
Refs = 0,
155155
Copy = 1,
156156
PrivateRefs = 2,
157157
PrivateCopy = 3
158158
}
159-
export declare enum ESourceType {
159+
export declare const enum ESourceType {
160160
Input = 0,
161161
Filter = 1,
162162
Transition = 2,
163163
Scene = 3
164164
}
165-
export declare enum EFaderType {
165+
export declare const enum EFaderType {
166166
Cubic = 0,
167167
IEC = 1,
168168
Log = 2
169169
}
170-
export declare enum EColorFormat {
170+
export declare const enum EColorFormat {
171171
Unknown = 0,
172172
A8 = 1,
173173
R8 = 2,
@@ -187,25 +187,25 @@ export declare enum EColorFormat {
187187
DXT3 = 16,
188188
DXT5 = 17
189189
}
190-
export declare enum EScaleType {
190+
export declare const enum EScaleType {
191191
Disable = 0,
192192
Point = 1,
193193
Bicubic = 2,
194194
Bilinear = 3,
195195
Lanczos = 4,
196196
Area = 5
197197
}
198-
export declare enum EFPSType {
198+
export declare const enum EFPSType {
199199
Common = 0,
200200
Integer = 1,
201201
Fractional = 2
202202
}
203-
export declare enum ERangeType {
203+
export declare const enum ERangeType {
204204
Default = 0,
205205
Partial = 1,
206206
Full = 2
207207
}
208-
export declare enum EVideoFormat {
208+
export declare const enum EVideoFormat {
209209
None = 0,
210210
I420 = 1,
211211
NV12 = 2,
@@ -224,7 +224,7 @@ export declare enum EVideoFormat {
224224
YUVA = 15,
225225
AYUV = 16
226226
}
227-
export declare enum EBoundsType {
227+
export declare const enum EBoundsType {
228228
None = 0,
229229
Stretch = 1,
230230
ScaleInner = 2,
@@ -233,15 +233,15 @@ export declare enum EBoundsType {
233233
ScaleToHeight = 5,
234234
MaxOnly = 6
235235
}
236-
export declare enum EColorSpace {
236+
export declare const enum EColorSpace {
237237
Default = 0,
238238
CS601 = 1,
239239
CS709 = 2,
240240
CSSRGB = 3,
241241
CS2100PQ = 4,
242242
CS2100HLG = 5
243243
}
244-
export declare enum ESpeakerLayout {
244+
export declare const enum ESpeakerLayout {
245245
Unknown = 0,
246246
Mono = 1,
247247
Stereo = 2,
@@ -251,7 +251,7 @@ export declare enum ESpeakerLayout {
251251
FiveOne = 6,
252252
SevenOne = 8
253253
}
254-
export declare enum EOutputCode {
254+
export declare const enum EOutputCode {
255255
Success = 0,
256256
BadPath = -1,
257257
ConnectFailed = -2,
@@ -263,28 +263,28 @@ export declare enum EOutputCode {
263263
EncoderError = -8,
264264
OutdatedDriver = -65
265265
}
266-
export declare enum ECategoryTypes {
266+
export declare const enum ECategoryTypes {
267267
NODEOBS_CATEGORY_LIST = 0,
268268
NODEOBS_CATEGORY_TAB = 1
269269
}
270-
export declare enum ERenderingMode {
270+
export declare const enum ERenderingMode {
271271
OBS_MAIN_RENDERING = 0,
272272
OBS_STREAMING_RENDERING = 1,
273273
OBS_RECORDING_RENDERING = 2
274274
}
275-
export declare enum EIPCError {
275+
export declare const enum EIPCError {
276276
STILL_RUNNING = 259,
277277
VERSION_MISMATCH = 252,
278278
OTHER_ERROR = 253,
279279
MISSING_DEPENDENCY = 254,
280280
NORMAL_EXIT = 0
281281
}
282-
export declare enum EVcamInstalledStatus {
282+
export declare const enum EVcamInstalledStatus {
283283
NotInstalled = 0,
284284
LegacyInstalled = 1,
285285
Installed = 2
286286
}
287-
export declare enum ERecSplitType {
287+
export declare const enum ERecSplitType {
288288
Time = 0,
289289
Size = 1,
290290
Manual = 2
@@ -455,7 +455,7 @@ export interface IInputFactory extends IFactoryTypes {
455455
fromName(name: string): IInput;
456456
getPublicSources(): IInput[];
457457
}
458-
export declare enum EInteractionFlags {
458+
export declare const enum EInteractionFlags {
459459
None = 0,
460460
CapsKey = 1,
461461
ShiftKey = 2,
@@ -470,7 +470,7 @@ export declare enum EInteractionFlags {
470470
IsLeft = 1024,
471471
IsRight = 2048
472472
}
473-
export declare enum EMouseButtonType {
473+
export declare const enum EMouseButtonType {
474474
Left = 0,
475475
Middle = 1,
476476
Right = 2
@@ -737,25 +737,25 @@ export interface IService {
737737
readonly settings: ISettings;
738738
update(settings: ISettings): void;
739739
}
740-
export declare enum ERecordingFormat {
740+
export declare const enum ERecordingFormat {
741741
MP4 = "mp4",
742742
FLV = "flv",
743743
MOV = "mov",
744744
MKV = "mkv",
745745
MPEGTS = "ts",
746746
HLS = "m3u8"
747747
}
748-
export declare enum ERecordingQuality {
748+
export declare const enum ERecordingQuality {
749749
Stream = 0,
750750
HighQuality = 1,
751751
HigherQuality = 2,
752752
Lossless = 3
753753
}
754-
export declare enum EVideoEncoderType {
754+
export declare const enum EVideoEncoderType {
755755
Audio = 0,
756756
Video = 1
757757
}
758-
export declare enum EProcessPriority {
758+
export declare const enum EProcessPriority {
759759
High = "High",
760760
AboveNormal = "AboveNormal",
761761
Normal = "Normal",
@@ -963,7 +963,7 @@ export interface IAudioTrackFactory {
963963
importLegacySettings(): void;
964964
saveLegacySettings(): void;
965965
}
966-
export declare enum VCamOutputType {
966+
export declare const enum VCamOutputType {
967967
Invalid = 0,
968968
SceneOutput = 1,
969969
SourceOutput = 2,

0 commit comments

Comments
 (0)