diff --git a/Cargo.lock b/Cargo.lock
index 5916e7857..f859dc7d8 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -420,7 +420,7 @@ checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -880,7 +880,7 @@ dependencies = [
"heck 0.4.1",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -1352,7 +1352,7 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -1396,7 +1396,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
dependencies = [
"darling_core 0.20.3",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -1468,7 +1468,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -1702,7 +1702,7 @@ dependencies = [
"darling 0.20.3",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2018,7 +2018,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -2743,7 +2743,7 @@ dependencies = [
"serde_json",
"serde_yaml 0.8.26",
"structopt",
- "syn 1.0.109",
+ "syn 2.0.39",
"temp-dir",
"thiserror",
"time 0.3.23",
@@ -4762,7 +4762,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -5051,7 +5051,7 @@ dependencies = [
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -5082,7 +5082,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -5233,12 +5233,12 @@ dependencies = [
[[package]]
name = "prettyplease"
-version = "0.1.25"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
+checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d"
dependencies = [
"proc-macro2",
- "syn 1.0.109",
+ "syn 2.0.39",
]
[[package]]
@@ -6376,7 +6376,7 @@ checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -6830,9 +6830,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.38"
+version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
@@ -7076,7 +7076,7 @@ checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -7250,7 +7250,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -7497,7 +7497,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
@@ -8143,7 +8143,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
"wasm-bindgen-shared",
]
@@ -8177,7 +8177,7 @@ checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -8863,7 +8863,7 @@ checksum = "a25f293fe55f0a48e7010d65552bb63704f6ceb55a1a385da10d41d8f78e4a3d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.38",
+ "syn 2.0.39",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index 2b43f200e..47d947c50 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -18,7 +18,7 @@ name = "holochain_scaffolding_cli"
path = "src/lib.rs"
[dependencies]
-holochain = { features=["test_utils"], version = "0.2.1"}
+holochain = { features = ["test_utils"], version = "0.2.1" }
holochain_types = "0.2.1"
holochain_util = { features = ["backtrace"], version = "0.2.1" }
mr_bundle = "0.2.1"
@@ -41,10 +41,10 @@ time = "=0.3.23"
tokio = { version = "1.11", features = ["full"] }
toml = "0.5.9"
convert_case = "0.6.0"
-syn = { version = "1.0.102", features = ["full", "extra-traits"] }
+syn = { version = "2.0.39", features = ["full", "extra-traits"] }
quote = "1.0.21"
pluralizer = "0.3.1"
-prettyplease = "0.1.21"
+prettyplease = "0.2.15"
proc-macro2 = "1"
handlebars = "4.3.5"
include_dir = "0.7.3"
diff --git a/run_test.sh b/run_test.sh
index d0870eeb9..2e7ee45e7 100755
--- a/run_test.sh
+++ b/run_test.sh
@@ -47,6 +47,7 @@ set -e
npm i
npm run build -w ui
npm t
+npm run package
"
rm -rf /tmp/forum-vue
@@ -78,6 +79,7 @@ set -e
npm i
npm run build -w ui
npm t
+npm run package
"
rm -rf /tmp/forum-lit
@@ -111,6 +113,7 @@ npm run build -w ui
npm run format -w ui
npm run lint -w ui
npm t
+npm run package
"
diff --git a/src/scaffold/collection/coordinator.rs b/src/scaffold/collection/coordinator.rs
index 2a83565ef..b920d8f0d 100644
--- a/src/scaffold/collection/coordinator.rs
+++ b/src/scaffold/collection/coordinator.rs
@@ -25,7 +25,10 @@ fn global_collection_getter(
link_type_name: &String,
entry_type_reference: &EntryTypeReference,
) -> String {
- let snake_to_hash_type = entry_type_reference.hash_type().to_string().to_case(Case::Snake);
+ let snake_to_hash_type = entry_type_reference
+ .hash_type()
+ .to_string()
+ .to_case(Case::Snake);
let snake_collection_name = collection_name.to_case(Case::Snake);
format!(
@@ -66,7 +69,10 @@ fn by_author_collection_getter(
link_type_name: &String,
entry_type_reference: &EntryTypeReference,
) -> String {
- let snake_to_hash_type = entry_type_reference.hash_type().to_string().to_case(Case::Snake);
+ let snake_to_hash_type = entry_type_reference
+ .hash_type()
+ .to_string()
+ .to_case(Case::Snake);
format!(
r#"use hdk::prelude::*;
@@ -184,7 +190,7 @@ fn add_create_link_in_create_function(
if item_fn
.attrs
.iter()
- .any(|a| a.path.segments.iter().any(|s| s.ident.eq("hdk_extern")))
+ .any(|a| a.path().segments.iter().any(|s| s.ident.eq("hdk_extern")))
&& item_fn.sig.ident.eq(&fn_name.sig.ident)
{
for new_stmt in stmts.clone() {
diff --git a/src/scaffold/entry_type/coordinator.rs b/src/scaffold/entry_type/coordinator.rs
index 1ad372286..5acdffc34 100644
--- a/src/scaffold/entry_type/coordinator.rs
+++ b/src/scaffold/entry_type/coordinator.rs
@@ -14,62 +14,100 @@ use crate::{
use super::{
crud::Crud,
- definitions::{Cardinality, EntryDefinition},
+ definitions::{Cardinality, EntryDefinition, FieldType},
integrity::find_ending_match_expr_in_block,
};
pub fn no_update_read_handler(entry_def: &EntryDefinition) -> String {
let hash_type = entry_def.referenceable().hash_type().to_string();
- let snake_entry_def = entry_def.name.to_case(Case::Snake);
-
- format!(
- r#"#[hdk_extern]
-pub fn get_{snake_entry_def}({snake_entry_def}_hash: {hash_type}) -> ExternResult