File: ts_definitions.gni

package info (click to toggle)
chromium 138.0.7204.157-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 6,071,864 kB
  • sloc: cpp: 34,936,859; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,967; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (105 lines) | stat: -rw-r--r-- 3,668 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/chromeos/ui_mode.gni")
import("//third_party/node/node.gni")

assert(is_chromeos)

template("ts_definitions") {
  node(target_name) {
    script = "//tools/typescript/ts_definitions.py"

    forward_variables_from(invoker,
                           [
                             "deps",
                             "extra_deps",
                             "js_files",
                             "visibility",
                           ])

    inputs = [ "//tools/typescript/tsconfig_definitions_base.json" ]
    outputs = [ "$target_gen_dir/tsconfig_definitions.json" ]

    root_dir = "."
    if (defined(invoker.root_dir)) {
      root_dir = invoker.root_dir
    }

    out_dir = target_gen_dir
    if (defined(invoker.out_dir)) {
      out_dir = invoker.out_dir
    }

    foreach(_js_file, js_files) {
      inputs += [ "$root_dir/$_js_file" ]
      _dirname = rebase_path(get_path_info(_js_file, "gen_dir"), target_gen_dir)
      _filename = get_path_info(_js_file, "name")
      outputs += [ "$out_dir/$_dirname/$_filename.d.ts" ]
    }

    args = [
             "--root_dir",
             rebase_path(root_dir, root_build_dir),
             "--gen_dir",
             rebase_path(target_gen_dir, root_build_dir),
             "--out_dir",
             rebase_path(out_dir, root_build_dir),
             "--js_files",
           ] + js_files

    if (defined(deps)) {
      args += [ "--deps" ]

      foreach(dep, deps) {
        name = get_label_info(dep, "name")
        args += [ rebase_path(get_label_info(dep, "dir"), ".") +
                  "/tsconfig_$name.json" ]
      }
    }

    if (defined(extra_deps)) {
      if (!defined(deps)) {
        deps = []
      }
      deps += extra_deps
    }

    path_mappings = [
      "chrome://resources/*|" +
          rebase_path("$root_gen_dir/ui/webui/resources/tsc/*", target_gen_dir),
      "//resources/*|" +
          rebase_path("$root_gen_dir/ui/webui/resources/tsc/*", target_gen_dir),
      "chrome://resources/polymer/v3_0/*|" +
          rebase_path("//third_party/polymer/v3_0/components-chromium/*",
                      target_gen_dir),
      "//resources/polymer/v3_0/*|" +
          rebase_path("//third_party/polymer/v3_0/components-chromium/*",
                      target_gen_dir),
      "chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js|" + rebase_path(
              "//third_party/polymer/v3_0/components-chromium/polymer/polymer-element.d.ts",
              target_gen_dir),
      "//resources/polymer/v3_0/polymer/polymer_bundled.min.js|" + rebase_path(
              "//third_party/polymer/v3_0/components-chromium/polymer/polymer-element.d.ts",
              target_gen_dir),
      "chrome://resources/cros_components/*|" + rebase_path(
              "$root_gen_dir/ui/webui/resources/tsc/cros_components/to_be_rewritten/*",
              target_gen_dir),
      "//resources/cros_components/*|" + rebase_path(
              "$root_gen_dir/ui/webui/resources/tsc/cros_components/to_be_rewritten/*",
              target_gen_dir),
      "chrome://resources/ash/common/*|" +
          rebase_path("$root_gen_dir/ash/webui/common/resources/preprocessed/*",
                      target_gen_dir),
      "//resources/ash/common/*|" +
          rebase_path("$root_gen_dir/ash/webui/common/resources/preprocessed/*",
                      target_gen_dir),
    ]

    args += [ "--path_mappings" ] + path_mappings
    if (defined(invoker.path_mappings)) {
      args += invoker.path_mappings
    }
  }
}