hyperweb-io / hyperweb-io/ts-codegen

Sample Project Generation

Đang mở
#70 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
126
Fork
31
Merge trung bình
19 phút
Pull request đã merge (30 ngày)
2

Mô tả

CosmWasm projects usually have a setup including a contracts and packages folder: [cw-plus](https://github.com/CosmWasm/cw-plus) and [dao dao](https://github.com/DA0-DA0/dao-contracts) as a couple examples.
I think ts-codegen should have a sample project generation file in the docs to make using this tool easier.

**codegen.ts**
```
import codegen, { ContractFile } from "@cosmwasm/ts-codegen";
import { glob } from "glob";

glob("../@(contracts|packages)/*/schema", (err, matches) => {
if (err) console.log(err);

let contracts: ContractFile[] = [];

matches.forEach((x) => {
contracts.push({
name: x.split("/")[2],
dir: x,
});
});

codegen({
contracts,
outPath: "./generated",

options: {
bundle: {
bundleFile: "index.ts",
scope: "contracts",
},
types: {
enabled: true,
},
client: {
enabled: true,
},
},
}).then(() => {
console.log("✨ all done!");
});
});
```

I used glob, because this is how ts-codegen's utils.readSchemas interprets paths. If a valid path is not given from windows, then ts-codegen will not generate anything.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu từ ví dụ codegen.ts được cung cấp và điểm bắt đầu hiện có trong tài liệu về cách sử dụng ts-codegen. Thêm một phần về việc tạo dự án mẫu, thể hiện bố cục của contracts và packages, việc sử dụng glob cho các schema và đầu ra được tạo; công việc được xem là hoàn tất khi ví dụ đã được đưa vào và lưu ý về đường dẫn Windows đã được ghi lại.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
typescript
Lĩnh vực
documentation
Loại issue
Tài liệu
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
55/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.