From 3c0b81de7b244a72f35e56bf0ab23c5e51c2d811 Mon Sep 17 00:00:00 2001 From: Kai Salmen Date: Fri, 5 Jul 2024 16:40:16 +0200 Subject: [PATCH] Implement review comments: tmLanguage location and package names use languageId --- packages/generator-langium/templates/package.json | 2 +- .../templates/packages/cli/package.json | 4 ++-- .../templates/packages/extension/package.json | 9 +++++---- .../templates/packages/language/package.json | 2 +- .../templates/packages/web/package.json | 13 +++++++------ .../templates/packages/web/src/setupExtended.ts | 2 +- .../generator-langium/test/yeoman-generator.test.ts | 10 ++++------ 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/packages/generator-langium/templates/package.json b/packages/generator-langium/templates/package.json index 19c2ad2cb..aa7b19ca9 100644 --- a/packages/generator-langium/templates/package.json +++ b/packages/generator-langium/templates/package.json @@ -1,5 +1,5 @@ { - "name": "<%= extension-name %>-workspace", + "name": "<%= language-id %>-workspace", "description": "Base workspace package", "version": "0.0.1", "type": "module", diff --git a/packages/generator-langium/templates/packages/cli/package.json b/packages/generator-langium/templates/packages/cli/package.json index 46dad2d5a..08416672e 100644 --- a/packages/generator-langium/templates/packages/cli/package.json +++ b/packages/generator-langium/templates/packages/cli/package.json @@ -1,5 +1,5 @@ { - "name": "<%= extension-name %>-cli", + "name": "<%= language-id %>-cli", "description": "The cli specific package", "version": "0.0.1", "type": "module", @@ -20,7 +20,7 @@ "build:clean": "npm run clean && npm run build" }, "dependencies": { - "<%= extension-name %>-language": "0.0.1", + "<%= language-id %>-language": "0.0.1", "chalk": "~5.3.0", "commander": "~11.1.0" }, diff --git a/packages/generator-langium/templates/packages/extension/package.json b/packages/generator-langium/templates/packages/extension/package.json index d0d3db95f..9c09bd22b 100644 --- a/packages/generator-langium/templates/packages/extension/package.json +++ b/packages/generator-langium/templates/packages/extension/package.json @@ -27,14 +27,15 @@ ], "main": "./out/extension/main.cjs", "scripts": { - "clean": "shx rm -fr *.tsbuildinfo out", + "clean": "shx rm -fr *.tsbuildinfo out syntaxes", "vscode:prepublish": "npm run build && npm run lint", - "build": "tsc -b tsconfig.json && node esbuild.mjs", + "build:prepare": "shx mkdir -p ./syntaxes/ && shx cp -f ../language/syntaxes/<%= language-id %>.tmLanguage.json ./syntaxes/<%= language-id %>.tmLanguage.json", + "build": "npm run build:prepare && tsc -b tsconfig.json && node esbuild.mjs", "build:clean": "npm run clean && npm run build", - "watch": "concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.json --watch\" \"node esbuild.mjs --watch\"" + "watch": "npm run build:prepare && concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.json --watch\" \"node esbuild.mjs --watch\"" }, "dependencies": { - "<%= extension-name %>-language": "0.0.1", + "<%= language-id %>-language": "0.0.1", "vscode-languageclient": "~9.0.1", "vscode-languageserver": "~9.0.1" }, diff --git a/packages/generator-langium/templates/packages/language/package.json b/packages/generator-langium/templates/packages/language/package.json index 6edcd96a1..1c0df435b 100644 --- a/packages/generator-langium/templates/packages/language/package.json +++ b/packages/generator-langium/templates/packages/language/package.json @@ -1,5 +1,5 @@ { - "name": "<%= extension-name %>-language", + "name": "<%= language-id %>-language", "description": "The language specific package", "version": "0.0.1", "type": "module", diff --git a/packages/generator-langium/templates/packages/web/package.json b/packages/generator-langium/templates/packages/web/package.json index f2c230755..7bb20993a 100644 --- a/packages/generator-langium/templates/packages/web/package.json +++ b/packages/generator-langium/templates/packages/web/package.json @@ -1,5 +1,5 @@ { - "name": "<%= extension-name %>-web", + "name": "<%= language-id %>-web", "description": "The web specific package", "version": "0.0.1", "type": "module", @@ -11,12 +11,13 @@ "src" ], "scripts": { - "clean": "shx rm -fr *.tsbuildinfo out dist", - "build": "vite build", + "clean": "shx rm -fr *.tsbuildinfo out dist syntaxes", + "build:prepare": "shx mkdir -p ./syntaxes/ && shx cp -f ../language/syntaxes/<%= language-id %>.tmLanguage.json ./syntaxes/<%= language-id %>.tmLanguage.json", + "build": "npm run build:prepare && vite build", "build:clean": "npm run clean && npm run build", - "dev": "vite", - "dev:debug": "vite --debug --force", - "serve": "vite preview" + "dev": "npm run build:prepare && vite", + "dev:debug": "npm run build:prepare && vite --debug --force", + "serve": "npm run build:prepare && vite preview" }, "dependencies": { "@codingame/monaco-vscode-editor-service-override": "~6.0.3", diff --git a/packages/generator-langium/templates/packages/web/src/setupExtended.ts b/packages/generator-langium/templates/packages/web/src/setupExtended.ts index 1856348e2..a8e626bc9 100644 --- a/packages/generator-langium/templates/packages/web/src/setupExtended.ts +++ b/packages/generator-langium/templates/packages/web/src/setupExtended.ts @@ -4,7 +4,7 @@ import { configureWorker, defineUserServices } from './setupCommon.js'; export const setupConfigExtended = (): UserConfig => { const extensionFilesOrContents = new Map(); extensionFilesOrContents.set('/language-configuration.json', new URL('../language-configuration.json', import.meta.url)); - extensionFilesOrContents.set('/<%= language-id %>-grammar.json', new URL('../../language/syntaxes/<%= language-id %>.tmLanguage.json', import.meta.url)); + extensionFilesOrContents.set('/<%= language-id %>-grammar.json', new URL('../syntaxes/<%= language-id %>.tmLanguage.json', import.meta.url)); return { wrapperConfig: { diff --git a/packages/generator-langium/test/yeoman-generator.test.ts b/packages/generator-langium/test/yeoman-generator.test.ts index dbf74f112..7220bad80 100644 --- a/packages/generator-langium/test/yeoman-generator.test.ts +++ b/packages/generator-langium/test/yeoman-generator.test.ts @@ -73,6 +73,7 @@ describe('Check yeoman generator works', () => { targetRoot + '/packages/web/static/monacoClassic.html', targetRoot + '/packages/web/static/monacoExtended.html', targetRoot + '/packages/web/static/styles.css', + targetRoot + '/packages/web/syntaxes/hello-world.tmLanguage.json', targetRoot + '/packages/web/index.html', targetRoot + '/packages/web/language-configuration.json', targetRoot + '/packages/web/package.json', @@ -84,6 +85,7 @@ describe('Check yeoman generator works', () => { const filesExtension = (targetRoot: string) => [ targetRoot + '/packages/extension/src/extension/main.ts', targetRoot + '/packages/extension/src/language/main.ts', + targetRoot + '/packages/extension/syntaxes/hello-world.tmLanguage.json', targetRoot + '/packages/extension/.vscodeignore', targetRoot + '/packages/extension/esbuild.mjs', targetRoot + '/packages/extension/langium-quickstart.md', @@ -208,10 +210,6 @@ describe('Check yeoman generator works', () => { includeWeb: true, includeVSCode: true }) - // speed up tests by skipping install - .withArguments('skip-install') - // speed up tests by skipping build - .withArguments('skip-build') .then((result) => { const projectRoot = targetRoot + '/' + extensionName; @@ -309,7 +307,7 @@ const PACKAGE_JSON_EXPECTATION_WEB: Record = { }, files: ['out', 'src'], scripts: { - 'clean': 'shx rm -fr *.tsbuildinfo out dist', + 'clean': 'shx rm -fr *.tsbuildinfo out dist syntaxes', 'build': 'vite build', 'build:clean': 'npm run clean && npm run build', 'dev': 'vite', @@ -364,7 +362,7 @@ const PACKAGE_JSON_EXPECTATION_EXTENSION: Record = { ], main: './out/extension/main.cjs', scripts: { - 'clean': 'shx rm -fr *.tsbuildinfo out', + 'clean': 'shx rm -fr *.tsbuildinfo out syntaxes', 'vscode:prepublish': 'npm run build && npm run lint', 'build': 'tsc -b tsconfig.json && node esbuild.mjs', 'build:clean': 'npm run clean && npm run build',