New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

langium-cli

Package Overview
Dependencies
Maintainers
2
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

langium-cli - npm Package Compare versions

Comparing version 0.4.0 to 0.5.0-next.f2b3802

5

lib/generate.js

@@ -14,2 +14,3 @@ "use strict";

const langium_1 = require("langium");
const node_1 = require("langium/node");
const path_1 = __importDefault(require("path"));

@@ -24,3 +25,3 @@ const vscode_uri_1 = require("vscode-uri");

const parser_validation_1 = require("./parser-validation");
const { shared: sharedServices, grammar: grammarServices } = (0, langium_1.createLangiumGrammarServices)();
const { shared: sharedServices, grammar: grammarServices } = (0, langium_1.createLangiumGrammarServices)(node_1.NodeFileSystem);
const documents = sharedServices.workspace.LangiumDocuments;

@@ -146,3 +147,3 @@ function eagerLoad(document, uris = new Set()) {

// Create and validate the in-memory parser
const parserAnalysis = (0, parser_validation_1.validateParser)(grammar, config, configMap, documents);
const parserAnalysis = (0, parser_validation_1.validateParser)(grammar, config, configMap, grammarServices);
if (parserAnalysis instanceof Error) {

@@ -149,0 +150,0 @@ (0, util_1.log)('error', options, parserAnalysis.toString().red);

2

lib/generator/util.js

@@ -78,3 +78,3 @@ "use strict";

for (const rule of (0, langium_1.stream)(grammar.rules).filter(langium.isParserRule)) {
collectElementKeywords(rule.alternatives, keywords);
collectElementKeywords(rule.definition, keywords);
}

@@ -81,0 +81,0 @@ return Array.from(keywords).sort((a, b) => a.localeCompare(b));

@@ -6,5 +6,5 @@ /******************************************************************************

******************************************************************************/
import { Grammar, LangiumDocuments } from 'langium';
import { Grammar, LangiumGrammarServices } from 'langium';
import { LangiumConfig, LangiumLanguageConfig } from './package';
export declare function validateParser(grammar: Grammar, config: LangiumConfig, grammarConfigMap: Map<Grammar, LangiumLanguageConfig>, documents: LangiumDocuments): Error | undefined;
export declare function validateParser(grammar: Grammar, config: LangiumConfig, grammarConfigMap: Map<Grammar, LangiumLanguageConfig>, grammarServices: LangiumGrammarServices): Error | undefined;
//# sourceMappingURL=parser-validation.d.ts.map

@@ -11,18 +11,11 @@ "use strict";

const package_1 = require("./package");
function validateParser(grammar, config, grammarConfigMap, documents) {
function validateParser(grammar, config, grammarConfigMap, grammarServices) {
var _a;
const parserConfig = Object.assign(Object.assign(Object.assign({}, config.chevrotainParserConfig), (_a = grammarConfigMap.get(grammar)) === null || _a === void 0 ? void 0 : _a.chevrotainParserConfig), { skipValidations: false });
const generatedSharedModule = {
AstReflection: (0, langium_1.interpretAstReflection)(grammar, documents),
};
const generatedModule = {
Grammar: () => grammar,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
LanguageMetaData: () => grammarConfigMap.get(grammar),
parser: {
ParserConfig: () => parserConfig
}
};
const shared = (0, langium_1.inject)((0, langium_1.createDefaultSharedModule)(), generatedSharedModule);
const services = (0, langium_1.inject)((0, langium_1.createDefaultModule)({ shared }), generatedModule);
const services = (0, langium_1.createServicesForGrammar)({
grammarServices,
grammar,
languageMetaData: languageConfigToMetaData(grammarConfigMap.get(grammar)),
parserConfig
});
let parser;

@@ -42,3 +35,3 @@ try {

if (defError.ruleName) {
const rule = findRule(defError.ruleName, grammar, documents);
const rule = findRule(defError.ruleName, grammar, grammarServices.shared.workspace.LangiumDocuments);
if (rule && rule.$cstNode) {

@@ -61,2 +54,10 @@ const filePath = (0, package_1.getFilePath)((0, langium_1.getDocument)(rule).uri.fsPath, config);

exports.validateParser = validateParser;
function languageConfigToMetaData(config) {
var _a;
return {
languageId: config.id,
fileExtensions: (_a = config.fileExtensions) !== null && _a !== void 0 ? _a : [],
caseInsensitive: !!config.caseInsensitive
};
}
function findRule(name, grammar, documents) {

@@ -63,0 +64,0 @@ for (const rule of grammar.rules) {

{
"name": "langium-cli",
"version": "0.4.0",
"version": "0.5.0-next.f2b3802",
"description": "CLI for Langium - the language engineering tool",

@@ -28,3 +28,3 @@ "homepage": "https://langium.org",

"scripts": {
"clean": "rimraf lib coverage",
"clean": "shx rm -rf lib coverage",
"build": "tsc",

@@ -42,17 +42,7 @@ "watch": "tsc --watch",

"jsonschema": "^1.4.0",
"langium": "~0.4.0",
"langium": "0.5.0-next.f2b3802",
"lodash": "^4.17.21"
},
"devDependencies": {
"@types/fs-extra": "^9.0.11",
"@types/jest": "^26.0.20",
"@types/node": "^12.12.6",
"@typescript-eslint/eslint-plugin": "^4.15.2",
"@typescript-eslint/parser": "^4.15.2",
"eslint": "^7.20.0",
"eslint-plugin-header": "^3.1.1",
"jest": "^26.6.3",
"rimraf": "^3.0.2",
"ts-jest": "^26.5.2",
"typescript": "^4.6.2"
"@types/fs-extra": "^9.0.13"
},

@@ -59,0 +49,0 @@ "repository": {

@@ -12,2 +12,3 @@ /******************************************************************************

} from 'langium';
import { NodeFileSystem } from 'langium/node';
import path from 'path';

@@ -30,3 +31,3 @@ import { URI } from 'vscode-uri';

const { shared: sharedServices, grammar: grammarServices } = createLangiumGrammarServices();
const { shared: sharedServices, grammar: grammarServices } = createLangiumGrammarServices(NodeFileSystem);
const documents = sharedServices.workspace.LangiumDocuments;

@@ -160,3 +161,3 @@

// Create and validate the in-memory parser
const parserAnalysis = validateParser(grammar, config, configMap, documents);
const parserAnalysis = validateParser(grammar, config, configMap, grammarServices);
if (parserAnalysis instanceof Error) {

@@ -163,0 +164,0 @@ log('error', options, parserAnalysis.toString().red);

@@ -61,3 +61,3 @@ /******************************************************************************

for (const rule of stream(grammar.rules).filter(langium.isParserRule)) {
collectElementKeywords(rule.alternatives, keywords);
collectElementKeywords(rule.definition, keywords);
}

@@ -64,0 +64,0 @@

@@ -7,11 +7,7 @@ /******************************************************************************

import {
createDefaultModule, createDefaultSharedModule, getDocument, Grammar, inject, interpretAstReflection, IParserConfig,
isGrammar, isParserRule, LangiumDocuments, LangiumGeneratedServices, LangiumGeneratedSharedServices,
LangiumParser, LangiumServices, LangiumSharedServices, Module, ParserRule, prepareLangiumParser
} from 'langium';
import { createServicesForGrammar, getDocument, Grammar, IParserConfig, isGrammar, isParserRule, LangiumDocuments, LangiumGrammarServices, LangiumParser, LanguageMetaData, ParserRule, prepareLangiumParser } from 'langium';
import { getFilePath, LangiumConfig, LangiumLanguageConfig } from './package';
export function validateParser(grammar: Grammar, config: LangiumConfig, grammarConfigMap: Map<Grammar, LangiumLanguageConfig>,
documents: LangiumDocuments): Error | undefined {
grammarServices: LangiumGrammarServices): Error | undefined {
const parserConfig: IParserConfig = {

@@ -22,15 +18,8 @@ ...config.chevrotainParserConfig,

};
const generatedSharedModule: Module<LangiumSharedServices, LangiumGeneratedSharedServices> = {
AstReflection: interpretAstReflection(grammar, documents),
};
const generatedModule: Module<LangiumServices, LangiumGeneratedServices> = {
Grammar: () => grammar,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
LanguageMetaData: () => grammarConfigMap.get(grammar) as any,
parser: {
ParserConfig: () => parserConfig
}
};
const shared = inject(createDefaultSharedModule(), generatedSharedModule);
const services = inject(createDefaultModule({ shared }), generatedModule);
const services = createServicesForGrammar({
grammarServices,
grammar,
languageMetaData: languageConfigToMetaData(grammarConfigMap.get(grammar)!),
parserConfig
});

@@ -50,3 +39,3 @@ let parser: LangiumParser | undefined;

if (defError.ruleName) {
const rule = findRule(defError.ruleName, grammar, documents);
const rule = findRule(defError.ruleName, grammar, grammarServices.shared.workspace.LangiumDocuments);
if (rule && rule.$cstNode) {

@@ -69,2 +58,10 @@ const filePath = getFilePath(getDocument(rule).uri.fsPath, config);

function languageConfigToMetaData(config: LangiumLanguageConfig): LanguageMetaData {
return {
languageId: config.id,
fileExtensions: config.fileExtensions ?? [],
caseInsensitive: !!config.caseInsensitive
};
}
function findRule(name: string, grammar: Grammar, documents: LangiumDocuments): ParserRule | undefined {

@@ -71,0 +68,0 @@ for (const rule of grammar.rules) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc