Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

node-atlas

NodeAtlas545GPL-2.02.0.8

Progressive realtime web framework config-driven or API-driven for building easily serverless files, websites and webapps component-based and service-oriented.

node, atlas, nodeatlas, progressive, realtime, web framework, web application, mvc2, isomorphism, website, webapp, api, rest, view, controller, model, mvc, i18n, internationalization, l10n, localization, templating, serverless, less, stylus, pug, bundle, template, server dom, url rewriting, route, cms, blog, express, socket.io, service-oriented, component-based, config-driven, api-driven, french

readme

node-atlas

For an international version of this document, follow this link.

NodeAtlas est un framework Web MVC(2) côté serveur vous permettant de créer des sites évolutifs, conformes au W3C et bonnes pratiques SEO. Il permet de faire tourner des pages localisables et indexables ou de créer des maquettes HTML uniquement avec des vues. Cependant, en activant les contrôleurs, vous pourrez développer de puissantes applications web orientées données et composants ou orientés service avec des fonctionalités modernes et temps réel !

Faites un don Travis CI Package npm Node.js Chat pour de l'Aide

NodeAtlas c'est :

  • La porte d'entrée aux développeurs front-end dans le monde de Node.js.
  • Du tout JavaScript ; pour les débutants venant des mondes PHP (Laravel) / Ruby (Rails) / Python (Django) / .NET / Java ou pour les experts JS.
  • De l'évolutivité avec :
    • des vues sans se préoccuper des contrôleurs,
    • la prise en main progressive de contrôleurs et points d'ancrage,
    • de l'internationalisation (i18n) et de la localisations (l10n) rapide,
    • la puissance d'Express (serveur web) et Socket.IO (échange client-serveur temps réel) pré-configuré, simple et ajustable,
    • les préprocesseurs EJS, Pug, Less et Stylus embarqués et prêt à l'emploi,
    • des outils interne de génération HTML sans serveur ou d'empaquetage, minifications, offuscations, optimisations de CSS et JS,
    • des parties cliente/serveur adaptables pour de l'isomorphisme et du rendu côté serveur avec des outils de votre choix comme Vue ou React,
    • ou encore ; de la manipulation de DOM côté serveur, du debug serveur dans le navigateur, de l'HTTPs facile à mettre en place.
  • De la combinaison d'instance NodeAtlas pour des architectures basés sur le service comme l'utilisation sous forme d'API REST,
  • Tous les modules npm, middleware Express/Socket.IO, des plugins utilisables (sessions, bases de données SQL/NoSQL, répartition de charge, proxy, développement à chaud).
  • Un guide pas à pas français et international, avec un support communautaire sur Gitter (Chat) FR/EN.
  • Des passionnés de web et de JavaScript <3 !
  • Et peut-être bientôt vous ?

Site officiel de NodeAtlas

Pour une documentation complète, vous pouvez vous rendre sur le site officiel de NodeAtlas (README.md mirroir ici).

Exemple de sites

Test rapide

Installer

npm install -g node-atlas

puis essayer un site standard NodeAtlas avec l'aide du README.md

node-atlas --create hello-world

ou essayer un site Vue + NodeAtlas avec rendu côté serveur avec l'aide du README.md

node-atlas --create hello-vue

Explication d'utilisation

Étape 1 - Installation

Installer NodeAtlas avec l'une des deux méthodes suivantes :

  • npm install node-atlas recommandée pour une utilisation en tant qu'API.
  • npm install -g node-atlas recommandée pour une utilisation à la ligne de commande.

Étape 2 - Configuration

Créer un fichier webconfig.json et ses fichiers de dépendances pour configurer votre site.

website.json exemple pour le développement :

{
    "languageCode": "en-gb",                /* Définir la langue principale. */
    "pageNotFound": "/page-404/",           /* Assigner une vue dédiée à la page 404. */
    "view": "common.htm",                   /* Assigner le layout global aux vues. */
    "variation": "common.json",             /* Assigner les fichiers de variations communes pour la localisation. */
    "controller": "common.js",              /* Assigner les fonctions du contrôleur appelé sur toutes les pages. */
    "post": false,                          /* Par défaut, empêcher les requêtes de page en POST. */
    "bundles": "bundles.json",              /* Définir les fichiers CSS et JS concaténés ensemble et minifiés dans un fichier exterieur. */
    "htmlGenerationBeforeResponse": true,   /* Générer la page couramment affichée dans le dossier `serverless`. */
    "cssBundlingBeforeResponse": true,      /* Minifier les CSS dans des fichiers `.min` avant de renvoyer la page. */
    "jsBundlingBeforeResponse": true,       /* Offusquer les JS dans des fichiers `.min` avant de renvoyer la page. */
    "enableLess": true,                     /* Utiliser des fichiers Less avec des fichiers `.map` pour la partie développement. */
    "routes": "route.json"                  /* Définir toutes les urls fournis par le site dans un fichier extérieur. */
}

website.prod.json exemple pour la production :

{
    "httpPort": 7777,                       /* Définir le vrai port HTTP pour l'application si le port 80 est déjà écouté. */
    "urlPort": 80,                          /* Définir le port d'accès pour l'application depuis le net (proxy). */
    "httpSecure": "security/server",        /* Définir le répertoire où trouver les fichiers `server.key` et `server.crt` pour le HTTPs. */
    "urlHostname": "www.my-website.com",    /* Définir le hostname pour l'application sur le net. */
    "urlRelativeSubPath": "example",        /* Définir un sous dossier d'exécution pour l'URL de l'application. Par exemple : `https://www.my-website.com/example/`. */
    "languageCode": "en-gb",
    "pageNotFound": "/page-404/",
    "view": "common.htm",
    "variation": "common.json",
    "controller": "common.js",
    "post": false,
    "routes": "route.json"
}

routes.json exemple :

{
    "home": {                               /* Définir une clé à utiliser comme référence pour manipuler les paramètres définis ou d'url dans le code. */
        "url": "/",                         /* Définir l'url d'accès à la page derrière cette route. */
        "output": "home.html",              /* Définir le chemin d'accès pour enregistrer le rendu au format HTML de manière statique. */
        "view": "home.htm",                 /* Assigner une vue utilisée pour présenter l'information. */
        "variation": "home.json",           /* Assigner une variation spécifique utilisée pour localiser la page. */
        "controller": "home.js"             /* Assigner un contrôleur spécifique utilisé pour la page d'accueil (afficher les derniers articles, le nombre d'inscrit, etc.). */
    },
    "presentation": {
        "url": "/presentation/",
        "output": "presentation.html",
        "view": "default.htm",              /* Même vue utilisée avec... */
        "variation": "presentation.json"    /* ...une variation différente pour générer du contenu de page différent (voir `error`). */
    },
    "members": {
        "url": "/members/",
        "output": "members.html",
        "view": "members.htm",
        "variation": "members.json",
        "controller": "members.js"
    },
    "memberV2": {                           /* Une nouvelle version de rendu pour les pages `member`. */
        "url": "/members/:member/",         /* La partie `:member` représente le membre courrament demandé... */
        "output": "members/bob.html",       /* ...et un faux utilisateur est utilisé pour un rendu statique dans le dossier des fichiers générés. */
        "view": "member.htm",
        "variation": "member.json",
        "controller": "member.js"
    },
    "member": {                             /* La vieille version de des pages `memberV2`... */
        "url": "/members-profile/:member/", /* ...avec une vieille route... */
        "redirect": "/members/:member/",    /* ...conservée pour rediriger sur la nouvelle page... */
        "statusCode": 301                   /* ...de manière permanente. */
    },
    "contact-us": {
        "url": "/contact-us/",
        "output": "contact-us.html",
        "view": "contact-us.htm",
        "variation": "contact-us.json",
        "controller": "contact-us.js",
        "post": true                        /* Permettre d'accéder à la page par demande en POST pour envoyer un email avec un formulaire. */
    },
    "home-fr-fr": {
        "url": "/francais/",
        "output": "francais/bienvenue.html",
        "view": "home.htm",
        "variation": "home.json",
        "controller": "home.js",
        "languageCode": "fr-fr"             /* Un code de langue spécifique pour cette page. */
    },
    "presentation-fr-fr": {
        "url": "/francais/presentation/",
        "output": "francais/presentation.html",
        "view": "default.htm",
        "variation": "presentation.json",
        "languageCode": "fr-fr"
    },
    "members-fr-fr": {
        "url": "/francais/membres/",
        "output": "francais/members.html",
        "view": "members.htm",
        "variation": "members.json",
        "controller": "members.js",
        "languageCode": "fr-fr"
    },
    "memberV2-fr-fr": {
        "url": "/francais/membres/:member/",
        "output": "francais/members/bob.html",
        "view": "member.htm",
        "variation": "member.json",
        "controller": "member.js",
        "languageCode": "fr-fr"
    },
    "member-fr-fr": {
        "url": "/profile-de-membres/:member/",
        "redirect": "/membres/:member/",
        "statusCode": 301
    },
    "contact-us-fr-fr": {
        "url": "/francais/contactez-nous/",
        "output": "francais/contactez-nous.html",
        "view": "contact-us.htm",
        "variation": "contact-us.json",
        "languageCode": "fr-fr",
        "controller": "contact-us.js",
        "post": true
    },
    "error-fr-fr": {
        "url": "/francais/*",               /* Toutes les pages commençant par `/francais/` pour la page d'erreur française. */
        "output": "francais/page-404.html",
        "view": "default.htm",              /* Vue partagée par différentes routes (voir `presentation`). */
        "variation": "page-404.json",
        "languageCode": "fr-fr",
        "statusCode": 404                   /* Un status 404 approprié pour les pages d'erreur. */
    },
    "error": {
        "url": "/page-404/",                /* Page d'erreur par défaut défini avec `pageNotFound`. */
        "output": "page-404.html",
        "view": "default.htm",
        "variation": "page-404.json",
        "statusCode": 404
    }
}

autres fichiers...

Étape 3 - Création

Créer des fichiers pour développer votre site !

Structure de dossier NodeAtlas par défaut:

my-website/
├─ node_modules/             ⤆ Tous les modules Node.js pour votre application.
│  └─ node-atlas/
│     ┊┉
│
├─ assets/                   ⤆ Tous les fichiers publiques peuvent être accédés en HTTP(s) sans route specifique définie.
│  ├─ javascripts/
│  │  ┊┉
│  │
│  ├─ stylesheets/
│  │  ┊┉
│  │
│  ├─ media/
│  │  ┊┉
│  │
│  ┊┉
│
├─ views/                    ⤆ La partie vue avec chaque type de vue pour le rendu.
│  ├─ common.htm
│  ├─ home.htm
│  ├─ default.htm
│  ┊┉
│  └─ partials/              ⤆ Toutes les vues réutilisables.
│     ├─ header.htm
│     ├─ footer.htm
│     ┊┉
│
├─ variations/               ⤆ Tous les fichiers pour le remplissage de contenu avec `en-gb` par défaut…
│  ├─ common.json
│  ├─ home.json
│  ┊┉
│  │
│  └─ fr-fr/                 ⤆ …et également le `fr-fr`.
│     ├─ common.json
│     ├─ home.json
│     ┊┉
│
├─ controllers/              ⤆ La partie contrôleur pour manipuler la vue, la variation et les modèles avec les bases de données ou les paramètres d'url.
│  ├─ common.js
│  ├─ home.js
│  ┊┉
│  ├─ modules/               ⤆ Tous les modules internes.
│     ├─ form-contact-us.js
│     ┊┉
│
├─ models/                   ⤆ La partie modèle avec des fichiers de modèle utilisés par les contrôleurs pour remplir les vues.
│  ┊┉
│
├─ serverless/               ⤆ Toutes les maquettes HTML générées et utilisables par les Back-end avec autre chose que Node.js.
│  ┊┉
│
├─ server.js                 ⤆ Fichier utilisé pour faire tourner et configurer NodeAtlas pour une utilisation sous forme d'API.
├─ webconfig.json            ⤆ Fichier utilisé pour faire tourner le site sur localhost pour le développement.
├─ webconfig.prod.json       ⤆ Fichier utilisé pour faire tourner le site sur le net pour la production.
├─ routes.json               ⤆ Fichier utilisé par "webconfig.json" et "webconfig.prod.json" pour définir les routes.
┊┉
├─ webconfig.prod.en-gb.json ⤆ Fichier exemple utilisé pour faire tourner uniquement les routes `en-gb` sur un port…
├─ routes.en-gb.json         ⤆ …avec le fichier de route anglais…
├─ webconfig.prod.fr-fr.json ⤆ …et faire tourner les routes `fr-fr` sur un autre port…
├─ routes.fr-fr.json         ⤆ …avec le fichier de route français.
┊┉

Étape 4 - Lancement !

Lancer NodeAtlas depuis le dossier my-website dans votre environnement de développement :

  • avec un fichier server.js:
node server.js
  • avec la CLI :
node-atlas
  • pour générer les assets :
node-atlas --generate

Lancer NodeAtlas dans votre environnement de production :

  • en standard:
node-atlas --path /var/www/my-website/ --webconfig webconfig.prod.json
  • avec Forever:
forever start /usr/local/lib/node_modules/node-atlas/ --path /var/www/my-website/ --webconfig webconfig.prod.json

Documentation

À propos de NodeAtlas

NodeAtlas vs. les autres

| | Type | Top Fonctions | Adapté pour | Node Module Package | Extensions | Sources de données | Langue principale | |---------------|---------------------------------------------------|-----------------------------------------|----------------------------------------------------|---------------------|---------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|-----------------------| | NodeAtlas | Framework Web MVC(2) | Simplicité, Evolutivité, Modularité | Sites web, Apps web, APIs REST, Maquettage | Oui | Plugin Atlas, Module npm, Middleware Express | Builtin : En-memoire, fichier (JSON), REST. Avec module npm externe : NoSQL (MongoDB...), SQL (MySql...)** | Français | | Express | Librairie serveur HTTP | Routage HTTP, middleware | Apps web simple | Oui | Middleware Express | | Anglais | | Hapi | Framework serveur HTTP | Modularité, securité | Apps web, APIs | Oui | Plugins Hapi | | Anglais | | Sails | Framework Web MVC | Familier à Rails, MVC | Apps web, APIs | Oui | | En memoire, Fichier, PostgreSQL, MySQL, MongoDB | Anglais | | Restify | Librairie HTTP REST | Simplicité, Routage REST | APIs REST Simple | Oui | | | Anglais | | LoopBack | Framework d'API | Connectivité d'Entreprise | Apps web, APIs | Oui | | En mémoire/fichier, SQL NoSQL, ATG, Email, REST, SOAP | Anglais | | Meteor | Platforme d'app JavaScript côté client et serveur | Framework Front-end et Back-end | Apps web | Non | Package et repository Meteor, Module npm | MongoDB, MySQL and PostgreSQL via 3rd-party Meteor packages | Anglais |

changelog

2.0.8

Enhancement:

  • Fix critical issue.

2.0.7

Enhancement:

  • Less working with Node v10.

2.0.6

Fix:

  • Restore capability to generate HTML files.

2.0.5

Avoid error:

  • Restore capability to generate HTML files.

2.0.4

Avoid error:

  • Avoid the TypeError [ERR_INVALID_CALLBACK]: Callback must be a function error.

2.0.3

Security fix:

  • Solve lodash low vulnerability
  • Solve node.extend low vulnerability

2.0.2

Removed:

  • NA#imgOptimization removed.
  • NA#webconfig.optimizations removed.
  • NA#webconfig.imgOptimizationsBeforeResponse removed.
  • NA#webconfig.imgOptimizationsEnable removed.

2.0.1

Enhancement:

  • Capability to now just set "2.0.x" to use NodeAtlas.

2.0.0-beta

Features:

  • Gitter Chat for both fr (Aide) and en (Help) language: https://gitter.im/NodeAtlas/.
  • Configuration file with .js extension allowed.
  • NA#locals.urlRootPath is added (same as NA#webconfig.urlRoot).
  • NA#locals.urlSubPath is added (same as NA#webconfig.urlRelativeSubPath).
  • NA#locals.urlFilePath is added.
  • NA#locals.urlPath is added.
  • NA#locals.currentRouteKey is added.
  • NA#webconfig.view is added.
  • NA#webconfig.mimeType is added.
  • NA#webconfig.charset is added.
  • NA#webconfig.headers is added.
  • NA#webconfig.cache is added.
  • NA#webconfig.pug is added.
  • NA#webconfig.socketClientFile is added.
  • NA#webconfig.socketServerOptions is added.
  • NA#webconfig.version added.
  • NA#locals.routeParameters.enablePug is added.
  • NA#controllers[].setSockets is added for both common and specific controller.
  • NA#controllers[].changeDom(next(), locals.virtualDom()... added to directly obtain $.
  • NA#controllers[].changeDom next callback accept a $ first parameter.
  • NA#configuration.cache is added.
  • --cache command is added.
  • NA#httpsServer added.
  • NA#httpServer added.
  • NA#statics added.
  • NA#version added.
  • NA#engine added.
  • NA#middlewares added.
  • NA#middlewaresRelativePath added.
  • NA#locals.routeParameters.middlewares added.
  • NA#assetsCopy added.
  • NA#stopped added.
  • global.NA embty object added for isomorphic code.
  • NA.isClient = true added into node-atlas/socket.io.js for isomorphic code.
  • serverRelativePath folder is created if is not exist.
  • Language portRequiresPrivileges is added.
  • Less and Stylus vendor autoprefix automaticly added with options less.autoprefix and stylus.autoprefix.

Updates:

  • CLI command nodeatlas become node-atlas (with atlas as alias)
  • NA#appLanguage become NA#cliLanguage.
  • NA#appLabels become NA#cliLabels.
  • NA#websiteController[] become NA#controllers[].
  • NA#controllers[].changeVariation become NA#controllers[].changeVariations.
  • NA#controllers[].changeVariations(params, next) become NA#controllers[].changeVariations(next, locals, request, response).
  • NA#controllers[].changeDom(params, next) become NA#controllers[].changeVariations(next, locals, request, response).
  • NA#controllers[].changeDom(params.dom... become NA#controllers[].changeVariations(next, locals.dom....
  • NA#controllers[].loadModules become NA#controllers[].setModules.
  • NA#changeVariationCommon become NA#changeVariationsCommon.
  • NA#changeVariationSpecific become NA#changeVariationsSpecific.
  • NA#currentVariation become NA#locals.
  • NA#locals.currentRoute become NA#locals.route.
  • NA#locals.currentRouteParameters become NA#locals.routeParameters.
  • NA#locals.currentRouteName become NA#locals.route.
  • NA#locals.urlBasePath become NA#webconfig.urlRoot + NA#webconfig.urlRelativeSubPath (without ending "/").
  • NA#currentRouteParameters become NA#locals.routeParameters.
  • NA#locals.routeParameters.generate become NA#locals.routeParameters.output.
  • NA#locals.routeParameters.template become NA#locals.routeParameters.view.
  • NA#webconfig.urlWithoutFileName become NA#webconfig.urlRoot.
  • NA#webconfig.generatesRelativePath become NA#webconfig.serverlessRelativePath.
  • NA#webconfig.serverlessRelativePath default value become "serverless".
  • NA#webconfig.templatesRelativePath become NA#webconfig.viewsRelativePath.
  • NA#webconfig.viewsRelativePath default value become "views".
  • NA#webconfig.htmlGeneratesBeforeResponse become NA#webconfig.htmlGenerationBeforeResponse.
  • NA#webconfig.imagesOptimizationsBeforeResponse become NA#webconfig.imgOptimizationsBeforeResponse.
  • NA#webconfig.imagesOptimizationsEnable become NA#webconfig.imgOptimizationsEnable.
  • NA#webconfig.stylesheetsBundlesBeforeResponse become NA#webconfig.cssBundlingBeforeResponse.
  • NA#webconfig.stylesheetsBundlesEnable become NA#webconfig.cssBundlingEnable.
  • NA#webconfig.javascriptBundlesBeforeResponse become NA#webconfig.jsBundlingBeforeResponse.
  • NA#webconfig.javascriptBundlesEnable become NA#webconfig.jsBundlingEnable.
  • NA#webconfig.viewsRelativePath replace removed NA#webconfig.componentsRelativePath.
  • NA#webconfig.httpSecureRelativeKeyPath become NA#webconfig.httpSecureKeyRelativePath.
  • NA#webconfig.httpSecureRelativeCertificatePath become NA#webconfig.httpSecureCertificateRelativePath.
  • NA#webconfig.bundles.javascript become NA#webconfig.bundles.javascripts.
  • NA#webconfig.htmlGenerationEnable become NA#webconfig.output.
  • NA#webconfig.output to false by default.
  • NA#afterGenerates become NA#afterGeneration.
  • NA#newRender become NA#view.
  • NA#addCommonVariation become NA#common.
  • NA#addSpecificVariation become NA#specific.
  • NA#init become NA#start.
  • NA#config become NA#init.
  • NA#serverPhysicalPath become NA#nodeatlasPath.
  • NA#websitePhysicalPath become NA#serverPath.
  • NA#nodeAtlasModulePath become NA#nodeatlasModulesRelativePath and become relatif to NA#nodeatlasPath.
  • NA#websiteModulesPath become NA#serverModulesRelativePath and become relatif to NA#serverPath.
  • --init command become --create.
  • --directory command become --path.
  • templatesPath var become viewsPath var.
  • templateFile var become viewFile var.
  • Language templateNotFound become viewNotFound.
  • Language templateNotSet become viewNotSet.
  • Language emulatedIndexPage become indexPage.
  • EJS engine become ATLAS engine and <% %> become <? ?>.
  • NA#httpServer become NA#express.
  • NA#getSupport become NA#get.
  • NA#postSupport become NA#post.
  • NA#putSupport become NA#put.
  • NA#deleteSupport become NA#delete.
  • NA#locals.routeParameters.getSupport become NA#locals.routeParameters.get.
  • NA#locals.routeParameters.postSupport become NA#locals.routeParameters.post.
  • NA#locals.routeParameters.putSupport become NA#locals.routeParameters.put.
  • NA#locals.routeParameters.deleteSupport become NA#locals.routeParameters.delete.
  • NA#commonController become NA#controller.
  • NA#commonVariation become NA#variation.
  • NA#enableLess become NA#less.
  • NA#enableStylus become NA#stylus.
  • NA#enableIndex become NA#index.
  • NA#enableForceDomain become NA#forceDomain.
  • NA#stylus.stylus become NA#stylus.filse.
  • NA#less.files become NA#less.files.
  • The templates/hello-world example is better.
  • NA.modules.cheerio replaced by NA.modules.jsdom.

Removed:

  • NA#modules.child_process removed.
  • NA#modules.forcedomain removed.
  • NA#webconfig.componentsRelativePath removed.
  • NA#locals.urlBasePathSlice removed.
  • NA#variations.currentRouteName removed.
  • NA#modulesRequired and NA#downloadAllModules removed. Use npm install manually instead if you download package manually.
  • Original NA#variations removed.
  • Language templateDirectoryNotExist removed.

1.8.0

Features:

  • Allows to do something after server was starded with callback started for API.
  • Allows to start a Simple Web Server in HTTPs or overload webconfig.json to start it in HTTPs with httpSecure in CLI or API.
  • Allows to start a Simple Web Server with other httpHostname in CLI or API.
  • Allows to change NodeAtlas language used with lang in CLI or API.

Enhancement:

  • Allows to start a Simple Web Server with other httpPort (support HTTPs) in CLI or API.

Updates:

  • afterInitProject become created for API.
  • afterGeneration become generated for API.

1.7.3

Updates:

  • New README with less informations. All informations are on official Website.

1.7.2

Updates:

  • Compatibility test and information checked and updated.

1.7.1

Bugfix:

  • Find the real place of node-atlas module used by CLI or by API.

1.7.0

Enhancement:

  • Use NA.serverPhysicalPath to find real location of NodeAtlas engine.
  • Use --init command to copy « templates/hello-world » from NodeAtlas directory to current directory.

1.6.2

Enhancement:

  • Split a too long function into two.

Bugfix:

  • Add imagemin submodule into package.json.

1.6.1

Bugfix:

  • Allows template of enableIndex to manage special char displaying.

1.6.0

Feature:

  • Allows you to add dynamicly routes to webconfig with setRoutes.

1.5.1

Updates:

  • changeVariation callback have no necessity to use variation anymore as first parameter.

1.5.0

Updates:

  • change htmlGenerateBeforeResponse into htmlGeneratesBeforeResponse.

1.4.2

Updates:

  • async 2.1.x update.

1.4.1

Updates:

  • cheerio 0.22.x update.

1.4.0

Feature:

  • Quick support for HTTP DELETE and PUT for create REST API easily.

1.3.4

Feature:

  • Possibility to change all Headers information by page.

Updates:

  • async 1.5.x update.

1.3.3

Updates:

  • async 2.0.0 update.
  • express-session 1.14.0 update.
  • less-midleware 2.2.0 update.
  • uglify-js 2.7.0 update.

1.3.2

Enhancement:

  • --httpHostname become a configurable value from CLI and API usage. This will help you to test website with others device on the same network without use some proxy or internet webserver.

1.3.1

Enhancement:

  • httpSecure not use https object if it only defined to true to support plateform that provide https certificate for you (e. i. Cloud9).

1.3.0

Updates:

  • Stylus support for generate CSS.

1.2.7

Updates:

  • Package New Description.

1.2.6

Updates:

  • New async version.
  • Less informations on NodeAtlas index bootstrap page.

1.2.5

Updates:

  • See the link for starting page in the console.

1.2.4

Bugfix:

  • --browse command work as expected now !

1.2.3

Updates:

  • Less-Midleware 2.1.0 update.

1.2.2

Updates:

  • Body Parser Module update.

1.2.1

Bugfix:

  • Avoid Cheerio output use decodeEntities.

1.2.0

Updates:

  • Use a couple index.js and bin/ directory to work.

1.1.9

Updates:

  • Bin directory used and lib/install.js removed.

1.1.4

Updates:

  • Update dependencies.

1.1.3

Updates:

  • Update dependencies.

1.1.2

Updates:

  • Update dependencies.

1.1.1

Updates:

  • Update dependencies.

1.1.0

Features:

  • To be able to execute code after assets generation with --generate via API.
  • Allow you to pass image compression options for generation with --generate

1.0.0

Updates:

  • All functionality of Roadmap for v1.0.

0.99.x

Updates:

  • Preparation for v1.0.

0.50.0

Updates:

  • Allow '/home/' path for example to generate 'home' path with good urlBasePath.

0.49.1

Bugfixes:

  • Bad name file in the console.log for multiple Less file.

0.49.0

Updates:

  • Compile Less with Generate feature.

0.48.0

Updates:

  • Use Less with urlRelativeSubPath.

0.47.0

Updates:

  • A nice looked Index page for webconfig.

0.46.0

Updates:

  • Expose currentRouteName value for know the key of route if a key is setted.

0.45.1

Updates:

  • Expose function for templating with variation for Back-end part.

0.44.0

Updates:

  • Allow all webconfig param to not set with '/' in end or start.

0.43.0

Updates:

  • Update image optimization mechanism.

Documentation:

  • Documentation for feature below.

0.41.0

Features:

  • Allow you to not generate a route with currentRouteParameters.generate set to false.

Documentation:

  • Documentation for feature below.

0.40.1

Updates:

  • Update of less-middleware.

0.40.0

Features:

  • EJS 2 as template engine.

Documentation:

  • Change include part for templating.

0.38.11

Documentation:

  • tl;dr Update.

0.38.10

Documentation:

  • Adding of tl;dr.

0.38.4

Bugfixes:

  • Avoid a stopping of generation of HTML pages when a directory was created.

0.38.3

Bugfixes:

  • Install nodeatlas command without problem on Unix system with postinstall. It's fixed.

Documentation:

  • Add precision for nodeatlas command.

0.38.2

Bugfixes:

  • Install nodeatlas command without problem on Unix system with postinstall. Tests.

0.38.1

Bugfixes:

  • In SimpleWebServer, browse option with NA.run() do not start browser. It's fixed.

0.38.0

Features:

  • CSS could be injected inline by referencing some CSS file with injectCss. Useful for maintain HTML assets.

Documentation:

  • Add precision for injectCss feature.

0.37.0

Features:

  • forceDomain could be disabled or enabled with enableForceDomain. By default, it's disabled.

Documentation:

  • Add precision for enableForceDomain feature.

0.36.0

Features:

  • Allow you to desactivate HTML generation even if a generatesRelativePath directory exist.
  • indexPage property become enableIndex.

Documentation:

  • Add precision for htmlGenerateEnable feature.

0.35.2

Bugfixes:

  • Bad type for javascriptBundlesEnable, stylesheetsBundlesEnable, javascriptBundlesBeforeResponse, stylesheetsBundlesBeforeResponse and autoGenerate. Setted to boolean, not string.

0.35.1

Bugfixes:

  • Avoid copy of assetsRelativePath into generatesRelativePath if generatesRelativePath do not exist.

Documentation:

  • Add precision for generation of HTML asset.

0.35.0

Features:

  • Optimization of images.
  • autoGenerate become htmlGenerateBeforeResponse

Bugfixes:

  • Conflict with "true" and true in the webconfig for javascriptBundlesEnable, stylesheetsBundlesEnable, javascriptBundlesBeforeResponse, stylesheetsBundlesBeforeResponse and autoGenerate.

Documentation:

  • Explain how to activate Optimizations.

0.34.18

Bugfixes:

  • Allow utilisation of nodeatlas command on linux and MacOS. Tests.

0.34.5

Bugfixes:

  • Because of HTTPs implementation, Simple Server Mode return an error. It's fixed.

0.34.4

Bugfixes:

  • Because of HTTPs implementation, Simple Server Mode return an error. Tests.

0.34.3

Bugfixes:

  • Because of HTTPs implementation, Simple Server Mode return an error. Tests.

0.34.2

Bugfixes:

  • Insert commands directory.

0.34.1

Bugfixes:

  • npm debug for install.js.

0.34.0

Features:

  • Easilly support HTTPs protocol (and WSs prococol) with webconfig.

Documentation:

  • Explain how to activate HTTPs.

0.33.3

Documentation:

  • Change a 404 external link.

0.33.2

Documentation:

  • New website example.
  • Example for multilingual 404 page.

0.33.1

Bugfixes:

  • The error page of pageNotFound was never matched if the url property was used. It's fixed.

0.33.0

Features:

  • With --generate command, all assetsRelativePath content will be copied into generatesRelativePath if this two path are different.

Documentation:

  • Update with new information.

0.32.0

Features:

  • The preRender hook become the changeVariation hook.
  • The render hook become the changeDom hook.
  • The params.data of render become params.dom of changeDom.

Bugfixes:

  • If a port is already in used, the error message said the port 80 is used even if the port used is 7777 for example.

Documentation:

  • Update with new information.

0.31.0

Features:

  • The --run opition become the --browse option and -r become -b.
  • Adding of --browse [subpath].

Documentation:

  • Update with new information.

0.30.0

Information:

  • Creation of CHANGELOG.md file.