github-badge-action
Version:
Create a badge using GitHub Actions inputs & outputs, and save it into a file
1 lines • 3.63 kB
Source Map (JSON)
{"version":3,"file":"index.modern.mjs","sources":["../src/defaultInputMap.js","../src/defaultInputFixes.js","../src/index.js"],"sourcesContent":["const defaultInputMap = {\n label: 'label',\n labelColor: 'label-color',\n status: 'status',\n gradient: 'color',\n style: 'style',\n icon: 'icon',\n iconWidth: 'icon-width',\n scale: 'scale',\n path: 'path'\n}\n\nexport default defaultInputMap\n","const defaultInputFixes = {\n // Ensure string\n status: ({ status }) => `${status}`,\n\n // Ensure null if empty\n icon: ({ icon }) => (icon?.length ? icon : null),\n\n // Color gradient as Array\n gradient: ({ gradient }) =>\n gradient\n .split(',')\n\n // Clean spaces\n .map((color) => color.trim(' '))\n}\n\nexport default defaultInputFixes\n","import {\n getInput,\n debug,\n info,\n setOutput,\n error,\n setFailed\n} from '@actions/core'\nimport gradientBadge from 'gradient-badge'\nimport fs from 'fs'\nimport defaultInputMap from './defaultInputMap'\nimport defaultInputFixes from './defaultInputFixes'\n\nconst createBadgeFromInputs = ({\n inputMap = defaultInputMap,\n inputFixes = defaultInputFixes,\n outputName = 'badge'\n} = {}) => {\n try {\n // Get action inputs\n const inputs = Object.entries(inputMap).reduce(\n (acc, [key, inputName]) => ({\n ...acc,\n [key]: getInput(inputName)\n }),\n {}\n )\n\n debug('Received inputs:', inputs)\n\n // Fix some inputs\n for (const [key, fn] of Object.entries(inputFixes)) {\n inputs[key] = fn(inputs)\n }\n\n info('Generate badge using the given inputs and defaults:', inputs)\n\n // Generate the badge\n const { path, ...gradientBadgeOptions } = inputs\n const svgString = gradientBadge(gradientBadgeOptions)\n\n // Output badge contents to Action output\n if (outputName?.length) {\n info(\"Write data to action's output 'badge'...\")\n setOutput(outputName, svgString)\n }\n\n // If path is defined, save SVG data to that file\n if (path?.length) {\n info(`Write data to file ${path}...`)\n\n // In case an error occurred writing file,\n // exception is thrown and success messsage is not printed\n fs.writeFileSync(path, svgString)\n info('Data saved succesfully.')\n }\n } catch (err) {\n error(err)\n setFailed(err.message)\n }\n}\n\nexport { createBadgeFromInputs, defaultInputMap, defaultInputFixes }\n"],"names":["defaultInputMap","label","labelColor","status","gradient","style","icon","iconWidth","scale","path","length","split","map","color","trim","inputMap","inputFixes","defaultInputFixes","outputName","Object","entries","reduce","acc","key","inputName","getInput","debug","inputs","fn","info","gradientBadgeOptions","gradientBadge","setOutput","svgString","fs","writeFileSync","err","error","setFailed","message"],"mappings":"2XAAMA,QAAkB,CACtBC,MAAO,QACPC,WAAY,cACZC,OAAQ,SACRC,SAAU,QACVC,MAAO,QACPC,KAAM,OACNC,UAAW,aACXC,MAAO,QACPC,KAAM,UCTkB,CAExBN,OAAQ,EAAGA,YAAc,GAAEA,IAG3BG,KAAM,EAAGA,gBAAYA,GAAAA,EAAMI,OAASJ,EAAO,KAG3CF,SAAU,EAAGA,cACXA,EACGO,MAAM,KAGNC,IAAKC,GAAUA,EAAMC,KAAK,oBCAH,EAC5BC,SAAAA,EAAWf,EACXgB,WAAAA,EAAaC,EACbC,WAAAA,EAAa,SACX,MACF,IAEE,QAAeC,OAAOC,QAAQL,GAAUM,OACtC,CAACC,GAAMC,EAAKC,UACPF,GACHC,CAACA,GAAME,EAASD,KAElB,IAGFE,EAAM,mBAAoBC,GAG1B,IAAK,MAAOJ,EAAKK,YAAcR,QAAQJ,GACrCW,EAAOJ,GAAOK,EAAGD,GAGnBE,EAAK,sDAAuDF,GAG5D,MAAMlB,KAAEA,GAAkCkB,EAAzBG,qIAAyBH,OACxBI,EAAcD,SAG5BZ,GAAAA,EAAYR,SACdmB,EAAK,4CACLG,EAAUd,EAAYe,UAIpBxB,GAAAA,EAAMC,SACRmB,EAAM,sBAAqBpB,QAI3ByB,EAAGC,cAAc1B,EAAMwB,GACvBJ,EAAK,2BAKT,CAHE,MAAOO,GACPC,EAAMD,GACNE,EAAUF,EAAIG,QAChB"}