rbxts-flamework / core

Flamework is an extensible game framework. It requires typescript and offers many useful features.
MIT License
101 stars 8 forks source link

Redesign build info #3

Closed Fireboltofdeath closed 3 years ago

Fireboltofdeath commented 3 years ago

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

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.

Fireboltofdeath commented 3 years ago

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.