diff --git a/lib/helpers.ts b/lib/helpers.ts index 3d8ce8fe..db912532 100644 --- a/lib/helpers.ts +++ b/lib/helpers.ts @@ -123,7 +123,10 @@ function mergeCaseData( } export async function fetchData(): Promise { - const res = await fetch('/processed_syn_data.json'); + // in development we use local processed syn data. In production we use + // other URL (too large to serve thru next max 250MB limit) + const processedSynURL = process.env.NODE_ENV === 'development'? '/processed_syn_data.json' : 'https://htan-synapse-json.surge.sh/processed_syn_data.json'; + const res = await fetch(processedSynURL); // const json = await res.json(); const text = await res.text(); diff --git a/package.json b/package.json index 7e509162..2c09c7d1 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "yarn run gunzip && next dev", "gunzip": "gunzip -c public/processed_syn_data.json.gz > public/processed_syn_data.json", - "build": "yarn run gunzip && export NODE_OPTIONS=--max_old_space_size=6144 && next build", + "build": "export NODE_OPTIONS=--max_old_space_size=6144 && next build", "start": "yarn run gunzip && next start", "processSynapseJSON": "npx ncc run data/processSynapseJSON.ts", "prettierPreCommit": "STAGED_AND_CHANGED_FILES=$(git diff HEAD --name-only --cached --diff-filter=d) && ([ -z \"$STAGED_AND_CHANGED_FILES\" ] && echo \"Nothing to prettify\" || (yarn run prettier --write $(echo $STAGED_AND_CHANGED_FILES) && git add -f $(echo $STAGED_AND_CHANGED_FILES)))", diff --git a/pages/index.tsx b/pages/index.tsx index ea899987..38578638 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -2,6 +2,7 @@ import React from 'react'; import fs from 'fs'; import process from 'process'; import path from 'path'; +import zlib from 'zlib'; import PreReleaseBanner from '../components/PreReleaseBanner'; import HomePage, { IHomePropsProps } from '../components/HomePage'; @@ -44,7 +45,7 @@ export const getStaticProps: GetStaticProps = async (context) => { getContent('card-6', 'homepage'), ]); - const processedSynapseData = await fs.readFileSync(path.join(process.cwd(), 'public/processed_syn_data.json'), 'utf8') + const processedSynapseData = await zlib.gunzipSync(await fs.readFileSync(path.join(process.cwd(), 'public/processed_syn_data.json.gz'))).toString() const files = fillInEntities( (JSON.parse(processedSynapseData) as any) as LoadDataResult );