I am using the Getting Started started instruction and end up with an error while generating the necessary files. I am using Ubuntu with the latest npm LTS.
npm i -g yo generator-langium
yo langium
The current behavior
The generator fails with an error message. Full error log below.
The expected behavior
The generator should succeed without an error.
Full error log
kai@xennea:~$ npm i -g yo generator-langium
npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs
added 1153 packages in 56s
136 packages are looking for funding
run `npm fund` for details
npm notice
npm notice New minor version of npm available! 10.2.4 -> 10.3.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.3.0
npm notice Run npm install -g npm@10.3.0 to update!
npm notice
kai@xennea:~$ yo langium
┌─────┐ ─┐
┌───┐ │ ╶─╮ ┌─╮ ╭─╮ ╷ ╷ ╷ ┌─┬─╮
│ ,´ │ ╭─┤ │ │ │ │ │ │ │ │ │ │
│╱ ╰─ ╰─┘ ╵ ╵ ╰─┤ ╵ ╰─╯ ╵ ╵ ╵
` ╶─╯
Welcome to Langium! This tool generates a VS Code extension with a "Hello World" language to get started quickly. The extension name is an identifier used in the extension marketplace or package registry.
? Your extension name: medtl
The language name is used to identify your language in VS Code. Please provide a name to be shown in the UI. CamelCase and kebab-case variants will be created and used in different parts of the extension and language server.
? Your language name: MedTL
Source files of your language are identified by their file name extension. You can specify multiple file extensions separated by commas.
? File extensions: .medtl
Your language can be run inside of a VSCode extension.
? Include VSCode extension? Yes
You can add CLI to your language.
? Include CLI? Yes
You can run the language server in your web browser.
? Include Web worker? Yes
create medtl/langium-config.json
create medtl/langium-quickstart.md
create medtl/tsconfig.json
create medtl/src/language/med-tl-module.ts
create medtl/src/language/med-tl-validator.ts
create medtl/src/language/med-tl.langium
create medtl/.vscode/extensions.json
create medtl/.vscode/tasks.json
create medtl/.eslintrc.json
create medtl/.gitignore
create medtl/esbuild.mjs
create medtl/language-configuration.json
create medtl/src/extension/main.ts
create medtl/src/language/main.ts
create medtl/.vscode/launch.json
create medtl/.vscodeignore
create medtl/bin/cli.js
create medtl/src/cli/cli-util.ts
create medtl/src/cli/generator.ts
create medtl/src/cli/main.ts
create medtl/index.html
create medtl/tsconfig.monarch.json
create medtl/vite.bundle.config.ts
create medtl/scripts/bundle.js
create medtl/scripts/prepare.js
create medtl/static/monacoClassic.html
create medtl/static/monacoExtended.html
create medtl/static/setup.js
create medtl/static/setupClassic.js
create medtl/static/setupExtended.js
create medtl/static/styles.css
create medtl/src/language/main-browser.ts
create medtl/package.json
added 226 packages, and audited 227 packages in 32s
42 packages are looking for funding
run `npm fund` for details
1 moderate severity vulnerability
To address all issues, run:
npm audit fix
Run `npm audit` for details.
> medtl@0.0.1 langium:generate
> langium generate
Reading config from langium-config.json
src/language/med-tl.langium:14:10 - This rule is declared but never referenced.
src/language/med-tl.langium:15:10 - This rule is declared but never referenced.
Writing generated files to /home/kai/medtl/src/language/generated
Writing textmate grammar to /home/kai/medtl/syntaxes/med-tl.tmLanguage.json
Writing monarch grammar to /home/kai/medtl/syntaxes/med-tl.monarch.ts
Langium generator finished successfully in 173ms
> medtl@0.0.1 build
> tsc -b tsconfig.json && node esbuild.mjs
[00:04:20] Build succeeded
> medtl@0.0.1 build:web
> npm run build && npm run prepare:static && npm run build:monarch && npm run build:worker && npm run build:bundle
> medtl@0.0.1 build
> tsc -b tsconfig.json && node esbuild.mjs
[00:04:21] Build succeeded
> medtl@0.0.1 prepare:static
> node ./scripts/prepare.js
> medtl@0.0.1 build:monarch
> tsc -b tsconfig.monarch.json
> medtl@0.0.1 build:worker
> esbuild --minify ./out/language/main-browser.js --bundle --format=iife --outfile=./static/worker/med-tl-server-worker.js
static/worker/med-tl-server-worker.js 552.3kb
⚡ Done in 112ms
> medtl@0.0.1 build:bundle
> vite --config ./vite.bundle.config.ts build
vite v4.4.12 building for production...
✓ 2165 modules transformed.
✓ built in 9.00s
"initialize" is not exported by "node_modules/vscode/extensions.js", imported by "node_modules/monaco-languageclient/lib/monaco-vscode-api-services.js".
file: /home/kai/medtl/node_modules/monaco-languageclient/lib/monaco-vscode-api-services.js:6:9
4: * ------------------------------------------------------------------------------------------ */
5: import { ILogService, initialize, StandaloneServices } from 'vscode/services';
6: import { initialize as initializeVscodeExtensions } from 'vscode/extensions';
^
7: import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override';
8: import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override';
error during build:
RollupError: "initialize" is not exported by "node_modules/vscode/extensions.js", imported by "node_modules/monaco-languageclient/lib/monaco-vscode-api-services.js".
at error (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:2287:30)
at Module.error (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:13745:16)
at Module.traceVariable (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:14175:29)
at ModuleScope.findVariable (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:12615:39)
at ReturnValueScope.findVariable (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:7124:38)
at ChildScope.findVariable (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:7124:38)
at Identifier.bind (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:8319:40)
at CallExpression.bind (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:5892:23)
at CallExpression.bind (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:9890:15)
at AwaitExpression.bind (file:///home/kai/medtl/node_modules/rollup/dist/es/shared/node-entry.js:5892:23)
✖ An error occured while running langium:app#install
Error langium
Command failed with exit code 1: npm run build:web
Also, npm run dev fails on the newly set up project. When I select a grammar definition (e.g. "MedTL + Monarch (Classic monaco-editor config)") I end up with:
[plugin:vite:import-analysis] Failed to resolve import "./bundle/index.js" from "static/setupClassic.js". Does the file exist?
/home/kai/medtl/static/setupClassic.js:1:89
1 | import { addMonacoStyles, defineUserServices, MonacoEditorLanguageClientWrapper } from './bundle/index.js';
| ^
2 | import monarchSyntax from "../syntaxes/med-tl.monarch.js";
3 | import { configureWorker } from './setup.js';
at formatError (file:///home/kai/medtl/node_modules/vite/dist/node/chunks/dep-063880ad.js:44055:46)
at TransformContext.error (file:///home/kai/medtl/node_modules/vite/dist/node/chunks/dep-063880ad.js:44051:19)
at normalizeUrl (file:///home/kai/medtl/node_modules/vite/dist/node/chunks/dep-063880ad.js:41837:33)
at async file:///home/kai/medtl/node_modules/vite/dist/node/chunks/dep-063880ad.js:41991:47
at async Promise.all (index 0)
at async TransformContext.transform (file:///home/kai/medtl/node_modules/vite/dist/node/chunks/dep-063880ad.js:41907:13)
at async Object.transform (file:///home/kai/medtl/node_modules/vite/dist/node/chunks/dep-063880ad.js:44345:30)
at async loadAndTransform (file:///home/kai/medtl/node_modules/vite/dist/node/chunks/dep-063880ad.js:55015:29)
at async viteTransformMiddleware (file:///home/kai/medtl/node_modules/vite/dist/node/chunks/dep-063880ad.js:6441
Langium version: 2.1.3
Steps To Reproduce
I am using the Getting Started started instruction and end up with an error while generating the necessary files. I am using Ubuntu with the latest npm LTS.
npm i -g yo generator-langium
yo langium
The current behavior
The generator fails with an error message. Full error log below.
The expected behavior
The generator should succeed without an error.
Full error log
Also,
npm run dev
fails on the newly set up project. When I select a grammar definition (e.g. "MedTL + Monarch (Classic monaco-editor config)") I end up with: