Skip to content

Commit 1d688c1

Browse files
committed
add --no-quine-cheats which is the new --force-quine-cheats=false
1 parent c85594c commit 1d688c1

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

src/bin/hsm.ts

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ Warning: ${formatOption(noMinifyOption.name)} is being deprecated and will be re
125125

126126
const mangleNamesOption = popOption(`mangle-names`)
127127
const forceQuineCheatsOption = popOption(`force-quine-cheats`)
128-
const noMinifyIncompatibleOption = mangleNamesOption || forceQuineCheatsOption
128+
const noQuineCheatsOptions = popOption(`no-quine-cheats`)
129+
const noMinifyIncompatibleOption = mangleNamesOption || forceQuineCheatsOption || noQuineCheatsOptions
129130

130131
if (noMinifyOption && noMinifyIncompatibleOption) {
131132
logError(
@@ -137,6 +138,16 @@ Warning: ${formatOption(noMinifyOption.name)} is being deprecated and will be re
137138
process.exit(1)
138139
}
139140

141+
if (forceQuineCheatsOption && noQuineCheatsOptions) {
142+
logError(
143+
`Options ${formatOption(forceQuineCheatsOption.name)} and ${formatOption(noQuineCheatsOptions.name)
144+
} are incompatible\n`
145+
)
146+
147+
logHelp()
148+
process.exit(1)
149+
}
150+
140151
if (noMinifyOption)
141152
assertOptionIsBoolean(noMinifyOption)
142153

@@ -146,6 +157,9 @@ Warning: ${formatOption(noMinifyOption.name)} is being deprecated and will be re
146157
if (forceQuineCheatsOption)
147158
assertOptionIsBoolean(forceQuineCheatsOption)
148159

160+
if (noQuineCheatsOptions)
161+
assertOptionIsBoolean(noQuineCheatsOptions)
162+
149163
if (commands[0] == `golf` || commands[0] == `minify`) {
150164
const watchOption = popOption(`watch`)
151165
const target = commands[1]
@@ -194,7 +208,7 @@ Warning: ${formatOption(noMinifyOption.name)} is being deprecated and will be re
194208
scriptName,
195209
filePath: target,
196210
mangleNames: mangleNamesOption?.value,
197-
forceQuineCheats: forceQuineCheatsOption?.value
211+
forceQuineCheats: forceQuineCheatsOption?.value ?? !noQuineCheatsOptions?.value
198212
})
199213

200214
const timeTook = performance.now() - timeStart
@@ -289,7 +303,7 @@ Warning: ${formatOption(noMinifyOption.name)} is being deprecated and will be re
289303
onPush: info => logInfo(info, hackmudPath),
290304
minify: noMinifyOption && !noMinifyOption.value,
291305
mangleNames: mangleNamesOption?.value,
292-
forceQuineCheats: forceQuineCheatsOption?.value
306+
forceQuineCheats: forceQuineCheatsOption?.value ?? !noQuineCheatsOptions?.value
293307
})
294308

295309
if (infos instanceof Error) {
@@ -332,7 +346,7 @@ Warning: ${formatOption(dtsPathOption.name)} is being deprecated and will be rem
332346
minify: noMinifyOption && !noMinifyOption.value,
333347
mangleNames: mangleNamesOption?.value,
334348
onReady: () => log(`Watching`),
335-
forceQuineCheats: forceQuineCheatsOption?.value
349+
forceQuineCheats: forceQuineCheatsOption?.value ?? !noQuineCheatsOptions?.value
336350
})
337351

338352
autoExit = false
@@ -443,7 +457,7 @@ function logHelp() {
443457

444458
const noMinifyOptionDescription = `Skip minification to produce a "readable" script`
445459
const mangleNamesOptionDescription = `Reduce character count further but lose function names in error call stacks`
446-
const forceQuineCheatsOptionDescription = `Force quine cheats on. Use ${colourN(`--force-quine-cheats`)}=${colourV(`false`)} to force off`
460+
const forceQuineCheatsOptionDescription = `Force quine cheats on or off`
447461

448462
const hackmudPathOption = `\
449463
${colourN(`--hackmud-path`)}=${colourB(`<path>`)}
@@ -473,7 +487,7 @@ ${colourN(`--no-minify`)}
473487
${noMinifyOptionDescription}
474488
${colourN(`--mangle-names`)}
475489
${mangleNamesOptionDescription}
476-
${colourN(`--force-quine-cheats`)}
490+
${colourN(`--force-quine-cheats`)}, ${colourN(`--no-quine-cheats`)}
477491
${forceQuineCheatsOptionDescription}
478492
${hackmudPathOption}
479493
${colourN(`--dts-path`)}=${colourB(`<path>`)}
@@ -522,7 +536,7 @@ ${colourN(`--no-minify`)}
522536
${noMinifyOptionDescription}
523537
${colourN(`--mangle-names`)}
524538
${mangleNamesOptionDescription}
525-
${colourN(`--force-quine-cheats`)}
539+
${colourN(`--force-quine-cheats`)}, ${colourN(`--no-quine-cheats`)}
526540
${forceQuineCheatsOptionDescription}
527541
${colourN(`--watch`)}
528542
Watch for changes`

0 commit comments

Comments
 (0)