From 29cb5cdd0a0e1949f4809f88aeff57fd2edb39d2 Mon Sep 17 00:00:00 2001 From: Evan Purkhiser Date: Thu, 6 Jul 2023 16:25:32 +0200 Subject: [PATCH] ref(ts): Marginally improve types in sourceNodes apis (#7328) --- src/gatsby/sourceNodes/appRegistryNodes.ts | 7 ++++++- .../sourceNodes/awsLambdLayerRegistryNodes.ts | 4 +++- src/gatsby/sourceNodes/index.ts | 8 +++++--- src/gatsby/sourceNodes/packageRegistryNodes.ts | 7 ++++++- src/gatsby/sourceNodes/platformNodes.ts | 4 +++- src/gatsby/sourceNodes/relayMetricsNodes.ts | 14 +++++++++++--- src/gatsby/sourceNodes/relayPiiNodes.ts | 15 +++++++++++++-- 7 files changed, 47 insertions(+), 12 deletions(-) diff --git a/src/gatsby/sourceNodes/appRegistryNodes.ts b/src/gatsby/sourceNodes/appRegistryNodes.ts index d1e55dec7870f..d137e9b0fbb7a 100644 --- a/src/gatsby/sourceNodes/appRegistryNodes.ts +++ b/src/gatsby/sourceNodes/appRegistryNodes.ts @@ -1,6 +1,11 @@ +import {SourceNodesArgs} from 'gatsby'; + import getAppRegistry from '../utils/appRegistry'; -export const sourceAppRegistryNodes = async ({actions, createContentDigest}) => { +export const sourceAppRegistryNodes = async ({ + actions, + createContentDigest, +}: SourceNodesArgs) => { const {createNode} = actions; const appRegistry = await getAppRegistry(); diff --git a/src/gatsby/sourceNodes/awsLambdLayerRegistryNodes.ts b/src/gatsby/sourceNodes/awsLambdLayerRegistryNodes.ts index a057e98b40601..277b1558abfe3 100644 --- a/src/gatsby/sourceNodes/awsLambdLayerRegistryNodes.ts +++ b/src/gatsby/sourceNodes/awsLambdLayerRegistryNodes.ts @@ -1,9 +1,11 @@ +import {SourceNodesArgs} from 'gatsby'; + import awsLambdaRegistry from '../utils/awsLambdaLayerRegistry'; export const sourceAwsLambdaLayerRegistryNodes = async ({ actions, createContentDigest, -}) => { +}: SourceNodesArgs) => { const {createNode} = actions; const layerMap = await awsLambdaRegistry.getLayerMap(); diff --git a/src/gatsby/sourceNodes/index.ts b/src/gatsby/sourceNodes/index.ts index 3f018c228ac9b..6402d53e64834 100644 --- a/src/gatsby/sourceNodes/index.ts +++ b/src/gatsby/sourceNodes/index.ts @@ -1,3 +1,5 @@ +import {GatsbyNode} from 'gatsby'; + import {sourceAppRegistryNodes} from './appRegistryNodes'; import {sourceAwsLambdaLayerRegistryNodes} from './awsLambdLayerRegistryNodes'; import {sourcePackageRegistryNodes} from './packageRegistryNodes'; @@ -5,13 +7,13 @@ import {sourcePlatformNodes} from './platformNodes'; import {relayMetricsNodes} from './relayMetricsNodes'; import {piiFieldsNodes} from './relayPiiNodes'; -async function main(params) { +const sourceNodes: GatsbyNode['sourceNodes'] = async params => { relayMetricsNodes(params); piiFieldsNodes(params); await sourcePlatformNodes(params); await sourcePackageRegistryNodes(params); await sourceAppRegistryNodes(params); await sourceAwsLambdaLayerRegistryNodes(params); -} +}; -export default main; +export default sourceNodes; diff --git a/src/gatsby/sourceNodes/packageRegistryNodes.ts b/src/gatsby/sourceNodes/packageRegistryNodes.ts index 597fe6c339d33..c356f227003ca 100644 --- a/src/gatsby/sourceNodes/packageRegistryNodes.ts +++ b/src/gatsby/sourceNodes/packageRegistryNodes.ts @@ -1,6 +1,11 @@ +import {SourceNodesArgs} from 'gatsby'; + import getPackageRegistry from '../utils/packageRegistry'; -export const sourcePackageRegistryNodes = async ({actions, createContentDigest}) => { +export const sourcePackageRegistryNodes = async ({ + actions, + createContentDigest, +}: SourceNodesArgs) => { const {createNode} = actions; const packageRegistry = await getPackageRegistry(); diff --git a/src/gatsby/sourceNodes/platformNodes.ts b/src/gatsby/sourceNodes/platformNodes.ts index fc46b8131f80d..a0b9523725d9d 100644 --- a/src/gatsby/sourceNodes/platformNodes.ts +++ b/src/gatsby/sourceNodes/platformNodes.ts @@ -1,3 +1,5 @@ +import {SourceNodesArgs} from 'gatsby'; + import PlatformRegistry from '../../shared/platformRegistry'; export const sourcePlatformNodes = async ({ @@ -5,7 +7,7 @@ export const sourcePlatformNodes = async ({ reporter, createNodeId, createContentDigest, -}) => { +}: SourceNodesArgs) => { const {createNode} = actions; const platformRegistry = new PlatformRegistry(); diff --git a/src/gatsby/sourceNodes/relayMetricsNodes.ts b/src/gatsby/sourceNodes/relayMetricsNodes.ts index 616c89fb7d18b..a31d0d26513cc 100644 --- a/src/gatsby/sourceNodes/relayMetricsNodes.ts +++ b/src/gatsby/sourceNodes/relayMetricsNodes.ts @@ -1,12 +1,19 @@ +import {Node, SourceNodesArgs} from 'gatsby'; + import metrics from '../../data/relay_metrics.json'; -export const relayMetricsNodes = ({actions, createNodeId, createContentDigest}) => { +export const relayMetricsNodes = ({ + actions, + createNodeId, + createContentDigest, +}: SourceNodesArgs) => { const {createNode, createParentChildLink} = actions; metrics.forEach(metric => { - const metricNode = { + const metricNode: Node = { ...metric, id: createNodeId(metric.name), + // @ts-expect-error TODO(epurkhiser): Understand what additional properties we need to add internal: { type: 'RelayMetric', contentDigest: createContentDigest(metric), @@ -15,9 +22,10 @@ export const relayMetricsNodes = ({actions, createNodeId, createContentDigest}) createNode(metricNode); - const descriptionNode = { + const descriptionNode: Node = { id: createNodeId(metric.name + '_description'), parent: metricNode.id, + // @ts-expect-error TODO(epurkhiser): Understand what additional properties we need to add internal: { content: metric.description, contentDigest: createContentDigest(metric.description), diff --git a/src/gatsby/sourceNodes/relayPiiNodes.ts b/src/gatsby/sourceNodes/relayPiiNodes.ts index 830bae22d478f..552a0e2e339a0 100644 --- a/src/gatsby/sourceNodes/relayPiiNodes.ts +++ b/src/gatsby/sourceNodes/relayPiiNodes.ts @@ -3,14 +3,25 @@ import fs from 'fs'; import path from 'path'; -export const piiFieldsNodes = ({actions, createNodeId, createContentDigest}) => { +import {SourceNodesArgs} from 'gatsby'; + +interface PiiField { + additional_properties: string; + path: string; +} + +export const piiFieldsNodes = ({ + actions, + createNodeId, + createContentDigest, +}: SourceNodesArgs) => { const {createNode} = actions; const data = fs.readFileSync( path.join(__dirname, '..', '..', 'data', 'relay_event_pii.json'), 'utf-8' ); - const fields = JSON.parse(data); + const fields: PiiField[] = JSON.parse(data); fields.forEach((field, index) => { const fieldNode = {