Command Palette

Search for a command to run...

atypical
Configuration

Extends

Layering other files beneath a file.

extends = "npm:@atypical/commit/conventional"
extends = ["npm:@atypical/commit/conventional", "npm:@atypical/commit/gitmoji"]
RuleBehavior
PositionTop level of the file
TypeA string, or an array of strings
OrderTargets in array order, then the extending file last
NestingTargets may have their own extends
VisibilityRemoved during loading; no tool sees it

Targets

FormResolves to
x.toml, ./x.toml, ../x.toml, /abs/x.tomlA file relative to the extending file
npm:pkg/x, npm:pkg/x.tomlA file inside an installed npm package
  • npm: resolves through node_modules with Node's algorithm, including the package's exports. npm, pnpm, yarn and bun layouts are supported.
  • @atypical/commit exports each preset by bare name: npm:@atypical/commit/conventional.
  • A prefix of two or more lowercase ASCII letters before : is a scheme. Any other prefix, such as the drive letter in C:\x.toml, is part of a path.

Shared bases

A base shared by two targets is applied once per target. The later target's copy restates the base's values, replacing changes the earlier target made to the same keys.

Errors

ErrorCause
cyclic `extends` involving <path>A file extends itself, directly or indirectly
`extends` in <path> must be a string or an array of stringsAny other type
cannot resolve `extends = "npm:..."`: ...Package not installed, or file not exported
`extends` scheme `cargo:` is not supported yetA scheme other than npm:
The operating system's "not found" errorA relative or absolute path that does not exist

On this page