From ef96a2eb52ff4fd84e4ef8353106316b5e2e96ff Mon Sep 17 00:00:00 2001
From: softprops <d.tangren@gmail.com>
Date: Mon, 9 Sep 2019 21:20:59 +0900
Subject: [PATCH] prettier

---
 __tests__/github.test.ts | 47 +++++++++++++----------------
 __tests__/util.test.ts   | 32 ++++++++++----------
 package-lock.json        | 65 ++++++++++++++++++++++++++++++++++++++--
 package.json             |  7 +++--
 src/github.ts            | 48 +++++++++++++----------------
 src/main.ts              | 19 ++++++------
 src/util.ts              | 42 +++++++++++++-------------
 7 files changed, 158 insertions(+), 102 deletions(-)

diff --git a/__tests__/github.test.ts b/__tests__/github.test.ts
index 2ca23b5..c5d1e43 100644
--- a/__tests__/github.test.ts
+++ b/__tests__/github.test.ts
@@ -1,30 +1,25 @@
 //import * as assert from "assert";
 //const assert = require('assert');
-import * as assert from 'assert';
-import { mimeOrDefault, asset } from '../src/github';
+import * as assert from "assert";
+import { mimeOrDefault, asset } from "../src/github";
 
-describe('github', () => {
-	describe('mimeOrDefault', () => {
-		it('returns a specific mime for common path', async () => {
-			assert.equal(mimeOrDefault('foo.tar.gz'), 'application/gzip')
-		});
-		it('returns default mime for uncommon path', async () => {
-			assert.equal(mimeOrDefault('foo.uncommon'), 'application/octet-stream')
-		});
-	});
+describe("github", () => {
+  describe("mimeOrDefault", () => {
+    it("returns a specific mime for common path", async () => {
+      assert.equal(mimeOrDefault("foo.tar.gz"), "application/gzip");
+    });
+    it("returns default mime for uncommon path", async () => {
+      assert.equal(mimeOrDefault("foo.uncommon"), "application/octet-stream");
+    });
+  });
 
-	describe('asset', () => {
-		it('derives asset info from a path', async () => {
-			const {
-				name,
-				mime,
-				size,
-				file
-			} = asset('tests/data/foo/bar.txt');
-			assert.equal(name, 'bar.txt');
-			assert.equal(mime, 'text/plain');
-			assert.equal(size, 10);
-			assert.equal(file.toString(), 'release me')
-		});
-	})
-});
\ No newline at end of file
+  describe("asset", () => {
+    it("derives asset info from a path", async () => {
+      const { name, mime, size, file } = asset("tests/data/foo/bar.txt");
+      assert.equal(name, "bar.txt");
+      assert.equal(mime, "text/plain");
+      assert.equal(size, 10);
+      assert.equal(file.toString(), "release me");
+    });
+  });
+});
diff --git a/__tests__/util.test.ts b/__tests__/util.test.ts
index b20b5ee..7a1f4d4 100644
--- a/__tests__/util.test.ts
+++ b/__tests__/util.test.ts
@@ -1,19 +1,21 @@
-import { isTag, paths } from '../src/util';
-import * as assert from 'assert';
+import { isTag, paths } from "../src/util";
+import * as assert from "assert";
 
-describe('util', () => {
-  describe('isTag', () => {
-    it('returns true for tags', async () => {
-      assert.equal(isTag('refs/tags/foo'), true)
+describe("util", () => {
+  describe("isTag", () => {
+    it("returns true for tags", async () => {
+      assert.equal(isTag("refs/tags/foo"), true);
     });
-    it ('returns false for other kinds of refs', async () => {
-      assert.equal(isTag('refs/heads/master'), false)
-    })
-  })
+    it("returns false for other kinds of refs", async () => {
+      assert.equal(isTag("refs/heads/master"), false);
+    });
+  });
 
-  describe('paths', () => {
-    it('resolves files given a set of paths', async () => {
-      assert.deepStrictEqual(paths(["tests/data/**/*"]), ['tests/data/foo/bar.txt'])
+  describe("paths", () => {
+    it("resolves files given a set of paths", async () => {
+      assert.deepStrictEqual(paths(["tests/data/**/*"]), [
+        "tests/data/foo/bar.txt"
+      ]);
     });
-  })
-});
\ No newline at end of file
+  });
+});
diff --git a/package-lock.json b/package-lock.json
index f995006..f52e823 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1172,8 +1172,13 @@
       "version": "2.20.0",
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
       "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
-      "dev": true,
-      "optional": true
+      "dev": true
+    },
+    "commandpost": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/commandpost/-/commandpost-1.4.0.tgz",
+      "integrity": "sha512-aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==",
+      "dev": true
     },
     "component-emitter": {
       "version": "1.3.0",
@@ -1386,6 +1391,18 @@
         "safer-buffer": "^2.1.0"
       }
     },
+    "editorconfig": {
+      "version": "0.15.3",
+      "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz",
+      "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==",
+      "dev": true,
+      "requires": {
+        "commander": "^2.19.0",
+        "lru-cache": "^4.1.5",
+        "semver": "^5.6.0",
+        "sigmund": "^1.0.1"
+      }
+    },
     "emoji-regex": {
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -3445,6 +3462,16 @@
         "js-tokens": "^3.0.0 || ^4.0.0"
       }
     },
+    "lru-cache": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+      "dev": true,
+      "requires": {
+        "pseudomap": "^1.0.2",
+        "yallist": "^2.1.2"
+      }
+    },
     "macos-release": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz",
@@ -3995,6 +4022,12 @@
       "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
       "dev": true
     },
+    "prettier": {
+      "version": "1.18.2",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz",
+      "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==",
+      "dev": true
+    },
     "pretty-format": {
       "version": "24.9.0",
       "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
@@ -4017,6 +4050,12 @@
         "sisteransi": "^1.0.3"
       }
     },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+      "dev": true
+    },
     "psl": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.1.tgz",
@@ -4334,6 +4373,12 @@
       "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
       "dev": true
     },
+    "sigmund": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+      "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+      "dev": true
+    },
     "signal-exit": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
@@ -4844,6 +4889,16 @@
       "integrity": "sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==",
       "dev": true
     },
+    "typescript-formatter": {
+      "version": "7.2.2",
+      "resolved": "https://registry.npmjs.org/typescript-formatter/-/typescript-formatter-7.2.2.tgz",
+      "integrity": "sha512-V7vfI9XArVhriOTYHPzMU2WUnm5IMdu9X/CPxs8mIMGxmTBFpDABlbkBka64PZJ9/xgQeRpK8KzzAG4MPzxBDQ==",
+      "dev": true,
+      "requires": {
+        "commandpost": "^1.0.0",
+        "editorconfig": "^0.15.0"
+      }
+    },
     "uglify-js": {
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
@@ -5099,6 +5154,12 @@
       "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
       "dev": true
     },
+    "yallist": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+      "dev": true
+    },
     "yargs": {
       "version": "13.3.0",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz",
diff --git a/package.json b/package.json
index 2877f3c..f743b4f 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,8 @@
   "main": "lib/main.js",
   "scripts": {
     "build": "tsc",
-    "test": "jest"
+    "test": "jest",
+    "fmt": "prettier --write 'src/**/*.ts' '__tests__/**/*.ts'"
   },
   "repository": {
     "type": "git",
@@ -30,7 +31,9 @@
     "@types/node": "^12.7.4",
     "jest": "^24.8.0",
     "jest-circus": "^24.7.1",
+    "prettier": "1.18.2",
     "ts-jest": "^24.0.2",
-    "typescript": "^3.5.1"
+    "typescript": "^3.5.1",
+    "typescript-formatter": "^7.2.2"
   }
 }
diff --git a/src/github.ts b/src/github.ts
index 26f3be4..2639172 100644
--- a/src/github.ts
+++ b/src/github.ts
@@ -1,19 +1,19 @@
-import { GitHub } from '@actions/github';
-import { Config } from './util';
-import { lstatSync, readFileSync } from 'fs';
-import { getType } from 'mime';
-import { basename } from 'path';
+import { GitHub } from "@actions/github";
+import { Config } from "./util";
+import { lstatSync, readFileSync } from "fs";
+import { getType } from "mime";
+import { basename } from "path";
 
 export interface ReleaseAsset {
-  name: string,
-  mime: string,
-  size: number,
-  file: Buffer
+  name: string;
+  mime: string;
+  size: number;
+  file: Buffer;
 }
 
 export interface Release {
-	upload_url: string,
-	html_url: string
+  upload_url: string;
+  html_url: string;
 }
 
 export const asset = (path: string): ReleaseAsset => {
@@ -23,39 +23,31 @@ export const asset = (path: string): ReleaseAsset => {
     size: lstatSync(path).size,
     file: readFileSync(path)
   };
-}
+};
 
 export const mimeOrDefault = (path: string): string => {
   return getType(path) || "application/octet-stream";
-}
+};
 
 export const upload = async (
   gh: GitHub,
   url: string,
   path: string
 ): Promise<any> => {
-  let {
-    name,
-    size,
-    mime,
-    file
-  } = asset(path);
+  let { name, size, mime, file } = asset(path);
   console.log(`⬆️ Uploading ${name}...`);
   return await gh.repos.uploadReleaseAsset({
     url,
-    headers:  {
+    headers: {
       "content-length": size,
       "content-type": mime
     },
     name,
     file
   });
-}
+};
 
-export const release = async (
-  config: Config,
-  gh: GitHub
-): Promise<Release> => {
+export const release = async (config: Config, gh: GitHub): Promise<Release> => {
   const [owner, repo] = config.github_repository.split("/");
   const tag = config.github_ref.replace("refs/tags/", "");
   try {
@@ -88,8 +80,10 @@ export const release = async (
         return release(config, gh);
       }
     } else {
-      console.log(`Unexpected error fetching GitHub release for tag ${config.github_ref}: ${error}`);
+      console.log(
+        `Unexpected error fetching GitHub release for tag ${config.github_ref}: ${error}`
+      );
       throw error;
     }
   }
-}
\ No newline at end of file
+};
diff --git a/src/main.ts b/src/main.ts
index f597e48..2fa556e 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,9 +1,8 @@
-
-import { paths, parseConfig, isTag } from './util';
-import { release, upload } from './github';
-import { setFailed } from '@actions/core';
-import { GitHub } from '@actions/github';
-import { env } from 'process';
+import { paths, parseConfig, isTag } from "./util";
+import { release, upload } from "./github";
+import { setFailed } from "@actions/core";
+import { GitHub } from "@actions/github";
+import { env } from "process";
 
 async function run() {
   try {
@@ -14,15 +13,15 @@ async function run() {
     const gh = new GitHub(config.github_token);
     let rel = await release(config, gh);
     if (config.input_files) {
-      paths(config.input_files).forEach(async (path) => {
-        await upload(gh, rel.upload_url, path)
+      paths(config.input_files).forEach(async path => {
+        await upload(gh, rel.upload_url, path);
       });
     }
-    console.log(`🎉 Release ready at ${rel.html_url}`)
+    console.log(`🎉 Release ready at ${rel.html_url}`);
   } catch (error) {
     console.log(`Error: ${error}`);
     setFailed(error.message);
   }
 }
 
-run();
\ No newline at end of file
+run();
diff --git a/src/util.ts b/src/util.ts
index 8c8c350..1bd7c13 100644
--- a/src/util.ts
+++ b/src/util.ts
@@ -1,16 +1,16 @@
-import * as glob from 'glob';
-import { lstatSync } from 'fs';
+import * as glob from "glob";
+import { lstatSync } from "fs";
 
 export interface Config {
-    github_token: string,
-    github_ref: string,
-    github_repository: string,
-    // user provided
-    input_name?: string,
-    input_body?: string,
-    input_body_path?: string,
-    input_files?: string[],
-    input_draft?: boolean,
+  github_token: string;
+  github_ref: string;
+  github_repository: string;
+  // user provided
+  input_name?: string;
+  input_body?: string;
+  input_body_path?: string;
+  input_files?: string[];
+  input_draft?: boolean;
 }
 
 type Env = { [key: string]: string | undefined };
@@ -18,22 +18,24 @@ type Env = { [key: string]: string | undefined };
 export const parseConfig = (env: Env): Config => {
   return {
     github_token: env.GITHUB_TOKEN || "",
-    github_ref: (env.GITHUB_REF || ""),
+    github_ref: env.GITHUB_REF || "",
     github_repository: env.GITHUB_REPOSITORY || "",
     input_name: env.INPUT_NAME,
     input_body: env.INPUT_BODY,
     input_body_path: env.INPUT_BODY_PATH,
     input_files: (env.INPUT_FILES || "").split(","),
-    input_draft: env.INPUT_DRAFT === 'true'
-  }
-}
+    input_draft: env.INPUT_DRAFT === "true"
+  };
+};
 
 export const paths = (patterns: string[]): string[] => {
   return patterns.reduce((acc: string[], pattern: string): string[] => {
-    return acc.concat(glob.sync(pattern).filter(path => lstatSync(path).isFile()));
-  }, [])
-}
+    return acc.concat(
+      glob.sync(pattern).filter(path => lstatSync(path).isFile())
+    );
+  }, []);
+};
 
 export const isTag = (ref: string): boolean => {
-  return ref.startsWith("refs/tags/")
-}
\ No newline at end of file
+  return ref.startsWith("refs/tags/");
+};