Configuration is provided by Cosmiconfig, so lage configuration is very flexible! We recommend the use of a lage.config.js because it is both concise and flexible.

Create a lage.config.js file and place all your configurations there:

module.exports = {
  pipeline: {
    build: ["^build"],
    test: ["build"],
  },
};

# Options

# CacheOptions

type: BackfillCacheOptions & { environmentGlob: string[] }

# ConfigOptions

# cache

type: boolean

Should cache be enabled

# cacheOptions

type: CacheOptions

Backfill cache options

# ignore

type: string[]

Which files to ignore when calculating scopes with --since

# npmClient

type: "npm" | "yarn" | "pnpm"

Which NPM Client to use when running npm lifecycle scripts

# pipeline

type: Pipeline

Defines the task pipeline, prefix with "^" character to denote a topological dependency

Example:

{
  build: ["^build"],
  test: ["build"],
  lint: []
}

# priorities

type: Priority[]

Optional priority to set on tasks in a package to make the scheduler give priority to tasks on the critical path for high priority tasks

# repoWideChanges

type: string[]

disables --since flag when any of this list of files changed

# Pipeline

# Pipelines

type: Map<string, Pipeline>

# Priority

# package

type: string

package name, as in package.json

# priority

type: number

priority, the higher the more priority; undefined priority means lowest priority

# task

type: string

task name, as listed in the scripts section of package.json