From db3c4c849b38a100890b6e502a072eb2bf3ca67a Mon Sep 17 00:00:00 2001 From: Liam Potter Date: Sun, 13 Apr 2025 22:55:58 +0100 Subject: [PATCH 1/2] script to generate the list of snippets +semver: feature --- generate.mjs | 55 ++++++++++++++++++++++++++++++++++++++++ package.json | 71 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 102 insertions(+), 24 deletions(-) create mode 100644 generate.mjs diff --git a/generate.mjs b/generate.mjs new file mode 100644 index 0000000..fd50f72 --- /dev/null +++ b/generate.mjs @@ -0,0 +1,55 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const packageJsonPath = path.join(__dirname, 'package.json'); +const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); + +const glimmerTS = ['glimmer-ts', 'typescript.glimmer']; +const glimmerJS = ['glimmer-js', 'javascript.glimmer']; +const glimmer = [...glimmerJS, ...glimmerTS]; +const javascript = ['javascript']; +const typescript = ['typescript']; +const allLanguages = [...glimmer, ...javascript, ...typescript]; + +function newSnippet(language, path) { + return { + language, + path, + }; +} +const allSnippet = allLanguages.map((language) => { + return newSnippet(language, './snippets/all.json'); +}); + +const allTemplateTagSnippet = glimmer.map((language) => { + return newSnippet(language, './snippets/all-template-tag.json'); +}); + +const glimmerJSSnippet = glimmerJS.map((language) => { + return newSnippet(language, './snippets/javascript.glimmer.json'); +}); + +const glimmerTSSnippet = glimmerTS.map((language) => { + return newSnippet(language, './snippets/typescript.glimmer.json'); +}); + +const javascriptSnippet = javascript.map((language) => { + return newSnippet(language, './snippets/javascript.json'); +}); + +const typescriptSnippet = typescript.map((language) => { + return newSnippet(language, './snippets/typescript.json'); +}); + +packageJson.contributes.snippets = [ + ...allSnippet, + ...allTemplateTagSnippet, + ...glimmerJSSnippet, + ...glimmerTSSnippet, + ...javascriptSnippet, + ...typescriptSnippet, +]; + +fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf8'); diff --git a/package.json b/package.json index 3b469b8..c3803ef 100644 --- a/package.json +++ b/package.json @@ -36,37 +36,59 @@ "contributes": { "snippets": [ { - "language": [ - "Glimmer JS", - "javascript.glimmer", - "Glimmer TS", - "typescript.glimmer", - "javascript", - "typescript" - ], + "language": "glimmer-js", "path": "./snippets/all.json" }, { - "language": [ - "Glimmer JS", - "javascript.glimmer", - "Glimmer TS", - "typescript.glimmer" - ], + "language": "javascript.glimmer", + "path": "./snippets/all.json" + }, + { + "language": "glimmer-ts", + "path": "./snippets/all.json" + }, + { + "language": "typescript.glimmer", + "path": "./snippets/all.json" + }, + { + "language": "javascript", + "path": "./snippets/all.json" + }, + { + "language": "typescript", + "path": "./snippets/all.json" + }, + { + "language": "glimmer-js", + "path": "./snippets/all-template-tag.json" + }, + { + "language": "javascript.glimmer", + "path": "./snippets/all-template-tag.json" + }, + { + "language": "glimmer-ts", + "path": "./snippets/all-template-tag.json" + }, + { + "language": "typescript.glimmer", "path": "./snippets/all-template-tag.json" }, { - "language": [ - "Glimmer JS", - "javascript.glimmer" - ], + "language": "glimmer-js", + "path": "./snippets/javascript.glimmer.json" + }, + { + "language": "javascript.glimmer", "path": "./snippets/javascript.glimmer.json" }, { - "language": [ - "Glimmer TS", - "typescript.glimmer" - ], + "language": "glimmer-ts", + "path": "./snippets/typescript.glimmer.json" + }, + { + "language": "typescript.glimmer", "path": "./snippets/typescript.glimmer.json" }, { @@ -85,7 +107,8 @@ "vs:package": "vsce package", "vs:publish": "vsce publish", "vs:publish:ci": "vsce publish --pat $VSCODE_TOKEN", - "ov:publish:ci": "ovsx publish --pat $OPENVSX_TOKEN" + "ov:publish:ci": "ovsx publish --pat $OPENVSX_TOKEN", + "generate": "node generate.mjs" }, "packageManager": "pnpm@10.7.1", "devDependencies": { @@ -93,4 +116,4 @@ "ovsx": "^0.10.1", "prettier": "^3.5.3" } -} +} \ No newline at end of file From 44c96f1987af056999127f151a72d0dcd5c5c7ea Mon Sep 17 00:00:00 2001 From: Liam Potter Date: Sun, 13 Apr 2025 22:57:33 +0100 Subject: [PATCH 2/2] lint fix --- generate.mjs | 32 ++++++++++++++++---------------- package.json | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/generate.mjs b/generate.mjs index fd50f72..3953613 100644 --- a/generate.mjs +++ b/generate.mjs @@ -1,16 +1,16 @@ -import fs from 'node:fs'; -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; +import fs from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); -const packageJsonPath = path.join(__dirname, 'package.json'); -const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); +const packageJsonPath = path.join(__dirname, "package.json"); +const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8")); -const glimmerTS = ['glimmer-ts', 'typescript.glimmer']; -const glimmerJS = ['glimmer-js', 'javascript.glimmer']; +const glimmerTS = ["glimmer-ts", "typescript.glimmer"]; +const glimmerJS = ["glimmer-js", "javascript.glimmer"]; const glimmer = [...glimmerJS, ...glimmerTS]; -const javascript = ['javascript']; -const typescript = ['typescript']; +const javascript = ["javascript"]; +const typescript = ["typescript"]; const allLanguages = [...glimmer, ...javascript, ...typescript]; function newSnippet(language, path) { @@ -20,27 +20,27 @@ function newSnippet(language, path) { }; } const allSnippet = allLanguages.map((language) => { - return newSnippet(language, './snippets/all.json'); + return newSnippet(language, "./snippets/all.json"); }); const allTemplateTagSnippet = glimmer.map((language) => { - return newSnippet(language, './snippets/all-template-tag.json'); + return newSnippet(language, "./snippets/all-template-tag.json"); }); const glimmerJSSnippet = glimmerJS.map((language) => { - return newSnippet(language, './snippets/javascript.glimmer.json'); + return newSnippet(language, "./snippets/javascript.glimmer.json"); }); const glimmerTSSnippet = glimmerTS.map((language) => { - return newSnippet(language, './snippets/typescript.glimmer.json'); + return newSnippet(language, "./snippets/typescript.glimmer.json"); }); const javascriptSnippet = javascript.map((language) => { - return newSnippet(language, './snippets/javascript.json'); + return newSnippet(language, "./snippets/javascript.json"); }); const typescriptSnippet = typescript.map((language) => { - return newSnippet(language, './snippets/typescript.json'); + return newSnippet(language, "./snippets/typescript.json"); }); packageJson.contributes.snippets = [ @@ -52,4 +52,4 @@ packageJson.contributes.snippets = [ ...typescriptSnippet, ]; -fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf8'); +fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), "utf8"); diff --git a/package.json b/package.json index c3803ef..0433e60 100644 --- a/package.json +++ b/package.json @@ -116,4 +116,4 @@ "ovsx": "^0.10.1", "prettier": "^3.5.3" } -} \ No newline at end of file +}