Pavel b88f7e73da
[website] Add documentation (#403)
* setup md/mdx

* add test page

* setup mdx provider

* Add breadcrumbs

* links -> routes

* add information box

* add more remark plugins

* text InformationBox

* setup contentlayer

* add testing docs folder

* setup docs static generation

* add ssg to blog too

* add Shortcut component

* add SearchButton

* add hook for keyboard shortcuts

* update main docs page

* update main learn page content

* side-bar -> sidebar-menu

* rename docs pages

* add heading anchors, use new components

* add table of contents to docs

* move styling to breadcrumbs

* cleanup markdown examples

* change slugify fn

* update getting-started.md

* add highlight matches component

* update learn pages

* rename website InformationBox to Admonition

* ?enable user-select

* add static helpers to epics

* simplify components structure

* update insights layout

* add link tree utils

* add search engine

* update docs import

* update contenlayer

* add docs indexer

* support code block highlighting

* search index

* fix types

* remove supporting files

* update tree builder

* make build work

* update docs

* update label

* update toc

* add config.json

* update menu

* search index import

* learn -> help

* fix md file

* update toc

* fix code snippets

* add help index route

* remove testing files

* add original docs

* migrate getting started

* migrate messaging-and-web3-browser docs

* migrate network-nodes-and-statistics docs

* handle empty content

* add navigation config

* wip

* migrate status-wallet docs

* migrate to new admonitions format

* migrate your-profile-and-preferences docs

* migrate part of status-communities docs

* mv

* rm log

* index

* fix lint

* fix warn

* fix title

* fix docs layout

* udpate next.config

* use lowercase lang

* generate contentlayer types before typechecking

* update docs images

* update help routes

---------

Co-authored-by: Felicio Mununga <felicio@users.noreply.github.com>
2023-06-27 21:30:11 +01:00

105 lines
2.8 KiB
JavaScript

module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
// TODO: Enable type-aware linting (https://typescript-eslint.io/docs/linting/type-linting)
// "tsconfigRootDir": ".",
// "project": ["./packages/*/tsconfig.json"],
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
warnOnUnsupportedTypeScriptVersion: true,
},
env: {
browser: true,
node: true,
},
plugins: [
'@typescript-eslint',
'import',
'simple-import-sort',
'react',
'jsx-a11y',
],
extends: [
'plugin:@typescript-eslint/recommended',
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
// "plugin:@typescript-eslint/recommended-requiring-type-checking",
'plugin:eslint-comments/recommended',
'plugin:import/recommended',
'plugin:import/typescript',
'plugin:jsx-a11y/recommended',
'plugin:react/recommended',
'plugin:react-hooks/recommended',
'plugin:react/jsx-runtime',
'prettier',
],
overrides: [
{
files: ['examples/**/*.tsx'],
rules: {
'react/jsx-uses-react': 'off',
'react/react-in-jsx-scope': 'off',
},
},
],
rules: {
'react/prop-types': 0,
// "@typescript-eslint/consistent-type-definitions": ["error", "interface"],
'@typescript-eslint/consistent-type-imports': 'error',
// TODO: turn on this rul
'@typescript-eslint/no-non-null-assertion': 'off',
// "@typescript-eslint/consistent-type-exports": "error",
'simple-import-sort/imports': [
'error',
{
groups: [
// Side effect imports.
['^\\u0000'],
// `react` related packages come first.
['^react$', '^react-dom$'],
// Things that start with a letter (or digit or underscore), or `@` followed by a letter.
['^@?\\w'],
// Absolute imports and other imports such as Vue-style `@/foo`.
// Anything not matched in another group.
['^'],
// Relative imports.
// Anything that starts with a dot.
['^\\.'],
// type imports last as a separate group
['^.+\\u0000$'],
],
},
],
'simple-import-sort/exports': 'error',
'import/first': 'error',
'import/newline-after-import': 'error',
'import/no-duplicates': 'error',
},
settings: {
react: {
version: 'detect',
},
'import/resolver': {
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
project: [
'tsconfig.base.json',
'packages/*/tsconfig.json',
'apps/*/tsconfig.json',
],
},
typescript: {
alwaysTryTypes: true,
project: [
'tsconfig.base.json',
'packages/*/tsconfig.json',
'apps/*/tsconfig.json',
],
},
},
'import/ignore': ['react-native'],
},
}