@reqlan/cli 0.1.1 → 0.2.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/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # @reqlan/cli
6
6
 
7
- CLI for parsing and analysing reqlan requirement graphs
7
+ CLI for parsing, analysing, and exporting reqlan requirement graphs
8
8
 
9
9
  ## Features
10
10
 
@@ -32,6 +32,8 @@ reqlan search <query> [--limit <n>] [--cwd <dir>] [--json]
32
32
 
33
33
  Set `REQLAN_WORKSPACE` or pass `--cwd` to override the workspace root.
34
34
 
35
+ The ideas index is shared application memory at `<workspace>/.reqlan/ideas-index.sqlite` (same path as the VS Code extension and MCP). Override the storage directory with `REQLAN_INDEX_PATH` when needed.
36
+
35
37
  ## Links
36
38
 
37
39
  - [Site](https://tony.is-a.dev/reqlan)
@@ -42,6 +44,25 @@ Set `REQLAN_WORKSPACE` or pass `--cwd` to override the workspace root.
42
44
 
43
45
  ## Changelog
44
46
 
47
+ ### 0.2.1
48
+
49
+ #### Patch Changes
50
+
51
+ - Updated dependencies [4f86d2b]
52
+ - @reqlan/analytical@0.5.1
53
+
54
+ ### 0.2.0
55
+
56
+ #### Minor Changes
57
+
58
+ - 627d502: updates to cli, site export, site (showing spec), replace welcome screen, temp remove old extension name.
59
+
60
+ #### Patch Changes
61
+
62
+ - Updated dependencies [627d502]
63
+ - @reqlan/analytical@0.5.0
64
+ - @reqlan/language@1.5.0
65
+
45
66
  ### 0.1.1
46
67
 
47
68
  #### Patch Changes
@@ -32,6 +32,8 @@ reqlan search <query> [--limit <n>] [--cwd <dir>] [--json]
32
32
 
33
33
  Set `REQLAN_WORKSPACE` or pass `--cwd` to override the workspace root.
34
34
 
35
+ The ideas index is shared application memory at `<workspace>/.reqlan/ideas-index.sqlite` (same path as the VS Code extension and MCP). Override the storage directory with `REQLAN_INDEX_PATH` when needed.
36
+
35
37
  ## Links
36
38
 
37
39
  - [{{SITE_LABEL}}]({{SITE_URL}})
@@ -0,0 +1,17 @@
1
+ import { Command } from 'clipanion';
2
+ export declare class ExportCommand extends Command {
3
+ static paths: string[][];
4
+ static usage: import("clipanion").Usage;
5
+ output: string | undefined;
6
+ name: string;
7
+ file: string | undefined;
8
+ runtimeMode: string;
9
+ clusterStrategy: string;
10
+ excludeSecret: boolean;
11
+ urlBase: string | undefined;
12
+ headerHref: string | undefined;
13
+ headerLabel: string | undefined;
14
+ cwd: string | undefined;
15
+ json: boolean;
16
+ execute(): Promise<number>;
17
+ }
@@ -0,0 +1,137 @@
1
+ import { Command, Option } from 'clipanion';
2
+ import { resolve } from 'node:path';
3
+ import { toWorkspaceRelativePath } from '@reqlan/analytical';
4
+ import { withAnalysisApi, resolveWorkspaceRoot } from '../runtime.js';
5
+ import { emit } from '../output.js';
6
+ const RUNTIME_MODES = new Set(['interactive', 'document', 'print']);
7
+ const CLUSTER_STRATEGIES = new Set(['hybrid', 'deterministic']);
8
+ export class ExportCommand extends Command {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.output = Option.String('-o,--output', {
12
+ description: 'Parent directory for the export folder (default: <cwd>/reqlan-export)'
13
+ });
14
+ this.name = Option.String('-n,--name', 'reqlan-export', {
15
+ description: 'Export folder name (default: reqlan-export)'
16
+ });
17
+ this.file = Option.String('-f,--file', {
18
+ description: 'Export only the given .rq file and its local graph'
19
+ });
20
+ this.runtimeMode = Option.String('--runtime-mode', 'interactive', {
21
+ description: 'HTML runtime mode: interactive | document | print (default: interactive)'
22
+ });
23
+ this.clusterStrategy = Option.String('--cluster-strategy', 'hybrid', {
24
+ description: 'Cluster strategy: hybrid | deterministic (default: hybrid)'
25
+ });
26
+ this.excludeSecret = Option.Boolean('--exclude-secret', false, {
27
+ description: 'Omit ideas hosted in *.secret.rq files'
28
+ });
29
+ this.urlBase = Option.String('--url-base', {
30
+ description: 'Absolute URL prefix for the export mount (e.g. /spec or /reqlan/spec)'
31
+ });
32
+ this.headerHref = Option.String('--header-href', {
33
+ description: 'Optional topbar link href back to a parent site'
34
+ });
35
+ this.headerLabel = Option.String('--header-label', {
36
+ description: 'Optional topbar link label (requires --header-href)'
37
+ });
38
+ this.cwd = Option.String('--cwd', {
39
+ description: 'Workspace root (default: walk from cwd, or REQLAN_WORKSPACE)'
40
+ });
41
+ this.json = Option.Boolean('--json', false, {
42
+ description: 'Emit machine-readable JSON with export paths'
43
+ });
44
+ }
45
+ async execute() {
46
+ const runtimeMode = this.runtimeMode;
47
+ if (!RUNTIME_MODES.has(runtimeMode)) {
48
+ this.context.stderr.write(`Invalid --runtime-mode "${this.runtimeMode}". Expected interactive, document, or print.\n`);
49
+ return 1;
50
+ }
51
+ const clusterStrategy = this.clusterStrategy;
52
+ if (!CLUSTER_STRATEGIES.has(clusterStrategy)) {
53
+ this.context.stderr.write(`Invalid --cluster-strategy "${this.clusterStrategy}". Expected hybrid or deterministic.\n`);
54
+ return 1;
55
+ }
56
+ const headerHref = this.headerHref?.trim();
57
+ const headerLabel = this.headerLabel?.trim();
58
+ if ((headerHref && !headerLabel) || (!headerHref && headerLabel)) {
59
+ this.context.stderr.write('Both --header-href and --header-label are required when setting a header link.\n');
60
+ return 1;
61
+ }
62
+ const exportName = this.name.trim() || 'reqlan-export';
63
+ if (/[\\/]/.test(exportName)) {
64
+ this.context.stderr.write('Export name cannot contain path separators.\n');
65
+ return 1;
66
+ }
67
+ const workspaceRoot = resolveWorkspaceRoot(this.cwd);
68
+ const outputDir = resolve(this.output?.trim() || resolve(workspaceRoot, 'reqlan-export'));
69
+ const scope = this.file ? 'currentFile' : 'workspace';
70
+ const sourceFileUri = this.file
71
+ ? toWorkspaceRelativePath(resolve(workspaceRoot, this.file), workspaceRoot)
72
+ : undefined;
73
+ try {
74
+ await withAnalysisApi(this.cwd, async (api) => {
75
+ const result = await api.exportHtml({
76
+ format: 'html',
77
+ outputDir,
78
+ exportName,
79
+ templateId: 'default',
80
+ scope,
81
+ sourceFileUri,
82
+ includeRequirementsPage: true,
83
+ includeGraphPage: true,
84
+ printEntryFileName: 'print.html',
85
+ runtimeMode,
86
+ clusterStrategy,
87
+ includeIdeaPages: true,
88
+ includeFilePages: true,
89
+ includeCodeFilePages: true,
90
+ includeClusterPages: true,
91
+ includeAttributePages: true,
92
+ includePrintPages: true,
93
+ excludeSecretFiles: this.excludeSecret,
94
+ urlBase: this.urlBase?.trim() || undefined,
95
+ headerLink: headerHref && headerLabel
96
+ ? { href: headerHref, label: headerLabel }
97
+ : undefined
98
+ });
99
+ if (this.json) {
100
+ emit({
101
+ outputDir: result.outputDir,
102
+ indexFilePath: result.indexFilePath,
103
+ printFilePath: result.printFilePath,
104
+ graphFilePath: result.graphFilePath,
105
+ dataFilePath: result.dataFilePath
106
+ }, true);
107
+ return;
108
+ }
109
+ emit(`Exported HTML site to ${result.outputDir}`, false);
110
+ });
111
+ return 0;
112
+ }
113
+ catch (error) {
114
+ const message = error instanceof Error ? error.message : String(error);
115
+ this.context.stderr.write(`${message}\n`);
116
+ return 1;
117
+ }
118
+ }
119
+ }
120
+ ExportCommand.paths = [['export'], ['export', 'html']];
121
+ ExportCommand.usage = Command.Usage({
122
+ description: 'Export the requirement graph as a multi-file static HTML site.',
123
+ details: `
124
+ Writes an HTML export under <output>/<name>/.
125
+ Use --exclude-secret to omit gitignored *.secret.rq files from the export.
126
+ `,
127
+ examples: [
128
+ ['Workspace HTML export', '$0 export --output ./reqlan-export --name workspace'],
129
+ ['Public non-secret graph', '$0 export html --exclude-secret --output ./out --name spec'],
130
+ [
131
+ 'Site embed with mount + home link',
132
+ '$0 export html --exclude-secret --url-base /spec --header-href / --header-label reqlan --output ./out --name spec'
133
+ ],
134
+ ['Current-file scope', '$0 export --file ./reqlan\\ rq/cli/cli_package.rq --output ./tmp']
135
+ ]
136
+ });
137
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
package/out/main.js CHANGED
@@ -5,6 +5,7 @@ import { fileURLToPath } from 'node:url';
5
5
  import { ParseCommand } from './commands/parse.js';
6
6
  import { AnalyseCommand } from './commands/analyse.js';
7
7
  import { SearchCommand } from './commands/search.js';
8
+ import { ExportCommand } from './commands/export.js';
8
9
  const __dirname = dirname(fileURLToPath(import.meta.url));
9
10
  const packageJson = JSON.parse(readFileSync(resolve(__dirname, '..', 'package.json'), 'utf8'));
10
11
  const cli = new Cli({
@@ -17,5 +18,6 @@ cli.register(Builtins.VersionCommand);
17
18
  cli.register(ParseCommand);
18
19
  cli.register(AnalyseCommand);
19
20
  cli.register(SearchCommand);
21
+ cli.register(ExportCommand);
20
22
  await cli.runExit(process.argv.slice(2));
21
23
  //# sourceMappingURL=main.js.map
package/out/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAE5F,CAAC;AAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAChB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,WAAW,CAAC,OAAO;CACrC,CAAC,CAAC;AAEH,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACtC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC3B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC7B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAE5F,CAAC;AAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAChB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,WAAW,CAAC,OAAO;CACrC,CAAC,CAAC;AAEH,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACtC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC3B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC7B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC5B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@reqlan/cli",
3
- "description": "CLI for parsing and analysing reqlan requirement graphs",
4
- "version": "0.1.1",
3
+ "description": "CLI for parsing, analysing, and exporting reqlan requirement graphs",
4
+ "version": "0.2.1",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
7
7
  "repository": {
@@ -26,8 +26,8 @@
26
26
  "dependencies": {
27
27
  "clipanion": "3.2.1",
28
28
  "langium": "~4.3.0",
29
- "@reqlan/analytical": "0.4.1",
30
- "@reqlan/language": "1.4.1"
29
+ "@reqlan/analytical": "0.5.1",
30
+ "@reqlan/language": "1.5.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "shx": "~0.4.0"