mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-25 15:16:07 +00:00
Implement Syncback to support converting Roblox files to a Rojo project (#937)
This is a very large commit. Consider checking the linked PR for more information.
This commit is contained in:
37
CHANGELOG.md
37
CHANGELOG.md
@@ -31,9 +31,46 @@ Making a new release? Simply add the new header with the version and date undern
|
||||
|
||||
## Unreleased
|
||||
|
||||
* A new command `rojo syncback` has been added. It can be used as `rojo syncback [path to project] --input [path to file]`. ([#937])
|
||||
This command takes a Roblox file and pulls Instances out of it and places them in the correct position in the provided project.
|
||||
Syncback is primarily controlled by the project file. Any Instances who are either referenced in the project file or a descendant
|
||||
of one that is will be placed in an appropriate location.
|
||||
|
||||
In addition, a new field has been added to project files, `syncbackRules` to control how it behaves:
|
||||
|
||||
```json
|
||||
{
|
||||
"syncbackRules": {
|
||||
"ignoreTrees": [
|
||||
"ServerStorage/ImportantSecrets",
|
||||
],
|
||||
"ignorePaths": [
|
||||
"src/ServerStorage/Secrets/*"
|
||||
],
|
||||
"ignoreProperties": {
|
||||
"BasePart": ["Color"]
|
||||
},
|
||||
"syncCurrentCamera": false,
|
||||
"syncUnscriptable": true,
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
A brief explanation of each field:
|
||||
|
||||
- `ignoreTrees` is a list of paths in the **roblox file** that should be ignored
|
||||
- `ignorePaths` is a list of paths in the **file system** that should be ignored
|
||||
- `ignoreProperties` is a list of properties that won't be synced back
|
||||
- `syncCurrentCamera` is a toggle for whether to sync back the Workspace's CurrentCamera. Defaults to `false`.
|
||||
- `syncUnscriptable` is a toggle for whether to sync back properties that cannot be set by the Roblox Studio plugin. Defaults to `true`.
|
||||
|
||||
If you are used to the `UpliftGames` version of this feature, there are a few notable differences:
|
||||
- `syncUnscriptable` defaults to `true` instead of `false`
|
||||
- `ignoreTrees` doesn't require the root of the project's name in it.
|
||||
* Fixed bugs and improved performance & UX for the script diff viewer ([#994])
|
||||
* Added support for `.jsonc` files for all JSON-related files (e.g. `.project.jsonc` and `.meta.jsonc`) to accompany JSONC support ([#1159])
|
||||
|
||||
[#937]: https://github.com/rojo-rbx/rojo/pull/937
|
||||
[#994]: https://github.com/rojo-rbx/rojo/pull/994
|
||||
[#1159]: https://github.com/rojo-rbx/rojo/pull/1159
|
||||
|
||||
|
||||
Reference in New Issue
Block a user