Merge pull request #1408 from mikepenz/feature/esm

Convert project to use ESM instead of CJS
This commit is contained in:
Mike Penz
2024-12-14 12:28:23 +01:00
committed by GitHub
36 changed files with 9582 additions and 10655 deletions
+3 -2
View File
@@ -1,5 +1,6 @@
import {clear} from '../src/transform'
import {mergeConfiguration, parseConfiguration, resolveConfiguration} from '../src/utils'
import {mergeConfiguration, parseConfiguration, resolveConfiguration} from '../src/utils.js'
import { clear } from "../src/transform.js";
jest.setTimeout(180000)
clear()
+3 -3
View File
@@ -1,6 +1,6 @@
import {mergeConfiguration, resolveConfiguration} from '../../src/utils'
import {ReleaseNotesBuilder} from '../../src/releaseNotesBuilder'
import {GithubRepository} from '../../src/repositories/GithubRepository'
import {mergeConfiguration, resolveConfiguration} from '../../src/utils.js'
import {ReleaseNotesBuilder} from '../../src/releaseNotesBuilder.js'
import {GithubRepository} from '../../src/repositories/GithubRepository.js'
jest.setTimeout(180000)
@@ -1,7 +1,7 @@
import {mergeConfiguration, resolveConfiguration} from '../../src/utils'
import {ReleaseNotesBuilder} from '../../src/releaseNotesBuilder'
import {GiteaRepository} from '../../src/repositories/GiteaRepository'
import {clear} from '../../src/transform'
import {mergeConfiguration, resolveConfiguration} from '../../src/utils.js'
import {ReleaseNotesBuilder} from '../../src/releaseNotesBuilder.js'
import {GiteaRepository} from '../../src/repositories/GiteaRepository.js'
import {clear} from '../../src/transform.js'
jest.setTimeout(180000)
clear()
@@ -1,9 +1,9 @@
import {checkExportedData, mergeConfiguration, resolveConfiguration} from '../../src/utils'
import {buildChangelog} from '../../src/transform'
import {Options, pullData} from '../../src/pr-collector/prCollector'
import {GiteaRepository} from '../../src/repositories/GiteaRepository'
import {clear} from '../../src/transform'
import {ReleaseNotesOptions} from '../../src/releaseNotesBuilder'
import {checkExportedData, mergeConfiguration, resolveConfiguration} from '../../src/utils.js'
import {buildChangelog} from '../../src/transform.js'
import {Options, pullData} from '../../src/pr-collector/prCollector.js'
import {GiteaRepository} from '../../src/repositories/GiteaRepository.js'
import {clear} from '../../src/transform.js'
import {ReleaseNotesOptions} from '../../src/releaseNotesBuilder.js'
jest.setTimeout(180000)
clear()
+1 -1
View File
@@ -2,7 +2,7 @@ import * as path from 'path'
import * as process from 'process'
import * as cp from 'child_process'
import * as fs from 'fs'
import {clear} from '../src/transform'
import {clear} from '../src/transform.js'
jest.setTimeout(180000)
clear()
+3 -3
View File
@@ -1,6 +1,6 @@
import {transformStringToValue, validateRegex} from '../src/pr-collector/regexUtils'
import {Regex} from '../src/pr-collector/types'
import {clear} from '../src/transform'
import {transformStringToValue, validateRegex} from '../src/pr-collector/regexUtils.js'
import {Regex} from '../src/pr-collector/types.js'
import {clear} from '../src/transform.js'
jest.setTimeout(180000)
clear()
+4 -4
View File
@@ -1,7 +1,7 @@
import {mergeConfiguration, resolveConfiguration} from '../src/utils'
import {ReleaseNotesBuilder} from '../src/releaseNotesBuilder'
import {GithubRepository} from '../src/repositories/GithubRepository'
import {clear} from '../src/transform'
import {mergeConfiguration, resolveConfiguration} from '../src/utils.js'
import {ReleaseNotesBuilder} from '../src/releaseNotesBuilder.js'
import {GithubRepository} from '../src/repositories/GithubRepository.js'
import {clear} from '../src/transform.js'
jest.setTimeout(180000)
clear()
+6 -6
View File
@@ -1,9 +1,9 @@
import {checkExportedData, mergeConfiguration, resolveConfiguration} from '../src/utils'
import {buildChangelog} from '../src/transform'
import {Options, pullData} from '../src/pr-collector/prCollector'
import {GithubRepository} from '../src/repositories/GithubRepository'
import {clear} from '../src/transform'
import {ReleaseNotesOptions} from '../src/releaseNotesBuilder'
import {checkExportedData, mergeConfiguration, resolveConfiguration} from '../src/utils.js'
import {buildChangelog} from '../src/transform.js'
import {Options, pullData} from '../src/pr-collector/prCollector.js'
import {GithubRepository} from '../src/repositories/GithubRepository.js'
import {clear} from '../src/transform.js'
import {ReleaseNotesOptions} from '../src/releaseNotesBuilder.js'
jest.setTimeout(180000)
clear()
+4 -4
View File
@@ -1,7 +1,7 @@
import {TagResolver} from '../src/configuration'
import {validateRegex} from '../src/pr-collector/regexUtils'
import {filterTags, prepareAndSortTags, TagInfo, transformTags} from '../src/pr-collector/tags'
import {clear} from '../src/transform'
import {TagResolver} from '../src/configuration.js'
import {validateRegex} from '../src/pr-collector/regexUtils.js'
import {filterTags, prepareAndSortTags, TagInfo, transformTags} from '../src/pr-collector/tags.js'
import {clear} from '../src/transform.js'
jest.setTimeout(180000)
clear()
+7 -7
View File
@@ -1,11 +1,11 @@
import {buildChangelog} from '../src/transform'
import {buildChangelog} from '../src/transform.js'
import moment from 'moment'
import {Configuration, DefaultConfiguration} from '../src/configuration'
import {PullRequestInfo} from '../src/pr-collector/pullRequests'
import {DefaultDiffInfo} from '../src/pr-collector/commits'
import {GithubRepository} from '../src/repositories/GithubRepository'
import {clear} from '../src/transform'
import {buildChangelogTest} from './utils'
import {DefaultConfiguration} from '../src/configuration.js'
import {PullRequestInfo} from '../src/pr-collector/pullRequests.js'
import {DefaultDiffInfo} from '../src/pr-collector/commits.js'
import {GithubRepository} from '../src/repositories/GithubRepository.js'
import {clear} from '../src/transform.js'
import { buildChangelogTest } from "./utils.js";
jest.setTimeout(180000)
clear()
+5 -5
View File
@@ -1,9 +1,9 @@
import moment from 'moment'
import {DefaultConfiguration} from '../src/configuration'
import {PullRequestInfo} from '../src/pr-collector/pullRequests'
import {GithubRepository} from '../src/repositories/GithubRepository'
import {clear} from '../src/transform'
import {buildChangelogTest, buildPullRequeset} from './utils'
import {DefaultConfiguration} from '../src/configuration.js'
import {PullRequestInfo} from '../src/pr-collector/pullRequests.js'
import {GithubRepository} from '../src/repositories/GithubRepository.js'
import {clear} from '../src/transform.js'
import {buildChangelogTest, buildPullRequeset} from './utils.js'
jest.setTimeout(180000)
clear()
+5 -5
View File
@@ -1,8 +1,8 @@
import {Configuration} from '../src/configuration'
import {DefaultDiffInfo} from '../src/pr-collector/commits'
import {PullRequestInfo} from '../src/pr-collector/pullRequests'
import {buildChangelog} from '../src/transform'
import {BaseRepository} from '../src/repositories/BaseRepository'
import {Configuration} from '../src/configuration.js'
import {DefaultDiffInfo} from '../src/pr-collector/commits.js'
import {PullRequestInfo} from '../src/pr-collector/pullRequests.js'
import {buildChangelog} from '../src/transform.js'
import {BaseRepository} from '../src/repositories/BaseRepository.js'
import moment from 'moment'
export const buildChangelogTest = (config: Configuration, prs: PullRequestInfo[], repositoryUtils: BaseRepository): string => {
Generated Vendored
+9099 -10202
View File
File diff suppressed because it is too large Load Diff
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long
Generated Vendored
+3
View File
@@ -0,0 +1,3 @@
{
"type": "module"
}
+1
View File
File diff suppressed because one or more lines are too long
+15 -11
View File
@@ -16,20 +16,20 @@ const compat = new FlatCompat({
});
export default [{
ignores: ["**/dist/", "**/lib/", "**/node_modules/"],
ignores: ["**/dist/", "**/lib/", "**/node_modules/"]
}, ...compat.extends("plugin:github/recommended"), {
files: ["src/**/*.ts"],
files: ["src/**.ts", "__tests__/**.ts"],
plugins: {
jest,
"@typescript-eslint": typescriptEslint,
"@typescript-eslint": typescriptEslint
},
languageOptions: {
globals: {
...globals.node,
...jest.environments.globals.globals,
...jest.environments.globals.globals
},
parser: tsParser,
@@ -37,8 +37,8 @@ export default [{
sourceType: "module",
parserOptions: {
project: "./tsconfig.json",
},
project: "./tsconfig.json"
}
},
rules: {
@@ -52,7 +52,7 @@ export default [{
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/explicit-member-accessibility": ["error", {
accessibility: "no-public",
accessibility: "no-public"
}],
"@typescript-eslint/no-require-imports": "error",
@@ -63,7 +63,7 @@ export default [{
"@typescript-eslint/consistent-type-assertions": "error",
"@typescript-eslint/explicit-function-return-type": ["error", {
allowExpressions: true,
allowExpressions: true
}],
"@typescript-eslint/no-array-constructor": "error",
@@ -87,14 +87,18 @@ export default [{
"@typescript-eslint/require-array-sort-compare": "error",
"@typescript-eslint/restrict-plus-operands": "error",
semi: "off",
"@typescript-eslint/unbound-method": "error",
"@typescript-eslint/unbound-method": "error"
},
settings: {
"import/resolver": {
"typescript": {
"alwaysTryTypes": true
}
}
},
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"],
"moduleDirectory": ["src", "node_modules"]
}
}
}
}];
+9 -8
View File
@@ -1,11 +1,12 @@
module.exports = {
// jest.config.js
import { createJsWithTsEsmPreset } from "ts-jest";
export default {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
testEnvironment: "node",
testMatch: ["**/*.test.ts"],
testRunner: "jest-circus/runner",
moduleNameMapper: {
"(.+)\\.js": "$1",
},
verbose: true
...createJsWithTsEsmPreset(),
}
+211 -184
View File
File diff suppressed because it is too large Load Diff
+6 -4
View File
@@ -1,14 +1,15 @@
{
"name": "release-changelog-builder-action",
"version": "v5.0.0",
"version": "v5.1.0",
"private": true,
"description": "A GitHub action that builds your release notes / changelog fast, easy and exactly the way you want.",
"main": "lib/main.js",
"type": "module",
"scripts": {
"build": "tsc",
"format": "prettier --write **/*.ts **/**/*.ts",
"format-check": "prettier --check **/*.ts",
"format-fix": "eslint --fix src/**/*.ts",
"format": "prettier --write src/**.ts",
"format-check": "prettier --check src/**.ts",
"format-fix": "eslint --fix src/**.ts",
"lint": "eslint src/**/*.ts",
"package": "ncc build --source-map --license licenses.txt",
"test": "jest",
@@ -42,6 +43,7 @@
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.17.0",
"@octokit/rest": "^20.1.1",
"eslint-import-resolver-typescript": "^3.7.0",
"gitea-js": "^1.22.0",
"globals": "^15.13.0",
"https-proxy-agent": "^7.0.6",
+1 -1
View File
@@ -1,4 +1,4 @@
import {Extractor, PullConfiguration, Regex, Rule} from './pr-collector/types'
import {Extractor, PullConfiguration, Regex, Rule} from './pr-collector/types.js'
export interface Configuration extends PullConfiguration {
template: string
+5 -5
View File
@@ -1,10 +1,10 @@
import * as core from '@actions/core'
import * as github from '@actions/github'
import {mergeConfiguration, parseConfiguration, resolveConfiguration, resolveMode, retrieveRepositoryPath, writeOutput} from './utils'
import {ReleaseNotesBuilder} from './releaseNotesBuilder'
import {Configuration} from './configuration'
import {GithubRepository} from './repositories/GithubRepository'
import {GiteaRepository} from './repositories/GiteaRepository'
import {mergeConfiguration, parseConfiguration, resolveConfiguration, resolveMode, retrieveRepositoryPath, writeOutput} from './utils.js'
import {ReleaseNotesBuilder} from './releaseNotesBuilder.js'
import {Configuration} from './configuration.js'
import {GithubRepository} from './repositories/GithubRepository.js'
import {GiteaRepository} from './repositories/GiteaRepository.js'
async function run(): Promise<void> {
const supportedPlatform = {
+4 -4
View File
@@ -1,9 +1,9 @@
import * as core from '@actions/core'
import moment from 'moment'
import {failOrError} from './utils'
import {PullRequestInfo} from './pullRequests'
import {Options} from './prCollector'
import {BaseRepository} from '../repositories/BaseRepository'
import {failOrError} from './utils.js'
import {PullRequestInfo} from './pullRequests.js'
import {Options} from './prCollector.js'
import {BaseRepository} from '../repositories/BaseRepository.js'
export interface DiffInfo {
changedFiles: number
+1 -1
View File
@@ -1,6 +1,6 @@
import * as exec from '@actions/exec'
import * as io from '@actions/io'
import {directoryExistsSync} from './utils'
import {directoryExistsSync} from './utils.js'
export async function createCommandManager(workingDirectory: string): Promise<GitCommandManager> {
return await GitCommandManager.createCommandManager(workingDirectory)
+6 -6
View File
@@ -1,10 +1,10 @@
import * as core from '@actions/core'
import {PullConfiguration} from './types'
import {TagInfo, Tags} from './tags'
import {failOrError} from './utils'
import {PullRequestInfo, PullRequests} from './pullRequests'
import {Commits, DefaultDiffInfo, DiffInfo, convertCommitsToPrs} from './commits'
import {BaseRepository} from '../repositories/BaseRepository'
import {PullConfiguration} from './types.js'
import {TagInfo, Tags} from './tags.js'
import {failOrError} from './utils.js'
import {PullRequestInfo, PullRequests} from './pullRequests.js'
import {Commits, DefaultDiffInfo, DiffInfo, convertCommitsToPrs} from './commits.js'
import {BaseRepository} from '../repositories/BaseRepository.js'
export interface Options {
owner: string // the owner of the repository
+4 -4
View File
@@ -1,10 +1,10 @@
import * as core from '@actions/core'
import {RestEndpointMethodTypes} from '@octokit/rest'
import moment from 'moment'
import {Property, Sort} from './types'
import {Commits, DiffInfo, filterCommits} from './commits'
import {Options} from './prCollector'
import {BaseRepository} from '../repositories/BaseRepository'
import {Property, Sort} from './types.js'
import {Commits, DiffInfo, filterCommits} from './commits.js'
import {Options} from './prCollector.js'
import {BaseRepository} from '../repositories/BaseRepository.js'
export interface PullRequestInfo {
number: number
+1 -1
View File
@@ -1,5 +1,5 @@
import * as core from '@actions/core'
import {Extractor, Property, Regex, RegexTransformer} from './types'
import {Extractor, Property, Regex, RegexTransformer} from './types.js'
export function validateRegex(regex?: Regex): RegexTransformer | null {
if (regex === undefined) {
+4 -4
View File
@@ -2,11 +2,11 @@ import * as core from '@actions/core'
import * as github from '@actions/github'
import * as semver from 'semver'
import {SemVer} from 'semver'
import {Regex, RegexTransformer, TagResolver} from './types'
import {createCommandManager} from './gitHelper'
import {Regex, RegexTransformer, TagResolver} from './types.js'
import {createCommandManager} from './gitHelper.js'
import moment from 'moment'
import {transformStringToOptionalValue, transformStringToValue, validateRegex} from './regexUtils'
import {BaseRepository} from '../repositories/BaseRepository'
import {transformStringToOptionalValue, transformStringToValue, validateRegex} from './regexUtils.js'
import {BaseRepository} from '../repositories/BaseRepository.js'
export interface TagResult {
from: TagInfo | null
+4 -4
View File
@@ -1,13 +1,13 @@
import * as core from '@actions/core'
import {RegexTransformer, Rule} from './pr-collector/types'
import {PullRequestInfo, retrieveProperty} from './pr-collector/pullRequests'
import {validateRegex} from './pr-collector/regexUtils'
import {RegexTransformer, Rule} from './pr-collector/types.js'
import {PullRequestInfo, retrieveProperty} from './pr-collector/pullRequests.js'
import {validateRegex} from './pr-collector/regexUtils.js'
/**
* Checks if any of the rules match the given PR
*/
export function matchesRules(rules: Rule[], pr: PullRequestInfo, exhaustive: boolean): boolean {
const transformers: RegexTransformer[] = rules.map(rule => validateRegex(rule)).filter(t => t !== null) as RegexTransformer[]
const transformers: RegexTransformer[] = rules.map(rule => validateRegex(rule)).filter(t => t !== null)
if (exhaustive) {
return transformers.every(transformer => {
return matches(pr, transformer, 'rule')
+9 -9
View File
@@ -1,13 +1,13 @@
import * as core from '@actions/core'
import {Configuration} from './configuration'
import {checkExportedData, writeCacheData} from './utils'
import {buildChangelog} from './transform'
import {PullRequestCollector} from './pr-collector/prCollector'
import {failOrError} from './pr-collector/utils'
import {TagInfo} from './pr-collector/tags'
import {DiffInfo} from './pr-collector/commits'
import {PullRequestData, PullRequestInfo} from './pr-collector/pullRequests'
import {BaseRepository} from './repositories/BaseRepository'
import {Configuration} from './configuration.js'
import {checkExportedData, writeCacheData} from './utils.js'
import {buildChangelog} from './transform.js'
import {PullRequestCollector} from './pr-collector/prCollector.js'
import {failOrError} from './pr-collector/utils.js'
import {TagInfo} from './pr-collector/tags.js'
import {DiffInfo} from './pr-collector/commits.js'
import {PullRequestData, PullRequestInfo} from './pr-collector/pullRequests.js'
import {BaseRepository} from './repositories/BaseRepository.js'
export interface ReleaseNotesOptions {
owner: string // the owner of the repository
+5 -5
View File
@@ -1,9 +1,9 @@
import {TagInfo} from '../pr-collector/tags'
import {DiffInfo} from '../pr-collector/commits'
import moment from 'moment/moment'
import {PullRequestInfo} from '../pr-collector/pullRequests'
import {TagInfo} from '../pr-collector/tags.js'
import {DiffInfo} from '../pr-collector/commits.js'
import {PullRequestInfo} from '../pr-collector/pullRequests.js'
import * as core from '@actions/core'
import {createCommandManager} from '../pr-collector/gitHelper'
import {createCommandManager} from '../pr-collector/gitHelper.js'
import moment from 'moment'
export abstract class BaseRepository {
proxy?: string
+5 -5
View File
@@ -1,11 +1,11 @@
import {BaseRepository} from './BaseRepository'
import {TagInfo} from '../pr-collector/tags'
import {CommentInfo, PullRequestInfo} from '../pr-collector/pullRequests'
import {DiffInfo} from '../pr-collector/commits'
import {BaseRepository} from './BaseRepository.js'
import {TagInfo} from '../pr-collector/tags.js'
import {CommentInfo, PullRequestInfo} from '../pr-collector/pullRequests.js'
import {DiffInfo} from '../pr-collector/commits.js'
import {Api, PullRequest, PullReview, giteaApi} from 'gitea-js'
import moment from 'moment'
import * as core from '@actions/core'
import {createCommandManager} from '../pr-collector/gitHelper'
import {createCommandManager} from '../pr-collector/gitHelper.js'
interface Pulls {
closed: PullRequest[]
+6 -6
View File
@@ -1,12 +1,12 @@
import {BaseRepository} from './BaseRepository'
import {BaseRepository} from './BaseRepository.js'
import {Octokit, RestEndpointMethodTypes} from '@octokit/rest'
import {HttpsProxyAgent} from 'https-proxy-agent'
import * as core from '@actions/core'
import {TagInfo} from '../pr-collector/tags'
import moment from 'moment/moment'
import {DiffInfo} from '../pr-collector/commits'
import {CommentInfo, PullData, PullRequestInfo, PullReviewsData, PullsListData} from '../pr-collector/pullRequests'
import {Unpacked} from '../pr-collector/utils'
import {TagInfo} from '../pr-collector/tags.js'
import {DiffInfo} from '../pr-collector/commits.js'
import {CommentInfo, PullData, PullRequestInfo, PullReviewsData, PullsListData} from '../pr-collector/pullRequests.js'
import {Unpacked} from '../pr-collector/utils.js'
import moment from 'moment'
export class GithubRepository extends BaseRepository {
async getDiffRemote(owner: string, repo: string, base: string, head: string): Promise<DiffInfo> {
+11 -23
View File
@@ -1,6 +1,6 @@
import * as core from '@actions/core'
import {Category, Configuration, Placeholder, PlaceholderGroup, Property} from './configuration'
import {createOrSet, groupPlaceholders, haveCommonElementsArr, haveEveryElementsArr, mergeMaps} from './utils'
import {Category, Configuration, Placeholder, PlaceholderGroup, Property} from './configuration.js'
import {createOrSet, groupPlaceholders, haveCommonElementsArr, haveEveryElementsArr, mergeMaps} from './utils.js'
import {
CommentInfo,
EMPTY_COMMENT_INFO,
@@ -9,12 +9,12 @@ import {
PullRequestInfo,
retrieveProperty,
sortPullRequests
} from './pr-collector/pullRequests'
import {DiffInfo} from './pr-collector/commits'
import {transformStringToOptionalValue, transformStringToValues, validateRegex} from './pr-collector/regexUtils'
import {ChangelogStrings, GroupedTemplateContext, PrStrings, Regex, RegexTransformer, TemplateContext} from './pr-collector/types'
import {ReleaseNotesOptions} from './releaseNotesBuilder'
import {matchesRules} from './regexUtils'
} from './pr-collector/pullRequests.js'
import {DiffInfo} from './pr-collector/commits.js'
import {transformStringToOptionalValue, transformStringToValues, validateRegex} from './pr-collector/regexUtils.js'
import {ChangelogStrings, GroupedTemplateContext, PrStrings, Regex, RegexTransformer, TemplateContext} from './pr-collector/types.js'
import {ReleaseNotesOptions} from './releaseNotesBuilder.js'
import {matchesRules} from './regexUtils.js'
let CLEAR = false
@@ -315,14 +315,12 @@ function buildPrStringsAndFillCategoryEntries(
}
}
const prStrings: PrStrings = {
return {
categorizedList: categorizedPrs,
uncategorizedList: uncategorizedPrs,
openList: openPrs,
ignoredList: ignoredPrs
}
return prStrings
}
function buildChangelogStrings(flatCategories: Category[], prStrings: PrStrings): ChangelogStrings {
@@ -371,14 +369,12 @@ function buildChangelogStrings(flatCategories: Category[], prStrings: PrStrings)
}
}
const changelogStrings: ChangelogStrings = {
return {
categorized: changelogCategorized,
uncategorized: changelogUncategorized,
open: changelogOpen,
ignored: changelogIgnored
}
return changelogStrings
}
function buildReleaseNotesTemplateContext(
@@ -550,15 +546,7 @@ export function renderEmptyChangelogTemplate(template: string, options: ReleaseN
const releaseNotesTemplateContext = buildCoreReleaseNotesTemplateContext(options)
const renderedEmptyChangelogTemplate = renderTemplateAndFillPlaceholderContext(
template,
releaseNotesTemplateContext,
placeholders,
undefined,
options.configuration
)
return renderedEmptyChangelogTemplate
return renderTemplateAndFillPlaceholderContext(template, releaseNotesTemplateContext, placeholders, undefined, options.configuration)
}
function buildCoreReleaseNotesTemplateContext(options: ReleaseNotesOptions): TemplateContext {
+7 -7
View File
@@ -1,11 +1,11 @@
import * as core from '@actions/core'
import * as fs from 'fs'
import * as path from 'path'
import {Configuration, DefaultCommitConfiguration, DefaultConfiguration, Placeholder} from './configuration'
import {Configuration, DefaultCommitConfiguration, DefaultConfiguration, Placeholder} from './configuration.js'
import moment from 'moment'
import {DiffInfo} from './pr-collector/commits'
import {PullRequestInfo} from './pr-collector/pullRequests'
import {Data, ReleaseNotesOptions} from './releaseNotesBuilder'
import {DiffInfo} from './pr-collector/commits.js'
import {PullRequestInfo} from './pr-collector/pullRequests.js'
import {Data, ReleaseNotesOptions} from './releaseNotesBuilder.js'
import {env} from 'process'
/**
@@ -118,7 +118,7 @@ export function checkExportedData(exportCache: boolean, cacheInput: string | nul
}
export function resolveMode(mode: string | undefined, commitMode: boolean): 'PR' | 'COMMIT' | 'HYBRID' {
if (commitMode === true) {
if (commitMode) {
return 'COMMIT'
}
@@ -179,10 +179,10 @@ function readConfiguration(filename: string): Configuration | undefined {
export function parseConfiguration(config: string): Configuration | undefined {
try {
// for compatibility with the `yml` file we require to use `#{{}}` instead of `${{}}` - replace it here.
const configurationJSON: Configuration = JSON.parse(config.replace(/\${{/g, '#{{'))
return configurationJSON
return JSON.parse(config.replace(/\${{/g, '#{{'))
} catch (error) {
core.info(`⚠️ Configuration provided, but it couldn't be parsed. Fallback to Defaults.`)
core.debug(`Error parsing configuration: ${error}`)
return undefined
}
}
+6 -3
View File
@@ -1,13 +1,16 @@
{
"compilerOptions": {
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"target": "ESNext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"module": "NodeNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
"outDir": "./lib", /* Redirect output structure to the directory. */
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
"strict": true, /* Enable all strict type-checking options. */
"noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
"strictPropertyInitialization": true,
"noImplicitThis": true,
"moduleResolution": "Node16",
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
"lib": [ "ES2021.String", "dom"] /* Enable custom `ES2021.String` extension in typescript for `replaceAll` */
"lib": [ "ESNext","ES2021.String", "dom"] /* Enable custom `ES2021.String` extension in typescript for `replaceAll` */
},
"exclude": ["node_modules", "__tests__/*.ts", "**/*.test.ts", "**/**/*.test.ts"],
}