pubspec_extract 2.1.0 copy "pubspec_extract: ^2.1.0" to clipboard
pubspec_extract: ^2.1.0 copied to clipboard

Extracts Dart pubspec.yaml file and generate pubspec.dart at build time

Pubspec Extract #

Extracts Dart pubspec.yaml file and generate pubspec.dart at build time.

Buy Me A Coffee

Usage as a command line tool #

Install the command-line tool locally #

Add the pubspec_extract dev dependency

dart pub add --dev pubspec_extract

then run:

dart run pubspec_extract -s pubspec.yaml  -d lib/pubspec.dart --map-list

Install the command-line tool globally #

run:

dart pub global activate pubspec_extract

The executable will be compiled and available at $HOME/.pub-cache/bin or %APPDATA%\Pub\Cache\bin. You can run it using:

Builder options in command-line args:

dart pub global run pubspec_extract -s pubspec.yaml  -d lib/pubspec.dart --map-list

Command line arguments #

Arg Abbr Description
source s YAML source file. Default - pubspec.yaml
destination d Output dart file export path. Default - lib/pubspec.dart
class-name c Output dart class. Default - Pubspec
[no-]format f Format output dart code. Default - true
map-list m Add a list of the exported variables
[no-]extract-name Extract top-level 'name' from pubspec. Default - true
[no-]extract-description Extract top-level 'description' from pubspec. Default - true
[no-]extract-version Extract top-level 'version' from pubspec. Default - true
[no-]extract-topics Extract top-level 'version' from pubspec. Default - true
[no-]extract-homepage Extract top-level 'homepage' from pubspec. Default - true
[no-]extract-issue-tracker Extract top-level 'issue_tracker' from pubspec. Default - true
[no-]extract-publish-to Extract top-level 'publish_to' from pubspec. Default - true
[no-]extract-funding Extract top-level 'funding' from pubspec. Default - true
[no-]extract-screenshots Extract top-level 'screenshots' from pubspec. Default - true
[no-]extract-false-secrets Extract top-level 'false_secrets' from pubspec. Default - true
[no-]extract-environment Extract top-level 'environment' from pubspec. Default - true
[no-]extract-dependencies Extract top-level 'dependencies' from pubspec. Default - true
[no-]extract-dependency-overrides Extract top-level 'dependency_overrides' from pubspec. Default - true
[no-]extract-ignored-advisories Extract top-level 'ignored_advisories' from pubspec. Default - true
[no-]extract-dev-dependencies Extract top-level 'dev_dependencies' from pubspec. Default - true
[no-]extract-flutter Extract top-level 'flutter' from pubspec. Default - true
[no-]extract-executables Extract top-level 'executables' from pubspec. Default - true
[no-]extract-undocumented-keys Extract other undocumented top-level keys from pubspec. Default - true
version Extractor version
verbose v Verbose output
help h Show usage info

Usage with build_runner #

Add the build_runner dev dependency

dart pub add --dev build_runner

Build the pubspec.dart file

dart run build_runner build

Builder options are configured in your pubspec.yaml:

pubspec_extract:
  class_name: Pubspec
  source: pubspec.yaml
  destination: lib/pubspec.dart
  format: true
  map_list: false
  extract-name: true
  extract-description: true
  extract-version: true
  extract-topics: true
  extract-homepage: true
  extract-issue-tracker: true
  extract-publish-to: true
  extract-funding: true
  extract-screenshots: true
  extract-false-secrets: true
  extract-environment: true
  extract-dependencies: true
  extract-dependency-overrides: true
  extract-ignored-advisories: true
  extract-undocumented-keys: true

Usage #

Then in your application, you can import pubspec.dart:

import 'pubspec.dart'; // May not exist but it's okay!

void main() {
  print(Pubspec.name);
  print(Pubspec.description);
  print(Pubspec.version);
}
16
likes
160
points
502
downloads

Publisher

verified publishernfet.net

Weekly Downloads

Extracts Dart pubspec.yaml file and generate pubspec.dart at build time

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

args, build, dart_style, logging, path, pub_semver, yaml

More

Packages that depend on pubspec_extract