@gqlkit-ts/cli 0.4.0 → 0.4.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.
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +33 -13
- package/dist/commands/docs.js.map +1 -1
- package/package.json +3 -3
- package/src/commands/docs.ts +50 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;CACjC;AAmJD,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA0C/B;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BtB,CAAC"}
|
package/dist/commands/docs.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { access, mkdir, readFile, symlink, writeFile } from "node:fs/promises";
|
|
2
|
-
import { dirname, join, relative } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { dirname, join, parse, relative, resolve } from "node:path";
|
|
4
3
|
import { define } from "gunshi";
|
|
5
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
-
const CLI_DOCS_DIR = join(__dirname, "../../docs");
|
|
7
4
|
const SKILL_NAME = "gqlkit-guide";
|
|
8
5
|
async function exists(path) {
|
|
9
6
|
try {
|
|
@@ -14,6 +11,22 @@ async function exists(path) {
|
|
|
14
11
|
return false;
|
|
15
12
|
}
|
|
16
13
|
}
|
|
14
|
+
async function findNodeModulesDocsPath(startDir) {
|
|
15
|
+
let currentDir = resolve(startDir);
|
|
16
|
+
const root = parse(currentDir).root;
|
|
17
|
+
while (currentDir !== root) {
|
|
18
|
+
const candidate = join(currentDir, "node_modules/@gqlkit-ts/cli/docs");
|
|
19
|
+
if (await exists(candidate)) {
|
|
20
|
+
return candidate;
|
|
21
|
+
}
|
|
22
|
+
const parent = dirname(currentDir);
|
|
23
|
+
if (parent === currentDir) {
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
currentDir = parent;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
17
30
|
async function detectClaudeEnvironment(dir) {
|
|
18
31
|
const claudeMdExists = await exists(join(dir, "CLAUDE.md"));
|
|
19
32
|
const claudeDirExists = await exists(join(dir, ".claude"));
|
|
@@ -91,8 +104,13 @@ async function generateToolFiles(outputDir, config, filesWritten) {
|
|
|
91
104
|
const skillMdPath = join(skillDir, "SKILL.md");
|
|
92
105
|
await writeFile(skillMdPath, generateSkillMd());
|
|
93
106
|
filesWritten.push(skillMdPath);
|
|
107
|
+
const docsPath = await findNodeModulesDocsPath(skillDir);
|
|
108
|
+
if (docsPath === null) {
|
|
109
|
+
throw new Error(`Could not find @gqlkit-ts/cli docs directory under node_modules (starting from ${resolve(skillDir)}). ` +
|
|
110
|
+
"Ensure @gqlkit-ts/cli is installed.");
|
|
111
|
+
}
|
|
94
112
|
const referencesPath = join(skillDir, "references");
|
|
95
|
-
const relativePath = relative(skillDir,
|
|
113
|
+
const relativePath = relative(skillDir, docsPath);
|
|
96
114
|
await createSymlinkIfNotExists(referencesPath, relativePath);
|
|
97
115
|
filesWritten.push(referencesPath);
|
|
98
116
|
const rulesPath = join(outputDir, config.rulesFile);
|
|
@@ -100,10 +118,6 @@ async function generateToolFiles(outputDir, config, filesWritten) {
|
|
|
100
118
|
filesWritten.push(rulesPath);
|
|
101
119
|
}
|
|
102
120
|
export async function runDocsCommand(options) {
|
|
103
|
-
if (!(await exists(CLI_DOCS_DIR))) {
|
|
104
|
-
console.error(`Documentation directory not found: ${CLI_DOCS_DIR}\nRun "pnpm build" to generate documentation files.`);
|
|
105
|
-
return { exitCode: 1, filesWritten: [] };
|
|
106
|
-
}
|
|
107
121
|
const filesWritten = [];
|
|
108
122
|
const autoDetect = !options.claude && !options.codex;
|
|
109
123
|
const generateClaude = options.claude ||
|
|
@@ -114,11 +128,17 @@ export async function runDocsCommand(options) {
|
|
|
114
128
|
console.log("No AI tool environment detected. Use --claude or --codex to generate explicitly.");
|
|
115
129
|
return { exitCode: 0, filesWritten: [] };
|
|
116
130
|
}
|
|
117
|
-
|
|
118
|
-
|
|
131
|
+
try {
|
|
132
|
+
if (generateClaude) {
|
|
133
|
+
await generateToolFiles(options.output, { configDir: ".claude", rulesFile: "CLAUDE.md" }, filesWritten);
|
|
134
|
+
}
|
|
135
|
+
if (generateCodex) {
|
|
136
|
+
await generateToolFiles(options.output, { configDir: ".codex", rulesFile: "AGENTS.md" }, filesWritten);
|
|
137
|
+
}
|
|
119
138
|
}
|
|
120
|
-
|
|
121
|
-
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.error(error instanceof Error ? (error.stack ?? error.message) : String(error));
|
|
141
|
+
return { exitCode: 1, filesWritten: [] };
|
|
122
142
|
}
|
|
123
143
|
return { exitCode: 0, filesWritten };
|
|
124
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gqlkit-ts/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Just types and functions — write TypeScript, generate GraphQL.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/shell-quote": "1.7.5",
|
|
62
62
|
"memfs": "4.56.10",
|
|
63
|
-
"@gqlkit-ts/
|
|
64
|
-
"@gqlkit-ts/
|
|
63
|
+
"@gqlkit-ts/docs": "0.0.1",
|
|
64
|
+
"@gqlkit-ts/runtime": "0.2.0"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
67
|
"build": "tsc --build && bundle-docs --target ./docs",
|
package/src/commands/docs.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { access, mkdir, readFile, symlink, writeFile } from "node:fs/promises";
|
|
2
|
-
import { dirname, join, relative } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { dirname, join, parse, relative, resolve } from "node:path";
|
|
4
3
|
import { define } from "gunshi";
|
|
5
4
|
|
|
6
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
|
-
const CLI_DOCS_DIR = join(__dirname, "../../docs");
|
|
8
5
|
const SKILL_NAME = "gqlkit-guide";
|
|
9
6
|
|
|
10
7
|
export interface RunDocsCommandOptions {
|
|
@@ -27,6 +24,27 @@ async function exists(path: string): Promise<boolean> {
|
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
26
|
|
|
27
|
+
async function findNodeModulesDocsPath(
|
|
28
|
+
startDir: string,
|
|
29
|
+
): Promise<string | null> {
|
|
30
|
+
let currentDir = resolve(startDir);
|
|
31
|
+
const root = parse(currentDir).root;
|
|
32
|
+
|
|
33
|
+
while (currentDir !== root) {
|
|
34
|
+
const candidate = join(currentDir, "node_modules/@gqlkit-ts/cli/docs");
|
|
35
|
+
if (await exists(candidate)) {
|
|
36
|
+
return candidate;
|
|
37
|
+
}
|
|
38
|
+
const parent = dirname(currentDir);
|
|
39
|
+
if (parent === currentDir) {
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
currentDir = parent;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
|
|
30
48
|
async function detectClaudeEnvironment(dir: string): Promise<boolean> {
|
|
31
49
|
const claudeMdExists = await exists(join(dir, "CLAUDE.md"));
|
|
32
50
|
const claudeDirExists = await exists(join(dir, ".claude"));
|
|
@@ -124,8 +142,16 @@ async function generateToolFiles(
|
|
|
124
142
|
await writeFile(skillMdPath, generateSkillMd());
|
|
125
143
|
filesWritten.push(skillMdPath);
|
|
126
144
|
|
|
145
|
+
const docsPath = await findNodeModulesDocsPath(skillDir);
|
|
146
|
+
if (docsPath === null) {
|
|
147
|
+
throw new Error(
|
|
148
|
+
`Could not find @gqlkit-ts/cli docs directory under node_modules (starting from ${resolve(skillDir)}). ` +
|
|
149
|
+
"Ensure @gqlkit-ts/cli is installed.",
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
|
|
127
153
|
const referencesPath = join(skillDir, "references");
|
|
128
|
-
const relativePath = relative(skillDir,
|
|
154
|
+
const relativePath = relative(skillDir, docsPath);
|
|
129
155
|
await createSymlinkIfNotExists(referencesPath, relativePath);
|
|
130
156
|
filesWritten.push(referencesPath);
|
|
131
157
|
|
|
@@ -137,13 +163,6 @@ async function generateToolFiles(
|
|
|
137
163
|
export async function runDocsCommand(
|
|
138
164
|
options: RunDocsCommandOptions,
|
|
139
165
|
): Promise<RunDocsCommandResult> {
|
|
140
|
-
if (!(await exists(CLI_DOCS_DIR))) {
|
|
141
|
-
console.error(
|
|
142
|
-
`Documentation directory not found: ${CLI_DOCS_DIR}\nRun "pnpm build" to generate documentation files.`,
|
|
143
|
-
);
|
|
144
|
-
return { exitCode: 1, filesWritten: [] };
|
|
145
|
-
}
|
|
146
|
-
|
|
147
166
|
const filesWritten: string[] = [];
|
|
148
167
|
|
|
149
168
|
const autoDetect = !options.claude && !options.codex;
|
|
@@ -161,20 +180,27 @@ export async function runDocsCommand(
|
|
|
161
180
|
return { exitCode: 0, filesWritten: [] };
|
|
162
181
|
}
|
|
163
182
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
183
|
+
try {
|
|
184
|
+
if (generateClaude) {
|
|
185
|
+
await generateToolFiles(
|
|
186
|
+
options.output,
|
|
187
|
+
{ configDir: ".claude", rulesFile: "CLAUDE.md" },
|
|
188
|
+
filesWritten,
|
|
189
|
+
);
|
|
190
|
+
}
|
|
171
191
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
192
|
+
if (generateCodex) {
|
|
193
|
+
await generateToolFiles(
|
|
194
|
+
options.output,
|
|
195
|
+
{ configDir: ".codex", rulesFile: "AGENTS.md" },
|
|
196
|
+
filesWritten,
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
} catch (error) {
|
|
200
|
+
console.error(
|
|
201
|
+
error instanceof Error ? (error.stack ?? error.message) : String(error),
|
|
177
202
|
);
|
|
203
|
+
return { exitCode: 1, filesWritten: [] };
|
|
178
204
|
}
|
|
179
205
|
|
|
180
206
|
return { exitCode: 0, filesWritten };
|