Comments (4)
as a workaround, I am currently doing this in build.rs
:
use std::{
ffi::OsStr,
fs::{self, File},
io::Write,
};
fn main() {
let exports: Vec<_> = fs::read_dir("./bindings")
.unwrap()
.filter_map(Result::ok)
.filter_map(|p| {
p.path()
.file_stem()
.map(OsStr::to_str)
.flatten()
.map(str::to_owned)
})
.filter(|f| f != "index")
.map(|f| format!("export * from \"./{}\"", f))
.collect();
let mut file = File::create("./bindings/index.ts").unwrap();
file.write_all(exports.join("\n").as_bytes()).unwrap();
}
from ts-rs.
Pretty sure we could just use export_to = '../bindings/index.ts' in every struct as per this.
from ts-rs.
Currently the plan is to create a CLI tool to allow this
from ts-rs.
To anyone who sees this issue and is interested in the feature, please try the CLI being developed in #304 and tell us what you think.
To try it you need to clone the cli
branch and build the project with cargo build --release
. Then run ./target/release/cargo-ts --index --output <BINDINGS_DIRECTORY>
.
When we decide the CLI is complete, it will be available through cargo install
but for now, it must be downloaded and built manually
from ts-rs.
Related Issues (20)
- Feature request: `#[ts(bound)]` attribute HOT 13
- Feature request: rust_decimal::Decimal TS implementation HOT 2
- Can we support `#[serde(with = "..")]`? HOT 11
- Feature request: `bnum` compatibility HOT 2
- bug: `impl Trait` only allowed in function and inherent method return types, not in trait method return types HOT 4
- TypeList recursion limit HOT 4
- Feature request: Export in the same file HOT 3
- bug: Using `#[ts(rename_all = "...")]` `snake_case`, `SCREAMING_SNAKE_CASE` and `kebab-case` is not compatible with serde
- Randomly failing `imports` test HOT 1
- Unqualified call to `Self::name()`
- `usize` and `isize` should be typed as `bigint` on 64-bit architectures HOT 6
- Feature request: `serde-wasm-bindgen` compatibility. HOT 4
- Feature request: How to export multiple types to the same file HOT 4
- Feature request: Typed array types HOT 1
- bug: Tuples cause imports to be missed HOT 5
- bug: files are missing final newlines
- bug: `export::path:absolute` function fails when `TS_RS_EXPORT_DIR` is set to an absolute path and the `path_bug` test is executed
- bug: TS generated tests fail on struct with `serde_json::Value` type when running `cargo test`. HOT 2
- `ts(optional)` should be working on any which has `skip_serializing_if` HOT 1
- Add all of `ts(function)` to docs. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ts-rs.