@hypercli/core 0.1.1

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 (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/config/config-loader.d.ts +117 -0
  4. package/dist/config/config-loader.d.ts.map +1 -0
  5. package/dist/config/config-loader.js +287 -0
  6. package/dist/config/config-loader.js.map +1 -0
  7. package/dist/config/index.d.ts +9 -0
  8. package/dist/config/index.d.ts.map +1 -0
  9. package/dist/config/index.js +8 -0
  10. package/dist/config/index.js.map +1 -0
  11. package/dist/config/load-helpers.d.ts +13 -0
  12. package/dist/config/load-helpers.d.ts.map +1 -0
  13. package/dist/config/load-helpers.js +67 -0
  14. package/dist/config/load-helpers.js.map +1 -0
  15. package/dist/constants.d.ts +4 -0
  16. package/dist/constants.d.ts.map +1 -0
  17. package/dist/constants.js +4 -0
  18. package/dist/constants.js.map +1 -0
  19. package/dist/errors/hypergen-errors.d.ts +162 -0
  20. package/dist/errors/hypergen-errors.d.ts.map +1 -0
  21. package/dist/errors/hypergen-errors.js +944 -0
  22. package/dist/errors/hypergen-errors.js.map +1 -0
  23. package/dist/errors/index.d.ts +2 -0
  24. package/dist/errors/index.d.ts.map +1 -0
  25. package/dist/errors/index.js +2 -0
  26. package/dist/errors/index.js.map +1 -0
  27. package/dist/helpers.d.ts +25 -0
  28. package/dist/helpers.d.ts.map +1 -0
  29. package/dist/helpers.js +20 -0
  30. package/dist/helpers.js.map +1 -0
  31. package/dist/index.d.ts +10 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +13 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/logger/cli-html-types.d.ts +36 -0
  36. package/dist/logger/cli-html-types.d.ts.map +1 -0
  37. package/dist/logger/cli-html-types.js +2 -0
  38. package/dist/logger/cli-html-types.js.map +1 -0
  39. package/dist/logger/index.d.ts +3 -0
  40. package/dist/logger/index.d.ts.map +1 -0
  41. package/dist/logger/index.js +3 -0
  42. package/dist/logger/index.js.map +1 -0
  43. package/dist/logger/logger.d.ts +17 -0
  44. package/dist/logger/logger.d.ts.map +1 -0
  45. package/dist/logger/logger.js +42 -0
  46. package/dist/logger/logger.js.map +1 -0
  47. package/dist/logger/types.d.ts +16 -0
  48. package/dist/logger/types.d.ts.map +1 -0
  49. package/dist/logger/types.js +2 -0
  50. package/dist/logger/types.js.map +1 -0
  51. package/dist/parsers/cookbook-parser.d.ts +30 -0
  52. package/dist/parsers/cookbook-parser.d.ts.map +1 -0
  53. package/dist/parsers/cookbook-parser.js +155 -0
  54. package/dist/parsers/cookbook-parser.js.map +1 -0
  55. package/dist/parsers/index.d.ts +10 -0
  56. package/dist/parsers/index.d.ts.map +1 -0
  57. package/dist/parsers/index.js +16 -0
  58. package/dist/parsers/index.js.map +1 -0
  59. package/dist/parsers/kit-parser.d.ts +44 -0
  60. package/dist/parsers/kit-parser.d.ts.map +1 -0
  61. package/dist/parsers/kit-parser.js +195 -0
  62. package/dist/parsers/kit-parser.js.map +1 -0
  63. package/dist/parsers/path-resolver.d.ts +72 -0
  64. package/dist/parsers/path-resolver.d.ts.map +1 -0
  65. package/dist/parsers/path-resolver.js +281 -0
  66. package/dist/parsers/path-resolver.js.map +1 -0
  67. package/dist/parsers/template-parser.d.ts +142 -0
  68. package/dist/parsers/template-parser.d.ts.map +1 -0
  69. package/dist/parsers/template-parser.js +896 -0
  70. package/dist/parsers/template-parser.js.map +1 -0
  71. package/dist/types/actions.d.ts +109 -0
  72. package/dist/types/actions.d.ts.map +1 -0
  73. package/dist/types/actions.js +31 -0
  74. package/dist/types/actions.js.map +1 -0
  75. package/dist/types/ai-config.d.ts +170 -0
  76. package/dist/types/ai-config.d.ts.map +1 -0
  77. package/dist/types/ai-config.js +10 -0
  78. package/dist/types/ai-config.js.map +1 -0
  79. package/dist/types/common.d.ts +24 -0
  80. package/dist/types/common.d.ts.map +1 -0
  81. package/dist/types/common.js +10 -0
  82. package/dist/types/common.js.map +1 -0
  83. package/dist/types/index.d.ts +19 -0
  84. package/dist/types/index.d.ts.map +1 -0
  85. package/dist/types/index.js +11 -0
  86. package/dist/types/index.js.map +1 -0
  87. package/dist/types/kit.d.ts +92 -0
  88. package/dist/types/kit.d.ts.map +1 -0
  89. package/dist/types/kit.js +17 -0
  90. package/dist/types/kit.js.map +1 -0
  91. package/dist/types/recipe.d.ts +953 -0
  92. package/dist/types/recipe.d.ts.map +1 -0
  93. package/dist/types/recipe.js +92 -0
  94. package/dist/types/recipe.js.map +1 -0
  95. package/dist/types/template.d.ts +49 -0
  96. package/dist/types/template.d.ts.map +1 -0
  97. package/dist/types/template.js +7 -0
  98. package/dist/types/template.js.map +1 -0
  99. package/dist/ui/index.d.ts +4 -0
  100. package/dist/ui/index.d.ts.map +1 -0
  101. package/dist/ui/index.js +4 -0
  102. package/dist/ui/index.js.map +1 -0
  103. package/dist/ui/messages.d.ts +16 -0
  104. package/dist/ui/messages.d.ts.map +1 -0
  105. package/dist/ui/messages.js +57 -0
  106. package/dist/ui/messages.js.map +1 -0
  107. package/dist/ui/styles.d.ts +7 -0
  108. package/dist/ui/styles.d.ts.map +1 -0
  109. package/dist/ui/styles.js +8 -0
  110. package/dist/ui/styles.js.map +1 -0
  111. package/dist/ui/symbols.d.ts +9 -0
  112. package/dist/ui/symbols.d.ts.map +1 -0
  113. package/dist/ui/symbols.js +10 -0
  114. package/dist/ui/symbols.js.map +1 -0
  115. package/dist/utils/display-utils.d.ts +65 -0
  116. package/dist/utils/display-utils.d.ts.map +1 -0
  117. package/dist/utils/display-utils.js +101 -0
  118. package/dist/utils/display-utils.js.map +1 -0
  119. package/dist/utils/find-project-root.d.ts +32 -0
  120. package/dist/utils/find-project-root.d.ts.map +1 -0
  121. package/dist/utils/find-project-root.js +133 -0
  122. package/dist/utils/find-project-root.js.map +1 -0
  123. package/dist/utils/index.d.ts +4 -0
  124. package/dist/utils/index.d.ts.map +1 -0
  125. package/dist/utils/index.js +4 -0
  126. package/dist/utils/index.js.map +1 -0
  127. package/dist/utils/newline.d.ts +3 -0
  128. package/dist/utils/newline.d.ts.map +1 -0
  129. package/dist/utils/newline.js +12 -0
  130. package/dist/utils/newline.js.map +1 -0
  131. package/package.json +83 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Find the project root directory by looking for package.json
3
+ * with monorepo detection support
4
+ */
5
+ import { existsSync, readFileSync } from "node:fs";
6
+ import { dirname, join } from "node:path";
7
+ import createDebug from "debug";
8
+ const debug = createDebug("hypergen:utils:project-root");
9
+ /**
10
+ * Find the nearest package.json walking up from startDir
11
+ */
12
+ function findNearestPackageJson(startDir) {
13
+ let dir = startDir;
14
+ while (dir !== "/" && dir !== ".") {
15
+ const packageJsonPath = join(dir, "package.json");
16
+ if (existsSync(packageJsonPath)) {
17
+ return packageJsonPath;
18
+ }
19
+ const parent = join(dir, "..");
20
+ if (parent === dir)
21
+ break;
22
+ dir = parent;
23
+ }
24
+ return null;
25
+ }
26
+ /**
27
+ * Check if a package.json indicates a monorepo root
28
+ */
29
+ function isMonorepoRoot(packageJsonPath) {
30
+ try {
31
+ const content = readFileSync(packageJsonPath, "utf-8");
32
+ const packageJson = JSON.parse(content);
33
+ // Check for common monorepo indicators
34
+ return !!((packageJson.workspaces || // npm/yarn/pnpm workspaces
35
+ packageJson.bolt?.workspaces || // bolt
36
+ existsSync(join(dirname(packageJsonPath), "pnpm-workspace.yaml")) || // pnpm
37
+ existsSync(join(dirname(packageJsonPath), "lerna.json"))) // lerna
38
+ );
39
+ }
40
+ catch (error) {
41
+ debug("Error reading package.json: %s", error);
42
+ return false;
43
+ }
44
+ }
45
+ /**
46
+ * Check if we're inside a monorepo workspace package
47
+ */
48
+ function isWorkspacePackage(packageJsonPath) {
49
+ try {
50
+ // Workspace packages typically don't have a "private: true" at root
51
+ // but we need to check if there's a parent with workspaces
52
+ const dir = dirname(packageJsonPath);
53
+ const parentPackageJson = findNearestPackageJson(join(dir, ".."));
54
+ if (parentPackageJson && isMonorepoRoot(parentPackageJson)) {
55
+ debug("Found workspace package at %s with monorepo root at %s", packageJsonPath, parentPackageJson);
56
+ return true;
57
+ }
58
+ return false;
59
+ }
60
+ catch (error) {
61
+ debug("Error checking if workspace package: %s", error);
62
+ return false;
63
+ }
64
+ }
65
+ /**
66
+ * Find the project root, with monorepo detection
67
+ *
68
+ * This function:
69
+ * 1. Finds the nearest package.json from startDir
70
+ * 2. If it's a workspace package, walks up to find the monorepo root
71
+ * 3. Returns both the immediate project root and workspace root (if in monorepo)
72
+ *
73
+ * @param startDir - Directory to start searching from (defaults to process.cwd())
74
+ * @returns Project root information
75
+ */
76
+ export function findProjectRoot(startDir = process.cwd()) {
77
+ debug("Finding project root from: %s", startDir);
78
+ // Find nearest package.json
79
+ const nearestPackageJson = findNearestPackageJson(startDir);
80
+ if (!nearestPackageJson) {
81
+ debug("No package.json found, using startDir as root");
82
+ return {
83
+ root: startDir,
84
+ isMonorepo: false,
85
+ workspaceRoot: startDir,
86
+ packageJsonPath: startDir,
87
+ };
88
+ }
89
+ const immediateRoot = dirname(nearestPackageJson);
90
+ debug("Found package.json at: %s", nearestPackageJson);
91
+ // Check if this is a monorepo root
92
+ if (isMonorepoRoot(nearestPackageJson)) {
93
+ debug("This is a monorepo root");
94
+ return {
95
+ root: immediateRoot,
96
+ isMonorepo: true,
97
+ workspaceRoot: immediateRoot,
98
+ packageJsonPath: nearestPackageJson,
99
+ };
100
+ }
101
+ // Check if we're in a workspace package
102
+ if (isWorkspacePackage(nearestPackageJson)) {
103
+ // Walk up to find the monorepo root
104
+ const workspaceRootPackageJson = findNearestPackageJson(join(immediateRoot, ".."));
105
+ if (workspaceRootPackageJson) {
106
+ const workspaceRoot = dirname(workspaceRootPackageJson);
107
+ debug("Found monorepo workspace root at: %s", workspaceRoot);
108
+ return {
109
+ root: immediateRoot,
110
+ isMonorepo: true,
111
+ workspaceRoot,
112
+ packageJsonPath: nearestPackageJson,
113
+ };
114
+ }
115
+ }
116
+ // Not a monorepo or couldn't find workspace root
117
+ debug("Not in a monorepo");
118
+ return {
119
+ root: immediateRoot,
120
+ isMonorepo: false,
121
+ workspaceRoot: immediateRoot,
122
+ packageJsonPath: nearestPackageJson,
123
+ };
124
+ }
125
+ /**
126
+ * Get the directory where .hyper/kits should be located
127
+ * Always uses the workspace root if in a monorepo
128
+ */
129
+ export function getKitsDirectory(startDir = process.cwd()) {
130
+ const projectInfo = findProjectRoot(startDir);
131
+ return join(projectInfo.workspaceRoot, ".hyper", "kits");
132
+ }
133
+ //# sourceMappingURL=find-project-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-project-root.js","sourceRoot":"","sources":["../../src/utils/find-project-root.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./find-project-root.js";
2
+ export { default as newline } from "./newline.js";
3
+ export * from "./display-utils.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./find-project-root.js";
2
+ export { default as newline } from "./newline.js";
3
+ export * from "./display-utils.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const newline: (string: string) => string;
2
+ export default newline;
3
+ //# sourceMappingURL=newline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newline.d.ts","sourceRoot":"","sources":["../../src/utils/newline.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,OAAO,GAAI,QAAQ,MAAM,KAAG,MAWjC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { EOL } from "node:os";
2
+ const newline = (string) => {
3
+ const newlines = string.match(/(?:\r?\n)/g) || [];
4
+ if (newlines.length === 0) {
5
+ return EOL;
6
+ }
7
+ const crlf = newlines.filter((newline) => newline === "\r\n").length;
8
+ const lf = newlines.length - crlf;
9
+ return crlf > lf ? "\r\n" : "\n";
10
+ };
11
+ export default newline;
12
+ //# sourceMappingURL=newline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newline.js","sourceRoot":"","sources":["../../src/utils/newline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAC9B,MAAM,OAAO,GAAG,CAAC,MAAc,EAAU,EAAE;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;IAElC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "@hypercli/core",
3
+ "version": "0.1.1",
4
+ "type": "module",
5
+ "description": "Core domain types, config, errors for HyperDev",
6
+ "keywords": [
7
+ "hyperdev",
8
+ "hypergen",
9
+ "code-generator"
10
+ ],
11
+ "author": "Saulo Vallory <saulo@toki.life>",
12
+ "license": "MIT",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/svallory/hyper-coding.git",
16
+ "directory": "packages/core"
17
+ },
18
+ "homepage": "https://hyperdev.saulo.engineer",
19
+ "bugs": {
20
+ "url": "https://github.com/svallory/hyper-coding/issues"
21
+ },
22
+ "engines": {
23
+ "node": ">=20"
24
+ },
25
+ "exports": {
26
+ ".": {
27
+ "types": "./dist/index.d.ts",
28
+ "import": "./dist/index.js"
29
+ }
30
+ },
31
+ "main": "./dist/index.js",
32
+ "types": "./dist/index.d.ts",
33
+ "files": [
34
+ "dist",
35
+ "README.md",
36
+ "LICENSE"
37
+ ],
38
+ "imports": {
39
+ "#parsers": "./dist/parsers/index.js",
40
+ "#parsers/*": "./dist/parsers/*.js",
41
+ "#types": "./dist/types/index.js",
42
+ "#types/*": "./dist/types/*.js",
43
+ "#logger": "./dist/logger/index.js",
44
+ "#logger/*": "./dist/logger/*.js",
45
+ "#config": "./dist/config/index.js",
46
+ "#config/*": "./dist/config/*.js",
47
+ "#utils": "./dist/utils/index.js",
48
+ "#utils/*": "./dist/utils/*.js",
49
+ "#errors": "./dist/errors/index.js",
50
+ "#errors/*": "./dist/errors/*.js",
51
+ "#tests/*": "./tests/*.ts",
52
+ "#fixtures/*": "./tests/fixtures/*.ts",
53
+ "#*": "./dist/*.js"
54
+ },
55
+ "scripts": {
56
+ "build": "tsc",
57
+ "test": "vitest run",
58
+ "test:bun": "bun test --env-file .env.test",
59
+ "test:watch": "vitest",
60
+ "lint": "biome check .",
61
+ "format": "biome format . --write",
62
+ "typecheck": "tsc --noEmit",
63
+ "prepublishOnly": "bun run build"
64
+ },
65
+ "dependencies": {
66
+ "@hypercli/ui": "^0.1.1",
67
+ "chalk": "^4.1.2",
68
+ "change-case": "^3.1.0",
69
+ "cosmiconfig": "^9.0.0",
70
+ "debug": "^4.3.4",
71
+ "inflection": "^3.0.2"
72
+ },
73
+ "devDependencies": {
74
+ "@biomejs/biome": "^1.9.4",
75
+ "@types/node": "^20.0.0",
76
+ "typescript": "^5.4.0",
77
+ "vitest": "4.0.18"
78
+ },
79
+ "publishConfig": {
80
+ "access": "public",
81
+ "registry": "https://registry.npmjs.org/"
82
+ }
83
+ }