Skip to content

Commit 84f14a6

Browse files
Merge pull request #6 from ember-tooling/generate-list
Script to generate the list of snippets
2 parents 5f51ccd + 44c96f1 commit 84f14a6

File tree

2 files changed

+101
-23
lines changed

2 files changed

+101
-23
lines changed

generate.mjs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import fs from "node:fs";
2+
import path from "node:path";
3+
import { fileURLToPath } from "node:url";
4+
5+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
6+
const packageJsonPath = path.join(__dirname, "package.json");
7+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
8+
9+
const glimmerTS = ["glimmer-ts", "typescript.glimmer"];
10+
const glimmerJS = ["glimmer-js", "javascript.glimmer"];
11+
const glimmer = [...glimmerJS, ...glimmerTS];
12+
const javascript = ["javascript"];
13+
const typescript = ["typescript"];
14+
const allLanguages = [...glimmer, ...javascript, ...typescript];
15+
16+
function newSnippet(language, path) {
17+
return {
18+
language,
19+
path,
20+
};
21+
}
22+
const allSnippet = allLanguages.map((language) => {
23+
return newSnippet(language, "./snippets/all.json");
24+
});
25+
26+
const allTemplateTagSnippet = glimmer.map((language) => {
27+
return newSnippet(language, "./snippets/all-template-tag.json");
28+
});
29+
30+
const glimmerJSSnippet = glimmerJS.map((language) => {
31+
return newSnippet(language, "./snippets/javascript.glimmer.json");
32+
});
33+
34+
const glimmerTSSnippet = glimmerTS.map((language) => {
35+
return newSnippet(language, "./snippets/typescript.glimmer.json");
36+
});
37+
38+
const javascriptSnippet = javascript.map((language) => {
39+
return newSnippet(language, "./snippets/javascript.json");
40+
});
41+
42+
const typescriptSnippet = typescript.map((language) => {
43+
return newSnippet(language, "./snippets/typescript.json");
44+
});
45+
46+
packageJson.contributes.snippets = [
47+
...allSnippet,
48+
...allTemplateTagSnippet,
49+
...glimmerJSSnippet,
50+
...glimmerTSSnippet,
51+
...javascriptSnippet,
52+
...typescriptSnippet,
53+
];
54+
55+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), "utf8");

package.json

Lines changed: 46 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -36,37 +36,59 @@
3636
"contributes": {
3737
"snippets": [
3838
{
39-
"language": [
40-
"Glimmer JS",
41-
"javascript.glimmer",
42-
"Glimmer TS",
43-
"typescript.glimmer",
44-
"javascript",
45-
"typescript"
46-
],
39+
"language": "glimmer-js",
4740
"path": "./snippets/all.json"
4841
},
4942
{
50-
"language": [
51-
"Glimmer JS",
52-
"javascript.glimmer",
53-
"Glimmer TS",
54-
"typescript.glimmer"
55-
],
43+
"language": "javascript.glimmer",
44+
"path": "./snippets/all.json"
45+
},
46+
{
47+
"language": "glimmer-ts",
48+
"path": "./snippets/all.json"
49+
},
50+
{
51+
"language": "typescript.glimmer",
52+
"path": "./snippets/all.json"
53+
},
54+
{
55+
"language": "javascript",
56+
"path": "./snippets/all.json"
57+
},
58+
{
59+
"language": "typescript",
60+
"path": "./snippets/all.json"
61+
},
62+
{
63+
"language": "glimmer-js",
64+
"path": "./snippets/all-template-tag.json"
65+
},
66+
{
67+
"language": "javascript.glimmer",
68+
"path": "./snippets/all-template-tag.json"
69+
},
70+
{
71+
"language": "glimmer-ts",
72+
"path": "./snippets/all-template-tag.json"
73+
},
74+
{
75+
"language": "typescript.glimmer",
5676
"path": "./snippets/all-template-tag.json"
5777
},
5878
{
59-
"language": [
60-
"Glimmer JS",
61-
"javascript.glimmer"
62-
],
79+
"language": "glimmer-js",
80+
"path": "./snippets/javascript.glimmer.json"
81+
},
82+
{
83+
"language": "javascript.glimmer",
6384
"path": "./snippets/javascript.glimmer.json"
6485
},
6586
{
66-
"language": [
67-
"Glimmer TS",
68-
"typescript.glimmer"
69-
],
87+
"language": "glimmer-ts",
88+
"path": "./snippets/typescript.glimmer.json"
89+
},
90+
{
91+
"language": "typescript.glimmer",
7092
"path": "./snippets/typescript.glimmer.json"
7193
},
7294
{
@@ -85,7 +107,8 @@
85107
"vs:package": "vsce package",
86108
"vs:publish": "vsce publish",
87109
"vs:publish:ci": "vsce publish --pat $VSCODE_TOKEN",
88-
"ov:publish:ci": "ovsx publish --pat $OPENVSX_TOKEN"
110+
"ov:publish:ci": "ovsx publish --pat $OPENVSX_TOKEN",
111+
"generate": "node generate.mjs"
89112
},
90113
"packageManager": "[email protected]",
91114
"devDependencies": {

0 commit comments

Comments
 (0)