From b223c494d907fad91cf3d1346af0d163e6da9411 Mon Sep 17 00:00:00 2001 From: Jan Martin Date: Mon, 30 Sep 2024 11:08:35 -0700 Subject: [PATCH] doc: spell out condition restrictions PR-URL: https://github.com/nodejs/node/pull/55187 --- doc/api/packages.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/api/packages.md b/doc/api/packages.md index 09f32e6c160892..02ac08cf9fdece 100644 --- a/doc/api/packages.md +++ b/doc/api/packages.md @@ -689,6 +689,21 @@ exports, while resolving the existing `"node"`, `"node-addons"`, `"default"`, Any number of custom conditions can be set with repeat flags. +Typical conditions should only contain alphanumerical characters, +using ":" or "=" as separators if necessary. Anything else may run +into compability issues outside of node. + +In node, conditions can be almost any string, including multi-byte characters and whitespace. +There's only a few restrictions: + +1. They must contain at least one character. +2. They cannot start with "." since they may appear in places that also + allow relative paths. +3. They cannot contain "," since they may be parsed as a comma-separated + list by some CLI tools. +4. They cannot be numeric property keys like "10" since that can have + unexpected effects on property ordering. + ### Community Conditions Definitions Condition strings other than the `"import"`, `"require"`, `"node"`,