A Docusaurus2 plugin that supports dotenv and other environment variables and only exposes what you choose and use
Install the package in your repository
npm install docusaurus2-dotenv
or
yarn add docusaurus2-dotenv
The docusaurus2-dotenv
plugin wraps the dotenv-webpack
library to allow the usage of .env
files in Docusaurus2 projects. This allows you to access your environment variables via process.env.VARIABLE_NAME
in your code.
The plugin can be used "out of the box" using the standard configuration. In your docusaurus.config.js
file, add the following to your plugins
block.
docusaurus.config.js
module.exports = {
..., // other Docusaurus2 settings
plugins: [
'docusaurus2-dotenv'
],
... // other Docusaurus2 settings
}
Use the following properties to configure your instance.
- path (
'./.env'
) - The path to your environment variables. - safe (
false
) - If true, load '.env.example' to verify the '.env' variables are all set. Can also be a string to a different file. - systemvars (
false
) - Set to true if you would rather load all system variables as well (useful for CI purposes). - silent (
false
) - If true, all warnings will be suppressed. - expand (
false
) - Allows your variables to be "expanded" for reusability within your.env
file. - defaults (
false
) - Adds support fordotenv-defaults
. If set totrue
, uses./.env.defaults
. If a string, uses that location for a defaults file.
docusaurus.config.js
module.exports = {
..., // other Docusaurus2 settings
plugins: [
[
'docusaurus2-dotenv',
{
path: "./.env", // The path to your environment variables.
safe: false, // If false ignore safe-mode, if true load './.env.example', if a string load that file as the sample
systemvars: false, // Set to true if you would rather load all system variables as well (useful for CI purposes)
silent: false, // If true, all warnings will be suppressed
expand: false, // Allows your variables to be "expanded" for reusability within your .env file
defaults: false, // Adds support for dotenv-defaults. If set to true, uses ./.env.defaults
}
]
],
... // other Docusaurus2 settings
}
Add .env
to your .gitignore
file