Compare commits

..

1 Commits

Author SHA1 Message Date
t.behrendt a288738811 refactor: to node action
CI / Test (pull_request) Successful in 12s
CI / Check Dist (pull_request) Successful in 10s
CI / Dry-Run (pull_request) Successful in 24s
2026-06-27 13:44:17 +02:00
6 changed files with 465 additions and 1074 deletions
+3 -4
View File
@@ -6,7 +6,6 @@ on:
- main - main
paths: paths:
- action.yml - action.yml
- dist/**
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@@ -14,14 +13,14 @@ jobs:
name: Release name: Release
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Increment tag - name: Increment tag
id: tag id: tag
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@3ab82e6aa1db388a34562f5ce6eedb598651d916 # 0.1.42 uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@e393dbb067c09fd43519392572ccf63b66cba92d # 0.1.39
with: with:
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
- uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@3f772d0a80a510b0f06762be110276c9c8a7b7b8 # 0.2.12 - uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@29f50ea246d5d9a62ac3c611fa5c8a6e9846df5a # 0.2.8
with: with:
tag: ${{ steps.tag.outputs.new-tag }} tag: ${{ steps.tag.outputs.new-tag }}
+7 -7
View File
@@ -8,7 +8,7 @@ jobs:
name: Dry-Run name: Dry-Run
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Validate Renovate Config - name: Validate Renovate Config
uses: ./ uses: ./
with: with:
@@ -18,13 +18,13 @@ jobs:
name: Test name: Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with: with:
node-version-file: .nvmrc node-version-file: .nvmrc
- name: Cache dependencies - name: Cache dependencies
id: cache-deps id: cache-deps
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with: with:
path: | path: |
node_modules node_modules
@@ -43,13 +43,13 @@ jobs:
name: Check Dist name: Check Dist
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with: with:
node-version-file: .nvmrc node-version-file: .nvmrc
- name: Cache dependencies - name: Cache dependencies
id: cache-deps id: cache-deps
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with: with:
path: | path: |
node_modules node_modules
+3 -3
View File
@@ -8,15 +8,15 @@ jobs:
name: Release name: Release
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Increment tag - name: Increment tag
id: tag id: tag
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@3ab82e6aa1db388a34562f5ce6eedb598651d916 # 0.1.42 uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@e393dbb067c09fd43519392572ccf63b66cba92d # 0.1.39
with: with:
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
prerelease: true prerelease: true
- uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@3f772d0a80a510b0f06762be110276c9c8a7b7b8 # 0.2.12 - uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@29f50ea246d5d9a62ac3c611fa5c8a6e9846df5a # 0.2.8
with: with:
tag: ${{ steps.tag.outputs.new-tag }} tag: ${{ steps.tag.outputs.new-tag }}
+216 -44
View File
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
} }
return to; return to;
}; };
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
value: mod, value: mod,
enumerable: true enumerable: true
}) : target, mod)); }) : target, mod));
@@ -1785,7 +1785,7 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJSMin(((exports, module) =
get webSocketOptions() { get webSocketOptions() {
return { return {
maxFragments: this[kWebSocketOptions].maxFragments ?? 131072, maxFragments: this[kWebSocketOptions].maxFragments ?? 131072,
maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 134217728 maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024
}; };
} }
get destroyed() { get destroyed() {
@@ -1837,7 +1837,7 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJSMin(((exports, module) =
} }
if (callback === void 0) return new Promise((resolve, reject) => { if (callback === void 0) return new Promise((resolve, reject) => {
this.destroy(err, (err, data) => { this.destroy(err, (err, data) => {
return err ? /* istanbul ignore next: should never error */ reject(err) : resolve(data); return err ? reject(err) : resolve(data);
}); });
}); });
if (typeof callback !== "function") throw new InvalidArgumentError("invalid callback"); if (typeof callback !== "function") throw new InvalidArgumentError("invalid callback");
@@ -2307,7 +2307,7 @@ var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
assert$25(!httpSocket, "httpSocket can only be sent on TLS update"); assert$25(!httpSocket, "httpSocket can only be sent on TLS update");
port = port || 80; port = port || 80;
socket = net$1.connect({ socket = net$1.connect({
highWaterMark: 65536, highWaterMark: 64 * 1024,
...options, ...options,
localAddress, localAddress,
port, port,
@@ -3786,7 +3786,10 @@ var require_util$7 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
case "strict-origin-when-cross-origin": case "strict-origin-when-cross-origin":
if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) serializedOrigin = null; if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) serializedOrigin = null;
break; break;
case "same-origin": if (!sameOrigin(request, requestCurrentURL(request))) serializedOrigin = null; case "same-origin":
if (!sameOrigin(request, requestCurrentURL(request))) serializedOrigin = null;
break;
default:
} }
request.headersList.append("origin", serializedOrigin, true); request.headersList.append("origin", serializedOrigin, true);
} }
@@ -4068,7 +4071,9 @@ var require_util$7 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
case "value": case "value":
result = value; result = value;
break; break;
case "key+value": result = [key, value]; case "key+value":
result = [key, value];
break;
} }
return { return {
value: result, value: result,
@@ -6642,8 +6647,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
this.once("connect", cb); this.once("connect", cb);
} }
[kDispatch](opts, handler) { [kDispatch](opts, handler) {
const origin = opts.origin || this[kUrl].origin; const request = new Request(opts.origin || this[kUrl].origin, opts, handler);
const request = new Request(origin, opts, handler);
this[kQueue].push(request); this[kQueue].push(request);
if (this[kResuming]) {} else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) { if (this[kResuming]) {} else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {
this[kResuming] = 1; this[kResuming] = 1;
@@ -6854,7 +6858,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
//#region node_modules/undici/lib/dispatcher/fixed-queue.js //#region node_modules/undici/lib/dispatcher/fixed-queue.js
var require_fixed_queue = /* @__PURE__ */ __commonJSMin(((exports, module) => { var require_fixed_queue = /* @__PURE__ */ __commonJSMin(((exports, module) => {
const kSize = 2048; const kSize = 2048;
const kMask = 2047; const kMask = kSize - 1;
var FixedCircularBuffer = class { var FixedCircularBuffer = class {
constructor() { constructor() {
this.bottom = 0; this.bottom = 0;
@@ -7639,7 +7643,7 @@ var require_retry_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
this.retryOpts = { this.retryOpts = {
retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry], retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry],
retryAfter: retryAfter ?? true, retryAfter: retryAfter ?? true,
maxTimeout: maxTimeout ?? 3e4, maxTimeout: maxTimeout ?? 30 * 1e3,
minTimeout: minTimeout ?? 500, minTimeout: minTimeout ?? 500,
timeoutFactor: timeoutFactor ?? 2, timeoutFactor: timeoutFactor ?? 2,
maxRetries: maxRetries ?? 5, maxRetries: maxRetries ?? 5,
@@ -7883,7 +7887,7 @@ var require_readable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
const kContentLength = Symbol("kContentLength"); const kContentLength = Symbol("kContentLength");
const noop = () => {}; const noop = () => {};
var BodyReadable = class extends Readable$2 { var BodyReadable = class extends Readable$2 {
constructor({ resume, abort, contentType = "", contentLength, highWaterMark = 65536 }) { constructor({ resume, abort, contentType = "", contentLength, highWaterMark = 64 * 1024 }) {
super({ super({
autoDestroy: true, autoDestroy: true,
read: resume, read: resume,
@@ -7962,7 +7966,7 @@ var require_readable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
return this[kBody]; return this[kBody];
} }
async dump(opts) { async dump(opts) {
let limit = Number.isFinite(opts?.limit) ? opts.limit : 131072; let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024;
const signal = opts?.signal; const signal = opts?.signal;
if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) throw new InvalidArgumentError("signal must be an AbortSignal"); if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) throw new InvalidArgumentError("signal must be an AbortSignal");
signal?.throwIfAborted(); signal?.throwIfAborted();
@@ -8101,7 +8105,7 @@ var require_util$6 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
const assert$14 = require("node:assert"); const assert$14 = require("node:assert");
const { ResponseStatusCodeError } = require_errors$1(); const { ResponseStatusCodeError } = require_errors$1();
const { chunksDecode } = require_readable(); const { chunksDecode } = require_readable();
const CHUNK_LIMIT = 131072; const CHUNK_LIMIT = 128 * 1024;
async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) {
assert$14(body); assert$14(body);
let chunks = []; let chunks = [];
@@ -8941,10 +8945,7 @@ var require_mock_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
if (matchedMockDispatches.length === 0) throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`); if (matchedMockDispatches.length === 0) throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers)); matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers));
if (matchedMockDispatches.length === 0) { if (matchedMockDispatches.length === 0) throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}' on path '${resolvedPath}'`);
const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
}
return matchedMockDispatches[0]; return matchedMockDispatches[0];
} }
function addMockDispatch(mockDispatches, key, data) { function addMockDispatch(mockDispatches, key, data) {
@@ -9600,7 +9601,7 @@ var require_dump = /* @__PURE__ */ __commonJSMin(((exports, module) => {
const { InvalidArgumentError, RequestAbortedError } = require_errors$1(); const { InvalidArgumentError, RequestAbortedError } = require_errors$1();
const DecoratorHandler = require_decorator_handler(); const DecoratorHandler = require_decorator_handler();
var DumpHandler = class extends DecoratorHandler { var DumpHandler = class extends DecoratorHandler {
#maxSize = 1048576; #maxSize = 1024 * 1024;
#abort = null; #abort = null;
#dumped = false; #dumped = false;
#aborted = false; #aborted = false;
@@ -9650,7 +9651,7 @@ var require_dump = /* @__PURE__ */ __commonJSMin(((exports, module) => {
this.#handler.onComplete(trailers); this.#handler.onComplete(trailers);
} }
}; };
function createDumpInterceptor({ maxSize: defaultMaxSize } = { maxSize: 1048576 }) { function createDumpInterceptor({ maxSize: defaultMaxSize } = { maxSize: 1024 * 1024 }) {
return (dispatch) => { return (dispatch) => {
return function Intercept(opts, handler) { return function Intercept(opts, handler) {
const { dumpMaxSize = defaultMaxSize } = opts; const { dumpMaxSize = defaultMaxSize } = opts;
@@ -9821,7 +9822,9 @@ var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
this.#handler.onError(err); this.#handler.onError(err);
return; return;
case "ENOTFOUND": this.#state.deleteRecord(this.#origin); case "ENOTFOUND": this.#state.deleteRecord(this.#origin);
default: this.#handler.onError(err); default:
this.#handler.onError(err);
break;
} }
} }
}; };
@@ -10261,8 +10264,7 @@ var require_response = /* @__PURE__ */ __commonJSMin(((exports, module) => {
static json(data, init = {}) { static json(data, init = {}) {
webidl.argumentLengthCheck(arguments, 1, "Response.json"); webidl.argumentLengthCheck(arguments, 1, "Response.json");
if (init !== null) init = webidl.converters.ResponseInit(init); if (init !== null) init = webidl.converters.ResponseInit(init);
const bytes = textEncoder.encode(serializeJavascriptValueToJSONString(data)); const body = extractBody(textEncoder.encode(serializeJavascriptValueToJSONString(data)));
const body = extractBody(bytes);
const responseObject = fromInnerResponse(makeResponse({}), "response"); const responseObject = fromInnerResponse(makeResponse({}), "response");
initializeResponse(responseObject, init, { initializeResponse(responseObject, init, {
body: body[0], body: body[0],
@@ -11231,8 +11233,7 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
taskDestination = request.client.globalObject; taskDestination = request.client.globalObject;
crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability;
} }
const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); const timingInfo = createOpaqueTimingInfo({ startTime: coarsenedSharedCurrentTime(crossOriginIsolatedCapability) });
const timingInfo = createOpaqueTimingInfo({ startTime: currentTime });
const fetchParams = { const fetchParams = {
controller: new Fetch(dispatcher), controller: new Fetch(dispatcher),
request, request,
@@ -11340,8 +11341,7 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
response.headersList.set("content-type", type, true); response.headersList.set("content-type", type, true);
} else { } else {
response.rangeRequested = true; response.rangeRequested = true;
const rangeHeader = request.headersList.get("range", true); const rangeValue = simpleRangeHeaderValue(request.headersList.get("range", true), true);
const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
if (rangeValue === "failure") return Promise.resolve(makeNetworkError("failed to fetch the data URL")); if (rangeValue === "failure") return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue; let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
if (rangeStart === null) { if (rangeStart === null) {
@@ -11364,8 +11364,7 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
return Promise.resolve(response); return Promise.resolve(response);
} }
case "data:": { case "data:": {
const currentURL = requestCurrentURL(request); const dataURLStruct = dataURLProcessor(requestCurrentURL(request));
const dataURLStruct = dataURLProcessor(currentURL);
if (dataURLStruct === "failure") return Promise.resolve(makeNetworkError("failed to fetch the data URL")); if (dataURLStruct === "failure") return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
const mimeType = serializeAMimeType(dataURLStruct.mimeType); const mimeType = serializeAMimeType(dataURLStruct.mimeType);
return Promise.resolve(makeResponse({ return Promise.resolve(makeResponse({
@@ -12724,10 +12723,8 @@ var require_cache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
}); });
const clonedResponse = cloneResponse(innerResponse); const clonedResponse = cloneResponse(innerResponse);
const bodyReadPromise = createDeferredPromise(); const bodyReadPromise = createDeferredPromise();
if (innerResponse.body != null) { if (innerResponse.body != null) readAllBytes(innerResponse.body.stream.getReader()).then(bodyReadPromise.resolve, bodyReadPromise.reject);
const reader = innerResponse.body.stream.getReader(); else bodyReadPromise.resolve(void 0);
readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject);
} else bodyReadPromise.resolve(void 0);
/** @type {CacheBatchOperation[]} */ /** @type {CacheBatchOperation[]} */
const operations = []; const operations = [];
/** @type {CacheBatchOperation} */ /** @type {CacheBatchOperation} */
@@ -13019,10 +13016,7 @@ var require_cachestorage = /* @__PURE__ */ __commonJSMin(((exports, module) => {
request = webidl.converters.RequestInfo(request); request = webidl.converters.RequestInfo(request);
options = webidl.converters.MultiCacheQueryOptions(options); options = webidl.converters.MultiCacheQueryOptions(options);
if (options.cacheName != null) { if (options.cacheName != null) {
if (this.#caches.has(options.cacheName)) { if (this.#caches.has(options.cacheName)) return await new Cache(kConstruct, this.#caches.get(options.cacheName)).match(request, options);
const cacheList = this.#caches.get(options.cacheName);
return await new Cache(kConstruct, cacheList).match(request, options);
}
} else for (const cacheList of this.#caches.values()) { } else for (const cacheList of this.#caches.values()) {
const response = await new Cache(kConstruct, cacheList).match(request, options); const response = await new Cache(kConstruct, cacheList).match(request, options);
if (response !== void 0) return response; if (response !== void 0) return response;
@@ -13050,10 +13044,7 @@ var require_cachestorage = /* @__PURE__ */ __commonJSMin(((exports, module) => {
const prefix = "CacheStorage.open"; const prefix = "CacheStorage.open";
webidl.argumentLengthCheck(arguments, 1, prefix); webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName"); cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
if (this.#caches.has(cacheName)) { if (this.#caches.has(cacheName)) return new Cache(kConstruct, this.#caches.get(cacheName));
const cache = this.#caches.get(cacheName);
return new Cache(kConstruct, cache);
}
const cache = []; const cache = [];
this.#caches.set(cacheName, cache); this.#caches.set(cacheName, cache);
return new Cache(kConstruct, cache); return new Cache(kConstruct, cache);
@@ -15222,6 +15213,7 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJSMin(((exports, module
default: default:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) this.buffer = this.buffer.subarray(3); if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) this.buffer = this.buffer.subarray(3);
this.checkBOM = false; this.checkBOM = false;
break;
} }
while (this.pos < this.buffer.length) { while (this.pos < this.buffer.length) {
if (this.eventEndCheck) { if (this.eventEndCheck) {
@@ -15287,7 +15279,9 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJSMin(((exports, module
case "id": case "id":
if (isValidLastEventId(value)) event[field] = value; if (isValidLastEventId(value)) event[field] = value;
break; break;
case "event": if (value.length > 0) event[field] = value; case "event":
if (value.length > 0) event[field] = value;
break;
} }
} }
/** /**
@@ -16080,9 +16074,188 @@ var Summary = class {
} }
}; };
new Summary(); new Summary();
//#endregion
//#region node_modules/@actions/io/lib/io-util.js
var __awaiter$5 = function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
});
}
return new (P || (P = Promise))(function(resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
const { chmod, copyFile, lstat, mkdir, open, readdir, rename, rm, rmdir, stat, symlink, unlink } = fs.promises; const { chmod, copyFile, lstat, mkdir, open, readdir, rename, rm, rmdir, stat, symlink, unlink } = fs.promises;
process.platform; const IS_WINDOWS$1 = process.platform === "win32";
fs.constants.O_RDONLY; fs.constants.O_RDONLY;
/**
* On OSX/Linux, true if path starts with '/'. On Windows, true for paths like:
* \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases).
*/
function isRooted(p) {
p = normalizeSeparators(p);
if (!p) throw new Error("isRooted() parameter \"p\" cannot be empty");
if (IS_WINDOWS$1) return p.startsWith("\\") || /^[A-Z]:/i.test(p);
return p.startsWith("/");
}
/**
* Best effort attempt to determine whether a file exists and is executable.
* @param filePath file path to check
* @param extensions additional file extensions to try
* @return if file exists and is executable, returns the file path. otherwise empty string.
*/
function tryGetExecutablePath(filePath, extensions) {
return __awaiter$5(this, void 0, void 0, function* () {
let stats = void 0;
try {
stats = yield stat(filePath);
} catch (err) {
if (err.code !== "ENOENT") console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
}
if (stats && stats.isFile()) {
if (IS_WINDOWS$1) {
const upperExt = path.extname(filePath).toUpperCase();
if (extensions.some((validExt) => validExt.toUpperCase() === upperExt)) return filePath;
} else if (isUnixExecutable(stats)) return filePath;
}
const originalFilePath = filePath;
for (const extension of extensions) {
filePath = originalFilePath + extension;
stats = void 0;
try {
stats = yield stat(filePath);
} catch (err) {
if (err.code !== "ENOENT") console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
}
if (stats && stats.isFile()) {
if (IS_WINDOWS$1) {
try {
const directory = path.dirname(filePath);
const upperName = path.basename(filePath).toUpperCase();
for (const actualName of yield readdir(directory)) if (upperName === actualName.toUpperCase()) {
filePath = path.join(directory, actualName);
break;
}
} catch (err) {
console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`);
}
return filePath;
} else if (isUnixExecutable(stats)) return filePath;
}
}
return "";
});
}
function normalizeSeparators(p) {
p = p || "";
if (IS_WINDOWS$1) {
p = p.replace(/\//g, "\\");
return p.replace(/\\\\+/g, "\\");
}
return p.replace(/\/\/+/g, "/");
}
function isUnixExecutable(stats) {
return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && process.getgid !== void 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && process.getuid !== void 0 && stats.uid === process.getuid();
}
//#endregion
//#region node_modules/@actions/io/lib/io.js
var __awaiter$4 = function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
});
}
return new (P || (P = Promise))(function(resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
/**
* Returns path of a tool had the tool actually been invoked. Resolves via paths.
* If you check and the tool does not exist, it will throw.
*
* @param tool name of the tool
* @param check whether to check if tool exists
* @returns Promise<string> path to tool
*/
function which(tool, check) {
return __awaiter$4(this, void 0, void 0, function* () {
if (!tool) throw new Error("parameter 'tool' is required");
if (check) {
const result = yield which(tool, false);
if (!result) if (IS_WINDOWS$1) throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`);
else throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);
return result;
}
const matches = yield findInPath(tool);
if (matches && matches.length > 0) return matches[0];
return "";
});
}
/**
* Returns a list of all occurrences of the given tool on the system path.
*
* @returns Promise<string[]> the paths of the tool
*/
function findInPath(tool) {
return __awaiter$4(this, void 0, void 0, function* () {
if (!tool) throw new Error("parameter 'tool' is required");
const extensions = [];
if (IS_WINDOWS$1 && process.env["PATHEXT"]) {
for (const extension of process.env["PATHEXT"].split(path.delimiter)) if (extension) extensions.push(extension);
}
if (isRooted(tool)) {
const filePath = yield tryGetExecutablePath(tool, extensions);
if (filePath) return [filePath];
return [];
}
if (tool.includes(path.sep)) return [];
const directories = [];
if (process.env.PATH) {
for (const p of process.env.PATH.split(path.delimiter)) if (p) directories.push(p);
}
const matches = [];
for (const directory of directories) {
const filePath = yield tryGetExecutablePath(path.join(directory, tool), extensions);
if (filePath) matches.push(filePath);
}
return matches;
});
}
process.platform; process.platform;
events.EventEmitter; events.EventEmitter;
events.EventEmitter; events.EventEmitter;
@@ -22064,8 +22237,7 @@ async function run() {
try { try {
const jsonFilePath = getInput("json-file"); const jsonFilePath = getInput("json-file");
info(`Validating JSON file: ${jsonFilePath}`); info(`Validating JSON file: ${jsonFilePath}`);
const json = (0, node_fs.readFileSync)(jsonFilePath, "utf8"); await validateJson((0, node_fs.readFileSync)(jsonFilePath, "utf8"));
await validateJson(json);
info("JSON file is valid"); info("JSON file is valid");
} catch (error) { } catch (error) {
setFailed(`Error validating JSON file: ${error}`); setFailed(`Error validating JSON file: ${error}`);
+230 -1010
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -15,11 +15,11 @@
"ajv": "8.20.0" "ajv": "8.20.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "24.13.3", "@types/node": "24.13.2",
"@vitest/coverage-v8": "4.1.10", "@vitest/coverage-v8": "4.1.9",
"oxfmt": "0.61.0", "oxfmt": "0.56.0",
"rolldown": "1.2.1", "rolldown": "1.1.3",
"typescript": "7.0.2", "typescript": "6.0.3",
"vitest": "4.1.10" "vitest": "4.1.9"
} }
} }