- `NODE_REPL_HISTORY` - When a valid path is given, persistent REPL history
will be saved to the specified file rather than `.node_repl_history` in the
user's home directory. Setting this value to `""` will disable persistent
- REPL history.
+ REPL history. Whitespace will be trimmed from the value.
- `NODE_REPL_HISTORY_SIZE` - defaults to `1000`. Controls how many lines of
history will be persisted if history is available. Must be a positive number.
- `NODE_REPL_MODE` - may be any of `sloppy`, `strict`, or `magic`. Defaults
}
const repl = REPL.start(opts);
- if (opts.terminal && env.NODE_REPL_HISTORY !== '') {
+ if (opts.terminal) {
return setupHistory(repl, env.NODE_REPL_HISTORY,
env.NODE_REPL_HISTORY_FILE, cb);
}
+
repl._historyPrev = _replHistoryMessage;
cb(null, repl);
}
function setupHistory(repl, historyPath, oldHistoryPath, ready) {
+ // Empty string disables persistent history.
+
+ if (typeof historyPath === 'string')
+ historyPath = historyPath.trim();
+
+ if (historyPath === '') {
+ repl._historyPrev = _replHistoryMessage;
+ return ready(null, repl);
+ }
+
if (!historyPath) {
try {
historyPath = path.join(os.homedir(), '.node_repl_history');
test: [UP],
expected: [prompt, replDisabled, prompt]
},
+ {
+ env: { NODE_REPL_HISTORY: ' ' },
+ test: [UP],
+ expected: [prompt, replDisabled, prompt]
+ },
{
env: { NODE_REPL_HISTORY: '',
NODE_REPL_HISTORY_FILE: enoentHistoryPath },