From 2453b2a9be16aeb379d62e31db02d43b60b5f8f7 Mon Sep 17 00:00:00 2001 From: BinotaLIU Date: Fri, 10 Apr 2020 18:29:37 +0800 Subject: [PATCH 001/121] set lang attr on according to user's choice Signed-off-by: BinotaLIU --- public/views/codimd.ejs | 2 +- public/views/error.ejs | 2 +- public/views/index.ejs | 2 +- public/views/pretty.ejs | 2 +- public/views/slide.ejs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/public/views/codimd.ejs b/public/views/codimd.ejs index 7818346c39..33341b4a35 100644 --- a/public/views/codimd.ejs +++ b/public/views/codimd.ejs @@ -1,5 +1,5 @@ - + <%- include codimd/head %> diff --git a/public/views/error.ejs b/public/views/error.ejs index 3ed76c8ce5..874988a5ed 100644 --- a/public/views/error.ejs +++ b/public/views/error.ejs @@ -1,5 +1,5 @@ - + <%- include codimd/head %> diff --git a/public/views/index.ejs b/public/views/index.ejs index 5732db4a3c..b7a3f6846d 100644 --- a/public/views/index.ejs +++ b/public/views/index.ejs @@ -1,5 +1,5 @@ - + <%- include index/head %> diff --git a/public/views/pretty.ejs b/public/views/pretty.ejs index aa330e0f32..6d780c7371 100644 --- a/public/views/pretty.ejs +++ b/public/views/pretty.ejs @@ -1,5 +1,5 @@ - + diff --git a/public/views/slide.ejs b/public/views/slide.ejs index 42b1165d49..295b75f598 100644 --- a/public/views/slide.ejs +++ b/public/views/slide.ejs @@ -1,5 +1,5 @@ - + From bdd2de72bafaa6f67bb4cd7a6cfba803b55ee817 Mon Sep 17 00:00:00 2001 From: BinotaLIU Date: Fri, 10 Apr 2020 19:26:06 +0800 Subject: [PATCH 002/121] set default lang attr for note to 'en' Signed-off-by: BinotaLIU --- public/js/extra.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/public/js/extra.js b/public/js/extra.js index 99233c097b..8f38a96e2f 100644 --- a/public/js/extra.js +++ b/public/js/extra.js @@ -191,18 +191,15 @@ export function parseMeta (md, edit, view, toc, tocAffix) { dir = meta.dir breaks = meta.breaks } - // text language - if (lang && typeof lang === 'string') { - view.attr('lang', lang) - toc.attr('lang', lang) - tocAffix.attr('lang', lang) - if (edit) { edit.attr('lang', lang) } - } else { - view.removeAttr('lang') - toc.removeAttr('lang') - tocAffix.removeAttr('lang') - if (edit) { edit.removeAttr('lang', lang) } + if (!lang || typeof lang !== 'string') { + lang = 'en' } + // text language + view.attr('lang', lang) + toc.attr('lang', lang) + tocAffix.attr('lang', lang) + if (edit) { edit.attr('lang', lang) } + // text direction if (dir && typeof dir === 'string') { view.attr('dir', dir) From 9b899c7778c7f5e066f031640ff3dfc563964623 Mon Sep 17 00:00:00 2001 From: BinotaLIU Date: Fri, 10 Apr 2020 22:40:28 +0800 Subject: [PATCH 003/121] escape attribute value for lang Signed-off-by: BinotaLIU --- public/js/extra.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/public/js/extra.js b/public/js/extra.js index 8f38a96e2f..61007b8b60 100644 --- a/public/js/extra.js +++ b/public/js/extra.js @@ -16,6 +16,8 @@ import { stripTags } from '../../utils/string' import getUIElements from './lib/editor/ui-elements' import { emojifyImageDir } from './lib/editor/constants' +import { escapeAttrValue } from './render' + import markdownit from 'markdown-it' import markdownitContainer from 'markdown-it-container' @@ -734,8 +736,8 @@ export function exportToHTML (view) { html: src[0].outerHTML, 'ui-toc': toc.html(), 'ui-toc-affix': tocAffix.html(), - lang: (md && md.meta && md.meta.lang) ? `lang="${md.meta.lang}"` : null, - dir: (md && md.meta && md.meta.dir) ? `dir="${md.meta.dir}"` : null + lang: (md && md.meta && md.meta.lang) ? `lang="${escapeAttrValue(md.meta.lang)}"` : null, + dir: (md && md.meta && md.meta.dir) ? `dir="${escapeAttrValue(md.meta.dir)}"` : null } const html = template(context) // console.log(html); From 3df090302c8a9ba15fe30400e436a92934c9c1e2 Mon Sep 17 00:00:00 2001 From: Tamotsu Takahashi Date: Sat, 22 Aug 2020 18:05:23 +0900 Subject: [PATCH 004/121] Convert "include" directives to functions Signed-off-by: Tamotsu Takahashi --- public/views/codimd.ejs | 10 +++++----- public/views/codimd/body.ejs | 10 +++++----- public/views/codimd/foot.ejs | 4 ++-- public/views/codimd/head.ejs | 6 +++--- public/views/error.ejs | 6 +++--- public/views/index.ejs | 10 +++++----- public/views/index/body.ejs | 2 +- public/views/index/foot.ejs | 4 ++-- public/views/index/head.ejs | 6 +++--- public/views/pretty.ejs | 14 +++++++------- public/views/slide.ejs | 14 +++++++------- 11 files changed, 43 insertions(+), 43 deletions(-) diff --git a/public/views/codimd.ejs b/public/views/codimd.ejs index 7818346c39..1cdadba288 100644 --- a/public/views/codimd.ejs +++ b/public/views/codimd.ejs @@ -2,14 +2,14 @@ - <%- include codimd/head %> + <%- include('codimd/head'); %> - <%- include codimd/header %> - <%- include codimd/body %> - <%- include codimd/footer %> - <%- include codimd/foot %> + <%- include('codimd/header'); %> + <%- include('codimd/body'); %> + <%- include('codimd/footer'); %> + <%- include('codimd/foot'); %> diff --git a/public/views/codimd/body.ejs b/public/views/codimd/body.ejs index c688ae38b8..1031532872 100644 --- a/public/views/codimd/body.ejs +++ b/public/views/codimd/body.ejs @@ -246,8 +246,8 @@ -<%- include ../shared/refresh-modal %> -<%- include ../shared/signin-modal %> -<%- include ../shared/help-modal %> -<%- include ../shared/revision-modal %> -<%- include ../shared/pandoc-export-modal %> +<%- include('../shared/refresh-modal'); %> +<%- include('../shared/signin-modal'); %> +<%- include('../shared/help-modal'); %> +<%- include('../shared/revision-modal'); %> +<%- include('../shared/pandoc-export-modal'); %> diff --git a/public/views/codimd/foot.ejs b/public/views/codimd/foot.ejs index 243fa40ad6..e3e74670c6 100644 --- a/public/views/codimd/foot.ejs +++ b/public/views/codimd/foot.ejs @@ -25,10 +25,10 @@ -<%- include ../build/index-scripts %> +<%- include('../build/index-scripts'); %> <% } else { %> -<%- include ../build/index-pack-scripts %> +<%- include('../build/index-pack-scripts'); %> <% } %> diff --git a/public/views/codimd/head.ejs b/public/views/codimd/head.ejs index 810781bbad..c0cd926402 100644 --- a/public/views/codimd/head.ejs +++ b/public/views/codimd/head.ejs @@ -14,12 +14,12 @@ -<%- include ../build/index-header %> -<%- include ../shared/polyfill %> +<%- include('../build/index-header'); %> +<%- include('../shared/polyfill'); %> <% } else { %> -<%- include ../build/index-pack-header %> +<%- include('../build/index-pack-header'); %> <% } %> diff --git a/public/views/error.ejs b/public/views/error.ejs index 3ed76c8ce5..9e78ed7ee1 100644 --- a/public/views/error.ejs +++ b/public/views/error.ejs @@ -2,18 +2,18 @@ - <%- include codimd/head %> + <%- include('codimd/head'); %> - <%- include codimd/header %> + <%- include('codimd/header'); %>

<%- code %> <%- detail %> <%- msg %>

- <%- include codimd/footer %> + <%- include('codimd/footer'); %> diff --git a/public/views/index.ejs b/public/views/index.ejs index 5732db4a3c..1ec4eb81a6 100644 --- a/public/views/index.ejs +++ b/public/views/index.ejs @@ -2,14 +2,14 @@ - <%- include index/head %> + <%- include('index/head'); %> - <%- include index/header %> - <%- include index/body %> - <%- include index/footer %> - <%- include index/foot %> + <%- include('index/header'); %> + <%- include('index/body'); %> + <%- include('index/footer'); %> + <%- include('index/foot'); %> diff --git a/public/views/index/body.ejs b/public/views/index/body.ejs index db20b0e3c7..ee4f3e0291 100644 --- a/public/views/index/body.ejs +++ b/public/views/index/body.ejs @@ -201,4 +201,4 @@ -<%- include ../shared/signin-modal %> +<%- include('../shared/signin-modal'); %> diff --git a/public/views/index/foot.ejs b/public/views/index/foot.ejs index e9af48e552..1d261e9a58 100644 --- a/public/views/index/foot.ejs +++ b/public/views/index/foot.ejs @@ -7,7 +7,7 @@ -<%- include ../build/cover-scripts %> +<%- include('../build/cover-scripts'); %> <% } else { %> -<%- include ../build/cover-pack-scripts %> +<%- include('../build/cover-pack-scripts'); %> <% } %> diff --git a/public/views/index/head.ejs b/public/views/index/head.ejs index 8a1f08cf9c..58bf3c6dd3 100644 --- a/public/views/index/head.ejs +++ b/public/views/index/head.ejs @@ -15,10 +15,10 @@ -<%- include ../build/cover-header %> -<%- include ../shared/polyfill %> +<%- include('../build/cover-header'); %> +<%- include('../shared/polyfill'); %> <% } else { %> -<%- include ../build/cover-pack-header %> +<%- include('../build/cover-pack-header'); %> <% } %> diff --git a/public/views/pretty.ejs b/public/views/pretty.ejs index 30248a7010..5f03a76713 100644 --- a/public/views/pretty.ejs +++ b/public/views/pretty.ejs @@ -26,13 +26,13 @@ - <%- include build/pretty-header %> - <%- include shared/polyfill %> + <%- include('build/pretty-header'); %> + <%- include('shared/polyfill'); %> <% } else { %> - <%- include build/pretty-pack-header %> + <%- include('build/pretty-pack-header'); %> <% } %> @@ -71,7 +71,7 @@ <% if(typeof disqus !== 'undefined' && disqus) { %>
- <%- include shared/disqus %> + <%- include('shared/disqus'); %>
<% } %> @@ -100,11 +100,11 @@ -<%- include build/pretty-scripts %> +<%- include('build/pretty-scripts'); %> <% } else { %> -<%- include build/pretty-pack-scripts %> +<%- include('build/pretty-pack-scripts'); %> <% } %> -<%- include shared/ga %> +<%- include('shared/ga'); %> diff --git a/public/views/slide.ejs b/public/views/slide.ejs index 83d1539a31..e7c0ef6d1f 100644 --- a/public/views/slide.ejs +++ b/public/views/slide.ejs @@ -21,14 +21,14 @@ - <%- include build/slide-header %> - <%- include shared/polyfill %> + <%- include('build/slide-header'); %> + <%- include('shared/polyfill'); %> <% } else { %> - <%- include build/slide-pack-header %> + <%- include('build/slide-pack-header'); %> <% } %> @@ -83,7 +83,7 @@ <% if(typeof disqus !== 'undefined' && disqus) { %>
- <%- include shared/disqus %> + <%- include('shared/disqus'); %>
<% } %> @@ -112,14 +112,14 @@ - <%- include build/slide-scripts %> + <%- include('build/slide-scripts'); %> <% } else { %> - <%- include build/slide-pack-scripts %> + <%- include('build/slide-pack-scripts'); %> <% } %> -<%- include shared/ga %> +<%- include('shared/ga'); %> From 0aff524bbae0cd397e9bb3caf8fb15d1e5d4ca5e Mon Sep 17 00:00:00 2001 From: Tamotsu Takahashi Date: Tue, 1 Sep 2020 17:19:38 +0900 Subject: [PATCH 005/121] Make permission labels translatable. https://github.com/hackmdio/codimd/issues/1581#issuecomment-683236111 Signed-off-by: Tamotsu Takahashi --- public/views/codimd/body.ejs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/public/views/codimd/body.ejs b/public/views/codimd/body.ejs index c688ae38b8..a48b4a400a 100644 --- a/public/views/codimd/body.ejs +++ b/public/views/codimd/body.ejs @@ -15,20 +15,20 @@
From 66fdf7b49c8d88c3d785749864651bdab5e78046 Mon Sep 17 00:00:00 2001 From: Tamotsu Takahashi Date: Tue, 1 Sep 2020 19:17:11 +0900 Subject: [PATCH 006/121] Make permission and status translatable Move HTML from JS to EJS. https://github.com/hackmdio/codimd/issues/1581#issuecomment-683236111 https://github.com/hackmdio/codimd/issues/1581#issuecomment-683431173 Signed-off-by: Tamotsu Takahashi --- public/js/index.js | 77 +++++++---------------------- public/js/lib/editor/ui-elements.js | 5 ++ public/views/codimd/body.ejs | 22 +++++---- public/views/codimd/header.ejs | 9 +++- 4 files changed, 44 insertions(+), 69 deletions(-) diff --git a/public/js/index.js b/public/js/index.js index c736cb7f2c..f5dab51b9c 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -237,21 +237,9 @@ const supportExtraTags = [ } ] const statusType = { - connected: { - msg: 'CONNECTED', - label: 'label-warning', - fa: 'fa-wifi' - }, - online: { - msg: 'ONLINE', - label: 'label-primary', - fa: 'fa-users' - }, - offline: { - msg: 'OFFLINE', - label: 'label-danger', - fa: 'fa-plug' - } + connected: 1, + online: 2, + offline: 3 } // global vars @@ -723,43 +711,23 @@ function checkTocStyle () { function showStatus (type, num) { currentStatus = type - var shortStatus = ui.toolbar.shortStatus - var status = ui.toolbar.status - var label = $('') - var fa = $('') - var msg = '' - var shortMsg = '' - shortStatus.html('') - status.html('') + ui.toolbar.statusConnected.hide() + ui.toolbar.statusOnline.hide() + ui.toolbar.statusOffline.hide() switch (currentStatus) { case statusType.connected: - label.addClass(statusType.connected.label) - fa.addClass(statusType.connected.fa) - msg = statusType.connected.msg + ui.toolbar.statusConnected.show() break case statusType.online: - label.addClass(statusType.online.label) - fa.addClass(statusType.online.fa) - shortMsg = num - msg = num + ' ' + statusType.online.msg + ui.toolbar.statusShortMsg.text(num) + ui.toolbar.statusOnline.show() break case statusType.offline: - label.addClass(statusType.offline.label) - fa.addClass(statusType.offline.fa) - msg = statusType.offline.msg + ui.toolbar.statusOffline.show() break } - - label.append(fa) - var shortLabel = label.clone() - - shortLabel.append(' ' + shortMsg) - shortStatus.append(shortLabel) - - label.append(' ' + msg) - status.append(label) } function toggleMode () { @@ -1647,41 +1615,34 @@ function updatePermission (newPermission) { permission = newPermission if (window.loaded) refreshView() } - var label = null - var title = null + ui.infobar.permission.label.hide() switch (permission) { case 'freely': - label = ' Freely' - title = 'Anyone can edit' + $('#permissionLabelFreely').show() break case 'editable': - label = ' Editable' - title = 'Signed people can edit' + $('#permissionLabelEditable').show() break case 'limited': - label = ' Limited' - title = 'Signed people can edit (forbid guest)' + $('#permissionLabelLimited').show() break case 'locked': - label = ' Locked' - title = 'Only owner can edit' + $('#permissionLabelLocked').show() break case 'protected': - label = ' Protected' - title = 'Only owner can edit (forbid guest)' + $('#permissionLabelProtected').show() break case 'private': - label = ' Private' - title = 'Only owner can view & edit' + $('#permissionLabelPrivate').show() break } if (personalInfo.userid && window.owner && personalInfo.userid === window.owner) { - label += ' ' + ui.infobar.permission.labelCaretDown.show() ui.infobar.permission.label.removeClass('disabled') } else { + ui.infobar.permission.labelCaretDown.hide() ui.infobar.permission.label.addClass('disabled') } - ui.infobar.permission.label.html(label).attr('title', title) } function havePermission () { diff --git a/public/js/lib/editor/ui-elements.js b/public/js/lib/editor/ui-elements.js index d084607fb1..bedf51fcba 100644 --- a/public/js/lib/editor/ui-elements.js +++ b/public/js/lib/editor/ui-elements.js @@ -9,6 +9,10 @@ export const getUIElements = () => ({ toolbar: { shortStatus: $('.ui-short-status'), status: $('.ui-status'), + statusShortMsg: $('.ui-status-short-msg'), + statusConnected: $('.ui-status-connected'), + statusOnline: $('.ui-status-online'), + statusOffline: $('.ui-status-offline'), new: $('.ui-new'), publish: $('.ui-publish'), extra: { @@ -46,6 +50,7 @@ export const getUIElements = () => ({ permission: { permission: $('.ui-permission'), label: $('.ui-permission-label'), + labelCaretDown: $('.ui-permission-caret-down'), freely: $('.ui-permission-freely'), editable: $('.ui-permission-editable'), locked: $('.ui-permission-locked'), diff --git a/public/views/codimd/body.ejs b/public/views/codimd/body.ejs index a48b4a400a..0a2f17eea9 100644 --- a/public/views/codimd/body.ejs +++ b/public/views/codimd/body.ejs @@ -12,15 +12,19 @@ - - From 1407e1641eb403bbf3c8e2e4817e48ad58bb7b66 Mon Sep 17 00:00:00 2001 From: Yukai Huang Date: Tue, 30 Apr 2024 18:18:36 +0800 Subject: [PATCH 106/121] fix: exclude name attribute from iframe filterXSS allowlist Signed-off-by: Yukai Huang --- public/js/render.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/render.js b/public/js/render.js index 4a9c3b25f7..db73a0ce31 100644 --- a/public/js/render.js +++ b/public/js/render.js @@ -20,7 +20,7 @@ whiteList.style = [] // allow kbd tag whiteList.kbd = [] // allow ifram tag with some safe attributes -whiteList.iframe = ['allowfullscreen', 'name', 'referrerpolicy', 'src', 'width', 'height'] +whiteList.iframe = ['allowfullscreen', 'referrerpolicy', 'src', 'width', 'height'] // allow summary tag whiteList.summary = [] // allow ruby tag From 1b535ad715cd0b0362ad717d3a37367c8a71c845 Mon Sep 17 00:00:00 2001 From: yoyogix Date: Fri, 31 May 2024 11:10:50 +0900 Subject: [PATCH 107/121] =?UTF-8?q?package-lock=E3=82=92=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 647 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 476 insertions(+), 171 deletions(-) diff --git a/package-lock.json b/package-lock.json index 82da5cb1bd..4c9ae86c90 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@passport-next/passport-openid": "~1.0.0", "archiver": "~3.1.1", "async": "^3.2.4", + "aws-sdk": "^2.345.0", "azure-storage": "~2.10.3", "babel-polyfill": "~6.26.0", "base64url": "~3.0.1", @@ -2498,6 +2499,94 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/aws-sdk": { + "version": "2.1631.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1631.0.tgz", + "integrity": "sha512-QG1A1bsgy9jKyY20LVxEeB16zEbn3dPIZmVeh/7vk6ukb2+5Vjh0s+E5bVlNHFFXVu6rsviayqGmjr16fJ5I1g==", + "hasInstallScript": true, + "dependencies": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "util": "^0.12.4", + "uuid": "8.0.0", + "xml2js": "0.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aws-sdk/node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/aws-sdk/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + }, + "node_modules/aws-sdk/node_modules/sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" + }, + "node_modules/aws-sdk/node_modules/url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/aws-sdk/node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "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" + } + }, + "node_modules/aws-sdk/node_modules/uuid": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", + "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/aws-sdk/node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/aws-sdk/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -3914,11 +4003,9 @@ } }, "node_modules/buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer", - "dev": true, + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dependencies": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", @@ -8770,30 +8857,34 @@ }, "node_modules/fsevents/node_modules/abbrev": { "version": "1.1.1", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/ansi-regex": { "version": "2.1.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/aproba": { "version": "1.2.0", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/are-we-there-yet": { "version": "1.1.5", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -8801,15 +8892,17 @@ }, "node_modules/fsevents/node_modules/balanced-match": { "version": "1.0.0", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/brace-expansion": { "version": "1.1.11", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -8817,66 +8910,75 @@ }, "node_modules/fsevents/node_modules/chownr": { "version": "1.1.3", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/code-point-at": { "version": "1.1.0", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/concat-map": { "version": "0.0.1", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/console-control-strings": { "version": "1.1.0", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/core-util-is": { "version": "1.0.2", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/debug": { "version": "3.2.6", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/fsevents/node_modules/deep-extend": { "version": "0.6.0", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=4.0.0" } }, "node_modules/fsevents/node_modules/delegates": { "version": "1.0.0", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/detect-libc": { "version": "1.0.3", - "extraneous": true, + "dev": true, "inBundle": true, "license": "Apache-2.0", + "optional": true, "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -8886,24 +8988,27 @@ }, "node_modules/fsevents/node_modules/fs-minipass": { "version": "1.2.7", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "minipass": "^2.6.0" } }, "node_modules/fsevents/node_modules/fs.realpath": { "version": "1.0.0", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/gauge": { "version": "2.7.4", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -8917,9 +9022,10 @@ }, "node_modules/fsevents/node_modules/glob": { "version": "7.1.6", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8937,15 +9043,17 @@ }, "node_modules/fsevents/node_modules/has-unicode": { "version": "2.0.1", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/iconv-lite": { "version": "0.4.24", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -8955,18 +9063,20 @@ }, "node_modules/fsevents/node_modules/ignore-walk": { "version": "3.0.3", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "minimatch": "^3.0.4" } }, "node_modules/fsevents/node_modules/inflight": { "version": "1.0.6", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -8974,24 +9084,27 @@ }, "node_modules/fsevents/node_modules/inherits": { "version": "2.0.4", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/ini": { "version": "1.3.5", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "engines": { "node": "*" } }, "node_modules/fsevents/node_modules/is-fullwidth-code-point": { "version": "1.0.0", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "number-is-nan": "^1.0.0" }, @@ -9001,15 +9114,17 @@ }, "node_modules/fsevents/node_modules/isarray": { "version": "1.0.0", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/minimatch": { "version": "3.0.4", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -9019,15 +9134,17 @@ }, "node_modules/fsevents/node_modules/minimist": { "version": "0.0.8", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/minipass": { "version": "2.9.0", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -9035,18 +9152,20 @@ }, "node_modules/fsevents/node_modules/minizlib": { "version": "1.3.3", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "minipass": "^2.9.0" } }, "node_modules/fsevents/node_modules/mkdirp": { "version": "0.5.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "minimist": "0.0.8" }, @@ -9056,15 +9175,17 @@ }, "node_modules/fsevents/node_modules/ms": { "version": "2.1.2", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/needle": { "version": "2.4.0", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "debug": "^3.2.6", "iconv-lite": "^0.4.4", @@ -9079,9 +9200,10 @@ }, "node_modules/fsevents/node_modules/node-pre-gyp": { "version": "0.14.0", - "extraneous": true, + "dev": true, "inBundle": true, "license": "BSD-3-Clause", + "optional": true, "dependencies": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -9100,9 +9222,10 @@ }, "node_modules/fsevents/node_modules/nopt": { "version": "4.0.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "abbrev": "1", "osenv": "^0.1.4" @@ -9113,24 +9236,27 @@ }, "node_modules/fsevents/node_modules/npm-bundled": { "version": "1.1.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "npm-normalize-package-bin": "^1.0.1" } }, "node_modules/fsevents/node_modules/npm-normalize-package-bin": { "version": "1.0.1", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/npm-packlist": { "version": "1.4.7", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -9138,9 +9264,10 @@ }, "node_modules/fsevents/node_modules/npmlog": { "version": "4.1.2", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -9150,54 +9277,60 @@ }, "node_modules/fsevents/node_modules/number-is-nan": { "version": "1.0.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/object-assign": { "version": "4.1.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/once": { "version": "1.4.0", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "wrappy": "1" } }, "node_modules/fsevents/node_modules/os-homedir": { "version": "1.0.2", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/os-tmpdir": { "version": "1.0.2", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/osenv": { "version": "0.1.5", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -9205,24 +9338,27 @@ }, "node_modules/fsevents/node_modules/path-is-absolute": { "version": "1.0.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/process-nextick-args": { "version": "2.0.1", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/rc": { "version": "1.2.8", - "extraneous": true, + "dev": true, "inBundle": true, "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -9235,15 +9371,17 @@ }, "node_modules/fsevents/node_modules/rc/node_modules/minimist": { "version": "1.2.0", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/readable-stream": { "version": "2.3.6", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9256,9 +9394,10 @@ }, "node_modules/fsevents/node_modules/rimraf": { "version": "2.7.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "glob": "^7.1.3" }, @@ -9268,57 +9407,65 @@ }, "node_modules/fsevents/node_modules/safe-buffer": { "version": "5.1.2", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/safer-buffer": { "version": "2.1.2", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/sax": { "version": "1.2.4", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/semver": { "version": "5.7.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "bin": { "semver": "bin/semver" } }, "node_modules/fsevents/node_modules/set-blocking": { "version": "2.0.0", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/signal-exit": { "version": "3.0.2", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/string_decoder": { "version": "1.1.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/fsevents/node_modules/string-width": { "version": "1.0.2", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -9330,9 +9477,10 @@ }, "node_modules/fsevents/node_modules/strip-ansi": { "version": "3.0.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -9342,18 +9490,20 @@ }, "node_modules/fsevents/node_modules/strip-json-comments": { "version": "2.0.1", - "extraneous": true, + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/tar": { "version": "4.4.13", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -9369,30 +9519,34 @@ }, "node_modules/fsevents/node_modules/util-deprecate": { "version": "1.0.2", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/wide-align": { "version": "1.1.3", - "extraneous": true, + "dev": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "string-width": "^1.0.2 || 2" } }, "node_modules/fsevents/node_modules/wrappy": { "version": "1.0.2", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/yallist": { "version": "3.1.1", - "extraneous": true, + "dev": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/function-bind": { "version": "1.1.2", @@ -11306,6 +11460,14 @@ "node": ">=6" } }, + "node_modules/jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/jquery": { "version": "3.6.3", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", @@ -16717,7 +16879,6 @@ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, "engines": { "node": ">=0.4.x" } @@ -24451,6 +24612,80 @@ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, + "aws-sdk": { + "version": "2.1631.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1631.0.tgz", + "integrity": "sha512-QG1A1bsgy9jKyY20LVxEeB16zEbn3dPIZmVeh/7vk6ukb2+5Vjh0s+E5bVlNHFFXVu6rsviayqGmjr16fJ5I1g==", + "requires": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "util": "^0.12.4", + "uuid": "8.0.0", + "xml2js": "0.6.2" + }, + "dependencies": { + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "requires": { + "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" + } + }, + "uuid": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", + "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" + }, + "xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + } + } + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -25734,10 +25969,9 @@ } }, "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", @@ -29760,22 +29994,26 @@ "abbrev": { "version": "1.1.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -29784,12 +30022,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -29798,32 +30038,38 @@ "chownr": { "version": "1.1.3", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "debug": { "version": "3.2.6", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "ms": "^2.1.1" } @@ -29831,22 +30077,26 @@ "deep-extend": { "version": "0.6.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "fs-minipass": { "version": "1.2.7", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "minipass": "^2.6.0" } @@ -29854,12 +30104,14 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -29874,7 +30126,8 @@ "glob": { "version": "7.1.6", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -29887,12 +30140,14 @@ "has-unicode": { "version": "2.0.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -29900,7 +30155,8 @@ "ignore-walk": { "version": "3.0.3", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "minimatch": "^3.0.4" } @@ -29908,7 +30164,8 @@ "inflight": { "version": "1.0.6", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -29917,17 +30174,20 @@ "inherits": { "version": "2.0.4", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -29935,12 +30195,14 @@ "isarray": { "version": "1.0.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -29948,12 +30210,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "minipass": { "version": "2.9.0", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -29962,7 +30226,8 @@ "minizlib": { "version": "1.3.3", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "minipass": "^2.9.0" } @@ -29970,7 +30235,8 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -29978,12 +30244,14 @@ "ms": { "version": "2.1.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "needle": { "version": "2.4.0", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "debug": "^3.2.6", "iconv-lite": "^0.4.4", @@ -29993,7 +30261,8 @@ "node-pre-gyp": { "version": "0.14.0", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -30010,7 +30279,8 @@ "nopt": { "version": "4.0.1", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -30019,7 +30289,8 @@ "npm-bundled": { "version": "1.1.1", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "npm-normalize-package-bin": "^1.0.1" } @@ -30027,12 +30298,14 @@ "npm-normalize-package-bin": { "version": "1.0.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "npm-packlist": { "version": "1.4.7", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -30041,7 +30314,8 @@ "npmlog": { "version": "4.1.2", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -30052,17 +30326,20 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "once": { "version": "1.4.0", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -30070,17 +30347,20 @@ "os-homedir": { "version": "1.0.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -30089,17 +30369,20 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "process-nextick-args": { "version": "2.0.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "rc": { "version": "1.2.8", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -30110,14 +30393,16 @@ "minimist": { "version": "1.2.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true } } }, "readable-stream": { "version": "2.3.6", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -30131,7 +30416,8 @@ "rimraf": { "version": "2.7.1", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "glob": "^7.1.3" } @@ -30139,37 +30425,44 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "sax": { "version": "1.2.4", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "semver": { "version": "5.7.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "string_decoder": { "version": "1.1.1", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "safe-buffer": "~5.1.0" } @@ -30177,7 +30470,8 @@ "string-width": { "version": "1.0.2", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -30187,7 +30481,8 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -30195,12 +30490,14 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "tar": { "version": "4.4.13", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -30214,12 +30511,14 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "wide-align": { "version": "1.1.3", "bundled": true, - "extraneous": true, + "dev": true, + "optional": true, "requires": { "string-width": "^1.0.2 || 2" } @@ -30227,12 +30526,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "extraneous": true + "dev": true, + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "extraneous": true + "dev": true, + "optional": true } } }, @@ -31731,6 +32032,11 @@ "html-escaper": "^2.0.0" } }, + "jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" + }, "jquery": { "version": "3.6.3", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", @@ -36183,8 +36489,7 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "0.2.1", From b546b527373b9ab02446b17580940dd0a41e9ac1 Mon Sep 17 00:00:00 2001 From: shigerix Date: Fri, 31 May 2024 12:00:02 +0900 Subject: [PATCH 108/121] =?UTF-8?q?buildpack=20=E3=81=A8=20runtaime=20?= =?UTF-8?q?=E3=82=92=E6=9C=80=E6=96=B0=E3=81=AE=E3=82=82=E3=81=AE=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deployments/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployments/Dockerfile b/deployments/Dockerfile index add92e3416..6bfb805e0b 100644 --- a/deployments/Dockerfile +++ b/deployments/Dockerfile @@ -1,4 +1,4 @@ -FROM hackmdio/buildpack:node-10-95fb3df8 as BUILD +FROM hackmdio/buildpack:16.20.2-35fe7e39 as BUILD COPY --chown=hackmd:hackmd . . ENV QT_QPA_PLATFORM=offscreen @@ -14,7 +14,7 @@ RUN set -xe && \ package-lock.json webpack.prod.js webpack.htmlexport.js webpack.dev.js webpack.common.js \ config.json.example README.md CONTRIBUTING.md AUTHORS node_modules -FROM hackmdio/runtime:node-10-cjk-95fb3df8 +FROM hackmdio/runtime:16.20.2-35fe7e39 USER hackmd ENV QT_QPA_PLATFORM=offscreen WORKDIR /home/hackmd/app From fabb87453149e896391ace6c18d8f06e47cf7eb8 Mon Sep 17 00:00:00 2001 From: shigerix Date: Tue, 4 Jun 2024 09:36:45 +0900 Subject: [PATCH 109/121] =?UTF-8?q?ci=20=E3=81=AEbuild=E3=81=8C=E3=82=B3?= =?UTF-8?q?=E3=82=B1=E3=81=A6=E3=81=84=E3=81=9F=E3=81=AE=E3=81=A7=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/imageRouter/s3.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/imageRouter/s3.js b/lib/imageRouter/s3.js index ca8b360ebf..02bdc2c015 100644 --- a/lib/imageRouter/s3.js +++ b/lib/imageRouter/s3.js @@ -3,7 +3,7 @@ const fs = require('fs') const path = require('path') const config = require('../config') -const {getImageMimeType} = require('../utils') +const { getImageMimeType } = require('../utils') const logger = require('../logger') const AWS = require('aws-sdk') @@ -26,7 +26,7 @@ exports.uploadImage = function (imagePath, callback) { callback(new Error(err), null) return } - let params = { + const params = { Bucket: config.s3bucket, Key: path.join('uploads', path.basename(imagePath)), Body: buffer From cc182a335f2adb39c72210283193ccb1944ca49e Mon Sep 17 00:00:00 2001 From: shigerix Date: Tue, 4 Jun 2024 09:42:18 +0900 Subject: [PATCH 110/121] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E3=82=AB?= =?UTF-8?q?=E3=83=B3=E3=83=9E=E3=81=A8=E3=82=BB=E3=83=9F=E3=82=B3=E3=83=AD?= =?UTF-8?q?=E3=83=B3=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hackmd/lib/migrations/20230831234802-revision-add-index.js | 4 ++-- lib/config/environment.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hackmd/lib/migrations/20230831234802-revision-add-index.js b/hackmd/lib/migrations/20230831234802-revision-add-index.js index 01d94f56ad..2260e918f2 100644 --- a/hackmd/lib/migrations/20230831234802-revision-add-index.js +++ b/hackmd/lib/migrations/20230831234802-revision-add-index.js @@ -1,4 +1,4 @@ -'use strict'; +'use strict' module.exports = { up: (queryInterface, Sequelize) => { @@ -8,4 +8,4 @@ module.exports = { down: (queryInterface, Sequelize) => { return queryInterface.removeIndex('Revisions', 'noteId') } -}; +} diff --git a/lib/config/environment.js b/lib/config/environment.js index 7a82a3faec..56209280fc 100644 --- a/lib/config/environment.js +++ b/lib/config/environment.js @@ -34,7 +34,7 @@ module.exports = { dbURL: process.env.CMD_DB_URL, db: { pool: { - max: parseInt(process.env.DB_MAX_CONNECTION) }, + max: parseInt(process.env.DB_MAX_CONNECTION) } }, sessionSecret: process.env.CMD_SESSION_SECRET, sessionLife: toIntegerConfig(process.env.CMD_SESSION_LIFE), From 64fecd7d01afbfc0bf3c4a973dd24e401e48ab19 Mon Sep 17 00:00:00 2001 From: Biswa Baibhab Subudhi <94667039+biswabaibhab007@users.noreply.github.com> Date: Fri, 6 Oct 2023 07:15:23 +0530 Subject: [PATCH 111/121] typo opened source -> open sourced Signed-off-by: Yukai Huang --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d9087a468..898bd5d9f3 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ HackMD is built with one promise - **You own and control all your content**: ## CodiMD - The Open Source HackMD -CodiMD is the free software version of [HackMD](https://hackmd.io), developed and opened source by the HackMD team with reduced features (without book mode), you can use CodiMD for your community and own all your data. *(See the [origin of the name CodiMD](https://github.com/hackmdio/hackmd/issues/720).)* +CodiMD is the free software version of [HackMD](https://hackmd.io), developed and open sourced by the HackMD team with reduced features (without book mode), you can use CodiMD for your community and own all your data. *(See the [origin of the name CodiMD](https://github.com/hackmdio/hackmd/issues/720).)* CodiMD is perfect for open communities, while HackMD emphasizes on permission and access controls for commercial use cases. From b96ae67dd795d53b51ff44311e98bddb2a917bd7 Mon Sep 17 00:00:00 2001 From: shigerix Date: Wed, 5 Jun 2024 15:57:28 +0900 Subject: [PATCH 112/121] =?UTF-8?q?=E3=82=A2=E3=83=AB=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=83=99=E3=83=83=E3=83=88=E9=A0=86=E3=81=AB=E4=B8=A6=E3=81=B3?= =?UTF-8?q?=E6=9B=BF=E3=81=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deployments/staging/app.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deployments/staging/app.yaml b/deployments/staging/app.yaml index e7fb0265d6..ba24c5fd2e 100644 --- a/deployments/staging/app.yaml +++ b/deployments/staging/app.yaml @@ -28,6 +28,7 @@ env_variables: CMD_HSTS_MAX_AGE: sm://smarthr-corporate/codimd_staging_cmd_hsts_max_age CMD_HSTS_PRELOAD: sm://smarthr-corporate/codimd_staging_cmd_hsts_preload CMD_IMAGE_UPLOAD_TYPE: sm://smarthr-corporate/codimd_staging_cmd_image_upload_type + CMD_LOGLEVEL: sm://smarthr-corporate/codimd_staging_cmd_loglevel CMD_PORT: sm://smarthr-corporate/codimd_staging_cmd_port CMD_PROTOCOL_USESSL: sm://smarthr-corporate/codimd_staging_cmd_protocol_usessl CMD_S3_ACCESS_KEY_ID: sm://smarthr-corporate/codimd_staging_cmd_s3_access_key_id @@ -41,7 +42,6 @@ env_variables: CMD_SESSION_LIFE: sm://smarthr-corporate/codimd_staging_cmd_session_life CMD_SESSION_SECRET: sm://smarthr-corporate/codimd_staging_cmd_session_secret CMD_USECDN: sm://smarthr-corporate/codimd_staging_cmd_usecdn + DB_MAX_CONNECTION: 700 NODE_ENV: sm://smarthr-corporate/codimd_staging_node_env PGSSLMODE: sm://smarthr-corporate/codimd_staging_pgsslmode - CMD_LOGLEVEL: sm://smarthr-corporate/codimd_staging_cmd_loglevel - DB_MAX_CONNECTION: 700 From 0701fd74bc71375c92ae900b93f5baec5bf99c62 Mon Sep 17 00:00:00 2001 From: yamashush <38120991+yamashush@users.noreply.github.com> Date: Sun, 14 Jan 2024 21:38:21 +0900 Subject: [PATCH 113/121] Add index at revision table Signed-off-by: yamashush <38120991+yamashush@users.noreply.github.com> --- lib/migrations/20240114120250-revision-add-index.js | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 lib/migrations/20240114120250-revision-add-index.js diff --git a/lib/migrations/20240114120250-revision-add-index.js b/lib/migrations/20240114120250-revision-add-index.js new file mode 100644 index 0000000000..01d94f56ad --- /dev/null +++ b/lib/migrations/20240114120250-revision-add-index.js @@ -0,0 +1,11 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.addIndex('Revisions', ['noteId'], {}) + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.removeIndex('Revisions', 'noteId') + } +}; From 0287726e1b06dbd77c6e85a99fe1903e74ba706c Mon Sep 17 00:00:00 2001 From: Yukai Huang Date: Wed, 5 Jun 2024 15:09:21 +0800 Subject: [PATCH 114/121] style: lint fix Signed-off-by: Yukai Huang --- lib/migrations/20240114120250-revision-add-index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/migrations/20240114120250-revision-add-index.js b/lib/migrations/20240114120250-revision-add-index.js index 01d94f56ad..2260e918f2 100644 --- a/lib/migrations/20240114120250-revision-add-index.js +++ b/lib/migrations/20240114120250-revision-add-index.js @@ -1,4 +1,4 @@ -'use strict'; +'use strict' module.exports = { up: (queryInterface, Sequelize) => { @@ -8,4 +8,4 @@ module.exports = { down: (queryInterface, Sequelize) => { return queryInterface.removeIndex('Revisions', 'noteId') } -}; +} From 59a62776c49dedb04af4f2e88023041b5da144cb Mon Sep 17 00:00:00 2001 From: Yukai Huang Date: Wed, 5 Jun 2024 15:07:56 +0800 Subject: [PATCH 115/121] fix: use randomFileName as default start file name to ensure the randomness Signed-off-by: Yukai Huang --- lib/imageRouter/filesystem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/imageRouter/filesystem.js b/lib/imageRouter/filesystem.js index 49a811ef49..1f9f52181d 100644 --- a/lib/imageRouter/filesystem.js +++ b/lib/imageRouter/filesystem.js @@ -22,7 +22,7 @@ function randomFilename () { */ function pickFilename (defaultFilename) { let retryCounter = 5 - let filename = defaultFilename + let filename = randomFilename() const extname = path.extname(defaultFilename) while (retryCounter-- > 0) { if (fs.existsSync(path.join(config.uploadsPath, filename))) { From 5eb35917ab0d3ab6ae908ffa308df09ad7878c4b Mon Sep 17 00:00:00 2001 From: Yukai Huang Date: Wed, 5 Jun 2024 15:12:56 +0800 Subject: [PATCH 116/121] Update lib/imageRouter/filesystem.js Co-authored-by: Max Wu Signed-off-by: Yukai Huang --- lib/imageRouter/filesystem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/imageRouter/filesystem.js b/lib/imageRouter/filesystem.js index 1f9f52181d..76dd92dcf6 100644 --- a/lib/imageRouter/filesystem.js +++ b/lib/imageRouter/filesystem.js @@ -22,8 +22,8 @@ function randomFilename () { */ function pickFilename (defaultFilename) { let retryCounter = 5 - let filename = randomFilename() const extname = path.extname(defaultFilename) + let filename = `${randomFilename()}${extname}` while (retryCounter-- > 0) { if (fs.existsSync(path.join(config.uploadsPath, filename))) { filename = `${randomFilename()}${extname}` From 3285121ffbd53370354a40c5e9f424324d2fb802 Mon Sep 17 00:00:00 2001 From: Yukai Huang Date: Thu, 6 Jun 2024 14:26:43 +0800 Subject: [PATCH 117/121] chore: update release note for 2.5.4 Signed-off-by: Yukai Huang --- public/docs/release-notes.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/public/docs/release-notes.md b/public/docs/release-notes.md index 63a9e0084f..9bccacbcf6 100644 --- a/public/docs/release-notes.md +++ b/public/docs/release-notes.md @@ -1,6 +1,23 @@ Release Notes === + 2.5.4 2024-06-06 +--- + +[Check out the complete release note][v2_5_4]. Thank you CodiMD community and all our contributors. ❤️ + +[v2_5_4]: https://hackmd.io/@codimd/release-notes/%2F%40codimd%2Fv2_5_4 + +## Enhancements + +- Add index at revision table for improving system performance [#1856](https://github.com/hackmdio/codimd/pull/1856) +- Refactor to reuse random filename in filesystem image provider [#1867](https://github.com/hackmdio/codimd/pull/1867) + +## Fixes + +- Fix exclusion of name attribute from iframe filterXSS allowlist [#1865](https://github.com/hackmdio/codimd/pull/1865) +- Fix typo: "opened source" -> "open sourced" [#1869](https://github.com/hackmdio/codimd/pull/1869) + 2.5.3 2024-01-08 --- From 94ec934c65f6fa52b96b09bfcdb9d9119b0bf810 Mon Sep 17 00:00:00 2001 From: Yukai Huang Date: Thu, 6 Jun 2024 14:31:43 +0800 Subject: [PATCH 118/121] chore: bump package version to 2.5.4 Signed-off-by: Yukai Huang --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 82da5cb1bd..941dc9bcd2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "codimd", - "version": "2.5.3", + "version": "2.5.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "codimd", - "version": "2.5.3", + "version": "2.5.4", "license": "AGPL-3.0", "dependencies": { "@aws-sdk/client-s3-node": "0.1.0-preview.2", diff --git a/package.json b/package.json index da2a000d28..32163a0a98 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "codimd", - "version": "2.5.3", + "version": "2.5.4", "description": "Realtime collaborative markdown notes on all platforms.", "keywords": [ "Collaborative", From 9189c7779e092839c1d9803f2966ace23adf5fea Mon Sep 17 00:00:00 2001 From: yoyogix Date: Thu, 18 Jul 2024 14:46:55 +0900 Subject: [PATCH 119/121] =?UTF-8?q?dbURL=E3=81=A7=E3=81=AE=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E3=81=A7=E3=81=AF=E3=81=AA=E3=81=8F=E3=80=81db?= =?UTF-8?q?=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=A7=E6=98=8E?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E3=81=AB=E6=8C=87=E5=AE=9A=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deployments/staging/app.yaml | 8 ++++++++ lib/config/environment.js | 22 +++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/deployments/staging/app.yaml b/deployments/staging/app.yaml index ba24c5fd2e..56cc306c91 100644 --- a/deployments/staging/app.yaml +++ b/deployments/staging/app.yaml @@ -42,6 +42,14 @@ env_variables: CMD_SESSION_LIFE: sm://smarthr-corporate/codimd_staging_cmd_session_life CMD_SESSION_SECRET: sm://smarthr-corporate/codimd_staging_cmd_session_secret CMD_USECDN: sm://smarthr-corporate/codimd_staging_cmd_usecdn + DB_HOST: sm://smarthr-corporate/codimd_staging_db_host + DB_NAME: sm://smarthr-corporate/codimd_staging_db_name + DB_PASSWORD: sm://smarthr-corporate/codimd_staging_db_password + DB_SERVER_NAME: sm://smarthr-corporate/codimd_staging_db_server_name + DB_SSL_ROOT_CERT: sm://smarthr-corporate/codimd_staging_db_ssl_root_cert + DB_SSL_CERT: sm://smarthr-corporate/codimd_staging_db_ssl_cert + DB_SSL_KEY: sm://smarthr-corporate/codimd_staging_db_ssl_key + DB_USER: sm://smarthr-corporate/codimd_staging_db_user DB_MAX_CONNECTION: 700 NODE_ENV: sm://smarthr-corporate/codimd_staging_node_env PGSSLMODE: sm://smarthr-corporate/codimd_staging_pgsslmode diff --git a/lib/config/environment.js b/lib/config/environment.js index 56209280fc..5545570fbf 100644 --- a/lib/config/environment.js +++ b/lib/config/environment.js @@ -31,10 +31,26 @@ module.exports = { allowFreeURL: toBooleanConfig(process.env.CMD_ALLOW_FREEURL), forbiddenNoteIDs: toArrayConfig(process.env.CMD_FORBIDDEN_NOTE_IDS), defaultPermission: process.env.CMD_DEFAULT_PERMISSION, - dbURL: process.env.CMD_DB_URL, + // dbURLの指定 = connection Stringでの指定だと db:で指定しているオプションが使えないので無効化 + // @see https://node-postgres.com/features/ssl + // dbURL: process.env.CMD_DB_URL, + + // db: のオプションはCodiの本家と差分があるので、マージ時に注意 db: { - pool: { - max: parseInt(process.env.DB_MAX_CONNECTION) } + pool: { max: parseInt(process.env.DB_MAX_CONNECTION) }, + dialect: 'postgres', + database: process.env.DB_NAME, + username: process.env.DB_USER, + password: process.env.DB_PASSWORD, + host: process.env.DB_HOST, + dialectOptions: { + ssl: { + key: process.env.DB_SSL_KEY, + cert: process.env.DB_SSL_CERT, + ca: process.env.DB_SSL_ROOT_CERT, + servername: process.env.DB_SERVER_NAME + } + } }, sessionSecret: process.env.CMD_SESSION_SECRET, sessionLife: toIntegerConfig(process.env.CMD_SESSION_LIFE), From 90d44b4d91c503873567b8edbd00e432c8d38f04 Mon Sep 17 00:00:00 2001 From: yoyogix Date: Fri, 19 Jul 2024 17:09:02 +0900 Subject: [PATCH 120/121] =?UTF-8?q?migration=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=83=AB=E5=90=8D=E3=82=92master-smarthr=E3=81=AE=E3=82=82?= =?UTF-8?q?=E3=81=AE=E3=81=A8=E6=8F=83=E3=81=88=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...revision-add-index.js => 20230831234802-revision-add-index.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lib/migrations/{20240114120250-revision-add-index.js => 20230831234802-revision-add-index.js} (100%) diff --git a/lib/migrations/20240114120250-revision-add-index.js b/lib/migrations/20230831234802-revision-add-index.js similarity index 100% rename from lib/migrations/20240114120250-revision-add-index.js rename to lib/migrations/20230831234802-revision-add-index.js From a6a1dc72cdf90f182d7e4f7b9111995786cf34c4 Mon Sep 17 00:00:00 2001 From: shigerix Date: Thu, 25 Jul 2024 15:43:42 +0900 Subject: [PATCH 121/121] =?UTF-8?q?=E6=9C=AC=E7=95=AA=E7=92=B0=E5=A2=83?= =?UTF-8?q?=E7=94=A8=E3=81=AEapp.yaml=20=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deployments/production/app.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/deployments/production/app.yaml b/deployments/production/app.yaml index 6458a868b6..cefb78f88d 100644 --- a/deployments/production/app.yaml +++ b/deployments/production/app.yaml @@ -41,7 +41,15 @@ env_variables: CMD_SESSION_LIFE: sm://smarthr-corporate/codimd_production_cmd_session_life CMD_SESSION_SECRET: sm://smarthr-corporate/codimd_production_cmd_session_secret CMD_USECDN: sm://smarthr-corporate/codimd_production_cmd_usecdn + DB_HOST: sm://smarthr-corporate/codimd_production_db_host + DB_NAME: sm://smarthr-corporate/codimd_production_db_name + DB_PASSWORD: sm://smarthr-corporate/codimd_production_db_password + DB_SERVER_NAME: sm://smarthr-corporate/codimd_production_db_server_name + DB_SSL_ROOT_CERT: sm://smarthr-corporate/codimd_production_db_ssl_root_cert + DB_SSL_CERT: sm://smarthr-corporate/codimd_production_db_ssl_cert + DB_SSL_KEY: sm://smarthr-corporate/codimd_production_db_ssl_key + DB_USER: sm://smarthr-corporate/codimd_production_db_user + DB_MAX_CONNECTION: 700 NODE_ENV: sm://smarthr-corporate/codimd_production_node_env PGSSLMODE: sm://smarthr-corporate/codimd_production_pgsslmode NODE_OPTIONS: --max-old-space-size=2000 - DB_MAX_CONNECTION: 700