Version 1.8 (#5)
This commit is contained in:
1 parent
f3a8c37d62
commit
2807cb719a
14 files changed
+344
-285
No files matched your search
Vendored
+5
-5
@@ -1,4 +1,4 @@
|
||||
module.exports=(()=>{var __webpack_modules__={76677:(e,t,r)=>{"use strict";r.r(t);var n=r(85622);var i=r.n(n);var a=r(60270);var o=r(3584);var s=r(32882);var l=r.n(s);var c=r(29483);var u=r.n(c);(async function(){const[e,t,r,n]=[s,c,o,a].map(e=>e&&e.default?e.default:e);try{console.log(`GitHub metrics as SVG image`);console.log(`========================================================`);console.log(`Version | 1.7.0`);process.on("unhandledRejection",e=>{throw e});const a=`<svg xmlns="http://www.w3.org/2000/svg" width="480" height="\${485 + ((computed.plugins.lines||computed.plugins.traffic) ? 20 : 0) + (computed.plugins.pagespeed ? 130 : 0) + (computed.plugins.habits ? 70 : 0)}">
|
||||
module.exports=(()=>{var __webpack_modules__={76677:(e,t,r)=>{"use strict";r.r(t);var n=r(85622);var i=r.n(n);var a=r(60270);var o=r(3584);var s=r(32882);var l=r.n(s);var c=r(29483);var u=r.n(c);var d=r(2390);var p=r.n(d);(async function(){const[e,t,r,n,l]=[s,c,o,d,a].map(e=>e&&e.default?e.default:e);const u=(e,t=false)=>typeof e==="string"?/^(?:[Tt]rue|[Oo]n|[Yy]es)$/.test(e):t;try{console.log(`GitHub metrics as SVG image`);console.log(`========================================================`);console.log(`Version | 1.8.0`);process.on("unhandledRejection",e=>{throw e});if(t.eventName==="push"&&t.context.payload&&t.context.payload.head_commit){if(/\[Skip GitHub Action\]/.test(t.context.payload.head_commit.message)){console.log(`Skipped because [Skip GitHub Action] is in commit message`);process.exit(0)}}const n=`<svg xmlns="http://www.w3.org/2000/svg" width="480" height="\${485 + ((computed.plugins.lines||computed.plugins.traffic) ? 20 : 0) + (computed.plugins.pagespeed ? 130 : 0) + (computed.plugins.habits ? 70 : 0)}">
|
||||
<style>
|
||||
\${style}
|
||||
</style>
|
||||
@@ -54,7 +54,7 @@ module.exports=(()=>{var __webpack_modules__={76677:(e,t,r)=>{"use strict";r.r(t
|
||||
</h2>
|
||||
<div class="field">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M10.5 7.75a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm1.43.75a4.002 4.002 0 01-7.86 0H.75a.75.75 0 110-1.5h3.32a4.001 4.001 0 017.86 0h3.32a.75.75 0 110 1.5h-3.32z"></path></svg>
|
||||
\${data.computed.commits} Commit\${data.computed.commits > 1 ? "s" : ""}
|
||||
\${data.computed.commits - (computed.plugins.selfskip ? computed.plugins.selfskip.commits||0 : 0)} Commit\${data.computed.commits - (computed.plugins.selfskip ? computed.plugins.selfskip.commits||0 : 0) > 1 ? "s" : ""}
|
||||
</div>
|
||||
<div class="field">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M2.5 1.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v7.736a.75.75 0 101.5 0V1.75A1.75 1.75 0 0011.25 0h-8.5A1.75 1.75 0 001 1.75v11.5c0 .966.784 1.75 1.75 1.75h3.17a.75.75 0 000-1.5H2.75a.25.25 0 01-.25-.25V1.75zM4.75 4a.75.75 0 000 1.5h4.5a.75.75 0 000-1.5h-4.5zM4 7.75A.75.75 0 014.75 7h2a.75.75 0 010 1.5h-2A.75.75 0 014 7.75zm11.774 3.537a.75.75 0 00-1.048-1.074L10.7 14.145 9.281 12.72a.75.75 0 00-1.062 1.058l1.943 1.95a.75.75 0 001.055.008l4.557-4.45z"></path></svg>
|
||||
@@ -304,7 +304,7 @@ module.exports=(()=>{var __webpack_modules__={76677:(e,t,r)=>{"use strict";r.r(t
|
||||
|
||||
</div>
|
||||
</foreignObject>
|
||||
</svg>`,o=`/* SVG global context */
|
||||
</svg>`,a=`/* SVG global context */
|
||||
svg {
|
||||
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
|
||||
font-size: 14px;
|
||||
@@ -499,7 +499,7 @@ module.exports=(()=>{var __webpack_modules__={76677:(e,t,r)=>{"use strict";r.r(t
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}`,s=`query Metrics {
|
||||
}`,o=`query Metrics {
|
||||
user(login: \$login) {
|
||||
name
|
||||
login
|
||||
@@ -595,4 +595,4 @@ module.exports=(()=>{var __webpack_modules__={76677:(e,t,r)=>{"use strict";r.r(t
|
||||
}
|
||||
}
|
||||
}
|
||||
`;console.log(`Templates | loaded`);const[l,c,u,d]=[e.getInput("token"),e.getInput("user"),e.getInput("filename",{default:"github-metrics.svg"}),e.getInput("debug",{default:false})];const p=e.getInput("committer_token",{default:null})||l;const m=i().join(u);console.log(`GitHub user | ${c}`);console.log(`Output file | ${m}`);console.log(`Github token | ${l?"provided":"missing"}`);if(!l)throw new Error("You must provide a valid GitHub token");const f=r.graphql.defaults({headers:{authorization:`token ${l}`}});const h=t.getOctokit(l);if(!d)console.debug=(()=>null);console.log(`Debug mode | ${d?"enabled":"disabled"}`);const g={lines:{enabled:e.getInput("plugin_lines",{default:false})},traffic:{enabled:e.getInput("plugin_traffic",{default:false})},pagespeed:{enabled:e.getInput("plugin_pagespeed",{default:false})},habits:{enabled:e.getInput("plugin_habits",{default:false})}};if(e.getInput("pagespeed_token")){console.log(`Pagespeed token | provided`);g.pagespeed.token=e.getInput("pagespeed_token")}const y=Object.fromEntries(Object.entries(g).filter(([e,t])=>t.enabled).map(([e])=>[e,true]));console.log(`Plugins enabled | ${Object.entries(g).filter(([e,t])=>t.enabled).map(([e])=>e).join(", ")}`);const v=await n({login:c,q:y},{template:a,style:o,query:s,graphql:f,rest:h,plugins:g});console.log(`Render | complete`);{const e=t.getOctokit(p);console.log(`Committer | ${(await e.users.getAuthenticated()).data.login}`);let r=undefined;try{const{data:t}=await e.repos.getContent({owner:c,repo:c,path:u});r=t.sha}catch(e){}console.log(`Previous render sha | ${r||"none"}`);await e.repos.createOrUpdateFileContents({owner:c,repo:c,path:u,sha:r,message:`Update ${u} - [Skip GitHub Action]`,content:Buffer.from(v).toString("base64")});console.log(`Commit to repo | ok`)}console.log(`Success !`)}catch(t){console.error(t);e.setFailed(t.message);process.exit(1)}})().catch(e=>process.exit(1))},12541:function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const i=n(r(12087));const a=r(74332);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+i.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const o="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},32882:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const a=r(12541);const o=r(29582);const s=r(74332);const l=i(r(12087));const c=i(r(85622));var u;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(u=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=s.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){const t="_GitHubActionsFileCommandDelimeter_";const n=`${e}<<${t}${l.EOL}${r}${l.EOL}${t}`;o.issueCommand("ENV",n)}else{a.issueCommand("set-env",{name:e},r)}}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){o.issueCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${c.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}return r.trim()}t.getInput=getInput;function setOutput(e,t){a.issueCommand("set-output",{name:e},t)}t.setOutput=setOutput;function setCommandEcho(e){a.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFaile
Line truncated
|
||||
`;console.log(`Templates | loaded`);const s=e.getInput("token")||t.token;console.log(`Github token | ${s?"provided":"missing"}`);if(!s)throw new Error("You must provide a valid GitHub token");const c=r.graphql.defaults({headers:{authorization:`token ${s}`}});console.log(`Github GraphQL API | ok`);const d=t.getOctokit(s);console.log(`Github REST API | ok`);const p=e.getInput("filename")||"github-metrics.svg";const m=i().join(p);console.log(`SVG output file | ${m}`);const f=u(e.getInput("optimize"),true);console.log(`SVG optimization | ${f}`);const h=e.getInput("user")||(await d.users.getAuthenticated()).data.login;console.log(`GitHub user | ${h}`);const g=u(e.getInput("debug"));if(!g)console.debug=(()=>null);console.log(`Debug mode | ${g}`);const y={lines:{enabled:u(e.getInput("plugin_lines"))},traffic:{enabled:u(e.getInput("plugin_traffic"))},pagespeed:{enabled:u(e.getInput("plugin_pagespeed"))},habits:{enabled:u(e.getInput("plugin_habits"))},selfskip:{enabled:u(e.getInput("plugin_selfskip"))}};const v=Object.fromEntries(Object.entries(y).filter(([e,t])=>t.enabled).map(([e])=>[e,true]));console.log(`Plugins enabled | ${Object.entries(y).filter(([e,t])=>t.enabled).map(([e])=>e).join(", ")}`);if(y.pagespeed.enabled){y.pagespeed.token=e.getInput("pagespeed_token");console.log(`Pagespeed token | ${y.pagespeed.token?"provided":"missing"}`)}const b=await l({login:h,q:v},{template:n,style:a,query:o,graphql:c,rest:d,plugins:y,optimize:f});console.log(`Render | complete`);{const r=e.getInput("committer_token")||e.getInput("token");console.log(`Committer token | ${r?"provided":"missing"}`);if(!r)throw new Error("You must provide a valid GitHub token");const n=t.getOctokit(r);console.log(`Committer REST API | ok`);console.log(`Committer | ${(await n.users.getAuthenticated()).data.login}`);let i=undefined;try{const{data:e}=await n.repos.getContent({owner:h,repo:h,path:p});i=e.sha}catch(e){}console.log(`Previous render sha | ${i||"none"}`);await n.repos.createOrUpdateFileContents({owner:h,repo:h,path:p,sha:i,message:`Update ${p} - [Skip GitHub Action]`,content:Buffer.from(b).toString("base64")});console.log(`Commit to repo | ok`)}console.log(`Success !`);process.exit(0)}catch(t){console.error(t);e.setFailed(t.message);process.exit(1)}})().catch(e=>process.exit(1))},12541:function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const i=n(r(12087));const a=r(74332);function issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+i.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const o="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=o+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${o}${escapeData(this.message)}`;return e}}function escapeData(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return a.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},32882:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){i(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(Object.hasOwnProperty.call(e,r))t[r]=e[r];t["default"]=e;return t};Object.defineProperty(t,"__esModule",{value:true});const a=r(12541);const o=r(29582);const s=r(74332);const l=i(r(12087));const c=i(r(85622));var u;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(u=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=s.toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){const t="_GitHubActionsFileCommandDelimeter_";const n=`${e}<<${t}${l.EOL}${r}${l.EOL}${t}`;o.issueCommand("ENV",n)}else{a.issueCommand("set-env",{name:e},r)}}t.exportVariable=exportVariable;function setSecret(e){a.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){o.issueCommand("PATH",e)}else{a.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${c.delimiter}${process.env["PATH"]}`}t.addPath
Line truncated
|
||||
+67
-33
@@ -4,10 +4,13 @@
|
||||
import * as _octokit from "@octokit/graphql"
|
||||
import * as _core from "@actions/core"
|
||||
import * as _github from "@actions/github"
|
||||
import * as _axios from "axios"
|
||||
|
||||
;((async function () {
|
||||
//Hack because ES modules are not correctly transpiled with ncc
|
||||
const [core, github, octokit, metrics] = [_core, _github, _octokit, _metrics].map(m => (m && m.default) ? m.default : m)
|
||||
const [core, github, octokit, axios, metrics] = [_core, _github, _octokit, _axios, _metrics].map(m => (m && m.default) ? m.default : m)
|
||||
//Yaml boolean converter
|
||||
const bool = (value, defaulted = false) => typeof value === "string" ? /^(?:[Tt]rue|[Oo]n|[Yy]es)$/.test(value) : defaulted
|
||||
//Runner
|
||||
try {
|
||||
//Initialization
|
||||
@@ -16,68 +19,99 @@
|
||||
console.log(`Version | <#version>`)
|
||||
process.on("unhandledRejection", error => { throw error })
|
||||
|
||||
//Skip process if needed
|
||||
if ((github.eventName === "push")&&(github.context.payload)&&(github.context.payload.head_commit)) {
|
||||
if (/\[Skip GitHub Action\]/.test(github.context.payload.head_commit.message)) {
|
||||
console.log(`Skipped because [Skip GitHub Action] is in commit message`)
|
||||
process.exit(0)
|
||||
}
|
||||
}
|
||||
|
||||
//Load svg template, style and query
|
||||
const template = `<#include template.svg>`, style = `<#include style.css>`, query = `<#include query.graphql>`
|
||||
console.log(`Templates | loaded`)
|
||||
|
||||
//Initialization
|
||||
const [token, user, filename, debug] = [core.getInput("token"), core.getInput("user"), core.getInput("filename", {default:"github-metrics.svg"}), core.getInput("debug", {default:false})]
|
||||
const committer = core.getInput("committer_token", {default:null}) || token
|
||||
const output = path.join(filename)
|
||||
console.log(`GitHub user | ${user}`)
|
||||
console.log(`Output file | ${output}`)
|
||||
//Token for data gathering
|
||||
const token = core.getInput("token") || github.token
|
||||
console.log(`Github token | ${token ? "provided" : "missing"}`)
|
||||
if (!token)
|
||||
throw new Error("You must provide a valid GitHub token")
|
||||
const graphql = octokit.graphql.defaults({headers:{authorization: `token ${token}`}})
|
||||
console.log(`Github GraphQL API | ok`)
|
||||
const rest = github.getOctokit(token)
|
||||
console.log(`Github REST API | ok`)
|
||||
|
||||
//SVG output
|
||||
const filename = core.getInput("filename") || "github-metrics.svg"
|
||||
const output = path.join(filename)
|
||||
console.log(`SVG output file | ${output}`)
|
||||
|
||||
//SVG optimization
|
||||
const optimize = bool(core.getInput("optimize"), true)
|
||||
console.log(`SVG optimization | ${optimize}`)
|
||||
|
||||
//GitHub user
|
||||
const user = core.getInput("user") || (await rest.users.getAuthenticated()).data.login
|
||||
console.log(`GitHub user | ${user}`)
|
||||
|
||||
//Debug mode
|
||||
const debug = bool(core.getInput("debug"))
|
||||
if (!debug)
|
||||
console.debug = () => null
|
||||
console.log(`Debug mode | ${debug ? "enabled" : "disabled"}`)
|
||||
console.log(`Debug mode | ${debug}`)
|
||||
|
||||
//Additional plugins
|
||||
const plugins = {
|
||||
lines:{enabled:core.getInput("plugin_lines", {default:false})},
|
||||
traffic:{enabled:core.getInput("plugin_traffic", {default:false})},
|
||||
pagespeed:{enabled:core.getInput("plugin_pagespeed", {default:false})},
|
||||
habits:{enabled:core.getInput("plugin_habits", {default:false})},
|
||||
}
|
||||
if (core.getInput("pagespeed_token")) {
|
||||
console.log(`Pagespeed token | provided`)
|
||||
plugins.pagespeed.token = core.getInput("pagespeed_token")
|
||||
lines:{enabled:bool(core.getInput("plugin_lines"))},
|
||||
traffic:{enabled:bool(core.getInput("plugin_traffic"))},
|
||||
pagespeed:{enabled:bool(core.getInput("plugin_pagespeed"))},
|
||||
habits:{enabled:bool(core.getInput("plugin_habits"))},
|
||||
selfskip:{enabled:bool(core.getInput("plugin_selfskip"))},
|
||||
}
|
||||
const q = Object.fromEntries(Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => [key, true]))
|
||||
console.log(`Plugins enabled | ${Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => key).join(", ")}`)
|
||||
if (plugins.pagespeed.enabled) {
|
||||
plugins.pagespeed.token = core.getInput("pagespeed_token")
|
||||
console.log(`Pagespeed token | ${plugins.pagespeed.token ? "provided" : "missing"}`)
|
||||
}
|
||||
|
||||
//Render metrics
|
||||
const rendered = await metrics({login:user, q}, {template, style, query, graphql, rest, plugins})
|
||||
const rendered = await metrics({login:user, q}, {template, style, query, graphql, rest, plugins, optimize})
|
||||
console.log(`Render | complete`)
|
||||
|
||||
//Commit to repository
|
||||
{
|
||||
const rest = github.getOctokit(committer)
|
||||
console.log(`Committer | ${(await rest.users.getAuthenticated()).data.login}`)
|
||||
let sha = undefined
|
||||
try {
|
||||
const {data} = await rest.repos.getContent({
|
||||
owner:user,
|
||||
repo:user,
|
||||
path:filename,
|
||||
//Committer token
|
||||
const token = core.getInput("committer_token") || core.getInput("token")
|
||||
console.log(`Committer token | ${token ? "provided" : "missing"}`)
|
||||
if (!token)
|
||||
throw new Error("You must provide a valid GitHub token")
|
||||
const rest = github.getOctokit(token)
|
||||
console.log(`Committer REST API | ok`)
|
||||
console.log(`Committer | ${(await rest.users.getAuthenticated()).data.login}`)
|
||||
//Retrieve previous render SHA to be able to update file content through API
|
||||
let sha = undefined
|
||||
try {
|
||||
const {data} = await rest.repos.getContent({
|
||||
owner:user,
|
||||
repo:user,
|
||||
path:filename,
|
||||
})
|
||||
sha = data.sha
|
||||
} catch (error) { }
|
||||
console.log(`Previous render sha | ${sha || "none"}`)
|
||||
//Update file content through API
|
||||
await rest.repos.createOrUpdateFileContents({
|
||||
owner:user, repo:user, path:filename, sha, message:`Update ${filename} - [Skip GitHub Action]`,
|
||||
content:Buffer.from(rendered).toString("base64"),
|
||||
})
|
||||
sha = data.sha
|
||||
} catch (error) { }
|
||||
console.log(`Previous render sha | ${sha || "none"}`)
|
||||
await rest.repos.createOrUpdateFileContents({
|
||||
owner:user, repo:user, path:filename, sha, message:`Update ${filename} - [Skip GitHub Action]`,
|
||||
content:Buffer.from(rendered).toString("base64"),
|
||||
})
|
||||
console.log(`Commit to repo | ok`)
|
||||
console.log(`Commit to repo | ok`)
|
||||
}
|
||||
|
||||
//Success
|
||||
console.log(`Success !`)
|
||||
process.exit(0)
|
||||
|
||||
//Errors
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
|
||||
Reference in new issue
Block a user