Skip to content

Commit f254759

Browse files
authored
Use safe write file in build script (nishtahir#73)
1 parent 3b988b1 commit f254759

File tree

3 files changed

+12
-15
lines changed

3 files changed

+12
-15
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
/node_modules
2-
/build
2+
/build

.prettierignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
dist/
1+
dist/

scripts/build.js

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ const plist = require("plist");
1212
const json = require("format-json");
1313
const yaml = require("yamljs");
1414
const deepmerge = require("deepmerge");
15+
const { safeWriteFileSync } = require("./util");
1516

16-
const sourcePath = path.resolve(__dirname, "../", "src/");
17+
const SOURCE_PATH = path.resolve(__dirname, "../", "src/");
18+
const OUTPUT_PATH = path.resolve(__dirname, "../dist/");
1719

18-
const data = fs.readdirSync(sourcePath).reduce((acc, file) => {
19-
const filePath = path.resolve(sourcePath, file);
20+
const data = fs.readdirSync(SOURCE_PATH).reduce((acc, file) => {
21+
const filePath = path.resolve(SOURCE_PATH, file);
2022
try {
2123
const source = fs.readFileSync(filePath, "utf8");
2224
// skip empty files
@@ -33,23 +35,18 @@ const data = fs.readdirSync(sourcePath).reduce((acc, file) => {
3335
}
3436
}, {});
3537

36-
const destDir = path.resolve(__dirname, "../dist/");
37-
if (!fs.existsSync(destDir)) {
38-
fs.mkdirSync(destDir);
39-
}
40-
4138
console.log("Generating Json file...");
42-
fs.writeFileSync(
43-
path.resolve(destDir, "Kotlin.JSON-tmLanguage"),
39+
safeWriteFileSync(
40+
path.resolve(OUTPUT_PATH, "Kotlin.JSON-tmLanguage"),
4441
json.plain(data),
4542
);
4643

4744
console.log("Generating Yaml file...");
48-
fs.writeFileSync(
49-
path.resolve(destDir, "Kotlin.YAML-tmLanguage"),
45+
safeWriteFileSync(
46+
path.resolve(OUTPUT_PATH, "Kotlin.YAML-tmLanguage"),
5047
yaml.stringify(data, 6),
5148
);
5249

5350
console.log("Generating Xml file...");
5451
const xmlData = plist.build(data);
55-
fs.writeFileSync(path.resolve(destDir, "Kotlin.tmLanguage"), xmlData);
52+
safeWriteFileSync(path.resolve(OUTPUT_PATH, "Kotlin.tmLanguage"), xmlData);

0 commit comments

Comments
 (0)