Enable publishing to Cargo & JSR

This commit is contained in:
Sacha Weatherstone 2024-10-06 22:11:45 +10:00
parent 5df44cf804
commit 5ff4ed0248
22 changed files with 308 additions and 120 deletions

105
packages/rust/Cargo.lock generated Normal file
View file

@ -0,0 +1,105 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "anyhow"
version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
[[package]]
name = "bytes"
version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3"
[[package]]
name = "either"
version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
[[package]]
name = "itertools"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
dependencies = [
"either",
]
[[package]]
name = "meshtastic_protobufs"
version = "2.5.5"
dependencies = [
"prost",
"prost-types",
]
[[package]]
name = "proc-macro2"
version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
dependencies = [
"unicode-ident",
]
[[package]]
name = "prost"
version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f"
dependencies = [
"bytes",
"prost-derive",
]
[[package]]
name = "prost-derive"
version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5"
dependencies = [
"anyhow",
"itertools",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "prost-types"
version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670"
dependencies = [
"prost",
]
[[package]]
name = "quote"
version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
dependencies = [
"proc-macro2",
]
[[package]]
name = "syn"
version = "2.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "unicode-ident"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"

15
packages/rust/Cargo.toml Normal file
View file

@ -0,0 +1,15 @@
[package]
name = "meshtastic_protobufs"
edition = "2021"
version = "__PACKAGE_VERSION__"
description = "Meshtastic Protobuf definitions"
repository = "https://github.com/meshtastic/protobufs"
license-file = "LICENSE"
include = [
"**/*.rs",
"Cargo.toml",
]
[dependencies]
prost = "0.13.3"
prost-types = "0.13.3"

View file

5
packages/rust/src/lib.rs Normal file
View file

@ -0,0 +1,5 @@
extern crate prost;
extern crate core;
extern crate prost_types;
include!("generated/mod.rs");

15
packages/ts/deno.json Normal file
View file

@ -0,0 +1,15 @@
{
"name": "@meshtastic/protobufs",
"version": "__PACKAGE_VERSION__",
"exports": {
".": "./mod.ts"
},
"imports": {
"@bufbuild/protobuf": "npm:@bufbuild/protobuf@^2.1.0"
},
"publish": {
"exclude": [
"!lib"
]
}
}

0
packages/ts/lib/.gitkeep Normal file
View file

43
packages/ts/mod.ts Normal file
View file

@ -0,0 +1,43 @@
import * as Admin from "./lib/admin_pb.ts";
import * as AppOnly from "./lib/apponly_pb.ts";
import * as ATAK from "./lib/atak_pb.ts";
import * as CannedMessages from "./lib/cannedmessages_pb.ts";
import * as Channel from "./lib/channel_pb.ts";
import * as ClientOnly from "./lib/clientonly_pb.ts";
import * as Config from "./lib/config_pb.ts";
import * as ConnectionStatus from "./lib/connection_status_pb.ts";
import * as LocalOnly from "./lib/localonly_pb.ts";
import * as Mesh from "./lib/mesh_pb.ts";
import * as ModuleConfig from "./lib/module_config_pb.ts";
import * as Mqtt from "./lib/mqtt_pb.ts";
import * as PaxCount from "./lib/paxcount_pb.ts";
import * as Portnums from "./lib/portnums_pb.ts";
import * as PowerMon from "./lib/powermon_pb.ts";
import * as RemoteHardware from "./lib/remote_hardware_pb.ts";
import * as Rtttl from "./lib/rtttl_pb.ts";
import * as StoreForward from "./lib/storeforward_pb.ts";
import * as Telemetry from "./lib/telemetry_pb.ts";
import * as Xmodem from "./lib/xmodem_pb.ts";
export const Protobuf = {
Admin,
AppOnly,
ATAK,
CannedMessages,
Channel,
ClientOnly,
Config,
ConnectionStatus,
LocalOnly,
Mesh,
ModuleConfig,
Mqtt,
PaxCount,
Portnums,
PowerMon,
RemoteHardware,
Rtttl,
StoreForward,
Telemetry,
Xmodem,
};