@adriangalilea/utils 0.0.10
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 +99 -0
- package/dist/browser.d.ts +14 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +18 -0
- package/dist/browser.js.map +1 -0
- package/dist/currency/crypto-symbols-data.d.ts +10 -0
- package/dist/currency/crypto-symbols-data.d.ts.map +1 -0
- package/dist/currency/crypto-symbols-data.js +13765 -0
- package/dist/currency/crypto-symbols-data.js.map +1 -0
- package/dist/currency/crypto-symbols.d.ts +20 -0
- package/dist/currency/crypto-symbols.d.ts.map +1 -0
- package/dist/currency/crypto-symbols.js +23 -0
- package/dist/currency/crypto-symbols.js.map +1 -0
- package/dist/currency/download-crypto-list.d.ts +10 -0
- package/dist/currency/download-crypto-list.d.ts.map +1 -0
- package/dist/currency/download-crypto-list.js +69 -0
- package/dist/currency/download-crypto-list.js.map +1 -0
- package/dist/currency/index.d.ts +84 -0
- package/dist/currency/index.d.ts.map +1 -0
- package/dist/currency/index.js +230 -0
- package/dist/currency/index.js.map +1 -0
- package/dist/dir.d.ts +40 -0
- package/dist/dir.d.ts.map +1 -0
- package/dist/dir.js +108 -0
- package/dist/dir.js.map +1 -0
- package/dist/file.d.ts +53 -0
- package/dist/file.d.ts.map +1 -0
- package/dist/file.js +211 -0
- package/dist/file.js.map +1 -0
- package/dist/format.d.ts +40 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +83 -0
- package/dist/format.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/kev.d.ts +149 -0
- package/dist/kev.d.ts.map +1 -0
- package/dist/kev.js +761 -0
- package/dist/kev.js.map +1 -0
- package/dist/log.d.ts +91 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +300 -0
- package/dist/log.js.map +1 -0
- package/dist/logger.d.ts +91 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +269 -0
- package/dist/logger.js.map +1 -0
- package/dist/offensive.d.ts +73 -0
- package/dist/offensive.d.ts.map +1 -0
- package/dist/offensive.js +103 -0
- package/dist/offensive.js.map +1 -0
- package/dist/path.d.ts +67 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +107 -0
- package/dist/path.js.map +1 -0
- package/dist/platform/dir.d.ts +40 -0
- package/dist/platform/dir.d.ts.map +1 -0
- package/dist/platform/dir.js +108 -0
- package/dist/platform/dir.js.map +1 -0
- package/dist/platform/file.d.ts +53 -0
- package/dist/platform/file.d.ts.map +1 -0
- package/dist/platform/file.js +211 -0
- package/dist/platform/file.js.map +1 -0
- package/dist/platform/kev.d.ts +149 -0
- package/dist/platform/kev.d.ts.map +1 -0
- package/dist/platform/kev.js +762 -0
- package/dist/platform/kev.js.map +1 -0
- package/dist/platform/path.d.ts +67 -0
- package/dist/platform/path.d.ts.map +1 -0
- package/dist/platform/path.js +108 -0
- package/dist/platform/path.js.map +1 -0
- package/dist/platform/project.d.ts +35 -0
- package/dist/platform/project.d.ts.map +1 -0
- package/dist/platform/project.js +155 -0
- package/dist/platform/project.js.map +1 -0
- package/dist/project.d.ts +35 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +154 -0
- package/dist/project.js.map +1 -0
- package/dist/runtime.d.ts +65 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +193 -0
- package/dist/runtime.js.map +1 -0
- package/dist/universal/currency/crypto-symbols-data.d.ts +10 -0
- package/dist/universal/currency/crypto-symbols-data.d.ts.map +1 -0
- package/dist/universal/currency/crypto-symbols-data.js +13765 -0
- package/dist/universal/currency/crypto-symbols-data.js.map +1 -0
- package/dist/universal/currency/crypto-symbols.d.ts +20 -0
- package/dist/universal/currency/crypto-symbols.d.ts.map +1 -0
- package/dist/universal/currency/crypto-symbols.js +23 -0
- package/dist/universal/currency/crypto-symbols.js.map +1 -0
- package/dist/universal/currency/download-crypto-list.d.ts +10 -0
- package/dist/universal/currency/download-crypto-list.d.ts.map +1 -0
- package/dist/universal/currency/download-crypto-list.js +69 -0
- package/dist/universal/currency/download-crypto-list.js.map +1 -0
- package/dist/universal/currency/index.d.ts +90 -0
- package/dist/universal/currency/index.d.ts.map +1 -0
- package/dist/universal/currency/index.js +276 -0
- package/dist/universal/currency/index.js.map +1 -0
- package/dist/universal/format.d.ts +40 -0
- package/dist/universal/format.d.ts.map +1 -0
- package/dist/universal/format.js +83 -0
- package/dist/universal/format.js.map +1 -0
- package/dist/universal/log.d.ts +91 -0
- package/dist/universal/log.d.ts.map +1 -0
- package/dist/universal/log.js +309 -0
- package/dist/universal/log.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kev.js","sourceRoot":"","sources":["../../src/platform/kev.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path utilities for consistent path handling across the library
|
|
3
|
+
*/
|
|
4
|
+
declare class PathOps {
|
|
5
|
+
/**
|
|
6
|
+
* Resolve a path relative to the calling module
|
|
7
|
+
* Pass import.meta.url as the second parameter to resolve relative to your module
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // In some module, resolve a file relative to that module:
|
|
11
|
+
* const configPath = path.resolve('./config.json', import.meta.url)
|
|
12
|
+
*/
|
|
13
|
+
resolve(targetPath: string, baseUrl?: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Join path segments
|
|
16
|
+
*/
|
|
17
|
+
join(...segments: string[]): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get the directory name of a path
|
|
20
|
+
*/
|
|
21
|
+
dirname(p: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get the base name of a path
|
|
24
|
+
*/
|
|
25
|
+
basename(p: string, ext?: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get the extension of a path
|
|
28
|
+
*/
|
|
29
|
+
extname(p: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Parse a path into its components
|
|
32
|
+
*/
|
|
33
|
+
parse(p: string): {
|
|
34
|
+
root: string;
|
|
35
|
+
dir: string;
|
|
36
|
+
base: string;
|
|
37
|
+
ext: string;
|
|
38
|
+
name: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Check if a path is absolute
|
|
42
|
+
*/
|
|
43
|
+
isAbsolute(p: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Get the relative path from one path to another
|
|
46
|
+
*/
|
|
47
|
+
relative(from: string, to: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* Convert a file:// URL to a path
|
|
50
|
+
*/
|
|
51
|
+
fromFileUrl(url: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Get the directory from a file:// URL
|
|
54
|
+
*/
|
|
55
|
+
dirnameFromUrl(url: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Resolve to absolute path
|
|
58
|
+
*/
|
|
59
|
+
absolute(...segments: string[]): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get current working directory
|
|
62
|
+
*/
|
|
63
|
+
cwd(): string;
|
|
64
|
+
}
|
|
65
|
+
export declare const path: PathOps;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/platform/path.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,cAAM,OAAO;IACX;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAwBrD;;OAEG;IACH,IAAI,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM;IAInC;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1B;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzC;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1B;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;KACb;IAID;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAI1C;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOhC;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAInC;;OAEG;IACH,QAAQ,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM;IAIvC;;OAEG;IACH,GAAG,IAAI,MAAM;CAGd;AAED,eAAO,MAAM,IAAI,SAAgB,CAAA"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { fileURLToPath } from 'url';
|
|
2
|
+
import { dirname, join, resolve, isAbsolute, relative, basename, extname, parse } from 'path';
|
|
3
|
+
import { runtime } from '../runtime.js';
|
|
4
|
+
/**
|
|
5
|
+
* Path utilities for consistent path handling across the library
|
|
6
|
+
*/
|
|
7
|
+
class PathOps {
|
|
8
|
+
/**
|
|
9
|
+
* Resolve a path relative to the calling module
|
|
10
|
+
* Pass import.meta.url as the second parameter to resolve relative to your module
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // In some module, resolve a file relative to that module:
|
|
14
|
+
* const configPath = path.resolve('./config.json', import.meta.url)
|
|
15
|
+
*/
|
|
16
|
+
resolve(targetPath, baseUrl) {
|
|
17
|
+
// If absolute path, return as-is
|
|
18
|
+
if (isAbsolute(targetPath)) {
|
|
19
|
+
return targetPath;
|
|
20
|
+
}
|
|
21
|
+
// If we have a base URL (import.meta.url), resolve relative to it
|
|
22
|
+
if (baseUrl) {
|
|
23
|
+
if (baseUrl.startsWith('file://')) {
|
|
24
|
+
const basePath = fileURLToPath(baseUrl);
|
|
25
|
+
const baseDir = dirname(basePath);
|
|
26
|
+
return join(baseDir, targetPath);
|
|
27
|
+
}
|
|
28
|
+
// If baseUrl is a regular path, use it as base directory
|
|
29
|
+
if (isAbsolute(baseUrl)) {
|
|
30
|
+
const baseDir = dirname(baseUrl);
|
|
31
|
+
return join(baseDir, targetPath);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Default to resolving from current working directory
|
|
35
|
+
return resolve(runtime.cwd(), targetPath);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Join path segments
|
|
39
|
+
*/
|
|
40
|
+
join(...segments) {
|
|
41
|
+
return join(...segments);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get the directory name of a path
|
|
45
|
+
*/
|
|
46
|
+
dirname(p) {
|
|
47
|
+
return dirname(p);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the base name of a path
|
|
51
|
+
*/
|
|
52
|
+
basename(p, ext) {
|
|
53
|
+
return basename(p, ext);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get the extension of a path
|
|
57
|
+
*/
|
|
58
|
+
extname(p) {
|
|
59
|
+
return extname(p);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Parse a path into its components
|
|
63
|
+
*/
|
|
64
|
+
parse(p) {
|
|
65
|
+
return parse(p);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if a path is absolute
|
|
69
|
+
*/
|
|
70
|
+
isAbsolute(p) {
|
|
71
|
+
return isAbsolute(p);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get the relative path from one path to another
|
|
75
|
+
*/
|
|
76
|
+
relative(from, to) {
|
|
77
|
+
return relative(from, to);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Convert a file:// URL to a path
|
|
81
|
+
*/
|
|
82
|
+
fromFileUrl(url) {
|
|
83
|
+
if (url.startsWith('file://')) {
|
|
84
|
+
return fileURLToPath(url);
|
|
85
|
+
}
|
|
86
|
+
return url;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get the directory from a file:// URL
|
|
90
|
+
*/
|
|
91
|
+
dirnameFromUrl(url) {
|
|
92
|
+
return dirname(this.fromFileUrl(url));
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Resolve to absolute path
|
|
96
|
+
*/
|
|
97
|
+
absolute(...segments) {
|
|
98
|
+
return resolve(...segments);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get current working directory
|
|
102
|
+
*/
|
|
103
|
+
cwd() {
|
|
104
|
+
return runtime.cwd();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export const path = new PathOps();
|
|
108
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/platform/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC;;GAEG;AACH,MAAM,OAAO;IACX;;;;;;;OAOG;IACH,OAAO,CAAC,UAAkB,EAAE,OAAgB;QAC1C,iCAAiC;QACjC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAA;QACnB,CAAC;QAED,kEAAkE;QAClE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;gBACvC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACjC,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAClC,CAAC;YACD,yDAAyD;YACzD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;gBAChC,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,GAAG,QAAkB;QACxB,OAAO,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,CAAS;QACf,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,CAAS,EAAE,GAAY;QAC9B,OAAO,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,CAAS;QACf,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAS;QAOb,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,CAAS;QAClB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAY,EAAE,EAAU;QAC/B,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW;QACrB,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAW;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAG,QAAkB;QAC5B,OAAO,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAA;IACtB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find project root by walking up from current directory looking for project markers.
|
|
3
|
+
* Checks for: package.json, tsconfig.json, .git, deno.json
|
|
4
|
+
*/
|
|
5
|
+
export declare function findProjectRoot(): string;
|
|
6
|
+
/**
|
|
7
|
+
* Find project root from a specific directory
|
|
8
|
+
*/
|
|
9
|
+
export declare function findProjectRootFrom(startDir: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Find monorepo root by walking up looking for turborepo markers.
|
|
12
|
+
* Checks for: turbo.json, pnpm-workspace.yaml, lerna.json
|
|
13
|
+
*/
|
|
14
|
+
export declare function findMonorepoRoot(): string;
|
|
15
|
+
/**
|
|
16
|
+
* Find monorepo root from a specific directory
|
|
17
|
+
*/
|
|
18
|
+
export declare function findMonorepoRootFrom(startDir: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Get the nearest package.json data
|
|
21
|
+
*/
|
|
22
|
+
export declare function getPackageJson(): any | null;
|
|
23
|
+
/**
|
|
24
|
+
* Check if current project is a TypeScript project
|
|
25
|
+
*/
|
|
26
|
+
export declare function isTypeScriptProject(): boolean;
|
|
27
|
+
export declare const project: {
|
|
28
|
+
findProjectRoot: typeof findProjectRoot;
|
|
29
|
+
findProjectRootFrom: typeof findProjectRootFrom;
|
|
30
|
+
findMonorepoRoot: typeof findMonorepoRoot;
|
|
31
|
+
findMonorepoRootFrom: typeof findMonorepoRootFrom;
|
|
32
|
+
getPackageJson: typeof getPackageJson;
|
|
33
|
+
isTypeScriptProject: typeof isTypeScriptProject;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/platform/project.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiC5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+C7D;AAkBD;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,GAAG,IAAI,CAY3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAe7C;AAED,eAAO,MAAM,OAAO;;;;;;;CAOnB,CAAA"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { runtime } from '../runtime.js';
|
|
2
|
+
import { file } from './file.js';
|
|
3
|
+
import { dir } from './dir.js';
|
|
4
|
+
import { path } from './path.js';
|
|
5
|
+
/**
|
|
6
|
+
* Find project root by walking up from current directory looking for project markers.
|
|
7
|
+
* Checks for: package.json, tsconfig.json, .git, deno.json
|
|
8
|
+
*/
|
|
9
|
+
export function findProjectRoot() {
|
|
10
|
+
const cwd = runtime.cwd();
|
|
11
|
+
return findProjectRootFrom(cwd);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Find project root from a specific directory
|
|
15
|
+
*/
|
|
16
|
+
export function findProjectRootFrom(startDir) {
|
|
17
|
+
let currentDir = startDir;
|
|
18
|
+
while (true) {
|
|
19
|
+
// Check for TypeScript/JavaScript project markers
|
|
20
|
+
if (file.exists(path.join(currentDir, 'package.json'))) {
|
|
21
|
+
return currentDir;
|
|
22
|
+
}
|
|
23
|
+
if (file.exists(path.join(currentDir, 'tsconfig.json'))) {
|
|
24
|
+
return currentDir;
|
|
25
|
+
}
|
|
26
|
+
if (dir.exists(path.join(currentDir, '.git'))) {
|
|
27
|
+
return currentDir;
|
|
28
|
+
}
|
|
29
|
+
if (file.exists(path.join(currentDir, 'deno.json'))) {
|
|
30
|
+
return currentDir;
|
|
31
|
+
}
|
|
32
|
+
if (file.exists(path.join(currentDir, 'deno.jsonc'))) {
|
|
33
|
+
return currentDir;
|
|
34
|
+
}
|
|
35
|
+
// Move up one directory
|
|
36
|
+
const parent = path.dirname(currentDir);
|
|
37
|
+
// Stop at filesystem root
|
|
38
|
+
if (parent === currentDir) {
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
currentDir = parent;
|
|
42
|
+
}
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Find monorepo root by walking up looking for turborepo markers.
|
|
47
|
+
* Checks for: turbo.json, pnpm-workspace.yaml, lerna.json
|
|
48
|
+
*/
|
|
49
|
+
export function findMonorepoRoot() {
|
|
50
|
+
const cwd = runtime.cwd();
|
|
51
|
+
return findMonorepoRootFrom(cwd);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Find monorepo root from a specific directory
|
|
55
|
+
*/
|
|
56
|
+
export function findMonorepoRootFrom(startDir) {
|
|
57
|
+
let currentDir = startDir;
|
|
58
|
+
while (true) {
|
|
59
|
+
// Check for turbo.json (turborepo)
|
|
60
|
+
const turboPath = path.join(currentDir, 'turbo.json');
|
|
61
|
+
if (file.exists(turboPath)) {
|
|
62
|
+
if (isTurboRepo(turboPath)) {
|
|
63
|
+
return currentDir;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Check for pnpm workspace
|
|
67
|
+
if (file.exists(path.join(currentDir, 'pnpm-workspace.yaml'))) {
|
|
68
|
+
return currentDir;
|
|
69
|
+
}
|
|
70
|
+
// Check for lerna
|
|
71
|
+
if (file.exists(path.join(currentDir, 'lerna.json'))) {
|
|
72
|
+
return currentDir;
|
|
73
|
+
}
|
|
74
|
+
// Check for npm/yarn workspaces (package.json with workspaces field)
|
|
75
|
+
const pkgPath = path.join(currentDir, 'package.json');
|
|
76
|
+
if (file.exists(pkgPath)) {
|
|
77
|
+
try {
|
|
78
|
+
const pkg = JSON.parse(file.readText(pkgPath));
|
|
79
|
+
if (pkg.workspaces) {
|
|
80
|
+
return currentDir;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// Not a valid package.json, continue
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Move up one directory
|
|
88
|
+
const parent = path.dirname(currentDir);
|
|
89
|
+
// Stop at filesystem root
|
|
90
|
+
if (parent === currentDir) {
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
currentDir = parent;
|
|
94
|
+
}
|
|
95
|
+
return '';
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check if a turbo.json file is a valid turborepo config
|
|
99
|
+
*/
|
|
100
|
+
function isTurboRepo(turboJsonPath) {
|
|
101
|
+
try {
|
|
102
|
+
const content = file.readText(turboJsonPath);
|
|
103
|
+
const config = JSON.parse(content);
|
|
104
|
+
// Check for turborepo-specific fields
|
|
105
|
+
// A valid turbo.json should have "pipeline" or "tasks" field
|
|
106
|
+
return 'pipeline' in config || 'tasks' in config;
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get the nearest package.json data
|
|
114
|
+
*/
|
|
115
|
+
export function getPackageJson() {
|
|
116
|
+
const root = findProjectRoot();
|
|
117
|
+
if (!root)
|
|
118
|
+
return null;
|
|
119
|
+
const pkgPath = path.join(root, 'package.json');
|
|
120
|
+
if (!file.exists(pkgPath))
|
|
121
|
+
return null;
|
|
122
|
+
try {
|
|
123
|
+
return JSON.parse(file.readText(pkgPath));
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Check if current project is a TypeScript project
|
|
131
|
+
*/
|
|
132
|
+
export function isTypeScriptProject() {
|
|
133
|
+
const root = findProjectRoot();
|
|
134
|
+
if (!root)
|
|
135
|
+
return false;
|
|
136
|
+
// Check for tsconfig.json
|
|
137
|
+
if (file.exists(path.join(root, 'tsconfig.json')))
|
|
138
|
+
return true;
|
|
139
|
+
// Check for TypeScript in dependencies
|
|
140
|
+
const pkg = getPackageJson();
|
|
141
|
+
if (pkg) {
|
|
142
|
+
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
143
|
+
return 'typescript' in deps;
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
export const project = {
|
|
148
|
+
findProjectRoot,
|
|
149
|
+
findProjectRootFrom,
|
|
150
|
+
findMonorepoRoot,
|
|
151
|
+
findMonorepoRootFrom,
|
|
152
|
+
getPackageJson,
|
|
153
|
+
isTypeScriptProject,
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/platform/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find project root by walking up from current directory looking for project markers.
|
|
3
|
+
* Checks for: package.json, tsconfig.json, .git, deno.json
|
|
4
|
+
*/
|
|
5
|
+
export declare function findProjectRoot(): string;
|
|
6
|
+
/**
|
|
7
|
+
* Find project root from a specific directory
|
|
8
|
+
*/
|
|
9
|
+
export declare function findProjectRootFrom(startDir: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Find monorepo root by walking up looking for turborepo markers.
|
|
12
|
+
* Checks for: turbo.json, pnpm-workspace.yaml, lerna.json
|
|
13
|
+
*/
|
|
14
|
+
export declare function findMonorepoRoot(): string;
|
|
15
|
+
/**
|
|
16
|
+
* Find monorepo root from a specific directory
|
|
17
|
+
*/
|
|
18
|
+
export declare function findMonorepoRootFrom(startDir: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Get the nearest package.json data
|
|
21
|
+
*/
|
|
22
|
+
export declare function getPackageJson(): any | null;
|
|
23
|
+
/**
|
|
24
|
+
* Check if current project is a TypeScript project
|
|
25
|
+
*/
|
|
26
|
+
export declare function isTypeScriptProject(): boolean;
|
|
27
|
+
export declare const project: {
|
|
28
|
+
findProjectRoot: typeof findProjectRoot;
|
|
29
|
+
findProjectRootFrom: typeof findProjectRootFrom;
|
|
30
|
+
findMonorepoRoot: typeof findMonorepoRoot;
|
|
31
|
+
findMonorepoRootFrom: typeof findMonorepoRootFrom;
|
|
32
|
+
getPackageJson: typeof getPackageJson;
|
|
33
|
+
isTypeScriptProject: typeof isTypeScriptProject;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiC5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+C7D;AAkBD;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,GAAG,IAAI,CAY3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAe7C;AAED,eAAO,MAAM,OAAO;;;;;;;CAOnB,CAAA"}
|
package/dist/project.js
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { file } from './file.js';
|
|
2
|
+
import { dir } from './dir.js';
|
|
3
|
+
import { path } from './path.js';
|
|
4
|
+
/**
|
|
5
|
+
* Find project root by walking up from current directory looking for project markers.
|
|
6
|
+
* Checks for: package.json, tsconfig.json, .git, deno.json
|
|
7
|
+
*/
|
|
8
|
+
export function findProjectRoot() {
|
|
9
|
+
const cwd = process.cwd();
|
|
10
|
+
return findProjectRootFrom(cwd);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Find project root from a specific directory
|
|
14
|
+
*/
|
|
15
|
+
export function findProjectRootFrom(startDir) {
|
|
16
|
+
let currentDir = startDir;
|
|
17
|
+
while (true) {
|
|
18
|
+
// Check for TypeScript/JavaScript project markers
|
|
19
|
+
if (file.exists(path.join(currentDir, 'package.json'))) {
|
|
20
|
+
return currentDir;
|
|
21
|
+
}
|
|
22
|
+
if (file.exists(path.join(currentDir, 'tsconfig.json'))) {
|
|
23
|
+
return currentDir;
|
|
24
|
+
}
|
|
25
|
+
if (dir.exists(path.join(currentDir, '.git'))) {
|
|
26
|
+
return currentDir;
|
|
27
|
+
}
|
|
28
|
+
if (file.exists(path.join(currentDir, 'deno.json'))) {
|
|
29
|
+
return currentDir;
|
|
30
|
+
}
|
|
31
|
+
if (file.exists(path.join(currentDir, 'deno.jsonc'))) {
|
|
32
|
+
return currentDir;
|
|
33
|
+
}
|
|
34
|
+
// Move up one directory
|
|
35
|
+
const parent = path.dirname(currentDir);
|
|
36
|
+
// Stop at filesystem root
|
|
37
|
+
if (parent === currentDir) {
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
currentDir = parent;
|
|
41
|
+
}
|
|
42
|
+
return '';
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Find monorepo root by walking up looking for turborepo markers.
|
|
46
|
+
* Checks for: turbo.json, pnpm-workspace.yaml, lerna.json
|
|
47
|
+
*/
|
|
48
|
+
export function findMonorepoRoot() {
|
|
49
|
+
const cwd = process.cwd();
|
|
50
|
+
return findMonorepoRootFrom(cwd);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Find monorepo root from a specific directory
|
|
54
|
+
*/
|
|
55
|
+
export function findMonorepoRootFrom(startDir) {
|
|
56
|
+
let currentDir = startDir;
|
|
57
|
+
while (true) {
|
|
58
|
+
// Check for turbo.json (turborepo)
|
|
59
|
+
const turboPath = path.join(currentDir, 'turbo.json');
|
|
60
|
+
if (file.exists(turboPath)) {
|
|
61
|
+
if (isTurboRepo(turboPath)) {
|
|
62
|
+
return currentDir;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Check for pnpm workspace
|
|
66
|
+
if (file.exists(path.join(currentDir, 'pnpm-workspace.yaml'))) {
|
|
67
|
+
return currentDir;
|
|
68
|
+
}
|
|
69
|
+
// Check for lerna
|
|
70
|
+
if (file.exists(path.join(currentDir, 'lerna.json'))) {
|
|
71
|
+
return currentDir;
|
|
72
|
+
}
|
|
73
|
+
// Check for npm/yarn workspaces (package.json with workspaces field)
|
|
74
|
+
const pkgPath = path.join(currentDir, 'package.json');
|
|
75
|
+
if (file.exists(pkgPath)) {
|
|
76
|
+
try {
|
|
77
|
+
const pkg = JSON.parse(file.readText(pkgPath));
|
|
78
|
+
if (pkg.workspaces) {
|
|
79
|
+
return currentDir;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// Not a valid package.json, continue
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Move up one directory
|
|
87
|
+
const parent = path.dirname(currentDir);
|
|
88
|
+
// Stop at filesystem root
|
|
89
|
+
if (parent === currentDir) {
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
currentDir = parent;
|
|
93
|
+
}
|
|
94
|
+
return '';
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Check if a turbo.json file is a valid turborepo config
|
|
98
|
+
*/
|
|
99
|
+
function isTurboRepo(turboJsonPath) {
|
|
100
|
+
try {
|
|
101
|
+
const content = file.readText(turboJsonPath);
|
|
102
|
+
const config = JSON.parse(content);
|
|
103
|
+
// Check for turborepo-specific fields
|
|
104
|
+
// A valid turbo.json should have "pipeline" or "tasks" field
|
|
105
|
+
return 'pipeline' in config || 'tasks' in config;
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Get the nearest package.json data
|
|
113
|
+
*/
|
|
114
|
+
export function getPackageJson() {
|
|
115
|
+
const root = findProjectRoot();
|
|
116
|
+
if (!root)
|
|
117
|
+
return null;
|
|
118
|
+
const pkgPath = path.join(root, 'package.json');
|
|
119
|
+
if (!file.exists(pkgPath))
|
|
120
|
+
return null;
|
|
121
|
+
try {
|
|
122
|
+
return JSON.parse(file.readText(pkgPath));
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Check if current project is a TypeScript project
|
|
130
|
+
*/
|
|
131
|
+
export function isTypeScriptProject() {
|
|
132
|
+
const root = findProjectRoot();
|
|
133
|
+
if (!root)
|
|
134
|
+
return false;
|
|
135
|
+
// Check for tsconfig.json
|
|
136
|
+
if (file.exists(path.join(root, 'tsconfig.json')))
|
|
137
|
+
return true;
|
|
138
|
+
// Check for TypeScript in dependencies
|
|
139
|
+
const pkg = getPackageJson();
|
|
140
|
+
if (pkg) {
|
|
141
|
+
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
142
|
+
return 'typescript' in deps;
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
export const project = {
|
|
147
|
+
findProjectRoot,
|
|
148
|
+
findProjectRootFrom,
|
|
149
|
+
findMonorepoRoot,
|
|
150
|
+
findMonorepoRootFrom,
|
|
151
|
+
getPackageJson,
|
|
152
|
+
isTypeScriptProject,
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|