Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How should node handle non-existent .env files passed via CLI flags? #1581

Merged
merged 25 commits into from
Jun 27, 2024

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jun 17, 2024

The vote should stay open for 7 days, or until all TSC voting members have cast a ballot.

Vote instructions:

To close the vote, at least 3 secret holder(s)1 must run the following command: git node vote https://github.com/nodejs/TSC/pull/1581 --decrypt-key-part --post-comment

/cc @nodejs/tsc

Current estimated participation: 85%

Footnotes

  1. secret holders are folks who have access to the private key associated with a public key on hkps://keys.openpgp.org that references an email address listed on the TSC voting member list at the time of the opening of the vote.

@aduh95
Copy link
Contributor

aduh95 commented Jun 25, 2024

I would like to close this vote, and for this effect, I'm revealing my key part:

-----BEGIN SHAMIR KEY PART-----
aVRTGindhE2JXiRyd0DduHuVtNS593XbH+yCaD7kloUB
-----END SHAMIR KEY PART-----

@targos
Copy link
Member

targos commented Jun 25, 2024

I would like to close this vote, and for this effect, I'm revealing my key part:

-----BEGIN SHAMIR KEY PART-----
9u3Zzd4b31FkpD66sfRAfEZahOZAh3vXWoIearNCUB4T
-----END SHAMIR KEY PART-----

@mcollina
Copy link
Member

I would like to close this vote, and for this effect, I'm revealing my key part:

-----BEGIN SHAMIR KEY PART-----
TYVacayD8BouOd/igSyfD4YtjDWdgskyKnU2oeLLQNgL
-----END SHAMIR KEY PART-----

Copy link
Contributor Author

Election results

Subject: How should node handle non-existent .env files passed via CLI flags?
End date: 2024-06-25T17:38:19.676Z
Participation: 85%

Results

Winning candidate: Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.

Table of results

Candidate Number of won duels
Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists. 7
Warn when passed to --env-file flag, provide no other flag. 5
Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists. 4
Throw when passed to --env-file flag, provide no other flag (status quo). 2
Ignore when passed to --env-file flag, provide no other flag. 2
Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist. 2
Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed. 1
Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed. 0

Voting data

Participants:

Private key to decrypt ballots
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDUw0ghmjleGLcZ
8GdgrAAr/LpRuhvOUCzg5traJ17ygDLAViH0q88/MIp5dPbYrYGwRLm96zafeBaD
H4iWnImyv30Gx5CUIdStHTDyI1fmiX/TN3E4z+ICwKYiMnPTESm1P66RStFbMeoC
e69kxWvF88h3iZrkrhn4xw9OXwwnNh8p63q6gOko/HVkSq5QBkr/4JIB4mkBvU1u
up4XqH7ihbqV1PsBEgaDqkUlSXiKmI42W/R3MkcbPEqo6voeC/LZ681SvS1o3wBb
jGvLrumwHR1IBPfvQ45XQB7CYEbqiCiSi0CityWK2QlRO9oCyUFPgXGyczhsGFp1
nquaqKPXAgMBAAECggEAA9Vvx5jTHzSimmQmqlGSTTibSN0c71pD4yePWpTECFDM
DINgzqfvFSxN10NtLgyH6wIW0LfCZU9q8TqDu3PScJCa8zpsV5os2voZx2GT2pkW
q9q/ZQhfghb9LcReXVEqJ1RtU+8W5HKuGa5aqjeudsPErhBVZKwVPR8+uA9/yHZD
FTgBUj/dPtlzAmj5DzhLflBsa0cqAFOjhxC9xfxi3Etbi1ftiPH9Z3xCR//TXmiH
mNzPZB7e2Q/tiOMf2MHR3JzqIJjqi310J+WZLpnK5O28eVZdC4XtOo8xqDs+BqDY
lt227jbcc/l3YKjoima6q3cpGyXD3lVb774iPUIkiQKBgQDuq44+WRDT9D0iwHZQ
WejbVGva+vwSwAE7U++RVq5OeUhXoKHvhllt77P8ZRnKFGva/AHxcY0VCZD5CDVI
kWRi6NQpsSVDWMY52RRoYmJf1EBPPry9u9lWowblM1yltRCqJ56rhAjFG/KOVusj
FwtP3g86UWNaf81BKq0ywLaFmQKBgQDkNif2oSHNpIs9FCu3QZZa9wXo1/Kyt5HU
V5B89ImJxgp/vxifoqAnW27NMWkzfpYOTO2sXe2QmfHcaNTsvER87DhHMSju+4Y4
OTSvUjIBWHEKgMPoBWBMoG0eirjTrrhUfTK8Brp1aP/l2LeDaTOIbynRE73PjPIj
ImOzCa967wKBgCHH7m4stREK9MxCaXyd/TNuE4X/GEafHo2DJ9luZ2V8DR06AzGf
1nCVCOikdq3/jfSEztGZvNpJbFeTLdeDnK3TPpRYGmoZ2pS9gQH1Su89X4zX2GcS
e4SjtooiZu6dXip3SSIFoigj+ITlEIr67AL17znV4zYf+LFMlQ8l76+hAoGBAJq9
tf9fZuJfziIOSU4rZN4tXY5yzxgrrPBEp65yycfnxzqzwuiLhvjo4Iq2FFVcYjc0
JnyX+/vuxrbjRm13gyEJs2diiBTz7CC3eWff3hRXed7bTPtImfGbXiI1gfnXIRn5
AqvIDCqMleeuOVEbxluetMYWEsBnG9CDAwNlb911AoGBAM009i5MMz0NjU8pQnwR
wPXD3Oth2OQRrikq8LgWsAzGzGkZ5s3qLRAnNKkB+hQG73B2mXERNonNWME8DUB9
cXtqoRu+KaDoliQ81d6p1HnBt5mPG/tUHWs7rqCwQs6LkQoYmHdT3GUBkXEsJfId
Fygi26vS8jLjvBUKSglI0nXh
-----END PRIVATE KEY-----
Discarded commits

Some commits have not been taken into account when counting the ballots:

[
  {
    "commitInfo": {
      "sha": "eaee90ca0ab9eb2e16efc1be38cd3b7698d0be89",
      "signatureStatus": "E",
      "author": "Paolo Insogna <[email protected]>",
      "files": [
        "votes/ShogunPanda.json"
      ]
    },
    "reason": "A more recent vote commit from this author has already been counted."
  },
  {
    "commitInfo": {
      "sha": "3247caf4bdd14bf138879ce6ef11d63c9d5d1237",
      "signatureStatus": "E",
      "author": "Chengzhong Wu <[email protected]>",
      "files": [
        "votes/how-to-handle-missing-env-files/legendecas.json"
      ]
    },
    "reason": "A more recent vote commit from this author has already been counted."
  },
  {
    "commitInfo": {
      "sha": "68bbfaec60760250ba488d4de3ddd1c6911bd1e4",
      "signatureStatus": "E",
      "author": "Michael Dawson <[email protected]>",
      "files": [
        "votes/how-to-handle-missing-env-files/mdawson"
      ]
    },
    "reason": "A more recent vote commit from this author has already been counted."
  },
  {
    "commitInfo": {
      "sha": "997fa68d26ad50b8bb2265ed29fd76f1146d7a9e",
      "signatureStatus": "E",
      "author": "Geoffrey Booth <[email protected]>",
      "files": [
        "votes/how-to-handle-missing-env-files/geoffreybooth.bin"
      ]
    },
    "reason": "A more recent vote commit from this author has already been counted."
  },
  {
    "commitInfo": {
      "sha": "c82d5122af908e48a6c408ad97c83159f1eba98a",
      "signatureStatus": "N",
      "author": "Marco Ippolito <[email protected]>",
      "files": [
        "votes/how-to-handle-missing-env-files/marco-ippolito.json"
      ]
    },
    "reason": "A more recent vote commit from this author has already been counted."
  }
]

Footnotes

    1. Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists and Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    2. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed and Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    3. Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
    4. Throw when passed to --env-file flag, provide no other flag (status quo).
    5. Warn when passed to --env-file flag, provide no other flag and Ignore when passed to --env-file flag, provide no other flag.
    1. Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    2. Ignore when passed to --env-file flag, provide no other flag.
    3. Warn when passed to --env-file flag, provide no other flag.
    4. Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
    5. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed, Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists, Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists, and Throw when passed to --env-file flag, provide no other flag (status quo).
    1. Warn when passed to --env-file flag, provide no other flag and Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
    2. Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    3. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed, Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists, and Throw when passed to --env-file flag, provide no other flag (status quo).
    4. Ignore when passed to --env-file flag, provide no other flag and Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists.
    1. Throw when passed to --env-file flag, provide no other flag (status quo).
    2. Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists.
    3. Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    4. Ignore when passed to --env-file flag, provide no other flag.
    5. Warn when passed to --env-file flag, provide no other flag.
    6. Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
    7. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed.
    8. Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
  1. Voted for Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.

  2. Voted for Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed, Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists, Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed, and Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.

    1. Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    2. Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists.
    3. Warn when passed to --env-file flag, provide no other flag.
    4. Throw when passed to --env-file flag, provide no other flag (status quo).
    5. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed.
    6. Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    7. Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
    8. Ignore when passed to --env-file flag, provide no other flag.
    1. Warn when passed to --env-file flag, provide no other flag and Ignore when passed to --env-file flag, provide no other flag.
    2. Throw when passed to --env-file flag, provide no other flag (status quo).
    3. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed, Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists, Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist, Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists, and Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
    1. Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    2. Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
    3. Warn when passed to --env-file flag, provide no other flag.
    4. Ignore when passed to --env-file flag, provide no other flag.
    5. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed.
    6. Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists.
    7. Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    8. Throw when passed to --env-file flag, provide no other flag (status quo).
    1. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed and Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    2. Warn when passed to --env-file flag, provide no other flag, Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed, and Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists.
    3. Throw when passed to --env-file flag, provide no other flag (status quo).
    4. Ignore when passed to --env-file flag, provide no other flag and Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    1. Warn when passed to --env-file flag, provide no other flag.
    2. Ignore when passed to --env-file flag, provide no other flag.
    3. Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
    4. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed.
    5. Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists, Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists, Throw when passed to --env-file flag, provide no other flag (status quo), and Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
  3. Abstained.

    1. Warn when passed to --env-file flag, provide no other flag.
    2. Throw when passed to --env-file flag, provide no other flag (status quo).
    3. Ignore when passed to --env-file flag, provide no other flag and Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    4. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed.
    5. Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed, Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists, and Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    1. Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists and Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    2. Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    3. Warn when passed to --env-file flag, provide no other flag, Throw when passed to --env-file flag, provide no other flag (status quo), and Ignore when passed to --env-file flag, provide no other flag.
    4. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed and Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.
  4. Abstained.

    1. Ignore when passed to --env-file flag, provide no other flag.
    2. Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists.
    3. Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist.
    4. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed, Warn when passed to --env-file flag, provide no other flag, Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed, Throw when passed to --env-file flag, provide no other flag (status quo), and Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    1. Throw when passed to --env-file flag, warn when passed to a new --env-file-if-exists.
    2. Throw when passed to --env-file flag, provide no other flag (status quo).
    3. Throw when passed to --env-file flag, unless new --env-file-when-missing=warn is also passed, Throw when passed to --env-file flag, ignore when passed to a new --env-file-if-exists, and Warn when passed to --env-file flag, provide no other flag.
    4. Ignore when passed to --env-file flag, provide no other flag, Ignore when passed to --env-file flag, throw when passed to a new --env-file-must-exist, and Warn when passed to --env-file flag, unless new --env-file-when-missing=throw is also passed.

@aduh95 aduh95 requested a review from mhdawson June 25, 2024 18:00
Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@aduh95 aduh95 merged commit 711d417 into main Jun 27, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.