# Copyright 2025 The Flutter Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
name: devtools_app
description: Web-based performance tooling for Dart and Flutter.
publish_to: none

# Note: this version should only be updated by running the 'dt update-version'
# command that updates the version here and in 'devtools.dart'.
version: 2.43.0-dev.0

repository: https://github.com/flutter/devtools/tree/master/packages/devtools_app

environment:
  sdk: ">=3.7.0-160.0.dev <4.0.0"
  flutter: ">=3.27.0-1.0.pre.563"

resolution: workspace

dependencies:
  async: ^2.0.0
  collection: ^1.15.0
  dap: ^1.1.0
  dds_service_extensions: ^2.0.0
  devtools_app_shared:
  devtools_extensions:
  devtools_shared:
  dtd: ^2.4.0
  file: ^7.0.0
  file_selector: ^1.0.0
  fixnum: ^1.1.0
  flutter:
    sdk: flutter
  flutter_markdown: ^0.7.1
  flutter_web_plugins:
    sdk: flutter
  http: ^1.1.0
  image: ^4.1.3
  intl: ^0.19.0
  logging: ^1.1.1
  meta: ^1.9.1
  mime: ^2.0.0
  path: ^1.8.0
  perfetto_ui_compiled:
    path: ../../third_party/packages/perfetto_ui_compiled
  pointer_interceptor: ^0.10.1+1
  provider: ^6.0.2
  source_map_stack_trace: ^2.1.2
  source_maps: ^0.10.12
  sse: ^4.1.2
  stack_trace: ^1.12.0
  string_scanner: ^1.1.0
  unified_analytics: ^7.0.0
  vm_service: '>=13.0.0 <16.0.0'
  vm_service_protos: ^1.0.0
  vm_snapshot_analysis: ^0.7.6
  web: ^1.0.0
  web_socket_channel: ^3.0.0

dev_dependencies:
  args: ^2.4.2
  build_runner: ^2.3.3
  devtools_test:
    path: ../devtools_test
  fake_async: ^1.3.1
  flutter_driver:
    sdk: flutter
  flutter_test:
    sdk: flutter
  integration_test:
    sdk: flutter
  json_rpc_2: ^3.0.2
  mockito: ^5.4.1
  stager: ^1.0.1
  stream_channel: ^2.1.1
  test: ^1.21.0
  web_benchmarks: ^4.0.0
  webkit_inspection_protocol: ">=0.5.0 <2.0.0"

flutter:
  uses-material-design: true
  assets:
    - assets/
    - assets/img/
    - assets/img/doc/
    - assets/img/layout_explorer/
    - assets/img/layout_explorer/cross_axis_alignment/
    - assets/img/layout_explorer/main_axis_alignment/
    - assets/img/legend/
    - icons/
    - icons/actions/
    - icons/app_bar/
    - icons/custom/
    - icons/material_symbols/
    - icons/general/
    - icons/gutter/
    - icons/inspector/
    - icons/inspector/widget_icons/
    - icons/memory/
    - icons/perf/
    # We have to explicitly list every asset under `packages/perfetto_ui_compiled/`
    # since directory support is not available for assets under `packages/`.
    # See (https://github.com/flutter/flutter/issues/112019).
    - packages/perfetto_ui_compiled/dist/index.html
    - packages/perfetto_ui_compiled/dist/service_worker.js
    - packages/perfetto_ui_compiled/dist/devtools/devtools_dark.css
    - packages/perfetto_ui_compiled/dist/devtools/devtools_light.css
    - packages/perfetto_ui_compiled/dist/devtools/devtools_shared.css
    - packages/perfetto_ui_compiled/dist/devtools/devtools_theme_handler.js
    # The version number for all the Perfetto asset paths below is updated by running
    # `dt update-perfetto`.
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/engine_bundle.js
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/frontend_bundle.js
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/manifest.json
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/perfetto.css
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/trace_processor.wasm
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/brand.png
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/favicon.png
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/logo-128.png
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/logo-3d.png
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/scheduling_latency.png
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/MaterialSymbolsOutlined.woff2
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/Roboto-100.woff2
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/Roboto-300.woff2
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/Roboto-400.woff2
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/Roboto-500.woff2
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/RobotoCondensed-Light.woff2
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/RobotoCondensed-Regular.woff2
    - packages/perfetto_ui_compiled/dist/v34.0-16f63abe3/assets/RobotoMono-Regular.woff2

  fonts:
    - family: Roboto
      fonts:
        - asset: fonts/Roboto/Roboto-Thin.ttf
          weight: 100
        - asset: fonts/Roboto/Roboto-Light.ttf
          weight: 300
        - asset: fonts/Roboto/Roboto-Regular.ttf
          weight: 400
        - asset: fonts/Roboto/Roboto-Medium.ttf
          weight: 500
        - asset: fonts/Roboto/Roboto-Bold.ttf
          weight: 700
        - asset: fonts/Roboto/Roboto-Black.ttf
          weight: 900
    - family: RobotoMono
      fonts:
        - asset: fonts/Roboto_Mono/RobotoMono-Thin.ttf
          weight: 100
        - asset: fonts/Roboto_Mono/RobotoMono-Light.ttf
          weight: 300
        - asset: fonts/Roboto_Mono/RobotoMono-Regular.ttf
          weight: 400
        - asset: fonts/Roboto_Mono/RobotoMono-Medium.ttf
          weight: 500
        - asset: fonts/Roboto_Mono/RobotoMono-Bold.ttf
          weight: 700
    - family: Octicons
      fonts:
        - asset: fonts/Octicons.ttf
