Aktualisieren Sie Ihren GitHub-gh-pages-Zweig mit der kompilierten Ausgabe Ihrer Dart-Webanwendung. Unterstützt 'pub build' und den neuen 'pub run build_runner'.
Aus öffentlichen Paketdaten erstellte Orientierung.
Peanut ist ein Dart-Paket, das die Bereitstellung kompilierter Web-App-Ausgaben auf einem GitHub-gh-pages-Zweig automatisiert. Es unterstützt sowohl die veralteten 'pub build'- als auch moderne 'pub run build_runner'-Workflows und vereinfacht den Veröffentlichungsprozess für Flutter-Web-Anwendungen. Für Entwickler, die ihre Web-Anwendungen auf GitHub Pages hosten möchten, übernimmt Peanut die Build- und Push-Schritte mit minimaler Konfiguration. Es integriert sich nahtlos in CI/CD-Pipelines oder lokale Entwicklungsumgebungen unter macOS, Windows und Linux.
Anwendungsfälle
Flutter-Web-Anwendungen auf GitHub Pages bereitstellen
Automatisierung von Builds und Bereitstellungen
Integration in CI/CD-Abläufe
Statische Web-Inhalte aus Dart-Projekten veröffentlichen
Vereinfachung von gh-pages-Updates nach Builds
Hauptmerkmale
Unterstützt pub build und build_runner
Automatisiert das Git-Push auf gh-pages
Plattformübergreifende Kompatibilität
Minimale Einrichtung erforderlich
Funktioniert mit Flutter-Web-Apps
Geeignet für
Flutter-Web-Entwickler
GitHub Pages Benutzer
CI/CD-Automatisierung
Dart-Projektverwalter
Entwickler, die eine einfache Bereitstellung suchen
Hinweise
Erfordert Zugriff auf GitHub-Repository
Es sind korrekte Git-Anmeldeinformationen konfiguriert
Nicht geeignet für Hosting außerhalb von GitHub
Abhängig von build_runner für moderne Workflows
Kann umgebungsspezifische Einrichtung erfordern
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
Run flutter build web or dart pub run build_runner build and put the output
in another branch. An easy way to update gh-pages.
Install
dart pub global activate peanut
or
flutter pub global activate peanut
Run
peanut
or
flutter pub global run peanut
This will build your project into a temporary directory, and then it will update
the local gh-pages branch with the build output.
$ peanut --help
Usage: peanut [<args>]
Arguments:
-d, --directories The directories that should be built.
(defaults to "web")
-b, --branch The git branch where the built content should
be committed.
(defaults to "gh-pages")
-c, --build-config The configuration to use when running
`build_runner`.
--[no-]release Flutter: enabled passes `--release`, otherwise
passes `--profile`.
Other: enabled passes `--release`, otherwise
passes `--no-release`.
(defaults to on)
-m, --message (defaults to "Built <directories>")
--[no-]source-branch-info Includes the name of the source branch and SHA
in the commit message
(defaults to on)
--[no-]version-info Includes the pubspec version of the package in
the commit message
--post-build-dart-script Optional Dart script to run after all builds
have completed, but before files are committed
to the repository.
--builder-options Builder options YAML or a path to a file
containing builder options YAML.
See the README for details.
--[no-]verbose Print more details when running.
--dry-run Verifies configuration and prints commands that
would be executed, but does not do any work.
--[no-]wasm Whether to build for WebAssembly (WASM).
--extra-args Extra arguments to provide to the target CLI
within a single string.
Examples:
--extra-args "--dart-define TEST_VAR=123"
--extra-args "--dart-define --base-href=/base/"
-h, --help Prints usage information.
--version Print the current version.
Configuration file
peanut also supports a configuration file. Convenient if you have one-off
settings you'd rather not type every time you deploy.
The peanut.yaml from this repository:
# Configuration for https://pub.dev/packages/peanutdirectories:-example# The Dart script to run after the build is complete, but before the changes are committed.# This script is run in the root of the package.# The script has access to the root of the build output directory as the first argument.post-build-dart-script:tool/post_build.dart# Build options to pass to `build_runner`.# These are merged with any existing `build.yaml` file.builder-options:build_web_compilers|entrypoint:compilers:dart2wasm:args:--O4---no-strip-wasmdart2js:args:---stage=dump-info-all---no-frequency-based-minification---no-source-maps--O4build_web_compilers|dart2js_archive_extractor:filter_outputs:false
Post-build Dart script
You can optionally specify a Dart script to run after the build is complete, but
before the changes are committed.
post-build-dart-script:tool/post_build.dart
This script is run from the root of the package.
It receives two arguments:
The path to a temporary directory which contains the build output. For
example, if you are building a single directory web, the output will be in
a web subdirectory of this temporary directory.
A JSON-encoded map where keys are the source directories that were built,
and values are the corresponding output sub-directories within the temporary
directory from the first argument.
For example, if you run peanut -d web, the script will be called with:
args[0]: /tmp/peanut.xyz (a temporary path)
args[1]: {"web":"."}
The index.html for the web build would be at /tmp/peanut.xyz/index.html.