Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 2 additions & 31 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,37 +124,8 @@ jobs:
shared-key: "publish"
save-if: false

- name: Publish pjson-rs-domain to crates.io
run: cargo publish --manifest-path crates/pjs-domain/Cargo.toml --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
continue-on-error: true

- name: Wait for pjson-rs-domain to be available (up to 2 minutes)
run: |
for i in {1..24}; do
if cargo search pjson-rs-domain --limit 1 2>/dev/null | grep -q "pjson-rs-domain"; then
echo "pjson-rs-domain is now available on crates.io"
exit 0
fi
echo "Waiting for pjson-rs-domain to be available... ($i/24)"
sleep 5
done
echo "Warning: pjson-rs-domain may not be immediately available"

- name: Publish pjson-rs to crates.io
run: cargo publish --manifest-path crates/pjs-core/Cargo.toml --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
continue-on-error: true

- name: Wait for pjson-rs to be available (up to 2 minutes)
run: |
for i in {1..24}; do
if cargo search pjson-rs --limit 1 2>/dev/null | grep -q "pjson-rs"; then
echo "pjson-rs is now available on crates.io"
exit 0
fi
echo "Waiting for pjson-rs to be available... ($i/24)"
sleep 5
done
echo "Warning: pjson-rs may not be immediately available"
- name: Publish workspace to crates.io
run: cargo publish --workspace --token ${{ secrets.CARGO_REGISTRY_TOKEN }}

# Create GitHub release
github-release:
Expand Down
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ resolver = "2"
[workspace.package]
homepage = "https://github.com/bug-ops/pjs"
documentation = "https://docs.rs/pjson-rs"
version = "0.4.5"
version = "0.4.6"
authors = ["Andrei G. <k05h31@gmail.com>"]
readme = "README.md"
edition = "2024"
Expand Down Expand Up @@ -43,8 +43,8 @@ memchr = "2.6"
mimalloc = "0.1"
once_cell = "1.21"
parking_lot = "0.12"
pjson-rs-domain = { path = "crates/pjs-domain" }
pjson-rs = { path = "crates/pjs-core" }
pjson-rs-domain = { version = "0.4.6",path = "crates/pjs-domain" }
pjson-rs = { version = "0.4.6", path = "crates/pjs-core" }
priority-queue = "2.0"
prometheus = "0.14"
proptest = "1.4"
Expand Down
2 changes: 1 addition & 1 deletion crates/pjs-core/src/domain/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
//! and domain events. No dependencies on infrastructure concerns.

// Re-export domain types from pjs-domain crate (WASM-compatible)
pub use pjs_domain::{DomainError, DomainResult, entities, events, value_objects};
pub use pjson_rs_domain::{DomainError, DomainResult, entities, events, value_objects};

// pjs-core specific domain modules
pub mod aggregates;
Expand Down
2 changes: 1 addition & 1 deletion crates/pjs-domain/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ authors = { workspace = true }
publish = true

[lib]
name = "pjs_domain"
name = "pjson_rs_domain"
path = "src/lib.rs"

[dependencies]
Expand Down
4 changes: 2 additions & 2 deletions crates/pjs-domain/src/value_objects/schema.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ impl SchemaId {
///
/// # Examples
/// ```
/// # use pjs_domain::value_objects::SchemaId;
/// # use pjson_rs_domain::value_objects::SchemaId;
/// let schema_id = SchemaId::new("user-profile-v1");
/// ```
pub fn new(id: impl Into<String>) -> Self {
Expand Down Expand Up @@ -56,7 +56,7 @@ impl std::fmt::Display for SchemaId {
///
/// # Examples
/// ```
/// # use pjs_domain::value_objects::{Schema, SchemaType};
/// # use pjson_rs_domain::value_objects::{Schema, SchemaType};
/// let schema = Schema::Object {
/// properties: vec![
/// ("id".to_string(), Schema::Integer { minimum: Some(1), maximum: None }),
Expand Down
4 changes: 2 additions & 2 deletions crates/pjs-domain/tests/events_comprehensive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
//! - EventId generation

use chrono::Utc;
use pjs_domain::{
use pjson_rs_domain::{
events::{
DomainEvent, EventStore, InMemoryEventStore, PerformanceMetrics, PriorityDistribution,
SessionState,
Expand Down Expand Up @@ -692,7 +692,7 @@ mod session_state_tests {
}

mod event_id_tests {
use pjs_domain::events::EventId;
use pjson_rs_domain::events::EventId;

#[test]
fn test_event_id_new() {
Expand Down
4 changes: 2 additions & 2 deletions crates/pjs-domain/tests/frame_comprehensive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
//! Tests cover all frame types (Skeleton, Patch, Complete, Error),
//! frame operations, validation, metadata, and edge cases.

use pjs_domain::entities::frame::{Frame, FramePatch, FrameType, PatchOperation};
use pjs_domain::value_objects::{JsonData, JsonPath, Priority, StreamId};
use pjson_rs_domain::entities::frame::{Frame, FramePatch, FrameType, PatchOperation};
use pjson_rs_domain::value_objects::{JsonData, JsonPath, Priority, StreamId};
use std::collections::HashMap;

// ============================================================================
Expand Down
2 changes: 1 addition & 1 deletion crates/pjs-domain/tests/json_data_comprehensive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! Tests cover all variants (Null, Bool, Number, String, Array, Object),
//! conversions, edge cases, and memory operations.

use pjs_domain::value_objects::JsonData;
use pjson_rs_domain::value_objects::JsonData;
use std::collections::HashMap;

// ============================================================================
Expand Down
2 changes: 1 addition & 1 deletion crates/pjs-domain/tests/schema_comprehensive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! Tests cover schema creation, validation rules, type checking,
//! cost estimation, and error handling.

use pjs_domain::value_objects::{Schema, SchemaId, SchemaType, SchemaValidationError};
use pjson_rs_domain::value_objects::{Schema, SchemaId, SchemaType, SchemaValidationError};
use std::collections::HashMap;

// ============================================================================
Expand Down
2 changes: 1 addition & 1 deletion crates/pjs-domain/tests/stream_comprehensive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
//! - Error conditions
//! - Progress calculation

use pjs_domain::{
use pjson_rs_domain::{
entities::{
Stream,
frame::FrameType,
Expand Down
8 changes: 4 additions & 4 deletions crates/pjs-wasm/src/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
use crate::priority_assignment::{PriorityAssigner, group_by_priority, sort_priorities};
use crate::priority_config::PriorityConfigBuilder;
use crate::security::{SecurityConfig, validate_input_size};
use pjs_domain::entities::Frame;
use pjs_domain::entities::frame::FramePatch;
use pjs_domain::value_objects::{JsonData, Priority, StreamId};
use pjson_rs_domain::entities::Frame;
use pjson_rs_domain::entities::frame::FramePatch;
use pjson_rs_domain::value_objects::{JsonData, Priority, StreamId};
use std::collections::HashMap;
use wasm_bindgen::prelude::*;

Expand Down Expand Up @@ -359,7 +359,7 @@ impl Default for PjsParser {
#[cfg(test)]
mod tests {
use super::*;
use pjs_domain::entities::frame::FrameType;
use pjson_rs_domain::entities::frame::FrameType;

#[test]
fn test_parser_creation() {
Expand Down
6 changes: 3 additions & 3 deletions crates/pjs-wasm/src/priority_assignment.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! This module provides WASM-compatible priority assignment for JSON paths.
//! It analyzes JSON structure and assigns priorities based on configurable rules.

use pjs_domain::value_objects::{JsonData, JsonPath, Priority};
use pjson_rs_domain::value_objects::{JsonData, JsonPath, Priority};
use std::collections::HashMap;

/// Priority assignment rules configuration
Expand Down Expand Up @@ -130,7 +130,7 @@ impl PriorityAssigner {
// Extract field name from path
let field_name = if let Some(segment) = path.last_segment() {
match segment {
pjs_domain::value_objects::PathSegment::Key(key) => Some(key),
pjson_rs_domain::value_objects::PathSegment::Key(key) => Some(key),
_ => None,
}
} else {
Expand Down Expand Up @@ -197,7 +197,7 @@ impl PriorityAssigner {
}

// Check field name patterns
if let Some(pjs_domain::value_objects::PathSegment::Key(key)) = path.last_segment() {
if let Some(pjson_rs_domain::value_objects::PathSegment::Key(key)) = path.last_segment() {
if self
.config
.background_patterns
Expand Down
2 changes: 1 addition & 1 deletion crates/pjs-wasm/src/priority_constants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
//! making it easier to use common priority levels without memorizing
//! numeric values.

use pjs_domain::value_objects::Priority;
use pjson_rs_domain::value_objects::Priority;
use wasm_bindgen::prelude::*;

/// Priority constants for JavaScript.
Expand Down
8 changes: 4 additions & 4 deletions crates/pjs-wasm/src/streaming.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
use crate::priority_assignment::PriorityAssigner;
use crate::priority_config::PriorityConfigBuilder;
use crate::security::{SecurityConfig, validate_input_size};
use pjs_domain::entities::Frame;
use pjs_domain::entities::frame::FrameType;
use pjs_domain::value_objects::{JsonData, Priority, StreamId};
use pjson_rs_domain::entities::Frame;
use pjson_rs_domain::entities::frame::FrameType;
use pjson_rs_domain::value_objects::{JsonData, Priority, StreamId};
use std::collections::HashMap;
use wasm_bindgen::prelude::*;

Expand Down Expand Up @@ -427,7 +427,7 @@ impl PriorityStream {
min_priority: Priority,
) -> Result<Vec<Frame>, String> {
use crate::priority_assignment::{group_by_priority, sort_priorities};
use pjs_domain::entities::frame::FramePatch;
use pjson_rs_domain::entities::frame::FramePatch;

let max_depth = self.security_config.max_depth();

Expand Down
2 changes: 1 addition & 1 deletion crates/pjs-wasm/tests/streaming_comprehensive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
//! Note: Core PriorityStream functionality is tested through WASM-bindgen-test in the source file.
//! These tests focus on supporting infrastructure that can be tested in standard Rust.

use pjs_domain::value_objects::{JsonData, Priority};
use pjs_wasm::security::{SecurityConfig, validate_input_size};
use pjson_rs_domain::value_objects::{JsonData, Priority};
use std::collections::HashMap;

// === SecurityConfig Tests ===
Expand Down