diff --git a/rojo-test/build-test-snapshots/end_to_end__tests__build__client_init.snap b/rojo-test/build-test-snapshots/end_to_end__tests__build__client_init.snap
index 9dc71e7e..9e4cbb04 100644
--- a/rojo-test/build-test-snapshots/end_to_end__tests__build__client_init.snap
+++ b/rojo-test/build-test-snapshots/end_to_end__tests__build__client_init.snap
@@ -3,9 +3,11 @@ source: tests/tests/build.rs
expression: contents
---
- -
+
-
client_init
+ 2
+ return "From folder/init.client.luau"
diff --git a/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_inner.snap b/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_inner.snap
index 4866596c..338493fd 100644
--- a/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_inner.snap
+++ b/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_inner.snap
@@ -11,11 +11,23 @@ expression: contents
src
+ -
+
+ outer.spec
+ -- This file should be included.
+
+
- -
+
-
subproject
+
-
+
+ inner
+ -- This file should be included.
+
+
diff --git a/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_nested.snap b/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_nested.snap
index 81366675..7d6b063d 100644
--- a/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_nested.snap
+++ b/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_nested.snap
@@ -7,5 +7,11 @@ expression: contents
ignore_glob_nested
+ -
+
+ include
+ -- This file must be present.
+
+
diff --git a/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_spec.snap b/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_spec.snap
index bc3bbd05..4d427f15 100644
--- a/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_spec.snap
+++ b/rojo-test/build-test-snapshots/end_to_end__tests__build__ignore_glob_spec.snap
@@ -7,5 +7,11 @@ expression: contents
ignore_glob_spec
+ -
+
+ shouldBeIncluded
+ -- this file should be present
+
+
diff --git a/rojo-test/build-test-snapshots/end_to_end__tests__build__init_with_children.snap b/rojo-test/build-test-snapshots/end_to_end__tests__build__init_with_children.snap
index 6c41eda2..09346fe4 100644
--- a/rojo-test/build-test-snapshots/end_to_end__tests__build__init_with_children.snap
+++ b/rojo-test/build-test-snapshots/end_to_end__tests__build__init_with_children.snap
@@ -3,9 +3,16 @@ source: tests/tests/build.rs
expression: contents
---
- -
+
-
init_with_children
+ -- init.lua
+
-
+
+ other
+ -- other.lua
+
+
diff --git a/rojo-test/build-test-snapshots/end_to_end__tests__build__module_in_folder.snap b/rojo-test/build-test-snapshots/end_to_end__tests__build__module_in_folder.snap
index 4e3b1448..91a79007 100644
--- a/rojo-test/build-test-snapshots/end_to_end__tests__build__module_in_folder.snap
+++ b/rojo-test/build-test-snapshots/end_to_end__tests__build__module_in_folder.snap
@@ -7,5 +7,11 @@ expression: contents
module_in_folder
+ -
+
+ aModule
+ -- This is a Lua module
+
+
diff --git a/rojo-test/build-test-snapshots/end_to_end__tests__build__module_init.snap b/rojo-test/build-test-snapshots/end_to_end__tests__build__module_init.snap
index 1f4c6190..916a4f2a 100644
--- a/rojo-test/build-test-snapshots/end_to_end__tests__build__module_init.snap
+++ b/rojo-test/build-test-snapshots/end_to_end__tests__build__module_init.snap
@@ -3,9 +3,10 @@ source: tests/tests/build.rs
expression: contents
---
- -
+
-
module_init
+ return "From folder/init.luau"
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__edit_init_all.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__edit_init_all.snap
index 4548d5dc..22b21e0a 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__edit_init_all.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__edit_init_all.snap
@@ -5,12 +5,14 @@ expression: "read_response.intern_and_redact(&mut redactions, root_id)"
instances:
id-2:
Children: []
- ClassName: Folder
+ ClassName: ModuleScript
Id: id-2
Metadata:
ignoreUnknownInstances: false
Name: edit_init
Parent: "00000000000000000000000000000000"
- Properties: {}
+ Properties:
+ Source:
+ String: "-- Original contents"
messageCursor: 0
sessionId: id-1
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__meshpart_with_id_all.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__meshpart_with_id_all.snap
index e0e2fbb6..cd654f22 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__meshpart_with_id_all.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__meshpart_with_id_all.snap
@@ -4,13 +4,53 @@ expression: "read_response.intern_and_redact(&mut redactions, root_id)"
---
instances:
id-2:
- Children: []
- ClassName: Folder
+ Children:
+ - id-3
+ ClassName: DataModel
Id: id-2
Metadata:
- ignoreUnknownInstances: false
- Name: empty_folder
+ ignoreUnknownInstances: true
+ Name: meshpart
Parent: "00000000000000000000000000000000"
Properties: {}
+ id-3:
+ Children:
+ - id-4
+ - id-5
+ ClassName: Workspace
+ Id: id-3
+ Metadata:
+ ignoreUnknownInstances: true
+ Name: Workspace
+ Parent: id-2
+ Properties:
+ NeedsPivotMigration:
+ Bool: false
+ id-4:
+ Children: []
+ ClassName: ObjectValue
+ Id: id-4
+ Metadata:
+ ignoreUnknownInstances: true
+ Name: ObjectValue
+ Parent: id-3
+ Properties:
+ Attributes:
+ Attributes: {}
+ Value:
+ Ref: id-5
+ id-5:
+ Children: []
+ ClassName: MeshPart
+ Id: id-5
+ Metadata:
+ ignoreUnknownInstances: true
+ Name: Sword
+ Parent: id-3
+ Properties:
+ MeshId:
+ ContentId: "rbxasset://fonts/sword.mesh"
+ TextureID:
+ ContentId: "rbxasset://textures/SwordTexture.png"
messageCursor: 0
sessionId: id-1
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__meshpart_with_id_info.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__meshpart_with_id_info.snap
index f484c766..15867978 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__meshpart_with_id_info.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__meshpart_with_id_info.snap
@@ -2,7 +2,7 @@
source: tests/tests/serve.rs
expression: redactions.redacted_yaml(&info)
---
-projectName: empty_folder
+projectName: meshpart
protocolVersion: 5
rootInstanceId: id-2
serverVersion: "[server-version]"
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__move_folder_of_stuff_all.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__move_folder_of_stuff_all.snap
index 4548d5dc..08cc4e31 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__move_folder_of_stuff_all.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__move_folder_of_stuff_all.snap
@@ -9,7 +9,7 @@ instances:
Id: id-2
Metadata:
ignoreUnknownInstances: false
- Name: edit_init
+ Name: move_folder_of_stuff
Parent: "00000000000000000000000000000000"
Properties: {}
messageCursor: 0
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__move_folder_of_stuff_info.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__move_folder_of_stuff_info.snap
index 74bd1bdf..e0602de4 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__move_folder_of_stuff_info.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__move_folder_of_stuff_info.snap
@@ -2,7 +2,7 @@
source: tests/tests/serve.rs
expression: redactions.redacted_yaml(info)
---
-projectName: edit_init
+projectName: move_folder_of_stuff
protocolVersion: 5
rootInstanceId: id-2
serverVersion: "[server-version]"
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__ref_properties_remove_all.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__ref_properties_remove_all.snap
index 1acb38e8..c40cd6ca 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__ref_properties_remove_all.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__ref_properties_remove_all.snap
@@ -3,114 +3,40 @@ source: tests/tests/serve.rs
expression: "read_response.intern_and_redact(&mut redactions, root_id)"
---
instances:
- id-10:
+ id-2:
+ Children:
+ - id-3
+ - id-4
+ ClassName: Folder
+ Id: id-2
+ Metadata:
+ ignoreUnknownInstances: false
+ Name: ref_properties_remove
+ Parent: "00000000000000000000000000000000"
+ Properties: {}
+ id-3:
Children: []
ClassName: ObjectValue
- Id: id-10
+ Id: id-3
Metadata:
- ignoreUnknownInstances: true
- Name: ProjectPointer
- Parent: id-9
+ ignoreUnknownInstances: false
+ Name: pointer
+ Parent: id-2
Properties:
Attributes:
Attributes: {}
Value:
- Ref: id-9
- id-2:
- Children:
- - id-3
- ClassName: DataModel
- Id: id-2
- Metadata:
- ignoreUnknownInstances: true
- Name: ref_properties
- Parent: "00000000000000000000000000000000"
- Properties: {}
- id-3:
- Children:
- - id-4
- - id-5
- - id-7
- - id-9
- ClassName: Workspace
- Id: id-3
- Metadata:
- ignoreUnknownInstances: true
- Name: Workspace
- Parent: id-2
- Properties:
- NeedsPivotMigration:
- Bool: false
+ Ref: id-4
id-4:
Children: []
ClassName: ObjectValue
Id: id-4
Metadata:
- ignoreUnknownInstances: true
- Name: CrossFormatPointer
- Parent: id-3
+ ignoreUnknownInstances: false
+ Name: target
+ Parent: id-2
Properties:
Attributes:
Attributes: {}
- Value:
- Ref: id-5
- id-5:
- Children:
- - id-6
- ClassName: Folder
- Id: id-5
- Metadata:
- ignoreUnknownInstances: false
- Name: FolderTarget
- Parent: id-3
- Properties: {}
- id-6:
- Children: []
- ClassName: ObjectValue
- Id: id-6
- Metadata:
- ignoreUnknownInstances: false
- Name: FolderPointer
- Parent: id-5
- Properties:
- Attributes:
- Attributes: {}
- Value:
- Ref: id-5
- id-7:
- Children:
- - id-8
- ClassName: Folder
- Id: id-7
- Metadata:
- ignoreUnknownInstances: false
- Name: ModelTarget
- Parent: id-3
- Properties: {}
- id-8:
- Children: []
- ClassName: Model
- Id: id-8
- Metadata:
- ignoreUnknownInstances: false
- Name: ModelPointer
- Parent: id-7
- Properties:
- Attributes:
- Attributes: {}
- NeedsPivotMigration:
- Bool: false
- PrimaryPart:
- Ref: id-7
- id-9:
- Children:
- - id-10
- ClassName: Folder
- Id: id-9
- Metadata:
- ignoreUnknownInstances: true
- Name: ProjectTarget
- Parent: id-3
- Properties: {}
messageCursor: 0
sessionId: id-1
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__ref_properties_remove_info.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__ref_properties_remove_info.snap
index 22534808..34441dd8 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__ref_properties_remove_info.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__ref_properties_remove_info.snap
@@ -2,7 +2,7 @@
source: tests/tests/serve.rs
expression: redactions.redacted_yaml(info)
---
-projectName: ref_properties
+projectName: ref_properties_remove
protocolVersion: 5
rootInstanceId: id-2
serverVersion: "[server-version]"
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__scripts_all.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__scripts_all.snap
index 83f6380a..2671f94b 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__scripts_all.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__scripts_all.snap
@@ -4,7 +4,9 @@ expression: "read_response.intern_and_redact(&mut redactions, root_id)"
---
instances:
id-2:
- Children: []
+ Children:
+ - id-3
+ - id-4
ClassName: Folder
Id: id-2
Metadata:
@@ -12,5 +14,29 @@ instances:
Name: scripts
Parent: "00000000000000000000000000000000"
Properties: {}
+ id-3:
+ Children: []
+ ClassName: Script
+ Id: id-3
+ Metadata:
+ ignoreUnknownInstances: false
+ Name: bar
+ Parent: id-2
+ Properties:
+ RunContext:
+ Enum: 1
+ Source:
+ String: "-- Hello, from bar!"
+ id-4:
+ Children: []
+ ClassName: ModuleScript
+ Id: id-4
+ Metadata:
+ ignoreUnknownInstances: false
+ Name: foo
+ Parent: id-2
+ Properties:
+ Source:
+ String: "-- Hello, from foo!"
messageCursor: 0
sessionId: id-1
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__sync_rule_alone_all.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__sync_rule_alone_all.snap
index 83f6380a..79c94d6e 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__sync_rule_alone_all.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__sync_rule_alone_all.snap
@@ -4,13 +4,25 @@ expression: "read_response.intern_and_redact(&mut redactions, root_id)"
---
instances:
id-2:
- Children: []
+ Children:
+ - id-3
ClassName: Folder
Id: id-2
Metadata:
ignoreUnknownInstances: false
- Name: scripts
+ Name: sync_rule_alone
Parent: "00000000000000000000000000000000"
Properties: {}
+ id-3:
+ Children: []
+ ClassName: StringValue
+ Id: id-3
+ Metadata:
+ ignoreUnknownInstances: false
+ Name: foo
+ Parent: id-2
+ Properties:
+ Value:
+ String: "Hello, world!"
messageCursor: 0
sessionId: id-1
diff --git a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__sync_rule_alone_info.snap b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__sync_rule_alone_info.snap
index 6a23eb3e..df3b55c1 100644
--- a/rojo-test/serve-test-snapshots/end_to_end__tests__serve__sync_rule_alone_info.snap
+++ b/rojo-test/serve-test-snapshots/end_to_end__tests__serve__sync_rule_alone_info.snap
@@ -2,7 +2,7 @@
source: tests/tests/serve.rs
expression: redactions.redacted_yaml(info)
---
-projectName: scripts
+projectName: sync_rule_alone
protocolVersion: 5
rootInstanceId: id-2
serverVersion: "[server-version]"
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__duplicate_rojo_id-container.model.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__duplicate_rojo_id-container.model.json5.snap
new file mode 100644
index 00000000..ccba2a61
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__duplicate_rojo_id-container.model.json5.snap
@@ -0,0 +1,25 @@
+---
+source: tests/tests/syncback.rs
+expression: container.model.json5
+---
+{
+ children: [
+ {
+ attributes: {
+ Rojo_Id: "value_1",
+ Rojo_Ref_Value: "ReplicatedStorage/container/value_1",
+ },
+ className: "ObjectValue",
+ name: "value_1",
+ },
+ {
+ attributes: {
+ Rojo_Id: "value_1",
+ Rojo_Ref_Value: "ReplicatedStorage/container/value_2",
+ },
+ className: "ObjectValue",
+ name: "value_2",
+ },
+ ],
+ className: "Folder",
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__dir_with_meta__init.meta.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__dir_with_meta__init.meta.json5.snap
index 850d730a..b35cba30 100644
--- a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__dir_with_meta__init.meta.json5.snap
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__dir_with_meta__init.meta.json5.snap
@@ -3,10 +3,10 @@ source: tests/tests/syncback.rs
expression: src/dir_with_meta/init.meta.json5
---
{
+ className: "Configuration",
properties: {
Tags: [
"This tag on dir_with_meta",
],
},
- className: "Configuration",
}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__model_json.model.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__model_json.model.json5.snap
new file mode 100644
index 00000000..a7a22849
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__model_json.model.json5.snap
@@ -0,0 +1,10 @@
+---
+source: tests/tests/syncback.rs
+expression: src/model_json.model.json5
+---
+{
+ className: "StringValue",
+ properties: {
+ Value: "This text is model_json",
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__project_json.project.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__project_json.project.json5.snap
new file mode 100644
index 00000000..703b6d94
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__json_middlewares-src__project_json.project.json5.snap
@@ -0,0 +1,17 @@
+---
+source: tests/tests/syncback.rs
+expression: src/project_json.project.json5
+---
+{
+ name: "project_json",
+ tree: {
+ $className: "Color3Value",
+ $properties: {
+ Value: [
+ 1337,
+ -1337,
+ 1337,
+ ],
+ },
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__nested_projects-nested.project.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__nested_projects-nested.project.json5.snap
new file mode 100644
index 00000000..e83b07c8
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__nested_projects-nested.project.json5.snap
@@ -0,0 +1,19 @@
+---
+source: tests/tests/syncback.rs
+expression: nested.project.json5
+---
+{
+ name: "Nested",
+ tree: {
+ $className: "Configuration",
+ BoolValue: {
+ $className: "BoolValue",
+ $properties: {
+ Value: true,
+ },
+ },
+ StringValue: {
+ $path: "string_value.txt",
+ },
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__project_reserialize-property_mismatch.project.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__project_reserialize-property_mismatch.project.json5.snap
new file mode 100644
index 00000000..8f3cfa7a
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__project_reserialize-property_mismatch.project.json5.snap
@@ -0,0 +1,15 @@
+---
+source: tests/tests/syncback.rs
+expression: property_mismatch.project.json5
+---
+{
+ name: "property_mismatch",
+ tree: {
+ $className: "BrickColorValue",
+ $properties: {
+ Value: {
+ BrickColor: 345,
+ },
+ },
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties-src__pointer.model.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties-src__pointer.model.json5.snap
new file mode 100644
index 00000000..14a5988e
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties-src__pointer.model.json5.snap
@@ -0,0 +1,10 @@
+---
+source: tests/tests/syncback.rs
+expression: src/pointer.model.json5
+---
+{
+ attributes: {
+ Rojo_Ref_Value: "ReplicatedStorage/target",
+ },
+ className: "ObjectValue",
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties-src__target.model.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties-src__target.model.json5.snap
new file mode 100644
index 00000000..ed24249b
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties-src__target.model.json5.snap
@@ -0,0 +1,10 @@
+---
+source: tests/tests/syncback.rs
+expression: src/target.model.json5
+---
+{
+ attributes: {
+ Rojo_Id: "test referent id",
+ },
+ className: "Folder",
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties_conflict-src__Pointer_2.model.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties_conflict-src__Pointer_2.model.json5.snap
new file mode 100644
index 00000000..7715f6d8
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties_conflict-src__Pointer_2.model.json5.snap
@@ -0,0 +1,10 @@
+---
+source: tests/tests/syncback.rs
+expression: src/Pointer_2.model.json5
+---
+{
+ attributes: {
+ Rojo_Ref_Value: "ReplicatedStorage/Target_2",
+ },
+ className: "ObjectValue",
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties_conflict-src__Target_2.model.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties_conflict-src__Target_2.model.json5.snap
new file mode 100644
index 00000000..bc0a9ea8
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__ref_properties_conflict-src__Target_2.model.json5.snap
@@ -0,0 +1,10 @@
+---
+source: tests/tests/syncback.rs
+expression: src/Target_2.model.json5
+---
+{
+ attributes: {
+ Rojo_Id: "identical ID",
+ },
+ className: "Folder",
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__respect_old_middleware-default.project.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__respect_old_middleware-default.project.json5.snap
new file mode 100644
index 00000000..ac1cf877
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__respect_old_middleware-default.project.json5.snap
@@ -0,0 +1,16 @@
+---
+source: tests/tests/syncback.rs
+expression: default.project.json5
+---
+{
+ name: "respect_old_middleware",
+ tree: {
+ $path: "src",
+ project_node: {
+ $className: "BoolValue",
+ $properties: {
+ Value: true,
+ },
+ },
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__respect_old_middleware-src__model_json.model.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__respect_old_middleware-src__model_json.model.json5.snap
index e5d5e3fd..9fde2d1c 100644
--- a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__respect_old_middleware-src__model_json.model.json5.snap
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__respect_old_middleware-src__model_json.model.json5.snap
@@ -5,6 +5,6 @@ expression: src/model_json.model.json5
{
className: "StringValue",
properties: {
- Value: "This should be a .model.json5 file",
+ Value: "This should be a .model.json file",
},
}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-default.project.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-default.project.json5.snap
new file mode 100644
index 00000000..7ac993d9
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-default.project.json5.snap
@@ -0,0 +1,20 @@
+---
+source: tests/tests/syncback.rs
+expression: default.project.json5
+---
+{
+ $schema: "rojo/project-schema",
+ name: "schema_roundtrip",
+ tree: {
+ $className: "Folder",
+ src: {
+ $path: "src",
+ },
+ trigger_reserialization: {
+ $className: "BoolValue",
+ $properties: {
+ Value: true,
+ },
+ },
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json5.snap
new file mode 100644
index 00000000..96631d86
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__adjacent.meta.json5.snap
@@ -0,0 +1,10 @@
+---
+source: tests/tests/syncback.rs
+expression: src/adjacent.meta.json5
+---
+{
+ $schema: "rojo/adjacent-meta",
+ attributes: {
+ trigger_reserialization: true,
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json5.snap
new file mode 100644
index 00000000..93f64b68
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__init__init.meta.json5.snap
@@ -0,0 +1,10 @@
+---
+source: tests/tests/syncback.rs
+expression: src/init/init.meta.json5
+---
+{
+ $schema: "rojo/init-meta",
+ attributes: {
+ trigger_reserialization: true,
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__model.model.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__model.model.json5.snap
new file mode 100644
index 00000000..573f91dd
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__schema_roundtrip-src__model.model.json5.snap
@@ -0,0 +1,8 @@
+---
+source: tests/tests/syncback.rs
+expression: src/model.model.json5
+---
+{
+ $schema: "rojo/model.json",
+ className: "BoolValue",
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__string_value_project-default.project.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__string_value_project-default.project.json5.snap
new file mode 100644
index 00000000..950f0e5e
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__string_value_project-default.project.json5.snap
@@ -0,0 +1,22 @@
+---
+source: tests/tests/syncback.rs
+expression: default.project.json5
+---
+{
+ name: "string_value_project",
+ tree: {
+ $className: "Folder",
+ inside_project_file: {
+ $className: "StringValue",
+ $properties: {
+ Value: "imgettingverytiredofwritingthesetests2",
+ },
+ },
+ on_file_system: {
+ $attributes: {
+ imgettingverytiredofwritingthesetests: "person299 was ahead of his time",
+ },
+ $path: "string_value.txt",
+ },
+ },
+}
diff --git a/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__unscriptable_properties-default.project.json5.snap b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__unscriptable_properties-default.project.json5.snap
new file mode 100644
index 00000000..0d62dded
--- /dev/null
+++ b/rojo-test/syncback-test-snapshots/end_to_end__tests__syncback__unscriptable_properties-default.project.json5.snap
@@ -0,0 +1,18 @@
+---
+source: tests/tests/syncback.rs
+expression: default.project.json5
+---
+{
+ name: "unscriptable_properties",
+ syncbackRules: {
+ syncUnscriptable: true,
+ },
+ tree: {
+ $className: "BinaryStringValue",
+ $properties: {
+ Value: {
+ BinaryString: "Rojo/is/cool",
+ },
+ },
+ },
+}