UNPKG

3.97 kBSource Map (JSON)View Raw
1{"version":3,"file":"plugin-runner.js","names":["startPluginRunner","plugins","store","getState","flattenedPlugins","pluginsImplementingOnCreatePage","filter","plugin","nodeAPIs","includes","pluginsImplementingOnCreateNode","length","emitter","on","action","page","payload","apiRunnerNode","traceId","parentSpan","pluginSource","name","activity","node","internal","type","traceTags","nodeId","id","nodeType"],"sources":["../../src/redux/plugin-runner.ts"],"sourcesContent":["import { Span } from \"opentracing\"\nimport { emitter, store } from \"./index\"\nimport apiRunnerNode from \"../utils/api-runner-node\"\nimport { ActivityTracker } from \"../../\"\nimport { ICreateNodeAction } from \"./types\"\n\ntype Plugin = any // TODO\n\n// This might make sense to live somewhere else\ninterface ICreatePageAction {\n graphql<TData, TVariables = any>(\n query: string,\n variables?: TVariables\n ): Promise<{\n errors?: any\n data?: TData\n }>\n traceId: \"initial-createPages\"\n waitForCascadingActions: boolean\n parentSpan: Span\n activity: ActivityTracker\n type: `CREATE_PAGE`\n contextModified: boolean\n plugin: Plugin\n payload: {\n internalComponentName: string\n path: string\n matchPath: string | undefined\n component: string\n componentChunkName: string\n isCreatedByStatefulCreatePages: boolean\n context: {\n slug: string\n id: string\n }\n updatedAt: number\n // eslint-disable-next-line @typescript-eslint/naming-convention\n pluginCreator___NODE: string\n pluginCreatorId: string\n componentPath: string\n }\n}\n\nexport const startPluginRunner = (): void => {\n const plugins = store.getState().flattenedPlugins\n const pluginsImplementingOnCreatePage = plugins.filter(plugin =>\n plugin.nodeAPIs.includes(`onCreatePage`)\n )\n const pluginsImplementingOnCreateNode = plugins.filter(plugin =>\n plugin.nodeAPIs.includes(`onCreateNode`)\n )\n if (pluginsImplementingOnCreatePage.length > 0) {\n emitter.on(`CREATE_PAGE`, (action: ICreatePageAction) => {\n const page = action.payload\n apiRunnerNode(\n `onCreatePage`,\n { page, traceId: action.traceId, parentSpan: action.parentSpan },\n { pluginSource: action.plugin.name, activity: action.activity }\n )\n })\n }\n\n // We make page nodes outside of the normal action for speed so we manually\n // call onCreateNode here for SitePage nodes.\n if (pluginsImplementingOnCreateNode.length > 0) {\n emitter.on(`CREATE_NODE`, (action: ICreateNodeAction) => {\n const node = action.payload\n if (node.internal.type === `SitePage`) {\n apiRunnerNode(`onCreateNode`, {\n node,\n parentSpan: action.parentSpan,\n traceTags: { nodeId: node.id, nodeType: node.internal.type },\n })\n }\n })\n }\n}\n"],"mappings":";;;;;AACA;AACA;AAyCO,MAAMA,iBAAiB,GAAG,MAAY;EAC3C,MAAMC,OAAO,GAAGC,YAAK,CAACC,QAAQ,EAAE,CAACC,gBAAgB;EACjD,MAAMC,+BAA+B,GAAGJ,OAAO,CAACK,MAAM,CAACC,MAAM,IAC3DA,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAAE,cAAa,CAAC,CACzC;EACD,MAAMC,+BAA+B,GAAGT,OAAO,CAACK,MAAM,CAACC,MAAM,IAC3DA,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAAE,cAAa,CAAC,CACzC;EACD,IAAIJ,+BAA+B,CAACM,MAAM,GAAG,CAAC,EAAE;IAC9CC,cAAO,CAACC,EAAE,CAAE,aAAY,EAAGC,MAAyB,IAAK;MACvD,MAAMC,IAAI,GAAGD,MAAM,CAACE,OAAO;MAC3B,IAAAC,sBAAa,EACV,cAAa,EACd;QAAEF,IAAI;QAAEG,OAAO,EAAEJ,MAAM,CAACI,OAAO;QAAEC,UAAU,EAAEL,MAAM,CAACK;MAAW,CAAC,EAChE;QAAEC,YAAY,EAAEN,MAAM,CAACP,MAAM,CAACc,IAAI;QAAEC,QAAQ,EAAER,MAAM,CAACQ;MAAS,CAAC,CAChE;IACH,CAAC,CAAC;EACJ;;EAEA;EACA;EACA,IAAIZ,+BAA+B,CAACC,MAAM,GAAG,CAAC,EAAE;IAC9CC,cAAO,CAACC,EAAE,CAAE,aAAY,EAAGC,MAAyB,IAAK;MACvD,MAAMS,IAAI,GAAGT,MAAM,CAACE,OAAO;MAC3B,IAAIO,IAAI,CAACC,QAAQ,CAACC,IAAI,KAAM,UAAS,EAAE;QACrC,IAAAR,sBAAa,EAAE,cAAa,EAAE;UAC5BM,IAAI;UACJJ,UAAU,EAAEL,MAAM,CAACK,UAAU;UAC7BO,SAAS,EAAE;YAAEC,MAAM,EAAEJ,IAAI,CAACK,EAAE;YAAEC,QAAQ,EAAEN,IAAI,CAACC,QAAQ,CAACC;UAAK;QAC7D,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;AACF,CAAC;AAAA"}
\No newline at end of file