Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
generator-hornet-js
Advanced tools
Le module Node « generator-hornet-js » contient les éléments de création d'une application Hornet JS. Il est basé sur la librairie Yeoman
.
npm install -g hornet-js-build
Yeoman est un générateur d'application utilisé pour mettre en place l'architecture de base d'un projet suivant une recette pré-établie, un template.
Installer Yeoman avec la ligne de commande npm install -g yo
Installer le template d'application Hornet avec la commande npm install -g generator-hornet-js
Tout d'abord, il faut créer un dossier pour accueillir votre nouveau projet et s'y placer.
mkdir nom_de_l_application && nom_de_l_application
Dans le répertoire destiné à accueillir le code de l'application, exécuter la ligne de commande suivante pour débuter la génération d'un nouveau projet basé sur hornet.js
:
yo hornet-js
L'écran suivant doit apparaître, vous devrez a ce moment rentrer les détails de votre application.
Make sure you are in the directory you want to scaffold into.
This generator can also be run with: yo hornet-js
_-----_
| |
|--(o)--| ╭──────────────────────────╮
`---------´ │ starting │
( _´U`_ ) ╰──────────────────────────╯
/___A___\ /
| ~ |
__'.___.'__
´ ` |° ´ Y `
? Nom de votre projet (dossier_courant)
Le générateur demande plusieurs informations nécessaires à l'initialisation de votre projet Hornet JS :
Nom de votre projet: (nom_de_l_application)
: par défaut, le nom du répertoire courant est suggéré comme nom technique du projetVersion de votre projet:
(1.0.0)
: version du projet (1.0.0
par défaut). Ajouter -rc.X ou X numéro de la version d'hornetJS. [Ex: 1.0.0-rc.2]Description de votre projet
: un texte court présentant succintement le projet.Version du framework (hornet-js):
(5.x.x)
: version du framework hornet-js.Host de la partie service
: URL où sont accessibles les services (partie Java Tomcat) de votre application ( par défaut : localhost:8080)ContextPath de la partie service
: nom de l'application fournissant les services (partie Java Tomcat) de votre application.Mode full spa
: si l'application est en mode full spa ou non: true
pour oui, false
pour non (false
par defaut)Pour un projet fonctionnel avec hornet-js:
Version de votre projet:
(1.0.0)
: 1.0.0 Version du framework (hornet-js):
: 5.x.xLe processus d'initialisation vous indique ensuite les fichiers créés :
create package.json
create builder.js
create index.ts
create config/default.json
create config/keys/public.txt
create config/log4js.json
create tsconfig.json
create src/resources/messages-fr-FR.json
create src/resources/messages.json
create src/resources/navigation.json
create static/img/error.gif
create static/img/fond_connexion.jpg
create static/img/icon_error.png
create static/img/key-point_bl.gif
create static/img/key-point_br.gif
create static/img/key-point_tl.gif
create static/img/key-point_tr.gif
create static/img/logoHornet.png
create src/actions/cnt/gen-cnt-actions.ts
create src/i18n/app-i18n-loader.ts
create src/middleware/authentication-api.ts
create src/middleware/authentication.ts
create src/middleware/theme-switcher.ts
create src/mock/routes.ts
create src/mock/services/data/auth/auth-service-impl-mock.ts
create src/mock/services/page/auth/auth-service-impl-mock.ts
create src/routes/cnt/gen-cnt-routes.ts
create src/routes/routes.ts
create src/services/data/auth/auth-service-data-impl.ts
create src/services/data/auth/auth-service.ts
create src/services/data/cnt/contact-service-data-impl.ts
create src/services/page/auth/auth-service-page-impl.ts
create src/services/page/auth/auth-service-page.ts
create src/services/page/cnt/contact-service-page-impl.ts
create src/services/page/cnt/contact-service-page.ts
create src/utils/roles.ts
create src/utils/urls.ts
create src/views/cnt/gen-cnt-page-validation.json
create src/views/cnt/gen-cnt-page.tsx
create src/views/gen/gen-acb-page.tsx
create src/views/gen/gen-acs-cmp.tsx
create src/views/gen/gen-aid-page.tsx
create src/views/gen/gen-cnx-page.tsx
create src/views/gen/gen-ddc-page.tsx
create src/views/gen/gen-err-page.tsx
create src/views/gen/gen-hom-page.tsx
create src/views/gen/gen-nfe-page.tsx
create src/views/layouts/hornet-app.tsx
create src/views/layouts/hornet-layout.tsx
create src/views/nav/nav-pap-page.tsx
create src/client.ts
create src/server.ts
create src/injector-context.ts
create .npmignore
create README.md
create static/index.html
create static/config-spa.json
Il est possible de fournir directement le nom du projet à la ligne de commande :
yo hornet-js nom_de_l_application
Dans ce cas, la première question n'est pas posée et la valeur passée en paramètre est utilisée.
Une fois le projet initialisé, vous devez lancer l'installation des dépendances Node.js avec la commande suivante :
hb install
La commande hb -l
listera les tâches du builder
Si vous souhaitez modifier la configuration de l'application, vous pouvez éditer le fichier suivant :
config\default.json
Pour exécuter votre nouvelle application, utilisez la commande suivante :
hb w -i
Puis, utiliser un navigateur web pour y accéder par l'url http://localhost:8888/nom_de_l_application.
Une fois le projet initialisé, vous devez lancer l'installation des dépendances Node.js avec la commande suivante :
$ hb install
Si vous souhaitez modifier la configuration de l'application, vous pouvez éditer le fichier suivant :
static\config-spa.json
Afin d'utiliser le mode FullSPA, il faut compiler, puis générer toutes les sources au format javascript
$ hb prepare-package
Le mode FullSPA nécessite d'avoir dans le répertoire 'static' les fichiers:
Pour ce faire, une commande est disponible :
$ hb prepare-package:spa
Exemple de configuration Apache :
CHEMIN_ABSOLU_APPLICATION
: C:/home/workspace/HornetTest/staticNOM_APPLICATION
: hornettest-spaNOM_APPLICATION_SERVICE
: hornettest-serviceRemarque : CHEMIN_ABSOLU_APPLICATION
doit pointer vers le répertoire qui contient la partie static
de l'application.
Alias /NOM_APPLICATION "{CHEMIN_ABSOLU_APPLICATION}"
<Directory "{CHEMIN_ABSOLU_APPLICATION}">
#Options Indexes FollowSymLinks
#Require all granted
Options +FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
RewriteEngine on
# Redirection du contexte racine vers la page d'accueil
RewriteRule ^/NOM_APPLICATION/$ /NOM_APPLICATION/accueil [R]
# Reécrire les routes applicatives (les URI du type /NOM_APPLICATION/route, sans . dans le chemin) pour les renvoyer vers le client js (index.html)
RewriteRule ^/NOM_APPLICATION/[^\.]*$ /NOM_APPLICATION/index.html [PT]
<Location "/{NOM_APPLICATION_SERVICE}/">
Header set Access-Control-Allow-Origin "*"
ProxyPass "http://localhost:8080/{NOM_APPLICATION_SERVICE}/"
</Location>
Utiliser un navigateur web pour y accéder par l'url http://localhost/nom_de_l_application.
FAQs
Générateur de projet d'application web Hornet JS
The npm package generator-hornet-js receives a total of 4 weekly downloads. As such, generator-hornet-js popularity was classified as not popular.
We found that generator-hornet-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.