From 41454cfd30cbdbbcc4dfb53f1c29aecfcce470b2 Mon Sep 17 00:00:00 2001 From: Eric Knibbe Date: Fri, 13 Jan 2023 17:54:15 -0500 Subject: [PATCH 001/152] fix(git): disable color.ui in git storage (#6014) --- server/modules/storage/git/storage.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/modules/storage/git/storage.js b/server/modules/storage/git/storage.js index cd69f3e7..0995445a 100644 --- a/server/modules/storage/git/storage.js +++ b/server/modules/storage/git/storage.js @@ -45,9 +45,10 @@ module.exports = { await this.git.init() } - // Disable quotePath + // Disable quotePath, color output // Link https://git-scm.com/docs/git-config#Documentation/git-config.txt-corequotePath await this.git.raw(['config', '--local', 'core.quotepath', false]) + await this.git.raw(['config', '--local', 'color.ui', false]) // Set default author await this.git.raw(['config', '--local', 'user.email', this.config.defaultEmail]) From a906f2e7820273ef25bbad5dcf1cc6dc15525544 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Fri, 13 Jan 2023 18:07:01 -0500 Subject: [PATCH 002/152] docs: update issue template --- .github/ISSUE_TEMPLATE/config.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 680ec362..90c15174 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -3,9 +3,6 @@ contact_links: - name: Help / Questions url: https://github.com/Requarks/wiki/discussions/categories/help-questions about: Ask the community for help on using or setting up Wiki.js - - name: Report a Security Issue - url: https://github.com/Requarks/wiki/security/policy - about: Privately report security issues so they can be addressed quickly. - name: Errors / Bug Reports url: https://github.com/Requarks/wiki/discussions/categories/error-bug-report about: Create a discussion around the bug / error you're getting. If validated, a proper GitHub issue will be created so that it can be worked on. From 9dddef3a3fceac5134a261ee8a0f937568585cf6 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Fri, 13 Jan 2023 18:09:20 -0500 Subject: [PATCH 003/152] docs: remove old issue template --- .github/ISSUE_TEMPLATE.md | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 3b4b7ae9..00000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,12 +0,0 @@ - - -### Actual behavior - -### Expected behavior - -### Steps to reproduce the behavior - - - - From 12233c476d6b8addd17b1ea3d1428c1605d18458 Mon Sep 17 00:00:00 2001 From: Sleuth56 <34520077+Sleuth56@users.noreply.github.com> Date: Sun, 29 Jan 2023 16:51:40 -0500 Subject: [PATCH 004/152] feat: enable state key on generic oauth2 (#6104) --- server/modules/authentication/oauth2/authentication.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/modules/authentication/oauth2/authentication.js b/server/modules/authentication/oauth2/authentication.js index a2285cff..f40fb395 100644 --- a/server/modules/authentication/oauth2/authentication.js +++ b/server/modules/authentication/oauth2/authentication.js @@ -18,7 +18,8 @@ module.exports = { userInfoURL: conf.userInfoURL, callbackURL: conf.callbackURL, passReqToCallback: true, - scope: conf.scope + scope: conf.scope, + state: true }, async (req, accessToken, refreshToken, profile, cb) => { try { const user = await WIKI.models.users.processProfile({ From 5f876ced20279c7561f1c2227ae9600a1f7ddfc5 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Sun, 29 Jan 2023 17:14:34 -0500 Subject: [PATCH 005/152] feat: optional oauth2 module nonce toggle --- server/modules/authentication/oauth2/authentication.js | 2 +- server/modules/authentication/oauth2/definition.yml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/server/modules/authentication/oauth2/authentication.js b/server/modules/authentication/oauth2/authentication.js index f40fb395..7be57f74 100644 --- a/server/modules/authentication/oauth2/authentication.js +++ b/server/modules/authentication/oauth2/authentication.js @@ -19,7 +19,7 @@ module.exports = { callbackURL: conf.callbackURL, passReqToCallback: true, scope: conf.scope, - state: true + state: conf.enableCSRFProtection }, async (req, accessToken, refreshToken, profile, cb) => { try { const user = await WIKI.models.users.processProfile({ diff --git a/server/modules/authentication/oauth2/definition.yml b/server/modules/authentication/oauth2/definition.yml index 0621aa39..45c19183 100644 --- a/server/modules/authentication/oauth2/definition.yml +++ b/server/modules/authentication/oauth2/definition.yml @@ -70,3 +70,9 @@ props: title: Pass access token via GET query string to User Info Endpoint hint: (optional) Pass the access token in an `access_token` parameter attached to the GET query string of the User Info Endpoint URL. Otherwise the access token will be passed in the Authorization header. order: 11 + enableCSRFProtection: + type: Boolean + default: true + title: Enable CSRF protection + hint: Pass a nonce state parameter during authentication to protect against CSRF attacks. + order: 12 From 43a797d32276449f3568d58bb53419d3171afc82 Mon Sep 17 00:00:00 2001 From: gueldi <45048474+gueldenstone@users.noreply.github.com> Date: Sun, 29 Jan 2023 23:55:47 +0100 Subject: [PATCH 006/152] feat: adds displayName property to OIDC authentication module (#6096) * Adds displayName property to oidc authentication method * fix: update displayName prop * fix: use blank display name in oidc auth --------- Co-authored-by: Nicolas Giard --- .../modules/authentication/oidc/authentication.js | 3 ++- server/modules/authentication/oidc/definition.yml | 13 ++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/server/modules/authentication/oidc/authentication.js b/server/modules/authentication/oidc/authentication.js index de76da41..22a3f2c5 100644 --- a/server/modules/authentication/oidc/authentication.js +++ b/server/modules/authentication/oidc/authentication.js @@ -28,7 +28,8 @@ module.exports = { providerKey: req.params.strategy, profile: { ...profile, - email: _.get(profile, '_json.' + conf.emailClaim) + email: _.get(profile, '_json.' + conf.emailClaim), + displayName: _.get(profile, conf.displayNameClaim, ''), } }) if (conf.mapGroups) { diff --git a/server/modules/authentication/oidc/definition.yml b/server/modules/authentication/oidc/definition.yml index ae1c636a..4ec22e79 100644 --- a/server/modules/authentication/oidc/definition.yml +++ b/server/modules/authentication/oidc/definition.yml @@ -49,21 +49,28 @@ props: default: email maxWidth: 500 order: 7 + displayNameClaim: + type: String + title: Display Name Claim + hint: Field containing the user display name + default: displayName + maxWidth: 500 + order: 8 mapGroups: type: Boolean title: Map Groups hint: Map groups matching names from the groups claim value default: false - order: 8 + order: 9 groupsClaim: type: String title: Groups Claim hint: Field containing the group names default: groups maxWidth: 500 - order: 9 + order: 10 logoutURL: type: String title: Logout URL hint: (optional) Logout URL on the OAuth2 provider where the user will be redirected to complete the logout process. - order: 10 + order: 11 From 1da80eaab8367a67a38b5603693022c146d35f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Lajoie?= Date: Mon, 30 Jan 2023 00:08:13 +0100 Subject: [PATCH 007/152] feat: oauth2 add groups mapping (#6053) Co-authored-by: Nicolas Giard --- .../authentication/oauth2/authentication.js | 13 ++++++++++++ .../authentication/oauth2/definition.yml | 21 +++++++++++++++---- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/server/modules/authentication/oauth2/authentication.js b/server/modules/authentication/oauth2/authentication.js index 7be57f74..ce66c3db 100644 --- a/server/modules/authentication/oauth2/authentication.js +++ b/server/modules/authentication/oauth2/authentication.js @@ -31,6 +31,19 @@ module.exports = { email: _.get(profile, conf.emailClaim) } }) + if (conf.mapGroups) { + const groups = _.get(profile, conf.groupsClaim) + if (groups && _.isArray(groups)) { + const currentGroups = (await user.$relatedQuery('groups').select('groups.id')).map(g => g.id) + const expectedGroups = Object.values(WIKI.auth.groups).filter(g => groups.includes(g.name)).map(g => g.id) + for (const groupId of _.difference(expectedGroups, currentGroups)) { + await user.$relatedQuery('groups').relate(groupId) + } + for (const groupId of _.difference(currentGroups, expectedGroups)) { + await user.$relatedQuery('groups').unrelate().where('groupId', groupId) + } + } + } cb(null, user) } catch (err) { cb(err, null) diff --git a/server/modules/authentication/oauth2/definition.yml b/server/modules/authentication/oauth2/definition.yml index 45c19183..0e599629 100644 --- a/server/modules/authentication/oauth2/definition.yml +++ b/server/modules/authentication/oauth2/definition.yml @@ -54,25 +54,38 @@ props: default: email maxWidth: 500 order: 8 + mapGroups: + type: Boolean + title: Map Groups + hint: Map groups matching names from the groups claim value + default: false + order: 9 + groupsClaim: + type: String + title: Groups Claim + hint: Field containing the group names + default: groups + maxWidth: 500 + order: 10 logoutURL: type: String title: Logout URL hint: (optional) Logout URL on the OAuth2 provider where the user will be redirected to complete the logout process. - order: 9 + order: 11 scope: type: String title: Scope hint: (optional) Application Client permission scopes. - order: 10 + order: 12 useQueryStringForAccessToken: type: Boolean default: false title: Pass access token via GET query string to User Info Endpoint hint: (optional) Pass the access token in an `access_token` parameter attached to the GET query string of the User Info Endpoint URL. Otherwise the access token will be passed in the Authorization header. - order: 11 + order: 13 enableCSRFProtection: type: Boolean default: true title: Enable CSRF protection hint: Pass a nonce state parameter during authentication to protect against CSRF attacks. - order: 12 + order: 14 From 0d914b061e62443f600e1392cbbe0a483e99adf0 Mon Sep 17 00:00:00 2001 From: Leangseu Kim Date: Sun, 29 Jan 2023 21:43:55 -0500 Subject: [PATCH 008/152] feat: add singleByPath GraphQL resolver (#6011) Co-authored-by: k k --- server/graph/resolvers/page.js | 24 ++++++++++++++++++++++++ server/graph/schemas/page.graphql | 5 +++++ 2 files changed, 29 insertions(+) diff --git a/server/graph/resolvers/page.js b/server/graph/resolvers/page.js index 15631a18..9e99686a 100644 --- a/server/graph/resolvers/page.js +++ b/server/graph/resolvers/page.js @@ -170,6 +170,30 @@ module.exports = { throw new WIKI.Error.PageNotFound() } }, + async singleByPath(obj, args, context, info) { + let page = await WIKI.models.pages.getPageFromDb({ + path: args.path, + locale: args.locale, + }); + if (page) { + if (WIKI.auth.checkAccess(context.req.user, ['manage:pages', 'delete:pages'], { + path: page.path, + locale: page.localeCode + })) { + return { + ...page, + locale: page.localeCode, + editor: page.editorKey, + scriptJs: page.extra.js, + scriptCss: page.extra.css + } + } else { + throw new WIKI.Error.PageViewForbidden() + } + } else { + throw new WIKI.Error.PageNotFound() + } + }, /** * FETCH TAGS */ diff --git a/server/graph/schemas/page.graphql b/server/graph/schemas/page.graphql index 10eebc85..552ad325 100644 --- a/server/graph/schemas/page.graphql +++ b/server/graph/schemas/page.graphql @@ -46,6 +46,11 @@ type PageQuery { id: Int! ): Page @auth(requires: ["read:pages", "manage:system"]) + singleByPath( + path: String! + locale: String! + ): Page @auth(requires: ["read:pages", "manage:system"]) + tags: [PageTag]! @auth(requires: ["manage:system", "read:pages"]) searchTags( From 8fa771c4ce6b667d5c2b1de6b343977af4351644 Mon Sep 17 00:00:00 2001 From: Charlotte County Public Schools <119430841+icsinfo@users.noreply.github.com> Date: Sun, 29 Jan 2023 22:52:21 -0500 Subject: [PATCH 009/152] feat: set groups based on LDAP groups (#5903) * Add mapping ldap groups to wiki groups --------- Co-authored-by: Nicolas Giard --- .../authentication/ldap/authentication.js | 24 ++++++++++++- .../authentication/ldap/definition.yml | 36 +++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/server/modules/authentication/ldap/authentication.js b/server/modules/authentication/ldap/authentication.js index 8f5a9817..29d21482 100644 --- a/server/modules/authentication/ldap/authentication.js +++ b/server/modules/authentication/ldap/authentication.js @@ -19,6 +19,13 @@ module.exports = { searchBase: conf.searchBase, searchFilter: conf.searchFilter, tlsOptions: getTlsOptions(conf), + ...conf.mapGroups && { + groupSearchBase: conf.groupSearchBase, + groupSearchFilter: conf.groupSearchFilter, + groupSearchScope: conf.groupSearchScope, + groupDnProperty: conf.groupDnProperty, + groupSearchAttributes: [conf.groupNameField] + }, includeRaw: true }, usernameField: 'email', @@ -40,6 +47,21 @@ module.exports = { picture: _.get(profile, `_raw.${conf.mappingPicture}`, '') } }) + // map users LDAP groups to wiki groups with the same name, and remove any groups that don't match LDAP + if (conf.mapGroups) { + const ldapGroups = _.get(profile, '_groups') + if (ldapGroups && _.isArray(ldapGroups)) { + const groups = ldapGroups.map(g => g[conf.groupNameField]) + const currentGroups = (await user.$relatedQuery('groups').select('groups.id')).map(g => g.id) + const expectedGroups = Object.values(WIKI.auth.groups).filter(g => groups.includes(g.name)).map(g => g.id) + for (const groupId of _.difference(expectedGroups, currentGroups)) { + await user.$relatedQuery('groups').relate(groupId) + } + for (const groupId of _.difference(currentGroups, expectedGroups)) { + await user.$relatedQuery('groups').unrelate().where('groupId', groupId) + } + } + } cb(null, user) } catch (err) { if (WIKI.config.flags.ldapdebug) { @@ -59,7 +81,7 @@ function getTlsOptions(conf) { if (!conf.tlsCertPath) { return { - rejectUnauthorized: conf.verifyTLSCertificate, + rejectUnauthorized: conf.verifyTLSCertificate } } diff --git a/server/modules/authentication/ldap/definition.yml b/server/modules/authentication/ldap/definition.yml index 8b0b1b2d..193a9fc0 100644 --- a/server/modules/authentication/ldap/definition.yml +++ b/server/modules/authentication/ldap/definition.yml @@ -83,3 +83,39 @@ props: hint: The field storing the user avatar picture. Usually "jpegPhoto" or "thumbnailPhoto". maxWidth: 500 order: 23 + mapGroups: + type: Boolean + title: Map Groups + hint: Map groups matching names from the users LDAP/Active Directory groups. Group Search Base must also be defined for this to work. Note this will remove any groups the user has that doesn't match an LDAP/Active Directory group. + default: false + order: 24 + groupSearchBase: + type: String + title: Group Search Base + hint: The base DN from which to search for groups. + default: OU=groups,dc=example,dc=com + order: 25 + groupSearchFilter: + type: String + title: Group Search Filter + hint: LDAP search filter for groups. (member={{dn}}) will use the distinguished name of the user and will work in most cases. + default: (member={{dn}}) + order: 26 + groupSearchScope: + type: String + title: Group Search Scope + hint: How far from the Group Search Base to search for groups. sub (default) will search the entire subtree. base, will only search the Group Search Base dn. one, will search the Group Search Base dn and one additional level. + default: sub + order: 27 + groupDnProperty: + type: String + title: Group DN Property + hint: The property of user object to use in {{dn}} interpolation of Group Search Filter. + default: dn + order: 28 + groupNameField: + type: String + title: Group Name Field + hint: The field that contains the name of the LDAP group to match on, usually "name" or "cn". + default: name + order: 29 From 2e8585478f40dda27ec1092e23656da695a94fb0 Mon Sep 17 00:00:00 2001 From: Eric Knibbe Date: Sun, 29 Jan 2023 23:09:33 -0500 Subject: [PATCH 010/152] fix(git): handle file renames between folders (#6020) * git storage: handle file renames between folders --------- Co-authored-by: Nicolas Giard --- server/core/db.js | 2 +- server/models/pages.js | 3 ++- server/modules/storage/disk/storage.js | 2 +- server/modules/storage/git/storage.js | 24 +++++++++++++++++++----- 4 files changed, 23 insertions(+), 8 deletions(-) diff --git a/server/core/db.js b/server/core/db.js index 2d614c55..25f21ad3 100644 --- a/server/core/db.js +++ b/server/core/db.js @@ -138,7 +138,7 @@ module.exports = { switch (WIKI.config.db.type) { case 'postgres': await conn.query(`set application_name = 'Wiki.js'`) - // -> Set schema if it's not public + // -> Set schema if it's not public if (WIKI.config.db.schema && WIKI.config.db.schema !== 'public') { await conn.query(`set search_path TO ${WIKI.config.db.schema}, public;`) } diff --git a/server/models/pages.js b/server/models/pages.js index dc54af9a..bb5b6585 100644 --- a/server/models/pages.js +++ b/server/models/pages.js @@ -725,7 +725,7 @@ module.exports = class Page extends Model { const destinationHash = pageHelper.generateHash({ path: opts.destinationPath, locale: opts.destinationLocale, privateNS: opts.isPrivate ? 'TODO' : '' }) // -> Move page - const destinationTitle = (page.title === page.path ? opts.destinationPath : page.title) + const destinationTitle = (page.title === _.last(page.path.split('/')) ? _.last(opts.destinationPath.split('/')) : page.title) await WIKI.models.pages.query().patch({ path: opts.destinationPath, localeCode: opts.destinationLocale, @@ -745,6 +745,7 @@ module.exports = class Page extends Model { ...page, destinationPath: opts.destinationPath, destinationLocaleCode: opts.destinationLocale, + title: destinationTitle, destinationHash }) diff --git a/server/modules/storage/disk/storage.js b/server/modules/storage/disk/storage.js index 1c3a7c40..8e4e4661 100644 --- a/server/modules/storage/disk/storage.js +++ b/server/modules/storage/disk/storage.js @@ -135,7 +135,7 @@ module.exports = { transform: async (page, enc, cb) => { const pageObject = await WIKI.models.pages.query().findById(page.id) page.tags = await pageObject.$relatedQuery('tags') - + let fileName = `${page.path}.${pageHelper.getFileExtension(page.contentType)}` if (WIKI.config.lang.code !== page.localeCode) { fileName = `${page.localeCode}/${fileName}` diff --git a/server/modules/storage/git/storage.js b/server/modules/storage/git/storage.js index 0995445a..14b805ce 100644 --- a/server/modules/storage/git/storage.js +++ b/server/modules/storage/git/storage.js @@ -146,10 +146,24 @@ module.exports = { const diff = await this.git.diffSummary(['-M', currentCommitLog.hash, latestCommitLog.hash]) if (_.get(diff, 'files', []).length > 0) { let filesToProcess = [] + const filePattern = /(.*?)(?:{(.*?))? => (?:(.*?)})?(.*)/ for (const f of diff.files) { - const fMoved = f.file.split(' => ') - const fName = fMoved.length === 2 ? fMoved[1] : fMoved[0] - const fPath = path.join(this.repoPath, fName) + const fMatch = f.file.match(filePattern) + const fNames = { + old: null, + new: null + } + if (!fMatch) { + fNames.old = f.file + fNames.new = f.file + } else if (!fMatch[2] && !fMatch[3]) { + fNames.old = fMatch[1] + fNames.new = fMatch[4] + } else { + fNames.old = (fMatch[1]+fMatch[2]+fMatch[4]).replace('//', '/'), + fNames.new = (fMatch[1]+fMatch[3]+fMatch[4]).replace('//', '/') + } + const fPath = path.join(this.repoPath, fNames.new) let fStats = { size: 0 } try { fStats = await fs.stat(fPath) @@ -166,8 +180,8 @@ module.exports = { path: fPath, stats: fStats }, - oldPath: fMoved[0], - relPath: fName + oldPath: fNames.old, + relPath: fNames.new }) } await this.processFiles(filesToProcess, rootUser) From cc96b1fbcc72a1b0f7dd926cf95107dede1018a3 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Sat, 4 Feb 2023 04:01:37 -0500 Subject: [PATCH 011/152] chore: update dependencies --- package.json | 60 +++--- yarn.lock | 596 ++++++++++++++++++++++++++++----------------------- 2 files changed, 362 insertions(+), 294 deletions(-) diff --git a/package.json b/package.json index 32d4ecd6..6717e922 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,6 @@ "node": ">=10.12" }, "dependencies": { - "asciidoctor": "2.2.6", "@azure/storage-blob": "12.12.0", "@exlinc/keycloak-passport": "1.0.2", "@joplin/turndown-plugin-gfm": "1.0.45", @@ -49,8 +48,9 @@ "apollo-fetch": "0.7.0", "apollo-server": "2.25.2", "apollo-server-express": "2.25.2", + "asciidoctor": "2.2.6", "auto-load": "3.0.4", - "aws-sdk": "2.1125.0", + "aws-sdk": "2.1309.0", "azure-search-client": "3.1.5", "bcryptjs-then": "1.0.1", "bluebird": "3.7.2", @@ -59,7 +59,7 @@ "cheerio": "1.0.0-rc.5", "chokidar": "3.5.3", "chromium-pickle-js": "0.2.0", - "clean-css": "4.2.3", + "clean-css": "5.3.2", "command-exists": "1.2.9", "compression": "1.7.4", "connect-session-knex": "2.0.0", @@ -67,14 +67,14 @@ "cors": "2.8.5", "cuint": "0.2.2", "custom-error-instance": "2.1.2", - "dependency-graph": "0.9.0", + "dependency-graph": "0.11.0", "diff": "4.0.2", "diff2html": "3.1.14", - "dompurify": "2.2.7", + "dompurify": "2.4.3", "dotize": "0.3.0", "elasticsearch6": "npm:@elastic/elasticsearch@6", "elasticsearch7": "npm:@elastic/elasticsearch@7", - "emoji-regex": "9.2.2", + "emoji-regex": "10.2.1", "eventemitter2": "6.4.9", "express": "4.18.2", "express-brute": "1.0.1", @@ -94,11 +94,11 @@ "i18next-express-middleware": "2.0.0", "i18next-node-fs-backend": "2.1.3", "image-size": "0.9.2", - "js-base64": "3.7.2", + "js-base64": "3.7.4", "js-binary": "1.2.0", "js-yaml": "3.14.0", "jsdom": "16.4.0", - "jsonwebtoken": "8.5.1", + "jsonwebtoken": "9.0.0", "katex": "0.12.0", "klaw": "3.0.0", "knex": "0.21.7", @@ -119,19 +119,19 @@ "markdown-it-sub": "1.0.0", "markdown-it-sup": "1.0.0", "markdown-it-task-lists": "2.1.1", - "mathjax": "3.1.2", + "mathjax": "3.2.2", "mime-types": "2.1.35", "moment": "2.29.4", - "moment-timezone": "0.5.38", + "moment-timezone": "0.5.40", "mongodb": "3.6.5", "ms": "2.1.3", "mssql": "6.2.3", "multer": "1.4.4", - "mysql2": "2.3.3", + "mysql2": "3.1.0", "nanoid": "3.2.0", "node-2fa": "1.1.2", "node-cache": "5.1.2", - "nodemailer": "6.8.0", + "nodemailer": "6.9.1", "objection": "2.2.18", "passport": "0.4.1", "passport-auth0": "1.4.3", @@ -143,7 +143,7 @@ "passport-github2": "0.1.12", "passport-gitlab2": "5.0.0", "passport-google-oauth20": "2.0.0", - "passport-jwt": "4.0.0", + "passport-jwt": "4.0.1", "passport-ldapauth": "3.0.1", "passport-local": "1.0.0", "passport-microsoft": "0.1.0", @@ -154,16 +154,16 @@ "passport-slack-oauth2": "1.1.1", "passport-twitch-strategy": "2.2.0", "pem-jwk": "2.0.0", - "pg": "8.8.0", + "pg": "8.9.0", "pg-hstore": "2.3.4", "pg-pubsub": "0.5.0", - "pg-query-stream": "3.3.1", - "pg-tsquery": "8.1.0", + "pg-query-stream": "4.3.0", + "pg-tsquery": "8.4.1", "pug": "3.0.2", - "punycode": "2.1.1", + "punycode": "2.3.0", "qr-image": "3.2.0", "raven": "2.6.4", - "remove-markdown": "0.3.0", + "remove-markdown": "0.5.0", "request": "2.88.2", "request-promise": "4.2.6", "safe-regex": "2.1.1", @@ -171,22 +171,22 @@ "scim-query-filter-parser": "2.0.4", "semver": "7.3.8", "serve-favicon": "2.5.0", - "simple-git": "2.21.0", + "simple-git": "3.16.0", "solr-node": "1.2.1", - "sqlite3": "5.0.6", - "ssh2": "1.5.0", + "sqlite3": "5.1.4", + "ssh2": "1.11.0", "ssh2-promise": "1.0.3", "striptags": "3.2.0", "subscriptions-transport-ws": "0.9.18", "tar-fs": "2.1.1", "turndown": "7.1.1", - "twemoji": "13.1.0", + "twemoji": "14.0.2", "uslug": "1.0.4", - "uuid": "8.3.2", + "uuid": "9.0.0", "validate.js": "0.13.1", - "winston": "3.3.3", + "winston": "3.8.2", "xss": "1.0.14", - "yargs": "16.1.0" + "yargs": "17.6.2" }, "devDependencies": { "@babel/cli": "^7.12.1", @@ -214,7 +214,7 @@ "apollo-link-batch-http": "1.2.14", "apollo-link-error": "1.1.13", "apollo-link-http": "1.5.17", - "apollo-link-persisted-queries": "0.2.2", + "apollo-link-persisted-queries": "0.2.5", "apollo-link-ws": "1.0.20", "apollo-utilities": "1.3.4", "autoprefixer": "9.8.6", @@ -227,7 +227,7 @@ "babel-plugin-transform-imports": "2.0.0", "cache-loader": "4.1.0", "canvas-confetti": "1.3.1", - "cash-dom": "8.1.1", + "cash-dom": "8.1.3", "chart.js": "2.9.4", "clean-webpack-plugin": "3.0.0", "clipboard": "2.0.11", @@ -252,7 +252,7 @@ "eslint-plugin-vue": "7.1.0", "file-loader": "6.1.1", "filepond": "4.21.1", - "filepond-plugin-file-validate-type": "1.2.7", + "filepond-plugin-file-validate-type": "1.2.8", "filesize.js": "2.0.0", "graphql-persisted-document-loader": "2.0.0", "graphql-tag": "2.11.0", @@ -279,7 +279,7 @@ "postcss-import": "12.0.1", "postcss-loader": "3.0.0", "postcss-preset-env": "6.7.0", - "postcss-selector-parser": "6.0.10", + "postcss-selector-parser": "6.0.11", "prismjs": "1.22.0", "pug-lint": "2.6.0", "pug-loader": "2.4.0", @@ -320,7 +320,7 @@ "webpack-bundle-analyzer": "3.9.0", "webpack-cli": "3.3.12", "webpack-dev-middleware": "3.7.2", - "webpack-hot-middleware": "2.25.1", + "webpack-hot-middleware": "2.25.3", "webpack-merge": "5.2.0", "webpack-modernizr-loader": "5.0.0", "webpack-subresource-integrity": "1.5.1", diff --git a/yarn.lock b/yarn.lock index 92107b1c..19181d2b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2719,6 +2719,11 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + "@csstools/convert-colors@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" @@ -4848,13 +4853,13 @@ apollo-link-http@1.5.17: apollo-link-http-common "^0.2.16" tslib "^1.9.3" -apollo-link-persisted-queries@0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/apollo-link-persisted-queries/-/apollo-link-persisted-queries-0.2.2.tgz#156597cb259b7bb56cf4e967a7be0312954f4591" - integrity sha512-YL7XBu/5QsSbbYaWUXgm87T2Hn/2AQZk5Wr8CLXGDr3Wl3E/TRhBhKgQQTly9xhaTi7jgBO+AeIyTH5wCBHA9w== +apollo-link-persisted-queries@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/apollo-link-persisted-queries/-/apollo-link-persisted-queries-0.2.5.tgz#76deabf68dac218d83f2fa23eebc3b25772fd914" + integrity sha512-PYWsMFcRGT9NZ6e6EK5rlhNDtcK6FR76JDy1RIngEfR6RdM5a2Z0IhZdn9RTTNB3V/+s7iWviQmoCfQrTVXu0A== dependencies: apollo-link "^1.2.1" - hash.js "^1.1.3" + hash.js "^1.1.7" apollo-link-ws@1.0.20: version "1.0.20" @@ -5286,7 +5291,7 @@ async@>=0.6.0: resolved "https://registry.yarnpkg.com/async/-/async-3.1.0.tgz#42b3b12ae1b74927b5217d8c0016baaf62463772" integrity sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ== -async@^3.1.0, async@^3.2.0: +async@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== @@ -5354,10 +5359,15 @@ autoprefixer@^9.6.1: postcss "^7.0.17" postcss-value-parser "^4.0.0" -aws-sdk@2.1125.0: - version "2.1125.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1125.0.tgz#2a73f5bf1e5e8f8dbc873ef87cfe14925721ba2e" - integrity sha512-2syNkKDqDcDmB/chc61a5xx+KYzaarLs1/KshE0b1Opp2oSq2FARyUBbk59HgwKaDUB61uPF33ZG9sHiIVx2hQ== +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sdk@2.1309.0: + version "2.1309.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1309.0.tgz#2bc6e25af6da39a6c9c48080a43b35596a58a2c5" + integrity sha512-EC/EtDDWDoJnovvmNlJqvojNJMbFZ78HESzgFiond5vzPS+FIWnWgGJ1ZVvIWU9O4X5I8cEMckwHCTfVYNcZxA== dependencies: buffer "4.9.2" events "1.1.1" @@ -5366,7 +5376,8 @@ aws-sdk@2.1125.0: querystring "0.2.0" sax "1.2.1" url "0.10.3" - uuid "3.3.2" + util "^0.12.4" + uuid "8.0.0" xml2js "0.4.19" aws-sign2@~0.7.0: @@ -6189,7 +6200,7 @@ cachedir@^2.3.0: resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== -call-bind@^1.0.0: +call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== @@ -6294,10 +6305,10 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -cash-dom@8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/cash-dom/-/cash-dom-8.1.1.tgz#37f6ba46fc470a1efad5215eefc2515271949c60" - integrity sha512-aMESow+8m7EuifAeNhpnRHQHN8O24gGeiR53lebD5ShBCisBCoB4y5BBe9pGXtTPP6b1qCp90W9HaaUARyc16Q== +cash-dom@8.1.3: + version "8.1.3" + resolved "https://registry.yarnpkg.com/cash-dom/-/cash-dom-8.1.3.tgz#58920fd61d85235121682dac09c6b01f8671e550" + integrity sha512-+W6A9GrgH6do57T/2QLlobr8Q3nwvRoLf74HQRu8zFsyP8hBAjg0RJsubIP+uoV7MYknnugrEdEW5HHH0hJB7Q== chalk@2.3.x: version "2.3.2" @@ -6552,7 +6563,14 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-css@4.2.3, clean-css@^4.1.6, clean-css@^4.2.3: +clean-css@5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" + integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== + dependencies: + source-map "~0.6.0" + +clean-css@^4.1.6, clean-css@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== @@ -6674,6 +6692,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -6835,11 +6862,6 @@ colors@^1.1.2: resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== -colors@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" - integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== - colorspace@1.1.x: version "1.1.2" resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5" @@ -7197,13 +7219,6 @@ cosmiconfig@^5.0.0: js-yaml "^3.13.1" parse-json "^4.0.0" -cpu-features@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz#9f636156f1155fd04bdbaa028bb3c2fbef3cea7a" - integrity sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA== - dependencies: - nan "^2.14.1" - cpu-features@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.4.tgz#0023475bb4f4c525869c162e4108099e35bf19d8" @@ -8353,10 +8368,10 @@ denque@^1.4.1: resolved "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf" integrity sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ== -denque@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz#bcef4c1b80dc32efe97515744f21a4229ab8934a" - integrity sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ== +denque@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" + integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== depd@2.0.0, depd@^2.0.0, depd@~2.0.0: version "2.0.0" @@ -8368,10 +8383,10 @@ depd@^1.1.2, depd@~1.1.1, depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= -dependency-graph@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.9.0.tgz#11aed7e203bc8b00f48356d92db27b265c445318" - integrity sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w== +dependency-graph@0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" + integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== deprecated-decorator@^0.1.6: version "0.1.6" @@ -8565,10 +8580,10 @@ domino@^2.1.6: resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== -dompurify@2.2.7: - version "2.2.7" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.7.tgz#a5f055a2a471638680e779bd08fc334962d11fd8" - integrity sha512-jdtDffdGNY+C76jvodNTu9jt5yYj59vuTUyx+wXdzcSwAGTYZDAQkQ7Iwx9zcGrA4ixC1syU4H3RZROqRxokxg== +dompurify@2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.4.3.tgz#f4133af0e6a50297fc8874e2eaedc13a3c308c03" + integrity sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ== domutils@1.5.1: version "1.5.1" @@ -8754,10 +8769,10 @@ emittery@^0.7.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz#c02375a927a40948c0345cc903072597f5270451" integrity sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ== -emoji-regex@9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +emoji-regex@10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.2.1.tgz#a41c330d957191efd3d9dfe6e1e8e1e9ab048b3f" + integrity sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA== emoji-regex@^7.0.1: version "7.0.3" @@ -9621,11 +9636,6 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fast-safe-stringify@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz#04b26106cc56681f51a044cfc0d76cf0008ac2c2" - integrity sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg== - fast-safe-stringify@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" @@ -9741,10 +9751,10 @@ file@^0.2.2: resolved "https://registry.yarnpkg.com/file/-/file-0.2.2.tgz#c3dfd8f8cf3535ae455c2b423c2e52635d76b4d3" integrity sha1-w9/Y+M81Na5FXCtCPC5SY112tNM= -filepond-plugin-file-validate-type@1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/filepond-plugin-file-validate-type/-/filepond-plugin-file-validate-type-1.2.7.tgz#34bd2585cc51a3e13d9fc46c0be9c3caec59e13d" - integrity sha512-HMOoS7BrpMt3YLWMylqshV7V0fJyTLZlibF4Y/Q7XFFFkzHKR+KSFiCRGZqXbFWw6hgtcl5wBC9kVwMB9AOPTg== +filepond-plugin-file-validate-type@1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/filepond-plugin-file-validate-type/-/filepond-plugin-file-validate-type-1.2.8.tgz#58ab1815a3f505f2189e6943263ae3b6cb314bd1" + integrity sha512-UBTqIWbk5+5R0GBELI8svu01MHWjFSLfc9DfCMvFtHKXLdJMxY1p37ChC4YKQjhfODaTuvLnNVRsukMGMFZBBg== filepond@4.21.1: version "4.21.1" @@ -9946,6 +9956,13 @@ follow-redirects@^1.14.9: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -10214,6 +10231,15 @@ get-intrinsic@^1.0.2: has "^1.0.3" has-symbols "^1.0.1" +get-intrinsic@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -10420,6 +10446,13 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" @@ -10611,6 +10644,18 @@ has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -10667,7 +10712,7 @@ hash-sum@^1.0.2: resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= -hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.3: +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -11268,6 +11313,14 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -11302,6 +11355,11 @@ is-buffer@^2.0.2: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== +is-callable@^1.1.3: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" @@ -11445,6 +11503,13 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + is-glob@4.0.1, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" @@ -11621,6 +11686,17 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.0" +is-typed-array@^1.1.10, is-typed-array@^1.1.3: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -12143,10 +12219,10 @@ jmespath@0.16.0: resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== -js-base64@3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.2.tgz#816d11d81a8aff241603d19ce5761e13e41d7745" - integrity sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ== +js-base64@3.7.4: + version "3.7.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.4.tgz#af95b20f23efc8034afd2d1cc5b9d0adf7419037" + integrity sha512-wpM/wi20Tl+3ifTyi0RdDckS4YTD4Lf953mBRrpG8547T7hInHNPEj8+ck4gB8VDcGyeAWFK++Wb/fU1BeavKQ== js-beautify@1.13.5: version "1.13.5" @@ -12335,21 +12411,15 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonwebtoken@8.5.1, jsonwebtoken@^8.2.0: - version "8.5.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== +jsonwebtoken@9.0.0, jsonwebtoken@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" + integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== dependencies: jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" + lodash "^4.17.21" ms "^2.1.1" - semver "^5.6.0" + semver "^7.3.8" jsprim@^1.2.2: version "1.4.1" @@ -12595,9 +12665,9 @@ linkify-it@^2.0.0: uc.micro "^1.0.1" linkify-it@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.2.tgz#f55eeb8bc1d3ae754049e124ab3bb56d97797fb8" - integrity sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" + integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== dependencies: uc.micro "^1.0.1" @@ -12746,36 +12816,6 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - lodash.kebabcase@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" @@ -12786,7 +12826,7 @@ lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.once@^4.0.0, lodash.once@^4.1.1: +lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= @@ -12826,7 +12866,7 @@ lodash@4.17.20, lodash@^4.17.20: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@4.17.21: +lodash@4.17.21, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -12864,15 +12904,15 @@ log-update@2.3.x, log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" -logform@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/logform/-/logform-2.2.0.tgz#40f036d19161fc76b68ab50fdc7fe495544492f2" - integrity sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg== +logform@^2.3.2, logform@^2.4.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/logform/-/logform-2.4.2.tgz#a617983ac0334d0c3b942c34945380062795b47c" + integrity sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw== dependencies: - colors "^1.2.1" - fast-safe-stringify "^2.0.4" + "@colors/colors" "1.5.0" fecha "^4.2.0" ms "^2.1.1" + safe-stable-stringify "^2.3.1" triple-beam "^1.3.0" loglevel@^1.6.7: @@ -12890,6 +12930,11 @@ long@^4.0.0: resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== +long@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/long/-/long-5.2.1.tgz#e27595d0083d103d2fa2c20c7699f8e0c92b897f" + integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A== + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -12916,7 +12961,7 @@ lru-cache@6.0.0, lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^4.1.2, lru-cache@^4.1.3, lru-cache@^4.1.5: +lru-cache@^4.1.2, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -12931,6 +12976,11 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^7.14.1: + version "7.14.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.1.tgz#8da8d2f5f59827edb388e63e459ac23d6d408fea" + integrity sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA== + luxon@1.25.0: version "1.25.0" resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.25.0.tgz#d86219e90bc0102c0eb299d65b2f5e95efe1fe72" @@ -13024,7 +13074,7 @@ markdown-it-decorate@1.2.2: markdown-it-emoji@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz#9bee0e9a990a963ba96df6980c4fddb05dfb4dcc" - integrity sha1-m+4OmpkKljupbfaYDE/dsF37Tcw= + integrity sha512-QCz3Hkd+r5gDYtS2xsFXmBYrgw6KuWcJZLCEkdfAuwzZbShCmCfta+hwAMq4NX/4xPzkSHduMKgMkkPUJxSXNg== markdown-it-expand-tabs@1.0.13: version "1.0.13" @@ -13080,7 +13130,7 @@ markdown-it-task-lists@2.1.1: resolved "https://registry.yarnpkg.com/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz#f68f4d2ac2bad5a2c373ba93081a1a6848417088" integrity sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA== -markdown-it@11.0.1: +markdown-it@11.0.1, markdown-it@^11.0.0: version "11.0.1" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-11.0.1.tgz#b54f15ec2a2193efa66dda1eb4173baea08993d6" integrity sha512-aU1TzmBKcWNNYvH9pjq6u92BML+Hz3h5S/QpfTFwiQF852pLT+9qHsrhM9JYipkOXZxGn+sGH8oyJE9FD9WezQ== @@ -13102,26 +13152,15 @@ markdown-it@^10.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" -markdown-it@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-11.0.0.tgz#dbfc30363e43d756ebc52c38586b91b90046b876" - integrity sha512-+CvOnmbSubmQFSA9dKz1BRiaSMV7rhexl3sngKqFyXSagoA3fBdJQ8oZWtRy2knXdpDXaBw44euz37DeJQ9asg== - dependencies: - argparse "^1.0.7" - entities "~2.0.0" - linkify-it "^3.0.1" - mdurl "^1.0.1" - uc.micro "^1.0.5" - math-expression-evaluator@^1.2.14: version "1.2.17" resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw= -mathjax@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/mathjax/-/mathjax-3.1.2.tgz#95c0d45ce2330ef7b6a815cebe7d61ecc26bbabd" - integrity sha512-BojKspBv4nNWzO1wC6VEI+g9gHDOhkaGHGgLxXkasdU4pwjdO5AXD5M/wcLPkXYPjZ/N+6sU8rjQTlyvN2cWiQ== +mathjax@3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/mathjax/-/mathjax-3.2.2.tgz#c754d7b46a679d7f3fa03543d6b8bf124ddf9f6b" + integrity sha512-Bt+SSVU8eBG27zChVewOicYs7Xsdt40qm4+UpHyX7k0/O9NliPc+x77k1/FEsPsjKPZGJvtRZM1vO+geW0OhGw== md5.js@^1.3.4: version "1.3.5" @@ -13563,10 +13602,10 @@ moment-timezone-data-webpack-plugin@1.3.0: find-cache-dir "^3.0.0" make-dir "^3.0.0" -moment-timezone@0.5.38: - version "0.5.38" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.38.tgz#9674a5397b8be7c13de820fd387d8afa0f725aad" - integrity sha512-nMIrzGah4+oYZPflDvLZUgoVUO4fvAqHstvG3xAUnMolWncuAiLDWNnJZj6EwJGMGfb1ZcuTFE6GI3hNOVWI/Q== +moment-timezone@0.5.40: + version "0.5.40" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.40.tgz#c148f5149fd91dd3e29bf481abc8830ecba16b89" + integrity sha512-tWfmNkRYmBkPJz5mr9GVDn9vRlVZOTe6yqY92rFxiOdWXbjaR0+9LwQnZGGuNR63X456NqmEkbskte8tWL5ePg== dependencies: moment ">= 2.9.0" @@ -13662,33 +13701,33 @@ mv@~2: ncp "~2.0.0" rimraf "~2.4.0" -mysql2@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-2.3.3.tgz#944f3deca4b16629052ff8614fbf89d5552545a0" - integrity sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA== +mysql2@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-3.1.0.tgz#7d7b6c9e368bd5f74a82ce150edc32401a05d756" + integrity sha512-woMeIog21X72RcFLhE/xajhUdnwRMd6Oq16S7/O2qJ5lPUDfFwgSW+xhx7TjzcM8PU3q+dVsryIaDi+HyQR/0A== dependencies: - denque "^2.0.1" + denque "^2.1.0" generate-function "^2.3.1" iconv-lite "^0.6.3" - long "^4.0.0" - lru-cache "^6.0.0" - named-placeholders "^1.1.2" + long "^5.2.1" + lru-cache "^7.14.1" + named-placeholders "^1.1.3" seq-queue "^0.0.5" sqlstring "^2.3.2" -named-placeholders@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.2.tgz#ceb1fbff50b6b33492b5cf214ccf5e39cef3d0e8" - integrity sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA== +named-placeholders@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.3.tgz#df595799a36654da55dda6152ba7a137ad1d9351" + integrity sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w== dependencies: - lru-cache "^4.1.3" + lru-cache "^7.14.1" nan@^2.12.1, nan@^2.14.0: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nan@^2.14.1, nan@^2.15.0: +nan@^2.15.0: version "2.15.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== @@ -13980,10 +14019,10 @@ node-uuid@1.4.1: resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.1.tgz#39aef510e5889a3dca9c895b506c73aae1bac048" integrity sha1-Oa71EOWImj3KnIlbUGxzquG6wEg= -nodemailer@6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.8.0.tgz#804bcc5256ee5523bc914506ee59f8de8f0b1cd5" - integrity sha512-EjYvSmHzekz6VNkNd12aUqAco+bOkRe3Of5jVhltqKhEsjw/y0PYPJfp83+s9Wzh1dspYAkUW/YNQ350NATbSQ== +nodemailer@6.9.1: + version "6.9.1" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.1.tgz#8249d928a43ed85fec17b13d2870c8f758a126ed" + integrity sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA== nopt@1.0.10: version "1.0.10" @@ -14715,12 +14754,12 @@ passport-google-oauth20@2.0.0: dependencies: passport-oauth2 "1.x.x" -passport-jwt@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/passport-jwt/-/passport-jwt-4.0.0.tgz#7f0be7ba942e28b9f5d22c2ebbb8ce96ef7cf065" - integrity sha512-BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg== +passport-jwt@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/passport-jwt/-/passport-jwt-4.0.1.tgz#c443795eff322c38d173faa0a3c481479646ec3d" + integrity sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ== dependencies: - jsonwebtoken "^8.2.0" + jsonwebtoken "^9.0.0" passport-strategy "^1.0.0" passport-ldapauth@3.0.1: @@ -15020,10 +15059,10 @@ pg-connection-string@^2.5.0: resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.5.0.tgz#538cadd0f7e603fc09a12590f3b8a452c2c0cf34" integrity sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ== -pg-cursor@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/pg-cursor/-/pg-cursor-2.4.1.tgz#4bedd74817c27e078c381550a5b392dcdb86ea83" - integrity sha512-3ffxaoFFTedeBx72pKg/BwuSH26UelvUhlibIO/zxMYkroNIXt1uFOYLRvatozpi79GMpPe+kHVeIfcCIK7/Sg== +pg-cursor@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/pg-cursor/-/pg-cursor-2.8.0.tgz#7cb0929ad33ea68fe15d25b0de34acd611e189d5" + integrity sha512-LrOaEHK+R1C40e+xeri3FTRY/VKp9uTOCVsKtGB7LJ57qbeaphYvWjbVly8AesdT1GfHXYcAnVdExKhW7DKOvA== pg-format@^1.0.2: version "1.0.4" @@ -15057,10 +15096,10 @@ pg-pool@^3.5.2: resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.5.2.tgz#ed1bed1fb8d79f1c6fd5fb1c99e990fbf9ddf178" integrity sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w== -pg-protocol@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.5.0.tgz#b5dd452257314565e2d54ab3c132adc46565a6a0" - integrity sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ== +pg-protocol@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.6.0.tgz#4c91613c0315349363af2084608db843502f8833" + integrity sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== pg-pubsub@0.5.0: version "0.5.0" @@ -15073,17 +15112,17 @@ pg-pubsub@0.5.0: promised-retry "^0.3.0" verror "^1.10.0" -pg-query-stream@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/pg-query-stream/-/pg-query-stream-3.3.1.tgz#b5d4e5134ca651493a2d9a6a849b7cfb25d30b15" - integrity sha512-T8gWhDqBevDz8IYguxYQ5eZZ7p50BJXeoXo/uGLyH0fpXS6v0GnvoX/Pavb8A/t/iF0SQNd59/eIJgt+FV6aoA== +pg-query-stream@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/pg-query-stream/-/pg-query-stream-4.3.0.tgz#93deb1732b655d328496abe191ca33fdc1e144e6" + integrity sha512-+Eer4Y1e43rAaphFNu9/VJKn9nKTApFKCSwVtDjXYnuO4QYqWHOEkApmGJv8gvaU5T6fcuEtjsN24gk+Rx7X9A== dependencies: - pg-cursor "^2.4.1" + pg-cursor "^2.8.0" -pg-tsquery@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/pg-tsquery/-/pg-tsquery-8.1.0.tgz#de30d5f3d6721adbf9c0dc33f4e79d8fcb9071a8" - integrity sha512-CXTK0HNFA9H1nk12HKHBWaER+c9yhNq/En8u0FtQTjM/KQ6llyCnEAios6TZ+fz8QI2w0qJ8y3HE3Uc/pHXrFg== +pg-tsquery@8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/pg-tsquery/-/pg-tsquery-8.4.1.tgz#7346aefd90983f321c59382e1468f192b1b10894" + integrity sha512-GoeRhw6o4Bpt7awdUwHq6ITOw40IWSrb5IC2qR6dF9ZECtHFGdSpnjHOl9Rumd8Rx12kLI2T9TGV0gvxD5pFgA== pg-types@^2.1.0: version "2.2.0" @@ -15096,16 +15135,16 @@ pg-types@^2.1.0: postgres-date "~1.0.4" postgres-interval "^1.1.0" -pg@8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.8.0.tgz#a77f41f9d9ede7009abfca54667c775a240da686" - integrity sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw== +pg@8.9.0: + version "8.9.0" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.9.0.tgz#73c5d77a854d36b0e185450dacb8b90c669e040b" + integrity sha512-ZJM+qkEbtOHRuXjmvBtOgNOXOtLSbxiMiUVMgE4rV6Zwocy03RicCVvDXgx8l4Biwo8/qORUnEqn2fdQzV7KCg== dependencies: buffer-writer "2.0.0" packet-reader "1.0.0" pg-connection-string "^2.5.0" pg-pool "^3.5.2" - pg-protocol "^1.5.0" + pg-protocol "^1.6.0" pg-types "^2.1.0" pgpass "1.x" @@ -16057,10 +16096,10 @@ postcss-selector-not@^4.0.0: balanced-match "^1.0.0" postcss "^7.0.2" -postcss-selector-parser@6.0.10: - version "6.0.10" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" - integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== +postcss-selector-parser@6.0.11: + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -16624,16 +16663,21 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@2.1.1, punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +punycode@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -16691,7 +16735,7 @@ querystring-es3@^0.2.0: resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= -querystring@0.2.0, querystring@^0.2.0: +querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= @@ -16880,7 +16924,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.3.7: +readable-stream@^2.0.0: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -17159,10 +17203,10 @@ relay-runtime@10.0.1: "@babel/runtime" "^7.0.0" fbjs "^1.0.0" -remove-markdown@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/remove-markdown/-/remove-markdown-0.3.0.tgz#5e4b667493a93579728f3d52ecc1db9ca505dc98" - integrity sha1-XktmdJOpNXlyjz1S7MHbnKUF3Jg= +remove-markdown@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/remove-markdown/-/remove-markdown-0.5.0.tgz#a596264bbd60b9ceab2e2ae86e5789eee91aee32" + integrity sha512-x917M80K97K5IN1L8lUvFehsfhR8cYjGQ/yAMRI9E7JIKivtl5Emo5iD13DhMr+VojzMCiYk8V2byNPwT/oapg== remove-trailing-separator@^1.0.1: version "1.1.0" @@ -17575,6 +17619,11 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" +safe-stable-stringify@^2.3.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz#ec7b037768098bf65310d1d64370de0dc02353aa" + integrity sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA== + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -17750,7 +17799,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.8: +semver@7.3.8, semver@^7.3.8: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== @@ -17975,14 +18024,14 @@ signedsource@^1.0.0: resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" integrity sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo= -simple-git@2.21.0: - version "2.21.0" - resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-2.21.0.tgz#d25d3fdc6a139cd7f80f197541a6f9f6e9d4cbc8" - integrity sha512-rohCHmEjD/ESXFLxF4bVeqgdb4Awc65ZyyuCKl3f7BvgMbZOBa/Ye3HN/GFnvruiUOAWWNupxhz3Rz5/3vJLTg== +simple-git@3.16.0: + version "3.16.0" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-3.16.0.tgz#421773e24680f5716999cc4a1d60127b4b6a9dec" + integrity sha512-zuWYsOLEhbJRWVxpjdiXl6eyAyGo/KzVW+KFhhw9MqEEJttcq+32jTWSGyxTdf9e/YCohxRE+9xpWFj9FdiJNw== dependencies: "@kwsites/file-exists" "^1.1.1" "@kwsites/promise-deferred" "^1.1.1" - debug "^4.1.1" + debug "^4.3.4" simple-progress-webpack-plugin@1.1.2: version "1.1.2" @@ -18216,10 +18265,10 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -sqlite3@5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.0.6.tgz#1b50a36e528fe650f79da9ed7adde6468d597aa9" - integrity sha512-uT1dC6N3ReF+jchY01zvl1wVFFJ5xO86wSnCpK39uA/zmAHBDm6TiAq1v876QKv8JgiijxQ7/fb5C2LPm7ZAJA== +sqlite3@5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.1.4.tgz#35f83d368963168b324ad2f0fffce09f3b8723a7" + integrity sha512-i0UlWAzPlzX3B5XP2cYuhWQJsTtlMD6obOa1PgeEQ4DHEXUuyJkgv50I3isqZAP5oFc2T8OFvakmDh2W6I+YpA== dependencies: "@mapbox/node-pre-gyp" "^1.0.0" node-addon-api "^4.2.0" @@ -18240,18 +18289,7 @@ ssh2-promise@1.0.3: "@heroku/socksv5" "^0.0.9" ssh2 "^1.10.0" -ssh2@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.5.0.tgz#4dc559ba98a1cbb420e8d42998dfe35d0eda92bc" - integrity sha512-iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA== - dependencies: - asn1 "^0.2.4" - bcrypt-pbkdf "^1.0.2" - optionalDependencies: - cpu-features "0.0.2" - nan "^2.15.0" - -ssh2@^1.10.0: +ssh2@1.11.0, ssh2@^1.10.0: version "1.11.0" resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.11.0.tgz#ce60186216971e12f6deb553dcf82322498fe2e4" integrity sha512-nfg0wZWGSsfUe/IBJkXVll3PEZ//YH2guww+mP88gTpuSU4FtZN7zu9JoeTGOyCNx2dTDtT9fOpWwlzyj4uOOw== @@ -19136,7 +19174,7 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -triple-beam@^1.2.0, triple-beam@^1.3.0: +triple-beam@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== @@ -19229,19 +19267,19 @@ twemoji-awesome@1.0.6: resolved "https://registry.yarnpkg.com/twemoji-awesome/-/twemoji-awesome-1.0.6.tgz#3167c3abb95753da997291f8f1c53cbac61852a5" integrity sha1-MWfDq7lXU9qZcpH48cU8usYYUqU= -twemoji-parser@13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/twemoji-parser/-/twemoji-parser-13.1.0.tgz#65e7e449c59258791b22ac0b37077349127e3ea4" - integrity sha512-AQOzLJpYlpWMy8n+0ATyKKZzWlZBJN+G0C+5lhX7Ftc2PeEVdUU/7ns2Pn2vVje26AIZ/OHwFoUbdv6YYD/wGg== +twemoji-parser@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/twemoji-parser/-/twemoji-parser-14.0.0.tgz#13dabcb6d3a261d9efbf58a1666b182033bf2b62" + integrity sha512-9DUOTGLOWs0pFWnh1p6NF+C3CkQ96PWmEFwhOVmT3WbecRC+68AIqpsnJXygfkFcp4aXbOp8Dwbhh/HQgvoRxA== -twemoji@13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/twemoji/-/twemoji-13.1.0.tgz#65bb71e966dae56f0d42c30176f04cbdae109913" - integrity sha512-e3fZRl2S9UQQdBFLYXtTBT6o4vidJMnpWUAhJA+yLGR+kaUTZAt3PixC0cGvvxWSuq2MSz/o0rJraOXrWw/4Ew== +twemoji@14.0.2: + version "14.0.2" + resolved "https://registry.yarnpkg.com/twemoji/-/twemoji-14.0.2.tgz#c53adb01dab22bf4870f648ca8cc347ce99ee37e" + integrity sha512-BzOoXIe1QVdmsUmZ54xbEH+8AgtOKUiG53zO5vVP2iUu6h5u9lN15NcuS6te4OY96qx0H7JK9vjjl9WQbkTRuA== dependencies: fs-extra "^8.0.1" jsonfile "^5.0.0" - twemoji-parser "13.1.0" + twemoji-parser "14.0.0" universalify "^0.1.2" type-check@^0.4.0, type-check@~0.4.0: @@ -19576,6 +19614,17 @@ util@^0.11.0: dependencies: inherits "2.0.3" +util@^0.12.4: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + utila@^0.4.0, utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" @@ -19591,10 +19640,15 @@ uuid@3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== -uuid@8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" + integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== + +uuid@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== uuid@^3.1.0, uuid@^3.2.1, uuid@^3.3.2: version "3.3.3" @@ -19996,14 +20050,13 @@ webpack-dev-middleware@3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-hot-middleware@2.25.1: - version "2.25.1" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.1.tgz#581f59edf0781743f4ca4c200fd32c9266c6cf7c" - integrity sha512-Koh0KyU/RPYwel/khxbsDz9ibDivmUbrRuKSSQvW42KSDdO4w23WI3SkHpSUKHE76LrFnnM/L7JCrpBwu8AXYw== +webpack-hot-middleware@2.25.3: + version "2.25.3" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.3.tgz#be343ce2848022cfd854dd82820cd730998c6794" + integrity sha512-IK/0WAHs7MTu1tzLTjio73LjS3Ov+VvBKQmE8WPlJutgG5zT6Urgq/BbAdRrHTRpyzK0dvAvFh1Qg98akxgZpA== dependencies: ansi-html-community "0.0.8" html-entities "^2.1.0" - querystring "^0.2.0" strip-ansi "^6.0.0" webpack-log@^2.0.0: @@ -20159,6 +20212,18 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +which-typed-array@^1.1.2: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -20192,28 +20257,31 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== -winston-transport@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59" - integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw== +winston-transport@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa" + integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q== dependencies: - readable-stream "^2.3.7" - triple-beam "^1.2.0" + logform "^2.3.2" + readable-stream "^3.6.0" + triple-beam "^1.3.0" -winston@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170" - integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw== +winston@3.8.2: + version "3.8.2" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.8.2.tgz#56e16b34022eb4cff2638196d9646d7430fdad50" + integrity sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew== dependencies: + "@colors/colors" "1.5.0" "@dabh/diagnostics" "^2.0.2" - async "^3.1.0" + async "^3.2.3" is-stream "^2.0.0" - logform "^2.2.0" + logform "^2.4.0" one-time "^1.0.0" readable-stream "^3.4.0" + safe-stable-stringify "^2.3.1" stack-trace "0.0.x" triple-beam "^1.3.0" - winston-transport "^4.4.0" + winston-transport "^4.5.0" with@^7.0.0: version "7.0.2" @@ -20493,11 +20561,6 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== -y18n@^5.0.2: - version "5.0.5" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -20552,6 +20615,11 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz#92419ba867b858c868acf8bae9bf74af0dd0ce26" integrity sha512-emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww== +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + yargs-parser@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" @@ -20559,31 +20627,31 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" -yargs@16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.0.tgz#fc333fe4791660eace5a894b39d42f851cd48f2a" - integrity sha512-upWFJOmDdHN0syLuESuvXDmrRcWd1QafJolHskzaw79uZa7/x53gxQKiR07W59GWY1tFhhU/Th9DrtSfpS782g== +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" string-width "^4.2.0" - y18n "^5.0.2" + y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== +yargs@17.6.2: + version "17.6.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.0" + string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^20.2.2" + yargs-parser "^21.1.1" yargs@^13.3.2: version "13.3.2" From 30b66b1623c13b9ae6c0fde285cd8f7a7c57f59b Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 4 Feb 2023 12:05:17 -0500 Subject: [PATCH 012/152] ci: disable provenance in docker build action --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 304f20e4..f1499fa5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,6 +60,7 @@ jobs: context: . file: dev/build/Dockerfile push: true + provenance: false tags: | requarks/wiki:canary requarks/wiki:canary-${{ env.REL_VERSION_STRICT }} @@ -178,6 +179,7 @@ jobs: file: dev/build-arm/Dockerfile platforms: ${{ matrix.platform }} push: true + provenance: false tags: | requarks/wiki:canary-${{ matrix.docker }}-${{ env.REL_VERSION_STRICT }} ghcr.io/requarks/wiki:canary-${{ matrix.docker }}-${{ env.REL_VERSION_STRICT }} From 30576149d387df243dff5233feea4ca4d5af1c70 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 4 Feb 2023 12:29:25 -0500 Subject: [PATCH 013/152] ci: update build workflow actions --- .github/workflows/build.yml | 44 ++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f1499fa5..069d241b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: packages: write steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set Build Variables run: | @@ -42,20 +42,20 @@ jobs: cat package.json - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to GitHub Container Registry - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push Docker images - uses: docker/build-push-action@v2.9.0 + uses: docker/build-push-action@v4.0.0 with: context: . file: dev/build/Dockerfile @@ -78,7 +78,7 @@ jobs: find _dist/wiki/ -printf "%P\n" | tar -czf wiki-js.tar.gz --no-recursion -C _dist/wiki/ -T - - name: Upload a Build Artifact - uses: actions/upload-artifact@v2.3.1 + uses: actions/upload-artifact@v3.1.2 with: name: drop path: wiki-js.tar.gz @@ -93,7 +93,7 @@ jobs: dbtype: [postgres, mysql, mariadb, mssql, sqlite] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set Test Variables run: | @@ -130,7 +130,7 @@ jobs: docker: armv7 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set Version Variables run: | @@ -143,19 +143,19 @@ jobs: fi - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2.1.0 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2.4.0 - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to GitHub Container Registry - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: registry: ghcr.io username: ${{ github.repository_owner }} @@ -173,7 +173,7 @@ jobs: tar -xzf $GITHUB_WORKSPACE/drop/wiki-js.tar.gz -C $GITHUB_WORKSPACE/build --exclude=node_modules - name: Build and push Docker images - uses: docker/build-push-action@v2.9.0 + uses: docker/build-push-action@v4.0.0 with: context: . file: dev/build-arm/Dockerfile @@ -191,12 +191,12 @@ jobs: steps: - name: Setup Node.js environment - uses: actions/setup-node@v2.5.1 + uses: actions/setup-node@v3.6.0 with: node-version: 16.x - name: Download a Build Artifact - uses: actions/download-artifact@v2.1.0 + uses: actions/download-artifact@v3.0.2 with: name: drop path: drop @@ -214,7 +214,7 @@ jobs: run: tar -czf wiki-js-windows.tar.gz -C $env:GITHUB_WORKSPACE\win . - name: Upload a Build Artifact - uses: actions/upload-artifact@v2.3.1 + uses: actions/upload-artifact@v3.1.2 with: name: drop-win path: wiki-js-windows.tar.gz @@ -234,13 +234,13 @@ jobs: echo "REL_VERSION_STRICT=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to GitHub Container Registry - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: registry: ghcr.io username: ${{ github.repository_owner }} @@ -275,13 +275,13 @@ jobs: echo "REL_VERSION_STRICT=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to GitHub Container Registry - uses: docker/login-action@v1 + uses: docker/login-action@v2.1.0 with: registry: ghcr.io username: ${{ github.repository_owner }} @@ -321,13 +321,13 @@ jobs: docker manifest push -p ghcr.io/requarks/wiki:latest - name: Download Linux Build - uses: actions/download-artifact@v2.1.0 + uses: actions/download-artifact@v3.0.2 with: name: drop path: drop - name: Download Windows Build - uses: actions/download-artifact@v2.1.0 + uses: actions/download-artifact@v3.0.2 with: name: drop-win path: drop-win @@ -384,7 +384,7 @@ jobs: needs: [release] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set Version Variables run: | From 9b99ebb187dd059ed6e9b88e5f56d84f612a4606 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 4 Feb 2023 12:37:38 -0500 Subject: [PATCH 014/152] ci: disable provenance in build workflow --- .github/workflows/build.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 069d241b..9aa1d32e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -60,7 +60,6 @@ jobs: context: . file: dev/build/Dockerfile push: true - provenance: false tags: | requarks/wiki:canary requarks/wiki:canary-${{ env.REL_VERSION_STRICT }} @@ -179,7 +178,6 @@ jobs: file: dev/build-arm/Dockerfile platforms: ${{ matrix.platform }} push: true - provenance: false tags: | requarks/wiki:canary-${{ matrix.docker }}-${{ env.REL_VERSION_STRICT }} ghcr.io/requarks/wiki:canary-${{ matrix.docker }}-${{ env.REL_VERSION_STRICT }} @@ -341,10 +339,11 @@ jobs: writeToFile: false - name: Update GitHub Release - uses: ncipollo/release-action@v1 + uses: ncipollo/release-action@v1.12.0 with: allowUpdates: true draft: false + makeLatest: true name: ${{ github.ref_name }} body: ${{ steps.changelog.outputs.changes }} token: ${{ github.token }} From 2e3bdb6630ae095bacf27d228374a944cde1bdb3 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Sat, 4 Feb 2023 15:21:10 -0500 Subject: [PATCH 015/152] ci: fix build arm64 action --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9aa1d32e..0ab452e1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -161,7 +161,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Download a Build Artifact - uses: actions/download-artifact@v2.1.0 + uses: actions/download-artifact@v3.0.2 with: name: drop path: drop @@ -177,6 +177,7 @@ jobs: context: . file: dev/build-arm/Dockerfile platforms: ${{ matrix.platform }} + provenance: false push: true tags: | requarks/wiki:canary-${{ matrix.docker }}-${{ env.REL_VERSION_STRICT }} From ac930fc23e8192d9405306056e05957bb3b76e26 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Sat, 4 Feb 2023 16:09:41 -0500 Subject: [PATCH 016/152] fix: change simple-git import --- server/modules/storage/git/storage.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/modules/storage/git/storage.js b/server/modules/storage/git/storage.js index 14b805ce..59194b41 100644 --- a/server/modules/storage/git/storage.js +++ b/server/modules/storage/git/storage.js @@ -1,5 +1,5 @@ const path = require('path') -const sgit = require('simple-git/promise') +const sgit = require('simple-git') const fs = require('fs-extra') const _ = require('lodash') const stream = require('stream') @@ -160,8 +160,8 @@ module.exports = { fNames.old = fMatch[1] fNames.new = fMatch[4] } else { - fNames.old = (fMatch[1]+fMatch[2]+fMatch[4]).replace('//', '/'), - fNames.new = (fMatch[1]+fMatch[3]+fMatch[4]).replace('//', '/') + fNames.old = (fMatch[1] + fMatch[2] + fMatch[4]).replace('//', '/'), + fNames.new = (fMatch[1] + fMatch[3] + fMatch[4]).replace('//', '/') } const fPath = path.join(this.repoPath, fNames.new) let fStats = { size: 0 } From bba1d1b57418ce5c528d3985f0f4c62df1b20b5a Mon Sep 17 00:00:00 2001 From: gueldi <45048474+gueldenstone@users.noreply.github.com> Date: Wed, 8 Feb 2023 04:00:26 +0100 Subject: [PATCH 017/152] fix(oidc): use _json prop when setting displayName (#6135) * Fixes setting displayName from OIDC Relates to: https://github.com/requarks/wiki/pull/6096 * Update authentication.js --------- Co-authored-by: Nicolas Giard --- server/modules/authentication/oidc/authentication.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/modules/authentication/oidc/authentication.js b/server/modules/authentication/oidc/authentication.js index 22a3f2c5..11b7aac9 100644 --- a/server/modules/authentication/oidc/authentication.js +++ b/server/modules/authentication/oidc/authentication.js @@ -29,7 +29,7 @@ module.exports = { profile: { ...profile, email: _.get(profile, '_json.' + conf.emailClaim), - displayName: _.get(profile, conf.displayNameClaim, ''), + displayName: _.get(profile, '_json.' + conf.displayNameClaim, '') } }) if (conf.mapGroups) { From 26dcc007e77d7a90701650423501fa8cff951269 Mon Sep 17 00:00:00 2001 From: Leangseu Kim Date: Tue, 7 Feb 2023 22:02:12 -0500 Subject: [PATCH 018/152] fix: sort visualize tree (#6110) Co-authored-by: k k --- client/components/admin/admin-pages-visualize.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/components/admin/admin-pages-visualize.vue b/client/components/admin/admin-pages-visualize.vue index 116b38a9..3c9b20eb 100644 --- a/client/components/admin/admin-pages-visualize.vue +++ b/client/components/admin/admin-pages-visualize.vue @@ -104,7 +104,7 @@ export default { const truncatePath = path => _.take(path.split('/'), depth).join('/') const descendantsByChild = Object.entries(_.groupBy(descendants, page => truncatePath(page.path))) - .map(([childPath, descendantsGroup]) => [getPage(childPath), descendantsGroup]) + .map(([childPath, descendantsGroup]) => [getPage(childPath), _.sortBy(descendantsGroup, child => child.path)]) .map(([child, descendantsGroup]) => [child, _.filter(descendantsGroup, d => d.path !== child.path)]) return { From 78a35c377c216ea6031a9aef9a0a2ca4c35d8dea Mon Sep 17 00:00:00 2001 From: Dan Nicholson Date: Thu, 16 Feb 2023 17:04:19 -0700 Subject: [PATCH 019/152] feat: include query parameters in locale redirect (#6132) * feat: include query parameters in locale redirect * refactor: code cleanup --------- Co-authored-by: Nicolas Giard --- server/controllers/common.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/controllers/common.js b/server/controllers/common.js index 3bcfcd94..55cc4d33 100644 --- a/server/controllers/common.js +++ b/server/controllers/common.js @@ -4,6 +4,7 @@ const pageHelper = require('../helpers/page') const _ = require('lodash') const CleanCSS = require('clean-css') const moment = require('moment') +const qs = require('querystring') /* global WIKI */ @@ -420,7 +421,8 @@ router.get('/*', async (req, res, next) => { if (isPage) { if (WIKI.config.lang.namespacing && !pageArgs.explicitLocale) { - return res.redirect(`/${pageArgs.locale}/${pageArgs.path}`) + const query = !_.isEmpty(req.query) ? `?${qs.stringify(req.query)}` : '' + return res.redirect(`/${pageArgs.locale}/${pageArgs.path}${query}`) } req.i18n.changeLanguage(pageArgs.locale) From f972a9c7dee934d1c1ed35986424d162bedd6211 Mon Sep 17 00:00:00 2001 From: Nyxtorm Date: Fri, 17 Feb 2023 01:10:19 +0100 Subject: [PATCH 020/152] fix: code block styling in blockquotes (#6108) --- client/themes/default/scss/app.scss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client/themes/default/scss/app.scss b/client/themes/default/scss/app.scss index 5e7f0a95..72866a01 100644 --- a/client/themes/default/scss/app.scss +++ b/client/themes/default/scss/app.scss @@ -282,7 +282,7 @@ content: "\F02FC"; } - code { + code:not([class^="language-"]) { background-color: mc('blue', '50'); color: mc('blue', '800'); } @@ -302,7 +302,7 @@ content: "\F0026"; } - code { + code:not([class^="language-"]) { background-color: mc('orange', '50'); color: mc('orange', '800'); } @@ -323,7 +323,7 @@ content: "\F0159"; } - code { + code:not([class^="language-"]) { background-color: mc('red', '50'); color: mc('red', '800'); } @@ -343,7 +343,7 @@ content: "\F0E1E"; } - code { + code:not([class^="language-"]) { background-color: mc('green', '50'); color: mc('green', '800'); } From e954b50a7ac9669bc515493ce621b23a7bd93e54 Mon Sep 17 00:00:00 2001 From: NGPixel Date: Thu, 16 Feb 2023 20:45:55 -0500 Subject: [PATCH 021/152] feat: footer text override option --- client/components/admin/admin-general.vue | 15 +++++++++++++++ client/store/site.js | 1 + client/themes/default/components/nav-footer.vue | 5 ++++- server/app/data.yml | 1 + server/graph/resolvers/site.js | 7 ++++++- server/graph/schemas/site.graphql | 2 ++ server/master.js | 1 + server/modules/storage/git/storage.js | 2 +- 8 files changed, 31 insertions(+), 3 deletions(-) diff --git a/client/components/admin/admin-general.vue b/client/components/admin/admin-general.vue index 8804ee39..3ac524a8 100644 --- a/client/components/admin/admin-general.vue +++ b/client/components/admin/admin-general.vue @@ -82,6 +82,14 @@ :return-object='false' :hint='$t(`admin:general.contentLicenseHint`)' persistent-hint + ) + v-text-field.mt-3( + outlined + :label='$t(`admin:general.footerOverride`)' + v-model='config.footerOverride' + prepend-icon='mdi-page-layout-footer' + persistent-hint + :hint='$t(`admin:general.footerOverrideHint`)' ) v-divider .overline.grey--text.pa-4 SEO @@ -280,6 +288,7 @@ export default { analyticsId: '', company: '', contentLicense: '', + footerOverride: '', logoUrl: '', featureAnalytics: false, featurePageRatings: false, @@ -308,6 +317,7 @@ export default { logoUrl: sync('site/logoUrl'), company: sync('site/company'), contentLicense: sync('site/contentLicense'), + footerOverride: sync('site/footerOverride'), activeModal: sync('editor/activeModal'), contentLicenses () { return [ @@ -346,6 +356,7 @@ export default { $analyticsId: String $company: String $contentLicense: String + $footerOverride: String $logoUrl: String $pageExtensions: String $featurePageRatings: Boolean @@ -369,6 +380,7 @@ export default { analyticsId: $analyticsId company: $company contentLicense: $contentLicense + footerOverride: $footerOverride logoUrl: $logoUrl pageExtensions: $pageExtensions featurePageRatings: $featurePageRatings @@ -401,6 +413,7 @@ export default { analyticsId: _.get(this.config, 'analyticsId', ''), company: _.get(this.config, 'company', ''), contentLicense: _.get(this.config, 'contentLicense', ''), + footerOverride: _.get(this.config, 'footerOverride', ''), logoUrl: _.get(this.config, 'logoUrl', ''), pageExtensions: _.get(this.config, 'pageExtensions', ''), featurePageRatings: _.get(this.config, 'featurePageRatings', false), @@ -426,6 +439,7 @@ export default { this.siteTitle = this.config.title this.company = this.config.company this.contentLicense = this.config.contentLicense + this.footerOverride = this.config.footerOverride this.logoUrl = this.config.logoUrl } catch (err) { this.$store.commit('pushGraphError', err) @@ -461,6 +475,7 @@ export default { analyticsId company contentLicense + footerOverride logoUrl pageExtensions featurePageRatings diff --git a/client/store/site.js b/client/store/site.js index 979468c7..0e3369de 100644 --- a/client/store/site.js +++ b/client/store/site.js @@ -5,6 +5,7 @@ import { make } from 'vuex-pathify' const state = { company: siteConfig.company, contentLicense: siteConfig.contentLicense, + footerOverride: siteConfig.footerOverride, dark: siteConfig.darkMode, tocPosition: siteConfig.tocPosition, mascot: true, diff --git a/client/themes/default/components/nav-footer.vue b/client/themes/default/components/nav-footer.vue index 08e44fcd..a43428d6 100644 --- a/client/themes/default/components/nav-footer.vue +++ b/client/themes/default/components/nav-footer.vue @@ -1,7 +1,9 @@