Skip to content

Commit 4dbfcf0

Browse files
committed
fix(release): better release pipeline
1 parent 5db74a4 commit 4dbfcf0

5 files changed

Lines changed: 31 additions & 945 deletions

File tree

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/* eslint-disable */
2+
//prettier-ignore
3+
module.exports = {
4+
name: "@yarnpkg/plugin-gcp-auth",
5+
factory: function (require) {
6+
var plugin=(()=>{var p=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var r=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,o)=>(typeof require<"u"?require:t)[o]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var x=(e,t)=>{for(var o in t)p(e,o,{get:t[o],enumerable:!0})},A=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of w(t))!T.call(e,n)&&n!==o&&p(e,n,{get:()=>t[n],enumerable:!(i=C(t,n))||i.enumerable});return e};var y=e=>A(p({},"__esModule",{value:!0}),e);var E={};x(E,{default:()=>D});var s=r("@yarnpkg/core"),f=r("@yarnpkg/cli");var c=r("@yarnpkg/core");var l=r("@yarnpkg/core");async function h(e,t){let o=await l.httpUtils.post("https://www.googleapis.com/oauth2/v1/tokeninfo",{access_token:t},{configuration:e});return JSON.parse(o.toString())}var k=r("@yarnpkg/core");async function u(e,...t){let{stdout:o,stderr:i}=await k.execUtils.execvp("gcloud",t,{cwd:e.projectCwd,encoding:"utf-8"});if(i)throw i;return o}async function m(e){let t,o;try{let a=process.env.GCE_METADATA_HOST||"metadata.google.internal";({access_token:t,expires_in:o}=(await c.httpUtils.request(`http://${a}/computeMetadata/v1/instance/service-accounts/default/token`,null,{configuration:e,headers:{"Metadata-Flavor":"Google"},jsonResponse:!0})).body),t=t.trim()}catch{if(process.env.ACCESS_TOKEN)t=process.env.ACCESS_TOKEN;else try{t=await u(e,"auth","application-default","print-access-token")}catch{t=await u(e,"auth","print-access-token")}t=t.trim().split(`
7+
`).filter(a=>a&&a!=="").pop(),{expires_in:o}=await h(e,t)}let i=Date.now()+o*1e3,n={token:t,expiresAt:i};return await c.Configuration.updateHomeConfiguration({gcpAccessToken:n}),t}var v={gcpAccessToken:{description:"",type:s.SettingsType.SHAPE,properties:{token:{description:"",type:s.SettingsType.STRING,default:null},expiresAt:{description:"",type:s.SettingsType.NUMBER,default:null}}}},g,d,P={configuration:v,hooks:{async getNpmAuthenticationHeader(e,t,{configuration:o}){if(!t.includes("npm.pkg.dev/"))return null;if(process.env.DEPENDABOT)return console.warn("Dependabot detected, skipping GCP authentication"),e;let i=o.get("gcpAccessToken"),n=i.get("token");return(!n||i.get("expiresAt")<Date.now()+1e3)&&(n=await m(o)),`Bearer ${n}`}},commands:[(g=class extends f.BaseCommand{async execute(){this.context.stdout.write(`Discarding plugin cache...
8+
`),await s.Configuration.updateHomeConfiguration({gcpAccessToken:{}}),this.context.stdout.write(`Rebuilding...
9+
`),await m(await s.Configuration.find(this.context.cwd,this.context.plugins)),this.context.stdout.write(`Done!
10+
`)}},g.paths=[["gcp-auth","refresh"]],g),(d=class extends f.BaseCommand{async execute(){this.context.stdout.write(`Removing cached GCP Access Token...
11+
`),await s.Configuration.updateHomeConfiguration({gcpAccessToken:{}}),this.context.stdout.write(`Done!
12+
`)}},d.paths=[["gcp-auth","logout"]],d)]},D=P;return y(E);})();
13+
return plugin;
14+
}
15+
};

0 commit comments

Comments
 (0)