![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
bespoken-tools
Advanced tools
Bespoken Tools (bst) - CLI Tools for Alexa Skills Development ====================
The bst (aka Bespoken Tools aka the BEAST) makes it easy to develop for Alexa/Echo.
The current version provides two commands - proxy http and proxy lambda.
These proxies make it super-easy to develop and debug your Alexa skill on your local machine. Just point the bst at the local service running on your machine, and your code changes will be instantaneously available via Alexa.
The proxies can work either with a service listening on a port (proxy http),
or directly with a Lambda written with Node/JavaScript (proxy lambda).
It works by forwarding traffic from Alexa to our server, which in turns sends it to your machine.
A Node ID that you designate is how we know which traffic should come to you.
Keep an eye out as we add more features and commands in the future. Current plans:
Make sure you have NPM and node installed:
$ node --version && npm --version
We support node version 4.x.x
and above. For help installing, see see How To Install NPM
Next, install the bespoken tools command line tool (bst):
$ npm install bespoken-tools -g
Note: If you are on MacOS and the command fails, it is probably because you need to run it with sudo, like this:
$ sudo npm install bespoken-tools -g
Verify the installation by typing:
$ bst
The proxy command allows you to interact with a local service running on your machine via an Alexa device.
You will need to determine a unique identifier to pass to bst so the bst server can identify which calls to point to your local machine. It essentially allows any local HTTP service to be accessed via Alexa.
Your Node ID can be any unique alphanumeric string.
Overview
Proxy http allows you to interact with a local service running on your machine (on a port) via an Alexa device.
Usage
Syntax:
$ bst proxy http <NODE_ID> <PORT>
Example:
$ bst proxy http JPK 9999
The <NODE_ID>
value, "JPK", is the name for your machine.
The second parameter, <PORT>
, represents the port that your local Alexa service is listening on. Set this to whatever port your local server is running on. All traffic coming from Alexa will be forwarded to it.
You can learn more here at our JAVA Tutorial
Overview
The proxy lambda command allows you to run a Lambda as a local service your machine.
Note
Usage
To use it, invoke it with the full path to the Lambda file to run, along with your machine's Node ID.
The Lambda will automatically be passed the incoming request.
Syntax:
$ bst proxy lambda <NODE_ID> <FULL_PATH_TO_LAMBDA>
Example:
$ bst proxy lambda JPK /Users/jpk/dev/samples/src/index.js
You can learn more here at our NODE Tutorial:
Overview
Your skill must be setup to point at our server. For example, if the URL for your skill is normally:
https://myskill.example.com/skillA
It should instead be configured to point at the bst server, like so:
https://proxy.bespoken.tools/skillA?node-id=JPK
Also note that the Node ID set with the proxy command must be passed in the query string. This is what ties off your local proxy with our server.
The rest of the URL path and query string should be unchanged.
For more information on configuring your Skill see Skill Configuration.
Usage
The proxy urlgen command can help generate the endpoint.
Syntax:
$ bst proxy urlgen <NODE_ID> <URL>
Example:
$ bst proxy urlgen JPK https://myskill.example.com/skillA
The above example command will then provide you with HTTPS Endpoint that is required during the configuration step when you setup your Alexa Skill.
Email jpk@xappmedia.com with any questions or comments. We love to hear feedback.
FAQs
Tools for making Alexa development easier and more fun
The npm package bespoken-tools receives a total of 626 weekly downloads. As such, bespoken-tools popularity was classified as not popular.
We found that bespoken-tools demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 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
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.