@trustless-work/blocks 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/index.js +95 -80
  2. package/package.json +1 -1
package/bin/index.js CHANGED
@@ -682,60 +682,49 @@ function copySharedDetailsInto(targetRelativeDir, { uiBase } = {}) {
682
682
  }
683
683
  }
684
684
 
685
- function copySharedRoleSignerHooks() {
686
- const srcDir = path.join(TEMPLATES_DIR, "tanstak");
685
+ function copySharedRoleSignerHooks(kind = "both") {
687
686
  const outRoot = path.join(PROJECT_ROOT, "src", "components", "tw-blocks");
688
687
 
689
- const files = [
690
- {
691
- shared: "useEscrowsByRole.shared.ts",
692
- targets: [
693
- path.join(
694
- outRoot,
695
- "escrows",
696
- "escrows-by-role",
697
- "cards",
698
- "useEsrowsByRole.ts"
699
- ),
700
- path.join(
701
- outRoot,
702
- "escrows",
703
- "escrows-by-role",
704
- "table",
705
- "useEsrowsByRole.ts"
706
- ),
707
- ],
708
- },
709
- {
710
- shared: "useEscrowsBySigner.shared.ts",
711
- targets: [
712
- path.join(
713
- outRoot,
714
- "escrows",
715
- "escrows-by-signer",
716
- "cards",
717
- "useEsrowsBySigner.ts"
718
- ),
719
- path.join(
720
- outRoot,
721
- "escrows",
722
- "escrows-by-signer",
723
- "table",
724
- "useEsrowsBySigner.ts"
725
- ),
726
- ],
727
- },
728
- ];
688
+ const mappings = [];
689
+ if (kind === "both" || kind === "role") {
690
+ mappings.push({
691
+ src: path.join(
692
+ TEMPLATES_DIR,
693
+ "escrows",
694
+ "escrows-by-role",
695
+ "useEscrowsByRole.shared.ts"
696
+ ),
697
+ dest: path.join(
698
+ outRoot,
699
+ "escrows",
700
+ "escrows-by-role",
701
+ "useEscrowsByRole.shared.ts"
702
+ ),
703
+ });
704
+ }
705
+ if (kind === "both" || kind === "signer") {
706
+ mappings.push({
707
+ src: path.join(
708
+ TEMPLATES_DIR,
709
+ "escrows",
710
+ "escrows-by-signer",
711
+ "useEscrowsBySigner.shared.ts"
712
+ ),
713
+ dest: path.join(
714
+ outRoot,
715
+ "escrows",
716
+ "escrows-by-signer",
717
+ "useEscrowsBySigner.shared.ts"
718
+ ),
719
+ });
720
+ }
729
721
 
730
- for (const group of files) {
731
- const src = path.join(srcDir, group.shared);
722
+ for (const { src, dest } of mappings) {
732
723
  if (!fs.existsSync(src)) continue;
733
724
  const raw = fs.readFileSync(src, "utf8");
734
- for (const dest of group.targets) {
735
- fs.mkdirSync(path.dirname(dest), { recursive: true });
736
- fs.writeFileSync(dest, raw, "utf8");
737
- console.log(`✅ ${path.relative(PROJECT_ROOT, dest)} created`);
738
- }
725
+ fs.mkdirSync(path.dirname(dest), { recursive: true });
726
+ fs.writeFileSync(dest, raw, "utf8");
727
+ console.log(`✅ ${path.relative(PROJECT_ROOT, dest)} created`);
739
728
  }
740
729
  }
741
730
 
@@ -1025,7 +1014,7 @@ if (args[0] === "init") {
1025
1014
  copySharedDetailsInto("escrows/escrows-by-signer/details", {
1026
1015
  uiBase: flags.uiBase,
1027
1016
  });
1028
- copySharedRoleSignerHooks();
1017
+ copySharedRoleSignerHooks("both");
1029
1018
  }
1030
1019
  if (
1031
1020
  args[1] === "escrows/escrows-by-role" ||
@@ -1034,7 +1023,7 @@ if (args[0] === "init") {
1034
1023
  copySharedDetailsInto("escrows/escrows-by-role/details", {
1035
1024
  uiBase: flags.uiBase,
1036
1025
  });
1037
- copySharedRoleSignerHooks();
1026
+ copySharedRoleSignerHooks("role");
1038
1027
  }
1039
1028
  if (
1040
1029
  args[1] === "escrows/escrows-by-signer" ||
@@ -1043,7 +1032,7 @@ if (args[0] === "init") {
1043
1032
  copySharedDetailsInto("escrows/escrows-by-signer/details", {
1044
1033
  uiBase: flags.uiBase,
1045
1034
  });
1046
- copySharedRoleSignerHooks();
1035
+ copySharedRoleSignerHooks("signer");
1047
1036
  }
1048
1037
  } catch (e) {
1049
1038
  console.warn("⚠️ Failed to copy shared details:", e?.message || e);
@@ -1052,72 +1041,98 @@ if (args[0] === "init") {
1052
1041
  console.log(`
1053
1042
 
1054
1043
  Usage:
1055
-
1044
+
1056
1045
  trustless-work init
1057
1046
  trustless-work add <template> [--install]
1058
1047
 
1059
1048
  Options:
1060
-
1049
+
1061
1050
  --ui-base <path> Base import path to your shadcn/ui components (default: "@/components/ui")
1062
1051
  --install, -i Also install dependencies (normally use 'init' once instead)
1063
-
1052
+
1064
1053
  Examples:
1065
-
1054
+
1066
1055
  --- Get started ---
1067
1056
  trustless-work init
1068
-
1057
+
1069
1058
  --- Providers ---
1070
1059
  trustless-work add providers
1071
-
1060
+
1072
1061
  --- Wallet-kit ---
1073
1062
  trustless-work add wallet-kit
1074
-
1063
+
1075
1064
  --- Handle-errors ---
1076
1065
  trustless-work add handle-errors
1077
-
1066
+
1067
+ --- Helpers ---
1068
+ trustless-work add helpers
1069
+
1078
1070
  --- Tanstack ---
1079
1071
  trustless-work add tanstak
1080
-
1072
+
1081
1073
  --- Escrows ---
1082
1074
  trustless-work add escrows
1083
-
1075
+
1084
1076
  --- Escrow context ---
1085
1077
  trustless-work add escrows/escrow-context
1086
-
1078
+
1087
1079
  --- Escrows by role ---
1088
1080
  trustless-work add escrows/escrows-by-role
1089
1081
  trustless-work add escrows/escrows-by-role/table
1090
1082
  trustless-work add escrows/escrows-by-role/cards
1091
-
1083
+
1092
1084
  --- Escrows by signer ---
1093
1085
  trustless-work add escrows/escrows-by-signer
1094
1086
  trustless-work add escrows/escrows-by-signer/table
1095
1087
  trustless-work add escrows/escrows-by-signer/cards
1096
-
1088
+
1089
+ --- Escrow details (optional standalone) ---
1090
+ trustless-work add escrows/details
1091
+
1097
1092
  ----------------------
1098
1093
  --- SINGLE-RELEASE ---
1099
1094
  trustless-work add escrows/single-release
1100
-
1095
+
1101
1096
  --- Initialize escrow ---
1102
1097
  - trustless-work add escrows/single-release/initialize-escrow
1103
-
1098
+ - trustless-work add escrows/single-release/initialize-escrow/form
1099
+ - trustless-work add escrows/single-release/initialize-escrow/dialog
1100
+
1101
+ --- Approve milestone ---
1102
+ - trustless-work add escrows/single-release/approve-milestone
1103
+ - trustless-work add escrows/single-release/approve-milestone/form
1104
+ - trustless-work add escrows/single-release/approve-milestone/button
1105
+ - trustless-work add escrows/single-release/approve-milestone/dialog
1106
+
1107
+ --- Change milestone status ---
1108
+ - trustless-work add escrows/single-release/change-milestone-status
1109
+ - trustless-work add escrows/single-release/change-milestone-status/form
1110
+ - trustless-work add escrows/single-release/change-milestone-status/button
1111
+ - trustless-work add escrows/single-release/change-milestone-status/dialog
1112
+
1104
1113
  --- Fund escrow ---
1105
1114
  - trustless-work add escrows/single-release/fund-escrow
1106
1115
  - trustless-work add escrows/single-release/fund-escrow/form
1107
1116
  - trustless-work add escrows/single-release/fund-escrow/button
1108
1117
  - trustless-work add escrows/single-release/fund-escrow/dialog
1109
-
1110
- ---------------------
1111
- --- MULTI-RELEASE ---
1112
- trustless-work add escrows/multi-release
1113
1118
 
1114
- --- Initialize escrow ---
1115
- - trustless-work add escrows/multi-release/initialize-escrow
1116
-
1117
- --- Fund escrow ---
1118
- - trustless-work add escrows/multi-release/fund-escrow
1119
- - trustless-work add escrows/multi-release/fund-escrow/form
1120
- - trustless-work add escrows/multi-release/fund-escrow/button
1121
- - trustless-work add escrows/multi-release/fund-escrow/dialog
1122
- `);
1119
+ --- Resolve dispute ---
1120
+ - trustless-work add escrows/single-release/resolve-dispute
1121
+ - trustless-work add escrows/single-release/resolve-dispute/form
1122
+ - trustless-work add escrows/single-release/resolve-dispute/button
1123
+ - trustless-work add escrows/single-release/resolve-dispute/dialog
1124
+
1125
+ --- Update escrow ---
1126
+ - trustless-work add escrows/single-release/update-escrow
1127
+ - trustless-work add escrows/single-release/update-escrow/form
1128
+ - trustless-work add escrows/single-release/update-escrow/dialog
1129
+
1130
+ --- Release escrow ---
1131
+ - trustless-work add escrows/single-release/release-escrow
1132
+ - trustless-work add escrows/single-release/release-escrow/button
1133
+
1134
+ --- Dispute escrow ---
1135
+ - trustless-work add escrows/single-release/dispute-escrow
1136
+ - trustless-work add escrows/single-release/dispute-escrow/button
1137
+ `);
1123
1138
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trustless-work/blocks",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "author": "Trustless Work",
5
5
  "keywords": [
6
6
  "react",