UNPKG

govdata.js

Version:

A modern TypeScript package for accessing U.S. government data systems including FPDS, SAM.gov opportunities, and Wage Determinations

80 lines (57 loc) 2.44 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [0.1.0] - 2025-07-07 ### Added - Initial release - FPDS integration with full field mapping (47+ fields) - TypeScript support with full type definitions - CLI interface for all FPDS operations - Custom semaphore for concurrent request management - Comprehensive error handling with retry logic - Browser and Node.js support - 100% Python script compatibility - MQS contract processing with exact field mapping - ICSP partner processing with exact field mapping - Contract hash generation (SHA256: contract_number:award_date) - Safe data parsing utilities (parseFloatSafe, parseIntSafe, convertBooleanToString) - CSV export functionality matching Python script output - XML processing with namespace handling - Streaming support for large datasets - Request metadata tracking and performance monitoring ### Features - **Data-Only Philosophy**: Returns clean data without built-in persistence - **Zero Dependencies**: Minimal external dependencies (fast-xml-parser, commander) - **Platform Agnostic**: Works in Node.js, Deno, and browser environments - **84.89% Performance Improvement**: Over sequential processing - **Exact Field Mapping**: Replicates Python script field mapping exactly - **Individual Failure Tolerance**: Single contract failures don't stop processing - **Configurable Concurrency**: Custom semaphore with adjustable thread count - **Comprehensive Validation**: Parameter validation with helpful suggestions ### CLI Commands - `govdata fpds search` - Generic FPDS contract search - `govdata fpds mqs` - Process MQS contracts from JSON file - `govdata fpds icsp` - Process ICSP partners from JSON file - `govdata examples` - Show usage examples ### API Exports - `FPDSRequest` - Main FPDS request class - `FPDSFieldMapper` - Field mapping utilities - `MQSProcessor` - MQS contract processing - `ICSPProcessor` - ICSP partner processing - `ContractDataProcessor` - Data processing and CSV conversion - `Semaphore` - Concurrency control - `XMLProcessor` - XML parsing utilities - All TypeScript interfaces and types - Error classes and utilities ### Changed - N/A ### Deprecated - N/A ### Removed - N/A ### Fixed - N/A ### Security - N/A