Skip to content

Commit 842149f

Browse files
committed
Initial setup
0 parents  commit 842149f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+9137
-0
lines changed

.devcontainer/Dockerfile

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster
2+
ARG VARIANT=16-bullseye
3+
FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:0-${VARIANT}
4+
5+
# [Optional] Uncomment this section to install additional OS packages.
6+
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
7+
# && apt-get -y install --no-install-recommends <your-package-list-here>
8+
9+
# Install an additional version of node using nvm
10+
ARG EXTRA_NODE_VERSION=10
11+
RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"
12+
13+
# [Optional] Uncomment if you want to install more global node packages
14+
# RUN su node -c "npm install -g <your-package-list -here>"

.devcontainer/base.Dockerfile

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster
2+
ARG VARIANT=16-bullseye
3+
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT}
4+
5+
# Install tslint, typescript. eslint is installed by javascript image
6+
ARG NODE_MODULES="tslint-to-eslint-config typescript"
7+
COPY library-scripts/meta.env /usr/local/etc/vscode-dev-containers
8+
RUN su node -c "umask 0002 && npm install -g ${NODE_MODULES}" \
9+
&& npm cache clean --force > /dev/null 2>&1
10+
11+
# [Optional] Uncomment this section to install additional OS packages.
12+
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
13+
# && apt-get -y install --no-install-recommends <your-package-list-here>
14+
15+
# [Optional] Uncomment if you want to install an additional version of node using nvm
16+
# ARG EXTRA_NODE_VERSION=10
17+
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"

.devcontainer/devcontainer.json

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2+
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.0/containers/typescript-node
3+
{
4+
"name": "Node.js & TypeScript",
5+
"build": {
6+
"dockerfile": "Dockerfile",
7+
// Update 'VARIANT' to pick a Node version: 18, 16, 14.
8+
// Append -bullseye or -buster to pin to an OS version.
9+
// Use -bullseye variants on local on arm64/Apple Silicon.
10+
"args": {
11+
"VARIANT": "18",
12+
"EXTRA_NODE_VERSIONS": "16"
13+
}
14+
},
15+
16+
// Configure tool-specific properties.
17+
"customizations": {
18+
// Configure properties specific to VS Code.
19+
"vscode": {
20+
// Add the IDs of extensions you want installed when the container is created.
21+
"extensions": ["dbaeumer.vscode-eslint"]
22+
}
23+
},
24+
25+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
26+
// "forwardPorts": [],
27+
28+
// Use 'postCreateCommand' to run commands after the container is created.
29+
// "postCreateCommand": "yarn install",
30+
31+
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
32+
"remoteUser": "node"
33+
}

.editorconfig

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# http://editorconfig.org
2+
3+
root = true
4+
5+
[*]
6+
charset = utf-8
7+
indent_style = space
8+
indent_size = 2
9+
end_of_line = lf
10+
insert_final_newline = true
11+
trim_trailing_whitespace = true
12+
13+
[*.md]
14+
insert_final_newline = false
15+
trim_trailing_whitespace = false

.env.example

Whitespace-only changes.

.eslintignore

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
node_modules/
2+
3+
# Ignore artifacts:
4+
coverage/
5+
dist/
6+
dev-dist/
7+
public/
8+
__mocks__/
9+
10+
jest.config.js
11+
postcss.config.js
12+
*.d.ts
13+
14+
src/theme/
15+
tools/

.eslintrc.js

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module.exports = {
2+
extends: ['plugin:react/recommended', 'plugin:prettier/recommended', 'plugin:@typescript-eslint/recommended'],
3+
parserOptions: {
4+
project: './tsconfig.json',
5+
ecmaVersion: 2020,
6+
ecmaFeatures: {
7+
jsx: true,
8+
},
9+
sourceType: 'module',
10+
tsconfigRootDir: __dirname,
11+
},
12+
env: {
13+
browser: true,
14+
commonjs: true,
15+
node: true,
16+
es2020: true,
17+
},
18+
plugins: ['react', 'jsx-a11y', 'import'],
19+
ignorePatterns: ['.eslintrc.js'],
20+
overrides: [
21+
{
22+
files: ['**/*.ts', '**/*.tsx'],
23+
rules: {
24+
'react/prop-types': 'off',
25+
'no-restricted-imports': [
26+
'error',
27+
{
28+
patterns: ['@/features/*/*'],
29+
},
30+
],
31+
},
32+
},
33+
],
34+
};

.github/CODE_OF_CONDUCT.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Code of Conduct
2+
3+
This code of conduct is derived from the Ruby code of conduct. This document provides community guidelines for a safe, respectful, productive, and collaborative place for any person who is willing to contribute to this community. It applies to all “collaborative space”, which is defined as community communications channels. Any violations of the code of conduct may be reported by contacting one or more of the project maintainers either directly.
4+
5+
- Participants will be tolerant of opposing views.
6+
- Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
7+
- When interpreting the words and actions of others, participants should always assume good intentions.
8+
- Behaviour that the project maintainers consider to be harassment will not be tolerated.

.github/PULL_REQUEST_TEMPLATE.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# What's this PR do?
2+
3+
_Summary of changes in this PR or what it accomplishes._

.github/workflows/super-lint.yml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Lint Code Base
2+
on:
3+
push:
4+
branches:
5+
- main
6+
7+
pull_request:
8+
branches:
9+
- main
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
build:
16+
name: Lint Code Base
17+
runs-on: ubuntu-latest
18+
permissions:
19+
contents: read
20+
steps:
21+
- name: Checkout Code
22+
uses: actions/checkout@v4
23+
with:
24+
# Full git history is needed to get a proper
25+
# list of changed files within `super-linter`
26+
fetch-depth: 0
27+
- name: Lint Code Base
28+
uses: super-linter/super-linter/slim@v6
29+
env:
30+
VALIDATE_ALL_CODEBASE: false
31+
DEFAULT_BRANCH: main
32+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33+
VALIDATE_TYPESCRIPT_STANDARD: false

.github/workflows/todo.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Todo Checker
2+
3+
on:
4+
# Run this workflow on push to main
5+
push:
6+
branches:
7+
- main
8+
9+
permissions:
10+
contents: read
11+
issues: write
12+
13+
jobs:
14+
todo:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Begin CI...
19+
uses: actions/checkout@v4
20+
21+
- name: TODO to Issue
22+
uses: alstr/todo-to-issue-action@v4
23+
id: todo

.github/workflows/type-check.yml

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Typecheck
2+
3+
on:
4+
# Run this workflow on push to main
5+
push:
6+
branches:
7+
- main
8+
9+
# Run this workflow on pull request to main
10+
pull_request:
11+
branches:
12+
- main
13+
14+
permissions:
15+
contents: read
16+
17+
jobs:
18+
type-check:
19+
if: github.event_name != 'pull_request' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false)
20+
21+
runs-on: ubuntu-latest
22+
23+
steps:
24+
- name: Begin CI...
25+
uses: actions/checkout@v4
26+
27+
- name: Setup Node
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version-file: .node-version
31+
32+
- name: Install dependencies
33+
run: |
34+
# Install dependencies based on the lockfile and the package manager
35+
if [ -f "yarn.lock" ]; then
36+
yarn install --frozen-lockfile
37+
elif [ -f "package-lock.json" ]; then
38+
npm install
39+
elif [ -f "pnpm-lock.yaml" ]; then
40+
yarn global add pnpm
41+
pnpm install
42+
else
43+
echo "No lockfile found. Please add a lockfile to your repository."
44+
exit 1
45+
fi
46+
47+
- name: Run type-check validation
48+
run: npm run type-check --if-present

.gitignore

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
8+
# Runtime data
9+
pids
10+
*.pid
11+
*.seed
12+
*.pid.lock
13+
14+
# Directory for instrumented libs generated by jscoverage/JSCover
15+
lib-cov
16+
17+
# Coverage directory used by tools like istanbul
18+
coverage
19+
20+
# nyc test coverage
21+
.nyc_output
22+
23+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24+
.grunt
25+
26+
# Bower dependency directory (https://bower.io/)
27+
bower_components
28+
29+
# node-waf configuration
30+
.lock-wscript
31+
32+
# Compiled binary addons (https://nodejs.org/api/addons.html)
33+
build/Release
34+
35+
# Dependency directories
36+
node_modules/
37+
jspm_packages/
38+
39+
# TypeScript v1 declaration files
40+
typings/
41+
42+
# Optional npm cache directory
43+
.npm
44+
45+
# Optional eslint cache
46+
.eslintcache
47+
48+
# Optional REPL history
49+
.node_repl_history
50+
51+
# Output of 'npm pack'
52+
*.tgz
53+
54+
# Yarn Integrity file
55+
.yarn-integrity
56+
57+
# dotenv environment variables file
58+
.env
59+
60+
# next.js build output
61+
.next
62+
63+
# See https://help.github.com/ignore-files/ for more about ignoring files.
64+
65+
# dependencies
66+
/node_modules
67+
68+
# testing
69+
/coverage
70+
71+
# production
72+
/build
73+
/dist
74+
dev-dist/
75+
76+
# misc
77+
.DS_Store
78+
.env.local
79+
.env.development.local
80+
.env.test.local
81+
.env.production.local
82+
/.vscode/**/*
83+
84+
npm-debug.log*
85+
yarn-debug.log*
86+
yarn-error.log*

.markdownlint.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"MD041": false,
3+
"MD042": false,
4+
"MD004": false,
5+
"MD013": false,
6+
"MD033": false
7+
}

.node-version

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v18.15.0

.prettierrc.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
semi: true,
3+
trailingComma: 'all',
4+
singleQuote: true,
5+
printWidth: 120,
6+
tabWidth: 2,
7+
};

0 commit comments

Comments
 (0)