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 🙏

© 2024 – Pkg Stats / Ryan Hefner

hornet-showroom

v5.4.1

Published

Projet de présentation des filières de développement hornet.js et hornet.js-lite

Downloads

6

Readme

hornet showroom

Prérequis

  • NodeJS 8.X
  • hornet-js-builder 1.X installé en global:
npm install -g hornet-js-builder

Initialisation

Récupérer les sources sur projet.

Se positionner dans le répertoire du projet hornet-showroom et lancer la commande:

hb install

Démarrage de l'application en mode développement

la commande à exécuter en mode développement est la suivante:

hb w

Elle permet de lancer l'application en mode watcher afin que les modifications soient prises en compte (ce qui entrainera un redémarrage du serveur node dans le cas d'une détection de modification).

Vérification

Vous pouvez accéder à l'application depuis l'url http://localhost:8888/hornet-showroom/

Fichier de configuration de l'application : default.json

L'ensemble de la configuration applicative du serveur NodeJS se situe dans le fichier default.json contenu dans les sources de l'application.

Ce fichier ne doit pas être modifié, excepté pour le log console. Les modifications sont à apporter dans les fichiers d'infrastructure.

Partie applicative

| Paramètre | Description | Valeur | |-----------|-------------|--------| |contextPath| Contexte de l'application déployée|Par défaut vide| |welcomePage|Page de démarrage de l'application|Passé en paramètre du ServerConfiguration| |themeUrl|Url du thème CSS|[Protocol]://[host]:[port]/hornet/themeName|

{
  "contextPath": "hornetshowroom",
  "welcomePage": "/accueil",
  ...<
}

Configuration des logs serveur

Niveau de log :

| Paramètre | Description | Valeur | |-----------|-------------|--------| |level.[all]|Niveau de log pour toute l'application|INFO| |level.monappli.view|Niveau de log spécifique pour une partie de l'application |optionnel|

 "log": {
    "levels": {
      "[all]": "DEBUG",
      "hornet-js-components.table": "TRACE"
    }
    ...

Déclaration des appenders :

| Paramètre | Description | Valeur | |-----------|-------------|--------| |type|Type d'appender|file pour un fichier simpledateFile pour un fichier contenant la dateconsole ...| |filename| Chemin absolu ou relatif au lancement du fichier de log | /var/log/nodejs/hornet-showroom/hornet-showroom-1.log| |pattern| Présent pour les types dateFile Permet de donner un pattern de date qui sera ajouté au nom du fichier.|-yyyy-MM-dd| |layout.type| Type d'affichage des messages|pattern| |layout.pattern| Schéma d'affichage des messages |"%[%d{ISO8601}|%x{tid}|%x{user}|%p|%c|%x{fn}|%m%]"|

Ex: type console

"appenders": [
	{
	    "type": "console",
	    "layout": {
	      "type": "pattern",
	      "pattern": "%[%d{ISO8601}|%x{tid}|%x{user}|%p|%c|%x{fn}|%m%]"
	    }
	}
]

ex : type fichier

"appenders": [
	{
	    "type": "dateFile",
	    "filename": "log/app.log",
	    "layout": {
	      "type": "pattern",
	      "pattern": "%d{ISO8601}|%x{tid}|%x{user}|%p|%c|%x{fn}|%m"
	    }
	}
]

Configuration des logs client

| Paramètre | Description | Valeur | |-----------|-------------|--------| |remote|Activation des remotes log|false| |level|Niveau de log|INFO|

  "logClient": {
    "remote": false,
    "level": "TRACE",
    ...

Déclaration des appenders

Type BrowserConsole :

| Paramètre | Description | Valeur | |-----------|-------------|--------| |type|Type d'appender|BrowserConsole| |layout.type| Type d'affichage des messages|THIN/BASIC/pattern/...| |layout.pattern| Schéma d'affichage des messages |"%p|%c|%m%"|

"appenders": [
{
	"type": "BrowserConsole",
	"layout": {
	  "type": "THIN"
	}
}

Type Ajax :

| Paramètre | Description | Valeur | |-----------|-------------|--------| |type|Type d'appender|Ajax| |layout.type| Type d'affichage des messages|THIN/BASIC/pattern/...| |layout.pattern| Schéma d'affichage des messages |"%p|%c|%m%"| |threshold|Seuil d'envoi des messages de log|100| |timeout|Timeout d'envoie des messages|3000| |url|URL d'envoi des logs|/logs|

"appenders": [
	{
	    "type": "Ajax",
	    "layout": {
	      "type": "BASIC"
	    },
	    "threshold": 100,
	    "timeout": 3000,
	    "url": "/log"
	}
]

Configuration Apache pour le full SPA

Préparer les sources avec le builder :

hb package:spa

Déposer les sources dans le documentroot de apache : /var/www/html

De pas oublier d'activer le module rewrite apache :

sudo a2endmod rewrite

Configuration apache 2.4 :

Alias /hornetshowroom-spa "/var/www/html/hornetshowroom-spa"
<Directory "/var/www/html/hornetshowroom-spa">
    Require all granted
</Directory>

RewriteEngine on
#Redirection du contexte racine vers la page d'accueil
RewriteRule ^/hornetshowroom-spa/$ /hornetshowroom-spa/accueil [R]
# Reécrire les routes applicatives (les URI du type /hornetshowroom-spa/route, sans . dans le chemin) pour les renvoyer vers le client js (index.html)
RewriteRule ^/hornetshowroom-spa/[^\.]*$ /hornetshowroom-spa/index.html [PT]
# réécrire les images /static/path/to/my/img /path/to/my/img
RewriteRule ^/hornetshowroom-spa/static/(.*)\.(gif|jpg|png|svg)$ /hornetshowroom-spa/$1.$2 [L,R=301]

Il est possible de pointer le documentroot vers un workspace en créant un lien symbolique.

Ex :

sudo ln -s ~/Dev/workspace-vscode/hornet-showroom/static /var/www/html/hornetshowroom-spa

Attention, Apache 2.4 remonte une 403 dans le cas d'un workspace dans le home utilisateur si celui-ci est crypté. Pour tester le cryptage, le user www-data doit pouvoir lire le répertoire

sudo -u www-data ls -l /var/www/html/hornetshowroom-spa/

Licence

hornet-showroom est sous licence cecill 2.1.

Site web : http://www.cecill.info