- recompile dist

This commit is contained in:
Mike Penz
2025-07-13 15:05:29 +02:00
parent 86dff767a7
commit e525272f9d
2 changed files with 161 additions and 6 deletions
Generated Vendored
+160 -5
View File
@@ -16247,7 +16247,7 @@ const toComparators = __nccwpck_require__(4750)
const maxSatisfying = __nccwpck_require__(5574) const maxSatisfying = __nccwpck_require__(5574)
const minSatisfying = __nccwpck_require__(8595) const minSatisfying = __nccwpck_require__(8595)
const minVersion = __nccwpck_require__(1866) const minVersion = __nccwpck_require__(1866)
const validRange = __nccwpck_require__(7118) const validRange = __nccwpck_require__(4737)
const outside = __nccwpck_require__(280) const outside = __nccwpck_require__(280)
const gtr = __nccwpck_require__(2276) const gtr = __nccwpck_require__(2276)
const ltr = __nccwpck_require__(5213) const ltr = __nccwpck_require__(5213)
@@ -17299,7 +17299,7 @@ module.exports = toComparators
/***/ }), /***/ }),
/***/ 7118: /***/ 4737:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
@@ -42022,7 +42022,8 @@ const DefaultConfiguration = {
}, },
base_branches: [], // target branches for the merged PR ignoring PRs with different target branch, by default it will get all PRs base_branches: [], // target branches for the merged PR ignoring PRs with different target branch, by default it will get all PRs
custom_placeholders: [], custom_placeholders: [],
trim_values: false // defines if values are being trimmed prior to inserting trim_values: false, // defines if values are being trimmed prior to inserting
offlineMode: false // defines if the action should run in offline mode, disabling API requests
}; };
const DefaultCommitConfiguration = { const DefaultCommitConfiguration = {
...DefaultConfiguration, ...DefaultConfiguration,
@@ -43626,6 +43627,56 @@ class GitCommandManager {
const creationDate = await this.execGit(['for-each-ref', '--format="%(creatordate:rfc)"', `refs/tags/${tagName}`]); const creationDate = await this.execGit(['for-each-ref', '--format="%(creatordate:rfc)"', `refs/tags/${tagName}`]);
return creationDate.stdout.trim().replace(/"/g, ''); return creationDate.stdout.trim().replace(/"/g, '');
} }
async getAllTags() {
const tagsOutput = await this.execGit(['tag', '-l']);
return tagsOutput.stdout.trim().split('\n').filter(tag => tag.trim() !== '');
}
async getTagCommit(tagName) {
const commitOutput = await this.execGit(['rev-list', '-n', '1', tagName]);
return commitOutput.stdout.trim();
}
async getDiffStats(base, head) {
const diffOutput = await this.execGit(['diff', '--numstat', `${base}..${head}`]);
const lines = diffOutput.stdout.trim().split('\n').filter(line => line.trim() !== '');
let additions = 0;
let deletions = 0;
for (const line of lines) {
const parts = line.split('\t');
if (parts.length >= 2) {
additions += parseInt(parts[0], 10) || 0;
deletions += parseInt(parts[1], 10) || 0;
}
}
return {
changedFiles: lines.length,
additions,
deletions,
changes: additions + deletions
};
}
async getCommitsBetween(base, head) {
const logOutput = await this.execGit([
'log',
'--pretty=format:%H|%an|%ae|%aI|%s|%b',
`${base}..${head}`
]);
const lines = logOutput.stdout.trim().split('\n').filter(line => line.trim() !== '');
const commits = lines.map(line => {
const [sha, authorName, authorEmail, authorDate, subject, body] = line.split('|');
return {
sha,
subject,
message: body,
author: authorEmail,
authorName,
authorDate
};
});
return {
count: commits.length,
commits
};
}
static async createCommandManager(workingDirectory) { static async createCommandManager(workingDirectory) {
const result = new GitCommandManager(); const result = new GitCommandManager();
await result.initializeCommandManager(workingDirectory); await result.initializeCommandManager(workingDirectory);
@@ -54933,6 +54984,100 @@ class GiteaRepository extends BaseRepository {
} }
} }
;// CONCATENATED MODULE: ./lib/repositories/OfflineRepository.js
class OfflineRepository extends BaseRepository {
constructor(repositoryPath) {
super("", "offline", repositoryPath);
this.url = this.defaultUrl;
}
get defaultUrl() {
return "offline";
}
get homeUrl() {
return "offline";
}
async getTags(owner, repo, maxTagsToFetch) {
core.info(`️ Retrieving tags from local repository in offline mode`);
const gitHelper = await createCommandManager(this.repositoryPath);
const tags = await gitHelper.getAllTags();
// Limit the number of tags to maxTagsToFetch
const limitedTags = tags.slice(0, maxTagsToFetch);
// Convert to TagInfo objects
const tagInfos = [];
for (const tag of limitedTags) {
const commit = await gitHelper.getTagCommit(tag);
tagInfos.push({
name: tag,
commit
});
}
core.info(`️ Retrieved ${tagInfos.length} tags from local repository`);
return tagInfos;
}
async fillTagInformation(repositoryPath, owner, repo, tagInfo) {
return this.getTagByCreateTime(repositoryPath, tagInfo);
}
async getDiffRemote(owner, repo, base, head) {
core.info(`️ Getting diff information from local repository in offline mode`);
const gitHelper = await createCommandManager(this.repositoryPath);
// Get diff stats
const diffStats = await gitHelper.getDiffStats(base, head);
// Get commits
const commitInfo = await gitHelper.getCommitsBetween(base, head);
return {
changedFiles: diffStats.changedFiles,
additions: diffStats.additions,
deletions: diffStats.deletions,
changes: diffStats.changes,
commits: commitInfo.count,
commitInfo: commitInfo.commits.map(commit => ({
sha: commit.sha,
summary: commit.subject.split('\n')[0],
message: commit.message,
author: commit.author,
authorName: commit.authorName,
authorDate: moment(commit.authorDate),
committer: "",
committerName: "",
commitDate: moment(commit.authorDate),
prNumber: undefined
}))
};
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async getForCommitHash(owner, repo, commit_sha, maxPullRequests) {
core.info(`⚠️ getForCommitHash not supported in offline mode`);
return [];
}
async getBetweenDates(
// eslint-disable-next-line @typescript-eslint/no-unused-vars
owner,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
repo,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
fromDate,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
toDate,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
maxPullRequests) {
core.info(`⚠️ getBetweenDates not supported in offline mode`);
return [];
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async getOpen(owner, repo, maxPullRequests) {
core.info(`⚠️ getOpen not supported in offline mode`);
return [];
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async getReviews(owner, repo, pr) {
core.info(`⚠️ getReviews not supported in offline mode`);
}
}
;// CONCATENATED MODULE: ./lib/main.js ;// CONCATENATED MODULE: ./lib/main.js
@@ -54940,6 +55085,7 @@ class GiteaRepository extends BaseRepository {
async function run() { async function run() {
const supportedPlatform = { const supportedPlatform = {
github: GithubRepository, github: GithubRepository,
@@ -54980,7 +55126,13 @@ async function run() {
core.info(`️ No configuration provided. Using Defaults.`); core.info(`️ No configuration provided. Using Defaults.`);
} }
// mode of the action (PR, COMMIT, HYBRID) // mode of the action (PR, COMMIT, HYBRID)
const mode = resolveMode(core.getInput('mode'), core.getInput('commitMode') === 'true'); let mode = resolveMode(core.getInput('mode'), core.getInput('commitMode') === 'true');
const offlineMode = core.getInput('offlineMode') === 'true';
// If offline mode is enabled, ensure commit mode is used
if (offlineMode && mode !== 'COMMIT') {
core.warning('⚠️ Offline mode requires commit mode. Switching to commit mode.');
mode = 'COMMIT';
}
core.info(`️ Running in ${mode} mode.`); core.info(`️ Running in ${mode} mode.`);
// merge configs, use default values from DefaultConfig on missing definition // merge configs, use default values from DefaultConfig on missing definition
const configuration = mergeConfiguration(configJson, configFile, mode); const configuration = mergeConfiguration(configJson, configFile, mode);
@@ -55003,7 +55155,10 @@ async function run() {
const exportCache = core.getInput('exportCache') === 'true'; const exportCache = core.getInput('exportCache') === 'true';
const exportOnly = core.getInput('exportOnly') === 'true'; const exportOnly = core.getInput('exportOnly') === 'true';
const cache = core.getInput('cache'); const cache = core.getInput('cache');
const repositoryUtils = new supportedPlatform[platform](token, baseUrl, repositoryPath); // Use OfflineRepository if offline mode is enabled, otherwise use the selected platform
const repositoryUtils = offlineMode
? new OfflineRepository(repositoryPath)
: new supportedPlatform[platform](token, baseUrl, repositoryPath);
const result = await new ReleaseNotesBuilder(baseUrl, repositoryUtils, repositoryPath, owner, repo, fromTag, toTag, includeOpen, failOnError, ignorePreReleases, fetchViaCommits, fetchReviewers, fetchReleaseInformation, fetchReviews, mode, exportCache, exportOnly, cache, configuration).build(); const result = await new ReleaseNotesBuilder(baseUrl, repositoryUtils, repositoryPath, owner, repo, fromTag, toTag, includeOpen, failOnError, ignorePreReleases, fetchViaCommits, fetchReviewers, fetchReleaseInformation, fetchReviews, mode, exportCache, exportOnly, cache, configuration).build();
core.setOutput('changelog', result); core.setOutput('changelog', result);
// write the result in changelog to file if possible // write the result in changelog to file if possible
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long