# -*- bazel-starlark -*- load("@builtin//struct.star", "module") load("./config.star", "config") load("./typescript_all.star", "typescript_all") __handlers = {} __handlers.update(typescript_all.handlers) def __step_config(ctx, step_config): remote_run = True step_config["input_deps"].update(typescript_all.input_deps) # TODO: crbug.com/1478909 - Specify typescript inputs in GN config. step_config["input_deps"].update({ "tools/typescript/ts_definitions.py": [ "third_party/node/linux/node-linux-x64/bin/node", "third_party/node/node_modules:node_modules", ], "tools/typescript/ts_library.py": [ "third_party/node/linux/node-linux-x64/bin/node", "third_party/node/node.py", "third_party/node/node_modules:node_modules", ], }) step_config["rules"].extend([ { "name": "typescript/ts_library", "command_prefix": "python3 ../../tools/typescript/ts_library.py", "inputs": [ "tools/typescript/ts_library.py", ], "indirect_inputs": { "includes": [ "*.js", "*.ts", "*.json", ], }, "exclude_input_patterns": [ "*.stamp", ], "remote": remote_run, "handler": "typescript_ts_library", "output_local": True, }, { "name": "typescript/ts_definitions", "command_prefix": "python3 ../../tools/typescript/ts_definitions.py", "inputs": [ "tools/typescript/ts_definitions.py", ], "indirect_inputs": { "includes": [ "*.ts", # *.d.ts, *.css.ts, *.html.ts, etc "*.json", ], }, "exclude_input_patterns": [ "*.stamp", ], "remote": remote_run, "handler": "typescript_ts_definitions", }, ]) return step_config typescript = module( "typescript", step_config = __step_config, handlers = __handlers, filegroups = typescript_all.filegroups, )