UNPKG

env-prompt

Version:

A dependency-free utility that prompts you for your project's environment variables.

33 lines (30 loc) 1.03 kB
import readline from "readline" import fs from "fs" import path from "path" import { getOptionsFromEnvironment } from "lib/options" import { StdIoReader } from "lib/std-io-reader" import { CliPrompter } from "lib/cli" import { analyzeEnvSourceCode } from "lib/env/lexer" import { parseEnvTokens } from "lib/env/parser" import { render } from "lib/env/renderer" import { Merger } from "lib/env/merger" const readLineFactory = () => readline.createInterface(process.stdin, process.stdout) const stdIoReader = new StdIoReader(readLineFactory) const cliPrompter = new CliPrompter(console, stdIoReader) const merger = new Merger() .setCliPrompter(cliPrompter) .setAnalyzeEnvSourceCode(analyzeEnvSourceCode) .setParseEnvTokens(parseEnvTokens) .setRender(render) .setFs(fs) .setPath(path) const main = async () => { try { const options = getOptionsFromEnvironment(process) await merger.merge(options) } catch (e) { cliPrompter.printError(e) process.exit(1) } } main()