Compare commits

..

22 Commits

Author SHA1 Message Date
Jozef Izso
4344e43b30 Use jest with eslint 2025-09-12 14:03:36 +02:00
Jozef Izso
8a2a2093e5 Use prettier with eslint 2025-09-12 14:03:30 +02:00
Jozef Izso
4277f239de Migrate eslint config to eslint.config.js format 2025-09-12 14:02:05 +02:00
Jozef Izso
aaa58cbe8b Upgrade to eslint v9 2025-09-12 14:00:40 +02:00
Jozef Izso
34d8269ede Merge pull request #658 from dorny/feature/github_actions 2025-09-12 13:33:58 +02:00
Jozef Izso
fd1c798d8d Upgrade actions/setup-node to v5
This action runs using NodeJS 24 and requires GitHub Runner v2.327.1 and newer
https://github.com/actions/setup-node/releases/tag/v5.0.0
2025-09-12 13:16:20 +02:00
Jozef Izso
2211cf1035 Upgrade actions/checkout to v5
This action runs using NodeJS 24 and requires GitHub Runner v2.327.1 and newer
https://github.com/actions/checkout/releases/tag/v5.0.0
2025-09-12 13:15:16 +02:00
Jozef Izso
be3721d54a Merge pull request #657 from dorny/feature/update_packages 2025-09-12 13:09:48 +02:00
Jozef Izso
d171d89cd4 Update dependencies to latest minor releases 2025-09-12 13:07:41 +02:00
Jozef Izso
661decd3af Upgrade jest to v30.1.3
https://github.com/jestjs/jest/releases/tag/v30.1.0
2025-09-12 13:03:19 +02:00
Jozef Izso
bd9e36bf0c Upgrade @types/picomatch to match the picomatch v4 used as main dependency 2025-09-12 13:00:45 +02:00
Jozef Izso
9642942c97 Upgrade @types/jest to match the jest v30 used as main dependency 2025-09-12 13:00:09 +02:00
Jozef Izso
aa953f36f9 Merge pull request #646 from dorny/dependabot/npm_and_yarn/typescript-5.9.2 2025-08-05 12:03:02 +02:00
dependabot[bot]
f686ce916a Bump typescript from 5.8.3 to 5.9.2
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.8.3 to 5.9.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.8.3...v5.9.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 5.9.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-31 23:43:00 +00:00
Jozef Izso
b14337a039 Merge pull request #632 from dorny/feature/631_jest_v30 2025-07-14 16:09:03 +02:00
Jozef Izso
ec1e910416 Merge pull request #630 from dorny/chore/shadowed_variables 2025-07-14 16:08:51 +02:00
Jozef Izso
353a438514 Merge pull request #637 from dorny/bugfix/610-report-title-not-working 2025-07-14 16:08:33 +02:00
Jozef Izso
9c4a54379f Upgrade jest to v30
Update `jest` package to v30.0.4
2025-07-09 14:16:56 +02:00
Jozef Izso
07e5c648b5 Define the report-title attribute in action definition
Fixes missing attribute from PR #568
2025-07-09 14:04:01 +02:00
Jozef Izso
4d84da17a1 Upgrade jest to v30 2025-06-29 16:55:36 +02:00
Jozef Izso
1c33c4c823 Rebuild dist/ code 2025-06-29 16:26:12 +02:00
Jozef Izso
eea8b67eb1 Refactor variable names
Fixes error `no-shadow`: Disallow variable declarations from shadowing variables declared in the outer scope.
2025-06-29 16:22:07 +02:00
21 changed files with 2876 additions and 2132 deletions

View File

@@ -1,4 +0,0 @@
dist/
lib/
node_modules/
jest.config.js

View File

@@ -21,10 +21,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version-file: '.nvmrc'

View File

@@ -13,8 +13,8 @@ jobs:
name: Build & Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version-file: '.nvmrc'
- run: npm ci

View File

@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- run: npm ci
- run: npm run build
- run: npm test

View File

@@ -11,7 +11,7 @@ jobs:
name: Workflow test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: ./
with:
artifact: test-results

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`dart-json tests matches report snapshot 1`] = `
TestRunResult {

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`dotnet-nunit tests report from ./reports/dotnet test results matches snapshot 1`] = `
TestRunResult {

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`dotnet-trx tests matches dotnet-trx report snapshot 1`] = `
TestRunResult {

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`golang-json tests report from ./reports/dotnet test results matches snapshot 1`] = `
TestRunResult {

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`java-junit tests report from apache/pulsar single suite test results matches snapshot 1`] = `
TestRunResult {

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`jest-junit tests parsing ESLint report without timing information works - PR #134 1`] = `
TestRunResult {

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`mocha-json tests report from ./reports/mocha-json test results matches snapshot 1`] = `
TestRunResult {

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`rspec-json tests report from ./reports/rspec-json test results matches snapshot 1`] = `
TestRunResult {

View File

@@ -1,4 +1,4 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`swift-xunit tests report from swift test results matches snapshot 1`] = `
TestRunResult {

View File

@@ -32,6 +32,6 @@ describe('parseNetDuration', () => {
})
it('throws when string has invalid format', () => {
expect(() => parseNetDuration('12:34:56 not a duration')).toThrowError(/^Invalid format/)
expect(() => parseNetDuration('12:34:56 not a duration')).toThrow(/^Invalid format/)
})
})

View File

@@ -68,6 +68,10 @@ inputs:
working-directory:
description: Relative path under $GITHUB_WORKSPACE where the repository was checked out
required: false
report-title:
description: Title for the test report summary
required: false
default: ''
only-summary:
description: |
Allows you to generate only the summary.

5
dist/index.js generated vendored
View File

@@ -837,12 +837,12 @@ class DotnetNunitParser {
.map(suite => suite.$.name)
.join('.');
const groupName = suitesWithoutTheories[suitesWithoutTheories.length - 1].$.name;
let existingSuite = result.find(existingSuite => existingSuite.name === suiteName);
let existingSuite = result.find(suite => suite.name === suiteName);
if (existingSuite === undefined) {
existingSuite = new test_results_1.TestSuiteResult(suiteName, []);
result.push(existingSuite);
}
let existingGroup = existingSuite.groups.find(existingGroup => existingGroup.name === groupName);
let existingGroup = existingSuite.groups.find(group => group.name === groupName);
if (existingGroup === undefined) {
existingGroup = new test_results_1.TestGroupResult(groupName, []);
existingSuite.groups.push(existingGroup);
@@ -27847,6 +27847,7 @@ module.exports = {
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
__proto__: null,
'***': '*',
'**/**': '**',
'**/**/**': '**'

52
eslint.config.mjs Normal file
View File

@@ -0,0 +1,52 @@
import github from 'eslint-plugin-github'
import prettier from 'eslint-plugin-prettier'
import jest from 'eslint-plugin-jest'
export default [
github.getFlatConfigs().recommended,
...github.getFlatConfigs().typescript,
{
files: ['src/**/*.ts'],
plugins: {
prettier,
},
rules: {
'no-shadow': 'off',
'import/no-namespace': 'off',
'i18n-text/no-en': 'off',
'prefer-template': 'off',
'prettier/prettier': 'error',
"@typescript-eslint/array-type": ['error', {default: 'array'}],
'@typescript-eslint/no-unused-vars': ['error', {varsIgnorePattern: '^_'}],
'@typescript-eslint/no-shadow': ['error'],
},
},
{
files: ['__tests__/**/*.test.ts'],
...jest.configs['flat/recommended'],
plugins: {
jest,
},
languageOptions: {
globals: jest.environments.globals.globals,
},
rules: {
'i18n-text/no-en': 'off',
'import/no-namespace': 'off',
"@typescript-eslint/array-type": ['error', {default: 'array'}],
},
},
{
ignores: [
'dist/**',
'lib/**',
'node_modules/**',
'__tests__/__snapshots__/**',
'__tests__/__results__/**',
'assets/**',
'reports/**',
'eslint.config.mjs',
'jest.config.js',
],
},
]

4876
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@
"build": "tsc",
"format": "prettier --write **/*.ts",
"format-check": "prettier --check **/*.ts",
"lint": "eslint src/**/*.ts",
"lint": "eslint",
"package": "ncc build --license licenses.txt && eolConverter lf 'dist/*'",
"version": "npm run build && npm run package && git add dist/*",
"test": "jest --ci --reporters=default --reporters=jest-junit",
@@ -42,33 +42,32 @@
"adm-zip": "^0.5.16",
"fast-glob": "^3.3.3",
"got": "^11.8.6",
"picomatch": "^4.0.2",
"picomatch": "^4.0.3",
"xml2js": "^0.6.2"
},
"devDependencies": {
"@octokit/webhooks-types": "^7.6.1",
"@types/adm-zip": "^0.5.7",
"@types/jest": "^29.5.14",
"@types/node": "^20.19.2",
"@types/picomatch": "^2.3.4",
"@types/jest": "^30.0.0",
"@types/node": "^20.19.13",
"@types/picomatch": "^4.0.2",
"@types/xml2js": "^0.4.14",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"@typescript-eslint/eslint-plugin": "^8.43.0",
"@typescript-eslint/parser": "^8.43.0",
"@vercel/ncc": "^0.38.3",
"eol-converter-cli": "^1.1.0",
"eslint": "^8.57.1",
"eslint-import-resolver-typescript": "^3.10.1",
"eslint-plugin-github": "^4.10.2",
"eslint": "^9.35.0",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-github": "^6.0.0",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jest": "^28.14.0",
"eslint-plugin-prettier": "^5.5.1",
"jest": "^29.7.0",
"jest-circus": "^29.7.0",
"eslint-plugin-jest": "^29.0.1",
"eslint-plugin-prettier": "^5.5.4",
"jest": "^30.1.3",
"jest-junit": "^16.0.0",
"js-yaml": "^4.1.0",
"prettier": "^3.6.2",
"ts-jest": "^29.4.0",
"typescript": "^5.8.3"
"ts-jest": "^29.4.1",
"typescript": "^5.9.2"
},
"jest-junit": {
"suiteName": "jest tests",

View File

@@ -77,13 +77,13 @@ export class DotnetNunitParser implements TestParser {
.join('.')
const groupName = suitesWithoutTheories[suitesWithoutTheories.length - 1].$.name
let existingSuite = result.find(existingSuite => existingSuite.name === suiteName)
let existingSuite = result.find(suite => suite.name === suiteName)
if (existingSuite === undefined) {
existingSuite = new TestSuiteResult(suiteName, [])
result.push(existingSuite)
}
let existingGroup = existingSuite.groups.find(existingGroup => existingGroup.name === groupName)
let existingGroup = existingSuite.groups.find(group => group.name === groupName)
if (existingGroup === undefined) {
existingGroup = new TestGroupResult(groupName, [])
existingSuite.groups.push(existingGroup)