PHPackages                             impulsephp/js - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. impulsephp/js

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

impulsephp/js
=============

JS engine for ImpulsePHP components

v1.0.0-beta(11mo ago)014MITTypeScript

Since Aug 3Pushed 2mo agoCompare

[ Source](https://github.com/ImpulsePHP/js)[ Packagist](https://packagist.org/packages/impulsephp/js)[ RSS](/packages/impulsephp-js/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

Impulses JS
===========

[](#impulses-js)

`impulsephp/js` est le moteur JavaScript officiel d’ImpulsePHP. Il apporte le comportement dynamique côté navigateur aux composants rendus par le serveur, sans imposer de framework front-end externe.

Ce que fait le package
----------------------

[](#ce-que-fait-le-package)

- intercepte les actions déclarées avec `data-action-*` ;
- déclenche des mises à jour partielles en AJAX ;
- expose une API d’événements globale via `window.Impulse` ;
- synchronise le `localStorage` avec le backend ;
- fournit des briques prêtes à l’emploi pour les interactions, la recherche instantanée et les toasts ;
- gère une navigation client compatible avec les pages ImpulsePHP.

Prérequis
---------

[](#prérequis)

- Node.js et npm ;
- une application ImpulsePHP capable de servir le bundle généré.

Installation
------------

[](#installation)

Depuis le dossier `js/` :

```
npm install
```

Build et développement
----------------------

[](#build-et-développement)

```
npm run build
```

Pour un développement en surveillance continue :

```
npm run watch
```

Exemple d’intégration
---------------------

[](#exemple-dintégration)

Incluez le bundle généré dans votre layout principal :

```

```

Une fois chargé, le script initialise automatiquement le moteur, branche les événements, active la synchronisation du `localStorage` et expose `window.Impulse`.

Exemple d’usage côté navigateur :

```
window.Impulse.on('cart.updated', (payload) => {
  console.log('Panier mis à jour', payload);
});

window.Impulse.emit('cart.updated', { count: 3 });
```

API JavaScript
--------------

[](#api-javascript)

L’objet global `window.Impulse` expose notamment :

- `emit(event, payload, options?)`
- `updateComponent(...)`
- `on(event, callback)`
- `off(event, callback)`

Synchronisation du localStorage
-------------------------------

[](#synchronisation-du-localstorage)

Le moteur déclenche un événement `impulse-localstorage` à chaque modification observée du `localStorage`, y compris lorsqu’elle provient d’un autre onglet.

```
window.addEventListener('impulse-localstorage', (event) => {
  const { key, value } = event.detail;
  console.log('Changement localStorage :', key, value);
});
```

Documentation complémentaire
----------------------------

[](#documentation-complémentaire)

Des guides détaillés sont disponibles dans `docs/` :

- `docs/router.md`
- `docs/events.md`
- `docs/localStorage.md`
- `docs/interactions.md`
- `docs/translation.md`
- `docs/livesearch.md`
- `docs/charactercounter.md`

DevTools expérimentaux
----------------------

[](#devtools-expérimentaux)

Un serveur léger de développement est fourni dans `devtools/server.js`.

```
node devtools/server.js
```

Chargez ensuite le bundle de DevTools après le bundle principal :

```

```

L’interface est prévue pour être consultée sur `http://localhost:1337`.

Tests
-----

[](#tests)

```
npm test
```

Licence
-------

[](#licence)

MIT

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance70

Regular maintenance activity

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity22

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

335d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/39504941?v=4)[Pixelee](/maintainers/Pixelee)[@Pixelee](https://github.com/Pixelee)

---

Top Contributors

[![PixeleeCode](https://avatars.githubusercontent.com/u/56721751?v=4)](https://github.com/PixeleeCode "PixeleeCode (18 commits)")

### Embed Badge

![Health badge](/badges/impulsephp-js/health.svg)

```
[![Health](https://phpackages.com/badges/impulsephp-js/health.svg)](https://phpackages.com/packages/impulsephp-js)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
