Foxx CLI Details
Or with npm:
Note: using yarn you can also run foxx-cli from your project’s devDependencies
:
yarn add --dev foxx-cli
yarn foxx help
If you’re using a recent version of npm you can also use npx:
npx -p foxx-cli foxx help
After you’ve installed foxx-cli, you should be able to use the foxx
program. You can learn more about the different commands foxx
supports by using the --help
flag.
You can also use the --help
flag with commands to learn more about them, e.g.:
foxx server --help # Help for the "server" command
foxx server list --help # Subcommands are supported, too
If you have no prior knowledge of Foxx, you can get started by and then creating a new Foxx service in the current directory using the init
command:
foxx init -i # answer the interactive questions
If you want an example, you can also let init
create an example service for you:
foxx init -e # create an example service please
You can also just use foxx init
to create a minimal service without the example code.
You can inspect the files created by the program and tweak them as necessary. Once you’re ready, install the service at a mount path using the install
command:
You should then be able to view the installed service in your browser at the following URL:
http://localhost:8529/_db/_system/hello-foxx
The manifest.json
or manifest file contains a service’s meta-information. See the .
The directory containing a service’s manifest.json
file is called the root directory of the service.
If you want to exclude files from the service bundle that will uploaded to ArangoDB you can create a file called .foxxignore
in the root directory of your service. Each line should specify one pattern you wish to ignore:
Patterns starting with
!
will be treated as an explicit whitelist. Paths matching these patterns will not be ignored even if they would match any of the other patterns.Example:
!index.js
will override any pattern matching a file calledindex.js
.Patterns starting with
/
will only match paths relative to the service’s root directory.Example:
/package.json
will not matchnode_modules/joi/package.json
.Patterns ending with
/
will match a directory and any files inside of it.Example:
node_modules/
will exclude allnode_modules
directories and all of their contents.-
Example:
hello/**/world
will matchhello/world
,hello/foo/world
,hello/foo/bar/world
, and so on. Patterns starting with
#
are considered comments and will be ignored.
For more details on the pattern matching behavior, see the documentation of the minimatch module (with the flag enabled).
If no .foxxignore
file is present in the service’s root directory the following patterns will be ignored automatically: .git/
, .svn/
, .hg/
, *.swp
, .DS_Store
.
Should you need to include files that match these patterns for some reason, you can override this list by creating an empty .foxxignore
file.
You can also create a .foxxignore
file in the current directory using the ignore
command:
foxx ignore # creates a file pre-populated with the defaults
foxx ignore --force # creates an empty file
To add individual patterns to the .foxxignore
file just pass them as additional arguments:
foxx ignore .git/ .svn/ # you can pass multiple patterns at once
foxx ignore '*.swp' # make sure to escape special characters
If you define servers using the server
commands, a .foxxrc
file will be created in your $HOME
directory, which is typically one of the following paths:
/home/$USER
on Linuxon macOS