PubSpec constructor

PubSpec({
  1. required String name,
  2. String? version,
  3. String? description,
  4. EnvironmentBuilder? environment,
})

Create an in memory pubspec.yaml.

It can be saved to disk by calling save.

Implementation

PubSpec(
    {required String name,
    String? version,
    String? description,
    EnvironmentBuilder? environment}) {
  environment ??= EnvironmentBuilder._missing();
  document = Document.loadFromString('');

  this.name = Name._fromString(document, name);
  this.version = Version._missing(document);
  if (version != null) {
    this.version.set(version);
  }
  this.description = description == null
      ? Description._missing(document)
      : Description._fromString(document, description);

  this.environment = environment._attach(this, document.lastLine!);
  homepage = Homepage._missing(document);
  publishTo = PublishTo._missing(document);
  repository = Repository.missing(document);
  issueTracker = IssueTracker._missing(document);
  documentation = Documentation._missing(document);
  dependencies = Dependencies._missing(this, 'dependencies');
  devDependencies = Dependencies._missing(this, 'dev_dependencies');
  dependencyOverrides = Dependencies._missing(this, 'dependency_overrides');
  platforms = Platforms._missing(this);
  executables = Executables._missing(this);
  // funding = SectionImpl.missing(document, 'funding');
  // falseSecrets = SectionImpl.missing(document, 'false_secrets');
  // screenshots = SectionImpl.missing(document, 'screenshots');
  // topics = SectionImpl.missing(document, 'topics');
}