summaryrefslogtreecommitdiff
path: root/tools/format.ts
blob: 897c2f17688b04602e8a22c78bb1a7fd7016a847 (plain)
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
#!/usr/bin/env deno --allow-run
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import * as deno from "deno";
import { join } from "../js/deps/https/deno.land/x/std/path/index.ts";
import { findFiles } from "./util.ts";

const clangFormat = join("third_party", "depot_tools", "clang-format");
const gn = join("third_party", "depot_tools", "gn");
const prettier = join(
  "third_party",
  "node_modules",
  "prettier",
  "bin-prettier.js"
);
const yapf = join("third_party", "python_packages", "bin", "yapf");
const rustfmt = join("third_party", "rustfmt", deno.platform.os, "rustfmt");
const rustfmtConfig = join("tools", "rustfmt.toml");

const run = (...args: string[]) => {
  if (deno.platform.os === "win") {
    args = ["cmd.exe", "/c", ...args];
  }
  return deno.run({ args, stdout: "null", stderr: "piped" }).status();
};

(async () => {
  console.log("clang_format");
  await run(
    clangFormat,
    "-i",
    "-style",
    "Google",
    ...findFiles(["libdeno"], [".cc", ".h"])
  );

  console.log("gn format");
  for (const fn of [
    "BUILD.gn",
    ".gn",
    ...findFiles(["build_extra", "libdeno"], [".gn", ".gni"])
  ]) {
    await run(gn, "format", fn);
  }

  console.log("yapf");
  await run(
    "python",
    yapf,
    "-i",
    ...findFiles(["tools", "build_extra"], [".py"], {
      skip: [join("tools", "clang")]
    })
  );

  console.log("prettier");
  await run(
    "node",
    prettier,
    "--write",
    "--loglevel=error",
    "rollup.config.js",
    ...findFiles(["."], [".json", ".md"], { depth: 1 }),
    ...findFiles(
      [".github", "js", "tests", "tools", "website"],
      [".js", ".json", ".ts", ".md"],
      { skip: [join("tools", "clang"), join("js", "deps")] }
    )
  );

  console.log("rustfmt");
  await run(
    rustfmt,
    "--config-path",
    rustfmtConfig,
    "build.rs",
    ...findFiles(["src"], [".rs"])
  );
})();