-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.js
67 lines (60 loc) · 1.81 KB
/
build.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* libs */
import fs from "node:fs";
import path from "node:path";
/* snippets */
import { bbeo_array } from "./src/snippets/bbeo-array.js";
import { bbeo_object } from "./src/snippets/bbeo-object.js";
import { bbeo_destruct } from "./src/snippets/bbeo-destruct.js";
import { bbeo_dom } from "./src/snippets/bbeo-dom.js";
import { bbeo_cast } from "./src/snippets/bbeo-cast.js";
import { bbeo_spread } from "./src/snippets/bbeo-spread.js";
import { bbeo_class } from "./src/snippets/bbeo-class.js";
import { bbeo_function } from "./src/snippets/bbeo-function.js";
import { bbeo_basic } from "./src/snippets/bbeo-basic.js";
import { bbeo_regex } from "./src/snippets/bbeo-regex.js";
import { bbeo_console } from "./src/snippets/bbeo-console.js";
import { bbeo_string } from "./src/snippets/bbeo-string.js";
import { bbeo_date } from "./src/snippets/bbeo-date.js";
import { bbeo_math } from "./src/snippets/bbeo-math.js";
import { bbeo_pattern } from "./src/snippets/bbeo-pattern.js";
// ========================================
// to ensure that the directory exists, creating it if necessary
function ensureDirectoryExists(directory) {
if (!fs.existsSync(directory)) {
fs.mkdirSync(directory, { recursive: true });
}
}
// all snippets list
const snippetsList = [
bbeo_array,
bbeo_object,
bbeo_destruct,
bbeo_dom,
bbeo_cast,
bbeo_spread,
bbeo_class,
bbeo_function,
bbeo_basic,
bbeo_regex,
bbeo_console,
bbeo_string,
bbeo_date,
bbeo_math,
bbeo_pattern,
];
// merge all snippets
const concatenedSnippets = Object.assign(
{},
...snippetsList.map((snippet) => {
return snippet;
}),
);
// convert to JSON
const json = JSON.stringify(concatenedSnippets);
// write to file
const distDirectory = "./dist";
ensureDirectoryExists(distDirectory);
fs.writeFileSync(
path.join(distDirectory, "boost-eo-extension.code-snippets"),
json,
);