create-mantiq 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/terminal.ts +14 -17
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-mantiq",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Scaffold a new MantiqJS application",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/terminal.ts CHANGED
@@ -25,34 +25,31 @@ export interface SelectOption {
25
25
  }
26
26
 
27
27
  export class Terminal {
28
- /** Show branded header box */
28
+ /** Show branded ASCII header */
29
29
  header(): void {
30
- const w = 41
31
- const pad = (s: string, len: number) => s + ' '.repeat(Math.max(0, len - stripAnsi(s).length))
32
- write('\n')
33
- write(` ${GRAY}┌${'─'.repeat(w)}┐${R}\n`)
34
- write(` ${GRAY}│${R}${' '.repeat(w)}${GRAY}│${R}\n`)
35
- write(` ${GRAY}│${R} ${EMERALD}·${R}${BOLD}mantiq${R}${' '.repeat(w - 10)}${GRAY}│${R}\n`)
36
- write(` ${GRAY}│${R} ${DIM}create a new application${R}${' '.repeat(w - 28)}${GRAY}│${R}\n`)
37
- write(` ${GRAY}│${R}${' '.repeat(w)}${GRAY}│${R}\n`)
38
- write(` ${GRAY}└${'─'.repeat(w)}┘${R}\n`)
39
- write('\n')
30
+ write('\n\n')
31
+ write(` ${EMERALD}▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇${R}\n`)
32
+ write(`\n`)
33
+ write(` ${EMERALD}●${R} ${BOLD}mantiq${R} ${GRAY}│${R} ${DIM}The Bun framework for artisans${R}\n`)
34
+ write(`\n`)
35
+ write(` ${GRAY}───────────────────────────────────────────────${R}\n`)
36
+ write('\n\n')
40
37
  }
41
38
 
42
39
  /** Arrow-key select prompt */
43
40
  async select(label: string, options: SelectOption[]): Promise<string> {
44
41
  let selected = 0
45
42
  const render = () => {
46
- let out = ` ${EMERALD}◆${R} ${BOLD}${label}${R}\n`
43
+ let out = ` ${EMERALD}◆${R} ${BOLD}${label}${R}\n`
47
44
  for (let i = 0; i < options.length; i++) {
48
45
  const opt = options[i]!
49
46
  const active = i === selected
50
47
  const bullet = active ? `${EMERALD}●${R}` : `${GRAY}○${R}`
51
- const text = active ? `${WHITE}${opt.label}${R}` : `${GRAY}${opt.label}${R}`
52
- const hint = opt.hint ? ` ${DIM}${opt.hint}${R}` : ''
53
- out += ` ${GRAY}│${R} ${bullet} ${text}${hint}\n`
48
+ const text = active ? `${WHITE}${BOLD}${opt.label}${R}` : `${GRAY}${opt.label}${R}`
49
+ const hint = opt.hint ? ` ${DIM}${opt.hint}${R}` : ''
50
+ out += ` ${bullet} ${text}${hint}\n`
54
51
  }
55
- out += ` ${GRAY}└${R}\n`
52
+ out += `\n`
56
53
  return out
57
54
  }
58
55
 
@@ -79,7 +76,7 @@ export class Terminal {
79
76
  write(UP(lines) + CLEAR_LINE)
80
77
  for (let i = 0; i < lines; i++) write(`${CLEAR_LINE}\n`)
81
78
  write(UP(lines))
82
- write(` ${EMERALD}◇${R} ${label} ${EMERALD}${options[selected]!.label}${R}\n\n`)
79
+ write(` ${EMERALD}◇${R} ${label} ${EMERALD}${options[selected]!.label}${R}\n\n`)
83
80
  resolve(options[selected]!.value)
84
81
  return
85
82
  } else if (key === '\x03') { // Ctrl+C