diff --git a/.github/workflows/node.js-tests.yml b/.github/workflows/node.js-tests.yml index 39e067fca25..c5544dbdd28 100644 --- a/.github/workflows/node.js-tests.yml +++ b/.github/workflows/node.js-tests.yml @@ -194,7 +194,6 @@ jobs: run: | cp sample.env .env echo 'SHOW_UPCOMING_CHANGES=true' >> .env - echo 'SHOW_NEW_CURRICULUM=true' >> .env cat .env - name: Start MongoDB diff --git a/.github/workflows/temporary-container-checks.yml b/.github/workflows/temporary-container-checks.yml index 95b65404b8a..6bbf916061d 100644 --- a/.github/workflows/temporary-container-checks.yml +++ b/.github/workflows/temporary-container-checks.yml @@ -51,7 +51,6 @@ jobs: --build-arg PATREON_CLIENT_ID=id_from_patreon_dashboard \ --build-arg DEPLOYMENT_ENV=staging \ --build-arg SHOW_UPCOMING_CHANGES=false \ - --build-arg SHOW_NEW_CURRICULUM=false \ --build-arg GROWTHBOOK_URI=api_URI_from_Growthbook_dashboard \ --build-arg FREECODECAMP_NODE_ENV=development \ -f docker/web/Dockerfile . diff --git a/client/src/components/Map/index.tsx b/client/src/components/Map/index.tsx index ef43db38524..f405a068415 100644 --- a/client/src/components/Map/index.tsx +++ b/client/src/components/Map/index.tsx @@ -14,10 +14,7 @@ import { SuperBlockIcon } from '../../assets/superblock-icon'; import LinkButton from '../../assets/icons/link-button'; import { ButtonLink } from '../helpers'; import { getSuperBlockTitleForMap } from '../../utils/superblock-map-titles'; -import { - showUpcomingChanges, - showNewCurriculum -} from '../../../config/env.json'; +import { showUpcomingChanges } from '../../../config/env.json'; import './map.css'; @@ -165,7 +162,6 @@ function Map({ return (
{getStageOrder({ - showNewCurriculum, showUpcomingChanges }).map(stage => ( diff --git a/client/tools/create-env.ts b/client/tools/create-env.ts index 6c844d31997..b39f8073f26 100644 --- a/client/tools/create-env.ts +++ b/client/tools/create-env.ts @@ -49,8 +49,7 @@ if (FREECODECAMP_NODE_ENV !== 'development') { 'curriculumLocale', 'deploymentEnv', 'environment', - 'showUpcomingChanges', - 'showNewCurriculum' + 'showUpcomingChanges' ]; const searchKeys = ['algoliaAppId', 'algoliaAPIKey']; const donationKeys = ['stripePublicKey', 'paypalClientId', 'patreonClientId']; @@ -114,14 +113,9 @@ if (FREECODECAMP_NODE_ENV !== 'development') { checkCurriculumLocale(); if (fs.existsSync(`${configPath}/env.json`)) { /* eslint-disable @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-assignment */ - const { showNewCurriculum, showUpcomingChanges } = require( - `${configPath}/env.json` - ); + const { showUpcomingChanges } = require(`${configPath}/env.json`); /* eslint-enable @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-assignment */ - if ( - env['showUpcomingChanges'] !== showUpcomingChanges || - env['showNewCurriculum'] !== showNewCurriculum - ) { + if (env['showUpcomingChanges'] !== showUpcomingChanges) { /* eslint-enable @typescript-eslint/no-unsafe-member-access */ console.log('Feature flags have been changed, cleaning client cache.'); const child = spawn('pnpm', ['run', '-w', 'clean:client']); diff --git a/client/tools/read-env.ts b/client/tools/read-env.ts index 7418f2a844e..85407e5271f 100644 --- a/client/tools/read-env.ts +++ b/client/tools/read-env.ts @@ -32,7 +32,6 @@ const { PATREON_CLIENT_ID: patreonClientId, DEPLOYMENT_ENV: deploymentEnv, SHOW_UPCOMING_CHANGES: showUpcomingChanges, - SHOW_NEW_CURRICULUM: showNewCurriculum, GROWTHBOOK_URI: growthbookUri } = process.env; @@ -72,7 +71,6 @@ export default Object.assign(locations, { ? null : patreonClientId, showUpcomingChanges: showUpcomingChanges === 'true', - showNewCurriculum: showNewCurriculum === 'true', growthbookUri: !growthbookUri || growthbookUri === 'api_URI_from_Growthbook_dashboard' ? null diff --git a/curriculum/get-challenges.js b/curriculum/get-challenges.js index 53eb3797b36..821c2d59474 100644 --- a/curriculum/get-challenges.js +++ b/curriculum/get-challenges.js @@ -341,10 +341,7 @@ function generateChallengeCreator(lang, englishPath, i18nPath) { // const superOrder = getSuperOrder(meta.superBlock); // NOTE: Use this version when a super block is in beta. - const superOrder = getSuperOrder(meta.superBlock, { - // switch this back to SHOW_NEW_CURRICULUM when we're ready to beta the JS superblock - showNewCurriculum: process.env.SHOW_UPCOMING_CHANGES === 'true' - }); + const superOrder = getSuperOrder(meta.superBlock); if (superOrder !== null) challenge.superOrder = superOrder; /* Since there can be more than one way to complete a certification (using the legacy curriculum or the new one, for instance), we need a certification diff --git a/curriculum/test/test-challenges.js b/curriculum/test/test-challenges.js index f156495cddf..0d261a56005 100644 --- a/curriculum/test/test-challenges.js +++ b/curriculum/test/test-challenges.js @@ -300,16 +300,11 @@ function populateTestsForLang({ lang, challenges, meta, superBlocks }) { return; } it(`${superBlock} should have the same order in every meta`, function () { - const firstOrder = getSuperOrder(filteredMeta[0].superBlock, { - showNewCurriculum: process.env.SHOW_NEW_CURRICULUM - }); + const firstOrder = getSuperOrder(filteredMeta[0].superBlock); assert.isNumber(firstOrder); assert.isTrue( filteredMeta.every( - el => - getSuperOrder(el.superBlock, { - showNewCurriculum: process.env.SHOW_NEW_CURRICULUM - }) === firstOrder + el => getSuperOrder(el.superBlock) === firstOrder ), 'The superOrder properties are mismatched.' ); diff --git a/curriculum/utils.js b/curriculum/utils.js index cd80b423e23..f4532cd5d5b 100644 --- a/curriculum/utils.js +++ b/curriculum/utils.js @@ -43,7 +43,6 @@ function createSuperOrder(superBlocks) { } const flatSuperBlockMap = generateSuperBlockList({ - showNewCurriculum: process.env.SHOW_NEW_CURRICULUM === 'true', showUpcomingChanges: process.env.SHOW_UPCOMING_CHANGES === 'true' }); const superOrder = createSuperOrder(flatSuperBlockMap); diff --git a/curriculum/utils.test.ts b/curriculum/utils.test.ts index 2e416c59395..6780622985c 100644 --- a/curriculum/utils.test.ts +++ b/curriculum/utils.test.ts @@ -141,14 +141,7 @@ describe('getSuperOrder', () => { }); it.skip('returns unique numbers for all current curriculum', () => { - if ( - process.env.SHOW_NEW_CURRICULUM !== 'true' && - process.env.SHOW_UPCOMING_CHANGES !== 'true' - ) { - expect.assertions(17); - } else if (process.env.SHOW_NEW_CURRICULUM !== 'true') { - expect.assertions(17); - } else if (process.env.SHOW_UPCOMING_CHANGES !== 'true') { + if (process.env.SHOW_UPCOMING_CHANGES !== 'true') { expect.assertions(17); } else { expect.assertions(19); @@ -172,15 +165,7 @@ describe('getSuperOrder', () => { expect(getSuperOrder(SuperBlocks.RespWebDesign)).toBe(15); expect(getSuperOrder(SuperBlocks.JsAlgoDataStruct)).toBe(16); - if ( - process.env.SHOW_NEW_CURRICULUM === 'true' && - process.env.SHOW_UPCOMING_CHANGES === 'true' - ) { - expect(getSuperOrder(SuperBlocks.TheOdinProject)).toBe(17); - expect(getSuperOrder(SuperBlocks.FullStackDeveloper)).toBe(18); - } else if (process.env.SHOW_NEW_CURRICULUM === 'true') { - return; - } else if (process.env.SHOW_UPCOMING_CHANGES === 'true') { + if (process.env.SHOW_UPCOMING_CHANGES === 'true') { expect(getSuperOrder(SuperBlocks.TheOdinProject)).toBe(17); expect(getSuperOrder(SuperBlocks.FullStackDeveloper)).toBe(18); } diff --git a/docker/api-server/Dockerfile b/docker/api-server/Dockerfile index f6cfbeef41c..46009fe5b88 100644 --- a/docker/api-server/Dockerfile +++ b/docker/api-server/Dockerfile @@ -27,8 +27,6 @@ RUN pnpm -F=api-server -F=tools/scripts/build -F=challenge-parser -F=curriculum # following env vars. ARG SHOW_UPCOMING_CHANGES=false ENV SHOW_UPCOMING_CHANGES=$SHOW_UPCOMING_CHANGES -ARG SHOW_NEW_CURRICULUM=false -ENV SHOW_NEW_CURRICULUM=$SHOW_NEW_CURRICULUM RUN pnpm build:curriculum RUN pnpm build:server diff --git a/docker/api/Dockerfile b/docker/api/Dockerfile index 2b08aa04568..099ede5f5ff 100644 --- a/docker/api/Dockerfile +++ b/docker/api/Dockerfile @@ -29,8 +29,6 @@ RUN cd api && npx prisma@$(jq -r '.devDependencies.prisma' < package.json) gener # following env vars. ARG SHOW_UPCOMING_CHANGES=false ENV SHOW_UPCOMING_CHANGES=$SHOW_UPCOMING_CHANGES -ARG SHOW_NEW_CURRICULUM=false -ENV SHOW_NEW_CURRICULUM=$SHOW_NEW_CURRICULUM RUN pnpm build:curriculum RUN pnpm -F=api build diff --git a/docker/web/Dockerfile b/docker/web/Dockerfile index 66e08f49293..a2106fc7f55 100644 --- a/docker/web/Dockerfile +++ b/docker/web/Dockerfile @@ -26,7 +26,6 @@ ARG PAYPAL_CLIENT_ID ARG PATREON_CLIENT_ID ARG DEPLOYMENT_ENV ARG SHOW_UPCOMING_CHANGES -ARG SHOW_NEW_CURRICULUM ARG GROWTHBOOK_URI ARG FREECODECAMP_NODE_ENV diff --git a/sample.env b/sample.env index 9c6d208cbfe..6cec4dc1744 100644 --- a/sample.env +++ b/sample.env @@ -52,7 +52,6 @@ CURRICULUM_LOCALE=english # Show or hide WIP in progress challenges SHOW_UPCOMING_CHANGES=false -SHOW_NEW_CURRICULUM=false # --------------------- # Debugging Mode Keys - these should not be used in production diff --git a/shared/config/curriculum.test.ts b/shared/config/curriculum.test.ts index 43ce3dee6b8..8dd24f37803 100644 --- a/shared/config/curriculum.test.ts +++ b/shared/config/curriculum.test.ts @@ -22,19 +22,16 @@ describe('superBlockOrder', () => { describe('generateSuperBlockList', () => { it('should return an array of SuperBlocks object with all elements when if all configs are true', () => { const result = generateSuperBlockList({ - showNewCurriculum: true, showUpcomingChanges: true }); expect(result).toHaveLength(Object.values(superBlockStages).flat().length); }); - it('should return an array of SuperBlocks without New and Upcoming when { showNewCurriculum: false, showUpcomingChanges: false }', () => { + it('should return an array of SuperBlocks without Upcoming when { showUpcomingChanges: false }', () => { const result = generateSuperBlockList({ - showNewCurriculum: false, showUpcomingChanges: false }); const tempSuperBlockMap = { ...superBlockStages }; - tempSuperBlockMap[SuperBlockStage.New] = []; tempSuperBlockMap[SuperBlockStage.Upcoming] = []; expect(result).toHaveLength(Object.values(tempSuperBlockMap).flat().length); }); diff --git a/shared/config/curriculum.ts b/shared/config/curriculum.ts index 942e2d26e06..6b174b3cf20 100644 --- a/shared/config/curriculum.ts +++ b/shared/config/curriculum.ts @@ -30,9 +30,6 @@ export enum SuperBlocks { } /* - * SuperBlockStages.New = SHOW_NEW_CURRICULUM === 'true' - * 'New' -> shown only on english staging at the moment - * * SuperBlockStages.Upcoming = SHOW_UPCOMING_CHANGES === 'true' * 'Upcoming' is for development -> not shown on stag or prod anywhere * @@ -46,7 +43,6 @@ export enum SuperBlockStage { Professional, Extra, Legacy, - New, Upcoming, Next, NextEnglish @@ -63,12 +59,10 @@ const defaultStageOrder = [ ]; export function getStageOrder({ - showNewCurriculum, showUpcomingChanges }: Config): SuperBlockStage[] { const stageOrder = [...defaultStageOrder]; - if (showNewCurriculum) stageOrder.push(SuperBlockStage.New); if (showUpcomingChanges) stageOrder.push(SuperBlockStage.Upcoming); return stageOrder; } @@ -108,7 +102,6 @@ export const superBlockStages: StageMap = { SuperBlocks.JsAlgoDataStruct, SuperBlocks.PythonForEverybody ], - [SuperBlockStage.New]: [], [SuperBlockStage.Upcoming]: [] }; @@ -251,7 +244,6 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { Object.freeze(notAuditedSuperBlocks); type Config = { - showNewCurriculum: boolean; showUpcomingChanges: boolean; }; @@ -272,7 +264,6 @@ export function getAuditedSuperBlocks({ // To find the audited superblocks, we need to start with all superblocks. const flatSuperBlockMap = generateSuperBlockList({ - showNewCurriculum: true, showUpcomingChanges: true }); const auditedSuperBlocks = flatSuperBlockMap.filter(