@openeventkit/event-site 2.0.111 → 2.0.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/gatsby-browser.js +1 -1
- package/{gatsby-config.js → gatsby-config.mjs} +56 -20
- package/gatsby-node.js +145 -92
- package/gatsby-ssr.js +2 -14
- package/package.json +29 -27
- package/src/cms/cms-utils.js +15 -8
- package/src/cms/cms.js +1 -1
- package/src/cms/config/collections/configurationsCollection/siteSettings/index.js +25 -5
- package/src/cms/config/collections/configurationsCollection/siteSettings/typeDefs.js +6 -0
- package/src/cms/config/collections/contentPagesCollection/typeDefs.js +8 -1
- package/src/cms/config/collections/defaultPagesCollection/marketingPage/index.js +5 -5
- package/src/cms/config/collections/defaultPagesCollection/marketingPage/typeDefs.js +4 -4
- package/src/cms/preview-templates/ContentPagePreview.js +41 -13
- package/src/cms/widgets/IdentityProviderParamControl.js +1 -1
- package/src/components/DisqusComponent.js +1 -1
- package/src/components/LiteScheduleComponent.js +9 -11
- package/src/components/ResponsiveImage.js +30 -0
- package/src/components/summit-my-orders-tickets/components/TicketPopup/TicketPopupEditDetailsForm/TicketPopupEditDetailsForm.js +4 -4
- package/src/content/site-settings/index.json +6 -1
- package/src/pages/index.js +6 -6
- package/src/pages/maintenance.js +18 -0
- package/src/styles/marketing.module.scss +6 -4
- package/src/styles/style.scss +0 -26
- package/src/templates/content-page/index.js +74 -0
- package/src/templates/content-page/shortcodes.js +17 -0
- package/src/templates/content-page/template.js +21 -0
- package/src/templates/marketing-page-template.js +66 -38
- package/src/utils/buildPolyfills.js +18 -0
- package/src/utils/filePath.js +18 -14
- package/src/utils/useSiteSettings.js +4 -0
- package/src/components/Content.js +0 -42
- package/src/content/maintenance.json +0 -5
- package/src/pages/maintenance.md +0 -3
- package/src/templates/content-page.js +0 -92
- package/src/templates/maintenance-page.js +0 -40
- package/static/admin/admin.css +0 -3
package/gatsby-browser.js
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
import path, { dirname } from "path";
|
|
2
|
+
import dotenv from "dotenv";
|
|
3
|
+
import { createRequire } from "module";
|
|
4
|
+
import { fileURLToPath } from "url";
|
|
5
|
+
import webpack from "webpack";
|
|
6
|
+
import remarkGfm from "remark-gfm";
|
|
7
|
+
import rehypeMdxImportMedia from "rehype-mdx-import-media";
|
|
2
8
|
|
|
3
|
-
require(
|
|
9
|
+
const require = createRequire(import.meta.url);
|
|
10
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
|
|
12
|
+
dotenv.config({
|
|
4
13
|
path: `.env.${process.env.NODE_ENV}`
|
|
5
14
|
});
|
|
6
15
|
|
|
7
16
|
const {
|
|
8
17
|
STATIC_CONTENT_DIR_PATH,
|
|
18
|
+
PAGES_DIR_PATH,
|
|
9
19
|
CONTENT_PAGES_DIR_PATH,
|
|
20
|
+
CONTENT_PAGES_PATH_NAME,
|
|
10
21
|
SITE_SETTINGS_FILE_PATH,
|
|
11
22
|
SITE_SETTINGS_DIR_PATH,
|
|
12
23
|
MARKETING_SETTINGS_FILE_PATH
|
|
@@ -117,28 +128,45 @@ const plugins = [
|
|
|
117
128
|
name: "marketingSettings"
|
|
118
129
|
}
|
|
119
130
|
},
|
|
131
|
+
{
|
|
132
|
+
resolve: "gatsby-plugin-page-creator",
|
|
133
|
+
options: {
|
|
134
|
+
path: path.resolve(PAGES_DIR_PATH),
|
|
135
|
+
ignore: [`**/${CONTENT_PAGES_PATH_NAME}/**`],
|
|
136
|
+
}
|
|
137
|
+
},
|
|
120
138
|
"gatsby-plugin-image",
|
|
121
139
|
"gatsby-plugin-sharp",
|
|
122
140
|
"gatsby-transformer-sharp",
|
|
123
141
|
"gatsby-transformer-json",
|
|
124
142
|
{
|
|
125
|
-
resolve: "gatsby-
|
|
143
|
+
resolve: "gatsby-plugin-mdx",
|
|
126
144
|
options: {
|
|
127
|
-
|
|
145
|
+
extensions: [".mdx", ".md"],
|
|
146
|
+
gatsbyRemarkPlugins: [
|
|
128
147
|
{
|
|
129
148
|
resolve: "gatsby-remark-images",
|
|
130
149
|
options: {
|
|
131
|
-
// It
|
|
150
|
+
// It's important to specify the maxWidth (in pixels) of
|
|
132
151
|
// the content container as this plugin uses this as the
|
|
133
152
|
// base for generating different widths of each image.
|
|
134
153
|
maxWidth: 2048
|
|
135
154
|
}
|
|
136
155
|
}
|
|
137
|
-
]
|
|
156
|
+
],
|
|
157
|
+
mdxOptions: {
|
|
158
|
+
remarkPlugins: [
|
|
159
|
+
// Add GitHub Flavored Markdown (GFM) support
|
|
160
|
+
remarkGfm
|
|
161
|
+
],
|
|
162
|
+
rehypePlugins: [
|
|
163
|
+
rehypeMdxImportMedia
|
|
164
|
+
]
|
|
165
|
+
}
|
|
138
166
|
}
|
|
139
167
|
},
|
|
140
168
|
{
|
|
141
|
-
resolve: "gatsby-plugin-
|
|
169
|
+
resolve: "gatsby-plugin-decap-cms",
|
|
142
170
|
options: {
|
|
143
171
|
modulePath: `${__dirname}/src/cms/cms.js`,
|
|
144
172
|
manualInit: true,
|
|
@@ -170,20 +198,29 @@ const plugins = [
|
|
|
170
198
|
jsRule
|
|
171
199
|
];
|
|
172
200
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
* @see https://
|
|
177
|
-
* @see https://github.com/gatsbyjs/gatsby/issues/31475
|
|
178
|
-
* @see https://github.com/gatsbyjs/gatsby/issues/31179#issuecomment-844588682
|
|
201
|
+
* Webpack removed automatic polyfills for these node APIs in v5,
|
|
202
|
+
* so we need to patch them in the browser.
|
|
203
|
+
* @see https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/#webpack-5-node-configuration-changed-nodefs-nodepath-
|
|
204
|
+
* @see https://viglucci.io/how-to-polyfill-buffer-with-webpack-5
|
|
179
205
|
*/
|
|
180
206
|
config.resolve = {
|
|
181
207
|
...config.resolve,
|
|
182
208
|
fallback: {
|
|
183
209
|
...config.resolve.fallback,
|
|
184
|
-
|
|
210
|
+
fs: false,
|
|
211
|
+
assert: require.resolve("assert"),
|
|
212
|
+
buffer: require.resolve("buffer/"),
|
|
213
|
+
path: require.resolve("path-browserify"),
|
|
214
|
+
"object.assign/polyfill": require.resolve("object.assign/polyfill")
|
|
185
215
|
}
|
|
186
216
|
};
|
|
217
|
+
config.plugins = [
|
|
218
|
+
...config.plugins,
|
|
219
|
+
new webpack.ProvidePlugin({
|
|
220
|
+
process: "process",
|
|
221
|
+
Buffer: ["buffer", "Buffer"]
|
|
222
|
+
})
|
|
223
|
+
];
|
|
187
224
|
}
|
|
188
225
|
}
|
|
189
226
|
},
|
|
@@ -191,10 +228,9 @@ const plugins = [
|
|
|
191
228
|
"gatsby-plugin-netlify", // make sure to keep it last in the array
|
|
192
229
|
];
|
|
193
230
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
description
|
|
198
|
-
},
|
|
199
|
-
plugins
|
|
231
|
+
const siteMetadata = {
|
|
232
|
+
title,
|
|
233
|
+
description
|
|
200
234
|
};
|
|
235
|
+
|
|
236
|
+
export { siteMetadata, plugins };
|
package/gatsby-node.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
const axios = require("axios");
|
|
2
2
|
const path = require("path");
|
|
3
|
-
const fs = require("fs");
|
|
3
|
+
const fs = require("fs-extra");
|
|
4
4
|
const webpack = require("webpack");
|
|
5
|
-
const {
|
|
5
|
+
const {
|
|
6
|
+
createFilePath
|
|
7
|
+
} = require("gatsby-source-filesystem");
|
|
6
8
|
const SentryWebpackPlugin = require("@sentry/webpack-plugin");
|
|
7
9
|
const { ClientCredentials } = require("simple-oauth2");
|
|
8
10
|
|
|
@@ -22,7 +24,8 @@ const {
|
|
|
22
24
|
SPEAKERS_IDX_FILE_PATH,
|
|
23
25
|
VOTEABLE_PRESENTATIONS_FILE_PATH,
|
|
24
26
|
MARKETING_SETTINGS_FILE_PATH,
|
|
25
|
-
|
|
27
|
+
MAINTENANCE_PATH_NAME,
|
|
28
|
+
CONTENT_PAGES_PATH_NAME,
|
|
26
29
|
SPONSORS_FILE_PATH,
|
|
27
30
|
FONTS_SCSS_FILE_PATH
|
|
28
31
|
} = require("./src/utils/filePath");
|
|
@@ -226,7 +229,7 @@ exports.onPreBootstrap = async () => {
|
|
|
226
229
|
const summitApiBaseUrl = process.env.GATSBY_SUMMIT_API_BASE_URL;
|
|
227
230
|
let marketingSettings = await SSR_getMarketingSettings(process.env.GATSBY_MARKETING_API_BASE_URL, summitId);
|
|
228
231
|
const colorSettings = fs.existsSync(COLORS_FILE_PATH) ? JSON.parse(fs.readFileSync(COLORS_FILE_PATH)) : require(`./${DEFAULT_COLORS_FILE_PATH}`);
|
|
229
|
-
const
|
|
232
|
+
const siteSettings = fs.existsSync(SITE_SETTINGS_FILE_PATH) ? JSON.parse(fs.readFileSync(SITE_SETTINGS_FILE_PATH)) : {};
|
|
230
233
|
|
|
231
234
|
const config = {
|
|
232
235
|
client: {
|
|
@@ -328,13 +331,13 @@ exports.onPreBootstrap = async () => {
|
|
|
328
331
|
fs.writeFileSync(VOTEABLE_PRESENTATIONS_FILE_PATH, JSON.stringify(allVoteablePresentations), "utf8");
|
|
329
332
|
|
|
330
333
|
// setting build times
|
|
331
|
-
|
|
332
|
-
|
|
334
|
+
siteSettings.staticJsonFilesBuildTime = fileBuildTimes;
|
|
335
|
+
siteSettings.lastBuild = Date.now();
|
|
333
336
|
|
|
334
|
-
fs.writeFileSync(SITE_SETTINGS_FILE_PATH, JSON.stringify(
|
|
337
|
+
fs.writeFileSync(SITE_SETTINGS_FILE_PATH, JSON.stringify(siteSettings), "utf8");
|
|
335
338
|
|
|
336
339
|
// Read fonts from site settings
|
|
337
|
-
const siteFonts =
|
|
340
|
+
const siteFonts = siteSettings.siteFont;
|
|
338
341
|
|
|
339
342
|
if(siteFonts && Object.keys(siteFonts).length > 0) {
|
|
340
343
|
// Generate the SCSS file
|
|
@@ -351,8 +354,52 @@ exports.onPreBootstrap = async () => {
|
|
|
351
354
|
}
|
|
352
355
|
};
|
|
353
356
|
|
|
354
|
-
exports.createSchemaCustomization = ({ actions }) => {
|
|
355
|
-
const { createTypes } = actions;
|
|
357
|
+
exports.createSchemaCustomization = async ({ actions, reporter, getNodeAndSavePathDependency }) => {
|
|
358
|
+
const { createFieldExtension, createTypes } = actions;
|
|
359
|
+
createFieldExtension({
|
|
360
|
+
name: "resolveImages",
|
|
361
|
+
extend: () => ({
|
|
362
|
+
async resolve(source, args, context, info) {
|
|
363
|
+
const content = source[info.fieldName];
|
|
364
|
+
const imageRegex = /!\[([^\]]*)\]\(([^)]+)\)/g;
|
|
365
|
+
let match;
|
|
366
|
+
let transformedContent = content;
|
|
367
|
+
while ((match = imageRegex.exec(content)) !== null) {
|
|
368
|
+
const [, alt, url] = match;
|
|
369
|
+
if (url.startsWith("http://") || url.startsWith("https://")) {
|
|
370
|
+
continue;
|
|
371
|
+
}
|
|
372
|
+
const node = await context.nodeModel.findOne({
|
|
373
|
+
type: "File",
|
|
374
|
+
query: { filter: { base: { eq: url } } }
|
|
375
|
+
});
|
|
376
|
+
if (!node) {
|
|
377
|
+
reporter.warn(`File node not found for ${url}`);
|
|
378
|
+
continue;
|
|
379
|
+
}
|
|
380
|
+
const absolutePath = path.resolve(node.dir, url);
|
|
381
|
+
if (!fs.existsSync(absolutePath)) {
|
|
382
|
+
reporter.warn(`File not found at path ${absolutePath}`);
|
|
383
|
+
continue;
|
|
384
|
+
}
|
|
385
|
+
const details = getNodeAndSavePathDependency(node.id, context.path);
|
|
386
|
+
const fileName = `${node.internal.contentDigest}/${details.base}`;
|
|
387
|
+
const publicStaticDir = path.join(process.cwd(), "public", "static");
|
|
388
|
+
const publicPath = path.join(publicStaticDir, fileName);
|
|
389
|
+
if (!fs.existsSync(publicPath)) {
|
|
390
|
+
try {
|
|
391
|
+
await fs.copy(details.absolutePath, publicPath, { dereference: true });
|
|
392
|
+
} catch (err) {
|
|
393
|
+
reporter.panic(`Error copying file from ${details.absolutePath} to ${publicPath}: ${err.message}`);
|
|
394
|
+
continue;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
transformedContent = transformedContent.replace(url, `/static/${fileName}`);
|
|
398
|
+
}
|
|
399
|
+
return transformedContent;
|
|
400
|
+
}
|
|
401
|
+
})
|
|
402
|
+
});
|
|
356
403
|
// TODO: improve typeDefs to allow theme override
|
|
357
404
|
const typeDefs = require("./src/cms/config/collections/typeDefs");
|
|
358
405
|
createTypes(typeDefs);
|
|
@@ -360,91 +407,99 @@ exports.createSchemaCustomization = ({ actions }) => {
|
|
|
360
407
|
|
|
361
408
|
exports.onCreateNode = ({ node, actions, getNode }) => {
|
|
362
409
|
const { createNodeField } = actions;
|
|
363
|
-
if (node.internal.type === "
|
|
410
|
+
if (node.internal.type === "Mdx") {
|
|
364
411
|
const value = createFilePath({ node, getNode });
|
|
365
412
|
createNodeField({
|
|
366
413
|
name: "slug",
|
|
367
414
|
node,
|
|
368
|
-
value
|
|
415
|
+
value
|
|
369
416
|
})
|
|
370
417
|
}
|
|
371
418
|
};
|
|
372
419
|
|
|
373
|
-
exports.createPages = ({ actions, graphql }) => {
|
|
420
|
+
exports.createPages = async ({ actions, graphql }) => {
|
|
374
421
|
const { createPage, createRedirect } = actions;
|
|
375
422
|
|
|
376
|
-
const
|
|
377
|
-
|
|
423
|
+
const siteSettings = fs.existsSync(SITE_SETTINGS_FILE_PATH) ? JSON.parse(fs.readFileSync(SITE_SETTINGS_FILE_PATH)) : {};
|
|
424
|
+
const maintenanceMode = siteSettings.maintenanceMode ?? { enabled: false };
|
|
425
|
+
const maintenancePath = `/${MAINTENANCE_PATH_NAME}/`;
|
|
378
426
|
|
|
379
|
-
// create a catch all redirect
|
|
380
427
|
if (maintenanceMode.enabled) {
|
|
428
|
+
// create a catch all redirect
|
|
381
429
|
createRedirect({
|
|
382
430
|
fromPath: "/*",
|
|
383
|
-
toPath:
|
|
431
|
+
toPath: maintenancePath,
|
|
432
|
+
isPermanent: false,
|
|
433
|
+
statusCode: 302
|
|
434
|
+
});
|
|
435
|
+
// end execution, dont create any page from md/mdx
|
|
436
|
+
return;
|
|
437
|
+
} else {
|
|
438
|
+
createRedirect({
|
|
439
|
+
fromPath: maintenancePath,
|
|
440
|
+
toPath: "/",
|
|
441
|
+
isPermanent: false,
|
|
442
|
+
statusCode: 302
|
|
384
443
|
});
|
|
385
444
|
}
|
|
386
445
|
|
|
387
|
-
|
|
446
|
+
const result = await graphql(`
|
|
388
447
|
{
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
448
|
+
allMdx {
|
|
449
|
+
nodes {
|
|
450
|
+
id
|
|
451
|
+
fields {
|
|
452
|
+
slug
|
|
453
|
+
}
|
|
454
|
+
frontmatter {
|
|
455
|
+
templateKey
|
|
456
|
+
}
|
|
457
|
+
internal {
|
|
458
|
+
contentFilePath
|
|
399
459
|
}
|
|
400
460
|
}
|
|
401
461
|
}
|
|
402
462
|
}
|
|
403
|
-
`)
|
|
404
|
-
const {
|
|
405
|
-
errors,
|
|
406
|
-
data: {
|
|
407
|
-
allMarkdownRemark: {
|
|
408
|
-
edges
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
} = result;
|
|
463
|
+
`);
|
|
412
464
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
465
|
+
if (result.errors) {
|
|
466
|
+
result.errors.forEach((e) => console.error(e.toString()));
|
|
467
|
+
return Promise.reject(result.errors);
|
|
468
|
+
}
|
|
417
469
|
|
|
418
|
-
|
|
419
|
-
|
|
470
|
+
const nodes = result.data.allMdx.nodes;
|
|
471
|
+
|
|
472
|
+
nodes.forEach((node) => {
|
|
473
|
+
const { id, fields: { slug }, frontmatter: { templateKey }, internal: { contentFilePath } } = node;
|
|
474
|
+
const template = require.resolve(`./src/templates/${String(templateKey)}`);
|
|
475
|
+
// remove content pages namespace from path
|
|
476
|
+
const path = slug.replace(`${CONTENT_PAGES_PATH_NAME}`, "/");
|
|
477
|
+
const page = {
|
|
478
|
+
path: path,
|
|
479
|
+
component: `${template}?__contentFilePath=${contentFilePath}`,
|
|
480
|
+
context: { id }
|
|
481
|
+
};
|
|
482
|
+
createPage(page);
|
|
483
|
+
});
|
|
484
|
+
};
|
|
420
485
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
slug = slug.replace("/content-pages/", "/");
|
|
424
|
-
}
|
|
486
|
+
exports.onCreatePage = async ({ page, actions }) => {
|
|
487
|
+
const { deletePage } = actions;
|
|
425
488
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
// dont create pages if maintenance mode enabled
|
|
437
|
-
// gatsby disregards redirect if pages created for path
|
|
438
|
-
if (maintenanceMode.enabled && !page.path.match(/maintenance/)) return;
|
|
439
|
-
|
|
440
|
-
createPage(page);
|
|
441
|
-
});
|
|
442
|
-
});
|
|
489
|
+
const siteSettings = fs.existsSync(SITE_SETTINGS_FILE_PATH) ? JSON.parse(fs.readFileSync(SITE_SETTINGS_FILE_PATH)) : {};
|
|
490
|
+
const maintenanceMode = siteSettings.maintenanceMode ?? { enabled: false };
|
|
491
|
+
const maintenancePath = `/${MAINTENANCE_PATH_NAME}/`;
|
|
492
|
+
|
|
493
|
+
const shouldDeletePage = (maintenanceMode.enabled && page.path !== maintenancePath) ||
|
|
494
|
+
(!maintenanceMode.enabled && page.path === maintenancePath);
|
|
495
|
+
|
|
496
|
+
if (shouldDeletePage) {
|
|
497
|
+
deletePage(page);
|
|
498
|
+
}
|
|
443
499
|
};
|
|
444
500
|
|
|
445
501
|
exports.onCreateWebpackConfig = ({
|
|
446
502
|
actions,
|
|
447
|
-
plugins,
|
|
448
503
|
loaders,
|
|
449
504
|
getConfig
|
|
450
505
|
}) => {
|
|
@@ -482,35 +537,32 @@ exports.onCreateWebpackConfig = ({
|
|
|
482
537
|
* @see https://viglucci.io/how-to-polyfill-buffer-with-webpack-5
|
|
483
538
|
*/
|
|
484
539
|
fallback: {
|
|
540
|
+
fs: false,
|
|
541
|
+
assert: require.resolve("assert"),
|
|
542
|
+
buffer: require.resolve("buffer/"),
|
|
485
543
|
path: require.resolve("path-browserify"),
|
|
486
544
|
stream: require.resolve("stream-browserify"),
|
|
487
|
-
|
|
545
|
+
"object.assign/polyfill": require.resolve("object.assign/polyfill")
|
|
488
546
|
},
|
|
489
547
|
// allows content and data imports to correctly resolve when theming
|
|
490
|
-
modules: [
|
|
548
|
+
modules: [
|
|
549
|
+
path.resolve("src")
|
|
550
|
+
]
|
|
491
551
|
},
|
|
492
552
|
// devtool: "source-map",
|
|
493
553
|
plugins: [
|
|
494
|
-
plugins.define({
|
|
495
|
-
"global.GENTLY": false,
|
|
496
|
-
"global.BLOB": false
|
|
497
|
-
}),
|
|
498
554
|
new webpack.ProvidePlugin({
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
// ignore unused jsdom dependency
|
|
502
|
-
new webpack.IgnorePlugin({
|
|
503
|
-
resourceRegExp: /canvas/,
|
|
504
|
-
contextRegExp: /jsdom$/
|
|
555
|
+
process: "process",
|
|
556
|
+
Buffer: ["buffer", "Buffer"]
|
|
505
557
|
}),
|
|
506
558
|
// upload source maps only if we have an sentry auth token and we are at production
|
|
507
|
-
...("GATSBY_SENTRY_AUTH_TOKEN" in process.env && process.env.NODE_ENV === "production") ?[
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
559
|
+
...("GATSBY_SENTRY_AUTH_TOKEN" in process.env && process.env.NODE_ENV === "production") ? [
|
|
560
|
+
new SentryWebpackPlugin({
|
|
561
|
+
org: process.env.GATSBY_SENTRY_ORG,
|
|
562
|
+
project: process.env.GATSBY_SENTRY_PROJECT,
|
|
563
|
+
ignore: ["app-*", "polyfill-*", "framework-*", "webpack-runtime-*", "~partytown"],
|
|
564
|
+
// Specify the directory containing build artifacts
|
|
565
|
+
include: [
|
|
514
566
|
{
|
|
515
567
|
paths: ["src","public",".cache"],
|
|
516
568
|
urlPrefix: "~/",
|
|
@@ -550,14 +602,15 @@ exports.onCreateWebpackConfig = ({
|
|
|
550
602
|
{
|
|
551
603
|
paths: ["node_modules/speakers-widget/dist"],
|
|
552
604
|
urlPrefix: "~/node_modules/speakers-widget/dist",
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
605
|
+
}
|
|
606
|
+
],
|
|
607
|
+
// Auth tokens can be obtained from https://sentry.io/settings/account/api/auth-tokens/
|
|
608
|
+
// and needs the `project:releases` and `org:read` scopes
|
|
609
|
+
authToken: process.env.GATSBY_SENTRY_AUTH_TOKEN,
|
|
610
|
+
// Optionally uncomment the line below to override automatic release name detection
|
|
611
|
+
release: process.env.GATSBY_SENTRY_RELEASE,
|
|
612
|
+
})
|
|
613
|
+
] : []
|
|
561
614
|
]
|
|
562
615
|
});
|
|
563
616
|
};
|
package/gatsby-ssr.js
CHANGED
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
PreBodyComponents
|
|
6
6
|
} from "./src/components/HeadComponents";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
import
|
|
8
|
+
// build enabler polyfills
|
|
9
|
+
import "./src/utils/buildPolyfills";
|
|
10
10
|
|
|
11
11
|
export const wrapRootElement = ReduxWrapper;
|
|
12
12
|
|
|
@@ -19,15 +19,3 @@ export const onRenderBody = ({
|
|
|
19
19
|
setHeadComponents(HeadComponents);
|
|
20
20
|
setPreBodyComponents(PreBodyComponents);
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
// build enabler polyfills
|
|
24
|
-
global.dom = new JSDOM("...");
|
|
25
|
-
global.window = dom.window;
|
|
26
|
-
global.document = dom.window.document;
|
|
27
|
-
global.navigator = global.window.navigator;
|
|
28
|
-
global.window.matchMedia = () => ({
|
|
29
|
-
matches: false,
|
|
30
|
-
addListener: () => {},
|
|
31
|
-
removeListener: () => {}
|
|
32
|
-
});
|
|
33
|
-
global.XMLHttpRequest = XMLHttpRequest;
|
package/package.json
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openeventkit/event-site",
|
|
3
3
|
"description": "Event Site",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.112",
|
|
5
5
|
"author": "Tipit LLC",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@
|
|
7
|
+
"@mdx-js/react": "^3.0.1",
|
|
8
|
+
"@mdx-js/runtime": "^1.6.22",
|
|
9
|
+
"@mui/base": "^5.0.0-beta.40",
|
|
8
10
|
"@mux/mux-player-react": "^1.14.1",
|
|
9
11
|
"@ncwidgets/file-relation": "^0.8.0",
|
|
10
12
|
"@ncwidgets/id": "^0.8.1",
|
|
@@ -25,17 +27,15 @@
|
|
|
25
27
|
"attendee-to-attendee-widget": "3.0.6",
|
|
26
28
|
"awesome-bootstrap-checkbox": "^1.0.1",
|
|
27
29
|
"axios": "^0.19.2",
|
|
28
|
-
"babel-preset-gatsby": "^3.9.0",
|
|
29
30
|
"browser-tabs-lock": "^1.2.15",
|
|
30
|
-
"buffer": "^6.0.3",
|
|
31
31
|
"bulma": "^0.9.0",
|
|
32
32
|
"chain-function": "^1.0.1",
|
|
33
33
|
"classnames": "^2.3.1",
|
|
34
|
-
"clean-html": "^1.5.0",
|
|
35
|
-
"codemirror": "^5.55.0",
|
|
36
34
|
"core-js": "^2.6.11",
|
|
37
35
|
"cross-env": "^7.0.3",
|
|
38
36
|
"crypto-js": "^4.1.1",
|
|
37
|
+
"decap-cms-app": "^3.1.10",
|
|
38
|
+
"decap-cms-lib-widgets": "^3.0.2",
|
|
39
39
|
"disqus-react": "1.0.10",
|
|
40
40
|
"dotenv": "^8.2.0",
|
|
41
41
|
"dropzone": "^5.7.2",
|
|
@@ -44,40 +44,36 @@
|
|
|
44
44
|
"font-awesome": "^4.7.0",
|
|
45
45
|
"formik": "^2.2.9",
|
|
46
46
|
"full-schedule-widget": "3.0.5",
|
|
47
|
-
"gatsby": "^5.
|
|
47
|
+
"gatsby": "^5.13.5",
|
|
48
48
|
"gatsby-alias-imports": "^1.0.6",
|
|
49
|
+
"gatsby-plugin-decap-cms": "^4.0.4",
|
|
49
50
|
"gatsby-plugin-google-tagmanager": "^5.13.1",
|
|
50
|
-
"gatsby-plugin-image": "^3.
|
|
51
|
-
"gatsby-plugin-manifest": "^5.
|
|
52
|
-
"gatsby-plugin-
|
|
53
|
-
"gatsby-plugin-netlify
|
|
54
|
-
"gatsby-plugin-
|
|
55
|
-
"gatsby-plugin-
|
|
56
|
-
"gatsby-
|
|
57
|
-
"gatsby-
|
|
58
|
-
"gatsby-
|
|
59
|
-
"gatsby-transformer-
|
|
60
|
-
"gatsby-transformer-sharp": "^5.
|
|
51
|
+
"gatsby-plugin-image": "^3.13.1",
|
|
52
|
+
"gatsby-plugin-manifest": "^5.13.1",
|
|
53
|
+
"gatsby-plugin-mdx": "^5.12.3",
|
|
54
|
+
"gatsby-plugin-netlify": "^5.1.1",
|
|
55
|
+
"gatsby-plugin-page-creator": "^5.13.1",
|
|
56
|
+
"gatsby-plugin-sass": "^6.13.1",
|
|
57
|
+
"gatsby-plugin-sharp": "^5.13.1",
|
|
58
|
+
"gatsby-remark-images": "^7.13.1",
|
|
59
|
+
"gatsby-source-filesystem": "^5.12.3",
|
|
60
|
+
"gatsby-transformer-json": "^5.12.3",
|
|
61
|
+
"gatsby-transformer-sharp": "^5.13.1",
|
|
61
62
|
"history": "^4.10.1",
|
|
62
63
|
"i18n-react": "^0.6.4",
|
|
63
64
|
"i18next": "^21.8.3",
|
|
64
65
|
"i18next-browser-languagedetector": "^6.1.4",
|
|
65
66
|
"i18next-http-backend": "^1.4.0",
|
|
66
67
|
"idtoken-verifier": "^2.2.2",
|
|
67
|
-
"image-size": "^1.0.1",
|
|
68
68
|
"immutability-helper": "2.9.1",
|
|
69
69
|
"immutable": "^5.0.0-beta.5",
|
|
70
|
-
"jsdom": "^16.2.2",
|
|
71
70
|
"lite-schedule-widget": "3.0.3",
|
|
72
71
|
"live-event-widget": "4.0.2",
|
|
73
72
|
"lodash": "^4.17.19",
|
|
74
73
|
"lz-string": "^1.4.4",
|
|
75
74
|
"markdown-it": "^12.0.0",
|
|
76
|
-
"markdown-to-jsx": "^7.3.2",
|
|
77
75
|
"moment": "^2.27.0",
|
|
78
76
|
"moment-timezone": "^0.5.31",
|
|
79
|
-
"netlify-cms-app": "^2.15.72",
|
|
80
|
-
"netlify-cms-lib-widgets": "^1.8.0",
|
|
81
77
|
"openstack-uicore-foundation": "4.1.76",
|
|
82
78
|
"path-browserify": "^1.0.1",
|
|
83
79
|
"prop-types": "^15.6.0",
|
|
@@ -110,7 +106,8 @@
|
|
|
110
106
|
"redux": "^4.1.2",
|
|
111
107
|
"redux-persist": "^6.0.0",
|
|
112
108
|
"redux-thunk": "^2.4.1",
|
|
113
|
-
"
|
|
109
|
+
"rehype-mdx-import-media": "^1.2.0",
|
|
110
|
+
"remark-gfm": "^4.0.0",
|
|
114
111
|
"sass": "^1.49.9",
|
|
115
112
|
"schedule-filter-widget": "3.0.1",
|
|
116
113
|
"simple-chat-widget": "^1.0.31",
|
|
@@ -119,7 +116,6 @@
|
|
|
119
116
|
"smoothscroll-polyfill": "^0.4.4",
|
|
120
117
|
"socket.io-client": "^4.5.2",
|
|
121
118
|
"speakers-widget": "4.0.1",
|
|
122
|
-
"stream-browserify": "^3.0.0",
|
|
123
119
|
"stream-chat": "^2.7.2",
|
|
124
120
|
"stream-chat-react": "3.1.7",
|
|
125
121
|
"summit-registration-lite": "5.0.35",
|
|
@@ -134,7 +130,6 @@
|
|
|
134
130
|
"videojs-mux": "^3.1.0",
|
|
135
131
|
"videojs-youtube": "^2.6.1",
|
|
136
132
|
"what-input": "^5.2.10",
|
|
137
|
-
"xmlhttprequest": "^1.8.0",
|
|
138
133
|
"yup": "^0.32.11"
|
|
139
134
|
},
|
|
140
135
|
"keywords": [
|
|
@@ -157,7 +152,10 @@
|
|
|
157
152
|
"@testing-library/jest-dom": "^6.4.2",
|
|
158
153
|
"@testing-library/react": "^15.0.2",
|
|
159
154
|
"@testing-library/user-event": "^14.5.2",
|
|
155
|
+
"assert": "^2.1.0",
|
|
160
156
|
"babel-jest": "^29.7.0",
|
|
157
|
+
"babel-preset-gatsby": "^3.13.2",
|
|
158
|
+
"buffer": "^6.0.3",
|
|
161
159
|
"devcert": "1.1.0",
|
|
162
160
|
"gatsby-plugin-webpack-speed-measure": "^0.1.1",
|
|
163
161
|
"identity-obj-proxy": "^3.0.0",
|
|
@@ -166,7 +164,11 @@
|
|
|
166
164
|
"jest-transform-stub": "^2.0.0",
|
|
167
165
|
"js-yaml": "^4.1.0",
|
|
168
166
|
"js-yaml-loader": "^1.2.2",
|
|
169
|
-
"
|
|
167
|
+
"jsdom": "^24.1.0",
|
|
168
|
+
"object.assign": "^4.1.5",
|
|
169
|
+
"prettier": "^2.0.5",
|
|
170
|
+
"stream-browserify": "^3.0.0",
|
|
171
|
+
"xmlhttprequest": "^1.8.0"
|
|
170
172
|
},
|
|
171
173
|
"jest": {
|
|
172
174
|
"collectCoverageFrom": [
|
package/src/cms/cms-utils.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
/*
|
|
2
|
+
Workaround for text editor
|
|
3
|
+
@see https://github.com/decaporg/decap-cms/issues/5092
|
|
4
|
+
*/
|
|
5
|
+
const injectCustomStyle = () => {
|
|
6
|
+
const style = document.createElement("style");
|
|
7
|
+
style.innerHTML = `
|
|
8
|
+
div[data-slate-editor] {
|
|
9
|
+
-webkit-user-modify: read-write !important;
|
|
10
|
+
}
|
|
11
|
+
`;
|
|
12
|
+
document.head.appendChild(style);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
injectCustomStyle();
|
package/src/cms/cms.js
CHANGED