centy 0.0.20 → 0.0.22
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/bin/run.js +19 -2
- package/dist/commands/add/asset.d.ts +1 -0
- package/dist/commands/add/asset.d.ts.map +1 -1
- package/dist/commands/add/asset.js +14 -5
- package/dist/commands/add/asset.js.map +1 -1
- package/dist/commands/compact.d.ts.map +1 -1
- package/dist/commands/compact.js +9 -4
- package/dist/commands/compact.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +9 -4
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/create/doc.d.ts +1 -0
- package/dist/commands/create/doc.d.ts.map +1 -1
- package/dist/commands/create/doc.js +14 -5
- package/dist/commands/create/doc.js.map +1 -1
- package/dist/commands/create/issue.d.ts +1 -0
- package/dist/commands/create/issue.d.ts.map +1 -1
- package/dist/commands/create/issue.js +5 -2
- package/dist/commands/create/issue.js.map +1 -1
- package/dist/commands/create/pr.d.ts +1 -0
- package/dist/commands/create/pr.d.ts.map +1 -1
- package/dist/commands/create/pr.js +5 -1
- package/dist/commands/create/pr.js.map +1 -1
- package/dist/commands/delete/asset.d.ts +1 -0
- package/dist/commands/delete/asset.d.ts.map +1 -1
- package/dist/commands/delete/asset.js +14 -5
- package/dist/commands/delete/asset.js.map +1 -1
- package/dist/commands/delete/doc.d.ts +1 -0
- package/dist/commands/delete/doc.d.ts.map +1 -1
- package/dist/commands/delete/doc.js +14 -5
- package/dist/commands/delete/doc.js.map +1 -1
- package/dist/commands/delete/issue.d.ts +1 -0
- package/dist/commands/delete/issue.d.ts.map +1 -1
- package/dist/commands/delete/issue.js +14 -5
- package/dist/commands/delete/issue.js.map +1 -1
- package/dist/commands/delete/pr.d.ts +1 -0
- package/dist/commands/delete/pr.d.ts.map +1 -1
- package/dist/commands/delete/pr.js +14 -5
- package/dist/commands/delete/pr.js.map +1 -1
- package/dist/commands/get/asset.d.ts +2 -0
- package/dist/commands/get/asset.d.ts.map +1 -1
- package/dist/commands/get/asset.js +15 -5
- package/dist/commands/get/asset.js.map +1 -1
- package/dist/commands/get/doc.d.ts +3 -0
- package/dist/commands/get/doc.d.ts.map +1 -1
- package/dist/commands/get/doc.js +98 -17
- package/dist/commands/get/doc.js.map +1 -1
- package/dist/commands/get/issue.d.ts +3 -0
- package/dist/commands/get/issue.d.ts.map +1 -1
- package/dist/commands/get/issue.js +121 -27
- package/dist/commands/get/issue.js.map +1 -1
- package/dist/commands/get/pr.d.ts +3 -0
- package/dist/commands/get/pr.d.ts.map +1 -1
- package/dist/commands/get/pr.js +136 -40
- package/dist/commands/get/pr.js.map +1 -1
- package/dist/commands/get/project.d.ts +1 -0
- package/dist/commands/get/project.d.ts.map +1 -1
- package/dist/commands/get/project.js +1 -0
- package/dist/commands/get/project.js.map +1 -1
- package/dist/commands/list/assets.d.ts +1 -0
- package/dist/commands/list/assets.d.ts.map +1 -1
- package/dist/commands/list/assets.js +14 -5
- package/dist/commands/list/assets.js.map +1 -1
- package/dist/commands/list/docs.d.ts +1 -0
- package/dist/commands/list/docs.d.ts.map +1 -1
- package/dist/commands/list/docs.js +14 -5
- package/dist/commands/list/docs.js.map +1 -1
- package/dist/commands/list/issues.d.ts +1 -0
- package/dist/commands/list/issues.d.ts.map +1 -1
- package/dist/commands/list/issues.js +14 -5
- package/dist/commands/list/issues.js.map +1 -1
- package/dist/commands/list/prs.d.ts +1 -0
- package/dist/commands/list/prs.d.ts.map +1 -1
- package/dist/commands/list/prs.js +14 -5
- package/dist/commands/list/prs.js.map +1 -1
- package/dist/commands/manifest.d.ts.map +1 -1
- package/dist/commands/manifest.js +9 -4
- package/dist/commands/manifest.js.map +1 -1
- package/dist/commands/start.d.ts +2 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +56 -2
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/update/doc.d.ts +1 -0
- package/dist/commands/update/doc.d.ts.map +1 -1
- package/dist/commands/update/doc.js +14 -5
- package/dist/commands/update/doc.js.map +1 -1
- package/dist/commands/update/issue.d.ts +1 -0
- package/dist/commands/update/issue.d.ts.map +1 -1
- package/dist/commands/update/issue.js +14 -5
- package/dist/commands/update/issue.js.map +1 -1
- package/dist/commands/update/pr.d.ts +1 -0
- package/dist/commands/update/pr.d.ts.map +1 -1
- package/dist/commands/update/pr.js +14 -5
- package/dist/commands/update/pr.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +9 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +9 -4
- package/dist/commands/version.js.map +1 -1
- package/dist/daemon/daemon-get-docs-by-slug.d.ts +6 -0
- package/dist/daemon/daemon-get-docs-by-slug.d.ts.map +1 -0
- package/dist/daemon/daemon-get-docs-by-slug.js +17 -0
- package/dist/daemon/daemon-get-docs-by-slug.js.map +1 -0
- package/dist/daemon/daemon-get-issues-by-uuid.d.ts +6 -0
- package/dist/daemon/daemon-get-issues-by-uuid.d.ts.map +1 -0
- package/dist/daemon/daemon-get-issues-by-uuid.js +17 -0
- package/dist/daemon/daemon-get-issues-by-uuid.js.map +1 -0
- package/dist/daemon/daemon-get-prs-by-uuid.d.ts +6 -0
- package/dist/daemon/daemon-get-prs-by-uuid.d.ts.map +1 -0
- package/dist/daemon/daemon-get-prs-by-uuid.js +17 -0
- package/dist/daemon/daemon-get-prs-by-uuid.js.map +1 -0
- package/dist/daemon/load-proto.d.ts +4 -1
- package/dist/daemon/load-proto.d.ts.map +1 -1
- package/dist/daemon/load-proto.js.map +1 -1
- package/dist/daemon/types.d.ts +39 -0
- package/dist/daemon/types.d.ts.map +1 -1
- package/dist/flags/project-flag.d.ts +6 -0
- package/dist/flags/project-flag.d.ts.map +1 -0
- package/dist/flags/project-flag.js +9 -0
- package/dist/flags/project-flag.js.map +1 -0
- package/dist/lib/start/prompt-for-install.d.ts +13 -0
- package/dist/lib/start/prompt-for-install.d.ts.map +1 -0
- package/dist/lib/start/prompt-for-install.js +12 -0
- package/dist/lib/start/prompt-for-install.js.map +1 -0
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +17 -5
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/domain/DocDetail.d.ts.map +1 -1
- package/dist/tui/components/domain/DocDetail.js +20 -0
- package/dist/tui/components/domain/DocDetail.js.map +1 -1
- package/dist/tui/components/domain/DocList.d.ts.map +1 -1
- package/dist/tui/components/domain/DocList.js +16 -0
- package/dist/tui/components/domain/DocList.js.map +1 -1
- package/dist/tui/components/domain/IssueDetail.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueDetail.js +14 -0
- package/dist/tui/components/domain/IssueDetail.js.map +1 -1
- package/dist/tui/components/domain/IssueList.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueList.js +16 -0
- package/dist/tui/components/domain/IssueList.js.map +1 -1
- package/dist/tui/components/domain/PRDetail.d.ts.map +1 -1
- package/dist/tui/components/domain/PRDetail.js +14 -0
- package/dist/tui/components/domain/PRDetail.js.map +1 -1
- package/dist/tui/components/domain/PRList.d.ts.map +1 -1
- package/dist/tui/components/domain/PRList.js +16 -0
- package/dist/tui/components/domain/PRList.js.map +1 -1
- package/dist/tui/components/layout/StatusBar.d.ts +2 -1
- package/dist/tui/components/layout/StatusBar.d.ts.map +1 -1
- package/dist/tui/components/layout/StatusBar.js +2 -2
- package/dist/tui/components/layout/StatusBar.js.map +1 -1
- package/dist/tui/hooks/useClipboard.d.ts +6 -0
- package/dist/tui/hooks/useClipboard.d.ts.map +1 -0
- package/dist/tui/hooks/useClipboard.js +46 -0
- package/dist/tui/hooks/useClipboard.js.map +1 -0
- package/dist/tui/services/clipboard-service.d.ts +18 -0
- package/dist/tui/services/clipboard-service.d.ts.map +1 -0
- package/dist/tui/services/clipboard-service.js +37 -0
- package/dist/tui/services/clipboard-service.js.map +1 -0
- package/dist/tui/state/app-state.d.ts +4 -0
- package/dist/tui/state/app-state.d.ts.map +1 -1
- package/dist/tui/state/app-state.js +3 -0
- package/dist/tui/state/app-state.js.map +1 -1
- package/dist/utils/ask-yes-no.d.ts +10 -0
- package/dist/utils/ask-yes-no.d.ts.map +1 -0
- package/dist/utils/ask-yes-no.js +26 -0
- package/dist/utils/ask-yes-no.js.map +1 -0
- package/dist/utils/cross-project-search.d.ts +7 -0
- package/dist/utils/cross-project-search.d.ts.map +1 -0
- package/dist/utils/cross-project-search.js +7 -0
- package/dist/utils/cross-project-search.js.map +1 -0
- package/dist/utils/ensure-initialized.d.ts +10 -0
- package/dist/utils/ensure-initialized.d.ts.map +1 -0
- package/dist/utils/ensure-initialized.js +26 -0
- package/dist/utils/ensure-initialized.js.map +1 -0
- package/dist/utils/format-cross-project-hint.d.ts +9 -0
- package/dist/utils/format-cross-project-hint.d.ts.map +1 -0
- package/dist/utils/format-cross-project-hint.js +17 -0
- package/dist/utils/format-cross-project-hint.js.map +1 -0
- package/dist/utils/format-cross-project-json.d.ts +9 -0
- package/dist/utils/format-cross-project-json.d.ts.map +1 -0
- package/dist/utils/format-cross-project-json.js +16 -0
- package/dist/utils/format-cross-project-json.js.map +1 -0
- package/dist/utils/is-not-found-error.d.ts +5 -0
- package/dist/utils/is-not-found-error.d.ts.map +1 -0
- package/dist/utils/is-not-found-error.js +14 -0
- package/dist/utils/is-not-found-error.js.map +1 -0
- package/dist/utils/resolve-project-path.d.ts +17 -0
- package/dist/utils/resolve-project-path.d.ts.map +1 -0
- package/dist/utils/resolve-project-path.js +72 -0
- package/dist/utils/resolve-project-path.js.map +1 -0
- package/oclif.manifest.json +270 -71
- package/package.json +2 -1
- package/proto/centy.proto +294 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-cross-project-hint.d.ts","sourceRoot":"","sources":["../../src/utils/format-cross-project-hint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,OAAO,GAAG,IAAI,GAAG,KAAK,EAClC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,KAAK,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAC3D,MAAM,CAWR"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formats a helpful error message when an entity is found in other projects
|
|
3
|
+
* but not in the current project
|
|
4
|
+
*/
|
|
5
|
+
export function formatCrossProjectHint(entityType, id, matches) {
|
|
6
|
+
const entityLabel = entityType.charAt(0).toUpperCase() + entityType.slice(1);
|
|
7
|
+
const lines = [
|
|
8
|
+
`${entityLabel} not found in current project.`,
|
|
9
|
+
'',
|
|
10
|
+
'Found in:',
|
|
11
|
+
...matches.map(m => ` - ${m.projectName} (${m.projectPath})`),
|
|
12
|
+
'',
|
|
13
|
+
`Run: centy get ${entityType} ${id} --global`,
|
|
14
|
+
];
|
|
15
|
+
return lines.join('\n');
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=format-cross-project-hint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-cross-project-hint.js","sourceRoot":"","sources":["../../src/utils/format-cross-project-hint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAkC,EAClC,EAAU,EACV,OAA4D;IAE5D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5E,MAAM,KAAK,GAAG;QACZ,GAAG,WAAW,gCAAgC;QAC9C,EAAE;QACF,WAAW;QACX,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC;QAC9D,EAAE;QACF,kBAAkB,UAAU,IAAI,EAAE,WAAW;KAC9C,CAAA;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns structured JSON output for --json flag when entity is found in other projects
|
|
3
|
+
*/
|
|
4
|
+
export declare function formatCrossProjectJson(entityType: string, id: string, matches: Array<{
|
|
5
|
+
projectName: string;
|
|
6
|
+
projectPath: string;
|
|
7
|
+
displayNumber?: number;
|
|
8
|
+
}>): object;
|
|
9
|
+
//# sourceMappingURL=format-cross-project-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-cross-project-json.d.ts","sourceRoot":"","sources":["../../src/utils/format-cross-project-json.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAC,GACD,MAAM,CAWR"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns structured JSON output for --json flag when entity is found in other projects
|
|
3
|
+
*/
|
|
4
|
+
export function formatCrossProjectJson(entityType, id, matches) {
|
|
5
|
+
return {
|
|
6
|
+
error: 'NOT_FOUND',
|
|
7
|
+
message: `${entityType} not found in current project`,
|
|
8
|
+
foundIn: matches.map(m => ({
|
|
9
|
+
projectName: m.projectName,
|
|
10
|
+
projectPath: m.projectPath,
|
|
11
|
+
...(m.displayNumber !== undefined && { displayNumber: m.displayNumber }),
|
|
12
|
+
})),
|
|
13
|
+
suggestion: `Run: centy get ${entityType} ${id} --global`,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=format-cross-project-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-cross-project-json.js","sourceRoot":"","sources":["../../src/utils/format-cross-project-json.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,EAAU,EACV,OAIE;IAEF,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,GAAG,UAAU,+BAA+B;QACrD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,UAAU,EAAE,kBAAkB,UAAU,IAAI,EAAE,WAAW;KAC1D,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-not-found-error.d.ts","sourceRoot":"","sources":["../../src/utils/is-not-found-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWvD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guard to check if an error is a gRPC ServiceError with NOT_FOUND code
|
|
3
|
+
*/
|
|
4
|
+
export function isNotFoundError(error) {
|
|
5
|
+
if (error !== null &&
|
|
6
|
+
typeof error === 'object' &&
|
|
7
|
+
'code' in error &&
|
|
8
|
+
typeof error.code === 'number') {
|
|
9
|
+
// gRPC NOT_FOUND code is 5
|
|
10
|
+
return error.code === 5;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=is-not-found-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-not-found-error.js","sourceRoot":"","sources":["../../src/utils/is-not-found-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACf,OAAQ,KAA2B,CAAC,IAAI,KAAK,QAAQ,EACrD,CAAC;QACD,2BAA2B;QAC3B,OAAQ,KAA0B,CAAC,IAAI,KAAK,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare class ProjectNotFoundError extends Error {
|
|
2
|
+
constructor(projectName: string);
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a project argument to a filesystem path.
|
|
6
|
+
*
|
|
7
|
+
* The input can be:
|
|
8
|
+
* - undefined: uses CENTY_CWD env var or process.cwd()
|
|
9
|
+
* - A filesystem path: returned as-is (with tilde expansion)
|
|
10
|
+
* - A project name: looked up via daemon to get the path
|
|
11
|
+
*
|
|
12
|
+
* @param projectArg - The project name or path from the --project flag
|
|
13
|
+
* @returns The resolved filesystem path
|
|
14
|
+
* @throws Error if project name is not found
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveProjectPath(projectArg: string | undefined): Promise<string>;
|
|
17
|
+
//# sourceMappingURL=resolve-project-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-project-path.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-project-path.ts"],"names":[],"mappings":"AAsCA,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,WAAW,EAAE,MAAM;CAMhC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,MAAM,CAAC,CAsBjB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* eslint-disable single-export/single-export */
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { isAbsolute, join } from 'node:path';
|
|
4
|
+
import { daemonListProjects } from '../daemon/daemon-list-projects.js';
|
|
5
|
+
/**
|
|
6
|
+
* Check if a string looks like a filesystem path (rather than a project name)
|
|
7
|
+
*/
|
|
8
|
+
function isPath(input) {
|
|
9
|
+
// Contains path separators
|
|
10
|
+
if (input.includes('/') || input.includes('\\')) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
// Starts with tilde (home directory)
|
|
14
|
+
if (input.startsWith('~')) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
// Is an absolute path (Windows drive letter or Unix root)
|
|
18
|
+
if (isAbsolute(input)) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
// Starts with a dot (relative path like . or ..)
|
|
22
|
+
if (input.startsWith('.')) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Expand tilde to home directory
|
|
29
|
+
*/
|
|
30
|
+
function expandTilde(input) {
|
|
31
|
+
if (input.startsWith('~')) {
|
|
32
|
+
return join(homedir(), input.slice(1));
|
|
33
|
+
}
|
|
34
|
+
return input;
|
|
35
|
+
}
|
|
36
|
+
export class ProjectNotFoundError extends Error {
|
|
37
|
+
constructor(projectName) {
|
|
38
|
+
super(`Project "${projectName}" not found. Use 'centy list projects' to see available projects.`);
|
|
39
|
+
this.name = 'ProjectNotFoundError';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Resolve a project argument to a filesystem path.
|
|
44
|
+
*
|
|
45
|
+
* The input can be:
|
|
46
|
+
* - undefined: uses CENTY_CWD env var or process.cwd()
|
|
47
|
+
* - A filesystem path: returned as-is (with tilde expansion)
|
|
48
|
+
* - A project name: looked up via daemon to get the path
|
|
49
|
+
*
|
|
50
|
+
* @param projectArg - The project name or path from the --project flag
|
|
51
|
+
* @returns The resolved filesystem path
|
|
52
|
+
* @throws Error if project name is not found
|
|
53
|
+
*/
|
|
54
|
+
export async function resolveProjectPath(projectArg) {
|
|
55
|
+
// 1. If no arg provided, use env var or cwd
|
|
56
|
+
const input = projectArg ?? process.env['CENTY_CWD'] ?? process.cwd();
|
|
57
|
+
// 2. If it looks like a path, return it (with tilde expansion)
|
|
58
|
+
if (isPath(input)) {
|
|
59
|
+
return expandTilde(input);
|
|
60
|
+
}
|
|
61
|
+
// 3. Otherwise treat as project name - look up in daemon
|
|
62
|
+
const { projects } = await daemonListProjects({
|
|
63
|
+
includeUninitialized: true,
|
|
64
|
+
includeStale: false,
|
|
65
|
+
});
|
|
66
|
+
const match = projects.find(p => p.name.toLowerCase() === input.toLowerCase());
|
|
67
|
+
if (match === undefined) {
|
|
68
|
+
throw new ProjectNotFoundError(input);
|
|
69
|
+
}
|
|
70
|
+
return match.path;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=resolve-project-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-project-path.js","sourceRoot":"","sources":["../../src/utils/resolve-project-path.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAEtE;;GAEG;AACH,SAAS,MAAM,CAAC,KAAa;IAC3B,2BAA2B;IAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,qCAAqC;IACrC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,0DAA0D;IAC1D,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,iDAAiD;IACjD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,WAAmB;QAC7B,KAAK,CACH,YAAY,WAAW,mEAAmE,CAC3F,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAA8B;IAE9B,4CAA4C;IAC5C,MAAM,KAAK,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAErE,+DAA+D;IAC/D,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,yDAAyD;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAAC;QAC5C,oBAAoB,EAAE,IAAI;QAC1B,YAAY,EAAE,KAAK;KACpB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IAE9E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAA;AACnB,CAAC"}
|