Codify - Convert anything to Luau, TypeScript, Fusion, React, Vide, Rojo

Is support for Rojo’s *.model.json format planned for v3? It’d be really handy if it were included.

Yes, it is. Codify3 will support React, Fusion, JSX, vanilla Luau, TypeScript and Rojo out of the box.

1 Like

Very useful if you think, but I think it’s (very) high-priced to be just a plugin that converts objects into Instance.new() (But yeah, that’d def save time for most devs)

Also, feels weird you call ‘React’ the roblox’s ‘Roact’, even if in their page it says it’s based off React

Some questions I have are:

  • How did you get Instance metadata from just s3.amazonaws.com? Is that part of the code closed source or you just use HttpService:GetAsync() What do you input and output? its open sourced bc its .rbxm

Even after this, I still consider it useful for fast copy-pasting into scripts.

(still you should be able to remove ‘return’ at the start of the code, also the plugin costs more than 2k robux now.)

This #help-and-feedback:scripting-support topic I made in a previous account of mine should help you with that. or you can just view the source code yourself, it’s available in the github repository, but here is the part he means

1 Like

Yeah, I replied before noticing it was a .rbxm you could download.

1 Like

I believe that $9.99 USD (which is the equivalent of the current Robux price) is very reasonable for the time and effort that has gone into crafting this plugin. @Elttob has produced a lot of content covering plugin pricing and the new Creator Store recently, and I’d recommended checking out his YouTube channel.

There is now a free version of Codify that provides a taster of the paid experience for those that are not yet completely sold on the price. Please see the OP for more details. The free edition will also receive the Codify3 update, but will continue to be limited in it’s functionality.

This is primarily because of the release of react-lua which has an almost identical API to React. I recommend using the React17 port over Roact for new work.

@GameInspectors almost had it. There’s actually an extra step involved in my implementation that ensured the API dump is correct for your version of Studio, not just fetching the latest dump. This is done by downloading the deploy history and pulling the version hash for your version number.

You can use the following, powerful, open source library to download and work with the API dump in your own projects:

I will work this into the plugin settings as part of the Codify3 update.

5 Likes

I know, just saying because how devaluated is robux compared to actual money.

react-lua was a thing? didnt notice since roact was already a thing. but what’s the difference? it’s a reimplementation of a newer version?

oh wait in the page it says lol (wth why cant i use React.mount()?)

1 Like

There is no React.mount in React 17. You have to create a root and then render it. Refer to the official React docs for more information. The API is practically identical.

i thought this was like roact lol.
atleast this looks better than typical roact stuff.

You can always use RoactCompat to migrate over from Roact to React.

https://jsdotlua.github.io/react-lua/api-reference/roact-compat/

I would suggest starting a new thread, DM or joining one of the community servers if you’d like to discuss further or need help with React. This thread is reserved for Codify. Thanks.

3 Likes

Nah, I don’t have more questions.

this works for roact anyways.

I have something to request:
In the ‘Fusion’ framework, there should be the option to instead of using

return New "ScreenGui" {
  Name="Main",
  [Children]={
    -- children here
  }
}
  • Be able to change if ‘Fusion’ is mentioned constantly (Fusion.New, Fusion.Children, etc.}
  • Be able to use parentheses New("ScreenGui")({Name="Main"})
    So it’d look like this:
return Fusion.New("ScreenGui")({
  Name="Main",
  [Fusion.Children]={
    -- children here
  }
})

That’d be really useful for developers using Fusion.

(and yes, I know you will add the option to remove ‘return’ from Fusion and React-lua frameworks.)

1 Like

This is already available in the settings tab. Select Fusion from the framework drop-down and change the Create Method and Children Key fields to “Fusion.New” and “Fusion.Children” respectively.

I’m reworking the UI to make it clearer than some options are specific to frameworks.

I’ll take this on board. If you’re developing outside of Roblox (i.e. on your filesystem with a tool like Rojo to sync and build), you can use StyLua to format your code. This will add the brackets around function calls.

Didnt notice settings were for each framework.

Hey, does the v3 already release or not? Thank you!

v3 is still in development at the moment. I don’t get an awful lot of time to work on it, but I’ll post an update here when it’s released.

Anyone who has already purchased Codify will receive the v3 update for free; however, Codify will be closed (or partially closed) source starting from v3.

1 Like

Version 2.4.3

Get on Roblox Get on Itch.io

Demo version →

This is a small patch. See details below:

  • The JSX framework is now visible by default. It can be disabled from “Settings → Experimental → TypeScript JSX”.
  • Changed the UI font from Gotham to Montserrat in response to the deprecation of Gotham: Introducing Builder Font + Deprecating Gotham and Arial
  • Replace the About panel with a new Diagnostics panel in the Settings tab. This will attempt to show internal data relating to your license, cached API dump data, and general plugin information.
1 Like

Any reason why Services aren’t included?

You can’t create a service. Do you have a specific scenario where you’d need to be able to Codify a service?

3 Likes