@netlify/config
Netlify config module
Last updated 4 days ago by ehmicky .
MIT · Original npm · Tarball · package.json
$ cnpm install @netlify/config 
SYNC missed versions from official npm registry.

Netlify Config

This library loads, validates, and normalizes the Netlify configuration.

Netlify can be configured:

Install

npm install @netlify/config

Usage (Node.js)

getNetlifyConfig(options?)

options: object?
Return value: Promise<object>

const getNetlifyConfig = require('@netlify/config')

const { config, configPath, buildDir, context, branch, siteInfo } = await getNetlifyConfig(options)
/*
  {
    "config": {
      "build": {
        "command": "gulp build",
        "commandOrigin": "config",
        "environment": {
          "NETLIFY_BUILD_DEBUG": "true",
          "NODE_VERSION": "12",
          "AWS_LAMBDA_JS_RUNTIME": "nodejs10.x"
        },
        "functions": "/home/me/cv-website/functions",
        "publish": "/home/me/cv-website/build",
        "processing": {
          "css": {
            "bundle": true,
            "minify": true
          },
          "js": {
            "bundle": true,
            "minify": true
          },
          "html": {
            "pretty_urls": true
          },
          "images": {
            "compress": true
          }
        }
      },
      "plugins": [
        {
          "package": "@netlify/plugin-sitemap",
          "inputs": {},
          "origin": "config"
        }
      ]
    },
    "configPath": "/home/me/cv-website/netlify.toml",
    "buildDir": "/home/me/cv-website",
    "context": "production",
    "branch": "master",
    "siteInfo": {
      "id": "418b94bc-93cd-411a-937a-ae4c734f17c4",
      "name": "mick",
      "build_settings": {
        "cmd": "",
        "dir": "",
        "env": { ... },
        "functions_dir": "",
        "base": "",
      },
      ...
    }
  }
*/

Options

The options are an optional object with the following properties.

Those options are automatically set when using @netlify/config in the Netlify production CI or with Netlify CLI.

debug

Type: boolean
Default value: false unless the NETLIFY_BUILD_DEBUG environment variable is set.

Prints debugging information showing the configuration being resolved.

buffer

Type: boolean
Default value: false

When using debug, returns the logs instead of printing them on the console.

config

Type: string

Path to the netlify.toml. It is either an absolute path or a path relative to the cwd.

If not specified, it is searched in the following directories (by highest priority order):

  • base directory
  • repositoryRoot
  • current directory
  • any parent directory

Otherwise, no netlify.toml is used.

repositoryRoot

Type: string
Default value: see cwd

Repository root directory. This is used in the following cases:

  • Searching for the netlify.toml (see config)
  • When a base directory was specified, its path is relative to the repository root directory
  • The functions and publish directories are relative to the repository root directory or (if specified) the base directory
  • Determining the build directory

If not specified, it is automatically guessed by looking for any .git directory from the cwd, and up. If none is found, the cwd is used instead.

cwd

Type: string
Default value: process.cwd()

Current directory. This is used in the following cases:

  • Searching for the netlify.toml (see config)
  • Searching for the repositoryRoot
  • In a monorepo, when stepping inside a specific package in the console, that package is automatically used as base directory

context

Type: string
Default value: environment variable CONTEXT, or "production"

Deploy context.

The netlify.toml can contain contexts.{CONTEXT} properties, which are like build properties but only applied when {CONTEXT} matches.

branch

Type: string
Default value: environment variable BRANCH, current git branch, or "master"

Same as context but using a git branch name.

token

Type: string
Default value: environment variable NETLIFY_AUTH_TOKEN

Netlify API token.

This is used to retrieve siteInfo.

siteId

Type: string
Default value: environment variable NETLIFY_SITE_ID

Netlify Site ID.

This is used to retrieve siteInfo.

env

Type: object

Environment variable to use, in addition to the current process.env. This is used as the default values of other options.

mode

Type: string
Default value: "require"

What is calling @netlify/config. Can be:

  • "buildbot": Netlify production CI
  • "cli": Netlify CLI
  • "require": anything else

This is used for the following cases:

  • if mode is buildbot, the siteInfo is not retrieved because it is also passed using another internal option.

defaultConfig

Type: string

Configuration object used as default. This is an object serialized with JSON.

inlineConfig

Type: object

Configuration object overriding any properties. This is a JavaScript object.

Return value

The return value is a Promise resolving to an object with the following properties.

config

Type: object

Resolved configuration object.

configPath

Type: string?

Absolute path to the netlify.toml, if any.

buildDir

Type: string

Absolute path to the build directory.

The build directory is the current directory in which most build operations, including the build command, execute. It is usually either the repositoryRoot or (if specified) the base directory.

context

Type: string

Resolved context. See the context option.

branch

Type: string

Resolved git branch. See the branch option.

siteInfo

Type: string?

Netlify Site information retrieved using the getSite Netlify API endpoint. This is used to retrieve Build settings set in the Netlify App: plugins, Build command, Publish directory, Functions directory, Base directory, Environment variables.

This might not be available depending on the options passed.

api

Type: NetlifyClient?

Netlify JavaScript client instance used to retrieve the siteInfo.

logs

Type: object?

When the buffer option is used, this contains two arrays stdout and stderr with the logs.

Usage (CLI)

$ netlify-config

Like getNetlifyConfig(), but in the CLI. The return value is printed on stdout.

The CLI flags use the same options.

Current Tags

  • 1.2.2-0                                ...           beta (2 months ago)
  • 1.2.6-1                                ...           debug (a month ago)
  • 2.0.9                                ...           latest (4 days ago)

119 Versions

  • 2.0.9                                ...           4 days ago
  • 2.0.8                                ...           5 days ago
  • 2.0.7                                ...           9 days ago
  • 2.0.6                                ...           12 days ago
  • 2.0.5                                ...           18 days ago
  • 2.0.4                                ...           18 days ago
  • 2.0.3                                ...           a month ago
  • 2.0.2                                ...           a month ago
  • 2.0.1                                ...           a month ago
  • 2.0.0                                ...           a month ago
  • 1.2.6-1                                ...           a month ago
  • 1.2.6-0                                ...           a month ago
  • 1.2.5                                ...           a month ago
  • 1.2.4                                ...           a month ago
  • 1.2.3                                ...           a month ago
  • 1.2.2                                ...           a month ago
  • 1.2.2-0                                ...           2 months ago
  • 1.2.1                                ...           2 months ago
  • 1.2.0                                ...           2 months ago
  • 1.1.3                                ...           2 months ago
  • 1.1.3-2                                ...           2 months ago
  • 1.1.3-1                                ...           2 months ago
  • 1.1.3-0                                ...           2 months ago
  • 1.1.2                                ...           2 months ago
  • 1.1.1                                ...           2 months ago
  • 1.1.0                                ...           2 months ago
  • 1.0.10                                ...           2 months ago
  • 1.0.9                                ...           2 months ago
  • 1.0.8                                ...           2 months ago
  • 1.0.7                                ...           2 months ago
  • 1.0.6                                ...           2 months ago
  • 1.0.5                                ...           2 months ago
  • 1.0.4-0                                ...           2 months ago
  • 1.0.4                                ...           2 months ago
  • 1.0.3                                ...           2 months ago
  • 1.0.2                                ...           2 months ago
  • 1.0.1                                ...           2 months ago
  • 1.0.0                                ...           2 months ago
  • 0.12.0                                ...           2 months ago
  • 0.11.11                                ...           3 months ago
  • 0.11.10                                ...           3 months ago
  • 0.11.9                                ...           3 months ago
  • 0.11.8                                ...           3 months ago
  • 0.11.7                                ...           3 months ago
  • 0.11.6                                ...           3 months ago
  • 0.11.5                                ...           3 months ago
  • 0.11.4                                ...           3 months ago
  • 0.11.3                                ...           3 months ago
  • 0.11.3-0                                ...           3 months ago
  • 0.11.2                                ...           3 months ago
  • 0.11.1                                ...           3 months ago
  • 0.9.0-debug.1                                ...           3 months ago
  • 0.9.0-debug.0                                ...           3 months ago
  • 0.11.0                                ...           4 months ago
  • 0.10.4                                ...           4 months ago
  • 0.10.3                                ...           4 months ago
  • 0.10.2                                ...           4 months ago
  • 0.10.1                                ...           4 months ago
  • 0.10.0                                ...           4 months ago
  • 0.9.2                                ...           4 months ago
  • 0.9.1                                ...           4 months ago
  • 0.9.0                                ...           4 months ago
  • 0.8.0                                ...           4 months ago
  • 0.7.0                                ...           4 months ago
  • 0.6.0                                ...           4 months ago
  • 0.5.2                                ...           4 months ago
  • 0.5.1                                ...           4 months ago
  • 0.5.0                                ...           4 months ago
  • 0.4.12-rc.1                                ...           4 months ago
  • 0.4.12-beta.5                                ...           4 months ago
  • 0.4.12-beta.4                                ...           4 months ago
  • 0.4.12-beta.3                                ...           4 months ago
  • 0.4.12-beta.2                                ...           4 months ago
  • 0.4.12-beta.1                                ...           4 months ago
  • 0.4.12                                ...           4 months ago
  • 0.4.11                                ...           4 months ago
  • 0.4.10                                ...           4 months ago
  • 0.4.9                                ...           5 months ago
  • 0.4.8                                ...           5 months ago
  • 0.4.7                                ...           5 months ago
  • 0.4.6                                ...           5 months ago
  • 0.4.5                                ...           5 months ago
  • 0.4.4                                ...           5 months ago
  • 0.4.3                                ...           5 months ago
  • 0.4.2                                ...           5 months ago
  • 0.4.1                                ...           5 months ago
  • 0.4.0                                ...           5 months ago
  • 0.3.1                                ...           5 months ago
  • 0.3.0                                ...           5 months ago
  • 0.2.1                                ...           5 months ago
  • 0.2.0                                ...           5 months ago
  • 0.1.23                                ...           5 months ago
  • 0.1.22                                ...           5 months ago
  • 0.1.21                                ...           5 months ago
  • 0.1.20                                ...           5 months ago
  • 0.1.19                                ...           6 months ago
  • 0.1.18                                ...           6 months ago
  • 0.1.17                                ...           6 months ago
  • 0.1.16                                ...           7 months ago
  • 0.1.15                                ...           7 months ago
  • 0.1.14                                ...           7 months ago
  • 0.1.13                                ...           7 months ago
  • 0.1.12                                ...           8 months ago
  • 0.1.11                                ...           8 months ago
  • 0.1.10                                ...           8 months ago
  • 0.1.9                                ...           8 months ago
  • 0.1.8                                ...           9 months ago
  • 0.1.7                                ...           9 months ago
  • 0.1.6                                ...           9 months ago
  • 0.1.5                                ...           9 months ago
  • 0.1.4                                ...           9 months ago
  • 0.1.3                                ...           9 months ago
  • 0.1.2                                ...           9 months ago
  • 0.1.1                                ...           9 months ago
  • 0.1.0                                ...           9 months ago
  • 0.0.5                                ...           9 months ago
  • 0.0.3                                ...           10 months ago
  • 0.0.2                                ...           10 months ago
  • 0.0.1                                ...           a year ago
Downloads
Today 1
This Week 489
This Month 599
Last Day 13
Last Week 322
Last Month 955
Dependencies (19)
Dev Dependencies (5)

Copyright 2014 - 2016 © taobao.org |