# This pubspec is currently mainly used to make it easier to develop on dart2js
# by making it a standalone package.
name: compiler
# This package is not intended for consumption on pub.dev. DO NOT publish.
publish_to: none
environment:
  sdk: '>=2.16.0 <3.0.0'

# NOTE: `pub get / pub upgrade` are generally not needed when working on this
# package. The `.packages` file in the repository root will be used by default.
dependencies:
  _fe_analyzer_shared: any
  # Published packages - repo version ensured via dependency_overrides
  collection: any
  crypto: any
  dart2js_info:
    path: ../dart2js_info
  front_end:
    path: ../front_end
  kernel:
    path: ../kernel

  # Unpublished packages that can be used via path dependency
  _js_interop_checks:
    path: ../_js_interop_checks
  js_ast:
    path: ../js_ast
  js_runtime:
    path: ../js_runtime

dev_dependencies:
  # Published packages - repo version ensured via dependency_overrides
  args: any
  dart_style: any
  http: any
  js:
    path: ../js
  path: any
  source_maps: any
  # Unpublished packages that can be used via path dependency
  async_helper:
    path: ../async_helper
  dart2js_tools:
    path: ../dart2js_tools
  expect:
    path: ../expect
  modular_test:
    path: ../modular_test
  sourcemap_testing:
    path: ../sourcemap_testing
  testing:
    path: ../testing

dependency_overrides:
  # Packages with source in the SDK
  _fe_analyzer_shared:
    path: ../_fe_analyzer_shared
  analyzer:
    path: ../analyzer
  front_end:
    path: ../front_end
  js:
    path: ../js
  kernel:
    path: ../kernel
  meta:
    path: ../meta
  dart2js_info:
    path: ../dart2js_info
  smith:
    path: ../smith

  # Packages brought in via DEPS
  args:
    path: ../../third_party/pkg/args
  async:
    path: ../../third_party/pkg/async
  charcode:
    path: ../../third_party/pkg/charcode
  collection:
    path: ../../third_party/pkg/collection
  convert:
    path: ../../third_party/pkg/convert
  crypto:
    path: ../../third_party/pkg/crypto
  fixnum:
    path: ../../third_party/pkg/fixnum
  http_parser:
    path: ../../third_party/pkg/http_parser
  matcher:
    path: ../../third_party/pkg/matcher
  mime:
    path: ../../third_party/pkg/mime
  package_config:
    path: ../../third_party/pkg_tested/package_config
  path:
    path: ../../third_party/pkg/path
  protobuf:
    path: ../../third_party/pkg/protobuf/protobuf
  shelf:
    path: ../../third_party/pkg/shelf/pkgs/shelf
  shelf_static:
    path: ../../third_party/pkg/shelf/pkgs/shelf_static
  source_span:
    path: ../../third_party/pkg/source_span
  stack_trace:
    path: ../../third_party/pkg/stack_trace
  stream_channel:
    path: ../../third_party/pkg/stream_channel
  string_scanner:
    path: ../../third_party/pkg/string_scanner
  test:
    path: ../../third_party/pkg/test/pkgs/test
  test_api:
    path: ../../third_party/pkg/test/pkgs/test_api
  typed_data:
    path: ../../third_party/pkg/typed_data
  yaml:
    path: ../../third_party/pkg/yaml
