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

Support empty lines and comments. #404

Merged
merged 2 commits into from
Jan 16, 2022
Merged

Conversation

wffranco
Copy link
Contributor

In debug mode, show errors like:

[dotenv][DEBUG] did not match key and value when parsing line <n>:
[dotenv][DEBUG] did not match key and value when parsing line <n>: #<COMMENTED_LINE>

Sometimes we need to add empty lines to separate groups of variables, or comment some of them.
We don't want the debugger or the parser catch them.

In debug mode, show errors like:
```
[dotenv][DEBUG] did not match key and value when parsing line <n>:
[dotenv][DEBUG] did not match key and value when parsing line <n>: #<COMMENTED_LINE>
```
Sometimes we need to add empty lines to separate groups of variables, or comment some of them.
We don't want the debugger or the parser catch them.
@@ -39,6 +39,11 @@ function parse (src /*: string | Buffer */, options /*: ?DotenvParseOptions */)

// convert Buffers before splitting into lines and processing
src.toString().split(NEWLINE).forEach(function (line, idx) {
line = line.trim()
// ignore empty and commented lines
Copy link
Contributor

Choose a reason for hiding this comment

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

if you want to influence "debug" behavior, I'd suggest moving closer there instead of possibly altering the parsing logic. if (debug && line.length && line[0] !== '#') might do it, although I have reservations about decreasing debug output.

@maxbeatty
Copy link
Contributor

Closing due to inactivity. Feel free to reopen but I would like to have more discussion about decreasing debug output.

@motdotla motdotla merged commit 02c581d into motdotla:master Jan 16, 2022
@motdotla
Copy link
Owner

@wffranco this was a good PR. It is a good use case. I merged it and modified it. Thank you for your contribution.

Vylpes pushed a commit to Vylpes/Droplet that referenced this pull request Sep 14, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [dotenv](https://github.com/motdotla/dotenv) | dependencies | major | [`^10.0.0` -> `^16.0.0`](https://renovatebot.com/diffs/npm/dotenv/10.0.0/16.0.3) |

---

### Release Notes

<details>
<summary>motdotla/dotenv</summary>

### [`v16.0.3`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1603-httpsgithubcommotdotladotenvcomparev1602v1603-2022-09-29)

[Compare Source](motdotla/dotenv@v16.0.2...v16.0.3)

##### Changed

-   Added library version to debug logs ([#&#8203;682](motdotla/dotenv#682))

### [`v16.0.2`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1602-httpsgithubcommotdotladotenvcomparev1601v1602-2022-08-30)

[Compare Source](motdotla/dotenv@v16.0.1...v16.0.2)

##### Added

-   Export `env-options.js` and `cli-options.js` in package.json for use with downstream [dotenv-expand](https://github.com/motdotla/dotenv-expand) module

### [`v16.0.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1601-httpsgithubcommotdotladotenvcomparev1600v1601-2022-05-10)

[Compare Source](motdotla/dotenv@v16.0.0...v16.0.1)

##### Changed

-   Minor README clarifications
-   Development ONLY: updated devDependencies as recommended for development only security risks ([#&#8203;658](motdotla/dotenv#658))

### [`v16.0.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1600-httpsgithubcommotdotladotenvcomparev1501v1600-2022-02-02)

[Compare Source](motdotla/dotenv@v15.0.1...v16.0.0)

##### Added

-   *Breaking:* Backtick support 🎉 ([#&#8203;615](motdotla/dotenv#615))

If you had values containing the backtick character, please quote those values with either single or double quotes.

### [`v15.0.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1501-httpsgithubcommotdotladotenvcomparev1500v1501-2022-02-02)

[Compare Source](motdotla/dotenv@v15.0.0...v15.0.1)

##### Changed

-   Properly parse empty single or double quoted values 🐞 ([#&#8203;614](motdotla/dotenv#614))

### [`v15.0.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1500-httpsgithubcommotdotladotenvcomparev1432v1500-2022-01-31)

[Compare Source](motdotla/dotenv@v14.3.2...v15.0.0)

`v15.0.0` is a major new release with some important breaking changes.

##### Added

-   *Breaking:* Multiline parsing support (just works. no need for the flag.)

##### Changed

-   *Breaking:* `#` marks the beginning of a comment (UNLESS the value is wrapped in quotes. Please update your `.env` files to wrap in quotes any values containing `#`. For example: `SECRET_HASH="something-with-a-#-hash"`).

..Understandably, (as some teams have noted) this is tedious to do across the entire team. To make it less tedious, we recommend using [dotenv cli](https://github.com/dotenv-org/cli) going forward. It's an optional plugin that will keep your `.env` files in sync between machines, environments, or team members.

##### Removed

-   *Breaking:* Remove multiline option (just works out of the box now. no need for the flag.)

### [`v14.3.2`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1432-httpsgithubcommotdotladotenvcomparev1431v1432-2022-01-25)

[Compare Source](motdotla/dotenv@v14.3.1...v14.3.2)

##### Changed

-   Preserve backwards compatibility on values containing `#` 🐞 ([#&#8203;603](motdotla/dotenv#603))

### [`v14.3.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1431-httpsgithubcommotdotladotenvcomparev1430v1431-2022-01-25)

[Compare Source](motdotla/dotenv@v14.3.0...v14.3.1)

##### Changed

-   Preserve backwards compatibility on exports by re-introducing the prior in-place exports 🐞 ([#&#8203;606](motdotla/dotenv#606))

### [`v14.3.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1430-httpsgithubcommotdotladotenvcomparev1420v1430-2022-01-24)

[Compare Source](motdotla/dotenv@v14.2.0...v14.3.0)

##### Added

-   Add `multiline` option 🎉 ([#&#8203;486](motdotla/dotenv#486))

### [`v14.2.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1420-httpsgithubcommotdotladotenvcomparev1411v1420-2022-01-17)

[Compare Source](motdotla/dotenv@v14.1.1...v14.2.0)

##### Added

-   Add `dotenv_config_override` cli option
-   Add `DOTENV_CONFIG_OVERRIDE` command line env option

### [`v14.1.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1411-httpsgithubcommotdotladotenvcomparev1410v1411-2022-01-17)

[Compare Source](motdotla/dotenv@v14.1.0...v14.1.1)

##### Added

-   Add React gotcha to FAQ on README

### [`v14.1.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1410-httpsgithubcommotdotladotenvcomparev1401v1410-2022-01-17)

[Compare Source](motdotla/dotenv@v14.0.1...v14.1.0)

##### Added

-   Add `override` option 🎉 ([#&#8203;595](motdotla/dotenv#595))

### [`v14.0.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1401-httpsgithubcommotdotladotenvcomparev1400v1401-2022-01-16)

[Compare Source](motdotla/dotenv@v14.0.0...v14.0.1)

##### Added

-   Log error on failure to load `.env` file ([#&#8203;594](motdotla/dotenv#594))

### [`v14.0.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1400-httpsgithubcommotdotladotenvcomparev1301v1400-2022-01-16)

[Compare Source](motdotla/dotenv@v13.0.1...v14.0.0)

##### Added

-   *Breaking:* Support inline comments for the parser 🎉 ([#&#8203;568](motdotla/dotenv#568))

### [`v13.0.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1301-httpsgithubcommotdotladotenvcomparev1300v1301-2022-01-16)

[Compare Source](motdotla/dotenv@v13.0.0...v13.0.1)

##### Changed

-   Hide comments and newlines from debug output ([#&#8203;404](motdotla/dotenv#404))

### [`v13.0.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1300-httpsgithubcommotdotladotenvcomparev1204v1300-2022-01-16)

[Compare Source](motdotla/dotenv@v12.0.4...v13.0.0)

##### Added

-   *Breaking:* Add type file for `config.js` ([#&#8203;539](motdotla/dotenv#539))

### [`v12.0.4`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1204-httpsgithubcommotdotladotenvcomparev1203v1204-2022-01-16)

[Compare Source](motdotla/dotenv@v12.0.3...v12.0.4)

##### Changed

-   README updates
-   Minor order adjustment to package json format

### [`v12.0.3`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1203-httpsgithubcommotdotladotenvcomparev1202v1203-2022-01-15)

[Compare Source](motdotla/dotenv@v12.0.2...v12.0.3)

##### Changed

-   Simplified jsdoc for consistency across editors

### [`v12.0.2`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1202-httpsgithubcommotdotladotenvcomparev1201v1202-2022-01-15)

[Compare Source](motdotla/dotenv@v12.0.1...v12.0.2)

##### Changed

-   Improve embedded jsdoc type documentation

### [`v12.0.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1201-httpsgithubcommotdotladotenvcomparev1200v1201-2022-01-15)

[Compare Source](motdotla/dotenv@v12.0.0...v12.0.1)

##### Changed

-   README updates and clarifications

### [`v12.0.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1200-httpsgithubcommotdotladotenvcomparev1100v1200-2022-01-15)

[Compare Source](motdotla/dotenv@v11.0.0...v12.0.0)

##### Removed

-   *Breaking:* drop support for Flow static type checker ([#&#8203;584](motdotla/dotenv#584))

##### Changed

-   Move types/index.d.ts to lib/main.d.ts ([#&#8203;585](motdotla/dotenv#585))
-   Typescript cleanup ([#&#8203;587](motdotla/dotenv#587))
-   Explicit typescript inclusion in package.json ([#&#8203;566](motdotla/dotenv#566))

### [`v11.0.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#&#8203;1100-httpsgithubcommotdotladotenvcomparev1000v1100-2022-01-11)

[Compare Source](motdotla/dotenv@v10.0.0...v11.0.0)

##### Changed

-   *Breaking:* drop support for Node v10 ([#&#8203;558](motdotla/dotenv#558))
-   Patch debug option ([#&#8203;550](motdotla/dotenv#550))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9-->

Co-authored-by: Renovate Bot <[email protected]>
Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/Droplet/pulls/105
Reviewed-by: Vylpes <[email protected]>
Co-authored-by: RenovateBot <[email protected]>
Co-committed-by: RenovateBot <[email protected]>
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.

3 participants