@getkist/action-jest 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1 +1,119 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @getkist/action-jest
|
|
2
|
+
|
|
3
|
+
Jest test runner action for [kist](https://github.com/getkist/kist) build tool.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@getkist/action-jest)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- **Jest Integration** - Run Jest tests as part of your kist build pipeline
|
|
11
|
+
- **Full Configuration** - Support for all Jest CLI options
|
|
12
|
+
- **Coverage Reports** - Built-in coverage threshold support
|
|
13
|
+
- **Watch Mode** - Development-friendly watch mode integration
|
|
14
|
+
- **Parallel Execution** - Control worker allocation for test runs
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install --save-dev @getkist/action-jest
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
### Basic Test Run
|
|
25
|
+
|
|
26
|
+
Add to your `kist.yml`:
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
pipeline:
|
|
30
|
+
stages:
|
|
31
|
+
- name: test
|
|
32
|
+
steps:
|
|
33
|
+
- name: run-tests
|
|
34
|
+
action: JestAction
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### With Coverage
|
|
38
|
+
|
|
39
|
+
```yaml
|
|
40
|
+
pipeline:
|
|
41
|
+
stages:
|
|
42
|
+
- name: test
|
|
43
|
+
steps:
|
|
44
|
+
- name: run-tests-with-coverage
|
|
45
|
+
action: JestAction
|
|
46
|
+
options:
|
|
47
|
+
coverage: true
|
|
48
|
+
coverageReporters:
|
|
49
|
+
- text
|
|
50
|
+
- lcov
|
|
51
|
+
coverageThresholdLines: 80
|
|
52
|
+
coverageThresholdBranches: 70
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Custom Configuration
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
pipeline:
|
|
59
|
+
stages:
|
|
60
|
+
- name: test
|
|
61
|
+
steps:
|
|
62
|
+
- name: unit-tests
|
|
63
|
+
action: JestAction
|
|
64
|
+
options:
|
|
65
|
+
configPath: ./jest.config.js
|
|
66
|
+
testPathPattern: "src/**/*.test.ts"
|
|
67
|
+
runInBand: true
|
|
68
|
+
verbose: true
|
|
69
|
+
bail: 1
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Action: JestAction
|
|
73
|
+
|
|
74
|
+
Runs Jest tests with configurable options.
|
|
75
|
+
|
|
76
|
+
### Options
|
|
77
|
+
|
|
78
|
+
| Option | Type | Default | Description |
|
|
79
|
+
|--------|------|---------|-------------|
|
|
80
|
+
| `configPath` | string | - | Path to Jest config file |
|
|
81
|
+
| `testMatch` | string[] | - | Test file patterns to run |
|
|
82
|
+
| `testPathPattern` | string | - | Regex pattern for test file paths |
|
|
83
|
+
| `watch` | boolean | false | Run in watch mode |
|
|
84
|
+
| `watchAll` | boolean | false | Run all tests when watch detects changes |
|
|
85
|
+
| `coverage` | boolean | false | Generate coverage report |
|
|
86
|
+
| `coverageReporters` | string[] | - | Coverage reporters (text, lcov, html, etc.) |
|
|
87
|
+
| `coverageThresholdBranches` | number | - | Minimum branch coverage % |
|
|
88
|
+
| `coverageThresholdFunctions` | number | - | Minimum function coverage % |
|
|
89
|
+
| `coverageThresholdLines` | number | - | Minimum line coverage % |
|
|
90
|
+
| `coverageThresholdStatements` | number | - | Minimum statement coverage % |
|
|
91
|
+
| `runInBand` | boolean | false | Run tests serially |
|
|
92
|
+
| `maxWorkers` | number/string | - | Max parallel workers |
|
|
93
|
+
| `onlyChanged` | boolean | false | Only run tests for changed files |
|
|
94
|
+
| `bail` | boolean/number | false | Stop after N failures |
|
|
95
|
+
| `updateSnapshot` | boolean | false | Update snapshots |
|
|
96
|
+
| `clearMocks` | boolean | false | Clear mocks between tests |
|
|
97
|
+
| `resetMocks` | boolean | false | Reset mocks between tests |
|
|
98
|
+
| `verbose` | boolean | false | Verbose output |
|
|
99
|
+
| `silent` | boolean | false | Suppress console output |
|
|
100
|
+
| `forceExit` | boolean | false | Force Jest to exit after tests |
|
|
101
|
+
| `detectOpenHandles` | boolean | false | Detect open handles preventing exit |
|
|
102
|
+
| `passWithNoTests` | boolean | false | Pass when no tests found |
|
|
103
|
+
| `reporters` | string[] | - | Custom Jest reporters |
|
|
104
|
+
| `projects` | string[] | - | Projects to run |
|
|
105
|
+
| `roots` | string[] | - | Test root directories |
|
|
106
|
+
| `setupFilesAfterEnv` | string[] | - | Setup files to run after env |
|
|
107
|
+
| `testEnvironment` | string | - | Test environment (node, jsdom) |
|
|
108
|
+
| `testTimeout` | number | - | Test timeout in ms |
|
|
109
|
+
| `globals` | object | - | Global variables |
|
|
110
|
+
| `moduleNameMapper` | object | - | Module path mappings |
|
|
111
|
+
|
|
112
|
+
## Requirements
|
|
113
|
+
|
|
114
|
+
- Node.js >= 20.0.0
|
|
115
|
+
- kist >= 0.1.58
|
|
116
|
+
|
|
117
|
+
## License
|
|
118
|
+
|
|
119
|
+
MIT
|
|
@@ -4,10 +4,7 @@ import { spawn } from "child_process";
|
|
|
4
4
|
* Action for running tests using Jest.
|
|
5
5
|
*/
|
|
6
6
|
export class JestAction extends Action {
|
|
7
|
-
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.name = "JestAction";
|
|
10
|
-
}
|
|
7
|
+
name = "JestAction";
|
|
11
8
|
describe() {
|
|
12
9
|
return "Run tests using Jest test framework";
|
|
13
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JestAction.js","sourceRoot":"","sources":["../../../src/actions/JestAction/JestAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AA8ItC;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,MAAyB;
|
|
1
|
+
{"version":3,"file":"JestAction.js","sourceRoot":"","sources":["../../../src/actions/JestAction/JestAction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getkist/action-jest",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Jest test runner action for kist",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
7
7
|
"type": "module",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/src/index.d.ts",
|
|
11
|
+
"import": "./dist/src/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./package.json": "./package.json"
|
|
14
|
+
},
|
|
8
15
|
"scripts": {
|
|
9
16
|
"build": "tsc",
|
|
10
17
|
"test": "NODE_OPTIONS='--experimental-vm-modules' jest",
|
|
@@ -29,10 +36,10 @@
|
|
|
29
36
|
"npm": ">=10.0.0"
|
|
30
37
|
},
|
|
31
38
|
"dependencies": {
|
|
32
|
-
"jest": "^
|
|
39
|
+
"jest": "^30.2.0"
|
|
33
40
|
},
|
|
34
41
|
"devDependencies": {
|
|
35
|
-
"@types/jest": "^
|
|
42
|
+
"@types/jest": "^30.0.0",
|
|
36
43
|
"@types/node": "^20.11.0",
|
|
37
44
|
"eslint": "^9.0.0",
|
|
38
45
|
"ts-jest": "^29.1.2",
|
|
@@ -44,7 +51,11 @@
|
|
|
44
51
|
"README.md",
|
|
45
52
|
"LICENSE"
|
|
46
53
|
],
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"kist": ">=0.1.58"
|
|
56
|
+
},
|
|
47
57
|
"publishConfig": {
|
|
48
58
|
"access": "public"
|
|
49
|
-
}
|
|
59
|
+
},
|
|
60
|
+
"sideEffects": false
|
|
50
61
|
}
|