From b4224f3b6b349c7786db4f217c488317fafdcb2c Mon Sep 17 00:00:00 2001 From: Lev Date: Mon, 27 Nov 2023 11:35:51 -0800 Subject: [PATCH 1/5] Add prettier --- packages/cargo-pgml-components/Cargo.lock | 2 +- packages/cargo-pgml-components/Cargo.toml | 2 +- packages/cargo-pgml-components/src/frontend/tools.rs | 8 +++++++- packages/cargo-pgml-components/src/main.rs | 8 +++++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/cargo-pgml-components/Cargo.lock b/packages/cargo-pgml-components/Cargo.lock index 11d3781cb..08eea0796 100644 --- a/packages/cargo-pgml-components/Cargo.lock +++ b/packages/cargo-pgml-components/Cargo.lock @@ -126,7 +126,7 @@ dependencies = [ [[package]] name = "cargo-pgml-components" -version = "0.1.22" +version = "0.1.23" dependencies = [ "anyhow", "assert_cmd", diff --git a/packages/cargo-pgml-components/Cargo.toml b/packages/cargo-pgml-components/Cargo.toml index 491af4576..0b71f80cc 100644 --- a/packages/cargo-pgml-components/Cargo.toml +++ b/packages/cargo-pgml-components/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cargo-pgml-components" -version = "0.1.22" +version = "0.1.23" edition = "2021" authors = ["PostgresML "] license = "MIT" diff --git a/packages/cargo-pgml-components/src/frontend/tools.rs b/packages/cargo-pgml-components/src/frontend/tools.rs index 1d78a11c3..f1f25abf7 100644 --- a/packages/cargo-pgml-components/src/frontend/tools.rs +++ b/packages/cargo-pgml-components/src/frontend/tools.rs @@ -11,7 +11,7 @@ use std::time::Duration; use notify_debouncer_full::{new_debouncer, notify::*, DebounceEventResult}; /// Required tools. -static TOOLS: &[&str] = &["sass", "rollup"]; +static TOOLS: &[&str] = &["sass", "rollup", "prettier"]; static ROLLUP_PLUGINS: &[&str] = &["@rollup/plugin-terser", "@rollup/plugin-node-resolve"]; static NVM_EXEC: &'static str = "/tmp/pgml-components-nvm.sh"; static NVM_SOURCE: &'static str = "https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh"; @@ -182,6 +182,12 @@ pub fn watch() { std::thread::sleep(std::time::Duration::MAX); } +pub fn lint() { + unwrap_or_exit!(execute_with_nvm( + Command::new("prettier").arg("--write").arg("src/**/*.js") + )); +} + fn rebuild() { unwrap_or_exit!(execute_command( Command::new("cargo").arg("pgml-components").arg("bundle") diff --git a/packages/cargo-pgml-components/src/main.rs b/packages/cargo-pgml-components/src/main.rs index 4c7c33aea..2e199f0ea 100644 --- a/packages/cargo-pgml-components/src/main.rs +++ b/packages/cargo-pgml-components/src/main.rs @@ -76,8 +76,11 @@ enum Commands { #[command(subcommand)] LocalDev(LocalDevCommands), - /// Watch for local changes, + /// Watch for local changes Watch, + + /// Lint your code + Lint, } #[derive(Subcommand, Debug)] @@ -119,6 +122,9 @@ fn main() { Commands::Watch => { frontend::tools::watch(); } + Commands::Lint => { + frontend::tools::lint(); + } } } } From bace11f36db9bf8c8b6b1938f977cfd064b3073d Mon Sep 17 00:00:00 2001 From: Lev Date: Mon, 27 Nov 2023 11:44:16 -0800 Subject: [PATCH 2/5] check --- .../src/frontend/tools.rs | 24 +++++++++++++++---- packages/cargo-pgml-components/src/main.rs | 9 ++++--- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/packages/cargo-pgml-components/src/frontend/tools.rs b/packages/cargo-pgml-components/src/frontend/tools.rs index f1f25abf7..25e48669e 100644 --- a/packages/cargo-pgml-components/src/frontend/tools.rs +++ b/packages/cargo-pgml-components/src/frontend/tools.rs @@ -182,10 +182,26 @@ pub fn watch() { std::thread::sleep(std::time::Duration::MAX); } -pub fn lint() { - unwrap_or_exit!(execute_with_nvm( - Command::new("prettier").arg("--write").arg("src/**/*.js") - )); +pub fn lint(check: bool) { + let mut cmd = Command::new("prettier"); + if check { + cmd.arg("--check"); + } else { + cmd.arg("--write"); + } + + cmd.arg("src/**/*.js"); + + print("linting..."); + + let result = execute_with_nvm(&mut cmd); + + if check && result.is_err() { + error("diff detected"); + error!("{}", result.err().unwrap()); + } else { + info("ok"); + } } fn rebuild() { diff --git a/packages/cargo-pgml-components/src/main.rs b/packages/cargo-pgml-components/src/main.rs index 2e199f0ea..65ae67015 100644 --- a/packages/cargo-pgml-components/src/main.rs +++ b/packages/cargo-pgml-components/src/main.rs @@ -80,7 +80,10 @@ enum Commands { Watch, /// Lint your code - Lint, + Lint { + #[arg(long, default_value = "false")] + check: bool, + }, } #[derive(Subcommand, Debug)] @@ -122,8 +125,8 @@ fn main() { Commands::Watch => { frontend::tools::watch(); } - Commands::Lint => { - frontend::tools::lint(); + Commands::Lint { check } => { + frontend::tools::lint(check); } } } From 01c135824f57201678da48c7da35d350b1466d74 Mon Sep 17 00:00:00 2001 From: Lev Date: Mon, 27 Nov 2023 11:52:47 -0800 Subject: [PATCH 3/5] Ok --- .../cargo-pgml-components/src/frontend/tools.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/cargo-pgml-components/src/frontend/tools.rs b/packages/cargo-pgml-components/src/frontend/tools.rs index 25e48669e..6052d7c99 100644 --- a/packages/cargo-pgml-components/src/frontend/tools.rs +++ b/packages/cargo-pgml-components/src/frontend/tools.rs @@ -196,12 +196,16 @@ pub fn lint(check: bool) { let result = execute_with_nvm(&mut cmd); - if check && result.is_err() { - error("diff detected"); - error!("{}", result.err().unwrap()); - } else { - info("ok"); + if let Err(err) = result { + if check { + error("diff detected"); + } + + error!("{}", err); + exit(1); } + + info("ok"); } fn rebuild() { From 326c6fdf7cfd8a9b5dc15cf5e4e9cd5193a9c31d Mon Sep 17 00:00:00 2001 From: Lev Date: Mon, 27 Nov 2023 12:20:29 -0800 Subject: [PATCH 4/5] push From 27389a4127d6526e8642c93e913552becd876317 Mon Sep 17 00:00:00 2001 From: Lev Date: Mon, 27 Nov 2023 12:21:51 -0800 Subject: [PATCH 5/5] wording --- packages/cargo-pgml-components/src/frontend/tools.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/cargo-pgml-components/src/frontend/tools.rs b/packages/cargo-pgml-components/src/frontend/tools.rs index 6052d7c99..69d3731ca 100644 --- a/packages/cargo-pgml-components/src/frontend/tools.rs +++ b/packages/cargo-pgml-components/src/frontend/tools.rs @@ -199,6 +199,8 @@ pub fn lint(check: bool) { if let Err(err) = result { if check { error("diff detected"); + } else { + error!("error"); } error!("{}", err);