Add ObjectValue.Value require tracer support

As a Roblox developer, it is currently too hard to …

Design a comfortable location structure for various systems, e.g. for publishing to the Creator Store or own use in a game, because you don’t have a variety of freedom due to issues.

The Issue

The Require Tracer (or module resolver) does not resolve ObjectValue.Value regardless if it points to a Folder or ModuleScript.


Additionally

Along with that require("@self/ObjectValue/Value") doesn’t even work, yet.

Nor does the Assistant understand it.

unless you don’t use ObjectValues

 

Example

I think of various use cases. Take these as rough examples, there’s infinite ways to do things in different ways, but that’s not the point.

Let’s say you create a ModuleScript that depends on another ModuleScript, and you want to send it to a friend.

Now, that friend maybe isn’t experienced in coding, nor likes to use too many third-party things.

I put my dependency in game.ReplicatedStorage.FolderA, but my friend doesn’t like this location.
So, they change the location, but the ModuleScript now errors, because the location wasn’t updated in the script.

However, my friend understands ObjectValue and they can make the ObjectValue point to the right ModuleScript (or it already comes with pointed to the right location, so they can move it freely). However, now they don’t get the autocomplete for the ModuleScript anymore.

 

If Roblox is able to address this issue, it would improve my development experience because …

image vs. image
image

Point to ModuleScripts without worrying about setting the path or not even that, you can also have them point to Folders. You only have to worry about waiting for the ObjectValue.Value.

You can already do that, but you don’t get any autocomplete for it.

 

More Examples

Besides from that, another thing we could look at is Roblox. Maybe, someone would understand this as well.

These ModuleScripts inside “Otter” do nothing but point to where “Signal” and “Collection” is at.

See like:

Also, these dependency ModuleScripts that point to the right Module Location, actually have to re-declare all the type exports as well.

1 Like