@hydranium/core 1.0.0-next.228 → 1.0.0-next.229

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":"single-langium-copy.d.ts","sourceRoot":"","sources":["../../src/langium/single-langium-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAO/E;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACpC,UAAU,EAAE,aAAa,EACzB,OAAO,GAAE,MAAM,MAA+F,GAC9G,IAAI,CAaN"}
1
+ {"version":3,"file":"single-langium-copy.d.ts","sourceRoot":"","sources":["../../src/langium/single-langium-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACpC,UAAU,EAAE,aAAa,EACzB,OAAO,GAAE,MAAM,MAA+F,GAC9G,IAAI,CAgBN"}
@@ -7,9 +7,6 @@
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
9
  import { AbstractAstReflection } from '@hydranium/langium';
10
- /** The troubleshooting entry listing the causes; its heading is the anchor. */
11
- const CAUSES_URL = 'https://github.com/eclipse-emfcloud/hydranium/blob/main/docs/adopting/troubleshooting.md' +
12
- '#startup-rejects-the-ast-reflection-or-a-cancelled-validation-reports-symboloperationcancelled';
13
10
  /**
14
11
  * Fail fast when `reflection` extends `AbstractAstReflection` from a second
15
12
  * copy of `langium`, which the files `langium-cli` generates run on: a second
@@ -30,7 +27,10 @@ export function assertSingleLangiumCopy(reflection, subject = () => `the shared
30
27
  'the one `@hydranium/langium` loads, a second physical copy or one install loaded twice, so the generated ' +
31
28
  'code runs on one and the framework on the other. Values Langium compares by identity, such as its ' +
32
29
  'cancellation signal, are not recognised across the two. `npm explain langium` lists each installed copy ' +
33
- `and what requires it. The causes and their remedies: ${CAUSES_URL}`);
30
+ 'and what requires it. If your package resolves another version, declare `langium` at the version ' +
31
+ '`@hydranium/langium` pins and reinstall from scratch, without the lockfile; in a workspace, declare the ' +
32
+ 'same pins in the root as well. If a test runner or bundler inlines `langium` but not `@hydranium/*`, ' +
33
+ 'load both the same way.');
34
34
  }
35
35
  }
36
36
  //# sourceMappingURL=single-langium-copy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-langium-copy.js","sourceRoot":"","sources":["../../src/langium/single-langium-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,qBAAqB,EAAsB,MAAM,oBAAoB,CAAC;AAE/E,+EAA+E;AAC/E,MAAM,UAAU,GACb,0FAA0F;IAC1F,gGAAgG,CAAC;AAEpG;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACpC,UAAyB,EACzB,OAAO,GAAiB,GAAG,EAAE,CAAC,6BAA6B,UAAU,CAAC,WAAW,EAAE,IAAI,IAAI,gBAAgB,GAAG;IAE9G,IAAI,UAAU,YAAY,qBAAqB,EAAE,CAAC;QAC/C,OAAO;IACV,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CACZ,eAAe,OAAO,EAAE,+EAA+E;YACpG,2GAA2G;YAC3G,oGAAoG;YACpG,0GAA0G;YAC1G,wDAAwD,UAAU,EAAE,CACzE,CAAC;IACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"single-langium-copy.js","sourceRoot":"","sources":["../../src/langium/single-langium-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,qBAAqB,EAAsB,MAAM,oBAAoB,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACpC,UAAyB,EACzB,OAAO,GAAiB,GAAG,EAAE,CAAC,6BAA6B,UAAU,CAAC,WAAW,EAAE,IAAI,IAAI,gBAAgB,GAAG;IAE9G,IAAI,UAAU,YAAY,qBAAqB,EAAE,CAAC;QAC/C,OAAO;IACV,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CACZ,eAAe,OAAO,EAAE,+EAA+E;YACpG,2GAA2G;YAC3G,oGAAoG;YACpG,0GAA0G;YAC1G,mGAAmG;YACnG,0GAA0G;YAC1G,uGAAuG;YACvG,yBAAyB,CAC9B,CAAC;IACL,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/core",
3
- "version": "1.0.0-next.228",
3
+ "version": "1.0.0-next.229",
4
4
  "description": "Foundational runtime of the hydranium framework: AST coordination layer (services, integrity, AST extension, serialization, multi-client documents) plus the LSP textual head at the /lsp subpath. Consumed by protocol-head packages (@hydranium/data-server, @hydranium/glsp-server).",
5
5
  "keywords": [
6
6
  "ast",
@@ -83,8 +83,8 @@
83
83
  "diff": "^5.2.0"
84
84
  },
85
85
  "devDependencies": {
86
- "@hydranium/langium": "1.0.0-next.228",
87
- "@hydranium/protocol": "1.0.0-next.228",
86
+ "@hydranium/langium": "1.0.0-next.229",
87
+ "@hydranium/protocol": "1.0.0-next.229",
88
88
  "@playwright/test": "^1.40.0",
89
89
  "@types/diff": "^5.2.0",
90
90
  "rimraf": "^5.0.0",
@@ -96,8 +96,8 @@
96
96
  "vscode-languageserver-types": "^3.17.5"
97
97
  },
98
98
  "peerDependencies": {
99
- "@hydranium/langium": "1.0.0-next.228",
100
- "@hydranium/protocol": "1.0.0-next.228",
99
+ "@hydranium/langium": "1.0.0-next.229",
100
+ "@hydranium/protocol": "1.0.0-next.229",
101
101
  "@playwright/test": "^1.40.0",
102
102
  "vscode-jsonrpc": "^9.0.0",
103
103
  "vscode-languageserver": "~10.0.1",
@@ -113,7 +113,7 @@
113
113
  "engines": {
114
114
  "node": ">=22.13"
115
115
  },
116
- "//peerDependencies": "`vscode-jsonrpc` takes a caret, so the framework shares the transport the LSP connection resolves, which an `init` scaffold pins: each `vscode-languageserver-protocol` release pins its transport exactly, so an exact peer would name a copy a fresh install rarely holds. The caret excludes 8.x, so a tree whose top holds GLSP's copy fails the peer with a named ERESOLVE warning, an error under `--strict-peer-deps`, rather than resolving silently. No peer reaches a NESTED copy, such as GLSP's or one the LSP packages nest; docs/adopting/requirements.md has the chain. The wire compares message types and `ResponseError`s by copy identity, so the framework sends typed messages by method name and recognises errors with `isResponseError` rather than `instanceof`. This manifest declares the two links ABOVE the transport as well, with `~`: each admits exactly what the pinned `langium` itself admits, and a range reaching back past the 3.18 stack admits a release on the 8.x transport. `vscode-languageserver-types` and `vscode-languageserver-textdocument` are deliberately NOT narrowed: both declare zero dependencies and expose structural APIs, so a duplicate of either drags no transport in and no identity check reads it.",
116
+ "//peerDependencies": "`vscode-jsonrpc` takes a caret, so the framework shares the transport the LSP connection resolves, which an `init` scaffold pins: each `vscode-languageserver-protocol` release pins its transport exactly, so an exact peer would name a copy a fresh install rarely holds. The caret excludes 8.x, so a tree whose top holds GLSP's copy fails the peer with a named ERESOLVE warning, an error under `--strict-peer-deps`, rather than resolving silently. No peer reaches a NESTED copy, such as GLSP's or one the LSP packages nest. The wire compares message types and `ResponseError`s by copy identity, so the framework sends typed messages by method name and recognises errors with `isResponseError` rather than `instanceof`. This manifest declares the two links ABOVE the transport as well, with `~`: each admits exactly what the pinned `langium` itself admits, and a range reaching back past the 3.18 stack admits a release on the 8.x transport. `vscode-languageserver-types` and `vscode-languageserver-textdocument` are deliberately NOT narrowed: both declare zero dependencies and expose structural APIs, so a duplicate of either drags no transport in and no identity check reads it.",
117
117
  "//prepack": "The publish guard, a `prepack` rather than a `prepare`: `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.",
118
118
  "//sideEffects": "NOT `false`: two barrels do work at module load that their re-exports do not account for, and a bundler skips an unflagged re-export barrel outright. `node/index.js` calls `installNodeLogFileSink()` and `installNodeWriteLockScope()`, which is how a Node host gets the log file-tee and write-lock reentrancy detection merely by importing `@hydranium/core/node`. `util/index.js` carries a bare `import '@hydranium/langium'` so the `UriUtils` namespace augmentation stays loaded for anything importing from here. Both failures are runtime-only and silent — a missing log file, a `UriUtils.toUri` that is `undefined`."
119
119
  }
@@ -9,11 +9,6 @@
9
9
 
10
10
  import { AbstractAstReflection, type AstReflection } from '@hydranium/langium';
11
11
 
12
- /** The troubleshooting entry listing the causes; its heading is the anchor. */
13
- const CAUSES_URL =
14
- 'https://github.com/eclipse-emfcloud/hydranium/blob/main/docs/adopting/troubleshooting.md' +
15
- '#startup-rejects-the-ast-reflection-or-a-cancelled-validation-reports-symboloperationcancelled';
16
-
17
12
  /**
18
13
  * Fail fast when `reflection` extends `AbstractAstReflection` from a second
19
14
  * copy of `langium`, which the files `langium-cli` generates run on: a second
@@ -38,7 +33,10 @@ export function assertSingleLangiumCopy(
38
33
  'the one `@hydranium/langium` loads, a second physical copy or one install loaded twice, so the generated ' +
39
34
  'code runs on one and the framework on the other. Values Langium compares by identity, such as its ' +
40
35
  'cancellation signal, are not recognised across the two. `npm explain langium` lists each installed copy ' +
41
- `and what requires it. The causes and their remedies: ${CAUSES_URL}`
36
+ 'and what requires it. If your package resolves another version, declare `langium` at the version ' +
37
+ '`@hydranium/langium` pins and reinstall from scratch, without the lockfile; in a workspace, declare the ' +
38
+ 'same pins in the root as well. If a test runner or bundler inlines `langium` but not `@hydranium/*`, ' +
39
+ 'load both the same way.'
42
40
  );
43
41
  }
44
42
  }