From e15f779794376164b362cd6be017417359a79950 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 e8ca611b379b3a..6c5f8e8cbea912 100644 --- a/doc/api/packages.md +++ b/doc/api/packages.md @@ -755,6 +755,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"`, `"module-sync"`,