@graphenedata/cli 0.0.4 → 0.0.6

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 (74) hide show
  1. package/cli.ts +25 -55
  2. package/dist/cli/cli.js +1194 -435
  3. package/dist/docs/graphene.md +1074 -166
  4. package/dist/ui/component-utilities/echarts.js +3 -1
  5. package/dist/ui/component-utilities/inputUtils.ts +11 -0
  6. package/dist/ui/component-utilities/themeStores.ts +35 -7
  7. package/dist/ui/components/Area.svelte +6 -3
  8. package/dist/ui/components/AreaChart.svelte +3 -1
  9. package/dist/ui/components/Bar.svelte +14 -8
  10. package/dist/ui/components/BarChart.svelte +3 -1
  11. package/dist/ui/components/BigValue.svelte +1 -1
  12. package/dist/ui/components/Chart.svelte +57 -101
  13. package/dist/ui/components/Column.svelte +2 -0
  14. package/dist/ui/components/ECharts.svelte +2 -0
  15. package/dist/ui/components/Line.svelte +8 -5
  16. package/dist/ui/components/LineChart.svelte +3 -2
  17. package/dist/ui/components/PieChart.svelte +1 -1
  18. package/dist/ui/components/QueryLoad.svelte +5 -6
  19. package/dist/ui/components/TableRow.svelte +1 -1
  20. package/dist/ui/components/_Table.svelte +2 -0
  21. package/dist/ui/internal/queryEngine.ts +39 -15
  22. package/dist/ui/internal/telemetry.ts +5 -3
  23. package/dist/ui/web.js +28 -12
  24. package/package.json +3 -2
  25. package/dist/docs/data_apps/components/charts/annotations.md +0 -673
  26. package/dist/docs/data_apps/components/charts/area-chart.md +0 -202
  27. package/dist/docs/data_apps/components/charts/bar-chart.md +0 -317
  28. package/dist/docs/data_apps/components/charts/box-plot.md +0 -190
  29. package/dist/docs/data_apps/components/charts/bubble-chart.md +0 -151
  30. package/dist/docs/data_apps/components/charts/calendar-heatmap.md +0 -112
  31. package/dist/docs/data_apps/components/charts/custom-echarts.md +0 -308
  32. package/dist/docs/data_apps/components/charts/echarts-options.md +0 -217
  33. package/dist/docs/data_apps/components/charts/funnel-chart.md +0 -106
  34. package/dist/docs/data_apps/components/charts/heatmap.md +0 -180
  35. package/dist/docs/data_apps/components/charts/histogram.md +0 -107
  36. package/dist/docs/data_apps/components/charts/line-chart.md +0 -265
  37. package/dist/docs/data_apps/components/charts/mixed-type-charts.md +0 -240
  38. package/dist/docs/data_apps/components/charts/sankey-diagram.md +0 -301
  39. package/dist/docs/data_apps/components/charts/scatter-plot.md +0 -134
  40. package/dist/docs/data_apps/components/charts/sparkline.md +0 -68
  41. package/dist/docs/data_apps/components/data/big-value.md +0 -153
  42. package/dist/docs/data_apps/components/data/delta.md +0 -89
  43. package/dist/docs/data_apps/components/data/table.md +0 -470
  44. package/dist/docs/data_apps/components/data/value.md +0 -97
  45. package/dist/docs/data_apps/components/inputs/button-group.md +0 -154
  46. package/dist/docs/data_apps/components/inputs/checkbox.md +0 -52
  47. package/dist/docs/data_apps/components/inputs/date-input.md +0 -131
  48. package/dist/docs/data_apps/components/inputs/date-range.md +0 -124
  49. package/dist/docs/data_apps/components/inputs/dimension-grid.md +0 -67
  50. package/dist/docs/data_apps/components/inputs/dropdown.md +0 -199
  51. package/dist/docs/data_apps/components/inputs/index.md +0 -3
  52. package/dist/docs/data_apps/components/inputs/slider.md +0 -126
  53. package/dist/docs/data_apps/components/inputs/text-input.md +0 -86
  54. package/dist/docs/data_apps/components/maps/area-map.md +0 -397
  55. package/dist/docs/data_apps/components/maps/base-map.md +0 -269
  56. package/dist/docs/data_apps/components/maps/bubble-map.md +0 -361
  57. package/dist/docs/data_apps/components/maps/point-map.md +0 -326
  58. package/dist/docs/data_apps/components/maps/us-map.md +0 -167
  59. package/dist/docs/data_apps/components/ui/accordion.md +0 -116
  60. package/dist/docs/data_apps/components/ui/alert.md +0 -37
  61. package/dist/docs/data_apps/components/ui/big-link.md +0 -19
  62. package/dist/docs/data_apps/components/ui/details.md +0 -58
  63. package/dist/docs/data_apps/components/ui/download-data.md +0 -41
  64. package/dist/docs/data_apps/components/ui/embed.md +0 -47
  65. package/dist/docs/data_apps/components/ui/grid.md +0 -45
  66. package/dist/docs/data_apps/components/ui/image.md +0 -61
  67. package/dist/docs/data_apps/components/ui/info.md +0 -47
  68. package/dist/docs/data_apps/components/ui/last-refreshed.md +0 -28
  69. package/dist/docs/data_apps/components/ui/link-button.md +0 -20
  70. package/dist/docs/data_apps/components/ui/link.md +0 -40
  71. package/dist/docs/data_apps/components/ui/modal.md +0 -57
  72. package/dist/docs/data_apps/components/ui/note.md +0 -32
  73. package/dist/docs/data_apps/components/ui/print-format-components.md +0 -85
  74. package/dist/docs/data_apps/components/ui/tabs.md +0 -122
package/cli.ts CHANGED
@@ -5,10 +5,11 @@ import {printDiagnostics, printTable} from './printer.ts'
5
5
  import {analyze, getDiagnostics, loadWorkspace, toSql, type Query} from '../lang/core.ts'
6
6
  import fs from 'fs-extra'
7
7
  import path from 'path'
8
- import os from 'os'
9
8
  import {loadConfig} from '../lang/config.ts'
10
9
  import {runServeInBackground, stopGrapheneIfRunning} from './background.ts'
11
- import {getConnection} from './connections/index.ts'
10
+ import {check} from './check.ts'
11
+ import {runQuery} from './connections/index.ts'
12
+ import {loginPkce} from './auth.ts'
12
13
 
13
14
  const program = new Command()
14
15
 
@@ -46,76 +47,45 @@ program
46
47
  let queries = analyze(gsql)
47
48
  if (!validQuery(queries)) return
48
49
  let sql = toSql(queries[0])
49
- let connection = await getConnection()
50
- let res = await connection.runQuery(sql)
50
+ let res = await runQuery(sql)
51
51
  printTable(res.rows)
52
52
  })
53
53
 
54
54
  program
55
55
  .command('serve')
56
56
  .description('Run the local server')
57
- .option('--fg', 'Run the server in the foreground')
58
- .action(async (options: {fg?: boolean}) => {
59
- if (options.fg || process.env.DEBUG) {
60
- let mod = await import('./serve2.ts') // load dynamically, so we're not pulling in a bunch of deps we might not need
61
- await mod.serve2()
62
- } else {
57
+ .option('--bg', 'Run the server in the background')
58
+ .action(async (options: {bg?: boolean}) => {
59
+ await stopGrapheneIfRunning()
60
+ if (options.bg) {
63
61
  await runServeInBackground()
64
62
  process.exit(0)
63
+ } else {
64
+ let mod = await import('./serve2.ts') // load dynamically, so we're not pulling in a bunch of deps we might not need
65
+ await mod.serve2()
65
66
  }
66
67
  })
67
68
 
68
- program
69
- .command('stop')
69
+ program.command('stop')
70
70
  .description('Stop the local server')
71
- .action(async () => {
72
- await stopGrapheneIfRunning(process.cwd())
73
- })
71
+ .action(async () => { await stopGrapheneIfRunning() })
74
72
 
75
73
  program
76
74
  .command('check')
77
- .description('Check the project for errors')
78
- .action(async () => {
79
- await loadWorkspace(process.cwd(), true)
80
- analyze()
81
- if (getDiagnostics().length) {
82
- printDiagnostics(getDiagnostics())
83
- process.exit(1)
84
- }
85
- console.log('No errors found 💎')
75
+ .description('Check the project for errors, optionally capturing a page screenshot')
76
+ .argument('[mdFile]', 'Markdown file to check (e.g., index.md)')
77
+ .option('-c, --chart <chartTitle>', 'Title of a specific chart to capture')
78
+ .action(async (mdArg: string | undefined, options: {chart?: string}) => {
79
+ let res = await check({mdArg, chart: options.chart})
80
+ process.exit(res ? 0 : 1) // import to call `exit`, bc if we started the server in the background, just returning won't actually exit the process.
86
81
  })
87
82
 
88
- program
89
- .command('view')
90
- .description('Capture a screenshot of a rendered markdown file')
91
- .argument('<mdFile>', 'Markdown file to view (e.g., index.md)')
92
- .option('-c, --chart <chartName>', 'Name of specific chart to capture')
93
- .action(async (mdFile: string, options: {chart?: string}) => {
94
- let response = await fetch('http://localhost:4000/graphene/view', {
95
- method: 'POST',
96
- headers: {'Content-Type': 'application/json'},
97
- body: JSON.stringify({mdFile, chart: options.chart}),
98
- })
99
- if (!response.ok) throw new Error(`View request failed: ${await response.text()}`)
100
- let result = await response.json()
101
-
102
- if (result.errors && result.errors.length > 0) {
103
- console.error('Errors found:')
104
- result.errors.forEach(error => console.error(JSON.stringify(error)))
105
- }
106
-
107
- if (result.stillLoading) {
108
- console.error('Warning: Queries were still loading when the screenshot was taken')
109
- }
110
-
111
- // Save screenshot to temp file
112
- if (result.screenshot) {
113
- let filename = `graphene-screenshot-${new Date().toISOString().replace(/[:.]/g, '-')}.png`
114
- let screenshotPath = path.join(os.tmpdir(), filename)
115
- let base64Data = result.screenshot.replace(/^data:image\/png;base64,/, '')
116
- await fs.writeFile(screenshotPath, base64Data, 'base64')
117
- console.log('Screenshot saved to', screenshotPath)
118
- }
83
+ program.command('login')
84
+ .description('Log in to Graphene Cloud')
85
+ .action(async () => {
86
+ await loginPkce()
87
+ console.log('Successfully logged in')
88
+ process.exit(0)
119
89
  })
120
90
 
121
91
  program.parse(process.argv)