Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.1.0

env_reader

Lesen, verschlüsseln oder generieren Sie Umgebungsvariablen aus einer .env-Datei in ein obfuskiertes Dart-Modell.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
82
Likes
23
Pub-Punkte
140

Paket installieren

flutter pub add env_reader

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

env_reader ist ein Dart-Paket, das sichere Handhabung von Umgebungsvariablen ermöglicht, indem es diese aus einer .env-Datei liest, verschlüsselt oder generiert. Es wandelt diese Variablen in ein verschleiertes Dart-Modell um und erhöht so die Sicherheit, indem der Zugriff auf sensible Daten verhindert wird. Für den Einsatz auf mehreren Plattformen konzipiert, unterstützt es Android, iOS, Web, macOS, Windows und Linux. Das Paket lässt sich problemlos über einen einfachen pub add-Befehl in Flutter-Projekte integrieren. Ideal für Entwickler, die in Produktions- und Entwicklungsumgebungen die Konfigurationssicherheit priorisieren.

Anwendungsfälle

  • Sicheres Verwalten von API-Schlüsseln
  • Schutz von Datenbankanmeldeinformationen
  • Verwaltung von App-Geheimnissen in CI/CD-Pipelines
  • Verschlüsselte Konfigurationsdateien aktivieren
  • Sichere Freigabe von Umgebungseinstellungen
  • Automatisierung der Umgebungsvariablen-Erstellung

Hauptmerkmale

  • Liest .env-Dateien sicher ein
  • Verschlüsselt Umgebungsvariablen
  • Generiert obfuszierte Dart-Modelle
  • Unterstützt die Bereitstellung auf mehreren Plattformen
  • Ermöglicht einfache Integration über pub
  • Bietet Verschlüsselungs- und Entschlüsselungswerkzeuge

Geeignet für

  • Entwickler, die sich auf App-Sicherheit konzentrieren
  • Teams, die umgebungsbezogene Konfigurationen verwenden
  • Projekte, die eine Geheimnisverwaltung erfordern
  • Flutter-Apps mit sensiblen Daten
  • CI/CD-Workflows, die sichere Umgebungshandhabung erfordern
  • Apps, die auf mehreren Plattformen bereitgestellt werden

Hinweise

  • Erfordert eine ordnungsgemäße Verschlüsselungsschlüsselverwaltung
  • Die Erstkonfiguration umfasst Konfigurationsschritte
  • Die Verschleierung ersetzt keine vollständige Verschlüsselung
  • Nicht geeignet für hochdynamische Laufzeitgeheimnisse
  • Abhängig von Vorhandensein einer externen .env-Datei
  • Kann zusätzliche Schritte im Build-Prozess erfordern

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.


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

✨ Unlock the magic by activating the env_reader CLI:

dart pub global activate env_reader

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

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"

[!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

[!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");

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 🤪",
);

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

Example 🚀

Kategorien

Abhängigkeiten

Abhängigkeiten 3 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.