Skip to content

Commit

Permalink
add hightable-demo (#39)
Browse files Browse the repository at this point in the history
* move the app to apps/cli/

* fix ci

* try to fix the CI

* add hightable-demo

* clearer titles

* add missing favicon and update README

also: use eslint configuration recommended by vite
  • Loading branch information
severo authored Nov 12, 2024
1 parent 3b159f3 commit 19b8103
Show file tree
Hide file tree
Showing 19 changed files with 541 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: CI in the cli app
name: apps/cli
on:
push:
paths:
- 'packages/components/**'
- 'apps/cli/**'
- '.github/workflows/ci_cli.yml'
- '.github/workflows/ci_apps_cli.yml'

defaults:
run:
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/ci_apps_hightable_demo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: apps/hightable-demo
on:
push:
paths:
- 'apps/hightable-demo/**'
- '.github/workflows/ci_apps_hightable_demo.yml'

defaults:
run:
working-directory: ./apps/hightable-demo

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run lint

typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: tsc

buildcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i
- run: npm run build
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: CI in the components package
name: packages/components
on:
push:
paths:
- 'packages/components/**'
- '.github/workflows/ci_components.yml'
- '.github/workflows/ci_packages_components.yml'

defaults:
run:
Expand Down
24 changes: 24 additions & 0 deletions apps/hightable-demo/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
18 changes: 18 additions & 0 deletions apps/hightable-demo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# HighTable demo

This is an example project showing how to use [hightable](https://github.com/hyparam/hightable).

## Build

```bash
cd apps/hightable-demo
npm i
npm run build
```

The build artifacts will be stored in the `dist/` directory and can be served using any static server, eg. `http-server`:

```bash
npm i -g http-server
http-server dist/
```
40 changes: 40 additions & 0 deletions apps/hightable-demo/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import js from '@eslint/js'
import react from 'eslint-plugin-react'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import globals from 'globals'
import tseslint from 'typescript-eslint'

export default tseslint.config(
{ ignores: ['dist'] },
{
extends: [js.configs.recommended, ...tseslint.configs.strictTypeChecked, ...tseslint.configs.stylisticTypeChecked],
// Set the react version
settings: { react: { version: '18.3' } },
files: ['src/**/*.{ts,tsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: import.meta.dirname,
},
},
plugins: {
react,
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
...react.configs.recommended.rules,
...react.configs['jsx-runtime'].rules,

'@typescript-eslint/restrict-template-expressions': 'off',
},
},
)
19 changes: 19 additions & 0 deletions apps/hightable-demo/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HighTable Viewer Demo</title>
<link rel="icon" type="image/svg+xml" href="favicon.png" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Mulish:wght@300;600&display=swap"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<nav>
<a class="brand" href='https://hyparam.github.io/hightable/'>
HighTable
</a>
</nav>
<div id="app"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
31 changes: 31 additions & 0 deletions apps/hightable-demo/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"name": "hightable-demo",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"lint": "eslint .",
"preview": "vite preview"
},
"dependencies": {
"hightable": "0.7.0",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@eslint/js": "^9.13.0",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@vitejs/plugin-react": "^4.3.3",
"eslint": "^9.13.0",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react-hooks": "^5.0.0",
"eslint-plugin-react-refresh": "^0.4.14",
"globals": "^15.11.0",
"typescript": "~5.6.2",
"typescript-eslint": "^8.11.0",
"vite": "^5.4.10"
}
}
Binary file added apps/hightable-demo/public/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 19b8103

Please sign in to comment.