@allurereport/core 3.0.0-beta.4 → 3.0.0-beta.5
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/dist/api.d.ts +3 -2
- package/dist/config.d.ts +8 -16
- package/dist/config.js +47 -41
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/report.js +3 -3
- package/dist/utils/module.js +4 -1
- package/dist/utils/path.d.ts +1 -0
- package/dist/utils/path.js +4 -0
- package/package.json +12 -12
package/dist/api.d.ts
CHANGED
|
@@ -7,9 +7,10 @@ export interface FullConfig {
|
|
|
7
7
|
reportFiles: ReportFiles;
|
|
8
8
|
readers?: ResultsReader[];
|
|
9
9
|
plugins?: PluginInstance[];
|
|
10
|
-
history
|
|
11
|
-
historyPath
|
|
10
|
+
history: HistoryDataPoint[];
|
|
11
|
+
historyPath: string;
|
|
12
12
|
appendHistory?: boolean;
|
|
13
|
+
knownIssuesPath: string;
|
|
13
14
|
known?: KnownTestFailure[];
|
|
14
15
|
qualityGate?: QualityGateConfig;
|
|
15
16
|
realTime?: any;
|
package/dist/config.d.ts
CHANGED
|
@@ -1,22 +1,14 @@
|
|
|
1
1
|
import type { Config } from "@allurereport/plugin-api";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
|
|
2
|
+
import type { FullConfig } from "./api.js";
|
|
3
|
+
export declare const getPluginId: (key: string) => string;
|
|
4
|
+
export declare const findConfig: (cwd: string, configPath?: string) => Promise<string | undefined>;
|
|
5
|
+
export interface ConfigOverride {
|
|
6
|
+
name?: string;
|
|
7
7
|
output?: string;
|
|
8
8
|
historyPath?: string;
|
|
9
9
|
knownIssuesPath?: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
cwd?: string;
|
|
13
|
-
}) => Promise<FullConfig>;
|
|
14
|
-
export declare const getPluginId: (key: string) => string;
|
|
15
|
-
export declare const findRuntimeConfigPath: (cwd?: string) => Promise<string | undefined>;
|
|
16
|
-
export declare const readRuntimeConfig: (configPath?: string, cwd?: string, output?: string, name?: string) => Promise<FullConfig>;
|
|
10
|
+
}
|
|
11
|
+
export declare const readConfig: (cwd?: string, configPath?: string, override?: ConfigOverride) => Promise<FullConfig>;
|
|
17
12
|
export declare const loadConfig: (configPath: string) => Promise<Config>;
|
|
18
|
-
export declare const resolveConfig: (config: Config, override?:
|
|
19
|
-
name?: string;
|
|
20
|
-
output?: string;
|
|
21
|
-
}) => Promise<FullConfig>;
|
|
13
|
+
export declare const resolveConfig: (config: Config, override?: ConfigOverride) => Promise<FullConfig>;
|
|
22
14
|
export declare const resolvePlugin: (path: string) => Promise<any>;
|
package/dist/config.js
CHANGED
|
@@ -1,63 +1,69 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import * as console from "node:console";
|
|
2
|
+
import { stat } from "node:fs/promises";
|
|
3
|
+
import { resolve } from "node:path";
|
|
3
4
|
import * as process from "node:process";
|
|
4
5
|
import { readHistory } from "./history.js";
|
|
5
6
|
import { readKnownIssues } from "./known.js";
|
|
6
7
|
import { FileSystemReportFiles } from "./plugin.js";
|
|
7
8
|
import { importWrapper } from "./utils/module.js";
|
|
8
|
-
|
|
9
|
-
export const createConfig = async (opts) => {
|
|
10
|
-
const { reportName = "Allure Report", output = "allure-report", historyPath, knownIssuesPath, qualityGate, cwd, } = opts;
|
|
11
|
-
const workingDirectory = cwd ?? process.cwd();
|
|
12
|
-
const target = resolve(workingDirectory, output);
|
|
13
|
-
const history = historyPath ? await readHistory(resolve(workingDirectory, historyPath)) : [];
|
|
14
|
-
const known = knownIssuesPath ? await readKnownIssues(resolve(workingDirectory, knownIssuesPath)) : [];
|
|
15
|
-
return {
|
|
16
|
-
name: reportName,
|
|
17
|
-
history,
|
|
18
|
-
historyPath,
|
|
19
|
-
known,
|
|
20
|
-
qualityGate,
|
|
21
|
-
plugins: opts.plugins ?? [],
|
|
22
|
-
reportFiles: new FileSystemReportFiles(target),
|
|
23
|
-
output: target,
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
const defaultRuntimeConfig = {};
|
|
9
|
+
import { normalizeImportPath } from "./utils/path.js";
|
|
27
10
|
export const getPluginId = (key) => {
|
|
28
11
|
return key.replace(/^@.*\//, "").replace(/[/\\]/g, "-");
|
|
29
12
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
13
|
+
const configNames = ["allurerc.js", "allurerc.mjs"];
|
|
14
|
+
const defaultConfig = {};
|
|
15
|
+
export const findConfig = async (cwd, configPath) => {
|
|
16
|
+
if (configPath) {
|
|
17
|
+
const resolved = resolve(cwd, configPath);
|
|
18
|
+
try {
|
|
19
|
+
const stats = await stat(resolved);
|
|
20
|
+
if (stats.isFile()) {
|
|
21
|
+
return resolved;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
console.error(e);
|
|
26
|
+
}
|
|
27
|
+
throw new Error(`invalid config path ${resolved}: not a regular file`);
|
|
34
28
|
}
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
for (const configName of configNames) {
|
|
30
|
+
const resolved = resolve(cwd, configName);
|
|
31
|
+
try {
|
|
32
|
+
const stats = await stat(resolved);
|
|
33
|
+
if (stats.isFile()) {
|
|
34
|
+
return resolved;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (ignored) {
|
|
38
|
+
}
|
|
37
39
|
}
|
|
38
|
-
return undefined;
|
|
39
40
|
};
|
|
40
|
-
export const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
return await resolveConfig(
|
|
41
|
+
export const readConfig = async (cwd = process.cwd(), configPath, override) => {
|
|
42
|
+
const cfg = await findConfig(cwd, configPath);
|
|
43
|
+
const config = cfg ? await loadConfig(cfg) : { ...defaultConfig };
|
|
44
|
+
return await resolveConfig(config, override);
|
|
44
45
|
};
|
|
45
46
|
export const loadConfig = async (configPath) => {
|
|
46
|
-
return (await import(configPath)).default;
|
|
47
|
+
return (await import(normalizeImportPath(configPath))).default;
|
|
47
48
|
};
|
|
48
49
|
export const resolveConfig = async (config, override = {}) => {
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const
|
|
50
|
+
const name = override.name ?? config.name ?? "Allure Report";
|
|
51
|
+
const historyPath = resolve(override.historyPath ?? config.historyPath ?? "./.allure/history.jsonl");
|
|
52
|
+
const knownIssuesPath = resolve(override.knownIssuesPath ?? config.knownIssuesPath ?? "./allure/known.json");
|
|
53
|
+
const output = resolve(override.output ?? config.output ?? "./allure-report");
|
|
54
|
+
const history = await readHistory(historyPath);
|
|
55
|
+
const known = await readKnownIssues(knownIssuesPath);
|
|
56
|
+
const pluginInstances = await resolvePlugins(config.plugins ?? {});
|
|
53
57
|
return {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
reportFiles: new FileSystemReportFiles(out),
|
|
58
|
+
name,
|
|
59
|
+
reportFiles: new FileSystemReportFiles(output),
|
|
57
60
|
plugins: pluginInstances,
|
|
58
|
-
output
|
|
61
|
+
output,
|
|
59
62
|
history,
|
|
60
63
|
historyPath,
|
|
64
|
+
knownIssuesPath,
|
|
65
|
+
known,
|
|
66
|
+
qualityGate: config.qualityGate,
|
|
61
67
|
};
|
|
62
68
|
};
|
|
63
69
|
export const resolvePlugin = async (path) => {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export type * from "./api.js";
|
|
2
2
|
export * from "./utils/misc.js";
|
|
3
3
|
export * from "./utils/crypto.js";
|
|
4
|
+
export * from "./utils/path.js";
|
|
4
5
|
export * from "./history.js";
|
|
5
6
|
export * from "./known.js";
|
|
6
|
-
export
|
|
7
|
+
export { resolveConfig, readConfig } from "./config.js";
|
|
7
8
|
export * from "./report.js";
|
|
8
9
|
export * from "./plugin.js";
|
|
9
10
|
export * from "./qualityGate.js";
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export * from "./utils/misc.js";
|
|
2
2
|
export * from "./utils/crypto.js";
|
|
3
|
+
export * from "./utils/path.js";
|
|
3
4
|
export * from "./history.js";
|
|
4
5
|
export * from "./known.js";
|
|
5
|
-
export
|
|
6
|
+
export { resolveConfig, readConfig } from "./config.js";
|
|
6
7
|
export * from "./report.js";
|
|
7
8
|
export * from "./plugin.js";
|
|
8
9
|
export * from "./qualityGate.js";
|
package/dist/report.js
CHANGED
|
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
12
|
var _AllureReport_instances, _AllureReport_reportUuid, _AllureReport_reportName, _AllureReport_store, _AllureReport_readers, _AllureReport_plugins, _AllureReport_reportFiles, _AllureReport_eventEmitter, _AllureReport_events, _AllureReport_qualityGate, _AllureReport_appendHistory, _AllureReport_historyPath, _AllureReport_realTime, _AllureReport_state, _AllureReport_stage, _AllureReport_update, _AllureReport_eachPlugin, _AllureReport_getPluginState;
|
|
13
|
-
import { allure1, allure2, attachments, junitXml } from "@allurereport/reader";
|
|
13
|
+
import { allure1, allure2, attachments, cucumberjson, junitXml } from "@allurereport/reader";
|
|
14
14
|
import { PathResultFile } from "@allurereport/reader-api";
|
|
15
15
|
import console from "node:console";
|
|
16
16
|
import { randomUUID } from "node:crypto";
|
|
@@ -159,14 +159,14 @@ export class AllureReport {
|
|
|
159
159
|
this.validate = async () => {
|
|
160
160
|
await __classPrivateFieldGet(this, _AllureReport_qualityGate, "f").validate(__classPrivateFieldGet(this, _AllureReport_store, "f"));
|
|
161
161
|
};
|
|
162
|
-
const { name, readers = [allure1, allure2, junitXml, attachments], plugins = [], history, known, reportFiles, qualityGate, realTime, appendHistory, historyPath, } = opts;
|
|
162
|
+
const { name, readers = [allure1, allure2, cucumberjson, junitXml, attachments], plugins = [], history, known, reportFiles, qualityGate, realTime, appendHistory, historyPath, } = opts;
|
|
163
163
|
__classPrivateFieldSet(this, _AllureReport_reportUuid, randomUUID(), "f");
|
|
164
164
|
__classPrivateFieldSet(this, _AllureReport_reportName, name, "f");
|
|
165
165
|
__classPrivateFieldSet(this, _AllureReport_eventEmitter, new EventEmitter(), "f");
|
|
166
166
|
__classPrivateFieldSet(this, _AllureReport_events, new Events(__classPrivateFieldGet(this, _AllureReport_eventEmitter, "f")), "f");
|
|
167
167
|
__classPrivateFieldSet(this, _AllureReport_realTime, realTime, "f");
|
|
168
168
|
__classPrivateFieldSet(this, _AllureReport_appendHistory, appendHistory ?? true, "f");
|
|
169
|
-
__classPrivateFieldSet(this, _AllureReport_historyPath, historyPath
|
|
169
|
+
__classPrivateFieldSet(this, _AllureReport_historyPath, historyPath, "f");
|
|
170
170
|
__classPrivateFieldSet(this, _AllureReport_store, new DefaultAllureStore(history, known, __classPrivateFieldGet(this, _AllureReport_eventEmitter, "f")), "f");
|
|
171
171
|
__classPrivateFieldSet(this, _AllureReport_readers, [...readers], "f");
|
|
172
172
|
__classPrivateFieldSet(this, _AllureReport_plugins, [...plugins], "f");
|
package/dist/utils/module.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { normalizeImportPath } from "./path.js";
|
|
3
|
+
const require = createRequire(import.meta.url);
|
|
1
4
|
export const importWrapper = async (path) => {
|
|
2
|
-
return import(path);
|
|
5
|
+
return import(normalizeImportPath(require.resolve(path)));
|
|
3
6
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const normalizeImportPath: (path: string) => string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allurereport/core",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.5",
|
|
4
4
|
"description": "Collection of generic Allure utilities used across the entire project",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"allure"
|
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
"test": "vitest run"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@allurereport/core-api": "3.0.0-beta.
|
|
29
|
-
"@allurereport/plugin-api": "3.0.0-beta.
|
|
30
|
-
"@allurereport/plugin-awesome": "3.0.0-beta.
|
|
31
|
-
"@allurereport/plugin-classic": "3.0.0-beta.
|
|
32
|
-
"@allurereport/plugin-csv": "3.0.0-beta.
|
|
33
|
-
"@allurereport/plugin-log": "3.0.0-beta.
|
|
34
|
-
"@allurereport/plugin-progress": "3.0.0-beta.
|
|
35
|
-
"@allurereport/plugin-slack": "3.0.0-beta.
|
|
36
|
-
"@allurereport/plugin-testplan": "3.0.0-beta.
|
|
37
|
-
"@allurereport/reader": "3.0.0-beta.
|
|
38
|
-
"@allurereport/reader-api": "3.0.0-beta.
|
|
28
|
+
"@allurereport/core-api": "3.0.0-beta.5",
|
|
29
|
+
"@allurereport/plugin-api": "3.0.0-beta.5",
|
|
30
|
+
"@allurereport/plugin-awesome": "3.0.0-beta.5",
|
|
31
|
+
"@allurereport/plugin-classic": "3.0.0-beta.5",
|
|
32
|
+
"@allurereport/plugin-csv": "3.0.0-beta.5",
|
|
33
|
+
"@allurereport/plugin-log": "3.0.0-beta.5",
|
|
34
|
+
"@allurereport/plugin-progress": "3.0.0-beta.5",
|
|
35
|
+
"@allurereport/plugin-slack": "3.0.0-beta.5",
|
|
36
|
+
"@allurereport/plugin-testplan": "3.0.0-beta.5",
|
|
37
|
+
"@allurereport/reader": "3.0.0-beta.5",
|
|
38
|
+
"@allurereport/reader-api": "3.0.0-beta.5",
|
|
39
39
|
"markdown-it": "^14.1.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|