Make env property on playbook enumerable, but don't freeze it
The env property on the playbook is not enumerable. As a consequence, any extension that recreates the playbook must explicitly set the env property.
playbook = Object.assign({}, playbook, { env: process.env })
The env property was made non-enumerable to avoid its value from being frozen. The reason for this avoidance is two fold. First, the default backing value process.env cannot be frozen. But even when the env property isn't linked to process.env, we want to allow Antora extensions to be able to add and remove environment variables at any time.
However, there is a better way. We can leave the property as enumerable, but skip it when performing the freeze operation.
Edited by Dan Allen