Merge pull request #6 from wavetermdev/evan/dev

This commit is contained in:
Mike Sawka 2024-05-24 17:54:09 -07:00 committed by GitHub
commit 30ea4e3a7d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 12145 additions and 2157 deletions

10
.editorconfig Normal file
View File

@ -0,0 +1,10 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
[*.{js,jsx,ts,tsx,json,yml,css,less}]
charset = utf-8
indent_style = tab
indent_size = 4

7
.gitignore vendored
View File

@ -19,4 +19,9 @@ bin/
!.yarn/plugins !.yarn/plugins
!.yarn/releases !.yarn/releases
!.yarn/sdks !.yarn/sdks
!.yarn/versions !.yarn/versions
*storybook.log
test-results.xml

View File

@ -1,4 +0,0 @@
{
"tabWidth": 4,
"printWidth": 120
}

17
.storybook/global.css Normal file
View File

@ -0,0 +1,17 @@
body {
height: 100vh;
padding: 0;
}
#storybook-root {
height: 100%;
}
.grid-item {
background-color: aquamarine;
border: 1px black solid;
&.react-grid-placeholder {
background-color: orange;
}
}

23
.storybook/main.ts Normal file
View File

@ -0,0 +1,23 @@
import type { StorybookConfig } from "@storybook/react-vite";
const config: StorybookConfig = {
stories: ["../lib/**/*.mdx", "../lib/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@chromatic-com/storybook",
"@storybook/addon-interactions",
],
framework: {
name: "@storybook/react-vite",
options: {},
},
docs: {
autodocs: "tag",
},
managerHead: (head) => `
${head}
<meta name="robots" content="noindex" />
`,
};
export default config;

27
.storybook/preview.tsx Normal file
View File

@ -0,0 +1,27 @@
// organize-imports-ignore
import type { Preview } from "@storybook/react";
import React from "react";
import { DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
import "./global.css";
const preview: Preview = {
parameters: {
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i,
},
},
},
decorators: [
(Story) => (
<DndProvider backend={HTML5Backend}>
<Story />
</DndProvider>
),
],
};
export default preview;

View File

@ -1,3 +1,3 @@
{ {
"recommendations": ["esbenp.prettier-vscode", "golang.go", "dbaeumer.vscode-eslint"] "recommendations": ["esbenp.prettier-vscode", "golang.go", "dbaeumer.vscode-eslint", "vitest.explorer"]
} }

10
.vscode/settings.json vendored
View File

@ -1,5 +1,10 @@
{ {
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.detectIndentation": false,
"editor.formatOnPaste": true,
"editor.tabSize": 4,
"editor.insertSpaces": false,
"prettier.useEditorConfig": true,
"[javascript]": { "[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"
}, },
@ -20,5 +25,8 @@
}, },
"[html]": { "[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
} }
} }

1
.yarnrc.yml Normal file
View File

@ -0,0 +1 @@
nodeLinker: node-modules

12
eslint.config.js Normal file
View File

@ -0,0 +1,12 @@
// @ts-check
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import eslintConfigPrettier from 'eslint-config-prettier';
export default
tseslint.config(
eslint.configs.recommended,
...tseslint.configs.recommended,
eslintConfigPrettier
);

View File

@ -1,38 +1,60 @@
{ {
"name": "thenextwave", "name": "thenextwave",
"private": true, "private": true,
"version": "0.0.0", "version": "0.0.0",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "vite build --minify false --mode development", "build": "vite build --minify false --mode development",
"build:prod": "vite build --mode production", "build:prod": "vite build --mode production",
"preview": "vite preview" "preview": "vite preview"
}, },
"devDependencies": { "devDependencies": {
"@types/react": "^18.3.2", "@chromatic-com/storybook": "^1.3.3",
"@types/uuid": "^9.0.8", "@eslint/js": "^9.2.0",
"@vitejs/plugin-react": "^4.2.1", "@storybook/addon-essentials": "^8.0.10",
"@wailsio/runtime": "^3.0.0-alpha.24", "@storybook/addon-interactions": "^8.0.10",
"less": "^4.2.0", "@storybook/addon-links": "^8.0.10",
"vite": "^5.0.0", "@storybook/blocks": "^8.0.10",
"vite-tsconfig-paths": "^4.3.2" "@storybook/react": "^8.0.10",
}, "@storybook/react-vite": "^8.0.10",
"dependencies": { "@storybook/test": "^8.0.10",
"@observablehq/plot": "^0.6.14", "@types/node": "^20.12.12",
"@tanstack/react-table": "^8.17.3", "@types/react": "^18.3.2",
"@xterm/addon-fit": "^0.10.0", "@types/uuid": "^9.0.8",
"@xterm/xterm": "^5.5.0", "@vitejs/plugin-react": "^4.3.0",
"base64-js": "^1.5.1", "@vitest/coverage-istanbul": "^1.6.0",
"clsx": "^2.1.1", "@wailsio/runtime": "^3.0.0-alpha.24",
"immer": "^10.1.1", "eslint": "^9.2.0",
"jotai": "^2.8.0", "eslint-config-prettier": "^9.1.0",
"react": "^18.3.1", "less": "^4.2.0",
"react-dom": "^18.3.1", "prettier": "^3.2.5",
"react-markdown": "^9.0.1", "prettier-plugin-jsdoc": "^1.3.0",
"remark-gfm": "^4.0.0", "prettier-plugin-organize-imports": "^3.2.4",
"rxjs": "^7.8.1", "storybook": "^8.0.10",
"uuid": "^9.0.1" "ts-node": "^10.9.2",
}, "tslib": "^2.6.2",
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" "typescript": "^5.4.5",
"typescript-eslint": "^7.8.0",
"vite": "^5.0.0",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^1.6.0"
},
"dependencies": {
"@observablehq/plot": "^0.6.14",
"@tanstack/react-table": "^8.17.3",
"@xterm/addon-fit": "^0.10.0",
"@xterm/xterm": "^5.5.0",
"base64-js": "^1.5.1",
"clsx": "^2.1.1",
"immer": "^10.1.1",
"jotai": "^2.8.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-markdown": "^9.0.1",
"remark-gfm": "^4.0.0",
"rxjs": "^7.8.1",
"uuid": "^9.0.1"
},
"packageManager": "yarn@4.2.1"
} }

12
prettier.config.js Normal file
View File

@ -0,0 +1,12 @@
/** @type {import("prettier").Config} */
export default {
plugins: ["prettier-plugin-jsdoc", "prettier-plugin-organize-imports"],
printWidth: 120,
tabWidth: 4,
useTabs: true,
trailingComma: "es5",
jsdocVerticalAlignment: true,
jsdocSeparateReturnsFromParam: true,
jsdocSeparateTagGroups: true,
jsdocPreferCodeFences: true,
};

22
vitest.config.ts Normal file
View File

@ -0,0 +1,22 @@
import { defineConfig, mergeConfig } from "vitest/config";
import viteConfig from "./vite.config";
export default mergeConfig(
viteConfig,
defineConfig({
test: {
reporters: ["verbose", "junit"],
outputFile: {
junit: "test-results.xml",
},
coverage: {
provider: "istanbul",
reporter: ["lcov"],
reportsDirectory: "./coverage",
},
typecheck: {
tsconfig: "tsconfig.json",
},
},
})
);

14061
yarn.lock

File diff suppressed because it is too large Load Diff