@apiclient.xyz/gitlab 2.4.0 → 2.6.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.
Files changed (43) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts/gitlab.classes.branch.d.ts +7 -0
  3. package/dist_ts/gitlab.classes.branch.js +13 -0
  4. package/dist_ts/gitlab.classes.gitlabclient.d.ts +117 -32
  5. package/dist_ts/gitlab.classes.gitlabclient.js +278 -96
  6. package/dist_ts/gitlab.classes.group.d.ts +47 -0
  7. package/dist_ts/gitlab.classes.group.js +97 -0
  8. package/dist_ts/gitlab.classes.job.d.ts +29 -0
  9. package/dist_ts/gitlab.classes.job.js +74 -0
  10. package/dist_ts/gitlab.classes.pipeline.d.ts +32 -0
  11. package/dist_ts/gitlab.classes.pipeline.js +87 -0
  12. package/dist_ts/gitlab.classes.project.d.ts +63 -0
  13. package/dist_ts/gitlab.classes.project.js +122 -0
  14. package/dist_ts/gitlab.classes.protectedbranch.d.ts +8 -0
  15. package/dist_ts/gitlab.classes.protectedbranch.js +15 -0
  16. package/dist_ts/gitlab.classes.tag.d.ts +7 -0
  17. package/dist_ts/gitlab.classes.tag.js +13 -0
  18. package/dist_ts/gitlab.classes.testreport.d.ts +34 -0
  19. package/dist_ts/gitlab.classes.testreport.js +67 -0
  20. package/dist_ts/gitlab.classes.variable.d.ts +18 -0
  21. package/dist_ts/gitlab.classes.variable.js +35 -0
  22. package/dist_ts/gitlab.helpers.d.ts +8 -0
  23. package/dist_ts/gitlab.helpers.js +23 -0
  24. package/dist_ts/gitlab.interfaces.d.ts +114 -9
  25. package/dist_ts/gitlab.interfaces.js +4 -1
  26. package/dist_ts/index.d.ts +11 -1
  27. package/dist_ts/index.js +15 -1
  28. package/package.json +1 -1
  29. package/readme.md +468 -163
  30. package/ts/00_commitinfo_data.ts +1 -1
  31. package/ts/gitlab.classes.branch.ts +18 -0
  32. package/ts/gitlab.classes.gitlabclient.ts +354 -114
  33. package/ts/gitlab.classes.group.ts +137 -0
  34. package/ts/gitlab.classes.job.ts +104 -0
  35. package/ts/gitlab.classes.pipeline.ts +122 -0
  36. package/ts/gitlab.classes.project.ts +177 -0
  37. package/ts/gitlab.classes.protectedbranch.ts +21 -0
  38. package/ts/gitlab.classes.tag.ts +18 -0
  39. package/ts/gitlab.classes.testreport.ts +97 -0
  40. package/ts/gitlab.classes.variable.ts +50 -0
  41. package/ts/gitlab.helpers.ts +26 -0
  42. package/ts/gitlab.interfaces.ts +162 -11
  43. package/ts/index.ts +25 -0
@@ -0,0 +1,67 @@
1
+ export class GitLabTestCase {
2
+ constructor(raw) {
3
+ this.status = raw.status || '';
4
+ this.name = raw.name || '';
5
+ this.classname = raw.classname || '';
6
+ this.executionTime = raw.execution_time || 0;
7
+ this.systemOutput = raw.system_output || '';
8
+ this.stackTrace = raw.stack_trace || '';
9
+ }
10
+ toJSON() {
11
+ return {
12
+ status: this.status,
13
+ name: this.name,
14
+ classname: this.classname,
15
+ execution_time: this.executionTime,
16
+ system_output: this.systemOutput,
17
+ stack_trace: this.stackTrace,
18
+ };
19
+ }
20
+ }
21
+ export class GitLabTestSuite {
22
+ constructor(raw) {
23
+ this.name = raw.name || '';
24
+ this.totalTime = raw.total_time || 0;
25
+ this.totalCount = raw.total_count || 0;
26
+ this.successCount = raw.success_count || 0;
27
+ this.failedCount = raw.failed_count || 0;
28
+ this.skippedCount = raw.skipped_count || 0;
29
+ this.errorCount = raw.error_count || 0;
30
+ this.testCases = (raw.test_cases || []).map(tc => new GitLabTestCase(tc));
31
+ }
32
+ toJSON() {
33
+ return {
34
+ name: this.name,
35
+ total_time: this.totalTime,
36
+ total_count: this.totalCount,
37
+ success_count: this.successCount,
38
+ failed_count: this.failedCount,
39
+ skipped_count: this.skippedCount,
40
+ error_count: this.errorCount,
41
+ test_cases: this.testCases.map(tc => tc.toJSON()),
42
+ };
43
+ }
44
+ }
45
+ export class GitLabTestReport {
46
+ constructor(raw) {
47
+ this.totalTime = raw.total_time || 0;
48
+ this.totalCount = raw.total_count || 0;
49
+ this.successCount = raw.success_count || 0;
50
+ this.failedCount = raw.failed_count || 0;
51
+ this.skippedCount = raw.skipped_count || 0;
52
+ this.errorCount = raw.error_count || 0;
53
+ this.testSuites = (raw.test_suites || []).map(ts => new GitLabTestSuite(ts));
54
+ }
55
+ toJSON() {
56
+ return {
57
+ total_time: this.totalTime,
58
+ total_count: this.totalCount,
59
+ success_count: this.successCount,
60
+ failed_count: this.failedCount,
61
+ skipped_count: this.skippedCount,
62
+ error_count: this.errorCount,
63
+ test_suites: this.testSuites.map(ts => ts.toJSON()),
64
+ };
65
+ }
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmNsYXNzZXMudGVzdHJlcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2dpdGxhYi5jbGFzc2VzLnRlc3RyZXBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGNBQWM7SUFRekIsWUFBWSxHQUFvQjtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNsQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzdCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQVUxQixZQUFZLEdBQXFCO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FB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
@@ -0,0 +1,18 @@
1
+ import type { IGitLabVariable, IGitLabPipelineVariable } from './gitlab.interfaces.js';
2
+ export declare class GitLabVariable {
3
+ readonly key: string;
4
+ readonly value: string;
5
+ readonly variableType: string;
6
+ readonly protected: boolean;
7
+ readonly masked: boolean;
8
+ readonly environmentScope: string;
9
+ constructor(raw: IGitLabVariable);
10
+ toJSON(): IGitLabVariable;
11
+ }
12
+ export declare class GitLabPipelineVariable {
13
+ readonly key: string;
14
+ readonly value: string;
15
+ readonly variableType: string;
16
+ constructor(raw: IGitLabPipelineVariable);
17
+ toJSON(): IGitLabPipelineVariable;
18
+ }
@@ -0,0 +1,35 @@
1
+ export class GitLabVariable {
2
+ constructor(raw) {
3
+ this.key = raw.key || '';
4
+ this.value = raw.value || '';
5
+ this.variableType = raw.variable_type || 'env_var';
6
+ this.protected = raw.protected ?? false;
7
+ this.masked = raw.masked ?? false;
8
+ this.environmentScope = raw.environment_scope || '*';
9
+ }
10
+ toJSON() {
11
+ return {
12
+ key: this.key,
13
+ value: this.value,
14
+ variable_type: this.variableType,
15
+ protected: this.protected,
16
+ masked: this.masked,
17
+ environment_scope: this.environmentScope,
18
+ };
19
+ }
20
+ }
21
+ export class GitLabPipelineVariable {
22
+ constructor(raw) {
23
+ this.key = raw.key || '';
24
+ this.value = raw.value || '';
25
+ this.variableType = raw.variable_type || 'env_var';
26
+ }
27
+ toJSON() {
28
+ return {
29
+ key: this.key,
30
+ value: this.value,
31
+ variable_type: this.variableType,
32
+ };
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmNsYXNzZXMudmFyaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXRsYWIuY2xhc3Nlcy52YXJpYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sY0FBYztJQVF6QixZQUFZLEdBQW9CO1FBQzlCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxhQUFhLElBQUksU0FBUyxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixJQUFJLEdBQUcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ2hDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtTQUN6QyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHNCQUFzQjtJQUtqQyxZQUFZLEdBQTRCO1FBQ3RDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxhQUFhLElBQUksU0FBUyxDQUFDO0lBQ3JELENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDakMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Auto-paginate a list endpoint.
3
+ * If opts includes a specific page, returns just that page (no auto-pagination).
4
+ */
5
+ export declare function autoPaginate<T>(fetchPage: (page: number, perPage: number) => Promise<T[]>, opts?: {
6
+ page?: number;
7
+ perPage?: number;
8
+ }): Promise<T[]>;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Auto-paginate a list endpoint.
3
+ * If opts includes a specific page, returns just that page (no auto-pagination).
4
+ */
5
+ export async function autoPaginate(fetchPage, opts) {
6
+ const perPage = opts?.perPage || 50;
7
+ // If caller requests a specific page, return just that page
8
+ if (opts?.page) {
9
+ return fetchPage(opts.page, perPage);
10
+ }
11
+ // Otherwise auto-paginate through all pages
12
+ const all = [];
13
+ let page = 1;
14
+ while (true) {
15
+ const items = await fetchPage(page, perPage);
16
+ all.push(...items);
17
+ if (items.length < perPage)
18
+ break;
19
+ page++;
20
+ }
21
+ return all;
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXRsYWIuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVksQ0FDaEMsU0FBMEQsRUFDMUQsSUFBMEM7SUFFMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFFcEMsNERBQTREO0lBQzVELElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsNENBQTRDO0lBQzVDLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztJQUNwQixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7SUFDYixPQUFPLElBQUksRUFBRSxDQUFDO1FBQ1osTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUNuQixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTztZQUFFLE1BQU07UUFDbEMsSUFBSSxFQUFFLENBQUM7SUFDVCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIn0=
@@ -1,3 +1,36 @@
1
+ export interface ITestConnectionResult {
2
+ ok: boolean;
3
+ error?: string;
4
+ }
5
+ export interface IListOptions {
6
+ search?: string;
7
+ page?: number;
8
+ perPage?: number;
9
+ }
10
+ export interface IPipelineListOptions extends IListOptions {
11
+ /** Filter by pipeline status */
12
+ status?: string;
13
+ /** Filter by branch or tag ref */
14
+ ref?: string;
15
+ /** Filter by trigger source (push, web, trigger, schedule, api, external, pipeline, chat, merge_request_event, …) */
16
+ source?: string;
17
+ /** Filter by scope (running, pending, finished, branches, tags) */
18
+ scope?: string;
19
+ /** Filter by the user who triggered the pipeline */
20
+ username?: string;
21
+ /** Return pipelines updated after this ISO 8601 date */
22
+ updatedAfter?: string;
23
+ /** Return pipelines updated before this ISO 8601 date */
24
+ updatedBefore?: string;
25
+ /** Order by field (id, status, ref, updated_at, user_id). Default: id */
26
+ orderBy?: string;
27
+ /** Sort direction (asc, desc). Default: desc */
28
+ sort?: string;
29
+ }
30
+ export interface IJobListOptions extends IListOptions {
31
+ /** Filter by job scope(s) */
32
+ scope?: string[];
33
+ }
1
34
  export interface IGitLabUser {
2
35
  id: number;
3
36
  username: string;
@@ -46,21 +79,102 @@ export interface IGitLabProtectedBranch {
46
79
  }
47
80
  export interface IGitLabPipeline {
48
81
  id: number;
82
+ iid: number;
49
83
  project_id: number;
50
84
  status: string;
51
85
  ref: string;
52
86
  sha: string;
87
+ before_sha: string;
88
+ tag: boolean;
53
89
  web_url: string;
54
90
  duration: number;
91
+ queued_duration: number;
55
92
  created_at: string;
93
+ updated_at: string;
94
+ started_at: string;
95
+ finished_at: string;
56
96
  source: string;
97
+ coverage: string;
98
+ user: IGitLabUser;
99
+ detailed_status: {
100
+ icon: string;
101
+ text: string;
102
+ label: string;
103
+ group: string;
104
+ tooltip: string;
105
+ has_details: boolean;
106
+ details_path: string;
107
+ favicon: string;
108
+ };
109
+ yaml_errors: string;
110
+ }
111
+ export interface IGitLabPipelineVariable {
112
+ key: string;
113
+ value: string;
114
+ variable_type: string;
115
+ }
116
+ export interface IGitLabTestReport {
117
+ total_time: number;
118
+ total_count: number;
119
+ success_count: number;
120
+ failed_count: number;
121
+ skipped_count: number;
122
+ error_count: number;
123
+ test_suites: IGitLabTestSuite[];
124
+ }
125
+ export interface IGitLabTestSuite {
126
+ name: string;
127
+ total_time: number;
128
+ total_count: number;
129
+ success_count: number;
130
+ failed_count: number;
131
+ skipped_count: number;
132
+ error_count: number;
133
+ test_cases: IGitLabTestCase[];
134
+ }
135
+ export interface IGitLabTestCase {
136
+ status: string;
137
+ name: string;
138
+ classname: string;
139
+ execution_time: number;
140
+ system_output: string;
141
+ stack_trace: string;
57
142
  }
58
143
  export interface IGitLabJob {
59
144
  id: number;
60
145
  name: string;
61
146
  stage: string;
62
147
  status: string;
148
+ ref: string;
149
+ tag: boolean;
150
+ web_url: string;
151
+ created_at: string;
152
+ started_at: string;
153
+ finished_at: string;
63
154
  duration: number;
155
+ queued_duration: number;
156
+ coverage: number;
157
+ allow_failure: boolean;
158
+ failure_reason: string;
159
+ pipeline: {
160
+ id: number;
161
+ project_id: number;
162
+ ref: string;
163
+ sha: string;
164
+ status: string;
165
+ };
166
+ user: IGitLabUser;
167
+ runner: {
168
+ id: number;
169
+ description: string;
170
+ active: boolean;
171
+ is_shared: boolean;
172
+ };
173
+ artifacts: {
174
+ filename: string;
175
+ size: number;
176
+ }[];
177
+ artifacts_expire_at: string;
64
178
  }
65
179
  export interface IGitLabBranch {
66
180
  name: string;
@@ -74,12 +188,3 @@ export interface IGitLabTag {
74
188
  id: string;
75
189
  };
76
190
  }
77
- export interface ITestConnectionResult {
78
- ok: boolean;
79
- error?: string;
80
- }
81
- export interface IListOptions {
82
- search?: string;
83
- page?: number;
84
- perPage?: number;
85
- }
@@ -1,2 +1,5 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Common
3
+ // ---------------------------------------------------------------------------
1
4
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXRsYWIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9naXRsYWIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RUFBOEU7QUFDOUUsU0FBUztBQUNULDhFQUE4RSJ9
@@ -1,3 +1,13 @@
1
1
  export { GitLabClient } from './gitlab.classes.gitlabclient.js';
2
- export type { IGitLabUser, IGitLabProject, IGitLabGroup, IGitLabVariable, IGitLabProtectedBranch, IGitLabBranch, IGitLabTag, IVariableOptions, IGitLabPipeline, IGitLabJob, ITestConnectionResult, IListOptions, } from './gitlab.interfaces.js';
2
+ export { GitLabGroup } from './gitlab.classes.group.js';
3
+ export { GitLabProject } from './gitlab.classes.project.js';
4
+ export { GitLabPipeline } from './gitlab.classes.pipeline.js';
5
+ export { GitLabJob } from './gitlab.classes.job.js';
6
+ export { GitLabBranch } from './gitlab.classes.branch.js';
7
+ export { GitLabTag } from './gitlab.classes.tag.js';
8
+ export { GitLabProtectedBranch } from './gitlab.classes.protectedbranch.js';
9
+ export { GitLabVariable, GitLabPipelineVariable } from './gitlab.classes.variable.js';
10
+ export { GitLabTestReport, GitLabTestSuite, GitLabTestCase } from './gitlab.classes.testreport.js';
11
+ export { autoPaginate } from './gitlab.helpers.js';
12
+ export type { IGitLabUser, IGitLabProject, IGitLabGroup, IGitLabVariable, IGitLabProtectedBranch, IGitLabBranch, IGitLabTag, IVariableOptions, IGitLabPipeline, IGitLabPipelineVariable, IGitLabTestReport, IGitLabTestSuite, IGitLabTestCase, IGitLabJob, ITestConnectionResult, IListOptions, IPipelineListOptions, IJobListOptions, } from './gitlab.interfaces.js';
3
13
  export { commitinfo } from './00_commitinfo_data.js';
package/dist_ts/index.js CHANGED
@@ -1,3 +1,17 @@
1
+ // Main client
1
2
  export { GitLabClient } from './gitlab.classes.gitlabclient.js';
3
+ // Domain classes
4
+ export { GitLabGroup } from './gitlab.classes.group.js';
5
+ export { GitLabProject } from './gitlab.classes.project.js';
6
+ export { GitLabPipeline } from './gitlab.classes.pipeline.js';
7
+ export { GitLabJob } from './gitlab.classes.job.js';
8
+ export { GitLabBranch } from './gitlab.classes.branch.js';
9
+ export { GitLabTag } from './gitlab.classes.tag.js';
10
+ export { GitLabProtectedBranch } from './gitlab.classes.protectedbranch.js';
11
+ export { GitLabVariable, GitLabPipelineVariable } from './gitlab.classes.variable.js';
12
+ export { GitLabTestReport, GitLabTestSuite, GitLabTestCase } from './gitlab.classes.testreport.js';
13
+ // Helpers
14
+ export { autoPaginate } from './gitlab.helpers.js';
15
+ // Commit info
2
16
  export { commitinfo } from './00_commitinfo_data.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFlaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDIn0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBQ2QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhFLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVuRyxVQUFVO0FBQ1YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBd0JuRCxjQUFjO0FBQ2QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apiclient.xyz/gitlab",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "private": false,
5
5
  "description": "A TypeScript client for the GitLab API, providing easy access to projects, groups, CI/CD variables, and pipelines.",
6
6
  "main": "dist_ts/index.js",