@fractary/core 0.1.0 → 0.2.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/README.md +183 -30
- package/dist/common/config.d.ts +22 -6
- package/dist/common/config.d.ts.map +1 -1
- package/dist/common/config.js +43 -14
- package/dist/common/config.js.map +1 -1
- package/dist/common/exec-file-no-throw.d.ts +42 -0
- package/dist/common/exec-file-no-throw.d.ts.map +1 -0
- package/dist/common/exec-file-no-throw.js +54 -0
- package/dist/common/exec-file-no-throw.js.map +1 -0
- package/dist/common/types.d.ts +15 -0
- package/dist/common/types.d.ts.map +1 -1
- package/dist/common/yaml-config.d.ts +198 -0
- package/dist/common/yaml-config.d.ts.map +1 -0
- package/dist/common/yaml-config.js +300 -0
- package/dist/common/yaml-config.js.map +1 -0
- package/dist/common/yaml-config.test.d.ts +5 -0
- package/dist/common/yaml-config.test.d.ts.map +1 -0
- package/dist/common/yaml-config.test.js +551 -0
- package/dist/common/yaml-config.test.js.map +1 -0
- package/dist/repo/config.d.ts +112 -0
- package/dist/repo/config.d.ts.map +1 -0
- package/dist/repo/config.js +202 -0
- package/dist/repo/config.js.map +1 -0
- package/dist/repo/config.test.d.ts +7 -0
- package/dist/repo/config.test.d.ts.map +1 -0
- package/dist/repo/config.test.js +173 -0
- package/dist/repo/config.test.js.map +1 -0
- package/dist/repo/manager.d.ts +20 -1
- package/dist/repo/manager.d.ts.map +1 -1
- package/dist/repo/manager.js +68 -2
- package/dist/repo/manager.js.map +1 -1
- package/dist/repo/organization.d.ts +46 -0
- package/dist/repo/organization.d.ts.map +1 -0
- package/dist/repo/organization.js +119 -0
- package/dist/repo/organization.js.map +1 -0
- package/dist/repo/organization.test.d.ts +7 -0
- package/dist/repo/organization.test.d.ts.map +1 -0
- package/dist/repo/organization.test.js +241 -0
- package/dist/repo/organization.test.js.map +1 -0
- package/dist/repo/path-generator.d.ts +53 -0
- package/dist/repo/path-generator.d.ts.map +1 -0
- package/dist/repo/path-generator.js +126 -0
- package/dist/repo/path-generator.js.map +1 -0
- package/dist/repo/path-generator.test.d.ts +7 -0
- package/dist/repo/path-generator.test.d.ts.map +1 -0
- package/dist/repo/path-generator.test.js +278 -0
- package/dist/repo/path-generator.test.js.map +1 -0
- package/dist/spec/manager.js +1 -1
- package/dist/spec/manager.js.map +1 -1
- package/package.json +3 -2
package/dist/repo/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/repo/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/repo/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a git remote with parsed organization and project information
|
|
3
|
+
*/
|
|
4
|
+
export interface GitRemote {
|
|
5
|
+
name: string;
|
|
6
|
+
url: string;
|
|
7
|
+
organization?: string;
|
|
8
|
+
project?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Parse a git remote URL to extract organization and project name
|
|
12
|
+
*
|
|
13
|
+
* Supports:
|
|
14
|
+
* - SSH format: git@github.com:org/project.git
|
|
15
|
+
* - HTTPS format: https://github.com/org/project.git
|
|
16
|
+
* - GitLab subgroups: git@gitlab.com:org/subgroup/project.git
|
|
17
|
+
*
|
|
18
|
+
* @param remoteUrl - The git remote URL to parse
|
|
19
|
+
* @returns Parsed remote information or null if parsing fails
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseGitRemote(remoteUrl: string): GitRemote | null;
|
|
22
|
+
/**
|
|
23
|
+
* Extract organization name from a git remote URL
|
|
24
|
+
*
|
|
25
|
+
* @param remoteUrl - The git remote URL to parse
|
|
26
|
+
* @returns Organization name or 'local' if extraction fails
|
|
27
|
+
*/
|
|
28
|
+
export declare function extractOrganization(remoteUrl: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* Extract project name from a git remote URL
|
|
31
|
+
*
|
|
32
|
+
* @param remoteUrl - The git remote URL to parse
|
|
33
|
+
* @returns Project name or null if extraction fails
|
|
34
|
+
*/
|
|
35
|
+
export declare function extractProjectName(remoteUrl: string): string | null;
|
|
36
|
+
/**
|
|
37
|
+
* Get git remote information for a repository
|
|
38
|
+
*
|
|
39
|
+
* Fetches the URL of the 'origin' remote and parses it to extract
|
|
40
|
+
* organization and project information.
|
|
41
|
+
*
|
|
42
|
+
* @param cwd - The working directory of the git repository
|
|
43
|
+
* @returns Parsed remote information or null if remote doesn't exist or parsing fails
|
|
44
|
+
*/
|
|
45
|
+
export declare function getRemoteInfo(cwd: string): Promise<GitRemote | null>;
|
|
46
|
+
//# sourceMappingURL=organization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/repo/organization.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgElE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnE;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAc1E"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseGitRemote = parseGitRemote;
|
|
4
|
+
exports.extractOrganization = extractOrganization;
|
|
5
|
+
exports.extractProjectName = extractProjectName;
|
|
6
|
+
exports.getRemoteInfo = getRemoteInfo;
|
|
7
|
+
const exec_file_no_throw_js_1 = require("../common/exec-file-no-throw.js");
|
|
8
|
+
/**
|
|
9
|
+
* Parse a git remote URL to extract organization and project name
|
|
10
|
+
*
|
|
11
|
+
* Supports:
|
|
12
|
+
* - SSH format: git@github.com:org/project.git
|
|
13
|
+
* - HTTPS format: https://github.com/org/project.git
|
|
14
|
+
* - GitLab subgroups: git@gitlab.com:org/subgroup/project.git
|
|
15
|
+
*
|
|
16
|
+
* @param remoteUrl - The git remote URL to parse
|
|
17
|
+
* @returns Parsed remote information or null if parsing fails
|
|
18
|
+
*/
|
|
19
|
+
function parseGitRemote(remoteUrl) {
|
|
20
|
+
if (!remoteUrl || typeof remoteUrl !== 'string') {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
const trimmedUrl = remoteUrl.trim();
|
|
24
|
+
// SSH format: git@github.com:org/project.git or git@github.com:org/subgroup/project.git
|
|
25
|
+
const sshMatch = trimmedUrl.match(/^git@([^:]+):(.+?)(?:\.git)?$/);
|
|
26
|
+
if (sshMatch) {
|
|
27
|
+
const pathParts = sshMatch[2].split('/');
|
|
28
|
+
// For GitLab-style subgroups, join org and subgroups with hyphen
|
|
29
|
+
if (pathParts.length > 2) {
|
|
30
|
+
const organization = pathParts.slice(0, -1).join('-');
|
|
31
|
+
const project = pathParts[pathParts.length - 1].replace(/\.git$/, '');
|
|
32
|
+
return {
|
|
33
|
+
name: 'origin',
|
|
34
|
+
url: trimmedUrl,
|
|
35
|
+
organization,
|
|
36
|
+
project
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// Standard org/project format
|
|
40
|
+
if (pathParts.length === 2) {
|
|
41
|
+
return {
|
|
42
|
+
name: 'origin',
|
|
43
|
+
url: trimmedUrl,
|
|
44
|
+
organization: pathParts[0],
|
|
45
|
+
project: pathParts[1].replace(/\.git$/, '')
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// HTTPS format: https://github.com/org/project.git or https://github.com/org/subgroup/project.git
|
|
50
|
+
const httpsMatch = trimmedUrl.match(/^https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);
|
|
51
|
+
if (httpsMatch) {
|
|
52
|
+
const pathParts = httpsMatch[2].split('/');
|
|
53
|
+
// For GitLab-style subgroups, join org and subgroups with hyphen
|
|
54
|
+
if (pathParts.length > 2) {
|
|
55
|
+
const organization = pathParts.slice(0, -1).join('-');
|
|
56
|
+
const project = pathParts[pathParts.length - 1].replace(/\.git$/, '');
|
|
57
|
+
return {
|
|
58
|
+
name: 'origin',
|
|
59
|
+
url: trimmedUrl,
|
|
60
|
+
organization,
|
|
61
|
+
project
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// Standard org/project format
|
|
65
|
+
if (pathParts.length === 2) {
|
|
66
|
+
return {
|
|
67
|
+
name: 'origin',
|
|
68
|
+
url: trimmedUrl,
|
|
69
|
+
organization: pathParts[0],
|
|
70
|
+
project: pathParts[1].replace(/\.git$/, '')
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Extract organization name from a git remote URL
|
|
78
|
+
*
|
|
79
|
+
* @param remoteUrl - The git remote URL to parse
|
|
80
|
+
* @returns Organization name or 'local' if extraction fails
|
|
81
|
+
*/
|
|
82
|
+
function extractOrganization(remoteUrl) {
|
|
83
|
+
const parsed = parseGitRemote(remoteUrl);
|
|
84
|
+
return parsed?.organization || 'local';
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Extract project name from a git remote URL
|
|
88
|
+
*
|
|
89
|
+
* @param remoteUrl - The git remote URL to parse
|
|
90
|
+
* @returns Project name or null if extraction fails
|
|
91
|
+
*/
|
|
92
|
+
function extractProjectName(remoteUrl) {
|
|
93
|
+
const parsed = parseGitRemote(remoteUrl);
|
|
94
|
+
return parsed?.project || null;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get git remote information for a repository
|
|
98
|
+
*
|
|
99
|
+
* Fetches the URL of the 'origin' remote and parses it to extract
|
|
100
|
+
* organization and project information.
|
|
101
|
+
*
|
|
102
|
+
* @param cwd - The working directory of the git repository
|
|
103
|
+
* @returns Parsed remote information or null if remote doesn't exist or parsing fails
|
|
104
|
+
*/
|
|
105
|
+
async function getRemoteInfo(cwd) {
|
|
106
|
+
try {
|
|
107
|
+
const result = await (0, exec_file_no_throw_js_1.execFileNoThrow)('git', ['remote', 'get-url', 'origin'], { cwd });
|
|
108
|
+
if (result.exitCode !== 0) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
const url = result.stdout.trim();
|
|
112
|
+
return parseGitRemote(url);
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
// Git command failed or remote doesn't exist
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=organization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/repo/organization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.test.d.ts","sourceRoot":"","sources":["../../src/repo/organization.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fractary/sdk - Organization Extraction Tests
|
|
4
|
+
*
|
|
5
|
+
* Tests for parsing git remote URLs and extracting organization/project information.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
const vitest_1 = require("vitest");
|
|
9
|
+
const organization_js_1 = require("./organization.js");
|
|
10
|
+
(0, vitest_1.describe)('parseGitRemote', () => {
|
|
11
|
+
(0, vitest_1.describe)('GitHub SSH format', () => {
|
|
12
|
+
(0, vitest_1.it)('should parse standard SSH URL', () => {
|
|
13
|
+
const result = (0, organization_js_1.parseGitRemote)('git@github.com:fractary/core.git');
|
|
14
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
15
|
+
name: 'origin',
|
|
16
|
+
url: 'git@github.com:fractary/core.git',
|
|
17
|
+
organization: 'fractary',
|
|
18
|
+
project: 'core',
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)('should parse SSH URL without .git extension', () => {
|
|
22
|
+
const result = (0, organization_js_1.parseGitRemote)('git@github.com:fractary/core');
|
|
23
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
24
|
+
name: 'origin',
|
|
25
|
+
url: 'git@github.com:fractary/core',
|
|
26
|
+
organization: 'fractary',
|
|
27
|
+
project: 'core',
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
(0, vitest_1.it)('should handle organization with hyphens', () => {
|
|
31
|
+
const result = (0, organization_js_1.parseGitRemote)('git@github.com:my-company/my-project.git');
|
|
32
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
33
|
+
name: 'origin',
|
|
34
|
+
url: 'git@github.com:my-company/my-project.git',
|
|
35
|
+
organization: 'my-company',
|
|
36
|
+
project: 'my-project',
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
(0, vitest_1.it)('should handle project with underscores', () => {
|
|
40
|
+
const result = (0, organization_js_1.parseGitRemote)('git@github.com:org/my_project.git');
|
|
41
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
42
|
+
name: 'origin',
|
|
43
|
+
url: 'git@github.com:org/my_project.git',
|
|
44
|
+
organization: 'org',
|
|
45
|
+
project: 'my_project',
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
(0, vitest_1.describe)('GitHub HTTPS format', () => {
|
|
50
|
+
(0, vitest_1.it)('should parse standard HTTPS URL', () => {
|
|
51
|
+
const result = (0, organization_js_1.parseGitRemote)('https://github.com/fractary/core.git');
|
|
52
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
53
|
+
name: 'origin',
|
|
54
|
+
url: 'https://github.com/fractary/core.git',
|
|
55
|
+
organization: 'fractary',
|
|
56
|
+
project: 'core',
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
(0, vitest_1.it)('should parse HTTPS URL without .git extension', () => {
|
|
60
|
+
const result = (0, organization_js_1.parseGitRemote)('https://github.com/fractary/core');
|
|
61
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
62
|
+
name: 'origin',
|
|
63
|
+
url: 'https://github.com/fractary/core',
|
|
64
|
+
organization: 'fractary',
|
|
65
|
+
project: 'core',
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
(0, vitest_1.it)('should parse HTTP URL (not HTTPS)', () => {
|
|
69
|
+
const result = (0, organization_js_1.parseGitRemote)('http://github.com/fractary/core.git');
|
|
70
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
71
|
+
name: 'origin',
|
|
72
|
+
url: 'http://github.com/fractary/core.git',
|
|
73
|
+
organization: 'fractary',
|
|
74
|
+
project: 'core',
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
(0, vitest_1.describe)('GitLab formats', () => {
|
|
79
|
+
(0, vitest_1.it)('should parse GitLab SSH URL', () => {
|
|
80
|
+
const result = (0, organization_js_1.parseGitRemote)('git@gitlab.com:myorg/myproject.git');
|
|
81
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
82
|
+
name: 'origin',
|
|
83
|
+
url: 'git@gitlab.com:myorg/myproject.git',
|
|
84
|
+
organization: 'myorg',
|
|
85
|
+
project: 'myproject',
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
(0, vitest_1.it)('should parse GitLab HTTPS URL', () => {
|
|
89
|
+
const result = (0, organization_js_1.parseGitRemote)('https://gitlab.com/myorg/myproject.git');
|
|
90
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
91
|
+
name: 'origin',
|
|
92
|
+
url: 'https://gitlab.com/myorg/myproject.git',
|
|
93
|
+
organization: 'myorg',
|
|
94
|
+
project: 'myproject',
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
(0, vitest_1.it)('should handle GitLab subgroups with SSH', () => {
|
|
98
|
+
const result = (0, organization_js_1.parseGitRemote)('git@gitlab.com:org/subgroup/project.git');
|
|
99
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
100
|
+
name: 'origin',
|
|
101
|
+
url: 'git@gitlab.com:org/subgroup/project.git',
|
|
102
|
+
organization: 'org-subgroup',
|
|
103
|
+
project: 'project',
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
(0, vitest_1.it)('should handle GitLab subgroups with HTTPS', () => {
|
|
107
|
+
const result = (0, organization_js_1.parseGitRemote)('https://gitlab.com/org/subgroup/project.git');
|
|
108
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
109
|
+
name: 'origin',
|
|
110
|
+
url: 'https://gitlab.com/org/subgroup/project.git',
|
|
111
|
+
organization: 'org-subgroup',
|
|
112
|
+
project: 'project',
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
(0, vitest_1.it)('should handle deeply nested GitLab subgroups', () => {
|
|
116
|
+
const result = (0, organization_js_1.parseGitRemote)('git@gitlab.com:org/team/subteam/project.git');
|
|
117
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
118
|
+
name: 'origin',
|
|
119
|
+
url: 'git@gitlab.com:org/team/subteam/project.git',
|
|
120
|
+
organization: 'org-team-subteam',
|
|
121
|
+
project: 'project',
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
(0, vitest_1.describe)('Bitbucket formats', () => {
|
|
126
|
+
(0, vitest_1.it)('should parse Bitbucket SSH URL', () => {
|
|
127
|
+
const result = (0, organization_js_1.parseGitRemote)('git@bitbucket.org:workspace/repo.git');
|
|
128
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
129
|
+
name: 'origin',
|
|
130
|
+
url: 'git@bitbucket.org:workspace/repo.git',
|
|
131
|
+
organization: 'workspace',
|
|
132
|
+
project: 'repo',
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
(0, vitest_1.it)('should parse Bitbucket HTTPS URL', () => {
|
|
136
|
+
const result = (0, organization_js_1.parseGitRemote)('https://bitbucket.org/workspace/repo.git');
|
|
137
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
138
|
+
name: 'origin',
|
|
139
|
+
url: 'https://bitbucket.org/workspace/repo.git',
|
|
140
|
+
organization: 'workspace',
|
|
141
|
+
project: 'repo',
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
(0, vitest_1.describe)('Self-hosted git servers', () => {
|
|
146
|
+
(0, vitest_1.it)('should parse self-hosted SSH URL', () => {
|
|
147
|
+
const result = (0, organization_js_1.parseGitRemote)('git@git.company.com:engineering/backend.git');
|
|
148
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
149
|
+
name: 'origin',
|
|
150
|
+
url: 'git@git.company.com:engineering/backend.git',
|
|
151
|
+
organization: 'engineering',
|
|
152
|
+
project: 'backend',
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
(0, vitest_1.it)('should parse self-hosted HTTPS URL', () => {
|
|
156
|
+
const result = (0, organization_js_1.parseGitRemote)('https://git.company.com/engineering/backend.git');
|
|
157
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
158
|
+
name: 'origin',
|
|
159
|
+
url: 'https://git.company.com/engineering/backend.git',
|
|
160
|
+
organization: 'engineering',
|
|
161
|
+
project: 'backend',
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
(0, vitest_1.it)('should handle self-hosted with port number', () => {
|
|
165
|
+
const result = (0, organization_js_1.parseGitRemote)('https://git.company.com:8080/org/project.git');
|
|
166
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
167
|
+
name: 'origin',
|
|
168
|
+
url: 'https://git.company.com:8080/org/project.git',
|
|
169
|
+
organization: 'org',
|
|
170
|
+
project: 'project',
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
(0, vitest_1.describe)('Edge cases and invalid formats', () => {
|
|
175
|
+
(0, vitest_1.it)('should return null for invalid SSH format', () => {
|
|
176
|
+
const result = (0, organization_js_1.parseGitRemote)('git@invalid');
|
|
177
|
+
(0, vitest_1.expect)(result).toBeNull();
|
|
178
|
+
});
|
|
179
|
+
(0, vitest_1.it)('should return null for invalid HTTPS format', () => {
|
|
180
|
+
const result = (0, organization_js_1.parseGitRemote)('https://invalid');
|
|
181
|
+
(0, vitest_1.expect)(result).toBeNull();
|
|
182
|
+
});
|
|
183
|
+
(0, vitest_1.it)('should return null for empty string', () => {
|
|
184
|
+
const result = (0, organization_js_1.parseGitRemote)('');
|
|
185
|
+
(0, vitest_1.expect)(result).toBeNull();
|
|
186
|
+
});
|
|
187
|
+
(0, vitest_1.it)('should return null for local path', () => {
|
|
188
|
+
const result = (0, organization_js_1.parseGitRemote)('/path/to/local/repo');
|
|
189
|
+
(0, vitest_1.expect)(result).toBeNull();
|
|
190
|
+
});
|
|
191
|
+
(0, vitest_1.it)('should return null for file:// URL', () => {
|
|
192
|
+
const result = (0, organization_js_1.parseGitRemote)('file:///path/to/repo.git');
|
|
193
|
+
(0, vitest_1.expect)(result).toBeNull();
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
(0, vitest_1.describe)('.git extension handling', () => {
|
|
197
|
+
(0, vitest_1.it)('should strip .git from project name', () => {
|
|
198
|
+
const result = (0, organization_js_1.parseGitRemote)('git@github.com:org/project.git');
|
|
199
|
+
(0, vitest_1.expect)(result?.project).toBe('project');
|
|
200
|
+
});
|
|
201
|
+
(0, vitest_1.it)('should handle projects that naturally end in .git', () => {
|
|
202
|
+
const result = (0, organization_js_1.parseGitRemote)('git@github.com:org/my.git.project.git');
|
|
203
|
+
(0, vitest_1.expect)(result?.project).toBe('my.git.project');
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
(0, vitest_1.describe)('extractOrganization', () => {
|
|
208
|
+
(0, vitest_1.it)('should extract organization from SSH URL', () => {
|
|
209
|
+
(0, vitest_1.expect)((0, organization_js_1.extractOrganization)('git@github.com:fractary/core.git')).toBe('fractary');
|
|
210
|
+
});
|
|
211
|
+
(0, vitest_1.it)('should extract organization from HTTPS URL', () => {
|
|
212
|
+
(0, vitest_1.expect)((0, organization_js_1.extractOrganization)('https://github.com/fractary/core.git')).toBe('fractary');
|
|
213
|
+
});
|
|
214
|
+
(0, vitest_1.it)('should return "local" for invalid URL', () => {
|
|
215
|
+
(0, vitest_1.expect)((0, organization_js_1.extractOrganization)('invalid-url')).toBe('local');
|
|
216
|
+
});
|
|
217
|
+
(0, vitest_1.it)('should return "local" for empty string', () => {
|
|
218
|
+
(0, vitest_1.expect)((0, organization_js_1.extractOrganization)('')).toBe('local');
|
|
219
|
+
});
|
|
220
|
+
(0, vitest_1.it)('should handle GitLab subgroups', () => {
|
|
221
|
+
(0, vitest_1.expect)((0, organization_js_1.extractOrganization)('git@gitlab.com:org/subgroup/project.git')).toBe('org-subgroup');
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
(0, vitest_1.describe)('extractProjectName', () => {
|
|
225
|
+
(0, vitest_1.it)('should extract project from SSH URL', () => {
|
|
226
|
+
(0, vitest_1.expect)((0, organization_js_1.extractProjectName)('git@github.com:fractary/core.git')).toBe('core');
|
|
227
|
+
});
|
|
228
|
+
(0, vitest_1.it)('should extract project from HTTPS URL', () => {
|
|
229
|
+
(0, vitest_1.expect)((0, organization_js_1.extractProjectName)('https://github.com/fractary/core.git')).toBe('core');
|
|
230
|
+
});
|
|
231
|
+
(0, vitest_1.it)('should return empty string for invalid URL', () => {
|
|
232
|
+
(0, vitest_1.expect)((0, organization_js_1.extractProjectName)('invalid-url')).toBe('');
|
|
233
|
+
});
|
|
234
|
+
(0, vitest_1.it)('should return empty string for empty string', () => {
|
|
235
|
+
(0, vitest_1.expect)((0, organization_js_1.extractProjectName)('')).toBe('');
|
|
236
|
+
});
|
|
237
|
+
(0, vitest_1.it)('should strip .git extension', () => {
|
|
238
|
+
(0, vitest_1.expect)((0, organization_js_1.extractProjectName)('git@github.com:org/project.git')).toBe('project');
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
//# sourceMappingURL=organization.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.test.js","sourceRoot":"","sources":["../../src/repo/organization.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { WorktreeConfig } from './config.js';
|
|
2
|
+
/**
|
|
3
|
+
* Options for generating a worktree path
|
|
4
|
+
*/
|
|
5
|
+
export interface PathGenerationOptions {
|
|
6
|
+
/** Work item ID (e.g., issue number) */
|
|
7
|
+
workId: string;
|
|
8
|
+
/** Organization name (auto-detected if not provided) */
|
|
9
|
+
organization?: string;
|
|
10
|
+
/** Project name (auto-detected if not provided) */
|
|
11
|
+
project?: string;
|
|
12
|
+
/** Custom path to use instead of generated path */
|
|
13
|
+
customPath?: string;
|
|
14
|
+
/** Worktree configuration (loaded if not provided) */
|
|
15
|
+
config?: WorktreeConfig;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generate a worktree path following SPEC-00030 pattern
|
|
19
|
+
*
|
|
20
|
+
* Path generation logic:
|
|
21
|
+
* 1. If customPath is provided, use it directly
|
|
22
|
+
* 2. Load configuration (or use provided config)
|
|
23
|
+
* 3. Extract organization and project from git remote (if not provided)
|
|
24
|
+
* 4. Generate path using SPEC-00030 pattern: `{defaultLocation}/{org}-{project}-{workId}`
|
|
25
|
+
* 5. Return resolved absolute path
|
|
26
|
+
*
|
|
27
|
+
* @param cwd Current working directory (git repository root)
|
|
28
|
+
* @param options Path generation options
|
|
29
|
+
* @returns Absolute path to worktree directory
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* // Auto-detect organization and project
|
|
34
|
+
* const path = await generateWorktreePath('/path/to/repo', { workId: '258' });
|
|
35
|
+
* // Returns: /home/user/.claude-worktrees/fractary-core-258
|
|
36
|
+
*
|
|
37
|
+
* // Custom path
|
|
38
|
+
* const path = await generateWorktreePath('/path/to/repo', {
|
|
39
|
+
* workId: '258',
|
|
40
|
+
* customPath: '/custom/path'
|
|
41
|
+
* });
|
|
42
|
+
* // Returns: /custom/path
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function generateWorktreePath(cwd: string, options: PathGenerationOptions): Promise<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Find all existing worktrees for a repository
|
|
48
|
+
*
|
|
49
|
+
* @param cwd Current working directory (git repository root)
|
|
50
|
+
* @returns Array of worktree paths
|
|
51
|
+
*/
|
|
52
|
+
export declare function listWorktrees(cwd: string): Promise<string[]>;
|
|
53
|
+
//# sourceMappingURL=path-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-generator.d.ts","sourceRoot":"","sources":["../../src/repo/path-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiD,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5F;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAGD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBlE"}
|