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

90 lines
2.0 KiB
JavaScript

/* eslint-disable eslint-comments/disable-enable-pair */
/* eslint-disable import/default */
// For "Build dependencies behind this expression are ignored and might cause incorrect cache invalidation." warning
// @see https://github.com/contentlayerdev/contentlayer/issues/129#issuecomment-1080416633
import './src/config/env.server.mjs'
import './src/config/env.client.mjs'
import tamaguiNextPlugin from '@tamagui/next-plugin'
import { withContentlayer } from 'next-contentlayer'
import { join } from 'node:path'
const { withTamagui } = tamaguiNextPlugin
/** @type {import('next').NextConfig} */
let config = {
// output: 'export',
reactStrictMode: true,
pageExtensions: ['ts', 'tsx', 'md', 'mdx'],
// runs on the root level
typescript: {
ignoreBuildErrors: true,
},
eslint: {
ignoreDuringBuilds: true,
},
images: {
// disableStaticImages: true,
},
transpilePackages: [
// 'react-native',
'react-native-web',
// 'expo-modules-core',
'expo-blur',
// '@status-im/components',
// '@status-im/js',
],
experimental: {
legacyBrowsers: false,
// esmExternals: 'loose',
scrollRestoration: true,
},
}
const plugins = [
withContentlayer,
withTamagui({
config: './tamagui.config.ts',
components: [
// fixme?: works without it
// '@status-im/icons',
'@status-im/components',
// './node_modules/@status-im/components/packages/components/dist',
],
importsWhitelist: ['constants.js', 'colors.js'],
logTimings: true,
disableExtraction: true,
// experiment - reduced bundle size react-native-web
useReactNativeWebLite: false,
shouldExtract: path => {
if (path.includes(join('packages', 'app'))) {
return true
}
},
excludeReactNativeWebExports: [
'Switch',
'ProgressBar',
'Picker',
'CheckBox',
'Touchable',
'Modal',
],
}),
// withMDX,
]
export default () => {
for (const plugin of plugins) {
config = {
...config,
...plugin(config),
}
}
return config
}