Last updated:
0 purchases
env reader
Env Reader #
Read, encrypt, or generate environment variables from .env file into an obfuscated Dart model.
Features ð #
Automated Generation: Transform your .env files into dynamic Dart models directly. No need to add annotation. âĻ
Seamless Integration: Directly update your pubspec.yaml and .gitignore on command. No need manual labor. ð ïļ
Fortified Encryption: Shield your precious .env configurations with an encryption. Say no to prying eyes.ð
Data Diversity Unleashed: Whether they're integers, decimals, booleans, or strings. Automatic interpretation is at your service. ðŪ
Versatile Sourcing: Load your .env from various sources: assets, files, memory, network, and strings. The choice is yours. ð
Install ð #
Get started with these quick commands:
ðĨ Add env_reader to your pubspec.yaml with a single line:
dart pub add env_reader
copied to clipboard
âĻ Unlock the magic by activating the env_reader CLI:
dart pub global activate env_reader
copied to clipboard
Usage ð #
Now elevate your development experience with these straightforward steps:
1. Set up your configuration #
Start by crafting your .env file in the root directory of your project, right alongside your trusty pubspec.yaml.
API_KEY=VYIUJ7tLdJFqrBesnOJEpkbceBB5GNz0t1aYgHxK3BMxbJOc/g==
DEBUG=true
PORT=8080
DATABASE_URL=postgresql://user:password@localhost:5432/mydb
copied to clipboard
2. Run the command (Optional) #
Now, if you want to generate encrypted env file, run this command in your terminal:
env_reader --input=".env" --output="assets/env/" --key="MyOptionalSecretKey"
copied to clipboard
Note
output: .env successfully encrypted into assets/env/.env ð
also if you want to generate dart model from this env file, use tihs:
env_reader --input-".env" --model="lib/src/env_model.dart" --null-safety
copied to clipboard
Note
output: .env successfully generated into lib/src/env_model.dart ð #
3. Loading your .env #
Load the env_reader instance:
import 'package:env_reader/env_reader.dart';
import 'package:flutter/services.dart';
await Env.load(
EnvStringLoader(await rootBundle.loadString('assets/env/.env')),
"MyOptionalSecretKey");
// Or you can load by creating your own `EnvReader` instance.
EnvReader production = EnvReader();
await production.load(
EnvStringLoader(await rootBundle.loadString('assets/env/.env')),
"MyOptionalSecretKey");
copied to clipboard
4. Access your configuration #
To get and read the value of your env:
import 'package:env_reader/env_reader.dart';
import 'package:my_package/src/env_model.dart';
String api = Env.read("API_KEY") ?? "Got'cha ð";
bool debug = Env.read<bool>("DEBUG") ?? false;
// If you make your own instance, call it like this
String api = production.read("API_KEY") ?? "Got'cha ð";
bool debug = production.read<bool>("DEBUG") ?? false;
Text(
text:
debug ? "ðĪŦ pssst, this is my api key y'all \n\n $api" : "Nothing to see here ðĪŠ",
);
// Or you can access the value directly from env generated model earlier
Text(
text:
EnvModel.debug ? "ðĪŦ pssst, this is my api key y'all \n\n ${EnvModel.apiKey}" : "Nothing to see here ðĪŠ",
);
copied to clipboard
Env Reader Command ð #
Available commands:
Flag
Description
-i, --input (mandatory)
Input path of the .env file
-o, --output
Output path for the encrypted .env file
-s, --key
Secrey key for encryption & decryption
--model
Generate dart model file to your desired file path
--null-safety
Make the model null safety
--[no-]obfuscate
Obfuscating generated values of model
(defaults to on)
--[no-]pubspec
Insert asset path to pubspec.yaml
(defaults to on)
--[no-]gitignore
Insert .env input & output file into .gitignore
(defaults to on)
-h, --help
Print usage information
Example usage:
env_reader -i ".env" -o "assets/env/" -s "MyOptionalSecretKey" --model="lib/src/env_model.dart" --null-safety
copied to clipboard
Example ð #
env_reader/example/lib/main.dart
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.