mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 10:22:16 +00:00
71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
import path from 'path';
|
|
import type { GatsbyConfig } from 'gatsby';
|
|
|
|
import envData from './config/env.json';
|
|
import {
|
|
buildChallenges,
|
|
replaceChallengeNodes,
|
|
localeChallengesRootDir
|
|
} from './utils/build-challenges';
|
|
import { pathPrefix } from './utils/gatsby/path-prefix';
|
|
|
|
const { homeLocation } = envData;
|
|
|
|
const config: GatsbyConfig = {
|
|
flags: {
|
|
DEV_SSR: false
|
|
},
|
|
trailingSlash: 'ignore',
|
|
siteMetadata: {
|
|
title: 'freeCodeCamp',
|
|
siteUrl: homeLocation
|
|
},
|
|
pathPrefix: pathPrefix,
|
|
plugins: [
|
|
'gatsby-plugin-pnpm-gatsby-5',
|
|
{
|
|
resolve: 'gatsby-plugin-webpack-bundle-analyser-v2',
|
|
options: {
|
|
analyzerMode: 'disabled',
|
|
// It doesn't matter if the file is generated or not as far as caching
|
|
// is concerned. It doesn't affect any tasks in any way, so we can
|
|
// ignore it.
|
|
|
|
// eslint-disable-next-line turbo/no-undeclared-env-vars
|
|
generateStatsFile: process.env.CI
|
|
}
|
|
},
|
|
'gatsby-plugin-react-helmet',
|
|
{
|
|
resolve: 'gatsby-plugin-postcss',
|
|
options: {
|
|
postcssOptions: {
|
|
config: path.resolve(__dirname, 'postcss.config.js')
|
|
}
|
|
}
|
|
},
|
|
{
|
|
resolve: path.resolve(
|
|
__dirname,
|
|
'../tools/client-plugins/gatsby-source-challenges'
|
|
),
|
|
options: {
|
|
name: 'challenges',
|
|
source: buildChallenges,
|
|
onSourceChange: replaceChallengeNodes(),
|
|
curriculumPath: localeChallengesRootDir
|
|
}
|
|
},
|
|
'gatsby-plugin-remove-serviceworker',
|
|
{
|
|
resolve: 'gatsby-plugin-schema-snapshot',
|
|
options: {
|
|
path: 'schema.gql',
|
|
update: process.env.GATSBY_UPDATE_SCHEMA_SNAPSHOT === 'true'
|
|
}
|
|
}
|
|
]
|
|
};
|
|
|
|
export default config;
|