@quenty/gameconfig 12.60.0 → 12.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [12.61.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/gameconfig@12.60.0...@quenty/gameconfig@12.61.0) (2026-07-25)
7
+
8
+ ### Features
9
+
10
+ - Improve cmdr line ([2bc4966](https://github.com/Quenty/NevermoreEngine/commit/2bc496608d90440d7473ec804f761c2a862ec574))
11
+
6
12
  # [12.60.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/gameconfig@12.59.0...@quenty/gameconfig@12.60.0) (2026-07-24)
7
13
 
8
14
  **Note:** Version bump only for package @quenty/gameconfig
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/gameconfig",
3
- "version": "12.60.0",
3
+ "version": "12.61.0",
4
4
  "description": "Configuration service to specify Roblox badges, products, and other specific assets.",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -30,36 +30,37 @@
30
30
  "access": "public"
31
31
  },
32
32
  "dependencies": {
33
- "@quenty/attributeutils": "14.34.0",
34
- "@quenty/badgeutils": "10.22.0",
33
+ "@quenty/attributeutils": "14.35.0",
34
+ "@quenty/badgeutils": "10.23.0",
35
35
  "@quenty/baseobject": "10.15.0",
36
- "@quenty/binder": "14.42.0",
37
- "@quenty/brio": "14.34.0",
38
- "@quenty/canceltoken": "11.23.0",
39
- "@quenty/clienttranslator": "14.45.0",
40
- "@quenty/cmdrservice": "13.54.0",
36
+ "@quenty/binder": "14.43.0",
37
+ "@quenty/brio": "14.35.0",
38
+ "@quenty/canceltoken": "11.24.0",
39
+ "@quenty/clienttranslator": "14.46.0",
40
+ "@quenty/cmdrservice": "13.55.0",
41
41
  "@quenty/enums": "1.3.0",
42
- "@quenty/instanceutils": "13.34.0",
42
+ "@quenty/gameversionutils": "3.6.0",
43
+ "@quenty/instanceutils": "13.35.0",
43
44
  "@quenty/loader": "10.11.0",
44
45
  "@quenty/maid": "3.11.0",
45
- "@quenty/marketplaceutils": "11.28.0",
46
+ "@quenty/marketplaceutils": "11.29.0",
46
47
  "@quenty/nevermore-test-runner": "1.5.0",
47
- "@quenty/nevermoreclimanifest": "1.7.0",
48
- "@quenty/observablecollection": "12.45.0",
49
- "@quenty/playerutils": "8.39.0",
48
+ "@quenty/nevermoreclimanifest": "1.8.0",
49
+ "@quenty/observablecollection": "12.46.0",
50
+ "@quenty/playerutils": "8.40.0",
50
51
  "@quenty/preferredparentutils": "4.4.2",
51
- "@quenty/promise": "10.22.0",
52
+ "@quenty/promise": "10.23.0",
52
53
  "@quenty/pseudolocalize": "3.5.2",
53
- "@quenty/remotefunctionutils": "10.22.0",
54
- "@quenty/remoting": "12.39.0",
55
- "@quenty/rx": "13.32.0",
56
- "@quenty/rxbinderutils": "14.42.0",
54
+ "@quenty/remotefunctionutils": "10.23.0",
55
+ "@quenty/remoting": "12.40.0",
56
+ "@quenty/rx": "13.33.0",
57
+ "@quenty/rxbinderutils": "14.43.0",
57
58
  "@quenty/servicebag": "11.20.0",
58
- "@quenty/statestack": "14.36.0",
59
+ "@quenty/statestack": "14.37.0",
59
60
  "@quenty/string": "3.4.0",
60
61
  "@quenty/table": "3.9.2",
61
- "@quenty/valueobject": "13.35.0",
62
+ "@quenty/valueobject": "13.36.0",
62
63
  "@quentystudios/jest-lua": "3.10.0-quenty.2"
63
64
  },
64
- "gitHead": "04f569a7981517ae20394ec3ca3923c421a93d43"
65
+ "gitHead": "8677b70e89a1ef1585f8492b0638ec4a29aba8a3"
65
66
  }
@@ -6,11 +6,15 @@
6
6
  local require = require(script.Parent.loader).load(script)
7
7
 
8
8
  local GameConfigCmdrUtils = require("GameConfigCmdrUtils")
9
+ local GameVersionUtils = require("GameVersionUtils")
9
10
  local Maid = require("Maid")
10
11
  local Rx = require("Rx")
11
12
  local RxStateStackUtils = require("RxStateStackUtils")
12
13
  local ServiceBag = require("ServiceBag")
13
14
 
15
+ -- Shown when there is no active game config to name the place after.
16
+ local DEFAULT_PLACE_NAME = "Cmdr"
17
+
14
18
  local GameConfigCommandServiceClient = {}
15
19
  GameConfigCommandServiceClient.ServiceName = "GameConfigCommandServiceClient"
16
20
 
@@ -42,7 +46,6 @@ end
42
46
 
43
47
  function GameConfigCommandServiceClient._setupCommands(self: GameConfigCommandServiceClient): ()
44
48
  local picker = self._gameConfigServiceClient:GetConfigPicker()
45
- -- TODO: Determine production vs. staging and set cmdr annotation accordingly.
46
49
 
47
50
  self._maid:GivePromise(self._cmdrService:PromiseCmdr()):Then(function(cmdr)
48
51
  GameConfigCmdrUtils.registerAssetTypes(cmdr, picker)
@@ -50,25 +53,32 @@ function GameConfigCommandServiceClient._setupCommands(self: GameConfigCommandSe
50
53
  local latestConfig = RxStateStackUtils.createStateStack(picker:ObserveActiveConfigsBrio())
51
54
  self._maid:GiveTask(latestConfig)
52
55
 
53
- self._maid:GiveTask((latestConfig :: any)
54
- :Observe()
55
- :Pipe({
56
- Rx.switchMap(function(config): any
57
- if config then
58
- return config:ObserveConfigName()
59
- else
60
- return Rx.of(nil)
61
- end
62
- end),
63
- })
64
- :Subscribe(function(name)
65
- if name then
66
- cmdr:SetPlaceName(name)
56
+ local configName = (latestConfig :: any):Observe():Pipe({
57
+ Rx.switchMap(function(config): any
58
+ if config then
59
+ return config:ObserveConfigName()
67
60
  else
68
- -- Default value
69
- cmdr:SetPlaceName("Cmdr")
61
+ return Rx.of(nil)
70
62
  end
71
- end))
63
+ end),
64
+ })
65
+
66
+ -- The environment tells you whether the command you are about to run
67
+ -- lands on production or on a test deploy, so it is worth the prompt
68
+ -- real estate. It is absent in studio and in undeployed places, where
69
+ -- the prompt stays exactly as it was.
70
+ self._maid:GiveTask(Rx.combineLatest({
71
+ name = configName,
72
+ environment = GameVersionUtils.observeEnvironmentName(),
73
+ }):Subscribe(function(state)
74
+ local name = state.name or DEFAULT_PLACE_NAME
75
+
76
+ if state.environment then
77
+ cmdr:SetPlaceName(string.format("%s:%s", name, state.environment))
78
+ else
79
+ cmdr:SetPlaceName(name)
80
+ end
81
+ end))
72
82
  end)
73
83
  end
74
84