From 6fe65dc1af30087221de4edd04b15a776cbdcb6a Mon Sep 17 00:00:00 2001 From: khai96_ Date: Sat, 9 May 2020 20:01:25 +0700 Subject: [PATCH] Move run-install to its own module --- dist/index.js | Bin 210088 -> 210346 bytes src/inputs/index.ts | 38 +---------------- .../run-install-input.schema.autogen.json | 2 +- src/inputs/run-install.ts | 40 ++++++++++++++++++ 4 files changed, 43 insertions(+), 37 deletions(-) create mode 100644 src/inputs/run-install.ts diff --git a/dist/index.js b/dist/index.js index 53920a663e513b2ac32a005e57e1cc3146fbacc5..016c5139311eecfe340e22adf7e76e7690ca8a43 100644 GIT binary patch delta 1506 zcmZWpT}T{P6z1G@oBpU(L07A3*NLt(nRVTD6Lnp$C5hl@oy4Do2~}gqb#`6Yj+>d; zjqNI-1e*3W1Ky@7X`!T)QfQ09mXi9=hhl`rA1G;|P#^kGNgonuK|>9_GrNk|mpR}0 z`|g=@&b^;+7k}}v`0EQU5Y0hX)ytyCQ_rftnUtaX8m44J_ISiR;3y(}H&CtlvCCN@ zVbzy55=oyiBgpzRD{|)V533jNyW&tS;J3qx7%OnujI6mM-d@}s@Lt4%Db~0^SX64R z78gk#kF@w_W8EhC`4Xxa3AMFxTsS(T>V`XmV{9z7Uqe zD(=>OQ%X!uCk-~~iz`N-no1k2>Wxw|^XYDF?;$IbQ8Ya)YxEROoeF*7#i zXDDp9p=`kp8%|m{23FL($N~sGY=HBeBdAxw&o+{N=xCNXFU~3!MaG(?9r}v;b_h}3KJqaTD;0A<1GQZlZ zC$E`MW^U~{omQs=QewjSGAXR_m~k__Fs~$aB}@KYfZE)nC4YZ02d zC9J0>mDvEtax$%07f$TP8oi`lLtJ(Ui{$zWjJYJ-#|JFuP_x!O%(8lO zl53GT^2(1;Q*If#lk|V^ki7~5X}AY{RRU&T#}|F7GHb9L=bM^Q6)r50YxiJ{mNT*n zr|A~FzX}~Cw45Ivz;$Zv{{{Xi5jpFm440)}DHr|~oX0>QXSRTp3mlhK>6@V`siYiL zSRuE)1oO zij;naCW!bHz3S-ilyb`-qEDXBr}&+A3VC!JVX|=td1w(yxOp~pVDP~KUO=dT%(6rRgM`qHRVY+fe=Mr3hPY=HznIQ?T?^JN#&DexcSMVVrX-E2k zy$>UClGl~_Y)V&V2TVPy6e{8iL?c5v|E!Xbv#QA%{-k1#YMHG07^ivTJWucVp@X0C z8*)M!OUttd7-d35CqXo2!Ih!m0Q5tWssZqUL01BBz4*$5mX{yta%@h~jZ|7=QQkYN z80NqN$6A)Co+bW7bWkf;W!^nM%k)-&NA+VC86f^J@g=F-PO_&p91T`A%$1bXioM>`dl z;m9Ft@V2^0>zCoe5h0>`2v2*8}LI7N{_8W z5Nj%|!~G{(C34=MlT}O+Z;CWTbi7@IQ9d6f621Bz#GC>d^@Oa&s81id$Z>{GDrC6L|3!bYu74y#;-TF@bM>gtsv|_7mJW zEb*3hj?d#)D3PC`x(4?R-v-(s@_b&y>#ZvpRi05ev9xy^zWVa0M8^E8q9x5aUnsIL zmr@mOeo&%cuP|1z@+#wO6iM7u=`-iztX|VUSD7pw|A#s4I6okiZeC+PI#gx{t8I2M z$ek#DcI+74U1i*uEb_Oweu=P^qe0GEi3;VnM8r1ZTQWj~|7J2dIKt;eB2dQ`6R44J z(gn6a&ulVnRc^P~PJO$~)AY&~BVmBI;0{#`FR^G?SEt*vr2 hg#~i)K=Q+QaxnSH|0gdFPV)I-B20;;@hZnu=wHTM$ expandTilde(getInput(name, options)) -function parseRunInstall(name: string): RunInstall[] { - const result: RunInstallInput = safeLoad(getInput(name, options)) - const ajv = new Ajv({ - allErrors: true, - async: false, - }) - const validate = ajv.compile(runInstallSchema) - if (!validate(result)) { - for (const errorItem of validate.errors!) { - error(`with.run_install${errorItem.dataPath}: ${errorItem.message}`) - } - return process.exit(1) - } - if (!result) return [] - if (result === true) return [{ recursive: true }] - if (Array.isArray(result)) return result - return [result] -} - export const getInputs = (): Inputs => ({ version: getInput('version', options), dest: parseInputPath('dest'), diff --git a/src/inputs/run-install-input.schema.autogen.json b/src/inputs/run-install-input.schema.autogen.json index c42a1d7..1a70dd1 100644 --- a/src/inputs/run-install-input.schema.autogen.json +++ b/src/inputs/run-install-input.schema.autogen.json @@ -14,7 +14,7 @@ "esModuleInterop": true, "resolveJsonModule": true }, - "input": "index.ts", + "input": "run-install.ts", "symbol": "RunInstallInput", "output": "run-install-input.schema.json" } diff --git a/src/inputs/run-install.ts b/src/inputs/run-install.ts new file mode 100644 index 0000000..4e2c265 --- /dev/null +++ b/src/inputs/run-install.ts @@ -0,0 +1,40 @@ +import process from 'process' +import { safeLoad } from 'js-yaml' +import Ajv from 'ajv' +import { getInput, error, InputOptions } from '@actions/core' +import runInstallSchema from './run-install-input.schema.json' + +export interface RunInstall { + readonly recursive?: boolean + readonly cwd?: string + readonly args?: readonly string[] +} + +export type RunInstallInput = + | null + | boolean + | RunInstall + | RunInstall[] + +const options: InputOptions = { + required: true, +} + +export function parseRunInstall(name: string): RunInstall[] { + const result: RunInstallInput = safeLoad(getInput(name, options)) + const ajv = new Ajv({ + allErrors: true, + async: false, + }) + const validate = ajv.compile(runInstallSchema) + if (!validate(result)) { + for (const errorItem of validate.errors!) { + error(`with.run_install${errorItem.dataPath}: ${errorItem.message}`) + } + return process.exit(1) + } + if (!result) return [] + if (result === true) return [{ recursive: true }] + if (Array.isArray(result)) return result + return [result] +}