-
Today, we'll focus on the new release of Leon and understand what's new, where the project is leading to and the thinking process behind some decisions.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
But here is the thing, I want to continue to use the module-alias npm package as I find it brings better readability of the imports. I found that it requires to build a custom module loader to resolve it. I concluded that it was too much steps to achieve for a small output, then I chose to postpone the Babel dropping task. If you are interested into that specific case, there is an ongoing GitHub issue.
-
snowboy
Future versions with model training module will be maintained through a forked version here: https://github.com/seasalt-ai/snowboy
Leon uses Snowboy for its hotword detection. Unfortunately the project has been discontinued and is suffering from the lack of maintainability.
-
Indeed, Snowboy uses node-pre-gyp which helps to publish and install Node.js C++ addons from binaries. So when a new Node.js version is shipped, node-pre-gyp must update its listing of the supported targets by specifying the:
-
snowboy
Future versions with model training module will be maintained through a forked version here: https://github.com/seasalt-ai/snowboy (by leon-ai)
create a fork of Snowboy
-
I found some alternatives such as Porcupine from Picovoice that works pretty well. But at the moment I'm writing this, their tooling does not allow to have short hotword like Leon. Which is in fact a best practice, but it means we'd need to comply such limitations.
-
nlp.js
An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more
Since the previous release, NLP.js pushed a lot of work and has released a major version, moving from a monolithic library to multiple independent packages. So I spent some time to make Leon's NLP compatible to the latest changes.
-
Most of the time we hear about Express.js because it is a well established web framework in the Node.js ecosystem, since the early days. But Fastify also joined the OpenJS Foundation which means it is also serious.
-
The V8 JavaScript engine version.
-
Leon was using Husky that was triggering a script I wrote to parse a commit message on the commit-msg Git hook.
-
gitpod
The developer platform for on-demand cloud development environments to create software faster and more securely.
You can try it here.
-
Most of the time we hear about Express.js because it is a well established web framework in the Node.js ecosystem, since the early days. But Fastify also joined the OpenJS Foundation which means it is also serious.
-
The web app was using some Node.js features and Browserify. This is an unnecessary layer in our case. I wanted every feature be natively supported by the browsers as upcoming clients will also be natively supported by their respected platform.
-
While Babel is an awesome JavaScript compiler, I was considering to drop it. Leon does not need to be ahead of current specifications, I felt it was a good choice to drop dependencies related to Babel as it'd lighten the dependency tree (which means faster install, less maintenance work and less potential security issue).
Related posts
-
Blog Server with JWT Authentication - Powered by Node.js & MySQL
-
"dotenv" - The Non-Problem Everyone Thinks Is a Problem
-
Servidor para Blog, com Autenticação JWT - Node.Js & Mysql
-
Can an API be merely a server that has post requests sent to it, rather than something that is installed?
-
How to use Twitter OAuth 2.0 and Passport.js for user login