Currently, flamework uses a very hard coded method for generating internal IDs, which attempts to serialize the package name and it's output path relative to the package directory (e.g out/my/file.ts@MyClass)
This is not very flexible, and has the following issues/limitations
you cannot reuse the output of flamework anywhere, as it has to be under a package, with a flamework.build and with an out directory.
Recently, I've improved how flamework finds build infos firets/rbxts-transformer-flamework@3a18957b06f68524e50839e6b19e817d292291d7 which will allow me to put the flamework.build under the out directory, which will then allow precompiled flamework dependencies to be put anywhere and be successfully resolved and usable as long as a flamework.build is included. The internal id's path can then be calculated relative to the nearest flamework.build
This should remove unnecessary limitations, fewer hard coded aspects, and account for more use cases.
Roblox-ts deletes flamework.build before it can be read, which means this is unfortunately not possible, and would lead to undefined behavior in the transformer.
Currently, flamework uses a very hard coded method for generating internal IDs, which attempts to serialize the package name and it's output path relative to the package directory (e.g out/my/file.ts@MyClass)
This is not very flexible, and has the following issues/limitations
flamework.build
must be put in the project directory, which means to recompile you have to deleteflamework.build
instead of just the out directory (fixed via separate solution https://github.com/FireTS/rbxts-transformer-flamework/commit/298df437acb8d4ec65cff50278cef8018ab296cc)flamework.build
and with anout
directory.Recently, I've improved how flamework finds build infos firets/rbxts-transformer-flamework@3a18957b06f68524e50839e6b19e817d292291d7 which will allow me to put the
flamework.build
under the out directory, which will then allow precompiled flamework dependencies to be put anywhere and be successfully resolved and usable as long as aflamework.build
is included. The internal id's path can then be calculated relative to the nearestflamework.build
This should remove unnecessary limitations, fewer hard coded aspects, and account for more use cases.