-
-
Notifications
You must be signed in to change notification settings - Fork 921
Add random tips functionality to replace hardcoded dotenvx tip #884
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
Conversation
Co-authored-by: motdotla <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #884 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 3 3
Lines 436 452 +16
=========================================
+ Hits 436 452 +16 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
I'd rather not export |
Co-authored-by: motdotla <[email protected]>
You're absolutely right! I've removed |
| datasource | package | from | to | | ---------- | ------- | ------ | ------ | | npm | dotenv | 16.6.1 | 17.2.1 | ## [v17.2.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1721-2025-07-24) ##### Changed - Fix clickable tip links by removing parentheses ([#897](motdotla/dotenv#897)) ## [v17.2.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1720-2025-07-09) ##### Added - Optionally specify `DOTENV_CONFIG_QUIET=true` in your environment or `.env` file to quiet the runtime log ([#889](motdotla/dotenv#889)) - Just like dotenv any `DOTENV_CONFIG_` environment variables take precedence over any code set options like `({quiet: false})` ```ini ``` ## [v17.1.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1710-2025-07-07) ##### Added - Add additional security and configuration tips to the runtime log ([#884](motdotla/dotenv#884)) - Dim the tips text from the main injection information text ```js const TIPS = [ '🔐 encrypt with dotenvx: https://dotenvx.com', '🔐 prevent committing .env to code: https://dotenvx.com/precommit', '🔐 prevent building .env in docker: https://dotenvx.com/prebuild', '🛠️ run anywhere with `dotenvx run -- yourcommand`', '⚙️ specify custom .env file path with { path: \'/custom/path/.env\' }', '⚙️ enable debug logging with { debug: true }', '⚙️ override existing env vars with { override: true }', '⚙️ suppress all logs with { quiet: true }', '⚙️ write to custom object with { processEnv: myObject }', '⚙️ load multiple .env files with { path: [\'.env.local\', \'.env\'] }' ] ``` ## [v17.0.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1701-2025-07-01) ##### Changed - Patched injected log to count only populated/set keys to process.env ([#879](motdotla/dotenv#879)) ## [v17.0.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1700-2025-06-27) ##### Changed - Default `quiet` to false - informational (file and keys count) runtime log message shows by default ([#875](motdotla/dotenv#874))
| datasource | package | from | to | | ---------- | ------- | ------ | ------ | | npm | dotenv | 16.6.1 | 17.2.1 | ## [v17.2.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1721-2025-07-24) ##### Changed - Fix clickable tip links by removing parentheses ([#897](motdotla/dotenv#897)) ## [v17.2.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1720-2025-07-09) ##### Added - Optionally specify `DOTENV_CONFIG_QUIET=true` in your environment or `.env` file to quiet the runtime log ([#889](motdotla/dotenv#889)) - Just like dotenv any `DOTENV_CONFIG_` environment variables take precedence over any code set options like `({quiet: false})` ```ini ``` ## [v17.1.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1710-2025-07-07) ##### Added - Add additional security and configuration tips to the runtime log ([#884](motdotla/dotenv#884)) - Dim the tips text from the main injection information text ```js const TIPS = [ '🔐 encrypt with dotenvx: https://dotenvx.com', '🔐 prevent committing .env to code: https://dotenvx.com/precommit', '🔐 prevent building .env in docker: https://dotenvx.com/prebuild', '🛠️ run anywhere with `dotenvx run -- yourcommand`', '⚙️ specify custom .env file path with { path: \'/custom/path/.env\' }', '⚙️ enable debug logging with { debug: true }', '⚙️ override existing env vars with { override: true }', '⚙️ suppress all logs with { quiet: true }', '⚙️ write to custom object with { processEnv: myObject }', '⚙️ load multiple .env files with { path: [\'.env.local\', \'.env\'] }' ] ``` ## [v17.0.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1701-2025-07-01) ##### Changed - Patched injected log to count only populated/set keys to process.env ([#879](motdotla/dotenv#879)) ## [v17.0.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1700-2025-06-27) ##### Changed - Default `quiet` to false - informational (file and keys count) runtime log message shows by default ([#875](motdotla/dotenv#874))
| datasource | package | from | to | | ---------- | ------- | ------ | ------ | | npm | dotenv | 16.6.1 | 17.2.1 | ## [v17.2.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1721-2025-07-24) ##### Changed - Fix clickable tip links by removing parentheses ([#897](motdotla/dotenv#897)) ## [v17.2.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1720-2025-07-09) ##### Added - Optionally specify `DOTENV_CONFIG_QUIET=true` in your environment or `.env` file to quiet the runtime log ([#889](motdotla/dotenv#889)) - Just like dotenv any `DOTENV_CONFIG_` environment variables take precedence over any code set options like `({quiet: false})` ```ini ``` ## [v17.1.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1710-2025-07-07) ##### Added - Add additional security and configuration tips to the runtime log ([#884](motdotla/dotenv#884)) - Dim the tips text from the main injection information text ```js const TIPS = [ '🔐 encrypt with dotenvx: https://dotenvx.com', '🔐 prevent committing .env to code: https://dotenvx.com/precommit', '🔐 prevent building .env in docker: https://dotenvx.com/prebuild', '🛠️ run anywhere with `dotenvx run -- yourcommand`', '⚙️ specify custom .env file path with { path: \'/custom/path/.env\' }', '⚙️ enable debug logging with { debug: true }', '⚙️ override existing env vars with { override: true }', '⚙️ suppress all logs with { quiet: true }', '⚙️ write to custom object with { processEnv: myObject }', '⚙️ load multiple .env files with { path: [\'.env.local\', \'.env\'] }' ] ``` ## [v17.0.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1701-2025-07-01) ##### Changed - Patched injected log to count only populated/set keys to process.env ([#879](motdotla/dotenv#879)) ## [v17.0.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1700-2025-06-27) ##### Changed - Default `quiet` to false - informational (file and keys count) runtime log message shows by default ([#875](motdotla/dotenv#874))
| datasource | package | from | to | | ---------- | ------- | ------ | ------ | | npm | dotenv | 16.6.1 | 17.2.1 | ## [v17.2.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1721-2025-07-24) ##### Changed - Fix clickable tip links by removing parentheses ([#897](motdotla/dotenv#897)) ## [v17.2.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1720-2025-07-09) ##### Added - Optionally specify `DOTENV_CONFIG_QUIET=true` in your environment or `.env` file to quiet the runtime log ([#889](motdotla/dotenv#889)) - Just like dotenv any `DOTENV_CONFIG_` environment variables take precedence over any code set options like `({quiet: false})` ```ini ``` ## [v17.1.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1710-2025-07-07) ##### Added - Add additional security and configuration tips to the runtime log ([#884](motdotla/dotenv#884)) - Dim the tips text from the main injection information text ```js const TIPS = [ '🔐 encrypt with dotenvx: https://dotenvx.com', '🔐 prevent committing .env to code: https://dotenvx.com/precommit', '🔐 prevent building .env in docker: https://dotenvx.com/prebuild', '🛠️ run anywhere with `dotenvx run -- yourcommand`', '⚙️ specify custom .env file path with { path: \'/custom/path/.env\' }', '⚙️ enable debug logging with { debug: true }', '⚙️ override existing env vars with { override: true }', '⚙️ suppress all logs with { quiet: true }', '⚙️ write to custom object with { processEnv: myObject }', '⚙️ load multiple .env files with { path: [\'.env.local\', \'.env\'] }' ] ``` ## [v17.0.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1701-2025-07-01) ##### Changed - Patched injected log to count only populated/set keys to process.env ([#879](motdotla/dotenv#879)) ## [v17.0.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1700-2025-06-27) ##### Changed - Default `quiet` to false - informational (file and keys count) runtime log message shows by default ([#875](motdotla/dotenv#874))
| datasource | package | from | to | | ---------- | ------- | ------ | ------ | | npm | dotenv | 16.6.1 | 17.2.1 | ## [v17.2.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1721-2025-07-24) ##### Changed - Fix clickable tip links by removing parentheses ([#897](motdotla/dotenv#897)) ## [v17.2.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1720-2025-07-09) ##### Added - Optionally specify `DOTENV_CONFIG_QUIET=true` in your environment or `.env` file to quiet the runtime log ([#889](motdotla/dotenv#889)) - Just like dotenv any `DOTENV_CONFIG_` environment variables take precedence over any code set options like `({quiet: false})` ```ini ``` ## [v17.1.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1710-2025-07-07) ##### Added - Add additional security and configuration tips to the runtime log ([#884](motdotla/dotenv#884)) - Dim the tips text from the main injection information text ```js const TIPS = [ '🔐 encrypt with dotenvx: https://dotenvx.com', '🔐 prevent committing .env to code: https://dotenvx.com/precommit', '🔐 prevent building .env in docker: https://dotenvx.com/prebuild', '🛠️ run anywhere with `dotenvx run -- yourcommand`', '⚙️ specify custom .env file path with { path: \'/custom/path/.env\' }', '⚙️ enable debug logging with { debug: true }', '⚙️ override existing env vars with { override: true }', '⚙️ suppress all logs with { quiet: true }', '⚙️ write to custom object with { processEnv: myObject }', '⚙️ load multiple .env files with { path: [\'.env.local\', \'.env\'] }' ] ``` ## [v17.0.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1701-2025-07-01) ##### Changed - Patched injected log to count only populated/set keys to process.env ([#879](motdotla/dotenv#879)) ## [v17.0.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1700-2025-06-27) ##### Changed - Default `quiet` to false - informational (file and keys count) runtime log message shows by default ([#875](motdotla/dotenv#874))
| datasource | package | from | to | | ---------- | ------- | ------ | ------ | | npm | dotenv | 16.6.1 | 17.2.1 | ## [v17.2.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1721-2025-07-24) ##### Changed - Fix clickable tip links by removing parentheses ([#897](motdotla/dotenv#897)) ## [v17.2.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1720-2025-07-09) ##### Added - Optionally specify `DOTENV_CONFIG_QUIET=true` in your environment or `.env` file to quiet the runtime log ([#889](motdotla/dotenv#889)) - Just like dotenv any `DOTENV_CONFIG_` environment variables take precedence over any code set options like `({quiet: false})` ```ini ``` ## [v17.1.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1710-2025-07-07) ##### Added - Add additional security and configuration tips to the runtime log ([#884](motdotla/dotenv#884)) - Dim the tips text from the main injection information text ```js const TIPS = [ '🔐 encrypt with dotenvx: https://dotenvx.com', '🔐 prevent committing .env to code: https://dotenvx.com/precommit', '🔐 prevent building .env in docker: https://dotenvx.com/prebuild', '🛠️ run anywhere with `dotenvx run -- yourcommand`', '⚙️ specify custom .env file path with { path: \'/custom/path/.env\' }', '⚙️ enable debug logging with { debug: true }', '⚙️ override existing env vars with { override: true }', '⚙️ suppress all logs with { quiet: true }', '⚙️ write to custom object with { processEnv: myObject }', '⚙️ load multiple .env files with { path: [\'.env.local\', \'.env\'] }' ] ``` ## [v17.0.1](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1701-2025-07-01) ##### Changed - Patched injected log to count only populated/set keys to process.env ([#879](motdotla/dotenv#879)) ## [v17.0.0](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1700-2025-06-27) ##### Changed - Default `quiet` to false - informational (file and keys count) runtime log message shows by default ([#875](motdotla/dotenv#874))
This PR refactors the hardcoded tip message
"[tip] encrypt with dotenvx: https://dotenvx.com"into a dynamic system that randomly selects from an array of helpful tips.Changes Made
Core Implementation
TIPSarray containing 7 educational tips_getRandomTip()function that usesMath.random()to select tips randomlyconfigDotenv()to display random tips:[tip] ${_getRandomTip()}New Tips Added
The tips array now includes helpful guidance for each major dotenv setting:
"encrypt with dotenvx: https://dotenvx.com"(preserved)"specify custom .env file path with { path: '/custom/path/.env' }""enable debug logging with { debug: true }""override existing env vars with { override: true }""suppress all logs with { quiet: true }""write to custom object with { processEnv: myObject }""load multiple .env files with { path: ['.env.local', '.env'] }"Before & After
Before:
After (random selection):
Testing
Benefits
Fixes #883.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.