@nan0web/release 3.2.0 → 3.3.0
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/package.json +12 -12
- package/types/Release/Document.d.ts +27 -20
- package/types/Release/MarkdownToTest.d.ts +1 -1
- package/types/Release/Person.d.ts +7 -9
- package/types/Release/Scanner.d.ts +39 -39
- package/types/Release.d.ts +42 -42
- package/types/architecture/ProjectManagementAsCode.d.ts +64 -59
- package/types/domain/App.d.ts +5 -6
- package/types/domain/BumpCommand.d.ts +6 -5
- package/types/domain/CheckCommand.d.ts +1 -1
- package/types/domain/CloseCommand.d.ts +6 -3
- package/types/domain/DepsCommand.d.ts +6 -4
- package/types/domain/InitCommand.d.ts +6 -3
- package/types/domain/PublishCommand.d.ts +6 -5
- package/types/domain/SpecCommand.d.ts +6 -3
- package/types/domain/StatusCommand.d.ts +5 -1
- package/types/index.d.ts +10 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nan0web/release",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Project Management as Code, Git-Native, GPG-Signed, Test-Driven",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
@@ -10,22 +10,22 @@
|
|
|
10
10
|
"release": "./bin/nan0release.js"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@nan0web/
|
|
14
|
-
"@nan0web/db": "3.
|
|
15
|
-
"@nan0web/
|
|
16
|
-
"@nan0web/
|
|
17
|
-
"@nan0web/
|
|
18
|
-
"@nan0web/
|
|
19
|
-
"@nan0web/
|
|
20
|
-
"@nan0web/
|
|
21
|
-
"@nan0web/ui
|
|
22
|
-
"@nan0web/
|
|
13
|
+
"@nan0web/db-fs": "3.3.0",
|
|
14
|
+
"@nan0web/db": "3.3.0",
|
|
15
|
+
"@nan0web/types": "3.3.0",
|
|
16
|
+
"@nan0web/markdown": "3.3.0",
|
|
17
|
+
"@nan0web/log": "3.3.0",
|
|
18
|
+
"@nan0web/co": "3.3.0",
|
|
19
|
+
"@nan0web/changelog": "3.3.0",
|
|
20
|
+
"@nan0web/logos": "3.3.0",
|
|
21
|
+
"@nan0web/ui": "3.3.0",
|
|
22
|
+
"@nan0web/ui-cli": "3.3.0"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/node": "^25.6.0",
|
|
26
26
|
"husky": "^9.1.7",
|
|
27
27
|
"knip": "^5.86.0",
|
|
28
|
-
"@nan0web/test": "3.
|
|
28
|
+
"@nan0web/test": "3.3.0"
|
|
29
29
|
},
|
|
30
30
|
"files": [
|
|
31
31
|
"bin",
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import Markdown, { MDElement } from '@nan0web/markdown';
|
|
2
|
+
import Person from './Person.js';
|
|
2
3
|
declare class ReleaseDocument extends Markdown {
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
/** @type {Person[]} */
|
|
5
|
+
team: Person[];
|
|
6
|
+
/** @type {Map<string, Person[]>} */
|
|
7
|
+
roles: Map<string, Person[]>;
|
|
8
|
+
/** @type {string} */
|
|
9
|
+
version: string;
|
|
10
|
+
/** @type {Date | undefined} */
|
|
11
|
+
date: Date | undefined;
|
|
8
12
|
/**
|
|
9
13
|
* @param {Object} options
|
|
10
14
|
* @param {Array} [options.team] - Release team members
|
|
@@ -13,19 +17,22 @@ declare class ReleaseDocument extends Markdown {
|
|
|
13
17
|
* @param {string} [options.date] - Release date
|
|
14
18
|
*/
|
|
15
19
|
constructor(options?: {
|
|
16
|
-
team?: any[]
|
|
17
|
-
roles?:
|
|
18
|
-
version?: string
|
|
19
|
-
date?: string
|
|
20
|
+
team?: any[];
|
|
21
|
+
roles?: Map<any, any> | any[];
|
|
22
|
+
version?: string;
|
|
23
|
+
date?: string;
|
|
20
24
|
});
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Parse release document content
|
|
27
|
+
* Extracts version and date from H1 heading
|
|
28
|
+
* @param {string} input - Markdown content
|
|
29
|
+
* @returns {MDElement[]}
|
|
30
|
+
*/
|
|
31
|
+
parse(input: string): MDElement[];
|
|
32
|
+
/**
|
|
33
|
+
* @param {*} input
|
|
34
|
+
* @returns {ReleaseDocument}
|
|
35
|
+
*/
|
|
36
|
+
static from(input: any): ReleaseDocument;
|
|
29
37
|
}
|
|
30
|
-
|
|
31
|
-
import Person from './Person.js';
|
|
38
|
+
export default ReleaseDocument;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export default MarkdownToTest;
|
|
2
1
|
/**
|
|
3
2
|
* MarkdownToTest - generates node:test code from markdown release notes
|
|
4
3
|
* Enables writing release notes first, then generating executable tests
|
|
@@ -45,3 +44,4 @@ declare class MarkdownToTest {
|
|
|
45
44
|
tasks: any[];
|
|
46
45
|
}>): string;
|
|
47
46
|
}
|
|
47
|
+
export default MarkdownToTest;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
+
import { HumanName, HumanContact, HumanGender } from '@nan0web/logos';
|
|
1
2
|
export default class Person {
|
|
2
|
-
/**
|
|
3
|
-
* @param {*} input
|
|
4
|
-
* @returns {Person}
|
|
5
|
-
*/
|
|
6
|
-
static from(input: any): Person;
|
|
7
|
-
constructor(input?: {});
|
|
8
3
|
/** @type {HumanName} */
|
|
9
4
|
name: HumanName;
|
|
10
5
|
/** @type {HumanGender} */
|
|
11
6
|
gender: HumanGender;
|
|
12
7
|
/** @type {HumanContact[]} */
|
|
13
8
|
contacts: HumanContact[];
|
|
9
|
+
constructor(input?: {});
|
|
10
|
+
/**
|
|
11
|
+
* @param {*} input
|
|
12
|
+
* @returns {Person}
|
|
13
|
+
*/
|
|
14
|
+
static from(input: any): Person;
|
|
14
15
|
}
|
|
15
|
-
import { HumanName } from '@nan0web/logos';
|
|
16
|
-
import { HumanGender } from '@nan0web/logos';
|
|
17
|
-
import { HumanContact } from '@nan0web/logos';
|
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
export type ContractEntry = {
|
|
2
|
+
/**
|
|
3
|
+
* - Release version (e.g. "v1.0.0")
|
|
4
|
+
*/
|
|
5
|
+
version: string;
|
|
6
|
+
/**
|
|
7
|
+
* - Absolute path to the contract file
|
|
8
|
+
*/
|
|
9
|
+
path: string;
|
|
10
|
+
/**
|
|
11
|
+
* - "spec" or "test"
|
|
12
|
+
*/
|
|
13
|
+
type: string;
|
|
14
|
+
/**
|
|
15
|
+
* - Directory containing the contract
|
|
16
|
+
*/
|
|
17
|
+
dir: string;
|
|
18
|
+
};
|
|
19
|
+
export type VersionStatus = {
|
|
20
|
+
/**
|
|
21
|
+
* - Release version
|
|
22
|
+
*/
|
|
23
|
+
version: string;
|
|
24
|
+
/**
|
|
25
|
+
* - Version state
|
|
26
|
+
*/
|
|
27
|
+
state: 'wip' | 'closed' | 'mixed';
|
|
28
|
+
/**
|
|
29
|
+
* - Paths to spec files
|
|
30
|
+
*/
|
|
31
|
+
specs: string[];
|
|
32
|
+
/**
|
|
33
|
+
* - Paths to test files
|
|
34
|
+
*/
|
|
35
|
+
tests: string[];
|
|
36
|
+
};
|
|
1
37
|
/**
|
|
2
38
|
* @typedef {Object} ContractEntry
|
|
3
39
|
* @property {string} version - Release version (e.g. "v1.0.0")
|
|
@@ -18,12 +54,13 @@
|
|
|
18
54
|
* та плоску: releases/v{version}/
|
|
19
55
|
*/
|
|
20
56
|
export default class Scanner {
|
|
57
|
+
#private;
|
|
58
|
+
/** @type {string} */
|
|
59
|
+
root: string;
|
|
21
60
|
/**
|
|
22
61
|
* @param {string} root - Root directory of the project
|
|
23
62
|
*/
|
|
24
63
|
constructor(root: string);
|
|
25
|
-
/** @type {string} */
|
|
26
|
-
root: string;
|
|
27
64
|
/**
|
|
28
65
|
* Find all .spec.js files (WIP contracts)
|
|
29
66
|
* @param {string} [version] - Optional version filter
|
|
@@ -50,41 +87,4 @@ export default class Scanner {
|
|
|
50
87
|
closed: number;
|
|
51
88
|
files: string[];
|
|
52
89
|
};
|
|
53
|
-
#private;
|
|
54
90
|
}
|
|
55
|
-
export type ContractEntry = {
|
|
56
|
-
/**
|
|
57
|
-
* - Release version (e.g. "v1.0.0")
|
|
58
|
-
*/
|
|
59
|
-
version: string;
|
|
60
|
-
/**
|
|
61
|
-
* - Absolute path to the contract file
|
|
62
|
-
*/
|
|
63
|
-
path: string;
|
|
64
|
-
/**
|
|
65
|
-
* - "spec" or "test"
|
|
66
|
-
*/
|
|
67
|
-
type: string;
|
|
68
|
-
/**
|
|
69
|
-
* - Directory containing the contract
|
|
70
|
-
*/
|
|
71
|
-
dir: string;
|
|
72
|
-
};
|
|
73
|
-
export type VersionStatus = {
|
|
74
|
-
/**
|
|
75
|
-
* - Release version
|
|
76
|
-
*/
|
|
77
|
-
version: string;
|
|
78
|
-
/**
|
|
79
|
-
* - Version state
|
|
80
|
-
*/
|
|
81
|
-
state: "wip" | "closed" | "mixed";
|
|
82
|
-
/**
|
|
83
|
-
* - Paths to spec files
|
|
84
|
-
*/
|
|
85
|
-
specs: string[];
|
|
86
|
-
/**
|
|
87
|
-
* - Paths to test files
|
|
88
|
-
*/
|
|
89
|
-
tests: string[];
|
|
90
|
-
};
|
package/types/Release.d.ts
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
import ReleaseDocument from './Release/Document.js';
|
|
2
|
+
import Logger from '@nan0web/log';
|
|
3
|
+
export type ReleaseConfig = {
|
|
4
|
+
/**
|
|
5
|
+
* - Release version
|
|
6
|
+
*/
|
|
7
|
+
version?: string;
|
|
8
|
+
/**
|
|
9
|
+
* -
|
|
10
|
+
*/
|
|
11
|
+
createdAt?: string | number | Date | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* - Alias for createdAt
|
|
14
|
+
*/
|
|
15
|
+
date?: string | number | Date | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* -
|
|
18
|
+
*/
|
|
19
|
+
startAt?: string | number | Date | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* -
|
|
22
|
+
*/
|
|
23
|
+
planAt?: string | number | Date | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* -
|
|
26
|
+
*/
|
|
27
|
+
completeAt?: string | number | Date | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* -
|
|
30
|
+
*/
|
|
31
|
+
document?: string | ReleaseDocument;
|
|
32
|
+
/**
|
|
33
|
+
* - Task map with test functions
|
|
34
|
+
*/
|
|
35
|
+
tasks?: Map<string, Function>;
|
|
36
|
+
};
|
|
1
37
|
/**
|
|
2
38
|
* @typedef {Object} ReleaseConfig
|
|
3
39
|
* @property {string} [version] - Release version
|
|
@@ -13,11 +49,6 @@
|
|
|
13
49
|
* Release management class that coordinates task validation and release execution
|
|
14
50
|
*/
|
|
15
51
|
export default class Release {
|
|
16
|
-
/**
|
|
17
|
-
* Creates a Release instance
|
|
18
|
-
* @param {ReleaseConfig} config - Release configuration
|
|
19
|
-
*/
|
|
20
|
-
constructor(config?: ReleaseConfig);
|
|
21
52
|
/** @type {string} */
|
|
22
53
|
version: string;
|
|
23
54
|
/** @type {Date} */
|
|
@@ -34,6 +65,11 @@ export default class Release {
|
|
|
34
65
|
document: ReleaseDocument;
|
|
35
66
|
/** @type {Logger} */
|
|
36
67
|
logger: Logger;
|
|
68
|
+
/**
|
|
69
|
+
* Creates a Release instance
|
|
70
|
+
* @param {ReleaseConfig} config - Release configuration
|
|
71
|
+
*/
|
|
72
|
+
constructor(config?: ReleaseConfig);
|
|
37
73
|
get path(): string;
|
|
38
74
|
/**
|
|
39
75
|
* Validate release by running all task tests
|
|
@@ -47,7 +83,7 @@ export default class Release {
|
|
|
47
83
|
* @returns {Promise<boolean>} Release success status
|
|
48
84
|
*/
|
|
49
85
|
execute(options?: {
|
|
50
|
-
ignoreFailTests?: boolean
|
|
86
|
+
ignoreFailTests?: boolean;
|
|
51
87
|
}): Promise<boolean>;
|
|
52
88
|
/**
|
|
53
89
|
* Get release progress statistics
|
|
@@ -55,39 +91,3 @@ export default class Release {
|
|
|
55
91
|
*/
|
|
56
92
|
getProgress(): Promise<any>;
|
|
57
93
|
}
|
|
58
|
-
export type ReleaseConfig = {
|
|
59
|
-
/**
|
|
60
|
-
* - Release version
|
|
61
|
-
*/
|
|
62
|
-
version?: string | undefined;
|
|
63
|
-
/**
|
|
64
|
-
* -
|
|
65
|
-
*/
|
|
66
|
-
createdAt?: string | number | Date | undefined;
|
|
67
|
-
/**
|
|
68
|
-
* - Alias for createdAt
|
|
69
|
-
*/
|
|
70
|
-
date?: string | number | Date | undefined;
|
|
71
|
-
/**
|
|
72
|
-
* -
|
|
73
|
-
*/
|
|
74
|
-
startAt?: string | number | Date | undefined;
|
|
75
|
-
/**
|
|
76
|
-
* -
|
|
77
|
-
*/
|
|
78
|
-
planAt?: string | number | Date | undefined;
|
|
79
|
-
/**
|
|
80
|
-
* -
|
|
81
|
-
*/
|
|
82
|
-
completeAt?: string | number | Date | undefined;
|
|
83
|
-
/**
|
|
84
|
-
* -
|
|
85
|
-
*/
|
|
86
|
-
document?: string | ReleaseDocument | undefined;
|
|
87
|
-
/**
|
|
88
|
-
* - Task map with test functions
|
|
89
|
-
*/
|
|
90
|
-
tasks?: Map<string, Function> | undefined;
|
|
91
|
-
};
|
|
92
|
-
import ReleaseDocument from './Release/Document.js';
|
|
93
|
-
import Logger from '@nan0web/log';
|
|
@@ -1,18 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* # Project Management as Code Architecture
|
|
3
|
+
*
|
|
4
|
+
* This architecture implements project management through automated testing,
|
|
5
|
+
* where each task is represented as a test case that validates system behavior.
|
|
6
|
+
*
|
|
7
|
+
* ## Core Concepts
|
|
8
|
+
*
|
|
9
|
+
* 1. **Tasks as Tests**: Each project task becomes a test suite that validates
|
|
10
|
+
* implementation correctness
|
|
11
|
+
* 2. **Status Tracking**: Task status moves automatically through CI/CD pipeline
|
|
12
|
+
* when tests pass/fail
|
|
13
|
+
* 3. **Release Validation**: Releases are validated by running task tests as
|
|
14
|
+
* part of the release process
|
|
15
|
+
*
|
|
16
|
+
* ## Implementation Details
|
|
4
17
|
*/
|
|
5
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Base TestSuite class for task management
|
|
20
|
+
*/
|
|
21
|
+
declare class TestSuite {
|
|
22
|
+
name: string;
|
|
23
|
+
fn: Function;
|
|
6
24
|
/**
|
|
7
|
-
*
|
|
8
|
-
* @param {
|
|
9
|
-
* @param {string} [config.projectPath] - Path to project root
|
|
10
|
-
* @param {boolean} [config.autoTrack] - Enable automatic status tracking
|
|
25
|
+
* @param {string} name - Suite name
|
|
26
|
+
* @param {Function} fn - Test function
|
|
11
27
|
*/
|
|
12
|
-
constructor(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
28
|
+
constructor(name: string, fn: Function);
|
|
29
|
+
/**
|
|
30
|
+
* Run the test suite
|
|
31
|
+
* @returns {Promise<Object>}
|
|
32
|
+
*/
|
|
33
|
+
run(): Promise<any>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Task management through node:test infrastructure
|
|
37
|
+
* @class ProjectManagement
|
|
38
|
+
*/
|
|
39
|
+
export declare class ProjectManagement {
|
|
16
40
|
/** @type {string} */
|
|
17
41
|
projectPath: string;
|
|
18
42
|
/** @type {boolean} */
|
|
@@ -22,6 +46,16 @@ export class ProjectManagement {
|
|
|
22
46
|
* @type {Map<string, string>}
|
|
23
47
|
*/
|
|
24
48
|
tasks: Map<string, string>;
|
|
49
|
+
/**
|
|
50
|
+
* Initialize project management system
|
|
51
|
+
* @param {Object} [config] - Configuration options
|
|
52
|
+
* @param {string} [config.projectPath] - Path to project root
|
|
53
|
+
* @param {boolean} [config.autoTrack] - Enable automatic status tracking
|
|
54
|
+
*/
|
|
55
|
+
constructor(config?: {
|
|
56
|
+
projectPath?: string;
|
|
57
|
+
autoTrack?: boolean;
|
|
58
|
+
});
|
|
25
59
|
/**
|
|
26
60
|
* Register a task with its validation test
|
|
27
61
|
* @param {string} taskId - Unique task identifier
|
|
@@ -50,16 +84,16 @@ export class ProjectManagement {
|
|
|
50
84
|
* Release management system that coordinates task validation
|
|
51
85
|
* @class ReleaseManager
|
|
52
86
|
*/
|
|
53
|
-
export class ReleaseManager {
|
|
87
|
+
export declare class ReleaseManager {
|
|
88
|
+
/**
|
|
89
|
+
* @type {ProjectManagement}
|
|
90
|
+
*/
|
|
91
|
+
projectManager: ProjectManagement;
|
|
54
92
|
/**
|
|
55
93
|
* Initialize release manager
|
|
56
94
|
* @param {ProjectManagement} projectManager - Project management instance
|
|
57
95
|
*/
|
|
58
96
|
constructor(projectManager: ProjectManagement);
|
|
59
|
-
/**
|
|
60
|
-
* @type {ProjectManagement}
|
|
61
|
-
*/
|
|
62
|
-
projectManager: ProjectManagement;
|
|
63
97
|
/**
|
|
64
98
|
* Execute release process with task validation
|
|
65
99
|
* @param {string} type - Release type (patch, minor, major)
|
|
@@ -85,14 +119,7 @@ export class ReleaseManager {
|
|
|
85
119
|
* Task test suite definition following node:test format
|
|
86
120
|
* @extends TestSuite
|
|
87
121
|
*/
|
|
88
|
-
export class TaskTestSuite extends TestSuite {
|
|
89
|
-
/**
|
|
90
|
-
* Initialize task test suite
|
|
91
|
-
* @param {string} taskId - Unique task identifier
|
|
92
|
-
* @param {string} description - Human-readable task description
|
|
93
|
-
* @param {Function} testFunction - Test implementation function
|
|
94
|
-
*/
|
|
95
|
-
constructor(taskId: string, description: string, testFunction: Function);
|
|
122
|
+
export declare class TaskTestSuite extends TestSuite {
|
|
96
123
|
/**
|
|
97
124
|
* Task ID this test suite validates
|
|
98
125
|
* @type {string}
|
|
@@ -103,12 +130,24 @@ export class TaskTestSuite extends TestSuite {
|
|
|
103
130
|
* @type {string}
|
|
104
131
|
*/
|
|
105
132
|
description: string;
|
|
133
|
+
/**
|
|
134
|
+
* Initialize task test suite
|
|
135
|
+
* @param {string} taskId - Unique task identifier
|
|
136
|
+
* @param {string} description - Human-readable task description
|
|
137
|
+
* @param {Function} testFunction - Test implementation function
|
|
138
|
+
*/
|
|
139
|
+
constructor(taskId: string, description: string, testFunction: Function);
|
|
140
|
+
/**
|
|
141
|
+
* Execute task validation test
|
|
142
|
+
* @returns {Promise<Object>} Test execution result
|
|
143
|
+
*/
|
|
144
|
+
run(): Promise<any>;
|
|
106
145
|
}
|
|
107
146
|
/**
|
|
108
147
|
* Changelog-based task management for LLM-assisted development
|
|
109
148
|
* @class ChangelogTaskManager
|
|
110
149
|
*/
|
|
111
|
-
export class ChangelogTaskManager {
|
|
150
|
+
export declare class ChangelogTaskManager {
|
|
112
151
|
/**
|
|
113
152
|
* Parse changelog to extract tasks and their statuses
|
|
114
153
|
* @param {string} changelogContent - Raw changelog markdown
|
|
@@ -122,38 +161,4 @@ export class ChangelogTaskManager {
|
|
|
122
161
|
*/
|
|
123
162
|
generateTaskTests(tasks: Array<any>): Promise<void>;
|
|
124
163
|
}
|
|
125
|
-
/**
|
|
126
|
-
* # Project Management as Code Architecture
|
|
127
|
-
*
|
|
128
|
-
* This architecture implements project management through automated testing,
|
|
129
|
-
* where each task is represented as a test case that validates system behavior.
|
|
130
|
-
*
|
|
131
|
-
* ## Core Concepts
|
|
132
|
-
*
|
|
133
|
-
* 1. **Tasks as Tests**: Each project task becomes a test suite that validates
|
|
134
|
-
* implementation correctness
|
|
135
|
-
* 2. **Status Tracking**: Task status moves automatically through CI/CD pipeline
|
|
136
|
-
* when tests pass/fail
|
|
137
|
-
* 3. **Release Validation**: Releases are validated by running task tests as
|
|
138
|
-
* part of the release process
|
|
139
|
-
*
|
|
140
|
-
* ## Implementation Details
|
|
141
|
-
*/
|
|
142
|
-
/**
|
|
143
|
-
* Base TestSuite class for task management
|
|
144
|
-
*/
|
|
145
|
-
declare class TestSuite {
|
|
146
|
-
/**
|
|
147
|
-
* @param {string} name - Suite name
|
|
148
|
-
* @param {Function} fn - Test function
|
|
149
|
-
*/
|
|
150
|
-
constructor(name: string, fn: Function);
|
|
151
|
-
name: string;
|
|
152
|
-
fn: Function;
|
|
153
|
-
/**
|
|
154
|
-
* Run the test suite
|
|
155
|
-
* @returns {Promise<Object>}
|
|
156
|
-
*/
|
|
157
|
-
run(): Promise<any>;
|
|
158
|
-
}
|
|
159
164
|
export {};
|
package/types/domain/App.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { ModelAsApp } from "@nan0web/ui";
|
|
2
|
+
import CheckCommand from './CheckCommand.js';
|
|
3
|
+
import StatusCommand from './StatusCommand.js';
|
|
4
|
+
export declare class ReleaseApp extends ModelAsApp {
|
|
2
5
|
static command: {
|
|
3
6
|
help: string;
|
|
4
7
|
options: (typeof CheckCommand | typeof StatusCommand)[];
|
|
@@ -9,9 +12,5 @@ export class ReleaseApp extends ModelAsApp {
|
|
|
9
12
|
* @param {Partial<ReleaseApp>} [data]
|
|
10
13
|
* @param {Partial<import('@nan0web/ui').ModelAsAppOptions>} [options]
|
|
11
14
|
*/
|
|
12
|
-
constructor(data?: Partial<ReleaseApp>, options?: Partial<import(
|
|
13
|
-
/** @type {ModelAsApp} Subcommand to run */ command: ModelAsApp;
|
|
15
|
+
constructor(data?: Partial<ReleaseApp>, options?: Partial<import('@nan0web/ui').ModelAsAppOptions>);
|
|
14
16
|
}
|
|
15
|
-
import { ModelAsApp } from "@nan0web/ui";
|
|
16
|
-
import CheckCommand from './CheckCommand.js';
|
|
17
|
-
import StatusCommand from './StatusCommand.js';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModelAsApp } from '@nan0web/ui';
|
|
1
2
|
/**
|
|
2
3
|
* Command to bump the version of changed packages in the monorepo.
|
|
3
4
|
*/
|
|
@@ -31,9 +32,9 @@ export default class BumpCommand extends ModelAsApp {
|
|
|
31
32
|
* @param {Partial<BumpCommand>} [data]
|
|
32
33
|
* @param {Partial<import('@nan0web/ui').ModelAsAppOptions>} [options]
|
|
33
34
|
*/
|
|
34
|
-
constructor(data?: Partial<BumpCommand>, options?: Partial<import(
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
constructor(data?: Partial<BumpCommand>, options?: Partial<import('@nan0web/ui').ModelAsAppOptions>);
|
|
36
|
+
/**
|
|
37
|
+
* @returns {AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>}
|
|
38
|
+
*/
|
|
39
|
+
run(): AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>;
|
|
38
40
|
}
|
|
39
|
-
import { ModelAsApp } from '@nan0web/ui';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModelAsApp } from '@nan0web/ui';
|
|
1
2
|
export default class CheckCommand extends ModelAsApp {
|
|
2
3
|
static UI: {
|
|
3
4
|
title: string;
|
|
@@ -21,4 +22,3 @@ export default class CheckCommand extends ModelAsApp {
|
|
|
21
22
|
*/
|
|
22
23
|
_scanDirRecursive(base: string, dir?: string): Promise<string[]>;
|
|
23
24
|
}
|
|
24
|
-
import { ModelAsApp } from '@nan0web/ui';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModelAsApp } from '@nan0web/ui';
|
|
1
2
|
export default class CloseCommand extends ModelAsApp {
|
|
2
3
|
static version: {
|
|
3
4
|
help: string;
|
|
@@ -11,7 +12,9 @@ export default class CloseCommand extends ModelAsApp {
|
|
|
11
12
|
* @param {Partial<CloseCommand>} [data]
|
|
12
13
|
* @param {Partial<import('@nan0web/ui').ModelAsAppOptions>} [options]
|
|
13
14
|
*/
|
|
14
|
-
constructor(data?: Partial<CloseCommand>, options?: Partial<import(
|
|
15
|
-
/**
|
|
15
|
+
constructor(data?: Partial<CloseCommand>, options?: Partial<import('@nan0web/ui').ModelAsAppOptions>);
|
|
16
|
+
/**
|
|
17
|
+
* @returns {AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>}
|
|
18
|
+
*/
|
|
19
|
+
run(): AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>;
|
|
16
20
|
}
|
|
17
|
-
import { ModelAsApp } from '@nan0web/ui';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModelAsApp } from '@nan0web/ui';
|
|
1
2
|
export default class DepsCommand extends ModelAsApp {
|
|
2
3
|
static fix: {
|
|
3
4
|
help: string;
|
|
@@ -15,8 +16,9 @@ export default class DepsCommand extends ModelAsApp {
|
|
|
15
16
|
* @param {Partial<DepsCommand>} [data]
|
|
16
17
|
* @param {Partial<import('@nan0web/ui').ModelAsAppOptions>} [options]
|
|
17
18
|
*/
|
|
18
|
-
constructor(data?: Partial<DepsCommand>, options?: Partial<import(
|
|
19
|
-
/**
|
|
20
|
-
|
|
19
|
+
constructor(data?: Partial<DepsCommand>, options?: Partial<import('@nan0web/ui').ModelAsAppOptions>);
|
|
20
|
+
/**
|
|
21
|
+
* @returns {AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>}
|
|
22
|
+
*/
|
|
23
|
+
run(): AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>;
|
|
21
24
|
}
|
|
22
|
-
import { ModelAsApp } from '@nan0web/ui';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModelAsApp } from '@nan0web/ui';
|
|
1
2
|
export default class InitCommand extends ModelAsApp {
|
|
2
3
|
static version: {
|
|
3
4
|
help: string;
|
|
@@ -12,7 +13,9 @@ export default class InitCommand extends ModelAsApp {
|
|
|
12
13
|
* @param {Partial<InitCommand>} [data]
|
|
13
14
|
* @param {Partial<import('@nan0web/ui').ModelAsAppOptions>} [options]
|
|
14
15
|
*/
|
|
15
|
-
constructor(data?: Partial<InitCommand>, options?: Partial<import(
|
|
16
|
-
/**
|
|
16
|
+
constructor(data?: Partial<InitCommand>, options?: Partial<import('@nan0web/ui').ModelAsAppOptions>);
|
|
17
|
+
/**
|
|
18
|
+
* @returns {AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>}
|
|
19
|
+
*/
|
|
20
|
+
run(): AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>;
|
|
17
21
|
}
|
|
18
|
-
import { ModelAsApp } from '@nan0web/ui';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModelAsApp } from '@nan0web/ui';
|
|
1
2
|
export default class PublishCommand extends ModelAsApp {
|
|
2
3
|
static major: {
|
|
3
4
|
help: string;
|
|
@@ -19,9 +20,9 @@ export default class PublishCommand extends ModelAsApp {
|
|
|
19
20
|
* @param {Partial<PublishCommand>} [data]
|
|
20
21
|
* @param {Partial<import('@nan0web/ui').ModelAsAppOptions>} [options]
|
|
21
22
|
*/
|
|
22
|
-
constructor(data?: Partial<PublishCommand>, options?: Partial<import(
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
constructor(data?: Partial<PublishCommand>, options?: Partial<import('@nan0web/ui').ModelAsAppOptions>);
|
|
24
|
+
/**
|
|
25
|
+
* @returns {AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>}
|
|
26
|
+
*/
|
|
27
|
+
run(): AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>;
|
|
26
28
|
}
|
|
27
|
-
import { ModelAsApp } from '@nan0web/ui';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModelAsApp } from '@nan0web/ui';
|
|
1
2
|
export default class SpecCommand extends ModelAsApp {
|
|
2
3
|
static version: {
|
|
3
4
|
help: string;
|
|
@@ -11,7 +12,9 @@ export default class SpecCommand extends ModelAsApp {
|
|
|
11
12
|
* @param {Partial<SpecCommand>} [data]
|
|
12
13
|
* @param {Partial<import('@nan0web/ui').ModelAsAppOptions>} [options]
|
|
13
14
|
*/
|
|
14
|
-
constructor(data?: Partial<SpecCommand>, options?: Partial<import(
|
|
15
|
-
/**
|
|
15
|
+
constructor(data?: Partial<SpecCommand>, options?: Partial<import('@nan0web/ui').ModelAsAppOptions>);
|
|
16
|
+
/**
|
|
17
|
+
* @returns {AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>}
|
|
18
|
+
*/
|
|
19
|
+
run(): AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>;
|
|
16
20
|
}
|
|
17
|
-
import { ModelAsApp } from '@nan0web/ui';
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import { ModelAsApp } from '@nan0web/ui';
|
|
1
2
|
export default class StatusCommand extends ModelAsApp {
|
|
2
3
|
static UI: {
|
|
3
4
|
title: string;
|
|
4
5
|
help: string;
|
|
5
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* @returns {AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>}
|
|
9
|
+
*/
|
|
10
|
+
run(): AsyncGenerator<import('@nan0web/ui').Intent, import('@nan0web/ui').ResultIntent, any>;
|
|
6
11
|
}
|
|
7
|
-
import { ModelAsApp } from '@nan0web/ui';
|
package/types/index.d.ts
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
export { ReleaseApp } from "./domain/App.js";
|
|
2
|
-
export { default as InitCommand } from "./domain/InitCommand.js";
|
|
3
|
-
export { default as CheckCommand } from "./domain/CheckCommand.js";
|
|
4
|
-
export { default as CloseCommand } from "./domain/CloseCommand.js";
|
|
5
|
-
export { default as DepsCommand } from "./domain/DepsCommand.js";
|
|
6
|
-
export { default as PublishCommand } from "./domain/PublishCommand.js";
|
|
7
|
-
export { default as SpecCommand } from "./domain/SpecCommand.js";
|
|
8
|
-
export { default as StatusCommand } from "./domain/StatusCommand.js";
|
|
9
1
|
import Release from './Release.js';
|
|
10
2
|
import ReleaseDocument from './Release/Document.js';
|
|
11
3
|
import Person from './Release/Person.js';
|
|
12
4
|
import Scanner from './Release/Scanner.js';
|
|
13
5
|
import MarkdownToTest from './Release/MarkdownToTest.js';
|
|
14
|
-
import { ProjectManagement } from './architecture/ProjectManagementAsCode.js';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export {
|
|
6
|
+
import { ProjectManagement, ReleaseManager, TaskTestSuite, ChangelogTaskManager } from './architecture/ProjectManagementAsCode.js';
|
|
7
|
+
export { Release, ReleaseDocument, Person, Scanner, MarkdownToTest, ProjectManagement, ReleaseManager, TaskTestSuite, ChangelogTaskManager, };
|
|
8
|
+
export { ReleaseApp } from './domain/App.js';
|
|
9
|
+
export { default as InitCommand } from './domain/InitCommand.js';
|
|
10
|
+
export { default as CheckCommand } from './domain/CheckCommand.js';
|
|
11
|
+
export { default as CloseCommand } from './domain/CloseCommand.js';
|
|
12
|
+
export { default as DepsCommand } from './domain/DepsCommand.js';
|
|
13
|
+
export { default as PublishCommand } from './domain/PublishCommand.js';
|
|
14
|
+
export { default as SpecCommand } from './domain/SpecCommand.js';
|
|
15
|
+
export { default as StatusCommand } from './domain/StatusCommand.js';
|