A suite of Angular libraries that helps you build secure, browser-integrated applications with a clean developer experience.
Advanced regular expression security and ReDoS prevention
π Documentation: https://gaspar1992.github.io/angular-helpers/docs/security
π― What it solves:
- ReDoS (Regular Expression Denial of Service) attacks caused by malicious or expensive patterns.
- Safe validation of complex regular expressions without blocking your app.
- Controlled regex execution with timeout and security analysis.
β¨ Key features:
- π‘οΈ ReDoS prevention with automatic risky pattern checks.
- β‘ Web Worker execution to avoid blocking the main thread.
- π Configurable timeout to limit expensive regex operations.
- π Risk analysis with complexity metrics and recommendations.
- ποΈ Builder pattern for fluent secure-regex configuration.
π‘ Example usage:
// Safe regex validation for user input
const result = await securityService.testRegex(userInput, text, {
timeout: 5000,
safeMode: true,
});
// Builder pattern for complex patterns
const { pattern, security } = RegexSecurityService.builder()
.pattern('\\d+')
.timeout(3000)
.safeMode()
.build();π₯ Installation:
pnpm add @angular-helpers/securityUnified and safe browser API access with permissions and robust error handling
π Documentation: https://gaspar1992.github.io/angular-helpers/docs/browser-web-apis
π― What it solves:
- API fragmentation across browsers.
- Permission complexity for sensitive browser features.
- Compatibility checks that usually require repetitive boilerplate.
- Inconsistent error handling across web APIs.
β¨ Key features:
- πΈ Camera access and stream control.
- πΊοΈ Geolocation with watch support and typed errors.
- π Notifications with permission-aware behavior.
- π Clipboard utilities.
- π₯ Media Devices enumeration and media access.
- π Centralized permission utilities.
- β Device/browser API wrappers with fallback checks.
- β‘ Signal Fn primitives β 14 zero-boilerplate reactive inject functions (
injectPageVisibility,injectResizeObserver,injectIntersectionObserver,injectNetworkInformation,injectScreenOrientation,injectMutationObserver,injectPerformanceObserver,injectIdleDetector,injectGamepad,injectClipboard,injectGeolocation,injectBattery,injectWakeLock,injectEyeDropper) with automatic cleanup andviewChildsignal support. - π Web Locks β Cross-tab resource coordination.
- πΎ Storage Manager β Storage quotas and persistence.
- π¦ Compression Streams β Gzip/deflate compression.
π₯ Installation:
pnpm add @angular-helpers/browser-web-apisAngular HTTP over Web Workers β off-main-thread HTTP pipelines
π Documentation: https://gaspar1992.github.io/angular-helpers/docs/worker-http
π― What it solves:
- Main-thread blocking from heavy HTTP payloads and serialization.
- Request signing complexity with WebCrypto HMAC.
- Serialization overhead with pluggable format support.
β¨ Key features:
- π Off-main-thread HTTP pipelines via Web Workers.
- π Typed RPC bridge for structured worker communication.
- π WebCrypto HMAC request signing.
- π¦ Pluggable serializers (TOON, seroval, auto-detect).
- π‘ Telemetry hooks for APM / metrics integration.
- π SSR + hydration β automatic fallback with transfer cache support.
- π οΈ
ng addschematic for zero-config setup.
π₯ Installation:
pnpm add @angular-helpers/worker-httpA modern Angular wrapper for OpenLayers with modular architecture and standalone components
π Documentation: https://gaspar1992.github.io/angular-helpers/docs/openlayers
π― What it solves:
- Imperative OpenLayers API β wraps it in declarative Angular components.
- Bundle bloat β modular sub-entry points import only what you need.
- Military mapping β ellipses, sectors, NATO symbology out of the box.
β¨ Key features:
- πΊοΈ Standalone components for maps, layers, controls, interactions, and overlays.
- π‘ Signals integration β native Angular signals for reactive state.
- π― Modular loading β
core,layers,controls,interactions,overlays,militarysub-entries. - πͺ Military features β ellipses, sectors, donuts, MIL-STD-2525 symbols via
milsymbol. - π¬ Popups & tooltips β declarative and programmatic overlay API.
π₯ Installation:
pnpm add @angular-helpers/openlayers ol- Unified APIs for common browser capabilities.
- Strict TypeScript support and better autocomplete.
- Practical examples and ready-to-use patterns.
- End-to-end browser test coverage in CI.
- ReDoS prevention tools for regex-heavy flows.
- Permission-aware wrappers for sensitive APIs.
- Worker-based isolation for expensive operations.
- Predictable error handling paths.
- Built for modern Angular versions and patterns.
- Browser-focused utilities tested with Playwright.
- Actively maintained workflows and test harnesses.
# Clone the repository
git clone https://github.com/Gaspar1992/angular-helpers
cd angular-helpers
# Install dependencies
pnpm install
# Generate local SSL certificates
pnpm run ssl:generate
# Start demo app over HTTPS
pnpm run start:https# Install the packages you need
pnpm add @angular-helpers/security
pnpm add @angular-helpers/browser-web-apis
pnpm add @angular-helpers/worker-http
pnpm add @angular-helpers/openlayers olFor modern Angular standalone integration, check each package's own README.
| Feature | Angular Helpers | Manual Implementation | Other Libraries |
|---|---|---|---|
| ReDoS Protection | β Built-in | β Manual | |
| Browser APIs | β Unified | β Fragmented | |
| Worker HTTP | β Drop-in | β Complex | β None |
| OpenLayers | β Declarative | β Imperative | |
| TypeScript | β Full support | β Minimal | |
| Testing | β Included | β Manual | |
| Documentation | β Comprehensive | β Missing | |
| Support | β Active | β Team-owned only |
# Generate SSL certificates (local/CI)
pnpm run ssl:generate
# Local HTTPS development (required for secure browser APIs)
pnpm run start:https
# Build all packages
pnpm run build:packages
# Unit tests
pnpm test
# Browser tests on Chromium
pnpm run test:browser
# Browser tests for CI (Chromium, 1 worker)
pnpm run test:browser:ci
# Cross-browser smoke tests (Firefox + WebKit)
pnpm run test:browser:cross
# Workspace linting
pnpm run lintangular-helpers/
βββ packages/
β βββ security/ # π¦ @angular-helpers/security
β βββ browser-web-apis/ # π¦ @angular-helpers/browser-web-apis
β βββ worker-http/ # π¦ @angular-helpers/worker-http
β βββ openlayers/ # π¦ @angular-helpers/openlayers
βββ src/ # π Demo application
βββ public/content/blog/ # βοΈ Blog articles
βββ docs/ # π Documentation
βββ scripts/ # π§ Automation scripts
- @angular-helpers/pwa β Service Worker and PWA capabilities.
- @angular-helpers/storage β Unified storage helpers.
- @angular-helpers/openlayers β heatmap layers, clustering, and draw interactions.
- Runtime and bundle-size improvements across all packages.
- More real-world examples and demos.
Contributions are welcome.
# Fork and clone
git clone https://github.com/your-user/angular-helpers
# or fork from https://github.com/Gaspar1992/angular-helpers
cd angular-helpers
# Create a feature branch
git checkout -b feature/your-feature
# Commit and push
git commit -m "feat: add your feature"
git push origin feature/your-featureMIT License β see LICENSE for details.
Articles about library design decisions, Angular patterns, and the evolution of Angular Helpers.
They live as Markdown files in public/content/blog/ and are rendered on the web.
| Date | Article | | 2026-05-16 | openlayers v0.5.0: Proj4 projections, Geodesic precision, and WebGL MVT | | 2026-04-27 | openlayers v0.4.0: Military symbology β Ellipse, Sector, Donut, and lazy-loaded MIL-STD-2525 | | 2026-04-27 | openlayers v0.3.0: Overlays β Popups, Tooltips, and Dynamic Angular Components on the Map | | 2026-04-27 | openlayers v0.2.0: SRP-refactored interactions, Circle draw, and a native-style toolbar | | 2026-04-26 | worker-http v21.2.0: TOON serializer β 30β60% smaller postMessage payloads | | 2026-04-26 | worker-http v21.1: per-request cancellation with AbortSignal and typed timeouts | | 2026-04-25 | worker-http v1.0.0: The Journey from Proof-of-Concept to Production | | 2026-04-24 | OpenLayers for Angular β Phase 2 Complete | | 2026-04-21 | worker-http v0.7.0: hardening β cancellation that actually cancels, real timeouts, and a latent AES bug | | 2026-04-21 | security v21.3: JWT, HIBP, rate limiter, and a two-paradigm forms bridge | | 2026-04-19 | browser-web-apis v21.11: Signal-based Injection & Composition-First API | | 2026-04-19 | browser-web-apis v21.11: log levels, experimental policy, and composition-first providers | | 2026-04-18 | browser-web-apis v21.9: signal primitives for clipboard, geolocation, battery, and wake-lock | | 2026-04-18 | browser-web-apis v21.8: WebWorker request/response with timeout, signals for status | | 2026-04-18 | browser-web-apis v21.7: WebStorage that survives Safari private mode + a unified API | | 2026-04-18 | browser-web-apis v21.6: stateful WebSocket client with signals, request/response, and a real reconnect | | 2026-04-18 | browser-web-apis v21.10: Web Locks, Storage Manager, Compression Streams | | 2026-04-13 | worker-http v0.3.0: Angular HttpBackend integration β HTTP off the main thread | | 2026-04-13 | browser-web-apis v21.5: real tree-shaking, bug fixes, and signal consistency | | 2026-04-13 | browser-web-apis: robustness deep-dive β spec compliance, leak prevention, and unified architecture | | 2026-04-12 | Redesigning the web & our vision as a library ecosystem |
- π Issues & Feature Requests: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π¦ NPM Organization: npmjs.com/org/angular-helpers
β If Angular Helpers helps your team, consider starring the repository.
Made with β€οΈ by the Angular Helpers Team