diff options
Diffstat (limited to 'tools/format.ts')
-rwxr-xr-x | tools/format.ts | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tools/format.ts b/tools/format.ts new file mode 100755 index 000000000..897c2f176 --- /dev/null +++ b/tools/format.ts @@ -0,0 +1,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"]) + ); +})(); |