UNPKG

1.62 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4exports.__esModule = true;
5exports.startPluginRunner = void 0;
6var _index = require("./index");
7var _apiRunnerNode = _interopRequireDefault(require("../utils/api-runner-node"));
8const startPluginRunner = () => {
9 const plugins = _index.store.getState().flattenedPlugins;
10 const pluginsImplementingOnCreatePage = plugins.filter(plugin => plugin.nodeAPIs.includes(`onCreatePage`));
11 const pluginsImplementingOnCreateNode = plugins.filter(plugin => plugin.nodeAPIs.includes(`onCreateNode`));
12 if (pluginsImplementingOnCreatePage.length > 0) {
13 _index.emitter.on(`CREATE_PAGE`, action => {
14 const page = action.payload;
15 (0, _apiRunnerNode.default)(`onCreatePage`, {
16 page,
17 traceId: action.traceId,
18 parentSpan: action.parentSpan
19 }, {
20 pluginSource: action.plugin.name,
21 activity: action.activity
22 });
23 });
24 }
25
26 // We make page nodes outside of the normal action for speed so we manually
27 // call onCreateNode here for SitePage nodes.
28 if (pluginsImplementingOnCreateNode.length > 0) {
29 _index.emitter.on(`CREATE_NODE`, action => {
30 const node = action.payload;
31 if (node.internal.type === `SitePage`) {
32 (0, _apiRunnerNode.default)(`onCreateNode`, {
33 node,
34 parentSpan: action.parentSpan,
35 traceTags: {
36 nodeId: node.id,
37 nodeType: node.internal.type
38 }
39 });
40 }
41 });
42 }
43};
44exports.startPluginRunner = startPluginRunner;
45//# sourceMappingURL=plugin-runner.js.map
\No newline at end of file