From 85d8eb397c4662ca211d39867480f8ad1d37819d 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 Reviewed-By: Matteo Collina --- doc/api/packages.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/doc/api/packages.md b/doc/api/packages.md index 4e3414c66f7f7a..8e07bb60c1e7f7 100644 --- a/doc/api/packages.md +++ b/doc/api/packages.md @@ -715,6 +715,20 @@ 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 have very few restrictions, but specifically these include: + +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 integer property keys like "10" since that can have + unexpected effects on property key ordering for JS objects. + ### Community Conditions Definitions Condition strings other than the `"import"`, `"require"`, `"node"`,