Upgrade dependencies, modernize tooling, and fix logout bug

Bug fix:
- Fix registryLogout() using module-scoped `registry` variable (always
  undefined in the post step) instead of `stateHelper.registry` when
  cleaning up Docker config credentials

Dependency upgrades:
- @actions/core 1.x -> 3.x, @actions/exec 1.x -> 3.x, @actions/io 1.x -> 3.x
- @aws-sdk/client-ecr 3.535 -> 3.1094
- @vercel/ncc 0.38 -> 0.44
- @types/node 20 -> 22
- TypeScript 5.x -> 6.0.3
- Remove unused @aws-sdk/util-base64 dependency

Tooling modernization:
- Migrate ESLint 8 (EOL) -> 10 with flat config (eslint.config.mjs)
- Replace legacy @redhat-actions/eslint-config, @typescript-eslint/parser,
  and @typescript-eslint/eslint-plugin with unified typescript-eslint v8
- Inline tsconfig settings, replacing @redhat-actions/tsconfig shared config
- Enable esModuleInterop, update target to es2022
- Migrate from deprecated moduleResolution "node" to "bundler"
- Add private: true to package.json (not published to npm)
- Update engines.node from "20" to ">=20" to match node24 runtime

Resolves all 7 npm audit vulnerabilities (brace-expansion, fast-xml-builder,
fast-xml-parser, js-yaml, undici) and eliminates deprecation warnings
(inflight, rimraf@3, glob@7, @humanwhocodes/*).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Chris BrownandClaude Opus 4.6 committed 2026-07-24 10:44:55 +01:00
1 parent 2e76993ec4
commit e7e52dfd80
9 files changed
+710 -4146

No files matched your search

-5
View File
@@ -1,5 +0,0 @@
module.exports = {
extends: [
"@redhat-actions/eslint-config",
],
};
+3 -3
View File
@@ -1,4 +1,4 @@
require('./sourcemap-register.js');(()=>{var e={4914:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const d=a(n(857));const h=n(302);function issueCommand(e,t,n){const o=new Command(e,t,n);process.stdout.write(o.toString()+d.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const f="::";class Command{constructor(e,t,n){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=n}toString(){let e=f+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const n in this.properties){if(this.properties.hasOwnProperty(n)){const o=this.properties[n];if(o){if(t){t=false}else{e+=","}e+=`${n}=${escapeProperty(o)}`}}}}e+=`${f}${escapeData(this.message)}`;return e}}function escapeData(e){return(0,h.toCommandValue)(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return(0,h.toCommandValue)(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},7484:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.platform=t.toPlatformPath=t.toWin32Path=t.toPosixPath=t.markdownSummary=t.summary=t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const h=n(4914);const f=n(4753);const C=n(302);const m=a(n(857));const D=a(n(6928));const k=n(5306);var F;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(F||(t.ExitCode=F={}));function exportVariable(e,t){const n=(0,C.toCommandValue)(t);process.env[e]=n;const o=process.env["GITHUB_ENV"]||"";if(o){return(0,f.issueFileCommand)("ENV",(0,f.prepareKeyValueMessage)(e,t))}(0,h.issueCommand)("set-env",{name:e},n)}t.exportVariable=exportVariable;function setSecret(e){(0,h.issueCommand)("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){(0,f.issueFileCommand)("PATH",e)}else{(0,h.issueCommand)("add-path",{},e)}process.env["PATH"]=`${e}${D.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const n=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!n){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return n}return n.trim()}t.getInput=getInput;function getMultilineInput(e,t){const n=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return n}return n.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const n=["true","True","TRUE"];const o=["false","False","FALSE"];const i=getInput(e,t);if(n.includes(i))return true;if(o.includes(i))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const n=process.env["GITHUB_OUTPUT"]||"";if(n){return(0,f.issueFileCommand)("OUTPUT",(0,f.prepareKeyValueMessage)(e,t))}process.stdoLine truncated
/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const o=[];const i=new Uint8Array([13,10]);D=0;let a=false;for(const[t,d]of e){if(typeof d==="string"){const e=ue.encode(n+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(d)}\r\n`);o.push(e);D+=e.byteLength}else{const e=ue.encode(`${n}; name="${escape(normalizeLinefeeds(t))}"`+(d.name?`; filename="${escape(d.name)}"`:"")+"\r\n"+`Content-Type: ${d.type||"application/octet-stream"}\r\n\r\n`);o.push(e,d,i);if(typeof d.size==="number"){D+=e.byteLength+d.size+i.byteLength}else{a=true}}}const d=ue.encode(`--${t}--`);o.push(d);D+=d.byteLength;if(a){D=null}m=e;C=async function*(){for(const e of o){if(e.stream){yield*e.stream()}else{yield e}}};k="multipart/form-data; boundary="+t}else if(d(e)){m=e;D=e.size;if(e.type){k=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(i.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}o=e instanceof ce?e:a(e)}if(typeof m==="string"||i.isBuffer(m)){D=Buffer.byteLength(m)}if(C!=null){let t;o=new ce({async start(){t=C(e)[Symbol.asyncIterator]()},async pull(e){const{value:n,done:i}=await t.next();if(i){queueMicrotask((()=>{e.close()}))}else{if(!re(o)){e.enqueue(new Uint8Array(n))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const F={stream:o,source:m,length:D};return[F,k]}function safelyExtractBody(e,t=false){if(!ce){ce=n(3774).ReadableStream}if(e instanceof ce){te(!i.isDisturbed(e),"The body has already been consumed.");te(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,n]=e.stream.tee();const o=P(n,{transfer:[n]});const[,i]=o.tee();e.stream=t;return{stream:i,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(ne(e)){yield e}else{const t=e.stream;if(i.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[ee]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new L("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=ie(t)}return new V([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){F.brandCheck(this,e);throwIfAborted(this[k]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,n]of this.headers)e[t.toLowerCase()]=n;const t=new D;let n;try{n=new o({headers:e,preservePath:true})}catch(e){throw new L(`${e}`,"AbortError")}n.on("field",((e,n)=>{t.append(e,n)}));n.on("file",((e,n,o,i,a)=>{const d=[];if(i==="base64"||i.toLowerCase()==="base64"){let i="";n.on("data",(e=>{i+=e.toString().replace(/[\r\n]/gm,"");const t=i.length-i.length%4;d.push(Buffer.from(i.slice(0,t),"base64"));i=i.slice(t)}));n.on("end",(()=>{d.push(Buffer.from(i,"base64"));t.append(e,new le(d,o,{type:a}))}))}else{n.on("data",(e=>{d.push(e)}));n.on("end",(()=>{t.append(e,new le(d,o,{type:a}))}))}}));const i=new Promise(((e,t)=>{n.on("finish",e);n.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[k].body))n.write(e);n.end();await i;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const n=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[k].body)){if(!ne(e)){throw new TypeError("Expected Uint8Array chunk")}t+=n.decode(e,{stream:true})}t+=n.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new D;for(const[n,o]of e){t.append(n,o)}return t}else{await Promise.resolve();throwIfAborted(this[k]);throw F.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,n){F.brandCheck(e,n);throwIfAborted(e[k]);if(bodyUnusable(e[k].body)){throw new TypeError("Body is unusable")}const o=C();const errorSteps=e=>o.reject(e);const successSteps=e=>{try{o.resolve(t(e))}catch(e){errorSteps(e)}};if(e[k].body==null){successSteps(new Uint8Array);return o.promise}await m(e[k].body,successSteps,errorSteps);return o.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||i.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=ge.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[k];constLine truncated
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */a[i-4]=this.maskKey[0];a[i-3]=this.maskKey[1];a[i-2]=this.maskKey[2];a[i-1]=this.maskKey[3];a[1]=n;if(n===126){a.writeUInt16BE(t,2)}else if(n===127){a[2]=a[3]=0;a.writeUIntBE(t,4,6)}a[1]|=128;for(let e=0;e<t;e++){a[i+e]=this.frameData[e]^this.maskKey[e%4]}return a}}e.exports={WebsocketFrameSend:WebsocketFrameSend}},3171:(e,t,n)=>{"use strict";const{Writable:o}=n(2203);const i=n(1637);const{parserStates:a,opcodes:d,states:h,emptyBuffer:f}=n(5913);const{kReadyState:C,kSentClose:m,kResponse:D,kReceivedClose:k}=n(2933);const{isValidStatusCode:F,failWebsocketConnection:L,websocketMessageReceived:P}=n(3574);const{WebsocketFrameSend:V}=n(1237);const q={};q.ping=i.channel("undici:websocket:ping");q.pong=i.channel("undici:websocket:pong");class ByteParser extends o{#A=[];#i=0;#a=a.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,n){this.#A.push(e);this.#i+=e.length;this.run(n)}run(e){while(true){if(this.#a===a.INFO){if(this.#i<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==d.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==d.BINARY&&this.#c.opcode!==d.TEXT){L(this.ws,"Invalid frame type was fragmented.");return}const n=t[1]&127;if(n<=125){this.#c.payloadLength=n;this.#a=a.READ_DATA}else if(n===126){this.#a=a.PAYLOADLENGTH_16}else if(n===127){this.#a=a.PAYLOADLENGTH_64}if(this.#c.fragmented&&n>125){L(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===d.PING||this.#c.opcode===d.PONG||this.#c.opcode===d.CLOSE)&&n>125){L(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===d.CLOSE){if(n===1){L(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(n);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[m]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new V(e);this.ws[D].socket.write(t.createFrame(d.CLOSE),(e=>{if(!e){this.ws[m]=true}}))}this.ws[C]=h.CLOSING;this.ws[k]=true;this.end();return}else if(this.#c.opcode===d.PING){const t=this.consume(n);if(!this.ws[k]){const e=new V(t);this.ws[D].socket.write(e.createFrame(d.PONG));if(q.ping.hasSubscribers){q.ping.publish({payload:t})}}this.#a=a.INFO;if(this.#i>0){continue}else{e();return}}else if(this.#c.opcode===d.PONG){const t=this.consume(n);if(q.pong.hasSubscribers){q.pong.publish({payload:t})}if(this.#i>0){continue}else{e();return}}}else if(this.#a===a.PAYLOADLENGTH_16){if(this.#i<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#a=a.READ_DATA}else if(this.#a===a.PAYLOADLENGTH_64){if(this.#i<8){return e()}const t=this.consume(8);const n=t.readUInt32BE(0);if(n>2**31-1){L(this.ws,"Received payload length > 2^31 bytes.");return}const o=t.readUInt32BE(4);this.#c.payloadLength=(n<<8)+o;this.#a=a.READ_DATA}else if(this.#a===a.READ_DATA){if(this.#i<this.#c.payloadLength){return e()}else if(this.#i>=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===d.CONTINUATION){const e=Buffer.concat(this.#l);P(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#a=a.INFO}}if(this.#i>0){continue}else{e();break}}}consume(e){if(e>this.#i){return null}else if(e===0){return f}if(this.#A[0].length===e){this.#i-=this.#A[0].length;return this.#A.shift()}const t=Buffer.allocUnsafe(e);let n=0;while(n!==e){const o=this.#A[0];const{length:i}=o;if(i+n===e){t.set(this.#A.shift(),n);break}else if(i+n>e){t.set(o.subarray(0,e-n),n);this.#A[0]=o.subarray(e-n);break}else{t.set(this.#A.shift(),n);n+=o.length}}this.#i-=e;return t}parseCloseBody(e,t){let n;if(t.length>=2){n=t.readUInt16BE(0)}if(e){if(!F(n)){return null}return{code:n}}let o=t.subarray(2);if(o[0]===239&&o[1]===187&&o[2]===191){o=o.subarray(3)}if(n!==undefined&&!F(n)){return null}try{o=new TextDecoder("utf-8",{fatal:true}).decode(o)}catch{return null}return{code:n,reason:o}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},2933:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3574:(e,t,n)=>{"use strict";const{kReadyState:o,kController:i,kResponse:a,kBinaryType:d,kWebSocketURL:h}=n(2933);const{states:f,opcodes:C}=n(5913);const{MessageEvent:m,ErrorEvent:D}=n(6255);function isEstablished(e){return e[o]===f.OPEN}function isClosing(e){return e[o]===f.CLOSING}function isClosed(e){return e[o]===f.CLOSED}function fireEvent(e,t,n=Event,o){const i=new n(e,o);t.dispatchEvent(i)}function websocketMessageReceived(e,t,n){if(e[o]!==f.OPEN){return}let i;if(t===C.TEXT){try{i=new TextDecoder("utf-8",{fatal:true}).decode(n)Line truncated
require('./sourcemap-register.js');(()=>{var t={8249:(t,n,i)=>{var A;const{awsEndpointFunctions:a,emitWarningIfUnsupportedVersion:c,createDefaultUserAgentProvider:l,NODE_APP_ID_CONFIG_OPTIONS:g,getAwsRegionExtensionConfiguration:d,resolveAwsRegionExtensionConfiguration:h,resolveUserAgentConfig:f,resolveHostHeaderConfig:E,getUserAgentPlugin:p,getHostHeaderPlugin:C,getLoggerPlugin:I,getRecursionDetectionPlugin:m}=i(5152);const{getHttpAuthSchemeEndpointRuleSetPlugin:B,DefaultIdentityProviderConfig:Q,getHttpSigningPlugin:y,createPaginator:w}=i(402);const{normalizeProvider:S,getSmithyContext:b,ServiceException:R,NoOpLogger:D,emitWarningIfUnsupportedVersion:k,loadConfigsForDefaultMode:v,getDefaultExtensionConfiguration:T,resolveDefaultRuntimeConfig:N,Client:F,makeBuilder:M,createWaiter:x,checkExceptions:U,WaiterState:L,createAggregatedClient:P}=i(2658);const{Command:O}=i(2658);A=O;A=F;const{resolveDefaultsModeConfig:H,loadConfig:_,NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS:G,NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS:V,NODE_REGION_CONFIG_OPTIONS:Y,NODE_REGION_CONFIG_FILE_OPTIONS:J,resolveRegionConfig:W}=i(7291);const{BinaryDecisionDiagram:q,EndpointCache:z,decideEndpoint:$,customEndpointFunctions:j,resolveEndpointConfig:K,getEndpointPlugin:Z}=i(2085);const{parseUrl:X,getHttpHandlerExtensionConfiguration:ee,resolveHttpHandlerRuntimeConfig:te,getContentLengthPlugin:re}=i(3422);const{DEFAULT_RETRY_MODE:ne,NODE_RETRY_MODE_CONFIG_OPTIONS:se,NODE_MAX_ATTEMPT_CONFIG_OPTIONS:oe,resolveRetryConfig:ie,getRetryPlugin:Ae}=i(3609);const{TypeRegistry:ae,getSchemaSerdePlugin:ce}=i(6890);const{resolveAwsSdkSigV4Config:le,AwsSdkSigV4Signer:ue,NODE_AUTH_SCHEME_PREFERENCE_OPTIONS:ge}=i(7523);const{defaultProvider:de}=i(5861);const{toUtf8:he,fromUtf8:fe,toBase64:Ee,fromBase64:pe,calculateBodyLength:Ce}=i(2430);const{streamCollector:Ie,NodeHttpHandler:me}=i(1279);const{AwsJson1_1Protocol:Be}=i(7288);const{Sha256:Qe}=i(9542);const defaultECRHttpAuthSchemeParametersProvider=async(t,n,i)=>({operation:b(n).operation,region:await S(t.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function createAwsAuthSigv4HttpAuthOption(t){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"ecr",region:t.region},propertiesExtractor:(t,n)=>({signingProperties:{config:t,context:n}})}}const defaultECRHttpAuthSchemeProvider=t=>{const n=[];switch(t.operation){default:{n.push(createAwsAuthSigv4HttpAuthOption(t))}}return n};const resolveHttpAuthSchemeConfig=t=>{const n=le(t);return Object.assign(n,{authSchemePreference:S(t.authSchemePreference??[])})};const resolveClientEndpointParameters=t=>Object.assign(t,{useDualstackEndpoint:t.useDualstackEndpoint??false,useFipsEndpoint:t.useFipsEndpoint??false,defaultSigningName:"ecr"});const ye={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};var we="3.1093.0";var Se={version:we};const be="ref";const Re=-1,De=true,ke="isSet",ve="PartitionResult",Te="stringEquals",Ne="booleanEquals",Fe="getAttr",Me={[be]:"Endpoint"},xe={fn:Fe,argv:[{[be]:ve},"name"]},Ue={[be]:ve},Le={},Pe=[{[be]:"Region"}];const Oe={conditions:[[ke,[Me]],[ke,Pe],["aws.partition",Pe,ve],[Te,[xe,"aws-eusc"]],[Te,[xe,"aws-iso-f"]],[Te,[xe,"aws-iso-e"]],[Te,[xe,"aws-iso-b"]],[Te,[xe,"aws-iso"]],[Te,[xe,"aws-cn"]],[Te,[xe,"aws-us-gov"]],[Te,[xe,"aws"]],[Ne,[{[be]:"UseFIPS"},De]],[Ne,[{fn:Fe,argv:[Ue,"supportsFIPS"]},De]],[Ne,[{[be]:"UseDualStack"},De]],[Ne,[{fn:Fe,argv:[Ue,"supportsDualStack"]},De]]],results:[[Re],[Re,"Invalid Configuration: FIPS and custom endpoint are not supported"],[Re,"Invalid Configuration: Dualstack and custom endpoint are not supported"],[Me,Le],["https://api.ecr.{Region}.{PartitionResult#dnsSuffix}",Le],["https://ecr.{Region}.{PartitionResult#dualStackDnsSuffix}",Le],["https://api.ecr-fips.{Region}.{PartitionResult#dnsSuffix}",Le],["https://ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",Le],["https://api.ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",Le],[Re,"FIPS and DualStack are enabled, but this partition does not support one or both"],[Re,"FIPS is enabled but this partition does not support FIPS"],["https://api.ecr.{Region}.{PartitionResult#dualStackDnsSuffix}",Le],[Re,"DualStack is enabled but this partition does not support DualStack"],[Re,"Invalid Configuration: Missing Region"]]};const He=2;const _e=1e8;const Ge=new Int32Array([-1,1,-1,0,23,3,1,4,_e+13,2,5,_e+13,3,20,6,4,20,7,5,20,8,6,20,9,7,20,10,8,20,11,9,20,12,10,20,13,11,16,14,13,15,_e+4,14,_e+11,_e+12,12,18,17,13,_e+9,_e+10,13,19,_e+6,14,_e+8,_e+9,11,22,21,13,_e+5,_e+4,13,_e+7,_e+6,11,_e+1,24,13,_e+2,_e+3]);const Ve=q.from(Ge,He,Oe.conditions,Oe.results);const Ye=new z({size:50,params:["Endpoint","Region","UseDualStack","UseFIPS"]});const defaultEndpointResolver=(t,n={})=>Ye.get(t,()=>$(Ve,{endpointParams:t,logger:n.logger}));j.aws=a;class ECLine truncated
/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=t=>t.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=t=>t.replace(/\r?\n|\r/g,"\r\n");const A=[];const a=new Uint8Array([13,10]);f=0;let c=false;for(const[n,l]of t){if(typeof l==="string"){const t=D.encode(i+`; name="${escape(normalizeLinefeeds(n))}"`+`\r\n\r\n${normalizeLinefeeds(l)}\r\n`);A.push(t);f+=t.byteLength}else{const t=D.encode(`${i}; name="${escape(normalizeLinefeeds(n))}"`+(l.name?`; filename="${escape(l.name)}"`:"")+"\r\n"+`Content-Type: ${l.type||"application/octet-stream"}\r\n\r\n`);A.push(t,l,a);if(typeof l.size==="number"){f+=t.byteLength+l.size+a.byteLength}else{c=true}}}const l=D.encode(`--${n}--\r\n`);A.push(l);f+=l.byteLength;if(c){f=null}h=t;d=async function*(){for(const t of A){if(t.stream){yield*t.stream()}else{yield t}}};E=`multipart/form-data; boundary=${n}`}else if(c(t)){h=t;f=t.size;if(t.type){E=t.type}}else if(typeof t[Symbol.asyncIterator]==="function"){if(n){throw new TypeError("keepalive")}if(A.isDisturbed(t)||t.locked){throw new TypeError("Response body object should not be disturbed or locked")}i=t instanceof ReadableStream?t:a(t)}if(typeof h==="string"||A.isBuffer(h)){f=Buffer.byteLength(h)}if(d!=null){let n;i=new ReadableStream({async start(){n=d(t)[Symbol.asyncIterator]()},async pull(t){const{value:A,done:a}=await n.next();if(a){queueMicrotask(()=>{t.close();t.byobRequest?.respond(0)})}else{if(!Q(i)){const n=new Uint8Array(A);if(n.byteLength){t.enqueue(n)}}}return t.desiredSize>0},async cancel(t){await n.return()},type:"bytes"})}const p={stream:i,source:h,length:f};return[p,E]}function safelyExtractBody(t,n=false){if(t instanceof ReadableStream){B(!A.isDisturbed(t),"The body has already been consumed.");B(!t.locked,"The stream is locked.")}return extractBody(t,n)}function cloneBody(t,n){const[i,A]=n.stream.tee();n.stream=i;return{stream:A,length:n.length,source:n.source}}function throwIfAborted(t){if(t.aborted){throw new DOMException("The operation was aborted.","AbortError")}}function bodyMixinMethods(t){const n={blob(){return consumeBody(this,t=>{let n=bodyMimeType(this);if(n===null){n=""}else if(n){n=S(n)}return new m([t],{type:n})},t)},arrayBuffer(){return consumeBody(this,t=>new Uint8Array(t).buffer,t)},text(){return consumeBody(this,E,t)},json(){return consumeBody(this,parseJSONFromBytes,t)},formData(){return consumeBody(this,t=>{const n=bodyMimeType(this);if(n!==null){switch(n.essence){case"multipart/form-data":{const i=b(t,n);if(i==="failure"){throw new TypeError("Failed to parse body as FormData.")}const A=new p;A[C]=i;return A}case"application/x-www-form-urlencoded":{const n=new URLSearchParams(t.toString());const i=new p;for(const[t,A]of n){i.append(t,A)}return i}}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return consumeBody(this,t=>new Uint8Array(t),t)}};return n}function mixinBody(t){Object.assign(t.prototype,bodyMixinMethods(t))}async function consumeBody(t,n,i){I.brandCheck(t,i);if(bodyUnusable(t)){throw new TypeError("Body is unusable: Body has already been read")}throwIfAborted(t[C]);const A=d();const errorSteps=t=>A.reject(t);const successSteps=t=>{try{A.resolve(n(t))}catch(t){errorSteps(t)}};if(t[C].body==null){successSteps(Buffer.allocUnsafe(0));return A.promise}await h(t[C].body,successSteps,errorSteps);return A.promise}function bodyUnusable(t){const n=t[C].body;return n!=null&&(n.stream.locked||A.isDisturbed(n.stream))}function parseJSONFromBytes(t){return JSON.parse(E(t))}function bodyMimeType(t){const n=t[C].headersList;const i=f(n);if(i==="failure"){return null}return i}t.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody,streamRegistry:v,hasFinalizationRegistry:k,bodyUnusable:bodyUnusable}},4495:t=>{"use strict";const n=["GET","HEAD","POST"];const i=new Set(n);const A=[101,204,205,304];const a=[301,302,303,307,308];const c=new Set(a);const l=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"];const g=new Set(l);const d=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const h=new Set(d);const f=["follow","manual","error"];const E=["GET","HEAD","OPTIONS","TRACE"];const p=new Set(E);const C=["navigate","same-origin","no-cors","cors"];const I=["omit","same-origin","include"];const m=["default","no-store","reload","no-cache","forcLine truncated
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */g[l-4]=i[0];g[l-3]=i[1];g[l-2]=i[2];g[l-1]=i[3];g[1]=c;if(c===126){g.writeUInt16BE(a,2)}else if(c===127){g[2]=g[3]=0;g.writeUIntBE(a,4,6)}g[1]|=128;for(let t=0;t<a;++t){g[l+t]=n[t]^i[t&3]}return g}}t.exports={WebsocketFrameSend:WebsocketFrameSend}},9469:(t,n,i)=>{"use strict";const{createInflateRaw:A,Z_DEFAULT_WINDOWBITS:a}=i(8522);const{isValidClientWindowBits:c}=i(8625);const{MessageSizeExceededError:l}=i(8707);const g=Buffer.from([0,0,255,255]);const d=Symbol("kBuffer");const h=Symbol("kLength");class PerMessageDeflate{#j;#d={};#K=0;constructor(t,n){this.#d.serverNoContextTakeover=t.has("server_no_context_takeover");this.#d.serverMaxWindowBits=t.get("server_max_window_bits");this.#K=n.maxPayloadSize}decompress(t,n,i){if(!this.#j){let t=a;if(this.#d.serverMaxWindowBits){if(!c(this.#d.serverMaxWindowBits)){i(new Error("Invalid server_max_window_bits"));return}t=Number.parseInt(this.#d.serverMaxWindowBits)}try{this.#j=A({windowBits:t})}catch(t){i(t);return}this.#j[d]=[];this.#j[h]=0;this.#j.on("data",t=>{this.#j[h]+=t.length;if(this.#K>0&&this.#j[h]>this.#K){i(new l);this.#j.removeAllListeners();this.#j=null;return}this.#j[d].push(t)});this.#j.on("error",t=>{this.#j=null;i(t)})}this.#j.write(t);if(n){this.#j.write(g)}this.#j.flush(()=>{if(!this.#j){return}const t=Buffer.concat(this.#j[d],this.#j[h]);this.#j[d].length=0;this.#j[h]=0;i(null,t)})}}t.exports={PerMessageDeflate:PerMessageDeflate}},1652:(t,n,i)=>{"use strict";const{Writable:A}=i(7075);const a=i(4589);const{parserStates:c,opcodes:l,states:g,emptyBuffer:d,sentCloseFrameState:h}=i(736);const{kReadyState:f,kSentClose:E,kResponse:p,kReceivedClose:C}=i(1216);const{channels:I}=i(2414);const{isValidStatusCode:m,isValidOpcode:B,failWebsocketConnection:Q,websocketMessageReceived:y,utf8Decode:w,isControlFrame:S,isTextBinaryFrame:b,isContinuationFrame:R}=i(8625);const{WebsocketFrameSend:D}=i(3264);const{closeWebSocketConnection:k}=i(6897);const{PerMessageDeflate:v}=i(9469);const{MessageSizeExceededError:T}=i(8707);function failWebsocketConnectionWithCode(t,n,i){k(t,n,i,Buffer.byteLength(i));Q(t,i)}class ByteParser extends A{#Z=[];#X=0;#ee=0;#te=false;#m=c.INFO;#re={};#ne=[];#se;#oe;#K;constructor(t,n,i={}){super();this.ws=t;this.#se=n==null?new Map:n;this.#oe=i.maxFragments??0;this.#K=i.maxPayloadSize??0;if(this.#se.has("permessage-deflate")){this.#se.set("permessage-deflate",new v(n,i))}}_write(t,n,i){this.#Z.push(t);this.#ee+=t.length;this.#te=true;this.run(i)}#ie(){if(this.#K>0&&!S(this.#re.opcode)&&this.#re.payloadLength+this.#X>this.#K){failWebsocketConnectionWithCode(this.ws,1009,"Payload size exceeds maximum allowed size");return false}return true}run(t){while(this.#te){if(this.#m===c.INFO){if(this.#ee<2){return t()}const n=this.consume(2);const i=(n[0]&128)!==0;const A=n[0]&15;const a=(n[1]&128)===128;const g=!i&&A!==l.CONTINUATION;const d=n[1]&127;const h=n[0]&64;const f=n[0]&32;const E=n[0]&16;if(!B(A)){Q(this.ws,"Invalid opcode received");return t()}if(a){Q(this.ws,"Frame cannot be masked");return t()}if(h!==0&&!this.#se.has("permessage-deflate")){Q(this.ws,"Expected RSV1 to be clear.");return}if(f!==0||E!==0){Q(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(g&&!b(A)){Q(this.ws,"Invalid frame type was fragmented.");return}if(b(A)&&this.#ne.length>0){Q(this.ws,"Expected continuation frame");return}if(this.#re.fragmented&&g){Q(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((d>125||g)&&S(A)){Q(this.ws,"Control frame either too large or fragmented");return}if(R(A)&&this.#ne.length===0&&!this.#re.compressed){Q(this.ws,"Unexpected continuation frame");return}if(d<=125){this.#re.payloadLength=d;this.#m=c.READ_DATA;if(!this.#ie()){return}}else if(d===126){this.#m=c.PAYLOADLENGTH_16}else if(d===127){this.#m=c.PAYLOADLENGTH_64}if(b(A)){this.#re.binaryType=A;this.#re.compressed=h!==0}this.#re.opcode=A;this.#re.masked=a;this.#re.fin=i;this.#re.fragmented=g}else if(this.#m===c.PAYLOADLENGTH_16){if(this.#ee<2){return t()}const n=this.consume(2);this.#re.payloadLength=n.readUInt16BE(0);this.#m=c.READ_DATA;if(!this.#ie()){return}}else if(this.#m===c.PAYLOADLENGTH_64){if(this.#ee<8){return t()}const n=this.consume(8);const i=n.readUInt32BE(0);const A=n.readUInt32BE(4);if(i!==0||A>2**31-1){Q(this.ws,"Received payload length > 2^31 bytes.");return}this.#re.payloadLength=A;this.#m=c.READ_DATA;if(!this.#ie()){return}}else if(this.#m===c.READ_DATA){if(this.#ee<this.#re.payloadLength){return t()}const n=this.consume(this.#re.payloadLength);if(S(this.#re.opcode)){this.#te=this.parseControlFrame(n);this.#m=c.INFO}else{if(!this.#re.compressed){if(!this.writeFragments(n)){return}if(this.#K>0&&this.#X>this.#K){failWebsocketConnectionWithCode(this.ws,1009,(new T).message);return}if(!this.#re.fragmented&&this.#re.fin){y(this.ws,this.#re.binaryType,this.consumeFragments())}this.#m=c.INFO}else{this.#se.get("permessage-deflate").decompress(n,this.#re.fin,(n,i)=>{if(n){const t=n instanceof T?1009:1007;Line truncated
//# sourceMappingURL=index.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"index.js","names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","exports","issue","issueCommand","os","__webpack_require__","utils_1","command","properties","message","cmd","Command","process","stdout","write","toString","EOL","name","CMD_STRING","constructor","cmdStr","keys","length","first","key","val","escapeProperty","escapeData","s","toCommandValue","replace","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","done","then","apply","platform","toPlatformPath","toWin32Path","toPosixPath","markdownSummary","summary","getIDToken","getState","saveState","group","endGroup","startGroup","info","notice","warning","error","debug","isDebug","setFailed","setCommandEcho","setOutput","getBooleanInput","getMultilineInput","getInput","addPath","setSecret","exportVariable","ExitCode","command_1","file_command_1","path","oidc_utils_1","convertedVal","env","filePath","issueFileCommand","prepareKeyValueMessage","secret","inputPath","delimiter","options","toUpperCase","required","Error","trimWhitespace","trim","inputs","split","filter","x","map","input","trueValue","falseValue","includes","TypeError","enabled","exitCode","Failure","toCommandProperties","fn","aud","OidcClient","summary_1","summary_2","path_utils_1","crypto","fs","existsSync","appendFileSync","encoding","randomUUID","convertedValue","http_client_1","auth_1","core_1","createHttpClient","allowRetry","maxRetry","requestOptions","allowRetries","maxRetries","HttpClient","BearerCredentialHandler","getRequestToken","token","getIDTokenUrl","runtimeUrl","getCall","id_token_url","_a","httpclient","res","getJson","catch","statusCode","id_token","audience","encodedAudience","encodeURIComponent","pth","sep","__importDefault","default","getDetails","isLinux","isMacOS","isWindows","arch","os_1","exec","getWindowsInfo","version","getExecOutput","silent","getMacOsInfo","_b","_c","_d","match","getLinuxInfo","assign","SUMMARY_DOCS_URL","SUMMARY_ENV_VAR","fs_1","access","appendFile","writeFile","promises","Summary","_buffer","_filePath","pathFromEnv","constants","R_OK","W_OK","wrap","tag","content","attrs","htmlAttrs","entries","join","overwrite","writeFunc","emptyBuffer","clear","stringify","isEmptyBuffer","addRaw","text","addEOL","addCodeBlock","code","lang","element","addList","items","ordered","listItems","item","addTable","rows","tableBody","row","cells","cell","header","data","colspan","rowspan","addDetails","label","addImage","src","alt","width","height","addHeading","level","allowedTag","addSeparator","addBreak","addQuote","cite","addLink","href","_summary","String","JSON","annotationProperties","title","file","line","startLine","endLine","col","startColumn","endColumn","string_decoder_1","tr","commandLine","args","commandArgs","argStringToArray","toolPath","slice","concat","runner","ToolRunner","stderr","stdoutDecoder","StringDecoder","stderrDecoder","originalStdoutListener","listeners","originalStdErrListener","stdErrListener","stdOutListener","end","events","child","io","ioUtil","timers_1","IS_WINDOWS","EventEmitter","super","_debug","_getCommandString","noPrefix","_getSpawnFileName","_getSpawnArgs","_isCmdFile","a","windowsVerbatimArguments","_windowsQuoteCmdArg","_processLineBuffer","strBuffer","onLine","n","indexOf","substring","err","argline","_endsWith","str","endsWith","upperToolPath","arg","_uvQuoteCmdArg","cmdSpecialChars","needsQuotes","char","some","reverse","quoteHit","i","_cloneExecOptions","cwd","failOnStdErr","ignoreReturnCode","delay","outStream","errStream","_getSpawnOptions","argv0","isRooted","which","optionsNonNull","state","ExecState","on","exists","fileName","cp","spawn","stdbuffer","stdline","errbuffer","processStderr","errline","processError","processExited","processClosed","CheckComplete","processExitCode","emit","removeAllListeners","stdin","argString","inQuotes","escaped","append","c","charAt","push","timeout","_setResult","setTimeout","HandleTimeout","clearTimeout","PersonalAccessTokenCredentialHandler","BasicCredentialHandler","username","password","prepareRequest","headers","Buffer","from","canHandleAuthentication","handleAuthentication","isHttps","HttpClientResponse","HttpClientError","getProxyUrl","MediaTypes","Headers","HttpCodes","http","https","pm","tunnel","undici_1","serverUrl","proxyUrl","URL","HttpRedirectCodes","MovedPermanently","ResourceMoved","SeeOther","TemporaryRedirect","PermanentRedirect","HttpResponseRetryCodes","BadGateway","ServiceUnavailable","GatewayTimeout","RetryableHttpVerbs","ExponentialBackoffCeiling","ExponentialBackoffTimeSlice","setPrototypeOf","readBody","output","alloc","chunk","readBodyBuffer","chunks","requestUrl","parsedUrl","protocol","userAgent","handlers","_ignoreSslErrorLine truncated
{"version":3,"file":"index.js","names":["awsEndpointFunctions","emitWarningIfUnsupportedVersion","emitWarningIfUnsupportedVersion$1","createDefaultUserAgentProvider","NODE_APP_ID_CONFIG_OPTIONS","getAwsRegionExtensionConfiguration","resolveAwsRegionExtensionConfiguration","resolveUserAgentConfig","resolveHostHeaderConfig","getUserAgentPlugin","getHostHeaderPlugin","getLoggerPlugin","getRecursionDetectionPlugin","__webpack_require__","getHttpAuthSchemeEndpointRuleSetPlugin","DefaultIdentityProviderConfig","getHttpSigningPlugin","createPaginator","normalizeProvider","getSmithyContext","ServiceException","NoOpLogger","loadConfigsForDefaultMode","getDefaultExtensionConfiguration","resolveDefaultRuntimeConfig","Client","makeBuilder","createWaiter","checkExceptions","WaiterState","createAggregatedClient","Command","$Command","__webpack_unused_export__","resolveDefaultsModeConfig","loadConfig","NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS","NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS","NODE_REGION_CONFIG_OPTIONS","NODE_REGION_CONFIG_FILE_OPTIONS","resolveRegionConfig","BinaryDecisionDiagram","EndpointCache","decideEndpoint","customEndpointFunctions","resolveEndpointConfig","getEndpointPlugin","parseUrl","getHttpHandlerExtensionConfiguration","resolveHttpHandlerRuntimeConfig","getContentLengthPlugin","DEFAULT_RETRY_MODE","NODE_RETRY_MODE_CONFIG_OPTIONS","NODE_MAX_ATTEMPT_CONFIG_OPTIONS","resolveRetryConfig","getRetryPlugin","TypeRegistry","getSchemaSerdePlugin","resolveAwsSdkSigV4Config","AwsSdkSigV4Signer","NODE_AUTH_SCHEME_PREFERENCE_OPTIONS","defaultProvider","toUtf8","fromUtf8","toBase64","fromBase64","calculateBodyLength","streamCollector","NodeHttpHandler","AwsJson1_1Protocol","Sha256","defaultECRHttpAuthSchemeParametersProvider","async","config","context","input","operation","region","Error","createAwsAuthSigv4HttpAuthOption","authParameters","schemeId","signingProperties","name","propertiesExtractor","defaultECRHttpAuthSchemeProvider","options","push","resolveHttpAuthSchemeConfig","config_0","Object","assign","authSchemePreference","resolveClientEndpointParameters","useDualstackEndpoint","useFipsEndpoint","defaultSigningName","commonParams","UseFIPS","type","Endpoint","Region","UseDualStack","version","packageInfo","m","a","b","c","d","e","f","g","h","i","fn","argv","j","k","l","_data","conditions","results","root","r","nodes","Int32Array","bdd","from","cache","size","params","defaultEndpointResolver","endpointParams","get","logger","aws","ECRServiceException","constructor","super","setPrototypeOf","this","prototype","InvalidParameterException","$fault","opts","RepositoryNotFoundException","ServerException","LimitExceededException","UnableToGetUpstreamImageException","ValidationException","EmptyUploadException","InvalidLayerException","KmsException","kmsError","LayerAlreadyExistsException","LayerPartTooSmallException","UploadNotFoundException","PullThroughCacheRuleAlreadyExistsException","SecretNotFoundException","UnableToAccessSecretException","UnableToDecryptSecretValueException","UnsupportedUpstreamRegistryException","InvalidTagParameterException","RepositoryAlreadyExistsException","TooManyTagsException","TemplateAlreadyExistsException","LifecyclePolicyNotFoundException","PullThroughCacheRuleNotFoundException","RegistryPolicyNotFoundException","RepositoryNotEmptyException","TemplateNotFoundException","RepositoryPolicyNotFoundException","SigningConfigurationNotFoundException","ExclusionNotFoundException","ImageNotFoundException","ScanNotFoundException","LayerInaccessibleException","LayersNotFoundException","UnableToGetUpstreamLayerException","LifecyclePolicyPreviewNotFoundException","UnableToListUpstreamImageReferrersException","ImageAlreadyExistsException","ImageDigestDoesNotMatchException","ImageTagAlreadyExistsException","ReferencedImagesNotFoundException","BlockedByOrganizationPolicyException","ExclusionAlreadyExistsException","ImageArchivedException","UnsupportedImageTypeException","LifecyclePolicyPreviewInProgressException","ImageStorageClassUpdateNotSupportedException","InvalidLayerPartException","registryId","repositoryName","uploadId","lastValidByteReceived","_A","_AD","_ADL","_AECID","_AL","_BBOPE","_BCLA","_BCLAR","_BCLARa","_BDI","_BDIR","_BDIRa","_BGI","_BGIR","_BGIRa","_BGRSC","_BGRSCR","_BGRSCRa","_CLU","_CLUR","_CLURo","_CPTCR","_CPTCRR","_CPTCRRr","_CR","_CRCT","_CRCTR","_CRCTRr","_CRR","_CRRr","_CS","_CSA","_CSAL","_CSD","_CSL","_DI","_DIF","_DIR","_DIRS","_DIRSR","_DIRSRe","_DIRe","_DISF","_DISFR","_DISFRe","_DISS","_DISSR","_DISSRe","_DLP","_DLPR","_DLPRe","_DPTCR","_DPTCRR","_DPTCRRe","_DPTCRRes","_DPTCRResc","_DPTCRe","_DPTUE","_DPTUER","_DPTUERe","_DR","_DRCT","_DRCTR","_DRCTRe","_DRCTRes","_DRCTResc","_DRCTe","_DRP","_DRPR","_DRPRe","_DRPRel","_DRPRele","_DRPe","_DRR","_DRRe","_DRRes","_DRResc","_DRRescr","_DRRescri","_DRe","_DRes","_DSC","_DSCR","_DSCRe","_EAEE","_EC","_ECFRCT","_EISF","_EISFL","_ENFE","_EUE","_GAS","_GASR","_GASRe","_GAT","_GATR","_GATRe","_GDUFL","_GDUFLR","_GDUFLRe","Line truncated
+1 -1
View File
@@ -1 +1 @@
(()=>{var e={296:e=>{var r=Object.prototype.toString;var n=typeof Buffer!=="undefined"&&typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},599:(e,r,n)=>{e=n.nmd(e);var t=n(927).SourceMapConsumer;var o=n(928);var i;try{i=n(896);if(!i.existsSync||!i.readFileSync){i=null}}catch(e){}var a=n(296);function dynamicRequire(e,r){return e.require(r)}var u=false;var s=false;var l=false;var c="auto";var p={};var f={};var g=/^data:application\/json[^,]+base64,/;var d=[];var h=[];function isInBrowser(){if(c==="browser")return true;if(c==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(e){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(e)}}function handlerExec(e){return function(r){for(var n=0;n<e.length;n++){var t=e[n](r);if(t){return t}}return null}}var m=handlerExec(d);d.push((function(e){e=e.trim();if(/^file:/.test(e)){e=e.replace(/file:\/\/\/(\w:)?/,(function(e,r){return r?"":"/"}))}if(e in p){return p[e]}var r="";try{if(!i){var n=new XMLHttpRequest;n.open("GET",e,false);n.send(null);if(n.readyState===4&&n.status===200){r=n.responseText}}else if(i.existsSync(e)){r=i.readFileSync(e,"utf8")}}catch(e){}return p[e]=r}));function supportRelativeURL(e,r){if(!e)return r;var n=o.dirname(e);var t=/^\w+:\/\/[^\/]*/.exec(n);var i=t?t[0]:"";var a=n.slice(i.length);if(i&&/^\/\w\:/.test(a)){i+="/";return i+o.resolve(n.slice(i.length),r).replace(/\\/g,"/")}return i+o.resolve(n.slice(i.length),r)}function retrieveSourceMapURL(e){var r;if(isInBrowser()){try{var n=new XMLHttpRequest;n.open("GET",e,false);n.send(null);r=n.readyState===4?n.responseText:null;var t=n.getResponseHeader("SourceMap")||n.getResponseHeader("X-SourceMap");if(t){return t}}catch(e){}}r=m(e);var o=/(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/gm;var i,a;while(a=o.exec(r))i=a;if(!i)return null;return i[1]}var v=handlerExec(h);h.push((function(e){var r=retrieveSourceMapURL(e);if(!r)return null;var n;if(g.test(r)){var t=r.slice(r.indexOf(",")+1);n=a(t,"base64").toString();r=e}else{r=supportRelativeURL(e,r);n=m(r)}if(!n){return null}return{url:r,map:n}}));function mapSourcePosition(e){var r=f[e.source];if(!r){var n=v(e.source);if(n){r=f[e.source]={url:n.url,map:new t(n.map)};if(r.map.sourcesContent){r.map.sources.forEach((function(e,n){var t=r.map.sourcesContent[n];if(t){var o=supportRelativeURL(r.url,e);p[o]=t}}))}}else{r=f[e.source]={url:null,map:null}}}if(r&&r.map&&typeof r.map.originalPositionFor==="function"){var o=r.map.originalPositionFor(e);if(o.source!==null){o.source=supportRelativeURL(r.url,o.source);return o}}return e}function mapEvalOrigin(e){var r=/^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(e);if(r){var n=mapSourcePosition({source:r[2],line:+r[3],column:r[4]-1});return"eval at "+r[1]+" ("+n.source+":"+n.line+":"+(n.column+1)+")"}r=/^eval at ([^(]+) \((.+)\)$/.exec(e);if(r){return"eval at "+r[1]+" ("+mapEvalOrigin(r[2])+")"}return e}function CallSiteToString(){var e;var r="";if(this.isNative()){r="native"}else{e=this.getScriptNameOrSourceURL();if(!e&&this.isEval()){r=this.getEvalOrigin();r+=", "}if(e){r+=e}else{r+="<anonymous>"}var n=this.getLineNumber();if(n!=null){r+=":"+n;var t=this.getColumnNumber();if(t){r+=":"+t}}}var o="";var i=this.getFunctionName();var a=true;var u=this.isConstructor();var s=!(this.isToplevel()||u);if(s){var l=this.getTypeName();if(l==="[object Object]"){l="null"}var c=this.getMethodName();if(i){if(l&&i.indexOf(l)!=0){o+=l+"."}o+=i;if(c&&i.indexOf("."+c)!=i.length-c.length-1){o+=" [as "+c+"]"}}else{o+=l+"."+(c||"<anonymous>")}}else if(u){o+="new "+(i||"<aLine truncated
(()=>{var e={351:e=>{var r=Object.prototype.toString;var n=typeof Buffer!=="undefined"&&typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},765:(e,r,n)=>{e=n.nmd(e);var t=n(258).SourceMapConsumer;var o=n(928);var i;try{i=n(896);if(!i.existsSync||!i.readFileSync){i=null}}catch(e){}var a=n(351);function dynamicRequire(e,r){return e.require(r)}var u=false;var s=false;var l=false;var c="auto";var p={};var f={};var g=/^data:application\/json[^,]+base64,/;var d=[];var h=[];function isInBrowser(){if(c==="browser")return true;if(c==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(e){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(e)}}function handlerExec(e){return function(r){for(var n=0;n<e.length;n++){var t=e[n](r);if(t){return t}}return null}}var m=handlerExec(d);d.push(function(e){e=e.trim();if(/^file:/.test(e)){e=e.replace(/file:\/\/\/(\w:)?/,function(e,r){return r?"":"/"})}if(e in p){return p[e]}var r="";try{if(!i){var n=new XMLHttpRequest;n.open("GET",e,false);n.send(null);if(n.readyState===4&&n.status===200){r=n.responseText}}else if(i.existsSync(e)){r=i.readFileSync(e,"utf8")}}catch(e){}return p[e]=r});function supportRelativeURL(e,r){if(!e)return r;var n=o.dirname(e);var t=/^\w+:\/\/[^\/]*/.exec(n);var i=t?t[0]:"";var a=n.slice(i.length);if(i&&/^\/\w\:/.test(a)){i+="/";return i+o.resolve(n.slice(i.length),r).replace(/\\/g,"/")}return i+o.resolve(n.slice(i.length),r)}function retrieveSourceMapURL(e){var r;if(isInBrowser()){try{var n=new XMLHttpRequest;n.open("GET",e,false);n.send(null);r=n.readyState===4?n.responseText:null;var t=n.getResponseHeader("SourceMap")||n.getResponseHeader("X-SourceMap");if(t){return t}}catch(e){}}r=m(e);var o=/(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/gm;var i,a;while(a=o.exec(r))i=a;if(!i)return null;return i[1]}var v=handlerExec(h);h.push(function(e){var r=retrieveSourceMapURL(e);if(!r)return null;var n;if(g.test(r)){var t=r.slice(r.indexOf(",")+1);n=a(t,"base64").toString();r=e}else{r=supportRelativeURL(e,r);n=m(r)}if(!n){return null}return{url:r,map:n}});function mapSourcePosition(e){var r=f[e.source];if(!r){var n=v(e.source);if(n){r=f[e.source]={url:n.url,map:new t(n.map)};if(r.map.sourcesContent){r.map.sources.forEach(function(e,n){var t=r.map.sourcesContent[n];if(t){var o=supportRelativeURL(r.url,e);p[o]=t}})}}else{r=f[e.source]={url:null,map:null}}}if(r&&r.map&&typeof r.map.originalPositionFor==="function"){var o=r.map.originalPositionFor(e);if(o.source!==null){o.source=supportRelativeURL(r.url,o.source);return o}}return e}function mapEvalOrigin(e){var r=/^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(e);if(r){var n=mapSourcePosition({source:r[2],line:+r[3],column:r[4]-1});return"eval at "+r[1]+" ("+n.source+":"+n.line+":"+(n.column+1)+")"}r=/^eval at ([^(]+) \((.+)\)$/.exec(e);if(r){return"eval at "+r[1]+" ("+mapEvalOrigin(r[2])+")"}return e}function CallSiteToString(){var e;var r="";if(this.isNative()){r="native"}else{e=this.getScriptNameOrSourceURL();if(!e&&this.isEval()){r=this.getEvalOrigin();r+=", "}if(e){r+=e}else{r+="<anonymous>"}var n=this.getLineNumber();if(n!=null){r+=":"+n;var t=this.getColumnNumber();if(t){r+=":"+t}}}var o="";var i=this.getFunctionName();var a=true;var u=this.isConstructor();var s=!(this.isToplevel()||u);if(s){var l=this.getTypeName();if(l==="[object Object]"){l="null"}var c=this.getMethodName();if(i){if(l&&i.indexOf(l)!=0){o+=l+"."}o+=i;if(c&&i.indexOf("."+c)!=i.length-c.length-1){o+=" [as "+c+"]"}}else{o+=l+"."+(c||"<anonymous>")}}else if(u){o+="new "+(i||"<anonymousLine truncated
+45
View File
@@ -0,0 +1,45 @@
import js from "@eslint/js";
import tseslint from "typescript-eslint";
export default tseslint.config(
{
ignores: [
"dist/",
"out/",
"node_modules/",
],
},
js.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
{
languageOptions: {
parserOptions: {
projectService: {
allowDefaultProject: ["eslint.config.mjs"],
},
tsconfigRootDir: import.meta.dirname,
},
},
rules: {
// Match existing code style
"no-console": "error",
eqeqeq: ["error", "smart"],
curly: "error",
// TypeScript rules matching the original config
"@typescript-eslint/explicit-function-return-type": ["error", { allowExpressions: true }],
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-inferrable-types": ["error", { ignoreParameters: true }],
"@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
"@typescript-eslint/no-require-imports": "error",
// Relax rules that conflict with existing code patterns
"@typescript-eslint/no-base-to-string": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-return": "off",
},
},
);
+623 -4115
View File
File diff suppressed because it is too large. Load diff
+12 -14
View File
@@ -1,8 +1,9 @@
{
"name": "podman-login",
"version": "1.0.0",
"private": true,
"engines": {
"node": "20"
"node": ">=20"
},
"description": "GitHub Action to log in against a container image registry",
"repository": {
@@ -21,21 +22,18 @@
"author": "Red Hat",
"license": "MIT",
"dependencies": {
"@actions/core": "^1.10.1",
"@actions/exec": "^1.1.1",
"@actions/io": "^1.1.3",
"@aws-sdk/client-ecr": "^3.535.0",
"@aws-sdk/util-base64": "^3.310.0"
"@actions/core": "^3.0.1",
"@actions/exec": "^3.0.0",
"@actions/io": "^3.0.2",
"@aws-sdk/client-ecr": "^3.1094.0"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@redhat-actions/action-io-generator": "^1.5.0",
"@redhat-actions/eslint-config": "^1.3.2",
"@redhat-actions/tsconfig": "^1.2.0",
"@types/node": "^20",
"@typescript-eslint/eslint-plugin": "^7.2.0",
"@typescript-eslint/parser": "^7.2.0",
"@vercel/ncc": "^0.38.1",
"eslint": "^8.57.0",
"typescript": "^5.4.2"
"@types/node": "^22",
"@vercel/ncc": "^0.44.1",
"eslint": "^10.7.0",
"typescript": "^6.0.3",
"typescript-eslint": "^8.65.0"
}
}
+1 -1
View File
@@ -102,7 +102,7 @@ async function registryLogout(): Promise<void> {
const dockerConfig = JSON.parse(await getDockerConfigJson());
core.info(`Removing registry credentials from "${dockerConfigPath}"`);
delete dockerConfig.auths[registry];
delete dockerConfig.auths[stateHelper.registry];
await fs.writeFile(dockerConfigPath, JSON.stringify(dockerConfig, undefined, 8), "utf-8");
}
+24 -6
View File
@@ -1,10 +1,28 @@
{
"extends": "@redhat-actions/tsconfig",
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"rootDir": "src/",
"outDir": "out/"
"rootDir": "src/",
"outDir": "out/",
"target": "es2022",
"lib": ["es2022"],
"module": "preserve",
"moduleResolution": "bundler",
"sourceMap": true,
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"types": ["node"]
},
"include": [
"src/"
],
}
"src/"
]
}