@ripple-ts/language-server 0.3.54 → 0.3.56

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/server.js CHANGED
@@ -1,111 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_typescriptService = require('./typescriptService-mlv6mda-.js');
3
- let volar_service_css = require("volar-service-css");
2
+ const require_server = require('./server-BvQFo7aV.js');
4
3
 
5
- //#region src/server.js
6
- /** @import {CompilerOptions} from 'typescript' */
7
- var import_node = require_typescriptService.require_node();
8
- const { log, logError } = require_typescriptService.createLogging("[Ripple Language Server]");
9
- function createRippleLanguageServer() {
10
- const connection = (0, import_node.createConnection)();
11
- const server = (0, import_node.createServer)(connection);
12
- connection.listen();
13
- const rippleLanguagePlugin = require_typescriptService.getRippleLanguagePlugin();
14
- log("Language plugin instance created");
15
- /** @type {WeakSet<Function>} */
16
- const wrappedFunctions = /* @__PURE__ */ new WeakSet();
17
- /**
18
- * Ensure TypeScript hosts always see compiler options with Ripple defaults.
19
- * @param {unknown} target
20
- * @param {string} method
21
- */
22
- function wrapCompilerOptionsProvider(target, method) {
23
- if (!target) return;
24
- const host = target;
25
- const original = host[method];
26
- if (typeof original !== "function" || wrappedFunctions.has(original)) return;
27
- /** @type {CompilerOptions | undefined} */
28
- let cachedInput;
29
- /** @type {CompilerOptions | undefined} */
30
- let cachedOutput;
31
- const wrapped = () => {
32
- /** @type {CompilerOptions} */
33
- const input = original.call(host);
34
- if (cachedInput !== input) {
35
- cachedInput = input;
36
- cachedOutput = require_typescriptService.resolveConfig({ options: input }).options;
37
- }
38
- return cachedOutput;
39
- };
40
- wrappedFunctions.add(original);
41
- wrappedFunctions.add(wrapped);
42
- host[method] = wrapped;
43
- }
44
- connection.onInitialize(async (params) => {
45
- try {
46
- log("Initializing Ripple language server...");
47
- log("Initialization options:", JSON.stringify(params.initializationOptions, null, 2));
48
- const ts = require("typescript");
49
- const initResult = server.initialize(params, (0, import_node.createTypeScriptProject)(ts, void 0, ({ projectHost }) => {
50
- wrapCompilerOptionsProvider(projectHost, "getCompilationSettings");
51
- return {
52
- languagePlugins: [rippleLanguagePlugin],
53
- setup({ project }) {
54
- wrapCompilerOptionsProvider(project?.typescript?.languageServiceHost, "getCompilationSettings");
55
- }
56
- };
57
- }), [
58
- require_typescriptService.createAutoInsertPlugin(),
59
- require_typescriptService.createCompletionPlugin(),
60
- require_typescriptService.createCompileErrorDiagnosticPlugin(),
61
- require_typescriptService.createDefinitionPlugin(),
62
- (0, volar_service_css.create)(),
63
- ...require_typescriptService.createTypeScriptServices(ts),
64
- require_typescriptService.createTypeScriptDiagnosticFilterPlugin(),
65
- require_typescriptService.createHoverPlugin(),
66
- require_typescriptService.createDocumentHighlightPlugin()
67
- ]);
68
- log("Server initialization complete");
69
- return initResult;
70
- } catch (initError) {
71
- logError("Server initialization failed:", initError);
72
- throw initError;
73
- }
74
- });
75
- connection.onInitialized(async () => {
76
- log("Server initialized.");
77
- server.initialized();
78
- try {
79
- await server.fileWatcher.watchFiles([
80
- "**/*.ts",
81
- "**/*.tsx",
82
- "**/*.cts",
83
- "**/*.mts",
84
- "**/*.js",
85
- "**/*.jsx",
86
- "**/*.cjs",
87
- "**/*.mjs",
88
- "**/*.d.ts",
89
- "**/tsconfig.json",
90
- "**/jsconfig.json"
91
- ]);
92
- log("File watchers registered for TypeScript/JavaScript files.");
93
- } catch (err) {
94
- logError("Failed to register file watchers:", err);
95
- }
96
- });
97
- process.on("uncaughtException", (err) => {
98
- logError("Uncaught exception:", err);
99
- });
100
- process.on("unhandledRejection", (reason, promise) => {
101
- logError("Unhandled rejection at:", promise, "reason:", reason);
102
- });
103
- return {
104
- connection,
105
- server
106
- };
107
- }
108
-
109
- //#endregion
110
- exports.createRippleLanguageServer = createRippleLanguageServer;
111
- //# sourceMappingURL=server.js.map
4
+ exports.createRippleLanguageServer = require_server.createRippleLanguageServer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ripple-ts/language-server",
3
- "version": "0.3.54",
3
+ "version": "0.3.56",
4
4
  "description": "Language Server Protocol implementation for Ripple",
5
5
  "main": "dist/server.js",
6
6
  "type": "module",
@@ -23,12 +23,12 @@
23
23
  "volar-service-typescript": "0.0.70",
24
24
  "vscode-languageserver-textdocument": "^1.0.12",
25
25
  "vscode-uri": "^3.1.0",
26
- "@tsrx/typescript-plugin": "0.3.54",
27
- "@tsrx/core": "0.1.4"
26
+ "@tsrx/typescript-plugin": "0.3.56",
27
+ "@tsrx/core": "0.1.6"
28
28
  },
29
29
  "devDependencies": {
30
- "tsdown": "^0.20.3",
31
- "@tsrx/ripple": "0.1.4"
30
+ "tsdown": "^0.22.0",
31
+ "@tsrx/ripple": "0.1.6"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "typescript": "^5.9.3"
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","names":["createLogging","getRippleLanguagePlugin","resolveConfig","createAutoInsertPlugin","createCompletionPlugin","createCompileErrorDiagnosticPlugin","createDefinitionPlugin","createTypeScriptServices","createTypeScriptDiagnosticFilterPlugin","createHoverPlugin","createDocumentHighlightPlugin"],"sources":["../src/server.js"],"sourcesContent":["/** @import {CompilerOptions} from 'typescript' */\n\nimport { createLogging } from './utils.js';\nimport {\n\tcreateConnection,\n\tcreateServer,\n\tcreateTypeScriptProject,\n} from '@volar/language-server/node';\nimport { createCompileErrorDiagnosticPlugin } from './compileErrorDiagnosticPlugin.js';\nimport { createDefinitionPlugin } from './definitionPlugin.js';\nimport { createHoverPlugin } from './hoverPlugin.js';\nimport { createCompletionPlugin } from './completionPlugin.js';\nimport { createAutoInsertPlugin } from './autoInsertPlugin.js';\nimport { createTypeScriptDiagnosticFilterPlugin } from './typescriptDiagnosticPlugin.js';\nimport { createDocumentHighlightPlugin } from './documentHighlightPlugin.js';\nimport { getRippleLanguagePlugin, resolveConfig } from '@tsrx/typescript-plugin/src/language.js';\nimport { createTypeScriptServices } from './typescriptService.js';\nimport { create as createCssService } from 'volar-service-css';\n\nconst { log, logError } = createLogging('[Ripple Language Server]');\n\nexport function createRippleLanguageServer() {\n\tconst connection = createConnection();\n\tconst server = createServer(connection);\n\n\tconnection.listen();\n\n\t// Create language plugin instance once and reuse it\n\t// This prevents creating multiple instances if the callback is called multiple times\n\tconst rippleLanguagePlugin = getRippleLanguagePlugin();\n\tlog('Language plugin instance created');\n\n\t/** @type {WeakSet<Function>} */\n\tconst wrappedFunctions = new WeakSet();\n\n\t/**\n\t * Ensure TypeScript hosts always see compiler options with Ripple defaults.\n\t * @param {unknown} target\n\t * @param {string} method\n\t */\n\tfunction wrapCompilerOptionsProvider(target, method) {\n\t\tif (!target) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst host = /** @type {{ [key: string]: unknown }} */ (target);\n\t\tconst original = host[method];\n\t\tif (typeof original !== 'function' || wrappedFunctions.has(original)) {\n\t\t\treturn;\n\t\t}\n\n\t\t/** @type {CompilerOptions | undefined} */\n\t\tlet cachedInput;\n\t\t/** @type {CompilerOptions | undefined} */\n\t\tlet cachedOutput;\n\n\t\tconst wrapped = () => {\n\t\t\t/** @type {CompilerOptions} */\n\t\t\tconst input = original.call(host);\n\t\t\tif (cachedInput !== input) {\n\t\t\t\tcachedInput = input;\n\t\t\t\tcachedOutput = resolveConfig({ options: input }).options;\n\t\t\t}\n\t\t\treturn cachedOutput;\n\t\t};\n\n\t\twrappedFunctions.add(original);\n\t\twrappedFunctions.add(wrapped);\n\t\thost[method] = wrapped;\n\t}\n\n\tconnection.onInitialize(async (params) => {\n\t\ttry {\n\t\t\tlog('Initializing Ripple language server...');\n\t\t\tlog('Initialization options:', JSON.stringify(params.initializationOptions, null, 2));\n\n\t\t\tconst ts = require('typescript');\n\n\t\t\tconst initResult = server.initialize(\n\t\t\t\tparams,\n\t\t\t\tcreateTypeScriptProject(ts, undefined, ({ projectHost }) => {\n\t\t\t\t\twrapCompilerOptionsProvider(projectHost, 'getCompilationSettings');\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tlanguagePlugins: [rippleLanguagePlugin],\n\t\t\t\t\t\tsetup({ project }) {\n\t\t\t\t\t\t\twrapCompilerOptionsProvider(\n\t\t\t\t\t\t\t\tproject?.typescript?.languageServiceHost,\n\t\t\t\t\t\t\t\t'getCompilationSettings',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\t[\n\t\t\t\t\tcreateAutoInsertPlugin(),\n\t\t\t\t\tcreateCompletionPlugin(),\n\t\t\t\t\tcreateCompileErrorDiagnosticPlugin(),\n\t\t\t\t\tcreateDefinitionPlugin(),\n\t\t\t\t\tcreateCssService(),\n\t\t\t\t\t...createTypeScriptServices(ts),\n\t\t\t\t\t// !IMPORTANT 'createTypeScriptDiagnosticFilterPlugin', 'createHoverPlugin',\n\t\t\t\t\t// and 'createDocumentHighlightPlugin' must come after TypeScript services\n\t\t\t\t\t// to intercept volar's and vscode default providers\n\t\t\t\t\tcreateTypeScriptDiagnosticFilterPlugin(),\n\t\t\t\t\tcreateHoverPlugin(),\n\t\t\t\t\tcreateDocumentHighlightPlugin(),\n\t\t\t\t],\n\t\t\t);\n\n\t\t\tlog('Server initialization complete');\n\t\t\treturn initResult;\n\t\t} catch (initError) {\n\t\t\tlogError('Server initialization failed:', initError);\n\t\t\tthrow initError;\n\t\t}\n\t});\n\n\tconnection.onInitialized(async () => {\n\t\tlog('Server initialized.');\n\t\tserver.initialized();\n\n\t\t// Register file watchers for TypeScript/JavaScript files so the language\n\t\t// server is notified when they change on disk. Without this, changes to\n\t\t// .ts files that are imported by .tsrx files are not detected, causing\n\t\t// stale diagnostics until the server is restarted.\n\t\ttry {\n\t\t\tawait server.fileWatcher.watchFiles([\n\t\t\t\t'**/*.ts',\n\t\t\t\t'**/*.tsx',\n\t\t\t\t'**/*.cts',\n\t\t\t\t'**/*.mts',\n\t\t\t\t'**/*.js',\n\t\t\t\t'**/*.jsx',\n\t\t\t\t'**/*.cjs',\n\t\t\t\t'**/*.mjs',\n\t\t\t\t'**/*.d.ts',\n\t\t\t\t'**/tsconfig.json',\n\t\t\t\t'**/jsconfig.json',\n\t\t\t]);\n\t\t\tlog('File watchers registered for TypeScript/JavaScript files.');\n\t\t} catch (err) {\n\t\t\tlogError('Failed to register file watchers:', err);\n\t\t}\n\t});\n\n\tprocess.on('uncaughtException', (err) => {\n\t\tlogError('Uncaught exception:', err);\n\t});\n\n\tprocess.on('unhandledRejection', (reason, promise) => {\n\t\tlogError('Unhandled rejection at:', promise, 'reason:', reason);\n\t});\n\n\treturn { connection, server };\n}\n"],"mappings":";;;;;;;AAmBA,MAAM,EAAE,KAAK,aAAaA,wCAAc,2BAA2B;AAEnE,SAAgB,6BAA6B;CAC5C,MAAM,gDAA+B;CACrC,MAAM,uCAAsB,WAAW;AAEvC,YAAW,QAAQ;CAInB,MAAM,uBAAuBC,mDAAyB;AACtD,KAAI,mCAAmC;;CAGvC,MAAM,mCAAmB,IAAI,SAAS;;;;;;CAOtC,SAAS,4BAA4B,QAAQ,QAAQ;AACpD,MAAI,CAAC,OACJ;EAGD,MAAM,OAAkD;EACxD,MAAM,WAAW,KAAK;AACtB,MAAI,OAAO,aAAa,cAAc,iBAAiB,IAAI,SAAS,CACnE;;EAID,IAAI;;EAEJ,IAAI;EAEJ,MAAM,gBAAgB;;GAErB,MAAM,QAAQ,SAAS,KAAK,KAAK;AACjC,OAAI,gBAAgB,OAAO;AAC1B,kBAAc;AACd,mBAAeC,wCAAc,EAAE,SAAS,OAAO,CAAC,CAAC;;AAElD,UAAO;;AAGR,mBAAiB,IAAI,SAAS;AAC9B,mBAAiB,IAAI,QAAQ;AAC7B,OAAK,UAAU;;AAGhB,YAAW,aAAa,OAAO,WAAW;AACzC,MAAI;AACH,OAAI,yCAAyC;AAC7C,OAAI,2BAA2B,KAAK,UAAU,OAAO,uBAAuB,MAAM,EAAE,CAAC;GAErF,MAAM,KAAK,QAAQ,aAAa;GAEhC,MAAM,aAAa,OAAO,WACzB,iDACwB,IAAI,SAAY,EAAE,kBAAkB;AAC3D,gCAA4B,aAAa,yBAAyB;AAElE,WAAO;KACN,iBAAiB,CAAC,qBAAqB;KACvC,MAAM,EAAE,WAAW;AAClB,kCACC,SAAS,YAAY,qBACrB,yBACA;;KAEF;KACA,EACF;IACCC,kDAAwB;IACxBC,kDAAwB;IACxBC,8DAAoC;IACpCC,kDAAwB;mCACN;IAClB,GAAGC,mDAAyB,GAAG;IAI/BC,kEAAwC;IACxCC,6CAAmB;IACnBC,yDAA+B;IAC/B,CACD;AAED,OAAI,iCAAiC;AACrC,UAAO;WACC,WAAW;AACnB,YAAS,iCAAiC,UAAU;AACpD,SAAM;;GAEN;AAEF,YAAW,cAAc,YAAY;AACpC,MAAI,sBAAsB;AAC1B,SAAO,aAAa;AAMpB,MAAI;AACH,SAAM,OAAO,YAAY,WAAW;IACnC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC;AACF,OAAI,4DAA4D;WACxD,KAAK;AACb,YAAS,qCAAqC,IAAI;;GAElD;AAEF,SAAQ,GAAG,sBAAsB,QAAQ;AACxC,WAAS,uBAAuB,IAAI;GACnC;AAEF,SAAQ,GAAG,uBAAuB,QAAQ,YAAY;AACrD,WAAS,2BAA2B,SAAS,WAAW,OAAO;GAC9D;AAEF,QAAO;EAAE;EAAY;EAAQ"}