@hydranium/cli 1.0.0-next.197 → 1.0.0-next.198

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.
@@ -1 +1 @@
1
- {"version":3,"file":"init-templates.d.ts","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAoElF,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAA8B,MAAM,WAAW,CAAC;AAGvF,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAk3DD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,QAAQ,EAAE,CAqD3E"}
1
+ {"version":3,"file":"init-templates.d.ts","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAoElF,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAA8B,MAAM,WAAW,CAAC;AAGvF,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAs6DD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,QAAQ,EAAE,CAqD3E"}
@@ -1704,27 +1704,28 @@ export class __GRAMMAR__DiagramConfiguration implements DiagramConfiguration {
1704
1704
  // read-only is a deletion the compiler checks, while read-only → editable is
1705
1705
  // authoring against a seam you have not used yet.
1706
1706
  //
1707
- // **It composes TEXT rather than mutating the AST.** The source model of
1708
- // \`FullTextHydraniumGlspState\` is the document text, and reading it back through
1709
- // \`state.sourceModel\` serialises the AST through the per-URI \`Serializer\`, which
1710
- // this scaffold does not bind — so that getter throws until you do. Appending a
1711
- // declaration to the text the parser last read needs no serializer, which is what
1712
- // makes a scaffolded diagram editable on day one. Bind a \`Serializer\` at
1713
- // \`services.serializer.Serializer\` and this becomes a
1714
- // \`HydraniumGlspRecordingCommand\` over \`state.sourceModel\` instead — the same
1715
- // binding the diagram's own save action needs.
1707
+ // **It edits the operation's working copy.** A handler runs inside an operation,
1708
+ // where \`sourceRoot\` is a copy of the built root: the recording command's
1709
+ // runnable appends to the copy, and the operation writes the copy's text through
1710
+ // the grammar's \`Serializer\` once, gated on the version the copy was made at,
1711
+ // with undo and redo replaying that one change. A command that writes the
1712
+ // document itself instead reads no text off the copy, which has no \`$document\`,
1713
+ // and the operation's own write then overwrites it.
1716
1714
  //
1717
1715
  // **The drop location is discarded.** \`needsClientLayout\` is \`true\` and the
1718
1716
  // starter grammar persists no bounds, so there is nowhere to put a coordinate: the
1719
1717
  // node is appended at the end of the document and the client places it.
1720
1718
  //
1721
1719
  // Like \`types.ts\`, \`gmodel-factory.ts\` and \`diagram-configuration.ts\`, this file
1722
- // knows the starter grammar's concrete syntax — the \`node\` keyword below is that
1723
- // grammar's. Replacing the grammar means replacing these four together.
1720
+ // knows the starter grammar's shape — the \`nodes\` list and the \`__NODE_RULE__\`
1721
+ // it holds. Replacing the grammar means replacing these four together.
1724
1722
 
1725
1723
  import { type Command, type CreateNodeOperation, JsonCreateNodeOperationHandler, type MaybePromise } from '@eclipse-glsp/server';
1724
+ import { appendChild } from '@hydranium/core';
1725
+ import { HydraniumGlspRecordingCommand } from '@hydranium/glsp-server';
1726
1726
  import { findNextUnique } from '@hydranium/protocol';
1727
1727
  import { injectable } from 'inversify';
1728
+ import type { __NODE_RULE__ } from '../../language-server/ast.js';
1728
1729
  import { ${upper}_NODE_TYPE } from './types.js';
1729
1730
  import type { __GRAMMAR__GlspState } from './state.js';
1730
1731
 
@@ -1743,34 +1744,14 @@ export class __GRAMMAR__CreateNodeOperationHandler extends JsonCreateNodeOperati
1743
1744
  if (!this.elementTypeIds.includes(operation.elementTypeId)) {
1744
1745
  return undefined;
1745
1746
  }
1746
- const state = this.modelState;
1747
- const before = this.documentText();
1748
- const after = this.withNode(
1749
- before,
1750
- findNextUnique(
1747
+ return new HydraniumGlspRecordingCommand(this.modelState, this.label, () => {
1748
+ const root = this.modelState.sourceRoot;
1749
+ const name = findNextUnique(
1751
1750
  NODE_NAME_STEM,
1752
- state.sourceRoot.nodes.map(node => node.name)
1753
- )
1754
- );
1755
- // Whole-document undo, which is all a full-text source model can offer: it
1756
- // has exactly one field, so there is nothing to merge a concurrent edit into.
1757
- return {
1758
- execute: () => state.updateSourceModel({ text: after }),
1759
- undo: () => state.updateSourceModel({ text: before }),
1760
- redo: () => state.updateSourceModel({ text: after })
1761
- };
1762
- }
1763
-
1764
- /** The text the captured source root was parsed from — the baseline an edit appends to. */
1765
- protected documentText(): string {
1766
- return this.modelState.sourceRoot.$document?.textDocument.getText() ?? '';
1767
- }
1768
-
1769
- /** \`text\` with one more node declaration, under exactly one trailing newline. */
1770
- protected withNode(text: string, name: string): string {
1771
- const body = text.trimEnd();
1772
- const declaration = \`node \${name}\`;
1773
- return body.length === 0 ? \`\${declaration}\\n\` : \`\${body}\\n\${declaration}\\n\`;
1751
+ root.nodes.map(node => node.name)
1752
+ );
1753
+ appendChild(root, 'nodes', root.nodes, { $type: '__NODE_RULE__', name } as __NODE_RULE__);
1754
+ });
1774
1755
  }
1775
1756
  }
1776
1757
  `;
@@ -1856,6 +1837,75 @@ export class __GRAMMAR__DiagramModule extends AbstractHydraniumGlspDiagramModule
1856
1837
  binding.add(__GRAMMAR__CreateNodeOperationHandler);
1857
1838
  }
1858
1839
  }
1840
+ `;
1841
+ const diagramTest = `// The starter create-node handler, run the way a client runs it: an in-process
1842
+ // GLSP server opens a document, a create-node operation adds a node, and an undo
1843
+ // and a redo take it out and put it back. Every step must keep the nodes the
1844
+ // document already had, and its comments: the diagram writes the document from
1845
+ // its AST, which carries none.
1846
+
1847
+ import 'reflect-metadata';
1848
+ import { type Action, CreateNodeOperation, RedoAction, ServerModule, SetDirtyStateAction, UndoAction } from '@eclipse-glsp/server';
1849
+ import { initializeWorkspaceProgrammatically } from '@hydranium/core';
1850
+ import { makeScratchWorkspace, type ScratchWorkspace } from '@hydranium/core/testing/node';
1851
+ import { HydraniumGlspAppModule } from '@hydranium/glsp-server';
1852
+ import { type GlspHarness, makeGlspHarness } from '@hydranium/glsp-server/testing';
1853
+ import { waitFor } from '@hydranium/protocol/testing';
1854
+ import { afterEach, describe, expect, it } from 'vitest';
1855
+ import { __GRAMMAR__DiagramModule } from '../src/glsp/__GRAMMAR_ID__/diagram-module.js';
1856
+ import type { __GRAMMAR__GlspState } from '../src/glsp/__GRAMMAR_ID__/state.js';
1857
+ import { ${upper}_DIAGRAM_TYPE, ${upper}_NODE_TYPE } from '../src/glsp/__GRAMMAR_ID__/types.js';
1858
+ import { createServices } from '../src/services.js';
1859
+
1860
+ let workspace: ScratchWorkspace | undefined;
1861
+ let diagram: GlspHarness<__GRAMMAR__GlspState> | undefined;
1862
+
1863
+ afterEach(() => {
1864
+ diagram?.dispose();
1865
+ workspace?.dispose();
1866
+ diagram = undefined;
1867
+ workspace = undefined;
1868
+ });
1869
+
1870
+ /** Send \`action\` and wait for the dirty state the server answers it with, which it sends once the edit is written. */
1871
+ async function send(harness: GlspHarness<__GRAMMAR__GlspState>, action: Action, reason: string): Promise<void> {
1872
+ const before = harness.actions.length;
1873
+ harness.dispatch(action);
1874
+ await waitFor(() => harness.actions.slice(before).some(sent => SetDirtyStateAction.is(sent) && sent.reason === reason), {
1875
+ message: \`no '\${reason}' dirty state\`
1876
+ });
1877
+ }
1878
+
1879
+ describe('__GRAMMAR__ diagram', () => {
1880
+ it('creates a node after the existing ones, keeping their comments, and undoes and redoes it', async () => {
1881
+ workspace = makeScratchWorkspace({ prefix: '__GRAMMAR_ID__-diagram-' });
1882
+ const original = '// keep this comment\\nnode first -> second\\n// about second\\nnode second';
1883
+ const file = workspace.write('model.__EXTENSION__', original);
1884
+ const { shared } = createServices();
1885
+ await initializeWorkspaceProgrammatically(shared, workspace.root);
1886
+ diagram = makeGlspHarness<__GRAMMAR__GlspState>({
1887
+ serverModule: new ServerModule().configureDiagramModule(new __GRAMMAR__DiagramModule()),
1888
+ diagramType: ${upper}_DIAGRAM_TYPE,
1889
+ appModules: [new HydraniumGlspAppModule({ shared })]
1890
+ });
1891
+ await diagram.start();
1892
+ await diagram.openDocument(file);
1893
+ const uri = workspace.uri('model.__EXTENSION__');
1894
+ const text = (): string | undefined => shared.workspace.TextDocuments.get(uri)?.getText();
1895
+
1896
+ await send(diagram, CreateNodeOperation.create(${upper}_NODE_TYPE), 'operation');
1897
+ const created = text();
1898
+ await send(diagram, UndoAction.create(), 'undo');
1899
+ const undone = text();
1900
+ await send(diagram, RedoAction.create(), 'redo');
1901
+
1902
+ expect({ created, undone, redone: text() }).toEqual({
1903
+ created: \`\${original}\\nnode Node\`,
1904
+ undone: original,
1905
+ redone: \`\${original}\\nnode Node\`
1906
+ });
1907
+ });
1908
+ });
1859
1909
  `;
1860
1910
  return [
1861
1911
  { path: `${dir}/types.ts`, content: render(types) },
@@ -1865,7 +1915,8 @@ export class __GRAMMAR__DiagramModule extends AbstractHydraniumGlspDiagramModule
1865
1915
  { path: `${dir}/gmodel-factory.ts`, content: render(factory) },
1866
1916
  { path: `${dir}/diagram-configuration.ts`, content: render(configuration) },
1867
1917
  { path: `${dir}/create-node-operation-handler.ts`, content: render(createHandler) },
1868
- { path: `${dir}/diagram-module.ts`, content: render(module) }
1918
+ { path: `${dir}/diagram-module.ts`, content: render(module) },
1919
+ { path: `test/${grammar.grammarId}-diagram.test.ts`, content: render(diagramTest) }
1869
1920
  ];
1870
1921
  }
1871
1922
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../../src/commands/init-templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/cli",
3
- "version": "1.0.0-next.197",
3
+ "version": "1.0.0-next.198",
4
4
  "description": "Build-time codegen tools + data-server subcommands for the hydranium framework.",
5
5
  "keywords": [
6
6
  "cli",
@@ -69,20 +69,20 @@
69
69
  "ts-morph": "^25.0.0"
70
70
  },
71
71
  "devDependencies": {
72
- "@hydranium/core": "1.0.0-next.197",
73
- "@hydranium/data-server": "1.0.0-next.197",
74
- "@hydranium/langium": "1.0.0-next.197",
75
- "@hydranium/protocol": "1.0.0-next.197",
72
+ "@hydranium/core": "1.0.0-next.198",
73
+ "@hydranium/data-server": "1.0.0-next.198",
74
+ "@hydranium/langium": "1.0.0-next.198",
75
+ "@hydranium/protocol": "1.0.0-next.198",
76
76
  "rimraf": "^5.0.0",
77
77
  "typescript": "^7.0.2",
78
78
  "vscode-jsonrpc": "9.0.1",
79
79
  "vscode-languageserver": "~10.0.1"
80
80
  },
81
81
  "peerDependencies": {
82
- "@hydranium/core": "1.0.0-next.197",
83
- "@hydranium/data-server": "1.0.0-next.197",
84
- "@hydranium/langium": "1.0.0-next.197",
85
- "@hydranium/protocol": "1.0.0-next.197",
82
+ "@hydranium/core": "1.0.0-next.198",
83
+ "@hydranium/data-server": "1.0.0-next.198",
84
+ "@hydranium/langium": "1.0.0-next.198",
85
+ "@hydranium/protocol": "1.0.0-next.198",
86
86
  "@memlab/core": "^2.0.3",
87
87
  "@memlab/heap-analysis": "^2.0.3",
88
88
  "vscode-jsonrpc": "9.0.1"
@@ -1823,27 +1823,28 @@ export class __GRAMMAR__DiagramConfiguration implements DiagramConfiguration {
1823
1823
  // read-only is a deletion the compiler checks, while read-only → editable is
1824
1824
  // authoring against a seam you have not used yet.
1825
1825
  //
1826
- // **It composes TEXT rather than mutating the AST.** The source model of
1827
- // \`FullTextHydraniumGlspState\` is the document text, and reading it back through
1828
- // \`state.sourceModel\` serialises the AST through the per-URI \`Serializer\`, which
1829
- // this scaffold does not bind — so that getter throws until you do. Appending a
1830
- // declaration to the text the parser last read needs no serializer, which is what
1831
- // makes a scaffolded diagram editable on day one. Bind a \`Serializer\` at
1832
- // \`services.serializer.Serializer\` and this becomes a
1833
- // \`HydraniumGlspRecordingCommand\` over \`state.sourceModel\` instead — the same
1834
- // binding the diagram's own save action needs.
1826
+ // **It edits the operation's working copy.** A handler runs inside an operation,
1827
+ // where \`sourceRoot\` is a copy of the built root: the recording command's
1828
+ // runnable appends to the copy, and the operation writes the copy's text through
1829
+ // the grammar's \`Serializer\` once, gated on the version the copy was made at,
1830
+ // with undo and redo replaying that one change. A command that writes the
1831
+ // document itself instead reads no text off the copy, which has no \`$document\`,
1832
+ // and the operation's own write then overwrites it.
1835
1833
  //
1836
1834
  // **The drop location is discarded.** \`needsClientLayout\` is \`true\` and the
1837
1835
  // starter grammar persists no bounds, so there is nowhere to put a coordinate: the
1838
1836
  // node is appended at the end of the document and the client places it.
1839
1837
  //
1840
1838
  // Like \`types.ts\`, \`gmodel-factory.ts\` and \`diagram-configuration.ts\`, this file
1841
- // knows the starter grammar's concrete syntax — the \`node\` keyword below is that
1842
- // grammar's. Replacing the grammar means replacing these four together.
1839
+ // knows the starter grammar's shape — the \`nodes\` list and the \`__NODE_RULE__\`
1840
+ // it holds. Replacing the grammar means replacing these four together.
1843
1841
 
1844
1842
  import { type Command, type CreateNodeOperation, JsonCreateNodeOperationHandler, type MaybePromise } from '@eclipse-glsp/server';
1843
+ import { appendChild } from '@hydranium/core';
1844
+ import { HydraniumGlspRecordingCommand } from '@hydranium/glsp-server';
1845
1845
  import { findNextUnique } from '@hydranium/protocol';
1846
1846
  import { injectable } from 'inversify';
1847
+ import type { __NODE_RULE__ } from '../../language-server/ast.js';
1847
1848
  import { ${upper}_NODE_TYPE } from './types.js';
1848
1849
  import type { __GRAMMAR__GlspState } from './state.js';
1849
1850
 
@@ -1862,34 +1863,14 @@ export class __GRAMMAR__CreateNodeOperationHandler extends JsonCreateNodeOperati
1862
1863
  if (!this.elementTypeIds.includes(operation.elementTypeId)) {
1863
1864
  return undefined;
1864
1865
  }
1865
- const state = this.modelState;
1866
- const before = this.documentText();
1867
- const after = this.withNode(
1868
- before,
1869
- findNextUnique(
1866
+ return new HydraniumGlspRecordingCommand(this.modelState, this.label, () => {
1867
+ const root = this.modelState.sourceRoot;
1868
+ const name = findNextUnique(
1870
1869
  NODE_NAME_STEM,
1871
- state.sourceRoot.nodes.map(node => node.name)
1872
- )
1873
- );
1874
- // Whole-document undo, which is all a full-text source model can offer: it
1875
- // has exactly one field, so there is nothing to merge a concurrent edit into.
1876
- return {
1877
- execute: () => state.updateSourceModel({ text: after }),
1878
- undo: () => state.updateSourceModel({ text: before }),
1879
- redo: () => state.updateSourceModel({ text: after })
1880
- };
1881
- }
1882
-
1883
- /** The text the captured source root was parsed from — the baseline an edit appends to. */
1884
- protected documentText(): string {
1885
- return this.modelState.sourceRoot.$document?.textDocument.getText() ?? '';
1886
- }
1887
-
1888
- /** \`text\` with one more node declaration, under exactly one trailing newline. */
1889
- protected withNode(text: string, name: string): string {
1890
- const body = text.trimEnd();
1891
- const declaration = \`node \${name}\`;
1892
- return body.length === 0 ? \`\${declaration}\\n\` : \`\${body}\\n\${declaration}\\n\`;
1870
+ root.nodes.map(node => node.name)
1871
+ );
1872
+ appendChild(root, 'nodes', root.nodes, { $type: '__NODE_RULE__', name } as __NODE_RULE__);
1873
+ });
1893
1874
  }
1894
1875
  }
1895
1876
  `;
@@ -1985,6 +1966,76 @@ export class __GRAMMAR__DiagramModule extends AbstractHydraniumGlspDiagramModule
1985
1966
  binding.add(__GRAMMAR__CreateNodeOperationHandler);
1986
1967
  }
1987
1968
  }
1969
+ `;
1970
+
1971
+ const diagramTest = `// The starter create-node handler, run the way a client runs it: an in-process
1972
+ // GLSP server opens a document, a create-node operation adds a node, and an undo
1973
+ // and a redo take it out and put it back. Every step must keep the nodes the
1974
+ // document already had, and its comments: the diagram writes the document from
1975
+ // its AST, which carries none.
1976
+
1977
+ import 'reflect-metadata';
1978
+ import { type Action, CreateNodeOperation, RedoAction, ServerModule, SetDirtyStateAction, UndoAction } from '@eclipse-glsp/server';
1979
+ import { initializeWorkspaceProgrammatically } from '@hydranium/core';
1980
+ import { makeScratchWorkspace, type ScratchWorkspace } from '@hydranium/core/testing/node';
1981
+ import { HydraniumGlspAppModule } from '@hydranium/glsp-server';
1982
+ import { type GlspHarness, makeGlspHarness } from '@hydranium/glsp-server/testing';
1983
+ import { waitFor } from '@hydranium/protocol/testing';
1984
+ import { afterEach, describe, expect, it } from 'vitest';
1985
+ import { __GRAMMAR__DiagramModule } from '../src/glsp/__GRAMMAR_ID__/diagram-module.js';
1986
+ import type { __GRAMMAR__GlspState } from '../src/glsp/__GRAMMAR_ID__/state.js';
1987
+ import { ${upper}_DIAGRAM_TYPE, ${upper}_NODE_TYPE } from '../src/glsp/__GRAMMAR_ID__/types.js';
1988
+ import { createServices } from '../src/services.js';
1989
+
1990
+ let workspace: ScratchWorkspace | undefined;
1991
+ let diagram: GlspHarness<__GRAMMAR__GlspState> | undefined;
1992
+
1993
+ afterEach(() => {
1994
+ diagram?.dispose();
1995
+ workspace?.dispose();
1996
+ diagram = undefined;
1997
+ workspace = undefined;
1998
+ });
1999
+
2000
+ /** Send \`action\` and wait for the dirty state the server answers it with, which it sends once the edit is written. */
2001
+ async function send(harness: GlspHarness<__GRAMMAR__GlspState>, action: Action, reason: string): Promise<void> {
2002
+ const before = harness.actions.length;
2003
+ harness.dispatch(action);
2004
+ await waitFor(() => harness.actions.slice(before).some(sent => SetDirtyStateAction.is(sent) && sent.reason === reason), {
2005
+ message: \`no '\${reason}' dirty state\`
2006
+ });
2007
+ }
2008
+
2009
+ describe('__GRAMMAR__ diagram', () => {
2010
+ it('creates a node after the existing ones, keeping their comments, and undoes and redoes it', async () => {
2011
+ workspace = makeScratchWorkspace({ prefix: '__GRAMMAR_ID__-diagram-' });
2012
+ const original = '// keep this comment\\nnode first -> second\\n// about second\\nnode second';
2013
+ const file = workspace.write('model.__EXTENSION__', original);
2014
+ const { shared } = createServices();
2015
+ await initializeWorkspaceProgrammatically(shared, workspace.root);
2016
+ diagram = makeGlspHarness<__GRAMMAR__GlspState>({
2017
+ serverModule: new ServerModule().configureDiagramModule(new __GRAMMAR__DiagramModule()),
2018
+ diagramType: ${upper}_DIAGRAM_TYPE,
2019
+ appModules: [new HydraniumGlspAppModule({ shared })]
2020
+ });
2021
+ await diagram.start();
2022
+ await diagram.openDocument(file);
2023
+ const uri = workspace.uri('model.__EXTENSION__');
2024
+ const text = (): string | undefined => shared.workspace.TextDocuments.get(uri)?.getText();
2025
+
2026
+ await send(diagram, CreateNodeOperation.create(${upper}_NODE_TYPE), 'operation');
2027
+ const created = text();
2028
+ await send(diagram, UndoAction.create(), 'undo');
2029
+ const undone = text();
2030
+ await send(diagram, RedoAction.create(), 'redo');
2031
+
2032
+ expect({ created, undone, redone: text() }).toEqual({
2033
+ created: \`\${original}\\nnode Node\`,
2034
+ undone: original,
2035
+ redone: \`\${original}\\nnode Node\`
2036
+ });
2037
+ });
2038
+ });
1988
2039
  `;
1989
2040
 
1990
2041
  return [
@@ -1995,7 +2046,8 @@ export class __GRAMMAR__DiagramModule extends AbstractHydraniumGlspDiagramModule
1995
2046
  { path: `${dir}/gmodel-factory.ts`, content: render(factory) },
1996
2047
  { path: `${dir}/diagram-configuration.ts`, content: render(configuration) },
1997
2048
  { path: `${dir}/create-node-operation-handler.ts`, content: render(createHandler) },
1998
- { path: `${dir}/diagram-module.ts`, content: render(module) }
2049
+ { path: `${dir}/diagram-module.ts`, content: render(module) },
2050
+ { path: `test/${grammar.grammarId}-diagram.test.ts`, content: render(diagramTest) }
1999
2051
  ];
2000
2052
  }
2001
2053