mirror of
https://github.com/lune-org/lune.git
synced 2024-12-12 13:00:37 +00:00
Goodbye monorepo, hello monolith
This commit is contained in:
parent
151cfe9b2f
commit
689994552f
123 changed files with 189 additions and 275 deletions
11
.gitignore
vendored
11
.gitignore
vendored
|
@ -3,7 +3,6 @@
|
||||||
/.DS_Store
|
/.DS_Store
|
||||||
/**/.DS_Store
|
/**/.DS_Store
|
||||||
|
|
||||||
|
|
||||||
# Autogenerated dirs
|
# Autogenerated dirs
|
||||||
|
|
||||||
/bin
|
/bin
|
||||||
|
@ -16,11 +15,7 @@ lune.yml
|
||||||
luneDocs.json
|
luneDocs.json
|
||||||
luneTypes.d.luau
|
luneTypes.d.luau
|
||||||
|
|
||||||
# NOTE: Don't remove the typedefs file in the docs dir!
|
|
||||||
# We depend on it to autogenerate all of the above files.
|
|
||||||
!/docs/luneTypes.d.luau
|
|
||||||
|
|
||||||
# Files generated by runtime or build scripts
|
# Files generated by runtime or build scripts
|
||||||
packages/lib-roblox/scripts/brick_color.rs
|
scripts/brick_color.rs
|
||||||
packages/lib-roblox/scripts/font_enum_map.rs
|
scripts/font_enum_map.rs
|
||||||
packages/lib-roblox/scripts/physical_properties_enum_map.rs
|
scripts/physical_properties_enum_map.rs
|
||||||
|
|
|
@ -8,7 +8,7 @@ run-file FILE_NAME:
|
||||||
|
|
||||||
# Run tests for the Lune library
|
# Run tests for the Lune library
|
||||||
test:
|
test:
|
||||||
cargo test --package lune -- --test-threads 1
|
cargo test --lib -- --test-threads 1
|
||||||
|
|
||||||
# Generate gitbook directory
|
# Generate gitbook directory
|
||||||
generate-gitbook:
|
generate-gitbook:
|
||||||
|
|
58
Cargo.lock
generated
58
Cargo.lock
generated
|
@ -1145,45 +1145,31 @@ dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-compression",
|
"async-compression",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
"clap 4.3.11",
|
||||||
"console",
|
"console",
|
||||||
"dialoguer",
|
"dialoguer",
|
||||||
"directories",
|
"directories",
|
||||||
"dunce",
|
"dunce",
|
||||||
|
"env_logger 0.10.0",
|
||||||
|
"full_moon",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
|
"glam",
|
||||||
"hyper",
|
"hyper",
|
||||||
"hyper-tungstenite",
|
"hyper-tungstenite",
|
||||||
"lune-roblox",
|
"include_dir",
|
||||||
|
"itertools",
|
||||||
"lz4_flex",
|
"lz4_flex",
|
||||||
"mlua",
|
"mlua",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"os_str_bytes",
|
"os_str_bytes",
|
||||||
"pin-project",
|
"pin-project",
|
||||||
|
"rand",
|
||||||
|
"rbx_binary",
|
||||||
"rbx_cookie",
|
"rbx_cookie",
|
||||||
"reqwest",
|
"rbx_dom_weak",
|
||||||
"serde",
|
"rbx_reflection",
|
||||||
"serde_json",
|
"rbx_reflection_database",
|
||||||
"serde_yaml",
|
"rbx_xml",
|
||||||
"tokio",
|
|
||||||
"tokio-tungstenite",
|
|
||||||
"toml",
|
|
||||||
"urlencoding",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "lune-cli"
|
|
||||||
version = "0.7.4"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"clap 4.3.11",
|
|
||||||
"console",
|
|
||||||
"directories",
|
|
||||||
"env_logger 0.10.0",
|
|
||||||
"full_moon",
|
|
||||||
"futures-util",
|
|
||||||
"include_dir",
|
|
||||||
"itertools",
|
|
||||||
"lune",
|
|
||||||
"once_cell",
|
|
||||||
"regex",
|
"regex",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -1191,23 +1177,9 @@ dependencies = [
|
||||||
"serde_yaml",
|
"serde_yaml",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio",
|
"tokio",
|
||||||
]
|
"tokio-tungstenite",
|
||||||
|
"toml",
|
||||||
[[package]]
|
"urlencoding",
|
||||||
name = "lune-roblox"
|
|
||||||
version = "0.7.4"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"glam",
|
|
||||||
"mlua",
|
|
||||||
"once_cell",
|
|
||||||
"rand",
|
|
||||||
"rbx_binary",
|
|
||||||
"rbx_dom_weak",
|
|
||||||
"rbx_reflection",
|
|
||||||
"rbx_reflection_database",
|
|
||||||
"rbx_xml",
|
|
||||||
"thiserror",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
131
Cargo.toml
131
Cargo.toml
|
@ -1,10 +1,5 @@
|
||||||
[workspace]
|
[package]
|
||||||
members = ["packages/cli", "packages/lib", "packages/lib-roblox"]
|
name = "lune"
|
||||||
default-members = ["packages/cli"]
|
|
||||||
|
|
||||||
# Package config values shared across all packages,
|
|
||||||
# such as version, license, and other metadata
|
|
||||||
[workspace.package]
|
|
||||||
version = "0.7.4"
|
version = "0.7.4"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
license = "MPL-2.0"
|
license = "MPL-2.0"
|
||||||
|
@ -14,26 +9,35 @@ readme = "README.md"
|
||||||
keywords = ["cli", "lua", "luau", "scripts"]
|
keywords = ["cli", "lua", "luau", "scripts"]
|
||||||
categories = ["command-line-interface"]
|
categories = ["command-line-interface"]
|
||||||
|
|
||||||
# Shared dependencies that are used across 2 or more packages
|
[[bin]]
|
||||||
# These are declared here to ensure consistent versioning
|
name = "lune"
|
||||||
[workspace.dependencies]
|
path = "src/main.rs"
|
||||||
console = "0.15"
|
|
||||||
directories = "5.0"
|
|
||||||
futures-util = "0.3"
|
|
||||||
once_cell = "1.17"
|
|
||||||
thiserror = "1.0"
|
|
||||||
|
|
||||||
mlua = { version = "0.9.0-beta.3", features = ["luau", "serialize"] }
|
[lib]
|
||||||
tokio = { version = "1.24", features = ["full"] }
|
name = "lune"
|
||||||
reqwest = { version = "0.11", default-features = false, features = [
|
path = "src/lib.rs"
|
||||||
"rustls-tls",
|
|
||||||
] }
|
|
||||||
|
|
||||||
# Serde dependencies, supporting user-facing formats: json, yaml, toml
|
[features]
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
default = ["cli", "roblox"]
|
||||||
serde_json = { version = "1.0", features = ["preserve_order"] }
|
cli = [
|
||||||
serde_yaml = "0.9"
|
"dep:anyhow",
|
||||||
toml = { version = "0.7", features = ["preserve_order"] }
|
"dep:env_logger",
|
||||||
|
"dep:itertools",
|
||||||
|
"dep:clap",
|
||||||
|
"dep:full_moon",
|
||||||
|
"dep:include_dir",
|
||||||
|
"dep:regex",
|
||||||
|
]
|
||||||
|
roblox = [
|
||||||
|
"dep:glam",
|
||||||
|
"dep:rand",
|
||||||
|
"dep:rbx_cookie",
|
||||||
|
"dep:rbx_binary",
|
||||||
|
"dep:rbx_dom_weak",
|
||||||
|
"dep:rbx_reflection",
|
||||||
|
"dep:rbx_reflection_database",
|
||||||
|
"dep:rbx_xml",
|
||||||
|
]
|
||||||
|
|
||||||
# Profile for building the release binary, with the following options set:
|
# Profile for building the release binary, with the following options set:
|
||||||
#
|
#
|
||||||
|
@ -49,3 +53,80 @@ toml = { version = "0.7", features = ["preserve_order"] }
|
||||||
opt-level = "z"
|
opt-level = "z"
|
||||||
strip = true
|
strip = true
|
||||||
lto = true
|
lto = true
|
||||||
|
|
||||||
|
# All of the dependencies for Lune.
|
||||||
|
#
|
||||||
|
# Dependencies are categorized as following:
|
||||||
|
#
|
||||||
|
# 1. General dependencies with no specific features set
|
||||||
|
# 2. Large / core dependencies that have many different crates and / or features set
|
||||||
|
# 3. Dependencies for specific features of Lune, eg. the CLI or massive Roblox builtin library
|
||||||
|
#
|
||||||
|
[dependencies]
|
||||||
|
console = "0.15"
|
||||||
|
directories = "5.0"
|
||||||
|
futures-util = "0.3"
|
||||||
|
once_cell = "1.17"
|
||||||
|
thiserror = "1.0"
|
||||||
|
async-trait = "0.1"
|
||||||
|
dialoguer = "0.10"
|
||||||
|
dunce = "1.0"
|
||||||
|
lz4_flex = "0.10"
|
||||||
|
pin-project = "1.0"
|
||||||
|
os_str_bytes = "6.4"
|
||||||
|
urlencoding = "2.1.2"
|
||||||
|
|
||||||
|
### RUNTIME
|
||||||
|
|
||||||
|
mlua = { version = "0.9.0-beta.3", features = ["luau", "serialize"] }
|
||||||
|
tokio = { version = "1.24", features = ["full"] }
|
||||||
|
|
||||||
|
### SERDE
|
||||||
|
|
||||||
|
async-compression = { version = "0.4", features = [
|
||||||
|
"tokio",
|
||||||
|
"brotli",
|
||||||
|
"deflate",
|
||||||
|
"gzip",
|
||||||
|
"zlib",
|
||||||
|
] }
|
||||||
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
|
serde_json = { version = "1.0", features = ["preserve_order"] }
|
||||||
|
serde_yaml = "0.9"
|
||||||
|
toml = { version = "0.7", features = ["preserve_order"] }
|
||||||
|
|
||||||
|
### NET
|
||||||
|
|
||||||
|
hyper = { version = "0.14", features = ["full"] }
|
||||||
|
hyper-tungstenite = { version = "0.10" }
|
||||||
|
reqwest = { version = "0.11", default-features = false, features = [
|
||||||
|
"rustls-tls",
|
||||||
|
] }
|
||||||
|
tokio-tungstenite = { version = "0.19", features = ["rustls-tls-webpki-roots"] }
|
||||||
|
|
||||||
|
### CLI
|
||||||
|
|
||||||
|
anyhow = { optional = true, version = "1.0" }
|
||||||
|
env_logger = { optional = true, version = "0.10" }
|
||||||
|
itertools = { optional = true, version = "0.10" }
|
||||||
|
|
||||||
|
clap = { optional = true, version = "4.1", features = ["derive"] }
|
||||||
|
full_moon = { optional = true, version = "0.18", features = ["roblox"] }
|
||||||
|
include_dir = { optional = true, version = "0.7.3", features = ["glob"] }
|
||||||
|
regex = { optional = true, version = "1.7", default-features = false, features = [
|
||||||
|
"std",
|
||||||
|
"unicode-perl",
|
||||||
|
] }
|
||||||
|
|
||||||
|
### ROBLOX
|
||||||
|
|
||||||
|
glam = { optional = true, version = "0.24" }
|
||||||
|
rand = { optional = true, version = "0.8" }
|
||||||
|
|
||||||
|
rbx_cookie = { optional = true, version = "0.1.2" }
|
||||||
|
|
||||||
|
rbx_binary = { optional = true, git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
||||||
|
rbx_dom_weak = { optional = true, git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
||||||
|
rbx_reflection = { optional = true, git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
||||||
|
rbx_reflection_database = { optional = true, git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
||||||
|
rbx_xml = { optional = true, git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "lune-cli"
|
|
||||||
publish = false
|
|
||||||
version.workspace = true
|
|
||||||
edition.workspace = true
|
|
||||||
license.workspace = true
|
|
||||||
repository.workspace = true
|
|
||||||
description.workspace = true
|
|
||||||
readme.workspace = true
|
|
||||||
keywords.workspace = true
|
|
||||||
categories.workspace = true
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "lune"
|
|
||||||
path = "src/main.rs"
|
|
||||||
|
|
||||||
[features]
|
|
||||||
default = []
|
|
||||||
roblox = ["lune/roblox"]
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
|
|
||||||
lune = { path = "../lib" }
|
|
||||||
|
|
||||||
console.workspace = true
|
|
||||||
directories.workspace = true
|
|
||||||
futures-util.workspace = true
|
|
||||||
once_cell.workspace = true
|
|
||||||
reqwest.workspace = true
|
|
||||||
serde.workspace = true
|
|
||||||
serde_json.workspace = true
|
|
||||||
serde_yaml.workspace = true
|
|
||||||
tokio.workspace = true
|
|
||||||
thiserror.workspace = true
|
|
||||||
|
|
||||||
anyhow = "1.0"
|
|
||||||
env_logger = "0.10"
|
|
||||||
itertools = "0.10"
|
|
||||||
|
|
||||||
clap = { version = "4.1", features = ["derive"] }
|
|
||||||
full_moon = { version = "0.18", features = ["roblox"] }
|
|
||||||
include_dir = { version = "0.7.3", features = ["glob"] }
|
|
||||||
regex = { version = "1.7", default-features = false, features = [
|
|
||||||
"std",
|
|
||||||
"unicode-perl",
|
|
||||||
] }
|
|
|
@ -1,32 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "lune-roblox"
|
|
||||||
publish = false
|
|
||||||
version.workspace = true
|
|
||||||
edition.workspace = true
|
|
||||||
license.workspace = true
|
|
||||||
repository.workspace = true
|
|
||||||
description.workspace = true
|
|
||||||
readme.workspace = true
|
|
||||||
keywords.workspace = true
|
|
||||||
categories.workspace = true
|
|
||||||
|
|
||||||
[lib]
|
|
||||||
name = "lune_roblox"
|
|
||||||
path = "src/lib.rs"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
mlua.workspace = true
|
|
||||||
once_cell.workspace = true
|
|
||||||
thiserror.workspace = true
|
|
||||||
|
|
||||||
glam = "0.24"
|
|
||||||
rand = "0.8"
|
|
||||||
|
|
||||||
rbx_binary = { git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
|
||||||
rbx_dom_weak = { git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
|
||||||
rbx_reflection = { git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
|
||||||
rbx_reflection_database = { git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
|
||||||
rbx_xml = { git = "https://github.com/rojo-rbx/rbx-dom", rev = "e7a813d569c3f8a54be8a8873c33f8976c37b8b1" }
|
|
||||||
|
|
||||||
[dev-dependencies]
|
|
||||||
anyhow = "1.0"
|
|
|
@ -1,57 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "lune"
|
|
||||||
version.workspace = true
|
|
||||||
edition.workspace = true
|
|
||||||
license.workspace = true
|
|
||||||
repository.workspace = true
|
|
||||||
description.workspace = true
|
|
||||||
readme.workspace = true
|
|
||||||
keywords.workspace = true
|
|
||||||
categories.workspace = true
|
|
||||||
|
|
||||||
[lib]
|
|
||||||
name = "lune"
|
|
||||||
path = "src/lib.rs"
|
|
||||||
|
|
||||||
[features]
|
|
||||||
default = ["roblox"]
|
|
||||||
roblox = ["dep:lune-roblox", "dep:rbx_cookie"]
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
|
|
||||||
lune-roblox = { path = "../lib-roblox", optional = true }
|
|
||||||
rbx_cookie = { version = "0.1.2", optional = true }
|
|
||||||
|
|
||||||
console.workspace = true
|
|
||||||
directories.workspace = true
|
|
||||||
futures-util.workspace = true
|
|
||||||
mlua.workspace = true
|
|
||||||
once_cell.workspace = true
|
|
||||||
reqwest.workspace = true
|
|
||||||
serde.workspace = true
|
|
||||||
serde_json.workspace = true
|
|
||||||
serde_yaml.workspace = true
|
|
||||||
toml.workspace = true
|
|
||||||
tokio.workspace = true
|
|
||||||
|
|
||||||
async-trait = "0.1"
|
|
||||||
dialoguer = "0.10"
|
|
||||||
dunce = "1.0"
|
|
||||||
lz4_flex = "0.10"
|
|
||||||
pin-project = "1.0"
|
|
||||||
os_str_bytes = "6.4"
|
|
||||||
urlencoding = "2.1.2"
|
|
||||||
|
|
||||||
async-compression = { version = "0.4", features = [
|
|
||||||
"tokio",
|
|
||||||
"brotli",
|
|
||||||
"deflate",
|
|
||||||
"gzip",
|
|
||||||
"zlib",
|
|
||||||
] }
|
|
||||||
hyper = { version = "0.14", features = ["full"] }
|
|
||||||
hyper-tungstenite = { version = "0.10" }
|
|
||||||
tokio-tungstenite = { version = "0.19", features = ["rustls-tls-webpki-roots"] }
|
|
||||||
|
|
||||||
[dev-dependencies]
|
|
||||||
anyhow = "1.0"
|
|
|
@ -1,10 +0,0 @@
|
||||||
pub(crate) mod fs;
|
|
||||||
pub(crate) mod net;
|
|
||||||
pub(crate) mod process;
|
|
||||||
pub(crate) mod serde;
|
|
||||||
pub(crate) mod stdio;
|
|
||||||
pub(crate) mod task;
|
|
||||||
pub(crate) mod top_level;
|
|
||||||
|
|
||||||
#[cfg(feature = "roblox")]
|
|
||||||
pub(crate) mod roblox;
|
|
|
@ -9,12 +9,14 @@ use tokio::{
|
||||||
io::{stdin, AsyncReadExt},
|
io::{stdin, AsyncReadExt},
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{
|
pub(crate) mod gen;
|
||||||
setup::run_setup,
|
pub(crate) mod setup;
|
||||||
utils::{
|
pub(crate) mod utils;
|
||||||
files::{discover_script_path_including_lune_dirs, strip_shebang},
|
|
||||||
listing::{find_lune_scripts, sort_lune_scripts, write_lune_scripts_list},
|
use setup::run_setup;
|
||||||
},
|
use utils::{
|
||||||
|
files::{discover_script_path_including_lune_dirs, strip_shebang},
|
||||||
|
listing::{find_lune_scripts, sort_lune_scripts, write_lune_scripts_list},
|
||||||
};
|
};
|
||||||
|
|
||||||
/// A Luau script runner
|
/// A Luau script runner
|
|
@ -8,7 +8,7 @@ use tokio::fs;
|
||||||
// TODO: Use a library that supports json with comments since VSCode settings may contain comments
|
// TODO: Use a library that supports json with comments since VSCode settings may contain comments
|
||||||
use serde_json::Value as JsonValue;
|
use serde_json::Value as JsonValue;
|
||||||
|
|
||||||
use crate::gen::generate_typedef_files_from_definitions;
|
use super::gen::generate_typedef_files_from_definitions;
|
||||||
|
|
||||||
pub(crate) static TYPEDEFS_DIR: Dir<'_> = include_dir!("docs/typedefs");
|
pub(crate) static TYPEDEFS_DIR: Dir<'_> = include_dir!("docs/typedefs");
|
||||||
|
|
7
src/lib.rs
Normal file
7
src/lib.rs
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
mod lune;
|
||||||
|
mod roblox;
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests;
|
||||||
|
|
||||||
|
pub use crate::lune::{Lune, LuneError};
|
|
@ -3,7 +3,7 @@ use std::path::{PathBuf, MAIN_SEPARATOR};
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
use tokio::fs;
|
use tokio::fs;
|
||||||
|
|
||||||
use crate::lua::{fs::FsWriteOptions, table::TableBuilder};
|
use crate::lune::lua::{fs::FsWriteOptions, table::TableBuilder};
|
||||||
|
|
||||||
pub fn create(lua: &'static Lua) -> LuaResult<LuaTable> {
|
pub fn create(lua: &'static Lua) -> LuaResult<LuaTable> {
|
||||||
TableBuilder::new(lua)?
|
TableBuilder::new(lua)?
|
10
src/lune/builtins/mod.rs
Normal file
10
src/lune/builtins/mod.rs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
pub mod fs;
|
||||||
|
pub mod net;
|
||||||
|
pub mod process;
|
||||||
|
pub mod serde;
|
||||||
|
pub mod stdio;
|
||||||
|
pub mod task;
|
||||||
|
pub mod top_level;
|
||||||
|
|
||||||
|
#[cfg(feature = "roblox")]
|
||||||
|
pub mod roblox;
|
|
@ -9,7 +9,7 @@ use hyper::{
|
||||||
};
|
};
|
||||||
use tokio::{sync::mpsc, task};
|
use tokio::{sync::mpsc, task};
|
||||||
|
|
||||||
use crate::lua::{
|
use crate::lune::lua::{
|
||||||
net::{
|
net::{
|
||||||
NetClient, NetClientBuilder, NetLocalExec, NetService, NetWebSocket, RequestConfig,
|
NetClient, NetClientBuilder, NetLocalExec, NetService, NetWebSocket, RequestConfig,
|
||||||
ServeConfig,
|
ServeConfig,
|
|
@ -11,7 +11,7 @@ use mlua::prelude::*;
|
||||||
use os_str_bytes::RawOsString;
|
use os_str_bytes::RawOsString;
|
||||||
use tokio::process::Command;
|
use tokio::process::Command;
|
||||||
|
|
||||||
use crate::lua::{
|
use crate::lune::lua::{
|
||||||
process::pipe_and_inherit_child_process_stdio, table::TableBuilder, task::TaskScheduler,
|
process::pipe_and_inherit_child_process_stdio, table::TableBuilder, task::TaskScheduler,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
|
|
||||||
use lune_roblox::{
|
use crate::roblox::{
|
||||||
|
self,
|
||||||
document::{Document, DocumentError, DocumentFormat, DocumentKind},
|
document::{Document, DocumentError, DocumentFormat, DocumentKind},
|
||||||
instance::Instance,
|
instance::Instance,
|
||||||
};
|
};
|
||||||
use tokio::task;
|
use tokio::task;
|
||||||
|
|
||||||
use crate::lua::table::TableBuilder;
|
use crate::lune::lua::table::TableBuilder;
|
||||||
|
|
||||||
pub fn create(lua: &'static Lua) -> LuaResult<LuaTable> {
|
pub fn create(lua: &'static Lua) -> LuaResult<LuaTable> {
|
||||||
let mut roblox_constants = Vec::new();
|
let mut roblox_constants = Vec::new();
|
||||||
let roblox_module = lune_roblox::module(lua)?;
|
let roblox_module = roblox::module(lua)?;
|
||||||
for pair in roblox_module.pairs::<LuaValue, LuaValue>() {
|
for pair in roblox_module.pairs::<LuaValue, LuaValue>() {
|
||||||
roblox_constants.push(pair?);
|
roblox_constants.push(pair?);
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
|
|
||||||
use crate::lua::{
|
use crate::lune::lua::{
|
||||||
serde::{
|
serde::{
|
||||||
compress, decompress, CompressDecompressFormat, EncodeDecodeConfig, EncodeDecodeFormat,
|
compress, decompress, CompressDecompressFormat, EncodeDecodeConfig, EncodeDecodeFormat,
|
||||||
},
|
},
|
|
@ -5,7 +5,7 @@ use tokio::{
|
||||||
task,
|
task,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::lua::{
|
use crate::lune::lua::{
|
||||||
stdio::{
|
stdio::{
|
||||||
formatting::{
|
formatting::{
|
||||||
format_style, pretty_format_multi_value, style_from_color_str, style_from_style_str,
|
format_style, pretty_format_multi_value, style_from_color_str, style_from_style_str,
|
|
@ -1,6 +1,6 @@
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
|
|
||||||
use crate::lua::{
|
use crate::lune::lua::{
|
||||||
async_ext::LuaAsyncExt,
|
async_ext::LuaAsyncExt,
|
||||||
table::TableBuilder,
|
table::TableBuilder,
|
||||||
task::{
|
task::{
|
|
@ -2,9 +2,9 @@ use mlua::prelude::*;
|
||||||
use std::io::{self, Write as _};
|
use std::io::{self, Write as _};
|
||||||
|
|
||||||
#[cfg(feature = "roblox")]
|
#[cfg(feature = "roblox")]
|
||||||
use lune_roblox::datatypes::extension::RobloxUserdataTypenameExt;
|
use crate::roblox::datatypes::extension::RobloxUserdataTypenameExt;
|
||||||
|
|
||||||
use crate::lua::{
|
use crate::lune::lua::{
|
||||||
stdio::formatting::{format_label, pretty_format_multi_value},
|
stdio::formatting::{format_label, pretty_format_multi_value},
|
||||||
task::TaskReference,
|
task::TaskReference,
|
||||||
};
|
};
|
|
@ -5,7 +5,7 @@ use std::{
|
||||||
|
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
|
|
||||||
use crate::lua::stdio::formatting::pretty_format_luau_error;
|
use crate::lune::lua::stdio::formatting::pretty_format_luau_error;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
An opaque error type for formatted lua errors.
|
An opaque error type for formatted lua errors.
|
|
@ -3,7 +3,7 @@ use mlua::prelude::*;
|
||||||
mod require;
|
mod require;
|
||||||
mod require_waker;
|
mod require_waker;
|
||||||
|
|
||||||
use crate::builtins::{self, top_level};
|
use crate::lune::builtins::{self, top_level};
|
||||||
|
|
||||||
pub fn create(lua: &'static Lua, args: Vec<String>) -> LuaResult<()> {
|
pub fn create(lua: &'static Lua, args: Vec<String>) -> LuaResult<()> {
|
||||||
// Create all builtins
|
// Create all builtins
|
|
@ -11,7 +11,7 @@ use mlua::{prelude::*, Compiler as LuaCompiler};
|
||||||
use tokio::fs;
|
use tokio::fs;
|
||||||
use tokio::sync::Mutex as AsyncMutex;
|
use tokio::sync::Mutex as AsyncMutex;
|
||||||
|
|
||||||
use crate::lua::{
|
use crate::lune::lua::{
|
||||||
table::TableBuilder,
|
table::TableBuilder,
|
||||||
task::{TaskScheduler, TaskSchedulerScheduleExt},
|
task::{TaskScheduler, TaskSchedulerScheduleExt},
|
||||||
};
|
};
|
|
@ -2,7 +2,7 @@ use async_trait::async_trait;
|
||||||
use futures_util::Future;
|
use futures_util::Future;
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
|
|
||||||
use crate::{lua::table::TableBuilder, lua::task::TaskScheduler};
|
use crate::lune::{lua::table::TableBuilder, lua::task::TaskScheduler};
|
||||||
|
|
||||||
use super::task::TaskSchedulerAsyncExt;
|
use super::task::TaskSchedulerAsyncExt;
|
||||||
|
|
|
@ -12,7 +12,7 @@ use hyper::{Body, Request, Response};
|
||||||
use hyper_tungstenite::{is_upgrade_request as is_ws_upgrade_request, upgrade as ws_upgrade};
|
use hyper_tungstenite::{is_upgrade_request as is_ws_upgrade_request, upgrade as ws_upgrade};
|
||||||
use tokio::task;
|
use tokio::task;
|
||||||
|
|
||||||
use crate::{
|
use crate::lune::{
|
||||||
lua::table::TableBuilder,
|
lua::table::TableBuilder,
|
||||||
lua::task::{TaskScheduler, TaskSchedulerAsyncExt, TaskSchedulerScheduleExt},
|
lua::task::{TaskScheduler, TaskSchedulerAsyncExt, TaskSchedulerScheduleExt},
|
||||||
};
|
};
|
|
@ -22,7 +22,7 @@ use hyper_tungstenite::{
|
||||||
};
|
};
|
||||||
use tokio_tungstenite::MaybeTlsStream;
|
use tokio_tungstenite::MaybeTlsStream;
|
||||||
|
|
||||||
use crate::lua::table::TableBuilder;
|
use crate::lune::lua::table::TableBuilder;
|
||||||
|
|
||||||
const WEB_SOCKET_IMPL_LUA: &str = r#"
|
const WEB_SOCKET_IMPL_LUA: &str = r#"
|
||||||
return freeze(setmetatable({
|
return freeze(setmetatable({
|
|
@ -4,7 +4,7 @@ use console::{colors_enabled, set_colors_enabled, style, Style};
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
|
|
||||||
use crate::lua::task::TaskReference;
|
use crate::lune::lua::task::TaskReference;
|
||||||
|
|
||||||
const MAX_FORMAT_DEPTH: usize = 4;
|
const MAX_FORMAT_DEPTH: usize = 4;
|
||||||
|
|
|
@ -2,7 +2,7 @@ use std::future::Future;
|
||||||
|
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
|
|
||||||
use crate::lua::async_ext::LuaAsyncExt;
|
use crate::lune::lua::async_ext::LuaAsyncExt;
|
||||||
|
|
||||||
pub struct TableBuilder {
|
pub struct TableBuilder {
|
||||||
lua: &'static Lua,
|
lua: &'static Lua,
|
|
@ -6,7 +6,7 @@ use futures_util::Future;
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
use tokio::time::{sleep, Instant};
|
use tokio::time::{sleep, Instant};
|
||||||
|
|
||||||
use crate::lua::task::TaskKind;
|
use crate::lune::lua::task::TaskKind;
|
||||||
|
|
||||||
use super::super::{
|
use super::super::{
|
||||||
scheduler::TaskReference, scheduler::TaskScheduler, scheduler_handle::TaskSchedulerAsyncHandle,
|
scheduler::TaskReference, scheduler::TaskScheduler, scheduler_handle::TaskSchedulerAsyncHandle,
|
|
@ -5,13 +5,11 @@ use mlua::prelude::*;
|
||||||
use mlua::Compiler as LuaCompiler;
|
use mlua::Compiler as LuaCompiler;
|
||||||
use tokio::task::LocalSet;
|
use tokio::task::LocalSet;
|
||||||
|
|
||||||
pub(crate) mod builtins;
|
pub mod builtins;
|
||||||
pub(crate) mod importer;
|
pub mod importer;
|
||||||
pub(crate) mod lua;
|
pub mod lua;
|
||||||
|
|
||||||
mod error;
|
mod error;
|
||||||
#[cfg(test)]
|
|
||||||
mod tests;
|
|
||||||
|
|
||||||
pub use error::LuneError;
|
pub use error::LuneError;
|
||||||
|
|
|
@ -13,9 +13,6 @@ use std::process::ExitCode;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
|
|
||||||
pub(crate) mod cli;
|
pub(crate) mod cli;
|
||||||
pub(crate) mod gen;
|
|
||||||
pub(crate) mod setup;
|
|
||||||
pub(crate) mod utils;
|
|
||||||
|
|
||||||
use cli::Cli;
|
use cli::Cli;
|
||||||
use console::style;
|
use console::style;
|
|
@ -2,7 +2,7 @@ use mlua::prelude::*;
|
||||||
|
|
||||||
use rbx_dom_weak::types::{Variant as DomValue, VariantType as DomType};
|
use rbx_dom_weak::types::{Variant as DomValue, VariantType as DomType};
|
||||||
|
|
||||||
use crate::{datatypes::extension::DomValueExt, instance::Instance};
|
use crate::roblox::{datatypes::extension::DomValueExt, instance::Instance};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use mlua::prelude::*;
|
use mlua::prelude::*;
|
||||||
|
|
||||||
use crate::instance::Instance;
|
use crate::roblox::instance::Instance;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
|
@ -8,4 +8,4 @@ pub mod types;
|
||||||
|
|
||||||
use result::*;
|
use result::*;
|
||||||
|
|
||||||
pub use crate::shared::userdata::*;
|
pub use crate::roblox::shared::userdata::*;
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue