npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@itrocks/default-action-workflow

v0.0.5

Published

Defines shared actions across domain objects of your app

Downloads

397

Readme

npm version npm downloads GitHub issues discord

default-action-workflow

Defines shared actions across domain objects of your app.

This documentation was written by an artificial intelligence and may contain errors or approximations. It has not yet been fully reviewed by a human. If anything seems unclear or incomplete, please feel free to contact the author of this package.

Installation

npm i @itrocks/default-action-workflow

Le paquet dépend de @itrocks/action, qui sera installé automatiquement comme dépendance. Vous l'utiliserez généralement dans une application Node.js ou TypeScript basée sur l'écosystème it.rocks.

Usage

@itrocks/default-action-workflow fournit une fonction unique build() qui enregistre, dans le registre global de @itrocks/action :

  • la feuille de style par défaut des actions ;
  • les templates HTML utilisés pour l'exécution des actions ;
  • un ensemble de « workflows » standards reliant des actions entre elles (liste → nouveau / supprimer, login → signup / forgot-password, output → edit / print / delete, etc.).

Vous appelez build() une fois au démarrage de votre application afin que tous les modules qui consomment @itrocks/action bénéficient de ces valeurs par défaut.

Exemple minimal

import { build as buildDefaultActionWorkflow } from '@itrocks/default-action-workflow'

// Point d'entrée de votre application (par exemple index.ts)
async function bootstrap() {
  // Configure les CSS, templates et workflows d'actions par défaut
  buildDefaultActionWorkflow()

  // ... démarrez ensuite votre serveur HTTP, vos routes, etc.
}

bootstrap()

Après cet appel, tout code qui utilise @itrocks/action (par exemple vos actions de liste, d'édition, de suppression, vos écrans de login, etc.) peut tirer parti de cette configuration partagée sans avoir à re-déclarer les styles et workflows de base.

Exemple complet avec configuration d'application

Dans une application it.rocks typique, vous combinez cette configuration avec d'autres paquets (routes, config, framework…) pour centraliser l'initialisation au démarrage.

// framework.ts ou server.ts
import { build as buildDefaultActionWorkflow } from '@itrocks/default-action-workflow'
import { build as buildConfig } from '@itrocks/config'
import { build as buildFramework } from '@itrocks/framework'

export async function bootstrap() {
  // 1. Configure les workflows d'actions partagés
  buildDefaultActionWorkflow()

  // 2. Charge la configuration applicative (routes, modules métier, ...)
  await buildConfig()

  // 3. Démarre le framework (serveur HTTP, middlewares, ...)
  await buildFramework()
}

bootstrap().catch((error) => {
  // Gérer proprement les erreurs de démarrage
  console.error('Bootstrap error', error)
  process.exit(1)
})

Dans cet exemple, buildDefaultActionWorkflow() garantit que :

  • les actions de liste proposent automatiquement un lien « nouveau » et une action « supprimer » adaptée ;
  • les écrans de login exposent des actions « mot de passe oublié » et « inscription » ;
  • les vues « output » (affichage d'un objet) proposent des actions « éditer », « imprimer » et « supprimer » ;
  • les templates et la CSS par défaut sont enregistrés pour les écrans d'action.

Vous pouvez ensuite surcharger ou compléter ces comportements pour des cas spécifiques en utilisant directement les helpers de @itrocks/action.

API

Le paquet expose une seule fonction publique.

build(): void

Configure les fonctionnalités par défaut de @itrocks/action pour votre application.

Effets

L'appel à build() effectue les opérations suivantes :

  1. CSS des actions

    setActionCss(
      { file: '/@itrocks/(action)/css/action.css' }
    )
    • Enregistre une feuille de style commune pour les écrans d'action.
    • Le chemin est relatif à vos assets statiques et suit la convention it.rocks avec (action) comme partie variable.
  2. Templates HTML des actions

    setActionTemplates(
      { file: '/@itrocks/action/cjs/selectionAction.html', need: 'object' },
      { file: '/@itrocks/action/cjs/action.html' }
    )
    • selectionAction.html : utilisé lorsque l'action a besoin d'un « object » (sélection d'un objet existant avant exécution).
    • action.html : gabarit générique pour l'exécution d'une action.
  3. Workflows d'actions par défaut

    setAction('edit',   'delete')
    setAction('login',  'forgot-password')
    setAction('login',  'signup', { caption: 'Sign up' })
    setAction('list',   'new')
    setAction('list',   'delete', { need: 'object' })
    setAction('output', 'edit')
    setAction('output', 'print',  { target: undefined })
    setAction('output', 'delete')

    Pour chaque action « source », setAction(source, target, options?) enregistre une action « cible » qui apparaît habituellement dans l'interface utilisateur (bouton, lien, etc.). Les couples configurés sont :

    • edit → delete : depuis un écran d'édition, proposer une action de suppression de l'objet courant.
    • login → forgot-password : depuis l'écran de connexion, proposer un lien « mot de passe oublié ».
    • login → signup avec { caption: 'Sign up' } : ajoute un lien d'inscription (caption personnalisée).
    • list → new : depuis la liste d'objets, proposer la création d'un nouvel élément.
    • list → delete avec { need: 'object' } : suppression d'un élément sélectionné dans la liste.
    • output → edit : depuis l'affichage détaillé d'un objet, proposer l'édition.
    • output → print avec { target: undefined } : action d'impression (par exemple ouverture dans la même fenêtre / même contexte).
    • output → delete : suppression de l'objet affiché.

Signature

export function build(): void
  • Paramètres : aucun.
  • Retour : void (la fonction ne renvoie rien).
  • Utilisation : appelez-la une fois au démarrage de votre application, avant de manipuler les actions ou d'exposer vos routes HTTP.

Typical use cases

  • Démarrage rapide d'une application it.rocks : vous utilisez @itrocks/default-action-workflow pour obtenir immédiatement un ensemble cohérent d'actions (liste, nouveau, éditer, supprimer, login, signup, etc.) sans avoir à tout recâbler manuellement.

  • Configuration centralisée des actions : dans un module « framework » ou « bootstrap », vous appelez build() une fois, et tous vos autres modules (CRUD, login, affichage, impression) se branchent automatiquement sur ces workflows par défaut.

  • Base commune avant surcharges spécifiques : vous laissez @itrocks/default-action-workflow installer les liens d'actions standards, puis, pour certains écrans, vous surdéclarez des setAction(...), setActionCss(...) ou setActionTemplates(...) propres à votre projet.

  • Prototypage / démonstrations : pour une démo rapide, il suffit de combiner ce paquet avec @itrocks/action et quelques actions métier pour disposer d'un workflow complet (login, navigation liste → détail → édition → suppression, impression, etc.).