status-web/apps/website/next.config.mjs

76 lines
1.6 KiB
JavaScript
Raw Normal View History

/* eslint-disable eslint-comments/disable-enable-pair */
/* eslint-disable import/default */
[website] Add blog (#417) * add ghost api * connect blog overview page * connect and render post detail * add processing to server * update blog detail page * add eslint-plugin-tailwindcss * add @tanstack/react-query * truncate text by numberOfLines * use ComponentPropsWithRef to infer style prop type * update ghost fns * update index * add tag page * add author page * update / * update /tag * update /author * update detail page * fix posts type * disable redirect * remove global background - not found pages - pages without common layout (preview) * tmp: hide nav on smaller screens * update app layout spacing * remove text truncating * update / spacing and sizing * update .vscode/settings.json * update .eslintrc * update prettier-plugin-tailwindcss * sort tailwind classes * add packages/eslint-config-custom * use turbo lint * use tailwind.config.cjs see https://github.com/francoismassart/eslint-plugin-tailwindcss/issues/212 * reset global line-height * fix lint-staged * update color tokens * update spacing and sizes * Update apps/website/src/lib/ghost.ts Co-authored-by: Pavel <14926950+prichodko@users.noreply.github.com> * update layout max width * update card min width * set line-height * set overflow on pre * use flex for markdown content to prevent overflow * collect follow-ups * add visibility filter * update page count * rename var * remove filter * use prod ghost api key * update ghost api * revert line-height * add limit to getPosts params * update visible posts * add related articles * add env vars to gh * rename eslint config package * update gh vars * rename envs * set emtpy array to related posts * fix lint-staged * prevent importing server envs on client * set limit --------- Co-authored-by: Felicio Mununga <felicio@users.noreply.github.com>
2023-06-21 10:35:48 +00:00
import './src/config/env.server.mjs'
import './src/config/env.client.mjs'
import tamagui_next_plugin from '@tamagui/next-plugin'
import { join } from 'node:path'
const { withTamagui } = tamagui_next_plugin
/** @type {import('next').NextConfig} */
let config = {
// output: 'export',
reactStrictMode: true,
typescript: {
ignoreBuildErrors: 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',
},
}
const plugins = [
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',
],
}),
]
export default () => {
for (const plugin of plugins) {
config = {
...config,
...plugin(config),
}
}
return config
}