* rename js files * update imports and references * migrate build-challenges * migrate challenge-types * migrate utils/index * migrate state-management * install @types/psl for tags * migrate tags * migrate tags.test * migrate challenge-page-creator * migrate utils/gatsby/index * migrate layout-selector * migrate layout-selector.test * revert challenge-types Curriculum can't handle TS or modules * convert arrow functions * revert build-challenges * revert utils/gatsby/index * revert challenge-page-creator * revert challenge-types reference * Delete state-management Deleted in #42960 * Disable render-result-naming-convention (for now) * update layout-selector.test comment * reorder imports in build-challenges * change ts-ignore to ts-expect-error
		
			
				
	
	
		
			124 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const path = require('path');
 | 
						|
const envData = require('../config/env.json');
 | 
						|
const {
 | 
						|
  buildChallenges,
 | 
						|
  replaceChallengeNode,
 | 
						|
  localeChallengesRootDir
 | 
						|
} = require('./utils/build-challenges');
 | 
						|
 | 
						|
const { clientLocale, curriculumLocale, homeLocation } = envData;
 | 
						|
 | 
						|
const curriculumIntroRoot = path.resolve(__dirname, './src/pages');
 | 
						|
const pathPrefix =
 | 
						|
  clientLocale === 'english' || clientLocale === 'chinese'
 | 
						|
    ? ''
 | 
						|
    : '/' + clientLocale;
 | 
						|
 | 
						|
module.exports = {
 | 
						|
  flags: {
 | 
						|
    DEV_SSR: false
 | 
						|
  },
 | 
						|
  siteMetadata: {
 | 
						|
    title: 'freeCodeCamp',
 | 
						|
    siteUrl: homeLocation
 | 
						|
  },
 | 
						|
  pathPrefix: pathPrefix,
 | 
						|
  plugins: [
 | 
						|
    {
 | 
						|
      resolve: 'gatsby-plugin-webpack-bundle-analyser-v2',
 | 
						|
      options: {
 | 
						|
        analyzerMode: 'disabled',
 | 
						|
        generateStatsFile: process.env.CI
 | 
						|
      }
 | 
						|
    },
 | 
						|
    'gatsby-plugin-react-helmet',
 | 
						|
    'gatsby-plugin-postcss',
 | 
						|
    {
 | 
						|
      resolve: 'gatsby-plugin-create-client-paths',
 | 
						|
      options: {
 | 
						|
        prefixes: [
 | 
						|
          '/certification/*',
 | 
						|
          '/unsubscribed/*',
 | 
						|
          '/user/*',
 | 
						|
          '/settings/*',
 | 
						|
          '/n/*'
 | 
						|
        ]
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      resolve: 'fcc-source-challenges',
 | 
						|
      options: {
 | 
						|
        name: 'challenges',
 | 
						|
        source: buildChallenges,
 | 
						|
        onSourceChange: replaceChallengeNode(curriculumLocale),
 | 
						|
        curriculumPath: localeChallengesRootDir
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      resolve: 'gatsby-source-filesystem',
 | 
						|
      options: {
 | 
						|
        name: 'introductions',
 | 
						|
        path: curriculumIntroRoot
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      resolve: 'gatsby-transformer-remark'
 | 
						|
    },
 | 
						|
    {
 | 
						|
      resolve: 'gatsby-remark-node-identity',
 | 
						|
      options: {
 | 
						|
        identity: 'blockIntroMarkdown',
 | 
						|
        predicate: ({ frontmatter }) => {
 | 
						|
          if (!frontmatter) {
 | 
						|
            return false;
 | 
						|
          }
 | 
						|
          const { title, block, superBlock } = frontmatter;
 | 
						|
          return title && block && superBlock;
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    {
 | 
						|
      resolve: 'gatsby-remark-node-identity',
 | 
						|
      options: {
 | 
						|
        identity: 'superBlockIntroMarkdown',
 | 
						|
        predicate: ({ frontmatter }) => {
 | 
						|
          if (!frontmatter) {
 | 
						|
            return false;
 | 
						|
          }
 | 
						|
          const { title, block, superBlock } = frontmatter;
 | 
						|
          return title && !block && superBlock;
 | 
						|
        }
 | 
						|
      }
 | 
						|
    },
 | 
						|
    // {
 | 
						|
    //   resolve: `gatsby-plugin-advanced-sitemap`,
 | 
						|
    //   options: {
 | 
						|
    //     exclude: [
 | 
						|
    //       `/dev-404-page`,
 | 
						|
    //       `/404`,
 | 
						|
    //       `/404.html`,
 | 
						|
    //       `/offline-plugin-app-shell-fallback`,
 | 
						|
    //       `/learn`,
 | 
						|
    //       /(\/)learn(\/)\S*/
 | 
						|
    //     ],
 | 
						|
    //     addUncaughtPages: true
 | 
						|
    //   }
 | 
						|
    // },
 | 
						|
    {
 | 
						|
      resolve: 'gatsby-plugin-manifest',
 | 
						|
      options: {
 | 
						|
        name: 'freeCodeCamp',
 | 
						|
        /* eslint-disable camelcase */
 | 
						|
        short_name: 'fCC',
 | 
						|
        start_url: '/',
 | 
						|
        theme_color: '#0a0a23',
 | 
						|
        background_color: '#fff',
 | 
						|
        /* eslint-enable camelcase */
 | 
						|
        display: 'minimal-ui',
 | 
						|
        icon: 'src/assets/images/square_puck.png'
 | 
						|
      }
 | 
						|
    },
 | 
						|
    'gatsby-plugin-remove-serviceworker'
 | 
						|
  ]
 | 
						|
};
 |