# GENERATED BY: test/dependency_services/dependency_services_test.dart

$ cat pubspec.yaml
{"name":"app","dependencies":{"foo":"^1.0.0","bar":"^1.0.0"},"environment":{"sdk":">=0.1.2 <1.0.0"}}
$ cat pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  bar:
    dependency: "direct main"
    description:
      name: bar
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.0.0"
  foo:
    dependency: "direct main"
    description:
      name: foo
      url: "http://localhost:$PORT"
    source: hosted
    version: "1.0.0"
sdks:
  dart: ">=0.1.2 <1.0.0"
-------------------------------- END OF OUTPUT ---------------------------------

## Section list
$ dependency_services list
{
  "dependencies": [
    {
      "name": "bar",
      "version": "1.0.0",
      "kind": "direct",
      "constraint": "^1.0.0"
    },
    {
      "name": "foo",
      "version": "1.0.0",
      "kind": "direct",
      "constraint": "^1.0.0"
    }
  ]
}

-------------------------------- END OF OUTPUT ---------------------------------

## Section report
$ dependency_services report
{
  "dependencies": [
    {
      "name": "bar",
      "version": "1.0.0",
      "kind": "direct",
      "latest": "2.0.0",
      "constraint": "^1.0.0",
      "compatible": [],
      "singleBreaking": [],
      "multiBreaking": [
        {
          "name": "bar",
          "version": "2.0.0",
          "kind": "direct",
          "constraintBumped": "^2.0.0",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.0.0",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0"
        },
        {
          "name": "foo",
          "version": "3.0.1",
          "kind": "direct",
          "constraintBumped": "^3.0.1",
          "constraintWidened": ">=1.0.0 <4.0.0",
          "constraintBumpedIfNeeded": "^3.0.1",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0"
        }
      ]
    },
    {
      "name": "foo",
      "version": "1.0.0",
      "kind": "direct",
      "latest": "3.0.1",
      "constraint": "^1.0.0",
      "compatible": [
        {
          "name": "foo",
          "version": "1.5.0",
          "kind": "direct",
          "constraintBumped": "^1.0.0",
          "constraintWidened": "^1.0.0",
          "constraintBumpedIfNeeded": "^1.0.0",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0"
        }
      ],
      "singleBreaking": [
        {
          "name": "foo",
          "version": "2.0.0",
          "kind": "direct",
          "constraintBumped": "^2.0.0",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.0.0",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0"
        }
      ],
      "multiBreaking": [
        {
          "name": "foo",
          "version": "3.0.1",
          "kind": "direct",
          "constraintBumped": "^3.0.1",
          "constraintWidened": ">=1.0.0 <4.0.0",
          "constraintBumpedIfNeeded": "^3.0.1",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0"
        },
        {
          "name": "bar",
          "version": "2.0.0",
          "kind": "direct",
          "constraintBumped": "^2.0.0",
          "constraintWidened": ">=1.0.0 <3.0.0",
          "constraintBumpedIfNeeded": "^2.0.0",
          "previousVersion": "1.0.0",
          "previousConstraint": "^1.0.0"
        }
      ]
    }
  ]
}

-------------------------------- END OF OUTPUT ---------------------------------

## Section apply
$ echo '{"dependencyChanges":[{"name":"foo","version":"3.0.1","constraint":"^3.0.0"},{"name":"bar","version":"2.0.0"}]}' | dependency_services apply
{"dependencies":[]}

-------------------------------- END OF OUTPUT ---------------------------------

$ cat pubspec.yaml
{"name":"app","dependencies":{"foo":^3.0.0,"bar":^2.0.0},"environment":{"sdk":">=0.1.2 <1.0.0"}}
$ cat pubspec.lock
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
  bar:
    dependency: "direct main"
    description:
      name: bar
      url: "http://localhost:$PORT"
    source: hosted
    version: "2.0.0"
  foo:
    dependency: "direct main"
    description:
      name: foo
      url: "http://localhost:$PORT"
    source: hosted
    version: "3.0.1"
sdks:
  dart: ">=0.1.2 <1.0.0"
