Skip to content

Set up core framework pieces such as configs for eslint, typescript, prettier, husky precommit hook, basic GHA #159

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: implement-base-ui-app
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/ui-development.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: UI-Development

on:
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

jobs:
quality-check:
permissions:
contents: "read"
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3

- name: Install dependencies
run: |
cd ui
npm ci

- name: Run quality and typing checks
run: |
cd ui
make quality

precommit-check:
permissions:
contents: "read"
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3

- name: Install dependencies
run: |
cd ui
npm ci

- name: Run pre-commit checks
run: |
cd ui
npx husky run pre-commit
2 changes: 2 additions & 0 deletions ui/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
.vscode
39 changes: 33 additions & 6 deletions ui/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,48 @@
{
"env": {
"browser": true,
"es2021": true,
"node": true
"es6": true
},
"extends": [
"eslint:recommended",
"next",
"next/core-web-vitals",
"plugin:@typescript-eslint/recommended"
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended"
],
"ignorePatterns": [".vscode"],
"overrides": [
{
"files": ["*.mjs"],
"parser": "espree", // Use the default JavaScript parser for `.mjs` files
"parserOptions": {
"sourceType": "module"
}
}
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2021,
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2018,
"project": "./tsconfig.json",
"sourceType": "module"
},
"plugins": ["@typescript-eslint"],
"plugins": ["@typescript-eslint", "import", "no-secrets", "react"],
"root": true,
"rules": {}
"rules": {
"complexity": ["warn", { "max": 8 }],
"curly": ["error", "all"],
"import/order": [
"error",
{
"groups": [["builtin", "external", "internal"]],
"newlines-between": "always"
}
],
"import/no-extraneous-dependencies": ["error"],
"no-secrets/no-secrets": ["error", { "additionalRegexes": {}, "ignoreContent": [] }]
}
}
6 changes: 6 additions & 0 deletions ui/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/node_modules
.vscode
/bin
/build
/public
/.meta
13 changes: 13 additions & 0 deletions ui/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"arrowParens": "always",
"bracketSameLine": false,
"bracketSpacing": true,
"jsxBracketSameLine": false,
"jsxSingleQuote": false,
"printWidth": 100,
"semi": true,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "es5",
"useTabs": false
}
16 changes: 16 additions & 0 deletions ui/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
CHECKDIRS := src


# Run checks on all files for the repo
quality:
@echo "Running quality checks";
@# Run eslint checks
npx eslint --max-warnings 10 $(CHECKDIRS)
@# Run TypeScript checks
npx tsc --noEmit

# Style the code according to accepted standards for the repo
style:
@echo "Running styling";
@# Auto fix any eslint issues
npx eslint --fix $(CHECKDIRS)
Loading