mirror of
https://github.com/trailbaseio/trailbase
synced 2026-04-21 13:37:44 +00:00
Cleanup: move all Rust code into a crates/ directory.
This commit is contained in:
parent
d23b698ced
commit
7a8c31c8e9
482 changed files with 526 additions and 484 deletions
|
|
@ -13,4 +13,4 @@
|
|||
# rustflags = ["-C", "target-feature=+crt-static"]
|
||||
|
||||
[env]
|
||||
TS_RS_EXPORT_DIR = { value = "./trailbase-assets/js/bindings", relative = true }
|
||||
TS_RS_EXPORT_DIR = { value = "./crates/assets/js/bindings", relative = true }
|
||||
|
|
|
|||
2
.gitmodules
vendored
2
.gitmodules
vendored
|
|
@ -1,3 +1,3 @@
|
|||
[submodule "vendor/sqlean/bundled/sqlean"]
|
||||
path = vendor/sqlean/bundled/sqlean
|
||||
path = crates/sqlean/bundled/sqlean
|
||||
url = https://github.com/trailbaseio/sqlean
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
exclude: '(trailbase-assets/js/bindings|trailbase-schema/bindings|vendor)/.*'
|
||||
exclude: '(crates/assets/js/bindings|crates/schema/bindings|vendor)/.*'
|
||||
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
|
|
|
|||
70
Cargo.toml
70
Cargo.toml
|
|
@ -1,33 +1,33 @@
|
|||
[workspace]
|
||||
resolver = "2"
|
||||
members = [
|
||||
"client/rust",
|
||||
"crates/apalis",
|
||||
"crates/assets",
|
||||
"crates/build",
|
||||
"crates/cli",
|
||||
"crates/client",
|
||||
"crates/core",
|
||||
"crates/extension",
|
||||
"crates/js-runtime",
|
||||
"crates/qs",
|
||||
"crates/refinery",
|
||||
"crates/schema",
|
||||
"crates/sqlean",
|
||||
"crates/sqlite",
|
||||
"docs/examples/record_api_rs",
|
||||
"examples/custom-binary",
|
||||
"trailbase-apalis",
|
||||
"trailbase-assets",
|
||||
"trailbase-build",
|
||||
"trailbase-cli",
|
||||
"trailbase-core",
|
||||
"trailbase-extension",
|
||||
"trailbase-js",
|
||||
"trailbase-qs",
|
||||
"trailbase-refinery",
|
||||
"trailbase-schema",
|
||||
"trailbase-sqlite",
|
||||
"vendor/sqlean",
|
||||
]
|
||||
default-members = [
|
||||
"client/rust",
|
||||
"trailbase-assets",
|
||||
"trailbase-build",
|
||||
"trailbase-cli",
|
||||
"trailbase-core",
|
||||
"trailbase-extension",
|
||||
"trailbase-js",
|
||||
"trailbase-qs",
|
||||
"trailbase-schema",
|
||||
"trailbase-sqlite",
|
||||
"crates/assets",
|
||||
"crates/build",
|
||||
"crates/cli",
|
||||
"crates/client",
|
||||
"crates/core",
|
||||
"crates/extension",
|
||||
"crates/js-runtime",
|
||||
"crates/qs",
|
||||
"crates/schema",
|
||||
"crates/sqlite",
|
||||
]
|
||||
|
||||
# https://doc.rust-lang.org/cargo/reference/profiles.html
|
||||
|
|
@ -66,16 +66,16 @@ rust-embed = { version = "8.4.0", default-features = false, features = ["mime-gu
|
|||
tokio = { version = "^1.38.0", features = ["macros", "rt-multi-thread", "fs", "signal", "time", "sync"] }
|
||||
tracing = { version = "0.1.40", default-features = false }
|
||||
tracing-subscriber = { version = "0.3.18", default-features = false, features = ["smallvec", "std", "fmt", "json"] }
|
||||
trailbase-apalis = { path = "trailbase-apalis", version = "0.1.0" }
|
||||
trailbase-assets = { path = "trailbase-assets", version = "0.2.0" }
|
||||
trailbase-build = { path = "trailbase-build", version = "0.1.1" }
|
||||
trailbase-client = { path = "client/rust", version = "0.5.0" }
|
||||
trailbase-sqlean = { path = "vendor/sqlean", version = "0.0.3" }
|
||||
trailbase-extension = { path = "trailbase-extension", version = "0.3.0" }
|
||||
trailbase-js = { path = "trailbase-js", version = "0.2.0" }
|
||||
trailbase-qs = { path = "trailbase-qs", version = "0.1.0" }
|
||||
trailbase-refinery = { path = "trailbase-refinery", version = "0.1.0" }
|
||||
trailbase-schema = { path = "trailbase-schema", version = "0.1.0" }
|
||||
trailbase-sqlite = { path = "trailbase-sqlite", version = "0.3.0" }
|
||||
trailbase = { path = "trailbase-core", version = "0.2.0" }
|
||||
trailbase-apalis = { path = "crates/apalis", version = "0.1.0" }
|
||||
trailbase-assets = { path = "crates/assets", version = "0.2.0" }
|
||||
trailbase-build = { path = "crates/build", version = "0.1.1" }
|
||||
trailbase-client = { path = "crates/client", version = "0.5.0" }
|
||||
trailbase-sqlean = { path = "crates/sqlean", version = "0.0.3" }
|
||||
trailbase-extension = { path = "crates/extension", version = "0.3.0" }
|
||||
trailbase-js = { path = "crates/js-runtime", version = "0.2.0" }
|
||||
trailbase-qs = { path = "crates/qs", version = "0.1.0" }
|
||||
trailbase-refinery = { path = "crates/refinery", version = "0.1.0" }
|
||||
trailbase-schema = { path = "crates/schema", version = "0.1.0" }
|
||||
trailbase-sqlite = { path = "crates/sqlite", version = "0.3.0" }
|
||||
trailbase = { path = "crates/core", version = "0.2.0" }
|
||||
uuid = { version = "1", default-features = false, features = ["std", "v4", "v7", "serde"] }
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ RUN cargo chef cook --release --recipe-path recipe.json
|
|||
COPY . .
|
||||
|
||||
# First install all JS deps. This is to avoid collisions due to parallel
|
||||
# installs later-on while building `trailbase-assets` (auth, admin, client) and
|
||||
# `trailbase-js` (runtime).
|
||||
# installs later-on while building `crates/assets` (auth, admin, client) and
|
||||
# `crates/js-runtime` (runtime).
|
||||
RUN pnpm -r install --frozen-lockfile
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -30,7 +30,7 @@ openapi:
|
|||
cargo run -- openapi print > docs/openapi/schema.json
|
||||
|
||||
cloc:
|
||||
cloc --not-match-d=".*(/target|/dist|/node_modules|/vendor|.astro|.build|.venv|/traildepot|/flutter|/assets|lock|_benchmark|/bin|/obj).*" .
|
||||
cloc --not-match-d=".*(/target|/dist|/node_modules|/vendor|.astro|.build|.venv|/traildepot|/flutter|lock|_benchmark|/bin|/obj).*" .
|
||||
|
||||
publish_crates:
|
||||
cargo +nightly -Z package-workspace publish --no-verify \
|
||||
|
|
|
|||
1
client/rust
Symbolic link
1
client/rust
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../crates/client
|
||||
|
|
@ -1 +1 @@
|
|||
../trailbase-assets/js/client/
|
||||
../crates/assets/js/client
|
||||
|
|
@ -34,7 +34,7 @@ $ pnpm run proto
|
|||
## Rust-TypeScript codegen
|
||||
|
||||
The TypeScript bindings for the admin APIs are checked into the repository
|
||||
under `/trailbase-assets/js/bindings`.
|
||||
under `/crates/assets/js/bindings`.
|
||||
They're generated via `ts-rs` and written every time the Rust tests execute,
|
||||
i.e. `cargo test`. They're checked in to avoid having Rust depend on
|
||||
TypesScript and TypeScript depend on Rust tests.
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
"build": "vite build",
|
||||
"serve": "vite preview",
|
||||
"format": "prettier -w .",
|
||||
"proto": "protoc --plugin=protoc-gen-ts=${PWD}/node_modules/ts-proto/protoc-gen-ts_proto ../../../trailbase-core/proto/*.proto -I../../../trailbase-core//proto -I/usr/include --ts_out=./proto/ --ts_opt=esModuleInterop=true,initializeFieldsAsUndefined=false",
|
||||
"proto": "protoc --plugin=protoc-gen-ts=${PWD}/node_modules/ts-proto/protoc-gen-ts_proto ../../../core/proto/*.proto -I../../../core//proto -I/usr/include --ts_out=./proto/ --ts_opt=esModuleInterop=true,initializeFieldsAsUndefined=false",
|
||||
"check": "tsc --noEmit --skipLibCheck && eslint && vitest run",
|
||||
"test": "vitest run"
|
||||
},
|
||||
1
crates/assets/js/admin/src/assets/favicon.svg
Symbolic link
1
crates/assets/js/admin/src/assets/favicon.svg
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../../../../../assets/favicon.svg
|
||||
1
crates/assets/js/admin/src/assets/logo_104.webp
Symbolic link
1
crates/assets/js/admin/src/assets/logo_104.webp
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../../../../../../assets/logo_104.webp
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue