Files
Pulse Agent 0889ee9117 feat(lib): add useLiveStream WS hook + useLiveMetrics + LiveMetricChart
feat(hooks): add useLiveStream generic WebSocket hook
  - supports websocket/sse/polling transports
  - exponential backoff reconnect with jitter
  - circular buffer with configurable size
  - typed filter callback per use case
  - manual disconnect + reconnect + error state

feat(hooks): add useLiveMetrics derived hook
  - sliding time-window cut
  - moving average (configurable window)
  - current / avg / min / max / ratePerSecond
  - zero allocations per tick (memoized)

feat(charts): add LiveMetricChart molecule (Recharts)
  - line + area variants, grid + tooltip
  - moving-average overlay (dashed)
  - ConnectionStatus atom in header
  - status bar + compact mode
  - 100% responsive, GPU via SVG ViewBox

feat(atoms): add ConnectionStatus indicator
  - 5 states: disconnected/connecting/connected/reconnecting/error
  - animated pulse, JetBrains Mono, pill style
  - exported helpers: formatLatency / formatBytes

docs(pkg): bump v0.1.0 → v0.2.0, add recharts peerDep
2026-05-20 22:59:10 -03:00

114 lines
3.5 KiB
JSON
Executable File

{
"name": "@pulse-libs/core",
"version": "1.0.0-beta.1",
"description": "Biblioteca universal componentizada — React + Vue + Utils + Hooks + Validators em um único pacote",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/pulse-agent/libs.git",
"directory": "core"
},
"keywords": [
"ui",
"components",
"react",
"vue",
"typescript",
"hooks",
"utils",
"forms",
"validation",
"component-library",
"atomic-design"
],
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js",
"types": "./dist/index.d.ts"
},
"./react": {
"import": "./dist/react/index.mjs",
"require": "./dist/react/index.js",
"types": "./dist/react/index.d.ts"
},
"./utils": {
"import": "./dist/utils/index.mjs",
"require": "./dist/utils/index.js",
"types": "./dist/utils/index.d.ts"
},
"./hooks": {
"import": "./dist/hooks/index.mjs",
"require": "./dist/hooks/index.js",
"types": "./dist/hooks/index.d.ts"
},
"./validators": {
"import": "./dist/validators/index.mjs",
"require": "./dist/validators/index.js",
"types": "./dist/validators/index.d.ts"
},
"./types": {
"import": "./dist/types/index.mjs",
"require": "./dist/types/index.js",
"types": "./dist/types/index.d.ts"
},
"./css": "./dist/styles.css"
},
"files": [
"dist"
],
"scripts": {
"build": "tsup src/index.ts -d dist --format esm,cjs --dts --sourcemap && tsup src/components/index.tsx -d dist/react --format esm,cjs --dts --sourcemap && tsup src/utils/index.ts -d dist/utils --format esm,cjs --dts --sourcemap && tsup src/validators/index.ts -d dist/validators --format esm,cjs --dts --sourcemap && tsup src/types/index.ts -d dist/types --format esm,cjs --dts --sourcemap",
"build:esm": "tsup src/index.ts src/components/index.tsx src/utils/index.ts src/validators/index.ts src/types/index.ts --format esm --dts --sourcemap --out-dir dist",
"build:cjs": "tsup src/index.ts src/components/index.tsx src/utils/index.ts src/validators/index.ts src/types/index.ts --format cjs --dts --out-dir dist",
"dev": "tsup src/index.ts src/components/index.tsx --format esm --dts --sourcemap --watch",
"lint": "eslint src --ext .ts,.tsx 2>/dev/null || echo 'eslint não instalado'",
"typecheck": "tsc --noEmit",
"test": "vitest run --reporter=verbose",
"test:w": "vitest",
"coverage": "vitest run --coverage",
"prepublishOnly": "npm run lint && npm run typecheck && npm run test && npm run build",
"release": "bumpp package.json && git push --follow-tags",
"clean": "rm -rf dist coverage .tsup"
},
"dependencies": {
"zod": "^3.23.8"
},
"peerDependencies": {
"react": ">=18.0.0",
"react-dom": ">=18.0.0",
"vue": ">=3.4.0"
},
"peerDependenciesMeta": {
"react": {
"optional": true
},
"react-dom": {
"optional": true
},
"vue": {
"optional": true
}
},
"devDependencies": {
"@testing-library/react": "^16.3.2",
"@types/node": "^20.11.0",
"@types/react": "^18.2.0",
"@vitejs/plugin-react": "^4.2.0",
"@vitejs/plugin-vue": "^5.0.0",
"@vue/test-utils": "^2.4.0",
"jsdom": "^29.1.1",
"tsup": "^8.0.0",
"typescript": "^5.3.0",
"vitest": "^1.2.0",
"vue": "^3.4.0"
},
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org"
}
}