prismcast 1.10.2 → 1.10.3
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/dist/app.d.ts +5 -3
- package/dist/app.js +42 -41
- package/dist/app.js.map +1 -1
- package/dist/browser/hlsPlaylistObserver.d.ts +38 -0
- package/dist/browser/hlsPlaylistObserver.js +113 -0
- package/dist/browser/hlsPlaylistObserver.js.map +1 -0
- package/dist/browser/index.d.ts +26 -16
- package/dist/browser/index.js +95 -70
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/manifestInterceptor.d.ts +29 -29
- package/dist/browser/manifestInterceptor.js +106 -212
- package/dist/browser/manifestInterceptor.js.map +1 -1
- package/dist/browser/tabNetworkObserver.d.ts +48 -0
- package/dist/browser/tabNetworkObserver.js +140 -0
- package/dist/browser/tabNetworkObserver.js.map +1 -0
- package/dist/config/consistencyProbe.js +13 -11
- package/dist/config/consistencyProbe.js.map +1 -1
- package/dist/config/paths.d.ts +3 -8
- package/dist/config/paths.js +3 -10
- package/dist/config/paths.js.map +1 -1
- package/dist/config/profiles.d.ts +1 -1
- package/dist/config/profiles.js +6 -6
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/services.d.ts +5 -5
- package/dist/config/services.js +8 -8
- package/dist/config/services.js.map +1 -1
- package/dist/config/sites.d.ts +2 -2
- package/dist/config/sites.js +6 -6
- package/dist/config/sites.js.map +1 -1
- package/dist/config/userChannels.d.ts +108 -14
- package/dist/config/userChannels.js +291 -37
- package/dist/config/userChannels.js.map +1 -1
- package/dist/config/userConfig.js +1 -1
- package/dist/config/userConfig.js.map +1 -1
- package/dist/config/userProfiles.d.ts +3 -3
- package/dist/config/userProfiles.js +19 -19
- package/dist/config/userProfiles.js.map +1 -1
- package/dist/index.js +7 -9
- package/dist/index.js.map +1 -1
- package/dist/native/index.d.ts +1 -1
- package/dist/native/index.js +9 -18
- package/dist/native/index.js.map +1 -1
- package/dist/native/proxy.d.ts +1 -4
- package/dist/native/proxy.js +0 -9
- package/dist/native/proxy.js.map +1 -1
- package/dist/routes/clientActions.d.ts +97 -0
- package/dist/routes/clientActions.js +113 -0
- package/dist/routes/clientActions.js.map +1 -0
- package/dist/routes/components.d.ts +4 -3
- package/dist/routes/components.js +36 -39
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/config/channels/endpoints/browse.js.map +1 -1
- package/dist/routes/config/channels/endpoints/crud.js +37 -72
- package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
- package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
- package/dist/routes/config/channels/healthBridge.d.ts +23 -0
- package/dist/routes/config/channels/healthBridge.js +71 -0
- package/dist/routes/config/channels/healthBridge.js.map +1 -0
- package/dist/routes/config/channels/table.js +97 -84
- package/dist/routes/config/channels/table.js.map +1 -1
- package/dist/routes/config/services.js +25 -22
- package/dist/routes/config/services.js.map +1 -1
- package/dist/routes/config/settings.js +9 -6
- package/dist/routes/config/settings.js.map +1 -1
- package/dist/routes/debug.js +277 -139
- package/dist/routes/debug.js.map +1 -1
- package/dist/routes/logs.js +1 -1
- package/dist/routes/logs.js.map +1 -1
- package/dist/routes/root/content.js +18 -14
- package/dist/routes/root/content.js.map +1 -1
- package/dist/routes/root/index.js +17 -14
- package/dist/routes/root/index.js.map +1 -1
- package/dist/routes/root/scripts/channels.js +50 -21
- package/dist/routes/root/scripts/channels.js.map +1 -1
- package/dist/routes/root/scripts/config.js +72 -3
- package/dist/routes/root/scripts/config.js.map +1 -1
- package/dist/routes/root/scripts/shared.js +60 -0
- package/dist/routes/root/scripts/shared.js.map +1 -1
- package/dist/routes/root/scripts/status.handlers.d.ts +5 -27
- package/dist/routes/root/scripts/status.handlers.js +8 -60
- package/dist/routes/root/scripts/status.handlers.js.map +1 -1
- package/dist/routes/root/scripts/status.js +6 -1
- package/dist/routes/root/scripts/status.js.map +1 -1
- package/dist/routes/streams.js +5 -3
- package/dist/routes/streams.js.map +1 -1
- package/dist/service/commands.context.js +1 -1
- package/dist/service/commands.context.js.map +1 -1
- package/dist/service/generators.context.js +1 -1
- package/dist/service/generators.context.js.map +1 -1
- package/dist/service/generators.d.ts +1 -1
- package/dist/service/generators.js +3 -11
- package/dist/service/generators.js.map +1 -1
- package/dist/streaming/hls.js +1 -5
- package/dist/streaming/hls.js.map +1 -1
- package/dist/streaming/hlsSegments.d.ts +1 -1
- package/dist/streaming/hlsSegments.js.map +1 -1
- package/dist/streaming/preroll.d.ts +1 -1
- package/dist/streaming/preroll.js +1 -5
- package/dist/streaming/preroll.js.map +1 -1
- package/dist/streaming/statusEmitter.d.ts +5 -8
- package/dist/streaming/statusEmitter.js +0 -5
- package/dist/streaming/statusEmitter.js.map +1 -1
- package/dist/types/channels.d.ts +9 -0
- package/dist/types/channels.js.map +1 -1
- package/dist/types/profiles.d.ts +2 -2
- package/dist/upgrade/commands.context.js +14 -10
- package/dist/upgrade/commands.context.js.map +1 -1
- package/dist/upgrade/commands.d.ts +7 -15
- package/dist/upgrade/commands.js +27 -28
- package/dist/upgrade/commands.js.map +1 -1
- package/dist/upgrade/detection.context.js +2 -1
- package/dist/upgrade/detection.context.js.map +1 -1
- package/dist/upgrade/detection.d.ts +2 -1
- package/dist/upgrade/detection.js +20 -51
- package/dist/upgrade/detection.js.map +1 -1
- package/dist/upgrade/index.d.ts +1 -0
- package/dist/upgrade/index.js +1 -0
- package/dist/upgrade/index.js.map +1 -1
- package/dist/upgrade/lifecycle.context.d.ts +19 -0
- package/dist/upgrade/lifecycle.context.js +47 -0
- package/dist/upgrade/lifecycle.context.js.map +1 -0
- package/dist/upgrade/lifecycle.d.ts +72 -0
- package/dist/upgrade/lifecycle.js +176 -0
- package/dist/upgrade/lifecycle.js.map +1 -0
- package/dist/upgrade/pathHandle.d.ts +28 -0
- package/dist/upgrade/pathHandle.js +101 -0
- package/dist/upgrade/pathHandle.js.map +1 -0
- package/dist/utils/bootSession.context.d.ts +15 -0
- package/dist/utils/bootSession.context.js +59 -0
- package/dist/utils/bootSession.context.js.map +1 -0
- package/dist/utils/bootSession.d.ts +16 -0
- package/dist/utils/bootSession.js +20 -0
- package/dist/utils/bootSession.js.map +1 -0
- package/dist/utils/clock.js +1 -1
- package/dist/utils/ffmpeg.js +1 -1
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/markup.d.ts +10 -0
- package/dist/utils/markup.js +23 -0
- package/dist/utils/markup.js.map +1 -1
- package/dist/utils/pid.d.ts +2 -25
- package/dist/utils/pid.js +10 -49
- package/dist/utils/pid.js.map +1 -1
- package/dist/utils/processInspector.context.d.ts +7 -0
- package/dist/utils/processInspector.context.js +104 -0
- package/dist/utils/processInspector.context.js.map +1 -0
- package/dist/utils/processInspector.d.ts +54 -0
- package/dist/utils/processInspector.js +125 -0
- package/dist/utils/processInspector.js.map +1 -0
- package/dist/utils/retry.d.ts +1 -1
- package/dist/utils/retry.js +1 -1
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/runtimeIdentity.context.d.ts +6 -0
- package/dist/utils/runtimeIdentity.context.js +13 -0
- package/dist/utils/runtimeIdentity.context.js.map +1 -0
- package/dist/utils/runtimeIdentity.d.ts +96 -0
- package/dist/utils/runtimeIdentity.js +171 -0
- package/dist/utils/runtimeIdentity.js.map +1 -0
- package/dist/utils/timing.d.ts +1 -1
- package/dist/utils/timing.js +0 -5
- package/dist/utils/timing.js.map +1 -1
- package/dist/utils/version.js +40 -10
- package/dist/utils/version.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preroll.js","sourceRoot":"","sources":["../../src/streaming/preroll.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAqB,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;;;;;;;;;;;;;GAcG;AAEH,mKAAmK;AACnK,kKAAkK;AAClK,iBAAiB;AACjB,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,qKAAqK;AACrK,iHAAiH;AACjH,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAajC,oKAAoK;AACpK,qEAAqE;AACrE,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;AAE1D,oBAAoB;AAEpB;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAmB;IAEhD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IAExD,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAmB,EAAE,KAAa;IAE1E,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAmB;IAE5D,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE3C,IAAG,CAAC,OAAO,EAAE,CAAC;QAEZ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAI,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAExC,KAAK,IAAI,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAmB;IAEvD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE3C,IAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAEhD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,KAAI,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAExC,IAAG,QAAQ,GAAG,GAAG,EAAE,CAAC;YAElB,GAAG,GAAG,QAAQ,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAE7B,MAAM,SAAS,GAAiB,wBAAwB,EAAE,CAAC;IAE3D,IAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAE7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6EAA6E;IAC7E,MAAM,QAAQ,GAAiB,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAEtE,IAAG,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAE5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sBAAsB;AAEtB;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IAEnC,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IAEzC,IAAG,CAAC,SAAS,EAAE,CAAC;QAEd,GAAG,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;QAEnH,OAAO;IACT,CAAC;IAED,iKAAiK;IACjK,YAAY;IACZ,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpE,iKAAiK;IACjK,+GAA+G;IAC/G,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE;QACvC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS;QAC7H,MAAM,EAAE,IAAI;KACb,EAAE,IAAI,CAAC,CAAC;IAET,+JAA+J;IAC/J,iKAAiK;IACjK,mDAAmD;IACnD,IAAG,wBAAwB,EAAE,KAAK,MAAM,EAAE,CAAC;QAEzC,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE;YACvC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;YACjF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM;SAC/B,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,KAAmB,EAAE,SAAmB,EAAE,IAAY;IAEtG,MAAM,IAAI,GAAG;QACX,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS;QAClD,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,GAAG,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC;QACvG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B;QACjD,IAAI,EAAE,MAAM,CAAC,sBAAsB,CAAC;QACpC,GAAG,SAAS;QACZ,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ;QAC/B,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,mEAAmE;QAChF,gBAAgB,EAAE,GAAG;QACrB,QAAQ;KACT,CAAC;IAEF,IAAI,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAG,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAEjD,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAElF,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,qEAAqE,EAClG,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YAEN,GAAG,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/G,CAAC;AACH,CAAC;AAED,oBAAoB;AAEpB;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,IAAc;IAE9D,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAE,EAAE,CAAC,CAAC;IAE/E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;QAExC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAEvC,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAEtB,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+JAA+J;IAC/J,4GAA4G;IAC5G,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;IAE/G,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAEzB,IAAG,IAAI,KAAK,CAAC,EAAE,CAAC;YAEd,UAAU,EAAE,CAAC;YAEb,OAAO;QACT,CAAC;QAED,iBAAiB,CAAC,IAAI,KAAK,CAAC,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAE,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAE,CAAC,CAAC;IAEnF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,IAAY;IAEvC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAqB,IAAI,CAAC;IAErC,6GAA6G;IAC7G,IAAI,WAAW,GAAqB,IAAI,CAAC;IAEzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,GAAG,EAAE,EAAE;QAExC,IAAG,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YAElD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEzB,IAAG,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAEvB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAG,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAE9B,2IAA2I;YAC3I,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,CAAC;aAAM,IAAG,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAE9B,6EAA6E;YAC7E,IAAG,WAAW,EAAE,CAAC;gBAEf,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC;gBAC7D,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,IAAG,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE7C,gKAAgK;IAChK,mGAAmG;IACnG,uJAAuJ;IACvJ,IAAG,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAEzC,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEjD,sDAAsD;QACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE7C,KAAI,MAAM,CAAE,OAAO,EAAE,IAAI,CAAE,IAAI,YAAY,EAAE,CAAC;YAE5C,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,yJAAyJ;QACzJ,4JAA4J;QAC5J,wCAAwC;QACxC,KAAI,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YAEnC,uGAAuG;YACvG,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAEtB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAElB,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAE/C,oGAAoG;YACpG,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAC;YAE/E,IAAI,cAAc,GAAG,CAAC,CAAC;YAEvB,KAAI,MAAM,CAAE,OAAO,EAAE,MAAM,CAAE,IAAI,YAAY,EAAE,CAAC;gBAE9C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE1C,IAAG,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC;oBAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;oBAEpD,IAAG,OAAO,GAAG,cAAc,EAAE,CAAC;wBAE5B,cAAc,GAAG,OAAO,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,0GAA0G;YAC1G,SAAS,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AACnD,CAAC;AAED,sBAAsB;AAEtB,uKAAuK;AACvK,qKAAqK;AACrK,wGAAwG;AACxG,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAoBhC;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IAEhE,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAEjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,GAAG,UAAU,EAAE,OAAO,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,CAAC;AACpH,CAAC;AAuBD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA4B;IAE9D,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAI,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,CAAC;QAErE,OAAO,CAAC,IAAI,CAAC;YAEX,QAAQ,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACrD,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS;SAChG,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAmB,EAAE,gBAAsB;IAElF,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE3C,IAAG,CAAC,OAAO,EAAE,CAAC;QAEZ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;IACnD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAEpE,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;IAElE,2JAA2J;IAC3J,8IAA8I;IAC9I,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAE9B,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAExE,qBAAqB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,kBAAkB,GAAG,qBAAqB,CAAC;IAE/C,KAAI,IAAI,CAAC,GAAG,sBAAsB,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QAE3D,kBAAkB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAG,UAAU,GAAG,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,EAAE,CAAC;YAE7D,MAAM;QACR,CAAC;QAED,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,uBAAuB;AAEvB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,KAAmB,EAAE,gBAAwB,EAAE,gBAAsB;IAE5H,IAAG,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAE1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5H,OAAO,aAAa,CAAC;QAEnB,aAAa,EAAE,OAAO,GAAG,WAAW,GAAG,KAAK,GAAG,WAAW;QAC1D,aAAa,EAAE,gBAAgB;QAC/B,cAAc,EAAE,qBAAqB,CAAC,KAAK,CAAC;QAC5C,OAAO,EAAE,CAAC;KACX,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,eAAe;AAEf;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAE7C,GAAG,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAElE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpG,IAAG,CAAC,OAAO,EAAE,CAAC;YAEZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAE/C,OAAO;QACT,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;QACxD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,mKAAmK;IACnK,uGAAuG;IACvG,GAAG,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAElE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpG,IAAG,CAAC,OAAO,EAAE,CAAC;YAEZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAE/C,OAAO;QACT,CAAC;QAED,2EAA2E;QAC3E,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,CAAC,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEnG,IAAG,CAAC,KAAK,EAAE,CAAC;YAEV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAE/C,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE3C,IAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAErF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAEnD,OAAO;QACT,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;QACxD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"preroll.js","sourceRoot":"","sources":["../../src/streaming/preroll.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { HealthEvent, HealthSnapshot } from "../config/health.ts";
|
|
2
1
|
import type { Nullable, StreamingMode } from "../types/index.ts";
|
|
3
2
|
import type { ClientTypeCount } from "./clients.ts";
|
|
4
3
|
/**
|
|
@@ -56,17 +55,17 @@ export interface SystemStatus {
|
|
|
56
55
|
uptime: number;
|
|
57
56
|
}
|
|
58
57
|
/**
|
|
59
|
-
* Initial snapshot sent when an SSE client connects.
|
|
58
|
+
* Initial snapshot sent when an SSE client connects. The channel table catch-up patch is composed at the route layer (routes/streams.ts) - this snapshot covers
|
|
59
|
+
* only the stream and system state that statusEmitter owns.
|
|
60
60
|
*/
|
|
61
61
|
export interface StatusSnapshot {
|
|
62
|
-
health: HealthSnapshot;
|
|
63
62
|
streams: StreamStatus[];
|
|
64
63
|
system: SystemStatus;
|
|
65
64
|
}
|
|
66
65
|
/**
|
|
67
66
|
* Event types emitted by the status emitter.
|
|
68
67
|
*/
|
|
69
|
-
export type StatusEventType = "channelUpdate" | "
|
|
68
|
+
export type StatusEventType = "channelUpdate" | "snapshot" | "streamAdded" | "streamHealthChanged" | "streamRemoved" | "systemStatusChanged";
|
|
70
69
|
/**
|
|
71
70
|
* Creates the initial StreamStatus object for a new stream. This provides a consistent starting state with all health metrics at their default values.
|
|
72
71
|
* @param options - The stream initialization options.
|
|
@@ -131,12 +130,10 @@ export declare function removeStreamStatus(streamId: number): void;
|
|
|
131
130
|
* channels tab open apply the patch via channelTable.applyPatch. Used for server-initiated updates like logo population that have no associated client request.
|
|
132
131
|
* @param patch - The partial channel table patch to emit.
|
|
133
132
|
*/
|
|
134
|
-
export declare function emitChannelUpdate(patch:
|
|
133
|
+
export declare function emitChannelUpdate(patch: unknown): void;
|
|
135
134
|
/**
|
|
136
135
|
* Subscribes a callback to receive all status events. Returns an unsubscribe function.
|
|
137
136
|
* @param callback - Function to call when a status event is emitted.
|
|
138
137
|
* @returns A function to unsubscribe the callback.
|
|
139
138
|
*/
|
|
140
|
-
export declare function subscribeToStatus(callback: (event: StatusEventType, data:
|
|
141
|
-
id: number;
|
|
142
|
-
}) => void): () => void;
|
|
139
|
+
export declare function subscribeToStatus(callback: (event: StatusEventType, data: unknown) => void): () => void;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getHealthSnapshot, subscribeToHealth } from "../config/health.js";
|
|
2
1
|
import { CONFIG } from "../config/index.js";
|
|
3
2
|
import { EventEmitter } from "node:events";
|
|
4
3
|
/* A singleton EventEmitter that broadcasts status updates to all subscribed SSE clients. The emitter maintains current state for all streams, allowing new clients
|
|
@@ -105,7 +104,6 @@ export function updateSystemStatus(status) {
|
|
|
105
104
|
*/
|
|
106
105
|
export function getStatusSnapshot() {
|
|
107
106
|
return {
|
|
108
|
-
health: getHealthSnapshot(),
|
|
109
107
|
streams: Array.from(streamStatuses.values()),
|
|
110
108
|
system: cachedSystemStatus ?? {
|
|
111
109
|
browser: { connected: false, pageCount: 0 },
|
|
@@ -154,15 +152,12 @@ export function subscribeToStatus(callback) {
|
|
|
154
152
|
statusEmitter.on("streamRemoved", streamRemovedHandler);
|
|
155
153
|
statusEmitter.on("streamHealthChanged", streamHealthChangedHandler);
|
|
156
154
|
statusEmitter.on("systemStatusChanged", systemStatusChangedHandler);
|
|
157
|
-
// Forward health events from the health emitter through the same SSE connection. This avoids a separate SSE endpoint for health updates.
|
|
158
|
-
const unsubscribeHealth = subscribeToHealth((event) => { callback("healthChanged", event); });
|
|
159
155
|
return () => {
|
|
160
156
|
statusEmitter.off("channelUpdate", channelUpdateHandler);
|
|
161
157
|
statusEmitter.off("streamAdded", streamAddedHandler);
|
|
162
158
|
statusEmitter.off("streamRemoved", streamRemovedHandler);
|
|
163
159
|
statusEmitter.off("streamHealthChanged", streamHealthChangedHandler);
|
|
164
160
|
statusEmitter.off("systemStatusChanged", systemStatusChangedHandler);
|
|
165
|
-
unsubscribeHealth();
|
|
166
161
|
};
|
|
167
162
|
}
|
|
168
163
|
//# sourceMappingURL=statusEmitter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusEmitter.js","sourceRoot":"","sources":["../../src/streaming/statusEmitter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"statusEmitter.js","sourceRoot":"","sources":["../../src/streaming/statusEmitter.ts"],"names":[],"mappings":"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"}
|
package/dist/types/channels.d.ts
CHANGED
|
@@ -36,6 +36,15 @@ export interface ChannelServiceBinding {
|
|
|
36
36
|
* with a string canonicalKey is a VariantChannel, anything else is a CanonicalChannel.
|
|
37
37
|
*
|
|
38
38
|
* Predefined canonicals are produced by the flattener; standalone user channels (no predefined parent) take this same shape.
|
|
39
|
+
*
|
|
40
|
+
* Sibling-variant non-overlap rule (storage invariant): a canonical override's binding fields exist to customize the canonical service's binding -
|
|
41
|
+
* NOT to express "I'd rather default this channel to a sibling service." When the user wants a sibling service to be the default for a channel, that intent
|
|
42
|
+
* is expressed via serviceSelections (config/services.ts), not by overriding the canonical URL. The storage layer enforces this: any canonical override whose
|
|
43
|
+
* binding URL extracts to a sibling variant's domain is normalized at write time by inferTargetVariant + normalizeChannelDeltas in config/userChannels.ts.
|
|
44
|
+
* Binding fields are stripped from the canonical override, propagated to the matching variant entry as a binding-only override (when they diverge from the
|
|
45
|
+
* variant's predefined defaults), and serviceSelections[canonicalKey] is set to the matching variant key. The producer (the PUT handler in
|
|
46
|
+
* routes/config/channels/endpoints/crud.ts), the startup heal in initializeUserChannels, and the normalizer all share one inferTargetVariant helper, so the
|
|
47
|
+
* rule lives in exactly one place.
|
|
39
48
|
*/
|
|
40
49
|
export interface CanonicalChannel extends ChannelIdentity, ChannelServiceBinding {
|
|
41
50
|
canonicalKey?: never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/types/channels.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/types/channels.ts"],"names":[],"mappings":"AAmMA;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAW,CAAC;AAEvK;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAW,CAAC;AAiBvK,MAAM,sBAAsB,GAAyE,IAAI,CAAC;AAE1G,oGAAoG;AACpG,KAAK,sBAAsB,CAAC;AAE5B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;CAC9B,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,iBAAiB,EAAE,SAAS,EAAE,KAAK;CAC8B,CAAC;AA0BpE,MAAM,kBAAkB,GAA0F,IAAI,CAAC;AAEvH,oGAAoG;AACpG,KAAK,kBAAkB,CAAC"}
|
package/dist/types/profiles.d.ts
CHANGED
|
@@ -105,7 +105,7 @@ export interface ProfileResolutionResult {
|
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
107
|
* Domain-level configuration associating domain patterns with site profiles and service display names. Each entry can specify a site profile for behavior
|
|
108
|
-
* configuration and/or a service display name for friendly UI labels. Used by both
|
|
108
|
+
* configuration and/or a service display name for friendly UI labels. Used by both builtin domain mappings in sites.ts and user-defined mappings in profiles.json.
|
|
109
109
|
*/
|
|
110
110
|
export interface DomainConfig {
|
|
111
111
|
dismissSelector?: string;
|
|
@@ -118,7 +118,7 @@ export interface DomainConfig {
|
|
|
118
118
|
videoTimeout?: number;
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
121
|
-
* Storage format for profiles.json. Contains user-defined site profiles and domain mappings that extend or override the
|
|
121
|
+
* Storage format for profiles.json. Contains user-defined site profiles and domain mappings that extend or override the builtin configurations.
|
|
122
122
|
*/
|
|
123
123
|
export interface UserProfilesFile {
|
|
124
124
|
domains?: Record<string, DomainConfig>;
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
+
/* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
|
|
2
|
+
*
|
|
3
|
+
* commands.context.ts: The default adapter that produces an UpgradeContext from real runtime I/O. The handler in commands.ts is a pure orchestrator over an
|
|
4
|
+
* UpgradeContext; this file is the only place in the upgrade-commands module that fetches the npm registry, invokes process.exit, or wires the platform-aware
|
|
5
|
+
* lifecycle through to performUpgrade. Tests bypass this file entirely by constructing UpgradeContext literals inline.
|
|
6
|
+
*
|
|
7
|
+
* The lifecycle context is built when performUpgrade is invoked, not at UpgradeContext construction time. Eager construction would call
|
|
8
|
+
* getDataDir() before the upgrade-execution branch is reached, which is wrong for the --help and --check paths (they never invoke performUpgrade) and brittle
|
|
9
|
+
* for tests that exercise those paths against the default context without initializing the data directory. Lazy construction keeps the cost paid exactly when
|
|
10
|
+
* the work happens.
|
|
11
|
+
*/
|
|
1
12
|
import { print, printError } from "../utils/cliOutput.js";
|
|
13
|
+
import { createDefaultLifecycleContext } from "./lifecycle.context.js";
|
|
2
14
|
import { detectInstallMethod } from "./detection.js";
|
|
3
|
-
import { execSync } from "node:child_process";
|
|
4
15
|
import { fetchLatestVersion } from "../utils/version.js";
|
|
5
16
|
import { isRunningAsService } from "../utils/platform.js";
|
|
17
|
+
import { performUpgrade } from "./lifecycle.js";
|
|
6
18
|
/**
|
|
7
19
|
* Builds the default UpgradeContext from real runtime I/O.
|
|
8
20
|
* @returns An UpgradeContext populated from the live process.
|
|
@@ -13,15 +25,7 @@ export function createDefaultUpgradeContext() {
|
|
|
13
25
|
exit: (code) => process.exit(code),
|
|
14
26
|
fetchLatestVersion,
|
|
15
27
|
isService: isRunningAsService(),
|
|
16
|
-
|
|
17
|
-
try {
|
|
18
|
-
execSync(cmd, { cwd: options.cwd, encoding: "utf-8", stdio: "inherit" });
|
|
19
|
-
return { success: true };
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
return { success: false };
|
|
23
|
-
}
|
|
24
|
-
},
|
|
28
|
+
performUpgrade: (info) => performUpgrade(createDefaultLifecycleContext(), info),
|
|
25
29
|
stderr: printError,
|
|
26
30
|
stdout: print
|
|
27
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.context.js","sourceRoot":"","sources":["../../src/upgrade/commands.context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.context.js","sourceRoot":"","sources":["../../src/upgrade/commands.context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IAEzC,OAAO;QAEL,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,kBAAkB;QAClB,SAAS,EAAE,kBAAkB,EAAE;QAC/B,cAAc,EAAE,CAAC,IAAiB,EAAe,EAAE,CAAC,cAAc,CAAC,6BAA6B,EAAE,EAAE,IAAI,CAAC;QACzG,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,KAAK;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import type { InstallInfo } from "./detection.ts";
|
|
2
|
+
import type { UpgradeStep } from "./lifecycle.ts";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
export interface UpgradeResult {
|
|
7
|
-
readonly success: boolean;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* The runtime context handleUpgradeCommand consumes. Each field models one capability the command needs - detection, version lookup, subprocess execution,
|
|
11
|
-
* stdout/stderr output, process termination, and a service-mode probe. Decision logic is a pure function of this shape; production wires it through
|
|
4
|
+
* The runtime context handleUpgradeCommand consumes. Each field models one capability the command needs - detection, version lookup, platform-aware upgrade
|
|
5
|
+
* execution, stdout/stderr output, process termination, and a service-mode probe. Decision logic is a pure function of this shape; production wires it through
|
|
12
6
|
* createDefaultUpgradeContext (in commands.context.ts), tests pass a context literal.
|
|
13
7
|
*/
|
|
14
8
|
export interface UpgradeContext {
|
|
@@ -16,16 +10,14 @@ export interface UpgradeContext {
|
|
|
16
10
|
readonly exit: (code: number) => never;
|
|
17
11
|
readonly fetchLatestVersion: () => Promise<string | null>;
|
|
18
12
|
readonly isService: boolean;
|
|
19
|
-
readonly
|
|
20
|
-
cwd?: string;
|
|
21
|
-
}) => UpgradeResult;
|
|
13
|
+
readonly performUpgrade: (info: InstallInfo) => UpgradeStep;
|
|
22
14
|
readonly stderr: (line: string) => void;
|
|
23
15
|
readonly stdout: (line: string) => void;
|
|
24
16
|
}
|
|
25
17
|
/**
|
|
26
|
-
* Main handler for the `upgrade` subcommand. Parses arguments and orchestrates the appropriate upgrade flow through the UpgradeContext. Pure
|
|
27
|
-
* UpgradeContext
|
|
28
|
-
*
|
|
18
|
+
* Main handler for the `upgrade` subcommand. Parses arguments and orchestrates the appropriate upgrade flow through the UpgradeContext. Pure orchestrator over
|
|
19
|
+
* UpgradeContext - decision logic depends only on context methods plus the synchronous getPackageVersion() lookup, never on direct subprocess, registry, or
|
|
20
|
+
* process-state I/O.
|
|
29
21
|
* @param args - Arguments after 'upgrade' (e.g., ['--check', '--force']).
|
|
30
22
|
* @param ctx - The upgrade context. Defaults to createDefaultUpgradeContext() which wires real runtime I/O.
|
|
31
23
|
* @returns Exit code (0 for success, 1 for error).
|
package/dist/upgrade/commands.js
CHANGED
|
@@ -3,10 +3,6 @@ import { createDefaultUpgradeContext } from "./commands.context.js";
|
|
|
3
3
|
/* The upgrade subcommand handles `prismcast upgrade [--check] [--force] [-h|--help]`. Detection picks the install method, the registry lookup checks for a
|
|
4
4
|
* newer version, and the runner executes the per-method upgrade command (or prints manual instructions for non-upgradeable methods).
|
|
5
5
|
*/
|
|
6
|
-
/**
|
|
7
|
-
* Prints usage information for the upgrade subcommand.
|
|
8
|
-
* @param ctx - The upgrade context (used for stdout output).
|
|
9
|
-
*/
|
|
10
6
|
function printUpgradeUsage(ctx) {
|
|
11
7
|
ctx.stdout("Usage: prismcast upgrade [options]");
|
|
12
8
|
ctx.stdout("");
|
|
@@ -17,13 +13,7 @@ function printUpgradeUsage(ctx) {
|
|
|
17
13
|
ctx.stdout(" --force Upgrade even if already up to date");
|
|
18
14
|
ctx.stdout(" -h, --help Show this help message");
|
|
19
15
|
}
|
|
20
|
-
|
|
21
|
-
* Prints the upgrade summary table (shared between --check mode and the pre-upgrade display).
|
|
22
|
-
* @param ctx - The upgrade context (used for stdout output).
|
|
23
|
-
* @param info - The detected installation info.
|
|
24
|
-
* @param currentVersion - The currently running version.
|
|
25
|
-
* @param latestVersion - The latest available version, or null if unknown.
|
|
26
|
-
*/
|
|
16
|
+
// Shared between --check mode and the pre-upgrade display so both surfaces print identical version/install-method/upgrade-command rows.
|
|
27
17
|
function printUpgradeInfo(ctx, info, currentVersion, latestVersion) {
|
|
28
18
|
ctx.stdout("PrismCast Upgrade Check");
|
|
29
19
|
ctx.stdout("─".repeat(40));
|
|
@@ -57,14 +47,6 @@ function printNonUpgradeableSummary(ctx, info, currentVersion, latestVersion) {
|
|
|
57
47
|
}
|
|
58
48
|
ctx.stdout(" " + info.upgradeCommand);
|
|
59
49
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Handles the --check flag: prints upgrade information and exits with 0.
|
|
62
|
-
* @param ctx - The upgrade context.
|
|
63
|
-
* @param info - The detected installation info.
|
|
64
|
-
* @param currentVersion - The currently running version.
|
|
65
|
-
* @param latestVersion - The latest available version, or null if unknown.
|
|
66
|
-
* @returns Exit code (0).
|
|
67
|
-
*/
|
|
68
50
|
function handleCheck(ctx, info, currentVersion, latestVersion) {
|
|
69
51
|
if (!info.upgradeable) {
|
|
70
52
|
printNonUpgradeableSummary(ctx, info, currentVersion, latestVersion);
|
|
@@ -84,9 +66,9 @@ function handleCheck(ctx, info, currentVersion, latestVersion) {
|
|
|
84
66
|
return 0;
|
|
85
67
|
}
|
|
86
68
|
/**
|
|
87
|
-
* Main handler for the `upgrade` subcommand. Parses arguments and orchestrates the appropriate upgrade flow through the UpgradeContext. Pure
|
|
88
|
-
* UpgradeContext
|
|
89
|
-
*
|
|
69
|
+
* Main handler for the `upgrade` subcommand. Parses arguments and orchestrates the appropriate upgrade flow through the UpgradeContext. Pure orchestrator over
|
|
70
|
+
* UpgradeContext - decision logic depends only on context methods plus the synchronous getPackageVersion() lookup, never on direct subprocess, registry, or
|
|
71
|
+
* process-state I/O.
|
|
90
72
|
* @param args - Arguments after 'upgrade' (e.g., ['--check', '--force']).
|
|
91
73
|
* @param ctx - The upgrade context. Defaults to createDefaultUpgradeContext() which wires real runtime I/O.
|
|
92
74
|
* @returns Exit code (0 for success, 1 for error).
|
|
@@ -112,7 +94,7 @@ export async function handleUpgradeCommand(args, ctx = createDefaultUpgradeConte
|
|
|
112
94
|
return 0;
|
|
113
95
|
}
|
|
114
96
|
// Already-current short-circuit: skip when --force is set or when we could not check the registry. Without --force, an indeterminate version check is fatal
|
|
115
|
-
// because we should not blindly run npm install when we
|
|
97
|
+
// because we should not blindly run npm install when we cannot see whether it would do anything.
|
|
116
98
|
if (!force && latestVersion && !isVersionLessThan(currentVersion, latestVersion)) {
|
|
117
99
|
ctx.stdout("PrismCast v" + currentVersion + " is already the latest version.");
|
|
118
100
|
ctx.stdout("Use --force to upgrade anyway.");
|
|
@@ -127,17 +109,34 @@ export async function handleUpgradeCommand(args, ctx = createDefaultUpgradeConte
|
|
|
127
109
|
ctx.stdout("Install method: " + info.displayName);
|
|
128
110
|
ctx.stdout("Running: " + info.upgradeCommand);
|
|
129
111
|
ctx.stdout("");
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
|
|
133
|
-
|
|
112
|
+
// Dispatch to the platform-aware lifecycle. The returned UpgradeStep tells us whether the upgrade ran in-process synchronously (POSIX path) or was handed
|
|
113
|
+
// off to a detached helper (Windows path); we narrow on `kind` and handle each variant's messaging and exit behavior. packageDir flows through to the
|
|
114
|
+
// lifecycle as part of InstallInfo (only npm-local declares a resolver that sets it).
|
|
115
|
+
const step = ctx.performUpgrade(info);
|
|
116
|
+
if (step.kind === "handed-off") {
|
|
117
|
+
// The Windows handoff strategy has spawned a detached helper that is waiting for the current process to exit so file locks on the prismcast directory
|
|
118
|
+
// release before npm install runs. We must exit immediately; the helper handles the upgrade and (conditionally) the service-task restart on its own. The
|
|
119
|
+
// log path is surfaced so the user has somewhere to look while the upgrade runs.
|
|
120
|
+
//
|
|
121
|
+
// The restart message is deliberately phrased as a conditional rather than an unconditional promise. The helper only restarts the scheduled task when one
|
|
122
|
+
// is registered; a user who invokes `prismcast upgrade` against a non-service install will need to restart PrismCast manually after the helper finishes.
|
|
123
|
+
// We cannot know which branch will apply without probing Task Scheduler from our process, and that would add a synchronous PowerShell call to every
|
|
124
|
+
// upgrade. The honest two-clause message keeps both audiences correctly informed without that cost.
|
|
125
|
+
ctx.stdout("Upgrade is running in the background.");
|
|
126
|
+
ctx.stdout("If PrismCast is registered as a Windows service, the helper will restart it when the upgrade completes; otherwise, restart PrismCast manually.");
|
|
127
|
+
ctx.stdout("Helper log: " + step.logPath);
|
|
128
|
+
ctx.exit(0);
|
|
129
|
+
}
|
|
130
|
+
// In-process path: the upgrade ran synchronously and the result is the runner's outcome.
|
|
131
|
+
if (!step.success) {
|
|
134
132
|
ctx.stderr("");
|
|
135
133
|
ctx.stderr("Upgrade failed. Check the output above for details.");
|
|
136
134
|
return 1;
|
|
137
135
|
}
|
|
138
136
|
ctx.stdout("");
|
|
139
137
|
ctx.stdout("Upgrade complete.");
|
|
140
|
-
// Service-managed processes restart automatically when we exit; manual installs need a user-driven restart.
|
|
138
|
+
// Service-managed processes restart automatically when we exit; manual installs need a user-driven restart. The handoff branch above does not reach this
|
|
139
|
+
// code because its helper owns the restart; only the in-process branch falls through here.
|
|
141
140
|
if (ctx.isService) {
|
|
142
141
|
ctx.stdout("Restarting PrismCast via service manager...");
|
|
143
142
|
ctx.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/upgrade/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/upgrade/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createPathHandle } from "./pathHandle.js";
|
|
1
2
|
import { execSync } from "node:child_process";
|
|
2
3
|
import { existsSync } from "node:fs";
|
|
3
4
|
import { isRunningInContainer } from "../utils/platform.js";
|
|
@@ -8,7 +9,7 @@ import url from "node:url";
|
|
|
8
9
|
*/
|
|
9
10
|
export function createDefaultDetectionContext() {
|
|
10
11
|
return {
|
|
11
|
-
currentFile: url.fileURLToPath(import.meta.url),
|
|
12
|
+
currentFile: createPathHandle(url.fileURLToPath(import.meta.url)),
|
|
12
13
|
fileExists: existsSync,
|
|
13
14
|
isContainer: isRunningInContainer(),
|
|
14
15
|
runCommand: (cmd) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.context.js","sourceRoot":"","sources":["../../src/upgrade/detection.context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detection.context.js","sourceRoot":"","sources":["../../src/upgrade/detection.context.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAE3C,OAAO;QAEL,WAAW,EAAE,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjE,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,oBAAoB,EAAE;QACnC,UAAU,EAAE,CAAC,GAAW,EAAiB,EAAE;YAEzC,IAAI,CAAC;gBAEH,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBAEP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type { PathHandle } from "./pathHandle.ts";
|
|
1
2
|
/**
|
|
2
3
|
* The runtime context detection consumes. Each field is one narrow capability the decision logic depends on - the path of the running module, whether we are
|
|
3
4
|
* inside a Docker container, the ability to run a shell command and read its trimmed stdout, the ability to check that a path exists. Decision logic is a pure
|
|
4
5
|
* function of this shape; the default adapter wires it from real I/O, tests pass a context literal.
|
|
5
6
|
*/
|
|
6
7
|
export interface DetectionContext {
|
|
7
|
-
readonly currentFile:
|
|
8
|
+
readonly currentFile: PathHandle;
|
|
8
9
|
readonly fileExists: (path: string) => boolean;
|
|
9
10
|
readonly isContainer: boolean;
|
|
10
11
|
readonly runCommand: (cmd: string) => string | null;
|
|
@@ -1,40 +1,4 @@
|
|
|
1
|
-
/* Copyright(C) 2024-2026, HJD (https://github.com/hjdhjd). All rights reserved.
|
|
2
|
-
*
|
|
3
|
-
* detection.ts: Installation method detection for PrismCast upgrade.
|
|
4
|
-
*
|
|
5
|
-
* The architecture is ports-and-adapters with a strategy registry whose entries are the single source of truth for everything PrismCast knows about its
|
|
6
|
-
* installation methods - including the InstallMethod type, which is derived from the registry rather than declared in parallel with it.
|
|
7
|
-
*
|
|
8
|
-
* - DetectionContext (this file) - the runtime-input port; what every strategy needs to make its decision
|
|
9
|
-
* - ResolvableFields (this file) - the narrow set of InstallInfo fields a strategy's resolver may compute (today: packageDir)
|
|
10
|
-
* - InstallStrategy<M> (this file) - a discriminated union over `upgradeable`; non-upgradeable variants carry manualUpgradeMessage
|
|
11
|
-
* - INSTALL_STRATEGIES (this file) - the registry; the SSOT for what install methods PrismCast recognizes, in priority order
|
|
12
|
-
* - RegisteredMethod, InstallMethod (derived) - the literal-union types produced from the registry; cannot drift from the strategies
|
|
13
|
-
* - InstallInfo (this file) - the dispatcher's output; mirrors the strategy union so non-upgradeable infos carry the message
|
|
14
|
-
* - detectInstallMethod (this file) - the dispatcher; a fold over the registry that builds the right InstallInfo variant
|
|
15
|
-
* - createDefaultDetectionContext (detection.context) - the adapter; the only place that reads import.meta.url, runs subprocesses, or touches the FS
|
|
16
|
-
*
|
|
17
|
-
* Adding a new install method is appending one record to INSTALL_STRATEGIES. The InstallMethod type updates automatically. The dispatcher and the adapter never
|
|
18
|
-
* change. Tests construct DetectionContext literals inline; production calls detectInstallMethod() with no arguments and the default-argument wires through to
|
|
19
|
-
* createDefaultDetectionContext.
|
|
20
|
-
*
|
|
21
|
-
* Why the discriminated union on `upgradeable`. Boolean flags that gate the presence of other fields are a smell - they let callers ask for fields that are not
|
|
22
|
-
* meaningful in the current state, and they push the responsibility for "is this field present?" onto every consumer's runtime check. Splitting the strategy
|
|
23
|
-
* (and its corresponding InstallInfo) into upgradeable vs non-upgradeable variants lets TypeScript enforce that manualUpgradeMessage exists exactly when
|
|
24
|
-
* upgradeable is false. Consumers narrow on `if(!info.upgradeable)` and read the message field with full type safety; the structural impossibility of an
|
|
25
|
-
* upgradeable strategy carrying manual instructions, or a non-upgradeable one omitting them, is enforced at the type level rather than by convention.
|
|
26
|
-
*/
|
|
27
1
|
import { createDefaultDetectionContext } from "./detection.context.js";
|
|
28
|
-
import path from "node:path";
|
|
29
|
-
// Path marker that distinguishes Homebrew formula installs from npm-on-Homebrew installs. The npm global directory under Homebrew lives at /opt/homebrew/lib/
|
|
30
|
-
// node_modules/prismcast/ on Apple Silicon, which would otherwise produce a false-positive homebrew match; checking for /Cellar/prismcast/ specifically avoids
|
|
31
|
-
// that.
|
|
32
|
-
const HOMEBREW_MARKER = "/Cellar/prismcast/";
|
|
33
|
-
// Path marker for npm local installs. The package's source files live under <project>/node_modules/prismcast/...; the npm-local resolver extracts the project
|
|
34
|
-
// root by slicing the path before this marker. The npm-global strategy also uses the broader "/node_modules/" substring as a cheap prefilter to skip the
|
|
35
|
-
// subprocess call when the path could not possibly be an npm install.
|
|
36
|
-
const NPM_LOCAL_MARKER = "/node_modules/prismcast/";
|
|
37
|
-
const ANY_NODE_MODULES = "/node_modules/";
|
|
38
2
|
/**
|
|
39
3
|
* Docker strategy. Matched via the container-environment probe rather than the path - inside a container, path-based detection is irrelevant because the path
|
|
40
4
|
* looks like any other npm install but the upgrade flow is fundamentally different (recreate the container, not run a package manager). Carries the manual
|
|
@@ -52,50 +16,55 @@ const DOCKER_STRATEGY = {
|
|
|
52
16
|
upgradeable: false
|
|
53
17
|
};
|
|
54
18
|
/**
|
|
55
|
-
* Homebrew strategy. Matched via the
|
|
56
|
-
*
|
|
19
|
+
* Homebrew strategy. Matched via the "Cellar" + "prismcast" segment chain. Homebrew formula installs always live under <prefix>/Cellar/<formula>/<version>/, so
|
|
20
|
+
* the pair is a reliable discriminator on both Intel (/usr/local/Cellar) and Apple Silicon (/opt/homebrew/Cellar) layouts. The chain is deliberately the pair
|
|
21
|
+
* rather than just "Cellar" so an npm-on-Homebrew install at /opt/homebrew/lib/node_modules/prismcast/ does not false-positive...that path contains "homebrew"
|
|
22
|
+
* but not "Cellar/prismcast".
|
|
57
23
|
*/
|
|
58
24
|
const HOMEBREW_STRATEGY = {
|
|
59
25
|
displayName: "Homebrew",
|
|
60
26
|
id: "homebrew",
|
|
61
|
-
matches: (ctx) => ctx.currentFile.
|
|
27
|
+
matches: (ctx) => ctx.currentFile.hasSegmentChain("Cellar", "prismcast"),
|
|
62
28
|
upgradeCommand: "brew update && brew upgrade prismcast",
|
|
63
29
|
upgradeable: true
|
|
64
30
|
};
|
|
65
31
|
/**
|
|
66
|
-
* npm global strategy. Matched in two stages: a cheap path prefilter (the running file must
|
|
67
|
-
* call to `npm prefix -g
|
|
68
|
-
* path), keeping the matches predicate inexpensive in the common no-match case.
|
|
32
|
+
* npm global strategy. Matched in two stages: a cheap path prefilter (the running file must contain a "node_modules" segment), then the authoritative subprocess
|
|
33
|
+
* call to `npm prefix -g` followed by a structural is-under check against the reported prefix. The prefilter avoids spawning npm for paths that obviously cannot
|
|
34
|
+
* be an npm install (e.g., a development checkout, a Homebrew Cellar path), keeping the matches predicate inexpensive in the common no-match case. Both checks
|
|
35
|
+
* flow through PathHandle so the predicate is platform-agnostic by construction.
|
|
69
36
|
*/
|
|
70
37
|
const NPM_GLOBAL_STRATEGY = {
|
|
71
38
|
displayName: "npm (global)",
|
|
72
39
|
id: "npm-global",
|
|
73
40
|
matches: (ctx) => {
|
|
74
|
-
if (!ctx.currentFile.
|
|
41
|
+
if (!ctx.currentFile.hasSegmentChain("node_modules")) {
|
|
75
42
|
return false;
|
|
76
43
|
}
|
|
77
44
|
const globalPrefix = ctx.runCommand("npm prefix -g");
|
|
78
45
|
if (!globalPrefix) {
|
|
79
46
|
return false;
|
|
80
47
|
}
|
|
81
|
-
return ctx.currentFile.
|
|
48
|
+
return ctx.currentFile.isUnder(globalPrefix);
|
|
82
49
|
},
|
|
83
50
|
upgradeCommand: "npm install -g prismcast@latest",
|
|
84
51
|
upgradeable: true
|
|
85
52
|
};
|
|
86
53
|
/**
|
|
87
|
-
* npm local strategy. Matched via the
|
|
88
|
-
*
|
|
89
|
-
* for npm install
|
|
54
|
+
* npm local strategy. Matched via the "node_modules" + "prismcast" segment chain; the resolver walks the same chain via parentBefore to recover the consumer's
|
|
55
|
+
* project root (the directory above node_modules) and confirms the manifest is actually there via fileExists. Some unusual layouts have an orphaned node_modules
|
|
56
|
+
* without a manifest, and the upgrade runner needs the right cwd for `npm install`, so we only surface packageDir when we can prove the manifest exists.
|
|
90
57
|
*/
|
|
91
58
|
const NPM_LOCAL_STRATEGY = {
|
|
92
59
|
displayName: "npm (local)",
|
|
93
60
|
id: "npm-local",
|
|
94
|
-
matches: (ctx) => ctx.currentFile.
|
|
61
|
+
matches: (ctx) => ctx.currentFile.hasSegmentChain("node_modules", "prismcast"),
|
|
95
62
|
resolve: (ctx) => {
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
63
|
+
const projectRoot = ctx.currentFile.parentBefore("node_modules", "prismcast");
|
|
64
|
+
if (!projectRoot) {
|
|
65
|
+
return {};
|
|
66
|
+
}
|
|
67
|
+
return ctx.fileExists(projectRoot.join("package.json")) ? { packageDir: projectRoot.raw } : {};
|
|
99
68
|
},
|
|
100
69
|
upgradeCommand: "npm install prismcast@latest",
|
|
101
70
|
upgradeable: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../src/upgrade/detection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../src/upgrade/detection.ts"],"names":[],"mappings":"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"}
|
package/dist/upgrade/index.d.ts
CHANGED
package/dist/upgrade/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|