Skip to content

Commit f5a4d84

Browse files
committed
Fuse the command boilerplate into the relative subcommands
1 parent 7e4ec3e commit f5a4d84

File tree

4 files changed

+47
-85
lines changed

4 files changed

+47
-85
lines changed

_command.js

Lines changed: 0 additions & 37 deletions
This file was deleted.

generate-docs.js

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"use strict"
22

3+
require("./_improve-rejection-crashing.js")
4+
35
const {promises: fs} = require("fs")
46
const path = require("path")
57
const {promisify} = require("util")
@@ -38,7 +40,6 @@ const htmlMinifierConfig = {
3840
useShortDoctype: true,
3941
}
4042

41-
module.exports = generate
4243
async function generate() {
4344
return (await makeGenerator()).generate()
4445
}
@@ -176,7 +177,7 @@ class Generator {
176177

177178
// insert parsed HTML
178179
result = result.replace(/\[body\]/, markedHtml)
179-
180+
180181
// insert meta description
181182
result = result.replace(/\[metaDescription\]/, metaDescription)
182183

@@ -261,45 +262,46 @@ class Generator {
261262
}
262263
}
263264

264-
/* eslint-disable global-require */
265-
if (require.main === module) {
266-
require("./_command")({
267-
exec: generate,
268-
async watch() {
269-
let timeout, genPromise
270-
function updateGenerator() {
271-
if (timeout == null) return
272-
clearTimeout(timeout)
273-
genPromise = new Promise((resolve) => {
274-
timeout = setTimeout(function() {
275-
timeout = null
276-
resolve(makeGenerator().then((g) => g.generate()))
277-
}, 100)
278-
})
279-
}
265+
function watch() {
266+
let timeout, genPromise
267+
function updateGenerator() {
268+
if (timeout == null) return
269+
clearTimeout(timeout)
270+
genPromise = new Promise((resolve) => {
271+
timeout = setTimeout(function() {
272+
timeout = null
273+
resolve(makeGenerator().then((g) => g.generate()))
274+
}, 100)
275+
})
276+
}
280277

281-
async function updateFile(file) {
282-
if ((/^layout\.html$|^archive$|^nav-/).test(file)) {
283-
updateGenerator()
284-
}
285-
(await genPromise).generateSingle(file)
286-
}
278+
async function updateFile(file) {
279+
if ((/^layout\.html$|^archive$|^nav-/).test(file)) {
280+
updateGenerator()
281+
}
282+
(await genPromise).generateSingle(file)
283+
}
287284

288-
async function removeFile(file) {
289-
(await genPromise).eachTarget(file, (dest) => fs.unlink(dest))
290-
}
285+
async function removeFile(file) {
286+
(await genPromise).eachTarget(file, (dest) => fs.unlink(dest))
287+
}
291288

292-
require("chokidar").watch(r("docs"), {
293-
ignored: ["archive/**", /(^|\\|\/)\../],
294-
// This depends on `layout`/etc. existing first.
295-
ignoreInitial: true,
296-
awaitWriteFinish: true,
297-
})
298-
.on("ready", updateGenerator)
299-
.on("add", updateFile)
300-
.on("change", updateFile)
301-
.on("unlink", removeFile)
302-
.on("unlinkDir", removeFile)
303-
},
289+
// eslint-disable-next-line global-require
290+
require("chokidar").watch(r("docs"), {
291+
ignored: ["archive/**", /(^|\\|\/)\../],
292+
// This depends on `layout`/etc. existing first.
293+
ignoreInitial: true,
294+
awaitWriteFinish: true,
304295
})
296+
.on("ready", updateGenerator)
297+
.on("add", updateFile)
298+
.on("change", updateFile)
299+
.on("unlink", removeFile)
300+
.on("unlinkDir", removeFile)
301+
}
302+
303+
if (process.argv.includes("--watch", 2)) {
304+
watch()
305+
} else {
306+
generate()
305307
}

minify-stream.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
// - https://github.com/MithrilJS/mithril.js/issues/2417
88
// - https://github.com/MithrilJS/mithril.js/pull/2422
99

10+
require("./_improve-rejection-crashing.js")
11+
1012
const {promises: fs} = require("fs")
1113
const path = require("path")
1214
const zlib = require("zlib")
@@ -33,7 +35,4 @@ async function minify() {
3335
console.log("Compiled size: " + format(compressedGzipSize) + " bytes gzipped (" + format(compressedSize) + " bytes uncompressed)")
3436
}
3537

36-
/* eslint-disable global-require */
37-
if (require.main === module) {
38-
require("./_command")({exec: minify})
39-
}
38+
minify()

update-docs.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
// - https://github.com/MithrilJS/mithril.js/issues/2417
88
// - https://github.com/MithrilJS/mithril.js/pull/2422
99

10+
require("./_improve-rejection-crashing.js")
11+
1012
const path = require("path")
1113
const {execFileSync} = require("child_process")
1214
const ghPages = require("gh-pages")
1315
const upstream = require("./_upstream")
1416
const generate = require("./generate-docs")
1517

16-
module.exports = update
1718
async function update() {
1819
await generate()
1920
const commit = execFileSync("git", ["rev-parse", "--verify", "HEAD"], {
@@ -38,7 +39,4 @@ async function update() {
3839
console.log("Published!")
3940
}
4041

41-
/* eslint-disable global-require */
42-
if (require.main === module) {
43-
require("./_command")({exec: update})
44-
}
42+
update()

0 commit comments

Comments
 (0)