added prettier tool

This commit is contained in:
Artur Stolear
2020-03-10 11:42:51 +02:00
parent 5c4fb6ec6b
commit 2690f37786
32 changed files with 930 additions and 902 deletions

View File

@@ -1,106 +1,108 @@
import { injectable } from "inversify";
import {injectable} from 'inversify'
import * as taskLib from "azure-pipelines-task-lib/task";
import * as toolLib from "azure-pipelines-tool-lib/tool";
import * as taskLib from 'azure-pipelines-task-lib/task'
import * as toolLib from 'azure-pipelines-tool-lib/tool'
import { IBuildAgent, IExecResult } from "../../core/models";
import {IBuildAgent, IExecResult} from '../../core/models'
@injectable()
class BuildAgent implements IBuildAgent {
public get agentName(): string {
return "Azure Pipelines";
return 'Azure Pipelines'
}
public find(toolName: string, versionSpec: string, arch?: string): string {
return toolLib.findLocalTool(toolName, versionSpec, arch);
return toolLib.findLocalTool(toolName, versionSpec, arch)
}
public cacheDir(sourceDir: string, tool: string, version: string, arch?: string): Promise<string> {
return toolLib.cacheDir(sourceDir, tool, version, arch);
public cacheDir(
sourceDir: string,
tool: string,
version: string,
arch?: string
): Promise<string> {
return toolLib.cacheDir(sourceDir, tool, version, arch)
}
public createTempDir(): Promise<string> {
return Promise.resolve(taskLib.getVariable("Agent.TempDirectory"));
return Promise.resolve(taskLib.getVariable('Agent.TempDirectory'))
}
public debug(message: string): void {
taskLib.debug(message);
taskLib.debug(message)
}
public setFailed(message: string, done?: boolean): void {
taskLib.setResult(taskLib.TaskResult.Failed, message, done);
taskLib.setResult(taskLib.TaskResult.Failed, message, done)
}
public setSucceeded(message: string, done?: boolean): void {
taskLib.setResult(taskLib.TaskResult.Succeeded, message, done);
taskLib.setResult(taskLib.TaskResult.Succeeded, message, done)
}
public exportVariable(name: string, val: string): void {
taskLib.setVariable(name, val);
taskLib.setVariable(name, val)
}
public getVariable(name: string): string {
return taskLib.getVariable(name);
return taskLib.getVariable(name)
}
public addPath(inputPath: string): void {
toolLib.prependPath(inputPath);
toolLib.prependPath(inputPath)
}
public which(tool: string, check?: boolean): Promise<string> {
return Promise.resolve(taskLib.which(tool, check));
return Promise.resolve(taskLib.which(tool, check))
}
public exec(exec: string, args: string[]): Promise<IExecResult> {
const tr = taskLib.tool(exec);
tr.arg(args);
const tr = taskLib.tool(exec)
tr.arg(args)
const result = tr.execSync();
const result = tr.execSync()
return Promise.resolve({
code: result.code,
error: result.error,
stderr: result.stderr,
stdout: result.stdout,
});
stdout: result.stdout
})
}
public getSourceDir(): string {
return this.getVariable("Build.SourcesDirectory");
return this.getVariable('Build.SourcesDirectory')
}
public setOutput(name: string, value: string): void {
taskLib.setVariable(name, value);
taskLib.setVariable(name, value)
}
public getInput(input: string, required?: boolean): string {
return taskLib.getInput(input, required);
return taskLib.getInput(input, required)
}
public getListInput(input: string, required?: boolean): string[] {
return taskLib
.getInput(input, required)
.split("\n")
.filter(x => x !== "");
.split('\n')
.filter(x => x !== '')
}
public getBooleanInput(input: string, required?: boolean): boolean {
return taskLib.getBoolInput(input, required);
return taskLib.getBoolInput(input, required)
}
public isValidInputFile(input: string, file: string): boolean {
return taskLib.filePathSupplied(input) && this.fileExists(file);
return taskLib.filePathSupplied(input) && this.fileExists(file)
}
public fileExists(file: string): boolean {
return taskLib.exist(file) && taskLib.stats(file).isFile();
return taskLib.exist(file) && taskLib.stats(file).isFile()
}
public directoryExists(file: string): boolean {
return taskLib.exist(file) && taskLib.stats(file).isDirectory();
return taskLib.exist(file) && taskLib.stats(file).isDirectory()
}
}
export {
BuildAgent,
};
export {BuildAgent}

View File

@@ -1,62 +1,66 @@
import * as fs from "fs";
import * as path from "path";
import * as fs from 'fs'
import * as path from 'path'
import uuidv4 from "uuid";
import uuidv4 from 'uuid'
import * as core from "@actions/core";
import * as exe from "@actions/exec";
import * as io from "@actions/io";
import * as toolCache from "@actions/tool-cache";
import * as core from '@actions/core'
import * as exe from '@actions/exec'
import * as io from '@actions/io'
import * as toolCache from '@actions/tool-cache'
import { injectable } from "inversify";
import {injectable} from 'inversify'
import { IBuildAgent, IExecResult } from "../../core/models";
import {IBuildAgent, IExecResult} from '../../core/models'
@injectable()
class BuildAgent implements IBuildAgent {
public get agentName(): string {
return "GitHub Actions";
return 'GitHub Actions'
}
public find(toolName: string, versionSpec: string, arch?: string): string {
return toolCache.find(toolName, versionSpec, arch);
return toolCache.find(toolName, versionSpec, arch)
}
public cacheDir(sourceDir: string, tool: string, version: string, arch?: string): Promise<string> {
return toolCache.cacheDir(sourceDir, tool, version, arch);
public cacheDir(
sourceDir: string,
tool: string,
version: string,
arch?: string
): Promise<string> {
return toolCache.cacheDir(sourceDir, tool, version, arch)
}
public async createTempDir(): Promise<string> {
const IS_WINDOWS = process.platform === "win32";
const IS_WINDOWS = process.platform === 'win32'
let tempDirectory: string = process.env.RUNNER_TEMP || "";
let tempDirectory: string = process.env.RUNNER_TEMP || ''
if (!tempDirectory) {
let baseLocation: string;
let baseLocation: string
if (IS_WINDOWS) {
// On Windows use the USERPROFILE env variable
baseLocation = process.env.USERPROFILE || "C:\\";
baseLocation = process.env.USERPROFILE || 'C:\\'
} else {
if (process.platform === "darwin") {
baseLocation = "/Users";
if (process.platform === 'darwin') {
baseLocation = '/Users'
} else {
baseLocation = "/home";
baseLocation = '/home'
}
}
tempDirectory = path.join(baseLocation, "actions", "temp");
tempDirectory = path.join(baseLocation, 'actions', 'temp')
}
const dest = path.join(tempDirectory, uuidv4());
await io.mkdirP(dest);
return dest;
const dest = path.join(tempDirectory, uuidv4())
await io.mkdirP(dest)
return dest
}
public debug(message: string): void {
core.debug(message);
core.debug(message)
}
public setFailed(message: string, done?: boolean): void {
core.setFailed(message);
core.setFailed(message)
}
public setSucceeded(message: string, done?: boolean): void {
@@ -64,108 +68,103 @@ class BuildAgent implements IBuildAgent {
}
public exportVariable(name: string, val: string): void {
core.exportVariable(name, val);
core.exportVariable(name, val)
}
public getVariable(name: string): string {
return process.env[name];
return process.env[name]
}
public addPath(inputPath: string): void {
core.addPath(inputPath);
core.addPath(inputPath)
}
public which(tool: string, check?: boolean): Promise<string> {
return io.which(tool, check);
return io.which(tool, check)
}
public async exec(exec: string, args: string[]): Promise<IExecResult> {
const dotnetPath = await io.which(exec, true);
let resultCode = 0;
let stdout = "";
let stderr = "";
resultCode = await exe.exec(
`"${dotnetPath}"`,
args,
{
listeners: {
stderr: (data: Buffer) => {
stderr += data.toString();
},
stdout: (data: Buffer) => {
stdout += data.toString();
},
const dotnetPath = await io.which(exec, true)
let resultCode = 0
let stdout = ''
let stderr = ''
resultCode = await exe.exec(`"${dotnetPath}"`, args, {
listeners: {
stderr: (data: Buffer) => {
stderr += data.toString()
},
});
stdout: (data: Buffer) => {
stdout += data.toString()
}
}
})
return {
code: resultCode,
error: null,
stderr,
stdout,
};
stdout
}
}
public getSourceDir(): string {
return this.getVariable("GITHUB_WORKSPACE");
return this.getVariable('GITHUB_WORKSPACE')
}
public setOutput(name: string, value: string): void {
core.setOutput(name, value);
core.setOutput(name, value)
}
public getInput(input: string, required?: boolean): string {
return core.getInput(input, { required } as core.InputOptions);
return core.getInput(input, {required} as core.InputOptions)
}
public getListInput(input: string, required?: boolean): string[] {
return core
.getInput(input, { required } as core.InputOptions)
.split("\n")
.filter(x => x !== "");
.getInput(input, {required} as core.InputOptions)
.split('\n')
.filter(x => x !== '')
}
public getBooleanInput(input: string, required?: boolean): boolean {
const inputValue = this.getInput(input, required);
return (inputValue || "false").toLowerCase() === "true";
const inputValue = this.getInput(input, required)
return (inputValue || 'false').toLowerCase() === 'true'
}
public isValidInputFile(input: string, file: string): boolean {
return this.filePathSupplied(input) && this.fileExists(file);
return this.filePathSupplied(input) && this.fileExists(file)
}
public filePathSupplied(file: string): boolean {
const pathValue = path.resolve(this.getInput(file) || "");
const repoRoot = this.getSourceDir();
return pathValue !== repoRoot;
const pathValue = path.resolve(this.getInput(file) || '')
const repoRoot = this.getSourceDir()
return pathValue !== repoRoot
}
public fileExists(file: string): boolean {
return this._exist(file) && this._stats(file).isFile();
return this._exist(file) && this._stats(file).isFile()
}
public directoryExists(file: string): boolean {
return this._exist(file) && this._stats(file).isDirectory();
return this._exist(file) && this._stats(file).isDirectory()
}
private _exist(file: string): boolean {
let exist = false;
let exist = false
try {
exist = !!(file && fs.statSync(file) != null);
exist = !!(file && fs.statSync(file) != null)
} catch (err) {
if (err && err.code === "ENOENT") {
exist = false;
if (err && err.code === 'ENOENT') {
exist = false
} else {
throw err;
throw err
}
}
return exist;
return exist
}
private _stats(file: string): fs.Stats {
return fs.statSync(file);
return fs.statSync(file)
}
}
}
export {
BuildAgent,
};
export {BuildAgent}

View File

@@ -1,109 +1,111 @@
import { injectable } from "inversify";
import {injectable} from 'inversify'
import { IBuildAgent, IExecResult } from "../../core/models";
import {IBuildAgent, IExecResult} from '../../core/models'
@injectable()
class BuildAgent implements IBuildAgent {
public get agentName(): string {
console.log("getAgentName");
return "Mock";
console.log('getAgentName')
return 'Mock'
}
public find(toolName: string, versionSpec: string, arch?: string): string {
console.log("find");
return "find";
console.log('find')
return 'find'
}
public cacheDir(sourceDir: string, tool: string, version: string, arch?: string): Promise<string> {
console.log("cacheDir");
return Promise.resolve("cacheDir");
public cacheDir(
sourceDir: string,
tool: string,
version: string,
arch?: string
): Promise<string> {
console.log('cacheDir')
return Promise.resolve('cacheDir')
}
public createTempDir(): Promise<string> {
console.log("createTempDir");
return Promise.resolve("createTempDir");
console.log('createTempDir')
return Promise.resolve('createTempDir')
}
public debug(message: string): void {
console.log("debug");
console.log('debug')
}
public setFailed(message: string, done?: boolean): void {
console.log("setFailed");
console.log('setFailed')
}
public setSucceeded(message: string, done?: boolean): void {
console.log("setSucceeded");
console.log('setSucceeded')
}
public exportVariable(name: string, val: string): void {
console.log("exportVariable");
console.log('exportVariable')
}
public getVariable(name: string): string {
console.log("getVariable");
return "getVariable";
console.log('getVariable')
return 'getVariable'
}
public addPath(inputPath: string): void {
console.log("addPath");
console.log('addPath')
}
public which(tool: string, check?: boolean): Promise<string> {
console.log("which");
return Promise.resolve("which");
console.log('which')
return Promise.resolve('which')
}
public exec(exec: string, args: string[]): Promise<IExecResult> {
return Promise.resolve({
code: 0,
error: null,
stderr: "result.stderr",
stdout: "result.stdout",
});
stderr: 'result.stderr',
stdout: 'result.stdout'
})
}
public getSourceDir(): string {
console.log("getSourceDir");
return "getSourceDir";
console.log('getSourceDir')
return 'getSourceDir'
}
public setOutput(name: string, value: string): void {
console.log("setOutput");
console.log('setOutput')
}
public getInput(input: string, required?: boolean): string {
console.log("getInput");
return "getInput";
console.log('getInput')
return 'getInput'
}
public getListInput(input: string, required?: boolean): string[] {
console.log("getListInput");
return ["getInput"];
console.log('getListInput')
return ['getInput']
}
public getBooleanInput(input: string, required?: boolean): boolean {
console.log("getBooleanInput");
return false;
console.log('getBooleanInput')
return false
}
public isValidInputFile(input: string, file: string) {
console.log("isValidInputFile");
return false;
console.log('isValidInputFile')
return false
}
public fileExists(file: string) {
console.log("fileExists");
return false;
console.log('fileExists')
return false
}
public directoryExists(file: string) {
console.log("directoryExists");
return false;
console.log('directoryExists')
return false
}
}
export {
BuildAgent,
};
export {BuildAgent}