ifc-language-server/node_modules/eslint/messages/config-serialize-function.js
Ryan Schultz 8afacf268a Implemented a working Language Server Protocol (LSP) for IFC files with:
- Hover provider showing entity information and type
- Go-to-definition (F12) for entity references
- Basic IFC file validation (ISO-10303-21 header check)
- Entity parsing with regex-based detection
- Proper CommonJS module system (avoiding ES module issues)

This replaces the broken baseline from ifc-developer-tools which had:
- Non-functional ES module configuration
- Circular dependency issues
- Parser crashes
- Non-working PositionVisitor

Built on Microsoft's LSP example template for a clean, maintainable foundation.

Next: Add hierarchical entity dependency tree in hover tooltip."
2025-12-07 10:20:07 -06:00

30 lines
942 B
JavaScript

"use strict";
module.exports = function ({ key, objectKey }) {
// special case for parsers
const isParser =
objectKey === "parser" && (key === "parse" || key === "parseForESLint");
const parserMessage = `
This typically happens when you're using a custom parser that does not
provide a "meta" property, which is how ESLint determines the serialized
representation. Please open an issue with the maintainer of the custom parser
and share this link:
https://eslint.org/docs/latest/extend/custom-parsers#meta-data-in-custom-parsers
`.trim();
return `
The requested operation requires ESLint to serialize configuration data,
but the configuration key "${objectKey}.${key}" contains a function value,
which cannot be serialized.
${
isParser
? parserMessage
: "Please double-check your configuration for errors."
}
If you still have problems, please stop by https://eslint.org/chat/help to chat
with the team.
`.trimStart();
};