Skip to content

Options

Brod edited this page Jan 5, 2019 · 5 revisions

You can configure how netlify-local will operate by specifying options within the netlify.toml file using the plugins.local namespace, or alternatively, you can set these options via command line arguments when issuing a command.

Command line arguments will override netlify.toml options.

Example

The following example describes how you could configure netlify-local using command line arguments or netlify.toml to the same effect.

--netlify netlify.toml --webpack webpack.config.js --static false --lambda true --certificates private/certs --port 3000
[plugins.local.webpack]
  config = "webpack.config.js"
[plugins.local.server]
  static = false
  lambda = true
  certificates = "private/certs"
  port = 3000

netlify

argument toml property type default
-n --netlify - string netlify.toml

If for some odd reason you'd like to specify a netlify.toml configuration which isn't located in the same relative directory or has a different name you can specify it with this option.

For obvious reasons it is redundant to specify the relative path to the netlify.toml from within the netlify.toml.

webpack config

argument toml property type default
-w --webpack plugins.local.webpack.config string undefined

Allows you to specify a webpack configuration file and process your files using a Webpack compiler.

There are no plans to support additional build tools.

webpack hmr

argument toml property type default
-h --hmr plugins.local.webpack.hmr string undefined

Allows you to specify if hmr should be enabled within webpack using the webpack-hot-middleware package.

context

argument toml property type default
-c --context - string current git branch

Allows you to specify which build context should be used.

static router

argument toml property type default
-s --static plugins.local.server.static boolean true

Allows you to toggle the static router from being initialized.

lambda router

argument toml property type default
-l --lambda plugins.local.server.lambda boolean true

Allows you to toggle the lambda router from being initialized.

port

argument toml property type default
-p --port plugins.local.server.port number 9000

Allows you to set the port which the server should bind on.

certificates

argument toml property type default
--certificates plugins.local.server.certificates string undefined

Allows you to enable https support, the value should be a relative path to a directory containing a private key file named key.pem and certificate file named cert.pem.

If you're not sure how to create certificates for local development you can use the one-liner below to create a directory named private/certs and generate them - optionally you can save and run this as an npm script.

mkdir -p private/certs && openssl req -x509 -sha256 -nodes -newkey rsa:2048 -days 365 -keyout private/certs/key.pem -out private/certs/cert.pem -subj '/CN=localhost' &> /dev/null

functions-config

argument toml property type default
- plugins.local.functions.config string functions

Allows you to specify which Webpack Configuration should be used based on the configuration name property.

functions-source

argument toml property type default
- plugins.local.functions.source string <empty string>

Allows you to specify the base or source directory where your functions are located.

functions-files

argument toml property type default
- plugins.local.functions.files Array<string> undefined

Allows you to specify your functions by their file path, relative to the plugins.local.functions.source property.