@zerocarbon/erp-config-sdk
v1.0.15
Published
Configuration SDK for ZeroCarbon ERP - Industry configurations, UI features, and emission types
Maintainers
Readme
Zero Carbon ERP Config SDK
A comprehensive TypeScript SDK providing emission configurations and calculation utilities for carbon footprint tracking across 24+ industries.
Installation
npm install erp-config-sdkFeatures
- 24+ Industry-specific emission configurations
- Type-safe emission data structures
- Carbon intensity calculations
- Emission source generators
- Industry mapping utilities
- React Icons integration
- UI feature configurations
Industries Supported
- Alloy Manufacturing
- Aluminum Production
- Automobile/Automotive
- Aviation
- Banking & Financial Services
- Cement Production
- Chemical Manufacturing
- Construction
- Food & Beverage
- Information Technology
- Leather & Textiles
- Logistics & Transportation
- Manufacturing
- Metal Processing
- Oil & Gas/Petrochemicals
- Packaging
- Pharmaceuticals
- Pulp & Paper
- Real Estate
- Shipping & Maritime
- Steel Production
- Telecommunications
- Textile Manufacturing
- Utilities & Energy
Basic Usage
import {
getIndustryConfig,
EmissionData,
IndustryConfig,
calculateEmissionFootprint,
getIndustryFromCompanyName
} from '@zerocarbon/erp-config-sdk';
// Get configuration for a specific industry
const automobileConfig = getIndustryConfig('automobile');
// Get industry mapping from company name
const industry = getIndustryFromCompanyName('Tesla Motors');
// Type-safe emission data
const emissionData: EmissionData = {
scope1: 1200,
scope2: 800,
scope3: 2400,
total: 4400
};Industry Configuration Structure
Each industry provides:
- Scope 1 Emissions: Direct emissions from company operations
- Scope 2 Emissions: Indirect emissions from purchased energy
- Scope 3 Emissions: Indirect emissions from value chain activities
- UI Features: Icon mappings and display configurations
- API Endpoints: Integration points for emission calculations
Advanced Usage
Custom Emission Calculations
import {
formatEmissions,
generateEmissionSources,
BUSINESS_TRAVEL,
PURCHASED_ELECTRICITY_PRODUCTS
} from '@zerocarbon/erp-config-sdk';
// Format emission values
const formatted = formatEmissions(1234.567); // "1,234.57"
// Generate emission sources for a category
const sources = generateEmissionSources('SCOPE_1');React Integration
import { FaIndustry } from 'react-icons/fa';
import { getUIFeatures } from '@zerocarbon/erp-config-sdk';
const features = getUIFeatures('manufacturing');
const Icon = features.icon || FaIndustry;
function IndustryCard() {
return (
<div>
<Icon size={24} />
<span>{features.title}</span>
</div>
);
}Types
The SDK exports comprehensive TypeScript types:
// Core emission types
import type {
EmissionData,
EmissionSource,
ProcessedEmissionItem,
IndustryConfig,
CarbonIntensityData,
BillsAnalyzed,
Calculations
} from '@zerocarbon/erp-config-sdk';API
Industry Configuration Functions
getIndustryConfig(industry: string): IndustryConfig- Get complete industry configurationgetIndustryFromCompanyName(name: string): string- Map company name to industry
Emission Utilities
formatEmissions(value: number): string- Format emission values for displaygenerateEmissionSources(scope: string): EmissionSource[]- Generate emission sourcescalculateEmissionFootprint(data: EmissionData): number- Calculate total footprint
Helper Functions
getUIFeatures(industry: string)- Get UI configurations for industrygetBillManager()- Access bill management utilitiesgetCarbonIntensityData()- Access carbon intensity calculations
Dependencies
- React Icons: For industry-specific icons
- TypeScript: Full type safety and IntelliSense support
Peer Dependencies
{
"react-icons": "^4.0.0"
}Development
# Install dependencies
npm install
# Build the SDK
npm run build
# Run linting
npm run lint
# Run type checking
npm run type-checkLicense
MIT
Contributing
Contributions are welcome! Please ensure all changes include appropriate TypeScript types and maintain backward compatibility.
Support
For questions or issues, please contact the Zero Carbon ERP team.
