Package Exports
- integrity.js
- integrity.js/src/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (integrity.js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
🚀 Integrity.js v1.0
The Mobile-First React Enhancement Framework
Transform your React apps with automatic mobile performance optimization, memory management, and device-aware rendering.
⚡ Quick Start
npm install integrity.jsimport Integrity, { useMemory, useDevice } from 'integrity.js'
function App() {
const memory = Integrity.useMemory('50MB')
const device = Integrity.useDevice()
return (
<div memory-limit="50MB" device-target="mobile">
<h1>Mobile-Optimized App</h1>
<p>Memory: {memory.used}MB / {memory.limit}MB</p>
<p>Device: {device.isMobile ? 'Mobile' : 'Desktop'}</p>
<img
src="photo.jpg"
mobile-quality="auto"
lazy-threshold="100px"
/>
</div>
)
}
export default Integrity.enhance(App)🎯 Features
🧠 Smart Memory Management
- Real-time memory monitoring
- Automatic cleanup when limits reached
- Memory-aware component rendering
- Built-in garbage collection triggers
📱 Device-Aware Optimization
- Automatic mobile/desktop detection
- Low-end device performance scaling
- Network condition adaptation
- Battery-aware feature reduction
🖼️ Intelligent Image Loading
- Device-appropriate image quality
- Automatic lazy loading
- Memory-efficient image caching
- Progressive loading strategies
⚡ Performance Monitoring
- Real-time FPS tracking
- Render time optimization
- Automatic performance degradation
- Battery usage awareness
🎣 Mobile-First Hooks
useMemory(limit)
Monitor and manage memory usage in real-time.
const memory = useMemory('100MB')
// Returns: { used: 45.2, limit: 100, percentage: 45, isNearLimit: false }useDevice()
Get comprehensive device information and capabilities.
const device = useDevice()
// Returns: { isMobile: true, isLowEnd: false, pixelRatio: 2, memoryGB: 4 }usePerformance(targetFPS)
Track performance metrics and optimize accordingly.
const perf = usePerformance(60)
// Returns: { fps: 58, renderTime: 12.3, isPerformant: true }useBattery()
Monitor battery status and adapt features.
const battery = useBattery()
// Returns: { level: 85, charging: false, chargingTime: Infinity }useSmartImage(src, options)
Intelligent image loading with automatic optimization.
const image = useSmartImage('photo.jpg', { quality: 'auto' })
// Returns: { src: 'optimized-photo.jpg', loading: false, error: false }🎨 Mobile Attributes
Enhance any JSX element with mobile-first attributes:
<div
memory-limit="50MB" // Set memory limits
device-target="mobile" // Target specific devices
performance-budget="16ms" // Set performance budgets
auto-cleanup={true} // Enable automatic cleanup
>
<img
src="image.jpg"
mobile-quality="auto" // Auto-optimize image quality
lazy-threshold="100px" // Custom lazy loading distance
memory-priority="high" // Memory management priority
/>
</div>🔧 Configuration
import Integrity from 'integrity.js'
Integrity.configure({
memoryLimit: '100MB',
performanceTarget: 60,
mobileFirst: true,
autoOptimize: true
})🚀 Enhancement API
Integrity.enhance(Component)
Enhance any React component with mobile-first capabilities:
const EnhancedApp = Integrity.enhance(MyComponent)withIntegrity(Component)
Higher-order component for Integrity.js enhancement:
const MyComponent = withIntegrity(({ memory, device }) => (
<div>Memory: {memory.used}MB</div>
))📊 Performance Benefits
- 50% reduction in mobile memory usage
- 2x faster image loading on mobile devices
- 60 FPS maintained on low-end Android devices
- Automatic optimization based on device capabilities
- Zero configuration required for basic optimizations
🌟 Real-World Example
import Integrity, { useMemory, useDevice, useAdaptiveFeatures } from 'integrity.js'
function ProductGallery({ products }) {
const memory = useMemory('75MB')
const device = useDevice()
const features = useAdaptiveFeatures()
return (
<div
memory-limit="75MB"
device-target={device.isMobile ? 'mobile' : 'desktop'}
>
{products.map(product => (
<div key={product.id}>
<img
src={product.image}
mobile-quality={device.isLowEnd ? 'low' : 'auto'}
lazy-threshold="200px"
memory-priority="medium"
/>
<h3>{product.name}</h3>
{features.enableAnimations && (
<AnimatedPrice price={product.price} />
)}
</div>
))}
{memory.isNearLimit && (
<div>Optimizing for better performance...</div>
)}
</div>
)
}
export default Integrity.enhance(ProductGallery)🛠️ Requirements
- React >= 16.8.0
- Modern browser with ES6 support
- Node.js >= 14.0.0
📄 License
MIT License - see LICENSE file for details.
🏢 About
Built by CC Integrity LLC - Specialists in mobile web performance.
Transform your React apps for the mobile-first world. 🚀