diff options
29 files changed, 1074 insertions, 506 deletions
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 7a42a311..791b29d8 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -39,7 +39,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [10.x, 12.x, 14.x, 15.x] + node-version: [12.x, 14.x, 15.x, 16.x] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} @@ -63,7 +63,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [10.x, 12.x, 14.x, 15.x] + node-version: [12.x, 14.x, 15.x, 16.x] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} @@ -18,6 +18,7 @@ const passportSocketIo = require('passport.socketio') const helmet = require('helmet') const i18n = require('i18n') const flash = require('connect-flash') +const apiMetrics = require('prometheus-api-metrics') // core const config = require('./lib/config') @@ -25,6 +26,7 @@ const logger = require('./lib/logger') const errors = require('./lib/errors') const models = require('./lib/models') const csp = require('./lib/csp') +const metrics = require('./lib/prometheus') // server setup const app = express() @@ -63,6 +65,10 @@ app.use(morgan('combined', { stream: logger.stream })) +// Register prometheus metrics endpoint +app.use(apiMetrics()) +metrics.setupCustomPrometheusMetrics() + // socket io const io = require('socket.io')(server, { cookie: false }) io.engine.ws = new (require('ws').Server)({ @@ -301,7 +307,13 @@ function handleTermSignals () { }, 0) }) if (config.path) { - fs.unlink(config.path) + fs.unlink(config.path, err => { + if (err) { + logger.error(`Could not cleanup socket: ${err.message}`) + } else { + logger.info('Successfully cleaned up socket') + } + }) } const checkCleanTimer = setInterval(function () { if (realtime.isReady()) { @@ -23,7 +23,7 @@ fi if version_lt "$(yarn --version)" '1.22.0'; then cat << EOF -FATAL: Your Yarn version is outdated. +FATAL: Your Yarn version is not supported. Please upgrade to version 1.22.0 or higher and try again. See https://classic.yarnpkg.com/en/docs/install for instructions. @@ -31,11 +31,11 @@ EOF exit 1 fi -if version_lt "$(node --version)" 'v10.13.0'; then +if version_lt "$(node --version)" 'v12.0.0'; then cat << EOF -FATAL: Your Node.js version is outdated. +FATAL: Your Node.js version is not supported. -Please upgrade to version 10.13 or higher and try again. +Please upgrade to version 12 or higher and try again. We recommend running the latest LTS release, see https://nodejs.org/en/about/releases/ for details. EOF exit 1 diff --git a/docs/content/dev/api.md b/docs/content/dev/api.md index 0700ecc3..a8cd22a2 100644 --- a/docs/content/dev/api.md +++ b/docs/content/dev/api.md @@ -36,6 +36,7 @@ These endpoints return information about the current logged-in user and it's not ## HedgeDoc-server These endpoints return information about the running HedgeDoc instance. -| Endpoint | HTTP-Method | Description | -| --------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `/status` | `GET` | **Returns the current status of the HedgeDoc instance.**<br>The data is returned as a JSON object containing the number of notes stored on the server, (distinct) online users and more. | +| Endpoint | HTTP-Method | Description | +| ---------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `/status` | `GET` | **Returns the current status of the HedgeDoc instance.**<br>The data is returned as a JSON object containing the number of notes stored on the server, (distinct) online users and more. | +| `/metrics` | `GET` | **Prometheus-compatible endpoint**<br>Exposes the same stats as `/status` in addition to various Node.js performance figures. Available since HedgeDoc 1.8 | diff --git a/docs/content/guides/auth/saml.md b/docs/content/guides/auth/saml.md index 9cc1f8ba..211a4a97 100644 --- a/docs/content/guides/auth/saml.md +++ b/docs/content/guides/auth/saml.md @@ -14,8 +14,8 @@ you want to match your IdP, you can use more configurations as below. - `identifierFormat`: A format of unique id to identify the user of IdP, which is the format based on email address as default. It is recommend that you use as below. - - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress (default) - - urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified + - `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress` (default) + - `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified` - `config.json`: ```javascript diff --git a/docs/content/guides/migrations-and-breaking-changes.md b/docs/content/guides/migrations-and-breaking-changes.md deleted file mode 100644 index bbc320b1..00000000 --- a/docs/content/guides/migrations-and-breaking-changes.md +++ /dev/null @@ -1,55 +0,0 @@ -# Migrations and Notable Changes - -## Migrating to 1.4.0 - -We dropped support for node 6 with this version. If you have any trouble running this version, please double check that you are running at least node 8! - -## Migrating to 1.3.2 - -This is not a breaking change, but to stay up to date with the community -repository, you may need to update a few urls. This is not a breaking change. - -See more at [issue #10](https://github.com/hedgedoc/hedgedoc/issues/10) - -### Native setup using git - -Change the upstream remote using `git remote set-url origin https://github.com/hedgedoc/hedgedoc.git`. - -### Docker - -When you use our [container repository](https://github.com/hedgedoc/container) -(which was previously `hedgedoc-container`) all you can simply run `git pull` and -your `docker-compose.yml` will be updated. - -When you setup things yourself, make sure you use the new image: -[`quay.io/hedgedoc/hedgedoc`](https://quay.io/repository/hedgedoc/hedgedoc?tab=tags). - -### Heroku - -All you need to do is [disconnect GitHub](https://devcenter.heroku.com/articles/github-integration#disconnecting-from-github) -and [reconnect it](https://devcenter.heroku.com/articles/github-integration#enabling-github-integration) -with this new repository. - -Or you can use our Heroku button and redeploy your instance and link the old -database again. - -## Migrating to 1.1.0 - -We deprecated the older lower case config style and moved on to camel case style. Please have a look at the current `config.json.example` and check the warnings on startup. - -*Notice: This is not a breaking change right now but will be in the future* - -## Migrating to 0.5.0 - -[migration-to-0.5.0 migration tool](https://github.com/hackmdio/migration-to-0.5.0) - -We don't use LZString to compress socket.io data and DB data after version 0.5.0. -Please run the migration tool if you're upgrading from the old version. - -## Migrating to 0.4.0 - -[migration-to-0.4.0 migration tool](https://github.com/hackmdio/migration-to-0.4.0) - -We've dropped MongoDB after version 0.4.0. -So here is the migration tool for you to transfer the old DB data to the new DB. -This tool is also used for official service. diff --git a/docs/content/images/hedgedoc_logo_black.svg b/docs/content/images/hedgedoc_logo_black.svg new file mode 100644 index 00000000..b8bcd7ae --- /dev/null +++ b/docs/content/images/hedgedoc_logo_black.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="786" height="197.266" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M248.07 58v79.68h9.297v-35.058h45.416v35.058h9.296V58h-9.296v36.123h-45.416V58zm187.351 0v33.518c-2.372-2.513-5.223-4.478-8.552-5.895-3.33-1.417-6.941-2.125-10.836-2.125-5.134 0-9.73 1.193-13.785 3.584-4.054 2.392-7.243 5.667-9.56 9.828-2.321 4.163-3.48 8.897-3.48 14.208 0 5.314 1.159 10.051 3.48 14.21 2.317 4.161 5.506 7.437 9.56 9.828 4.055 2.391 8.65 3.587 13.785 3.587 4.001 0 7.702-.753 11.102-2.258 3.4-1.506 6.285-3.568 8.659-6.19l.479 7.385h7.913V58zm157.87.106v79.68h21.673c15.653 0 27.676-3.488 36.068-10.466 8.392-6.974 12.59-16.803 12.59-29.48 0-12.642-4.198-22.425-12.59-29.348-8.392-6.923-20.415-10.386-36.068-10.386zm9.296 8.5h12.377c12.606 0 22.275 2.719 29.004 8.153 6.728 5.438 10.091 13.13 10.091 23.082 0 9.985-3.363 17.724-10.09 23.212-6.73 5.49-16.399 8.234-29.005 8.234h-12.377zm-118.295 16.89c-5.134 0-9.73 1.196-13.784 3.587-4.055 2.391-7.244 5.666-9.562 9.827-2.32 4.161-3.48 8.897-3.48 14.21 0 5.312 1.16 10.048 3.48 14.21 2.318 4.16 5.507 7.435 9.562 9.826 4.054 2.391 8.65 3.586 13.784 3.586 3.895 0 7.507-.709 10.837-2.125 3.328-1.416 6.179-3.38 8.551-5.895v2.76c0 7.225-1.815 13.005-5.444 17.345-3.632 4.336-9.216 6.505-16.759 6.505-2.975 0-5.737-.487-8.286-1.46-2.55-.975-4.818-2.329-6.8-4.063l-4.355 7.33c2.619 1.948 5.558 3.46 8.816 4.541 3.258 1.082 6.745 1.62 10.465 1.62 6.763 0 12.457-1.373 17.08-4.116 4.62-2.745 8.116-6.578 10.49-11.5 2.372-4.923 3.558-10.66 3.558-17.211V84.559h-7.915l-.479 7.385c-2.372-2.621-5.258-4.684-8.658-6.19-3.399-1.505-7.1-2.257-11.1-2.257zm281.895 0c-5.312 0-10.049 1.196-14.21 3.587-4.16 2.39-7.436 5.666-9.828 9.828-2.389 4.161-3.584 8.896-3.584 14.208 0 5.313 1.195 10.05 3.584 14.21 2.392 4.162 5.667 7.437 9.828 9.826 4.161 2.391 8.898 3.587 14.21 3.587 4.001 0 7.683-.69 11.048-2.072 3.364-1.382 6.286-3.311 8.765-5.79l-6.11-6.056c-1.665 1.842-3.665 3.293-6.001 4.355-2.338 1.063-4.905 1.595-7.702 1.595-3.577 0-6.765-.85-9.562-2.551-2.798-1.7-5.003-4.037-6.614-7.01-1.611-2.975-2.416-6.34-2.416-10.094 0-3.788.805-7.162 2.416-10.12 1.61-2.956 3.816-5.284 6.614-6.983 2.797-1.701 5.985-2.55 9.562-2.55 2.797 0 5.364.522 7.702 1.565a17.433 17.433 0 0 1 6.001 4.384l6.11-6.11c-2.479-2.442-5.4-4.355-8.765-5.736-3.365-1.382-7.047-2.072-11.048-2.072zm-413.42.002c-5.24 0-9.932 1.188-14.076 3.56-4.144 2.373-7.402 5.623-9.774 9.748-2.372 4.125-3.56 8.808-3.56 14.05 0 5.384 1.267 10.18 3.8 14.395 2.53 4.214 6.027 7.516 10.49 9.907 4.462 2.39 15.298 3.585 15.298 3.585 3.577 0 7.286-.602 11.13-1.807 3.841-1.204 7.692-3.416 11.552-6.64l-5.152-6.586c-2.622 2.479-5.525 4.276-8.71 5.392-3.19 1.114-6.216 1.673-9.086 1.673-5.17 0-9.588-1.514-13.253-4.54-3.665-3.03-5.94-6.9-6.825-11.61h45.045v-3.557c0-5.347-1.152-10.094-3.454-14.236-2.302-4.144-5.47-7.401-9.507-9.775-4.038-2.37-8.676-3.559-13.918-3.559zm200.366 0c-5.241 0-9.933 1.188-14.076 3.56-4.144 2.373-7.402 5.623-9.774 9.748-2.373 4.125-3.56 8.808-3.56 14.05 0 5.384 1.265 10.18 3.799 14.395 2.53 4.214 6.029 7.516 10.49 9.907 4.462 2.39 9.562 3.585 15.299 3.585 3.577 0 7.285-.602 11.128-1.807 3.842-1.204 7.693-3.416 11.554-6.64l-5.154-6.586c-2.62 2.479-5.523 4.276-8.71 5.392-3.187 1.114-6.215 1.673-9.084 1.673-5.17 0-9.588-1.514-13.253-4.54-3.665-3.03-5.94-6.9-6.826-11.61h45.045v-3.557c0-5.347-1.151-10.094-3.453-14.236-2.302-4.144-5.471-7.401-9.508-9.775-4.038-2.37-8.675-3.559-13.917-3.559zm148.248 0c-5.312 0-10.047 1.194-14.208 3.585-4.162 2.391-7.438 5.667-9.829 9.828-2.389 4.16-3.584 8.897-3.584 14.208 0 5.313 1.195 10.05 3.584 14.21 2.392 4.162 5.667 7.437 9.83 9.828 4.16 2.39 8.895 3.585 14.207 3.585 5.311 0 10.048-1.194 14.21-3.585 4.16-2.391 7.435-5.666 9.826-9.827 2.391-4.161 3.586-8.898 3.586-14.211 0-5.311-1.195-10.047-3.586-14.208-2.39-4.161-5.666-7.437-9.827-9.828-4.16-2.391-8.898-3.585-14.209-3.585zM485.09 91.464c3.576 0 6.764.85 9.56 2.552 2.799 1.699 5.004 4.029 6.614 6.983 1.612 2.958 2.417 6.332 2.417 10.12 0 3.754-.805 7.118-2.417 10.093-1.61 2.975-3.815 5.311-6.613 7.012-2.797 1.7-5.985 2.549-9.561 2.549-3.577 0-6.765-.85-9.562-2.549-2.798-1.7-5.002-4.037-6.612-7.012-1.613-2.975-2.418-6.339-2.418-10.093 0-3.788.805-7.162 2.418-10.12 1.61-2.954 3.814-5.284 6.612-6.983 2.797-1.701 5.985-2.552 9.562-2.552zm-68.26.001c3.578 0 6.766.85 9.562 2.55 2.798 1.7 5.002 4.029 6.614 6.985 1.61 2.957 2.416 6.331 2.416 10.118 0 3.754-.806 7.118-2.416 10.093-1.612 2.975-3.816 5.313-6.614 7.012-2.796 1.701-5.984 2.55-9.562 2.55-3.577 0-6.764-.849-9.56-2.55-2.798-1.7-5.003-4.037-6.614-7.012-1.611-2.975-2.417-6.339-2.417-10.093 0-3.787.806-7.16 2.417-10.118 1.61-2.956 3.816-5.285 6.614-6.986 2.796-1.699 5.983-2.549 9.56-2.549zm-64.114 0c4.638 0 8.57 1.46 11.792 4.384 3.222 2.922 5.222 6.7 6.002 11.34h-36.015c.78-4.567 2.834-8.33 6.163-11.288 3.328-2.956 7.348-4.435 12.058-4.435zm200.366 0c4.638 0 8.568 1.46 11.79 4.384 3.222 2.922 5.224 6.7 6.003 11.34H534.86c.779-4.567 2.833-8.33 6.162-11.288 3.328-2.956 7.348-4.435 12.059-4.435zm148.3 0c3.576 0 6.766.85 9.562 2.55 2.798 1.701 5.002 4.03 6.614 6.986 1.61 2.956 2.416 6.33 2.416 10.118 0 3.754-.806 7.119-2.416 10.094-1.612 2.974-3.816 5.31-6.614 7.011-2.796 1.7-5.986 2.55-9.562 2.55-3.577 0-6.764-.85-9.56-2.55-2.798-1.7-5.004-4.037-6.614-7.011-1.613-2.975-2.417-6.34-2.417-10.094 0-3.789.804-7.162 2.417-10.118 1.61-2.956 3.816-5.285 6.613-6.986 2.797-1.7 5.984-2.55 9.561-2.55z" fill-rule="nonzero"/><path d="m187.345 108.66 9.992-9.992-9.992-9.992 7.517-11.963-11.964-7.518 4.667-13.337-13.336-4.667 1.581-14.04-14.04-1.583-1.583-14.042-14.04 1.582-4.668-13.337-13.336 4.666-7.52-11.963L108.66 9.99 98.67 0l-9.992 9.992-11.964-7.517-7.517 11.963L55.86 9.771l-4.667 13.337-14.041-1.583-1.582 14.041-14.04 1.582 1.581 14.04-13.338 4.668 4.667 13.337L2.475 76.71l7.518 11.966L0 98.668l9.992 9.993-7.517 11.964 11.964 7.517-4.667 13.337 13.338 4.668-1.582 14.039 14.04 1.583 1.583 14.04 14.041-1.581 4.667 13.335 13.336-4.665 7.518 11.964 11.963-7.518 9.992 9.899 9.992-9.896 11.964 7.517 7.517-11.966 13.338 4.668 4.666-13.337 14.042 1.581 1.581-14.041 14.042-1.582-1.583-14.04 13.338-4.668-4.667-13.338 11.964-7.517z" fill="#b51f08" fill-rule="nonzero"/><path d="M167.114 114.463c0-19.312-15.655-34.967-34.967-34.967-9.592 0-18.282 3.865-24.599 10.121l-.004-.004-8.909 8.91-7.285-7.285c-6.409-7.312-15.81-11.934-26.296-11.934-19.313 0-34.968 15.655-34.968 34.967 0 10.092 4.28 19.178 11.117 25.56l57.466 57.435 56.196-56.233c7.022-6.608 12.25-15.934 12.25-26.57" fill="#fdd49a" fill-rule="nonzero"/><path d="m98.635 98.522-7.285-7.284c-6.41-7.312-15.81-11.935-26.297-11.935-19.312 0-34.967 15.656-34.967 34.967 0 10.092 4.28 19.178 11.117 25.56l57.466 57.436" fill="url(#a)" fill-rule="nonzero"/><path d="m98.669 197.266-.034-98.744" fill="none"/><path d="M108.65 187.336a14.075 14.075 0 0 0-10.001-4.157 14.075 14.075 0 0 0-10.002 4.157c.04 5.49 4.502 9.927 10.001 9.927 5.5 0 9.962-4.439 10.003-9.927M86.967 126.87a7.643 7.643 0 1 1-15.287 0 7.643 7.643 0 1 1 15.287 0" fill="#010007" fill-rule="nonzero"/><path d="M84.345 125.724a2.116 2.116 0 0 1-2.118 2.117 2.117 2.117 0 1 1 0-4.236 2.12 2.12 0 0 1 2.118 2.12" fill="#fffffa" fill-rule="nonzero"/><path d="M125.732 126.87a7.644 7.644 0 1 1-15.288 0 7.644 7.644 0 1 1 15.288 0" fill="#010007" fill-rule="nonzero"/><path d="M123.11 125.724c0 1.172-.95 2.117-2.118 2.117a2.117 2.117 0 1 1 0-4.236 2.12 2.12 0 0 1 2.118 2.12" fill="#fffffa" fill-rule="nonzero"/><defs><linearGradient id="a" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-64.537 160.23 25.078) scale(61.7694)"><stop offset="0" stop-color="#fdd49a"/><stop offset="1" stop-color="#dca055"/></linearGradient></defs></svg>
\ No newline at end of file diff --git a/docs/content/images/hedgedoc_logo_horizontal.svg b/docs/content/images/hedgedoc_logo_horizontal.svg deleted file mode 100644 index 387e2c03..00000000 --- a/docs/content/images/hedgedoc_logo_horizontal.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="786" height="197.266" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M248.07 58v79.68h9.297v-35.058h45.416v35.058h9.296V58h-9.296v36.123h-45.416V58zm187.351 0v33.518c-2.372-2.513-5.223-4.478-8.552-5.895-3.33-1.417-6.941-2.125-10.836-2.125-5.134 0-9.73 1.193-13.785 3.584-4.054 2.392-7.243 5.667-9.56 9.828-2.321 4.163-3.48 8.897-3.48 14.208 0 5.314 1.159 10.051 3.48 14.21 2.317 4.161 5.506 7.437 9.56 9.828 4.055 2.391 8.65 3.587 13.785 3.587 4.001 0 7.702-.753 11.102-2.258 3.4-1.506 6.285-3.568 8.659-6.19l.479 7.385h7.913V58zm157.87.106v79.68h21.673c15.653 0 27.676-3.488 36.068-10.466 8.392-6.974 12.59-16.803 12.59-29.48 0-12.642-4.198-22.425-12.59-29.348-8.392-6.923-20.415-10.386-36.068-10.386zm9.296 8.5h12.377c12.606 0 22.275 2.719 29.004 8.153 6.728 5.438 10.091 13.13 10.091 23.082 0 9.985-3.363 17.724-10.09 23.212-6.73 5.49-16.399 8.234-29.005 8.234h-12.377zm-118.295 16.89c-5.134 0-9.73 1.196-13.784 3.587-4.055 2.391-7.244 5.666-9.562 9.827-2.32 4.161-3.48 8.897-3.48 14.21 0 5.312 1.16 10.048 3.48 14.21 2.318 4.16 5.507 7.435 9.562 9.826 4.054 2.391 8.65 3.586 13.784 3.586 3.895 0 7.507-.709 10.837-2.125 3.328-1.416 6.179-3.38 8.551-5.895v2.76c0 7.225-1.815 13.005-5.444 17.345-3.632 4.336-9.216 6.505-16.759 6.505-2.975 0-5.737-.487-8.286-1.46-2.55-.975-4.818-2.329-6.8-4.063l-4.355 7.33c2.619 1.948 5.558 3.46 8.816 4.541 3.258 1.082 6.745 1.62 10.465 1.62 6.763 0 12.457-1.373 17.08-4.116 4.62-2.745 8.116-6.578 10.49-11.5 2.372-4.923 3.558-10.66 3.558-17.211V84.559h-7.915l-.479 7.385c-2.372-2.621-5.258-4.684-8.658-6.19-3.399-1.505-7.1-2.257-11.1-2.257zm281.895 0c-5.312 0-10.049 1.196-14.21 3.587-4.16 2.39-7.436 5.666-9.828 9.828-2.389 4.161-3.584 8.896-3.584 14.208 0 5.313 1.195 10.05 3.584 14.21 2.392 4.162 5.667 7.437 9.828 9.826 4.161 2.391 8.898 3.587 14.21 3.587 4.001 0 7.683-.69 11.048-2.072 3.364-1.382 6.286-3.311 8.765-5.79l-6.11-6.056c-1.665 1.842-3.665 3.293-6.001 4.355-2.338 1.063-4.905 1.595-7.702 1.595-3.577 0-6.765-.85-9.562-2.551-2.798-1.7-5.003-4.037-6.614-7.01-1.611-2.975-2.416-6.34-2.416-10.094 0-3.788.805-7.162 2.416-10.12 1.61-2.956 3.816-5.284 6.614-6.983 2.797-1.701 5.985-2.55 9.562-2.55 2.797 0 5.364.522 7.702 1.565a17.433 17.433 0 016.001 4.384l6.11-6.11c-2.479-2.442-5.4-4.355-8.765-5.736-3.365-1.382-7.047-2.072-11.048-2.072zm-413.42.002c-5.24 0-9.932 1.188-14.076 3.56-4.144 2.373-7.402 5.623-9.774 9.748-2.372 4.125-3.56 8.808-3.56 14.05 0 5.384 1.267 10.18 3.8 14.395 2.53 4.214 6.027 7.516 10.49 9.907 4.462 2.39 15.298 3.585 15.298 3.585 3.577 0 7.286-.602 11.13-1.807 3.841-1.204 7.692-3.416 11.552-6.64l-5.152-6.586c-2.622 2.479-5.525 4.276-8.71 5.392-3.19 1.114-6.216 1.673-9.086 1.673-5.17 0-9.588-1.514-13.253-4.54-3.665-3.03-5.94-6.9-6.825-11.61h45.045v-3.557c0-5.347-1.152-10.094-3.454-14.236-2.302-4.144-5.47-7.401-9.507-9.775-4.038-2.37-8.676-3.559-13.918-3.559zm200.366 0c-5.241 0-9.933 1.188-14.076 3.56-4.144 2.373-7.402 5.623-9.774 9.748-2.373 4.125-3.56 8.808-3.56 14.05 0 5.384 1.265 10.18 3.799 14.395 2.53 4.214 6.029 7.516 10.49 9.907 4.462 2.39 9.562 3.585 15.299 3.585 3.577 0 7.285-.602 11.128-1.807 3.842-1.204 7.693-3.416 11.554-6.64l-5.154-6.586c-2.62 2.479-5.523 4.276-8.71 5.392-3.187 1.114-6.215 1.673-9.084 1.673-5.17 0-9.588-1.514-13.253-4.54-3.665-3.03-5.94-6.9-6.826-11.61h45.045v-3.557c0-5.347-1.151-10.094-3.453-14.236-2.302-4.144-5.471-7.401-9.508-9.775-4.038-2.37-8.675-3.559-13.917-3.559zm148.248 0c-5.312 0-10.047 1.194-14.208 3.585-4.162 2.391-7.438 5.667-9.829 9.828-2.389 4.16-3.584 8.897-3.584 14.208 0 5.313 1.195 10.05 3.584 14.21 2.392 4.162 5.667 7.437 9.83 9.828 4.16 2.39 8.895 3.585 14.207 3.585 5.311 0 10.048-1.194 14.21-3.585 4.16-2.391 7.435-5.666 9.826-9.827 2.391-4.161 3.586-8.898 3.586-14.211 0-5.311-1.195-10.047-3.586-14.208-2.39-4.161-5.666-7.437-9.827-9.828-4.16-2.391-8.898-3.585-14.209-3.585zM485.09 91.464c3.576 0 6.764.85 9.56 2.552 2.799 1.699 5.004 4.029 6.614 6.983 1.612 2.958 2.417 6.332 2.417 10.12 0 3.754-.805 7.118-2.417 10.093-1.61 2.975-3.815 5.311-6.613 7.012-2.797 1.7-5.985 2.549-9.561 2.549-3.577 0-6.765-.85-9.562-2.549-2.798-1.7-5.002-4.037-6.612-7.012-1.613-2.975-2.418-6.339-2.418-10.093 0-3.788.805-7.162 2.418-10.12 1.61-2.954 3.814-5.284 6.612-6.983 2.797-1.701 5.985-2.552 9.562-2.552zm-68.26.001c3.578 0 6.766.85 9.562 2.55 2.798 1.7 5.002 4.029 6.614 6.985 1.61 2.957 2.416 6.331 2.416 10.118 0 3.754-.806 7.118-2.416 10.093-1.612 2.975-3.816 5.313-6.614 7.012-2.796 1.701-5.984 2.55-9.562 2.55-3.577 0-6.764-.849-9.56-2.55-2.798-1.7-5.003-4.037-6.614-7.012-1.611-2.975-2.417-6.339-2.417-10.093 0-3.787.806-7.16 2.417-10.118 1.61-2.956 3.816-5.285 6.614-6.986 2.796-1.699 5.983-2.549 9.56-2.549zm-64.114 0c4.638 0 8.57 1.46 11.792 4.384 3.222 2.922 5.222 6.7 6.002 11.34h-36.015c.78-4.567 2.834-8.33 6.163-11.288 3.328-2.956 7.348-4.435 12.058-4.435zm200.366 0c4.638 0 8.568 1.46 11.79 4.384 3.222 2.922 5.224 6.7 6.003 11.34H534.86c.779-4.567 2.833-8.33 6.162-11.288 3.328-2.956 7.348-4.435 12.059-4.435zm148.3 0c3.576 0 6.766.85 9.562 2.55 2.798 1.701 5.002 4.03 6.614 6.986 1.61 2.956 2.416 6.33 2.416 10.118 0 3.754-.806 7.119-2.416 10.094-1.612 2.974-3.816 5.31-6.614 7.011-2.796 1.7-5.986 2.55-9.562 2.55-3.577 0-6.764-.85-9.56-2.55-2.798-1.7-5.004-4.037-6.614-7.011-1.613-2.975-2.417-6.34-2.417-10.094 0-3.789.804-7.162 2.417-10.118 1.61-2.956 3.816-5.285 6.613-6.986 2.797-1.7 5.984-2.55 9.561-2.55z" fill-rule="nonzero"/><path d="M187.345 108.66l9.992-9.992-9.992-9.992 7.517-11.963-11.964-7.518 4.667-13.337-13.336-4.667 1.581-14.04-14.04-1.583-1.583-14.042-14.04 1.582-4.668-13.337-13.336 4.666-7.52-11.963L108.66 9.99 98.67 0l-9.992 9.992-11.964-7.517-7.517 11.963L55.86 9.771l-4.667 13.337-14.041-1.583-1.582 14.041-14.04 1.582 1.581 14.04-13.338 4.668 4.667 13.337L2.475 76.71l7.518 11.966L0 98.668l9.992 9.993-7.517 11.964 11.964 7.517-4.667 13.337 13.338 4.668-1.582 14.039 14.04 1.583 1.583 14.04 14.041-1.581 4.667 13.335 13.336-4.665 7.518 11.964 11.963-7.518 9.992 9.899 9.992-9.896 11.964 7.517 7.517-11.966 13.338 4.668 4.666-13.337 14.042 1.581 1.581-14.041 14.042-1.582-1.583-14.04 13.338-4.668-4.667-13.338 11.964-7.517z" fill="#b51f08" fill-rule="nonzero"/><path d="M167.114 114.463c0-19.312-15.655-34.967-34.967-34.967-9.592 0-18.282 3.865-24.599 10.121l-.004-.004-8.909 8.91-7.285-7.285c-6.409-7.312-15.81-11.934-26.296-11.934-19.313 0-34.968 15.655-34.968 34.967 0 10.092 4.28 19.178 11.117 25.56l57.466 57.435 56.196-56.233c7.022-6.608 12.25-15.934 12.25-26.57" fill="#fdd49a" fill-rule="nonzero"/><path d="M98.635 98.522l-7.285-7.284c-6.41-7.312-15.81-11.935-26.297-11.935-19.312 0-34.967 15.656-34.967 34.967 0 10.092 4.28 19.178 11.117 25.56l57.466 57.436" fill="url(#_Linear1)" fill-rule="nonzero"/><path d="M98.669 197.266l-.034-98.744" fill="none"/><path d="M108.65 187.336a14.075 14.075 0 00-10.001-4.157 14.075 14.075 0 00-10.002 4.157c.04 5.49 4.502 9.927 10.001 9.927 5.5 0 9.962-4.439 10.003-9.927M86.967 126.87a7.643 7.643 0 11-15.287 0 7.643 7.643 0 1115.287 0" fill="#010007" fill-rule="nonzero"/><path d="M84.345 125.724a2.116 2.116 0 01-2.118 2.117 2.117 2.117 0 110-4.236 2.12 2.12 0 012.118 2.12" fill="#fffffa" fill-rule="nonzero"/><path d="M125.732 126.87a7.644 7.644 0 11-15.288 0 7.644 7.644 0 1115.288 0" fill="#010007" fill-rule="nonzero"/><path d="M123.11 125.724c0 1.172-.95 2.117-2.118 2.117a2.117 2.117 0 110-4.236 2.12 2.12 0 012.118 2.12" fill="#fffffa" fill-rule="nonzero"/><defs id="defs77"><linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-64.537 160.23 25.078) scale(61.7694)"><stop offset="0" id="stop72" stop-color="#fdd49a" stop-opacity="1"/><stop offset="1" id="stop74" stop-color="#dca055" stop-opacity="1"/></linearGradient></defs></svg>
\ No newline at end of file diff --git a/docs/content/images/hedgedoc_logo_white.svg b/docs/content/images/hedgedoc_logo_white.svg new file mode 100644 index 00000000..6a6fa39a --- /dev/null +++ b/docs/content/images/hedgedoc_logo_white.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="786" height="197.266" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M248.07 58v79.68h9.297v-35.058h45.416v35.058h9.296V58h-9.296v36.123h-45.416V58zm187.351 0v33.518c-2.372-2.513-5.223-4.478-8.552-5.895-3.33-1.417-6.941-2.125-10.836-2.125-5.134 0-9.73 1.193-13.785 3.584-4.054 2.392-7.243 5.667-9.56 9.828-2.321 4.163-3.48 8.897-3.48 14.208 0 5.314 1.159 10.051 3.48 14.21 2.317 4.161 5.506 7.437 9.56 9.828 4.055 2.391 8.65 3.587 13.785 3.587 4.001 0 7.702-.753 11.102-2.258 3.4-1.506 6.285-3.568 8.659-6.19l.479 7.385h7.913V58zm157.87.106v79.68h21.673c15.653 0 27.676-3.488 36.068-10.466 8.392-6.974 12.59-16.803 12.59-29.48 0-12.642-4.198-22.425-12.59-29.348-8.392-6.923-20.415-10.386-36.068-10.386zm9.296 8.5h12.377c12.606 0 22.275 2.719 29.004 8.153 6.728 5.438 10.091 13.13 10.091 23.082 0 9.985-3.363 17.724-10.09 23.212-6.73 5.49-16.399 8.234-29.005 8.234h-12.377zm-118.295 16.89c-5.134 0-9.73 1.196-13.784 3.587-4.055 2.391-7.244 5.666-9.562 9.827-2.32 4.161-3.48 8.897-3.48 14.21 0 5.312 1.16 10.048 3.48 14.21 2.318 4.16 5.507 7.435 9.562 9.826 4.054 2.391 8.65 3.586 13.784 3.586 3.895 0 7.507-.709 10.837-2.125 3.328-1.416 6.179-3.38 8.551-5.895v2.76c0 7.225-1.815 13.005-5.444 17.345-3.632 4.336-9.216 6.505-16.759 6.505-2.975 0-5.737-.487-8.286-1.46-2.55-.975-4.818-2.329-6.8-4.063l-4.355 7.33c2.619 1.948 5.558 3.46 8.816 4.541 3.258 1.082 6.745 1.62 10.465 1.62 6.763 0 12.457-1.373 17.08-4.116 4.62-2.745 8.116-6.578 10.49-11.5 2.372-4.923 3.558-10.66 3.558-17.211V84.559h-7.915l-.479 7.385c-2.372-2.621-5.258-4.684-8.658-6.19-3.399-1.505-7.1-2.257-11.1-2.257zm281.895 0c-5.312 0-10.049 1.196-14.21 3.587-4.16 2.39-7.436 5.666-9.828 9.828-2.389 4.161-3.584 8.896-3.584 14.208 0 5.313 1.195 10.05 3.584 14.21 2.392 4.162 5.667 7.437 9.828 9.826 4.161 2.391 8.898 3.587 14.21 3.587 4.001 0 7.683-.69 11.048-2.072 3.364-1.382 6.286-3.311 8.765-5.79l-6.11-6.056c-1.665 1.842-3.665 3.293-6.001 4.355-2.338 1.063-4.905 1.595-7.702 1.595-3.577 0-6.765-.85-9.562-2.551-2.798-1.7-5.003-4.037-6.614-7.01-1.611-2.975-2.416-6.34-2.416-10.094 0-3.788.805-7.162 2.416-10.12 1.61-2.956 3.816-5.284 6.614-6.983 2.797-1.701 5.985-2.55 9.562-2.55 2.797 0 5.364.522 7.702 1.565a17.433 17.433 0 0 1 6.001 4.384l6.11-6.11c-2.479-2.442-5.4-4.355-8.765-5.736-3.365-1.382-7.047-2.072-11.048-2.072zm-413.42.002c-5.24 0-9.932 1.188-14.076 3.56-4.144 2.373-7.402 5.623-9.774 9.748-2.372 4.125-3.56 8.808-3.56 14.05 0 5.384 1.267 10.18 3.8 14.395 2.53 4.214 6.027 7.516 10.49 9.907 4.462 2.39 15.298 3.585 15.298 3.585 3.577 0 7.286-.602 11.13-1.807 3.841-1.204 7.692-3.416 11.552-6.64l-5.152-6.586c-2.622 2.479-5.525 4.276-8.71 5.392-3.19 1.114-6.216 1.673-9.086 1.673-5.17 0-9.588-1.514-13.253-4.54-3.665-3.03-5.94-6.9-6.825-11.61h45.045v-3.557c0-5.347-1.152-10.094-3.454-14.236-2.302-4.144-5.47-7.401-9.507-9.775-4.038-2.37-8.676-3.559-13.918-3.559zm200.366 0c-5.241 0-9.933 1.188-14.076 3.56-4.144 2.373-7.402 5.623-9.774 9.748-2.373 4.125-3.56 8.808-3.56 14.05 0 5.384 1.265 10.18 3.799 14.395 2.53 4.214 6.029 7.516 10.49 9.907 4.462 2.39 9.562 3.585 15.299 3.585 3.577 0 7.285-.602 11.128-1.807 3.842-1.204 7.693-3.416 11.554-6.64l-5.154-6.586c-2.62 2.479-5.523 4.276-8.71 5.392-3.187 1.114-6.215 1.673-9.084 1.673-5.17 0-9.588-1.514-13.253-4.54-3.665-3.03-5.94-6.9-6.826-11.61h45.045v-3.557c0-5.347-1.151-10.094-3.453-14.236-2.302-4.144-5.471-7.401-9.508-9.775-4.038-2.37-8.675-3.559-13.917-3.559zm148.248 0c-5.312 0-10.047 1.194-14.208 3.585-4.162 2.391-7.438 5.667-9.829 9.828-2.389 4.16-3.584 8.897-3.584 14.208 0 5.313 1.195 10.05 3.584 14.21 2.392 4.162 5.667 7.437 9.83 9.828 4.16 2.39 8.895 3.585 14.207 3.585 5.311 0 10.048-1.194 14.21-3.585 4.16-2.391 7.435-5.666 9.826-9.827 2.391-4.161 3.586-8.898 3.586-14.211 0-5.311-1.195-10.047-3.586-14.208-2.39-4.161-5.666-7.437-9.827-9.828-4.16-2.391-8.898-3.585-14.209-3.585zM485.09 91.464c3.576 0 6.764.85 9.56 2.552 2.799 1.699 5.004 4.029 6.614 6.983 1.612 2.958 2.417 6.332 2.417 10.12 0 3.754-.805 7.118-2.417 10.093-1.61 2.975-3.815 5.311-6.613 7.012-2.797 1.7-5.985 2.549-9.561 2.549-3.577 0-6.765-.85-9.562-2.549-2.798-1.7-5.002-4.037-6.612-7.012-1.613-2.975-2.418-6.339-2.418-10.093 0-3.788.805-7.162 2.418-10.12 1.61-2.954 3.814-5.284 6.612-6.983 2.797-1.701 5.985-2.552 9.562-2.552zm-68.26.001c3.578 0 6.766.85 9.562 2.55 2.798 1.7 5.002 4.029 6.614 6.985 1.61 2.957 2.416 6.331 2.416 10.118 0 3.754-.806 7.118-2.416 10.093-1.612 2.975-3.816 5.313-6.614 7.012-2.796 1.701-5.984 2.55-9.562 2.55-3.577 0-6.764-.849-9.56-2.55-2.798-1.7-5.003-4.037-6.614-7.012-1.611-2.975-2.417-6.339-2.417-10.093 0-3.787.806-7.16 2.417-10.118 1.61-2.956 3.816-5.285 6.614-6.986 2.796-1.699 5.983-2.549 9.56-2.549zm-64.114 0c4.638 0 8.57 1.46 11.792 4.384 3.222 2.922 5.222 6.7 6.002 11.34h-36.015c.78-4.567 2.834-8.33 6.163-11.288 3.328-2.956 7.348-4.435 12.058-4.435zm200.366 0c4.638 0 8.568 1.46 11.79 4.384 3.222 2.922 5.224 6.7 6.003 11.34H534.86c.779-4.567 2.833-8.33 6.162-11.288 3.328-2.956 7.348-4.435 12.059-4.435zm148.3 0c3.576 0 6.766.85 9.562 2.55 2.798 1.701 5.002 4.03 6.614 6.986 1.61 2.956 2.416 6.33 2.416 10.118 0 3.754-.806 7.119-2.416 10.094-1.612 2.974-3.816 5.31-6.614 7.011-2.796 1.7-5.986 2.55-9.562 2.55-3.577 0-6.764-.85-9.56-2.55-2.798-1.7-5.004-4.037-6.614-7.011-1.613-2.975-2.417-6.34-2.417-10.094 0-3.789.804-7.162 2.417-10.118 1.61-2.956 3.816-5.285 6.613-6.986 2.797-1.7 5.984-2.55 9.561-2.55z" fill-rule="nonzero" style="fill:#cfcac9;fill-opacity:1"/><path d="m187.345 108.66 9.992-9.992-9.992-9.992 7.517-11.963-11.964-7.518 4.667-13.337-13.336-4.667 1.581-14.04-14.04-1.583-1.583-14.042-14.04 1.582-4.668-13.337-13.336 4.666-7.52-11.963L108.66 9.99 98.67 0l-9.992 9.992-11.964-7.517-7.517 11.963L55.86 9.771l-4.667 13.337-14.041-1.583-1.582 14.041-14.04 1.582 1.581 14.04-13.338 4.668 4.667 13.337L2.475 76.71l7.518 11.966L0 98.668l9.992 9.993-7.517 11.964 11.964 7.517-4.667 13.337 13.338 4.668-1.582 14.039 14.04 1.583 1.583 14.04 14.041-1.581 4.667 13.335 13.336-4.665 7.518 11.964 11.963-7.518 9.992 9.899 9.992-9.896 11.964 7.517 7.517-11.966 13.338 4.668 4.666-13.337 14.042 1.581 1.581-14.041 14.042-1.582-1.583-14.04 13.338-4.668-4.667-13.338 11.964-7.517z" fill="#b51f08" fill-rule="nonzero"/><path d="M167.114 114.463c0-19.312-15.655-34.967-34.967-34.967-9.592 0-18.282 3.865-24.599 10.121l-.004-.004-8.909 8.91-7.285-7.285c-6.409-7.312-15.81-11.934-26.296-11.934-19.313 0-34.968 15.655-34.968 34.967 0 10.092 4.28 19.178 11.117 25.56l57.466 57.435 56.196-56.233c7.022-6.608 12.25-15.934 12.25-26.57" fill="#fdd49a" fill-rule="nonzero"/><path d="m98.635 98.522-7.285-7.284c-6.41-7.312-15.81-11.935-26.297-11.935-19.312 0-34.967 15.656-34.967 34.967 0 10.092 4.28 19.178 11.117 25.56l57.466 57.436" fill="url(#a)" fill-rule="nonzero"/><path d="m98.669 197.266-.034-98.744" fill="none"/><path d="M108.65 187.336a14.075 14.075 0 0 0-10.001-4.157 14.075 14.075 0 0 0-10.002 4.157c.04 5.49 4.502 9.927 10.001 9.927 5.5 0 9.962-4.439 10.003-9.927M86.967 126.87a7.643 7.643 0 1 1-15.287 0 7.643 7.643 0 1 1 15.287 0" fill="#010007" fill-rule="nonzero"/><path d="M84.345 125.724a2.116 2.116 0 0 1-2.118 2.117 2.117 2.117 0 1 1 0-4.236 2.12 2.12 0 0 1 2.118 2.12" fill="#fffffa" fill-rule="nonzero"/><path d="M125.732 126.87a7.644 7.644 0 1 1-15.288 0 7.644 7.644 0 1 1 15.288 0" fill="#010007" fill-rule="nonzero"/><path d="M123.11 125.724c0 1.172-.95 2.117-2.118 2.117a2.117 2.117 0 1 1 0-4.236 2.12 2.12 0 0 1 2.118 2.12" fill="#fffffa" fill-rule="nonzero"/><defs><linearGradient id="a" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-64.537 160.23 25.078) scale(61.7694)"><stop offset="0" stop-color="#fdd49a"/><stop offset="1" stop-color="#dca055"/></linearGradient></defs></svg>
\ No newline at end of file diff --git a/docs/content/images/logo.svg b/docs/content/images/logo.svg index 8e4071ea..c2b5ef43 100644 --- a/docs/content/images/logo.svg +++ b/docs/content/images/logo.svg @@ -1 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" width="1564" height="1564" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1" d="M781.965 0l-79.182 79.19-94.818-59.575-59.574 94.81-105.7-36.99-36.982 105.7-111.283-12.54-12.535 111.276-111.278 12.535 12.541 111.278-105.71 36.988 36.984 105.695-94.815 59.574 59.582 94.832L0 781.961l79.19 79.2-59.577 94.823 94.815 59.573-36.985 105.695 105.707 36.99-12.537 111.264 111.278 12.543 12.535 111.275 111.283-12.535 36.982 105.686 105.694-36.97 59.582 94.821 94.9-59.64 79.096 78.36 79.1-78.343 94.908 59.631 59.572-94.824 105.707 36.988 36.98-105.697 111.284 12.533 12.533-111.283 111.285-12.533-12.543-111.276 105.705-36.99-36.988-105.705 94.814-59.574-59.574-94.813 79.19-79.2-79.188-79.18 59.572-94.813-94.814-59.578 36.99-105.703-105.7-36.983 12.534-111.281-111.275-12.535-12.543-111.283-111.274 12.535-36.99-105.703-105.69 36.986-59.591-94.815-94.82 59.579zm0 77.785l71.305 71.307 85.394-53.656 53.666 85.384 95.172-33.302 33.31 95.185 100.206-11.289 11.296 100.217 100.205 11.289-11.287 100.213 95.182 33.3-33.309 95.188 85.385 53.654-53.648 85.381 71.312 71.309-71.31 71.318 11.666 18.569 41.978 66.812-85.383 53.647 33.311 95.193-95.195 33.31 11.297 100.205-100.215 11.288-11.287 100.216-100.215-11.287-33.301 95.182-95.193-33.31-53.649 85.394-85.289-53.588-18.094 17.922a106.956 106.956 0 0121.871 16.893c-.309 41.33-33.914 74.76-75.33 74.76-41.417 0-75.016-33.42-75.324-74.76a106.994 106.994 0 0122.069-17.01l-17.997-17.828-85.293 53.601-53.65-85.38-95.18 33.29-33.302-95.175-100.217 11.287-11.287-100.205-100.21-11.297 11.29-100.197-95.194-33.311 33.307-95.184-85.385-53.646 53.649-85.39-71.31-71.32 71.32-71.312-53.659-85.4 85.385-53.65-33.305-95.18 95.198-33.313-11.293-100.205 100.207-11.289 11.289-100.207 100.215 11.293 33.302-95.183 95.184 33.308 53.648-85.38 85.391 53.65z" color="#000" font-weight="400" font-family="sans-serif" clip-rule="nonzero" overflow="visible" fill="#fff" fill-rule="nonzero"/><path d="M528.81 636.127c-145.441 0-263.341 117.905-263.341 263.342 0 76 32.23 144.43 83.72 192.49l357.635 357.443c19.257-19.156 45.746-30.984 74.996-30.984 29.295 0 55.839 11.871 75.1 31.09l348.266-348.49c52.88-49.77 92.25-120 92.25-200.1 0-145.437-117.9-263.34-263.34-263.34-72.24 0-137.68 29.112-185.252 76.225l-.033-.035-67.096 67.101-54.863-54.863c-48.267-55.067-119.07-89.88-198.041-89.88zm107.461 300.662c31.804 0 57.57 25.77 57.57 57.57s-25.766 57.569-57.57 57.569c-31.787 0-57.558-25.769-57.558-57.569 0-31.8 25.771-57.57 57.558-57.57zm291.944 0c31.8 0 57.57 25.77 57.57 57.57s-25.77 57.569-57.57 57.569c-31.79 0-57.567-25.769-57.567-57.569 0-31.8 25.777-57.57 57.567-57.57zm-146.27 587.695l.024.023.023-.023h-.047z" fill="#fff" fill-rule="nonzero"/><path d="M674.097 985.728c0 8.82-7.146 15.94-15.95 15.94-8.808 0-15.958-7.12-15.958-15.94 0-8.81 7.15-15.96 15.958-15.96 8.804 0 15.95 7.15 15.95 15.96m291.938 0c0 8.82-7.15 15.94-15.95 15.94-8.81 0-15.96-7.12-15.96-15.94 0-8.81 7.15-15.96 15.96-15.96 8.8 0 15.95 7.15 15.95 15.96" fill="#fffffa" fill-rule="nonzero"/></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" width="1564" height="1564" clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1" d="m781.965 0-79.182 79.19-94.818-59.575-59.574 94.81-105.7-36.99-36.982 105.7-111.283-12.54-12.535 111.276-111.278 12.535 12.541 111.278-105.71 36.988 36.984 105.695-94.815 59.574 59.582 94.832L0 781.961l79.19 79.2-59.577 94.823 94.815 59.573-36.985 105.695 105.707 36.99-12.537 111.264 111.278 12.543 12.535 111.275 111.283-12.535 36.982 105.686 105.694-36.97 59.582 94.821 94.9-59.64 79.096 78.36 79.1-78.343 94.908 59.631 59.572-94.824 105.707 36.988 36.98-105.697 111.284 12.533 12.533-111.283 111.285-12.533-12.543-111.276 105.705-36.99-36.988-105.705 94.814-59.574-59.574-94.813 79.19-79.2-79.188-79.18 59.572-94.813-94.814-59.578 36.99-105.703-105.7-36.983 12.534-111.281-111.275-12.535-12.543-111.283-111.274 12.535-36.99-105.703-105.69 36.986-59.591-94.815-94.82 59.579zm0 77.785 71.305 71.307 85.394-53.656 53.666 85.384 95.172-33.302 33.31 95.185 100.206-11.289 11.296 100.217 100.205 11.289-11.287 100.213 95.182 33.3-33.309 95.188 85.385 53.654-53.648 85.381 71.312 71.309-71.31 71.318 11.666 18.569 41.978 66.812-85.383 53.647 33.311 95.193-95.195 33.31 11.297 100.205-100.215 11.288-11.287 100.216-100.215-11.287-33.301 95.182-95.193-33.31-53.649 85.394-85.289-53.588-18.094 17.922a106.956 106.956 0 0 1 21.871 16.893c-.309 41.33-33.914 74.76-75.33 74.76-41.417 0-75.016-33.42-75.324-74.76a106.994 106.994 0 0 1 22.069-17.01l-17.997-17.828-85.293 53.601-53.65-85.38-95.18 33.29-33.302-95.175-100.217 11.287-11.287-100.205-100.21-11.297 11.29-100.197-95.194-33.311 33.307-95.184-85.385-53.646 53.649-85.39-71.31-71.32 71.32-71.312-53.659-85.4 85.385-53.65-33.305-95.18 95.198-33.313-11.293-100.205 100.207-11.289 11.289-100.207 100.215 11.293 33.302-95.183 95.184 33.308 53.648-85.38 85.391 53.65z" color="#000" font-weight="400" font-family="sans-serif" clip-rule="nonzero" overflow="visible" fill="#fff" fill-rule="nonzero"/><path d="M528.81 636.127c-145.441 0-263.341 117.905-263.341 263.342 0 76 32.23 144.43 83.72 192.49l357.635 357.443c19.257-19.156 45.746-30.984 74.996-30.984 29.295 0 55.839 11.871 75.1 31.09l348.266-348.49c52.88-49.77 92.25-120 92.25-200.1 0-145.437-117.9-263.34-263.34-263.34-72.24 0-137.68 29.112-185.252 76.225l-.033-.035-67.096 67.101-54.863-54.863c-48.267-55.067-119.07-89.88-198.041-89.88zm107.461 300.662c31.804 0 57.57 25.77 57.57 57.57s-25.766 57.569-57.57 57.569c-31.787 0-57.558-25.769-57.558-57.569 0-31.8 25.771-57.57 57.558-57.57zm291.944 0c31.8 0 57.57 25.77 57.57 57.57s-25.77 57.569-57.57 57.569c-31.79 0-57.567-25.769-57.567-57.569 0-31.8 25.777-57.57 57.567-57.57zm-146.27 587.695.024.023.023-.023h-.047z" fill="#fff" fill-rule="nonzero"/><path d="M674.097 985.728c0 8.82-7.146 15.94-15.95 15.94-8.808 0-15.958-7.12-15.958-15.94 0-8.81 7.15-15.96 15.958-15.96 8.804 0 15.95 7.15 15.95 15.96m291.938 0c0 8.82-7.15 15.94-15.95 15.94-8.81 0-15.96-7.12-15.96-15.94 0-8.81 7.15-15.96 15.96-15.96 8.8 0 15.95 7.15 15.95 15.96" fill="#fffffa" fill-rule="nonzero"/></svg>
\ No newline at end of file diff --git a/docs/content/index.md b/docs/content/index.md index df961b02..d2ab656c 100644 --- a/docs/content/index.md +++ b/docs/content/index.md @@ -1,6 +1,7 @@ # Welcome to the HedgeDoc Documentation -![HedgeDoc Logo](images/hedgedoc_logo_horizontal.svg) +<img alt="HedgeDoc Logo" title="HedgeDoc Logo" class="light-mode-only" src="images/hedgedoc_logo_black.svg"> +<img alt="HedgeDoc Logo" title="HedgeDoc Logo" class="dark-mode-only" src="images/hedgedoc_logo_white.svg"> HedgeDoc lets you create real-time collaborative markdown notes. You can test-drive it by visiting our [HedgeDoc demo server][hedgedoc-demo]. diff --git a/docs/content/references/hfm.md b/docs/content/references/hfm.md new file mode 100644 index 00000000..14edb2e4 --- /dev/null +++ b/docs/content/references/hfm.md @@ -0,0 +1,116 @@ +# HedgeDoc Flavored Markdown + +HedgeDoc mostly follows the [CommonMark][commonmark] standard. It shares some extensions with the [GFM][gfm] standard, but for historical reasons HedgeDoc does support not exactly GFM, but a bit more in places (and a bit less in other places). + +These tables will tell you what exactly we support in HedgeDoc 1.x (HFM 1) and will support in HedgeDoc 2 (HFM 2). + +**Please keep in mind that HedgeDoc 2 is still in development and not functional yet.** + + +## Typography + + +| Feature | HFM 1 | HFM 2 | CommonMark | GFM | +|---------------|:-----:|:-----:|:-------------------:|:-----------------:| +| bold | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| italic | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| underline | :ballot_box_with_check: | :ballot_box_with_check: | (:ballot_box_with_check: with `<ins>`) | (:ballot_box_with_check: with `<ins>`) | +| strikethrough | :ballot_box_with_check: | :ballot_box_with_check: | (:ballot_box_with_check: with `<del>`) | :ballot_box_with_check: | +| subscript | :ballot_box_with_check: | :ballot_box_with_check: | (:ballot_box_with_check: with `<sub>`) | (:ballot_box_with_check: with `<sub>`) | +| superscript | :ballot_box_with_check: | :ballot_box_with_check: | (:ballot_box_with_check: with `<sup>`) | (:ballot_box_with_check: with `<sup>`) | +| marked | :ballot_box_with_check: | :ballot_box_with_check: | (:ballot_box_with_check: with `<mark>`) | (:ballot_box_with_check: with `<mark>`) | + +## Extended typography features + +| Feature | HFM 1 | HFM 2 | CommonMark | GFM | +|--------------------------------|:-----:|:-----:|:----------:|:---:| +| heading | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| inline code | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| indented code blocks | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| code block with language[^highlight] | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| code block with extra features[^extra-code] | :ballot_box_with_check: | :ballot_box_with_check: | | | +| block quote | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| name tag (`[name=...]`) | (:ballot_box_with_check:)[^in-bq-list] | :ballot_box_with_check: | | | +| time tag (`[time=...]`) | (:ballot_box_with_check:)[^in-bq-list] | :ballot_box_with_check: | | | +| color tag (`[color=...]`) | (:ballot_box_with_check:)[^in-bq-list] | :ballot_box_with_check: | | | +| unorderd list | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| ordered list | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| task list | :ballot_box_with_check: | :ballot_box_with_check: | | :ballot_box_with_check: | +| defition list | :ballot_box_with_check: | :ballot_box_with_check: | | | +| emoji | [Unicode 6.1][unicode-6] | [Unicode 13][unicode-13] | | | +| [ForkAwesome][fa] | :ballot_box_with_check: with `<i class='fa'>` | :ballot_box_with_check: with shortcodes | | | +| LaTeX | :ballot_box_with_check:[^mj] | :ballot_box_with_check:[^kt] | | | + +[^highlight]: Code-blocks with a given language are rendered with syntax-highlighting for the code. +[^extra-code]: Several special "language" keywords can be used for rendering diagrams, charts, etc. +[^in-bq-list]: Use of these tags is only supported within blockquotes or (un)ordered lists. +[^mj]: LaTeX is rendered with [MathJax][mathjax]. +[^kt]: LaTeX is rendered with [KaTeX][katex]. + +## Links & Images + +| Feature | HFM 1 | HFM 2 | CommonMark | GFM | +|-----------------------|:-----:|:-----:|:----------------:|:----------------:| +| link | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| link reference | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| link title | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| autolink with `<>` | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| autolink without `<>` | :ballot_box_with_check: | :ballot_box_with_check: | | :ballot_box_with_check: | +| footnotes | :ballot_box_with_check: | :ballot_box_with_check: | | | +| image | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| image with given size | :ballot_box_with_check: | :ballot_box_with_check: | (:ballot_box_with_check: with `<img>`) | (:ballot_box_with_check: with `<img>`) | +| table of contents | :ballot_box_with_check: | :ballot_box_with_check: | | | + + +## Structural elements + +| Feature | HFM 1 | HFM 2 | CommonMark | GFM | +|-------------------|:------------------------:|:------------------------:|:--------------------:|:--------------------:| +| table | :ballot_box_with_check: | :ballot_box_with_check: | (:ballot_box_with_check: with `<table>`) | :ballot_box_with_check: | +| horizontal line | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | +| collapsable block | (:ballot_box_with_check: with `<details>`) | :ballot_box_with_check: | (:ballot_box_with_check: with `<details>`) | (:ballot_box_with_check: with `<details>`) | +| Alerts | :ballot_box_with_check: | :ballot_box_with_check: | | | + +## Embeddings +HFM1 included support for certain embeddings of external content. These were defined in markdown by the uncommon `{%keyword parameter %}` syntax. + +Instead of this uncommon syntax, HFM2 uses just plain links to external content and creates embeddings for supported providers. + +| Feature | HFM 1 | HFM 2 | CommonMark | GFM | +|--------------------------|:-----:|:------------------:|:----------:|:---:| +| PDF (`{%pdf ... %}`) | :ballot_box_with_check: | removed | | | +| [YouTube][youtube] (`{%youtube ... %}`) | :ballot_box_with_check: | with plain link[^embed] | | | +| [Vimeo][vimeo] (`{%vimeo ... %}`) | :ballot_box_with_check: | with plain link[^embed] | | | +| [Slideshare][slideshare] (`{%slideshare ... %}`) | :ballot_box_with_check: | removed | | | +| [Speakerdeck][speakerdeck] (`{%speakerdeck ... %}`) | :ballot_box_with_check: | removed | | | +| [GitHub Gist][gist] (`{%gist ... %}`) | :ballot_box_with_check: | with plain link[^embed] | | | + +[^embed]: The special syntax is deprecated but will continue to work. However a plain link to the content will generate the same embedding and is preferred. + +## HTML +Besides the basic HTML typography elements (`<p>`, `<a>`, `<b>`, `<ins>`, `<del>`) the following more special HTML elements are supported by some specification. + +| Feature | HedgeDocMark 1 | HedgeDocMark 2 | CommonMark | GFM | +|:-------------:|:--------------:|:--------------:|:----------:|:---:| +| `<title>` | | | :ballot_box_with_check: | | +| `<textarea>` | | :ballot_box_with_check: | :ballot_box_with_check: | | +| `<style>` | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | +| `<xmp>` | | | :ballot_box_with_check: | | +| `<iframe>` | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | +| `<noembed>` | :ballot_box_with_check: | | :ballot_box_with_check: | | +| `<noframes>` | :ballot_box_with_check: | | :ballot_box_with_check: | | +| `<script>` | | | :ballot_box_with_check: | | +| `<plaintext>` | | :ballot_box_with_check: | :ballot_box_with_check: | | + +[fa]: https://forkaweso.me/ +[youtube]: https://www.youtube.com/ +[vimeo]: https://vimeo.com/ +[slideshare]: https://www.slideshare.net/ +[speakerdeck]: https://speakerdeck.com/ +[gist]: https://gist.github.com/ +[mathjax]: https://www.mathjax.org/ +[katex]: https://katex.org/ +[gfm]: https://github.github.com/gfm/ +[commonmark]: https://spec.commonmark.org/ +[unicode-6]: https://unicode.org/versions/Unicode6.1.0/ +[unicode-13]: https://unicode.org/versions/Unicode13.0.0/ diff --git a/docs/content/setup/docker.md b/docs/content/setup/docker.md index f6aeb833..11ff9b02 100644 --- a/docs/content/setup/docker.md +++ b/docs/content/setup/docker.md @@ -1,20 +1,93 @@ # HedgeDoc Docker Image -[![Try in PWD](https://cdn.rawgit.com/play-with-docker/stacks/cff22438/assets/images/button.png)](http://play-with-docker.com?stack=https://github.com/hedgedoc/container/raw/master/docker-compose.yml&stack_name=hedgedoc) +!!! info "Requirements on your server" + - [Git](https://git-scm.com/) + - [Docker](https://docs.docker.com/get-docker/) 17.03.1 or higher + - [Docker Compose](https://docs.docker.com/compose/install/) -## Debian-based version +The official docker images are [available on quay.io](https://quay.io/repository/hedgedoc/hedgedoc). +We currently only support the `amd64` architecture. -[![Docker Repository on Quay](https://quay.io/repository/hedgedoc/hedgedoc/status "Docker Repository on Quay")](https://quay.io/repository/hedgedoc/hedgedoc) -## Alpine-based version +The easiest way to get started with HedgeDoc and Docker is to use the following `docker-compose.yml`: -[![Docker Repository on Quay](https://quay.io/repository/hedgedoc/hedgedoc/status "Docker Repository on Quay")](https://quay.io/repository/hedgedoc/hedgedoc) +!!! warning + This is a minimal example to get started quickly and not intended for production use. -The easiest way to setup HedgeDoc using docker are using the following three commands: +```yaml +version: '3' +services: + database: + image: postgres:9.6-alpine + environment: + - POSTGRES_USER=hedgedoc + - POSTGRES_PASSWORD=password + - POSTGRES_DB=hedgedoc + volumes: + - database:/var/lib/postgresql/data + restart: always + app: + # Make sure to use the latest release from https://hedgedoc.org/latest-release + image: quay.io/hedgedoc/hedgedoc:1.7.2 + environment: + - CMD_DB_URL=postgres://hedgedoc:password@database:5432/hedgedoc + - CMD_DOMAIN=localhost + - CMD_URL_ADDPORT=true + volumes: + - uploads:/hedgedoc/public/uploads + ports: + - "3000:3000" + restart: always + depends_on: + - database +volumes: + database: + uploads: +``` +After executing `docker-compose up`, HedgeDoc should be available at [http://127.0.0.1:3000](http://127.0.0.1:3000). +You can now continue to configure your container with environment variables. +Check out [the configuration docs](/configuration) for more details. + +## Upgrading + +!!! warning + Before you upgrade, **always read the release notes**. + You can find them on our [releases page](https://hedgedoc.org/releases/). + +!!! info "Upgrading to 1.7" + Together with changing the name to "HedgeDoc" the default username, + password and database name have been changed in `docker-compose.yml`. + + In order to migrate the existing database to the new default credentials, run + ```shell + docker-compose exec database createuser --superuser -Uhackmd postgres + docker-compose exec database psql -Upostgres -c "alter role hackmd rename to hedgedoc; alter role hedgedoc with password 'password'; alter database hackmd rename to hedgedoc;" + ``` + before running `docker-compose up`. + +You can upgrade to the latest release by stopping the containers and changing the referenced image version in `docker-compose.yml`. +Then run `docker-compose up` to start HedgeDoc again. + +### Migrating from CodiMD & HackMD + +If you currently use CodiMD or HackMD, you should be able to swap the docker image for ours. +See [the general migration hints](/setup/getting-started/#migrating-from-codimd-hackmd) for compatibility details. + + +## Backup + +If you use a PostgreSQL database, you can leverage this command to create a backup: + +```shell + docker-compose exec database pg_dump hedgedoc -U hedgedoc > backup.sql +``` + + +## Restore + +If you want to restore your PostgreSQL backup, run these commands before starting the application for the first time: -```sh -git clone https://github.com/hedgedoc/container.git hedgedoc-container -cd hedgedoc-container -docker-compose up +```shell +docker-compose up -d database +cat backup.sql | docker exec -i $(docker-compose ps -q database) psql -U hedgedoc ``` -Read more about it in the [container repository](https://github.com/hedgedoc/container). diff --git a/docs/content/setup/getting-started.md b/docs/content/setup/getting-started.md index 41426514..2b1f8653 100644 --- a/docs/content/setup/getting-started.md +++ b/docs/content/setup/getting-started.md @@ -6,5 +6,28 @@ To set up your instance follow these steps: 1. Choose an installation method and follow the instructions 2. [Configure your reverse proxy](https://docs.hedgedoc.org/guides/reverse-proxy/) 3. [Configure HedgeDoc](https://docs.hedgedoc.org/configuration/) +4. If you didn't disable [local accounts](/configuration/#email-local-account), you can use the "Sign In" button to + create an account, login and start using HedgeDoc. -Follow us on <a href="http://social.codimd.org/" target="_blank" rel="noreferer noopener">:fontawesome-brands-mastodon:{: .mastodon }Mastodon</a> or <a href="http://social.codimd.org/twitter" target="_blank" rel="noreferer noopener">:fontawesome-brands-twitter:{: .twitter }Twitter</a> for updates. +Follow us on <a href="https://social.hedgedoc.org/" target="_blank" rel="noreferer noopener">:fontawesome-brands-mastodon:{: .mastodon }Mastodon</a> or <a href="https://social.hedgedoc.org/twitter" target="_blank" rel="noreferer noopener">:fontawesome-brands-twitter:{: .twitter }Twitter</a> for updates. + +## Upgrading HedgeDoc + +HedgeDoc follows [Semantic Versioning](https://semver.org/). +This means that minor and patch releases should not introduce user-facing backwards-incompatible changes. + +You can find more details about upgrading in the instructions of your installation method. + +!!! warning + Before you upgrade, **always read the release notes**. + You can find them on our [releases page](https://hedgedoc.org/releases/). + +## Migrating from CodiMD & HackMD +Migrating from CodiMD <= 1.6.0 or HackMD <= 1.1.0 to HedgeDoc should be safe, +just make sure to read the release notes. +A particular issue that has come up is when handling TLS connections using a reverse proxy. +You must [set the `X-Forwarded-Proto` header correctly](https://docs.hedgedoc.org/guides/reverse-proxy/#reverse-proxy-config). + +Migrating from more recent versions of CodiMD is not guaranteed to work, although some community members +[reported success migrating from CodiMD 2.2](https://community.hedgedoc.org/t/solved-upgrade-from-dockerlized-codimd/271). +If you successfully migrated from other versions, please report your upgrade results in the [community forum](https://community.hedgedoc.org/). diff --git a/docs/content/setup/manual-setup.md b/docs/content/setup/manual-setup.md index 4d03b752..64ad57c5 100644 --- a/docs/content/setup/manual-setup.md +++ b/docs/content/setup/manual-setup.md @@ -1,41 +1,141 @@ # Manual Installation -## Requirements on your server - -- Node.js 10.13 or up -- Database (PostgreSQL, MySQL, MariaDB, SQLite, MSSQL) - The database must use charset `utf8`. This is typically the default in PostgreSQL and SQLite. - In MySQL and MariaDB UTF-8 might need to be set with `alter database <DBNAME> character set utf8 collate utf8_bin;` - Be aware of older MySQL and MariaDB versions which sometimes use shorter representations of UTF-8 than 4 bytes. - This can break if symbols with more bytes are used. - You can use `alter database <DBNAME> character set utf8mb4 COLLATE utf8mb4_unicode_ci` to be on the safe side. -- NPM (and its dependencies, [node-gyp](https://github.com/nodejs/node-gyp#installation)) -- Yarn -- Bash (for the setup script) -- For **building** the HedgeDoc frontend you need a machine with at least **2 GB** RAM. - - Starting with release 1.7 the release tarball includes the frontend, so building it yourself is not necessary. - -## Instructions - -1. Check if you meet the [requirements at the top of this document](#requirements-on-your-server). -2. Download a [release](https://github.com/hedgedoc/hedgedoc/releases) tarball and extract it. - Alternatively, you can use Git to clone the repository and checkout a release, e.g. with `git clone -b 1.7.2 https://github.com/hedgedoc/hedgedoc.git`. -3. Enter the directory and type `bin/setup`, which will install the dependencies and create configs. -4. Modify the file named `config.json` or configure HedgeDoc through environment variables which will overwrite the configs, see docs [here](../configuration.md). -5. **If using the release tarball for 1.7.0 or newer, this step can be skipped.** - Build the frontend bundle by `yarn run build` (use `yarn run dev` if you are in development) -6. It is recommended to start your server manually once: `NODE_ENV=production yarn start`, this way it's easier to see warnings or errors that might occur (leave out `NODE_ENV=production` for development). -7. Run the server as you like (node, forever, pm2, SystemD, Init-Scripts) - -## How to upgrade your installation - -If you are upgrading HedgeDoc from an older version, follow these steps: - -1. Check if you meet the [requirements at the top of this document](#requirements-on-your-server). -2. Verify which version you were running before and take a look at [migrations and breaking changes](../guides/migrations-and-breaking-changes.md) to see if additional steps, or configuration changes are necessary! -3. Fully stop your old HedgeDoc server. -4. `git pull` or unzip a new release in the directory. +!!! info "Requirements on your server" + - Node.js 12 or higher + - Database (PostgreSQL, MySQL, MariaDB, SQLite, MSSQL) + The database must use charset `utf8`. This is typically the default in PostgreSQL and SQLite. + In MySQL and MariaDB UTF-8 might need to be set with `alter database <DBNAME> character set utf8 collate utf8_bin;` + Be aware of older MySQL and MariaDB versions which sometimes use shorter representations of UTF-8 than 4 bytes. + This can break if symbols with more bytes are used. + You can use `alter database <DBNAME> character set utf8mb4 COLLATE utf8mb4_unicode_ci` to be on the safe side. + - NPM (and its dependencies, [node-gyp](https://github.com/nodejs/node-gyp#installation)) + - [Yarn Classic](https://classic.yarnpkg.com) 1.22 or higher (Yarn 2 is currently not supported) + - Bash (for the setup script) + - For **building** the HedgeDoc frontend you need a machine with at least **2 GB** RAM. + - Starting with release 1.7 the release tarball includes the prebuilt frontend, so building it yourself is not necessary. + +1. Check if you meet the [requirements at the top of this document](#manual-installation). +2. Download the [latest release](https://hedgedoc.org/latest-release/) and extract it. + <small>Alternatively, you can use Git to clone the repository and checkout a release, e.g. with `git clone -b 1.7.2 https://github.com/hedgedoc/hedgedoc.git`.</small> +3. Enter the directory and execute `bin/setup`, which will install the dependencies and create example configs. +4. Configure HedgeDoc: To get started, you can use this minimal `config.json`: + ```json + { + "production": { + "db": { + "dialect": "sqlite", + "storage": "./db.hedgedoc.sqlite" + }, + "urlAddPort": true, + "domain": "localhost" + } + } + ``` + It's also possible to use environment variables. + For details, have a look at [the configuration documentation](../configuration.md). +5. *:octicons-light-bulb-16: If you use the release tarball for 1.7.0 or newer, this step can be skipped.* + Build the frontend bundle by running `yarn run build`. +6. Modify the file named `.sequelizerc`, change the value of the variable `url` to your db connection string. For example: + - `postgres://username:password@localhost:5432/hedgedoc` + - `mysql://username:password@localhost:3306/hedgedoc` + - `sqlite:///opt/hedgedoc/hedgedoc.sqlite` (note that you need to use an absolute path to the SQLite file) +7. It is recommended to start your server manually once: + ```shell + NODE_ENV=production yarn start + ``` + This way it's easier to see warnings or errors that might occur. + <small>You can leave out `NODE_ENV=production` for development.</small> +8. If you use the example config, HedgeDoc should now be available at [http://127.0.0.1:3000](http://127.0.0.1:3000). +9. Run the server as you like (node, forever, pm2, systemd, Init-Scripts). + See [below](#systemd-unit-example) for an example using systemd. + +## Upgrading + +!!! warning + Before you upgrade, **always read the release notes**. + You can find them on our [releases page](https://hedgedoc.org/releases/). + +If you want to upgrade HedgeDoc from an older version, follow these steps: + +1. Check if you still meet the [requirements at the top of this document](#requirements-on-your-server). +2. Ensure you read the [release notes](https://hedgedoc.org/releases/) of all versions between your current version + and the latest release. +2. Fully stop your old HedgeDoc server. +3. [Download](https://hedgedoc.org/latest-release/) the new release and extract it over the old directory. + <small>If you use Git, you can check out the new tag with e.g. `git fetch origin && git checkout 1.7.2`</small> 5. Run `bin/setup`. This will take care of installing dependencies. It is safe to run on an existing installation. -6. Build front-end bundle by `yarn run build` (use `yarn run dev` if you are in development). -7. It is recommended to start your server manually once: `NODE_ENV=production yarn start`, this way it's easier to see warnings or errors that might occur (leave out `NODE_ENV=production` for development). +6. *:octicons-light-bulb-16: If you used the release tarball for 1.7.0 or newer, this step can be skipped.* + Build the frontend bundle by running `yarn run build`. +7. It is recommended to start your server manually once: + ```shell + NODE_ENV=production yarn start + ``` + This way it's easier to see warnings or errors that might occur. 8. You can now restart the HedgeDoc server! + +## Systemd Unit Example +Using the unit file below, you can run HedgeDoc as a systemd service. + +!!! warning + - In this example, you must configure HedgeDoc using the `config.json` file and the + `production` key. + - Make sure the user and group `hedgedoc` exists and has appropriate permissions in the + directory you installed HedgeDoc in or change the `User` and `Group` settings in the unit + file. + - Make sure `WorkingDirectory` points to the directory you installed HedgeDoc in. + - Make sure `ReadWritePaths` contains all directories HedgeDoc might write to. This may + include the `public/uploads` folder if you configured local storage. If you use SQLite, you + must also include the directory where the database file is saved. **Do not save the SQLite + file in the root directory of the HedgeDoc installation**, but create a subfolder like `db`! + - If you use an external database like PostgreSQL or MariaDB, make sure to add a corresponding + `After` statement. + +```ini +[Unit] +Description=HedgeDoc - The best platform to write and share markdown. +Documentation=https://docs.hedgedoc.org/ +After=network.target +# Uncomment if you use MariaDB/MySQL +# After=mysql.service +# Uncomment if you use PostgreSQL +# After=postgresql.service + +[Service] +Type=exec +Environment=NODE_ENV=production +Restart=always +RestartSec=2s +ExecStart=/usr/bin/yarn start --production +CapabilityBoundingSet= +NoNewPrivileges=true +PrivateDevices=true +RemoveIPC=true +LockPersonality=true +ProtectControlGroups=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectClock=true +ProtectHostname=true +ProtectProc=noaccess +RestrictRealtime=true +RestrictSUIDSGID=true +RestrictNamespaces=true +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +ProtectSystem=strict +ProtectHome=true +PrivateTmp=true +SystemCallArchitectures=native +SystemCallFilter=@system-service + +# You may have to adjust these settings +User=hedgedoc +Group=hedgedoc +WorkingDirectory=/opt/hedgedoc + +# Example: local storage for uploads and SQLite +# ReadWritePaths=/opt/hedgedoc/public/uploads /opt/hedgedoc/db + +[Install] +WantedBy=multi-user.target +``` diff --git a/docs/content/theme/styles/hedgedoc-custom.css b/docs/content/theme/styles/hedgedoc-custom.css index e3c52757..97baeed5 100644 --- a/docs/content/theme/styles/hedgedoc-custom.css +++ b/docs/content/theme/styles/hedgedoc-custom.css @@ -1,9 +1,41 @@ +[data-md-color-scheme="slate"][data-md-color-primary=hedgedoc] { + --md-hue: 8; + --md-default-fg-color: hsla(var(--md-hue), 20%, 80%, 1); + --md-default-fg-color--light: hsla(var(--md-hue), 20%, 80%, 1); + --md-default-fg-color--lighter: hsla(var(--md-hue), 20%, 80%, 0.5); + --md-default-fg-color--lightest: hsla(var(--md-hue), 20%, 80%, 0.2); + + --md-default-bg-color: hsla(var(--md-hue), 0%, 5%, 1); + --md-default-bg-color--light: hsla(var(--md-hue), 0%, 5%, 0.54); + --md-default-bg-color--lighter: hsla(var(--md-hue), 0%, 5%, 0.26); + --md-default-bg-color--lightest: hsla(var(--md-hue), 0%, 5%, 0.07); + + --md-typeset-color: hsl(var(--md-hue), 5%, 80%); + --md-typeset-a-color: hsl(var(--md-hue), 92%, 67%, 1); + --md-primary-fg-color: hsl(var(--md-hue), 92%, 25%, 1); + --md-table-header-fg-color: var(--md-typeset-color); + --md-table-header-bg-color: hsla(var(--md-hue), 0%, 20%, 1); + + --md-code-fg-color: hsla(var(--md-hue),0%,86%,1); + --md-code-bg-color: hsla(var(--md-hue),0%,15%,1); +} + +[data-md-color-primary=hedgedoc] .md-typeset table:not([class]) th { + background-color: var(--md-table-header-bg-color); + color: var(--md-table-header-fg-color); +} + [data-md-color-primary=hedgedoc] { - --md-primary-fg-color: #b51f08; - --md-primary-fg-color--light: #b51f08; - --md-primary-fg-color--dark: #b51f08; - --md-primary-bg-color: hsla(0, 0%, 100%, 1); - --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7); + --md-hue: 8; + --md-primary-fg-color: hsl(var(--md-hue), 92%, 37%, 1); + --md-primary-fg-color--dark: var(--md-primary-fg-color); + --md-primary-fg-color--light: var(--md-primary-fg-color); + --md-primary-bg-color: hsla(0, 15%, 100%, 1); + --md-footer-bg-color: hsla(var(--md-hue), 0%, 12%, 1); + --md-footer-bg-color--dark: hsla(var(--md-hue), 0%, 16%, 1); + + --md-table-header-fg-color: var(--md-default-bg-color); + --md-table-header-bg-color: var(--md-default-fg-color--light); } [data-md-color-accent=hedgedoc] { @@ -24,3 +56,11 @@ .mastodon { color: #2b90d9; } + +[data-md-color-scheme="slate"] .light-mode-only { + display: none; +} + +[data-md-color-scheme="light"] .dark-mode-only { + display: none; +} diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 41e80659..f78479d5 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -36,10 +36,11 @@ nav: - MinIO: guides/minio-image-upload.md - S3: guides/s3-image-upload.md - Migrate from Etherpad: guides/migrate-etherpad.md - - Breaking Changes: guides/migrations-and-breaking-changes.md - Migration Troubleshooting: guides/migration-troubleshooting.md - Terms of Use Setup: guides/providing-terms.md - Configuration: configuration.md + - References: + - 'HedgeDoc Flavored Markdown': references/hfm.md - Developer: - 'Getting Started': dev/getting-started.md - API: dev/api.md @@ -57,15 +58,29 @@ markdown_extensions: emoji_index: !!python/name:materialx.emoji.twemoji emoji_generator: !!python/name:materialx.emoji.to_svg - attr_list + - footnotes + - admonition theme: name: 'material' language: en favicon: images/favicon.png logo: images/logo.svg palette: - scheme: light - primary: 'hedgedoc' - accent: 'hedgedoc' + - media: "(prefers-color-scheme: light)" + scheme: light + primary: 'hedgedoc' + accent: 'hedgedoc' + toggle: + icon: material/lightbulb-outline + name: Switch to dark mode + # Dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: 'hedgedoc' + accent: 'hedgedoc' + toggle: + icon: material/lightbulb + name: Switch to light mode features: - navigation.tabs - navigation.sections diff --git a/docs/requirements.txt b/docs/requirements.txt index 805e00cc..2d82f6a7 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,4 +1,4 @@ mkdocs==1.1.2 -mkdocs-material==7.0.6 +mkdocs-material==7.1.3 pymdown-extensions==8.1.1 mdx_truly_sane_lists==1.2 diff --git a/lib/config/index.js b/lib/config/index.js index 17c13f5f..48e61b6c 100644 --- a/lib/config/index.js +++ b/lib/config/index.js @@ -179,7 +179,6 @@ switch (config.imageUploadType) { config.allowedUploadMimeTypes = [ 'image/jpeg', 'image/png', - 'image/jpg', 'image/gif' ] break @@ -187,7 +186,6 @@ switch (config.imageUploadType) { config.allowedUploadMimeTypes = [ 'image/jpeg', 'image/png', - 'image/jpg', 'image/gif', 'image/svg+xml' ] @@ -5,7 +5,7 @@ const CspStrategy = {} const defaultDirectives = { defaultSrc: ['\'self\''], - scriptSrc: ['\'self\'', 'vimeo.com', 'https://gist.github.com', 'www.slideshare.net', 'https://query.yahooapis.com', '\'unsafe-eval\''], + scriptSrc: ['\'self\'', 'vimeo.com', 'https://gist.github.com', 'www.slideshare.net', '\'unsafe-eval\''], // ^ TODO: Remove unsafe-eval - webpack script-loader issues https://github.com/hackmdio/codimd/issues/594 imgSrc: ['*'], styleSrc: ['\'self\'', '\'unsafe-inline\'', 'https://github.githubassets.com'], // unsafe-inline is required for some libs, plus used in views diff --git a/lib/errors.js b/lib/errors.js index 950b4cae..599f54b2 100644 --- a/lib/errors.js +++ b/lib/errors.js @@ -20,6 +20,9 @@ module.exports = { errorBadRequest: function (res) { responseError(res, '400', 'Bad Request', 'something not right.') }, + errorConflict: function (res) { + responseError(res, '409', 'Conflict', 'This note already exists.') + }, errorTooLong: function (res) { responseError(res, '413', 'Payload Too Large', 'Shorten your note!') }, diff --git a/lib/prometheus.js b/lib/prometheus.js new file mode 100644 index 00000000..1ffb9ad7 --- /dev/null +++ b/lib/prometheus.js @@ -0,0 +1,49 @@ +const promClient = require('prom-client') +const realtime = require('./realtime') + +exports.setupCustomPrometheusMetrics = function () { + const onlineNotes = new promClient.Gauge({ + name: 'hedgedoc_online_notes', + help: 'Notes currently being edited' + }) + const onlineSessions = new promClient.Gauge({ + name: 'hedgedoc_online_sessions', + help: 'Sessions currently editing notes', + labelNames: ['type'] + }) + const onlineUsers = new promClient.Gauge({ + name: 'hedgedoc_online_users', + help: 'Distinct users currently editing notes', + labelNames: ['type'] + }) + const notesCount = new promClient.Gauge({ + name: 'hedgedoc_notes', + help: 'Notes in the instance' + }) + const registeredUsers = new promClient.Gauge({ + name: 'hedgedoc_registered_users', + help: 'Users that registered in the instance' + }) + const isConnectionBusy = new promClient.Gauge({ + name: 'hedgedoc_connection_busy', + help: 'Indicates that realtime currently connecting' + }) + const connectionSocketQueueLength = new promClient.Gauge({ + name: 'hedgedoc_connection_socket_queue_length', + help: 'Length of connection socket queue', + // The last gauge provides the collect callback for all metrics + collect () { + realtime.getStatus(function (data) { + onlineNotes.set(data.onlineNotes) + onlineSessions.set({ type: 'all' }, data.onlineUsers) + onlineSessions.set({ type: 'signed-in' }, data.onlineRegisteredUsers) + onlineUsers.set({ type: 'all' }, data.distinctOnlineUsers) + onlineUsers.set({ type: 'signed-in' }, data.distinctOnlineRegisteredUsers) + notesCount.set(data.notesCount) + registeredUsers.set(data.registeredUsers) + isConnectionBusy.set(data.isConnectionBusy ? 1 : 0) + connectionSocketQueueLength.set(data.connectionSocketQueueLength) + }) + } + }) +} diff --git a/lib/web/imageRouter/imgur.js b/lib/web/imageRouter/imgur.js index dcb03a7a..ed0e1182 100644 --- a/lib/web/imageRouter/imgur.js +++ b/lib/web/imageRouter/imgur.js @@ -1,8 +1,8 @@ 'use strict' const config = require('../../config') const logger = require('../../logger') - -const imgur = require('imgur') +const fs = require('fs') +const fetch = require('node-fetch') exports.uploadImage = function (imagePath, callback) { if (!callback || typeof callback !== 'function') { @@ -15,12 +15,30 @@ exports.uploadImage = function (imagePath, callback) { return } - imgur.setClientId(config.imgur.clientID) - imgur.uploadFile(imagePath) - .then(function (json) { + // The following client ID is for use with HedgeDoc only + const clientId = config.imgur.clientID || '032aa2f687790cd' + + const buffer = fs.readFileSync(imagePath) + + const params = new URLSearchParams() + params.append('image', buffer.toString('base64')) + params.append('type', 'base64') + fetch('https://api.imgur.com/3/image', { + method: 'POST', + body: params, + headers: { Authorization: `Client-ID ${clientId}` } + }) + .then((res) => { + if (!res.ok) { + callback(new Error(res.statusText), null) + return + } + return res.json() + }) + .then((json) => { logger.debug(`SERVER uploadimage success: ${JSON.stringify(json)}`) callback(null, json.data.link.replace(/^http:\/\//i, 'https://')) - }).catch(function (err) { + }).catch((err) => { callback(new Error(err), null) }) } diff --git a/lib/web/imageRouter/index.js b/lib/web/imageRouter/index.js index 0a72c65c..ee123867 100644 --- a/lib/web/imageRouter/index.js +++ b/lib/web/imageRouter/index.js @@ -7,6 +7,7 @@ const FileType = require('file-type') const fs = require('fs') const os = require('os') const rimraf = require('rimraf') +const isSvg = require('is-svg') const config = require('../../config') const logger = require('../../logger') @@ -15,12 +16,26 @@ const errors = require('../../errors') const imageRouter = (module.exports = Router()) async function checkUploadType (filePath) { - const typeFromMagic = await FileType.fromFile(filePath) + const extension = path.extname(filePath).toLowerCase() + let typeFromMagic = await FileType.fromFile(filePath) + if (extension === '.svg' && (typeFromMagic === undefined || typeFromMagic.mime === 'application/xml')) { + const fileContent = fs.readFileSync(filePath) + if (isSvg(fileContent)) { + typeFromMagic = { + ext: 'svg', + mime: 'image/svg+xml' + } + } + } if (typeFromMagic === undefined) { logger.error('Image upload error: Could not determine MIME-type') return false } - if (path.extname(filePath) !== '.' + typeFromMagic.ext) { + // .jpeg, .jfif, .jpe files are identified by FileType to have the extension jpg + if (['.jpeg', '.jfif', '.jpe'].includes(extension) && typeFromMagic.ext === 'jpg') { + typeFromMagic.ext = extension.substr(1) + } + if (extension !== '.' + typeFromMagic.ext) { logger.error( 'Image upload error: Provided file extension does not match MIME-type' ) diff --git a/lib/web/note/util.js b/lib/web/note/util.js index effeb41c..5df1e820 100644 --- a/lib/web/note/util.js +++ b/lib/web/note/util.js @@ -46,7 +46,7 @@ exports.checkViewPermission = function (req, note) { } } -exports.newNote = function (req, res, body) { +exports.newNote = async function (req, res, body) { let owner = null const noteId = req.params.noteId ? req.params.noteId : null if (req.isAuthenticated()) { @@ -60,6 +60,19 @@ exports.newNote = function (req, res, body) { } else { return req.method === 'POST' ? errors.errorForbidden(res) : errors.errorNotFound(res) } + try { + const count = await models.Note.count({ + where: { + alias: req.alias + } + }) + if (count > 0) { + return errors.errorConflict(res) + } + } catch (err) { + logger.error('Error while checking for possible duplicate: ' + err) + return errors.errorInternalError(res) + } } models.Note.create({ ownerId: owner, @@ -69,7 +82,7 @@ exports.newNote = function (req, res, body) { }).then(function (note) { return res.redirect(config.serverURL + '/' + (note.alias ? note.alias : models.Note.encodeNoteId(note.id))) }).catch(function (err) { - logger.error(err) + logger.error('Note could not be created: ' + err) return errors.errorInternalError(res) }) } diff --git a/package.json b/package.json index 9a138cf8..3fe38654 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "Idle.Js": "git+https://github.com/shawnmclean/Idle.js", "archiver": "^5.0.2", "async": "^3.0.0", - "aws-sdk": "^2.521.0", + "aws-sdk": "^2.888.0", "azure-storage": "^2.7.0", "base64url": "^3.0.0", "body-parser": "^1.15.2", @@ -50,11 +50,11 @@ "gist-embed": "^2.6.0", "graceful-fs": "^4.1.11", "handlebars": "^4.5.2", - "helmet": "^4.0.0", + "helmet": "^4.5.0", "highlight.js": "^10.0.0", "i18n": "^0.13.0", - "imgur": "git+https://github.com/hackmdio/node-imgur.git", "ionicons": "^2.0.1", + "is-svg": "^4.3.1", "jquery": "^3.5.1", "jquery-mousewheel": "^3.1.13", "jquery-ui": "^1.12.1", @@ -108,6 +108,8 @@ "pg": "^8.2.1", "pg-hstore": "^2.3.3", "prismjs": "^1.21.0", + "prom-client": "^13.1.0", + "prometheus-api-metrics": "^3.2.0", "randomcolor": "^0.6.0", "raphael": "^2.3.0", "readline-sync": "^1.4.7", @@ -134,7 +136,7 @@ "visibilityjs": "^2.0.0", "viz.js": "^1.7.0", "winston": "^3.1.0", - "ws": "^7.0.0", + "ws": "^7.4.4", "wurl": "^2.5.3", "xss": "^1.0.3" }, @@ -144,7 +146,7 @@ "**/request": "^2.88.0" }, "engines": { - "node": ">=10.13" + "node": ">=12" }, "bugs": "https://github.com/hedgedoc/hedgedoc/issues", "keywords": [ @@ -177,12 +179,12 @@ "babel-preset-env": "1.7.0", "babel-runtime": "6.26.0", "copy-webpack-plugin": "6.4.1", - "css-loader": "5.1.3", - "eslint": "7.22.0", + "css-loader": "5.2.4", + "eslint": "7.25.0", "eslint-config-standard": "16.0.2", "eslint-plugin-import": "2.22.1", "eslint-plugin-node": "11.1.0", - "eslint-plugin-promise": "4.3.1", + "eslint-plugin-promise": "5.1.0", "eslint-plugin-standard": "4.1.0", "expose-loader": "1.0.3", "file-loader": "6.2.0", @@ -191,7 +193,7 @@ "jsonlint": "1.6.3", "less": "4.1.1", "less-loader": "7.3.0", - "mini-css-extract-plugin": "1.3.9", + "mini-css-extract-plugin": "1.5.0", "mocha": "8.3.2", "mock-require": "3.0.3", "optimize-css-assets-webpack-plugin": "5.0.4", @@ -201,7 +203,7 @@ "string-loader": "0.0.1", "url-loader": "4.1.1", "webpack": "4.46.0", - "webpack-cli": "4.5.0", + "webpack-cli": "4.6.0", "webpack-merge": "5.7.3" }, "optionalDependencies": { diff --git a/public/docs/features.md b/public/docs/features.md index 6c16b265..5e53ed13 100644 --- a/public/docs/features.md +++ b/public/docs/features.md @@ -1,3 +1,6 @@ +--- +tags: features, cool, updated +--- # Features ## Introduction @@ -125,9 +128,13 @@ The first **level 1 heading** (e.g. `# Title`) will be used as the note title. ### Tags -Using tags as follows, the specified tags will show in your **history**. +Tags can be specified with [YAML metadata](./yaml-metadata#tags) at the **start** of the note. Those tags will show in your **history**. -#### tags: `features` `cool` `updated` +```yml +--- +tags: features, cool, updated +--- +``` ### [YAML Metadata](./yaml-metadata) diff --git a/public/docs/release-notes.md b/public/docs/release-notes.md index b12644a2..26257541 100644 --- a/public/docs/release-notes.md +++ b/public/docs/release-notes.md @@ -1,9 +1,18 @@ # Release Notes ## <i class="fa fa-tag"></i> 1.8.0 <i class="fa fa-calendar-o"></i> UNRELEASED + +**Please note:** This release dropped support for Node 10, which is end-of-life since April 2021. You now need at least Node 12 to run HedgeDoc, but we recommend running [the latest LTS release](https://nodejs.org/en/about/releases/). + ### Features - Database migrations are now automatically applied on application startup. The separate `.sequelizerc` configuration file is no longer necessary and can be safely deleted. +- A Prometheus-endpoint is now available at `/metrics`, exposing the same stats as `/status` + in addition to various Node.js performance figures. +### Enhancements +- Removed dependency on external imgur library + + ## <i class="fa fa-tag"></i> 1.7.2 <i class="fa fa-calendar-o"></i> 2021-01-15 This release fixes a security issue. We recommend upgrading as soon as possible. ### Security Fixes @@ -10,9 +10,9 @@ tslib "^2.0.0" "@azure/core-auth@^1.1.4": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.2.0.tgz#a5a181164e99f8446a3ccf9039345ddc9bb63bb9" - integrity sha512-KUl+Nwn/Sm6Lw5d3U90m1jZfNSL087SPcqHLxwn2T6PupNKmcgsEbDjHB25gDvHO4h7pBsTlrdJAY7dz+Qk8GA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.3.0.tgz#0d55517cf0650aefe755669aca8a2f3724fcf536" + integrity sha512-kSDSZBL6c0CYdhb+7KuutnKGf2geeT+bCJAgccB0DD7wmNJSsQPcF7TcuoZX83B7VK4tLz/u+8sOO/CnCsYp8A== dependencies: "@azure/abort-controller" "^1.0.0" tslib "^2.0.0" @@ -154,16 +154,72 @@ resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.1.1.tgz#f0d92c12f87079ddfd1b29f614758b9696bc29e3" integrity sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w== +"@types/accepts@*": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" + integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== + dependencies: + "@types/node" "*" + "@types/anymatch@*": version "1.3.1" resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== +"@types/body-parser@*": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.34" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" + integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== + dependencies: + "@types/node" "*" + +"@types/content-disposition@*": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.3.tgz#0aa116701955c2faa0717fc69cd1596095e49d96" + integrity sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg== + +"@types/cookies@*": + version "0.7.6" + resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.6.tgz#71212c5391a976d3bae57d4b09fac20fc6bda504" + integrity sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w== + dependencies: + "@types/connect" "*" + "@types/express" "*" + "@types/keygrip" "*" + "@types/node" "*" + "@types/debug@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== +"@types/express-serve-static-core@^4.17.12", "@types/express-serve-static-core@^4.17.18": + version "4.17.19" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d" + integrity sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*", "@types/express@^4.17.8": + version "4.17.11" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.11.tgz#debe3caa6f8e5fcda96b47bd54e2f40c4ee59545" + integrity sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + "@types/geojson@^7946.0.7": version "7946.0.7" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad" @@ -174,6 +230,16 @@ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== +"@types/http-assert@*": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b" + integrity sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ== + +"@types/http-errors@*": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.0.tgz#682477dbbbd07cd032731cb3b0e7eaee3d026b69" + integrity sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA== + "@types/json-schema@^7.0.6": version "7.0.7" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" @@ -184,10 +250,36 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/keygrip@*": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.2.tgz#513abfd256d7ad0bf1ee1873606317b33b1b2a72" + integrity sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw== + +"@types/koa-compose@*": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.5.tgz#85eb2e80ac50be95f37ccf8c407c09bbe3468e9d" + integrity sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ== + dependencies: + "@types/koa" "*" + +"@types/koa@*", "@types/koa@^2.11.4": + version "2.13.1" + resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.13.1.tgz#e29877a6b5ad3744ab1024f6ec75b8cbf6ec45db" + integrity sha512-Qbno7FWom9nNqu0yHZ6A0+RWt4mrYBhw3wpBAQ3+IuzGcLlfeYkzZrnMq5wsxulN2np8M4KKeUpTodsOsSad5Q== + dependencies: + "@types/accepts" "*" + "@types/content-disposition" "*" + "@types/cookies" "*" + "@types/http-assert" "*" + "@types/http-errors" "*" + "@types/keygrip" "*" + "@types/koa-compose" "*" + "@types/node" "*" + "@types/ldapjs@^1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.9.tgz#1224192d14cc5ab5218fcea72ebb04489c52cb95" - integrity sha512-3PvY7Drp1zoLbcGlothCAkoc5o6Jp9KvUPwHadlHyKp3yPvyeIh7w2zQc9UXMzgDRkoeGXUEODtbEs5XCh9ZyA== + version "1.0.10" + resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.10.tgz#bac705c9e154b97d69496b5213cc28dbe9715a37" + integrity sha512-AMkMxkK/wjYtWebNH2O+rARfo7scBpW3T23g6zmGCwDgbyDbR79XWpcSqhPWdU+fChaF+I3dVyl9X2dT1CyI9w== dependencies: "@types/node" "*" @@ -198,15 +290,20 @@ dependencies: "@types/unist" "*" +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + "@types/node@*", "@types/node@^14.14.28": - version "14.14.34" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.34.tgz#07935194fc049069a1c56c0c274265abeddf88da" - integrity sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA== + version "14.14.41" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615" + integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g== "@types/node@^12.12.17": - version "12.20.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.5.tgz#4ca82a766f05c359fd6c77505007e5a272f4bb9b" - integrity sha512-5Oy7tYZnu3a4pnJ//d4yVvOImExl4Vtwf0D40iKUlU+XlUsyV9iyFWyCFlwy489b72FMAik/EFwRkNLjjOdSPg== + version "12.20.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.10.tgz#4dcb8a85a8f1211acafb88d72fafc7e3d2685583" + integrity sha512-TxCmnSSppKBBOzYzPR2BR25YlX5Oay8z2XGwFBInuA/Co0V9xJhLlW4kjbxKtgeNo3NOMbQP1A5Rc03y+XecPw== "@types/node@^8.0.47": version "8.10.66" @@ -218,6 +315,16 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== +"@types/qs@*": + version "6.9.6" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1" + integrity sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA== + +"@types/range-parser@*": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + "@types/readable-stream@^2.3.5", "@types/readable-stream@^2.3.9": version "2.3.9" resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.9.tgz#40a8349e6ace3afd2dd1b6d8e9b02945de4566a9" @@ -226,15 +333,23 @@ "@types/node" "*" safe-buffer "*" +"@types/serve-static@*": + version "1.13.9" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" + integrity sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + "@types/source-list-map@*": version "0.1.2" resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== -"@types/tapable@*", "@types/tapable@^1.0.5": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" - integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== +"@types/tapable@^1", "@types/tapable@^1.0.5": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4" + integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ== "@types/uglify-js@*": version "3.13.0" @@ -258,13 +373,13 @@ source-map "^0.7.3" "@types/webpack@^4.41.8": - version "4.41.26" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef" - integrity sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA== + version "4.41.27" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.27.tgz#f47da488c8037e7f1b2dbf2714fbbacb61ec0ffc" + integrity sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA== dependencies: "@types/anymatch" "*" "@types/node" "*" - "@types/tapable" "*" + "@types/tapable" "^1" "@types/uglify-js" "*" "@types/webpack-sources" "*" source-map "^0.6.0" @@ -419,22 +534,22 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.1.tgz#241aecfbdc715eee96bed447ed402e12ec171935" - integrity sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ== +"@webpack-cli/configtest@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.2.tgz#2a20812bfb3a2ebb0b27ee26a52eeb3e3f000836" + integrity sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA== -"@webpack-cli/info@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.2.tgz#ef3c0cd947a1fa083e174a59cb74e0b6195c236c" - integrity sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ== +"@webpack-cli/info@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.3.tgz#ef819d10ace2976b6d134c7c823a3e79ee31a92c" + integrity sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.0.tgz#2730c770f5f1f132767c63dcaaa4ec28f8c56a6c" - integrity sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw== +"@webpack-cli/serve@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.1.tgz#911d1b3ff4a843304b9c3bacf67bb34672418441" + integrity sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -536,10 +651,10 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^7.0.2: - version "7.2.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.2.1.tgz#a5ac226171912447683524fa2f1248fcf8bac83d" - integrity sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ== +ajv@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.1.0.tgz#45d5d3d36c7cdd808930cc3e603cf6200dbeb736" + integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -617,9 +732,9 @@ anymatch@^2.0.0: normalize-path "^2.1.1" anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -750,11 +865,6 @@ arraybuffer.slice@~0.0.7: resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - asn1.js@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" @@ -832,10 +942,10 @@ available-typed-arrays@^1.0.2: dependencies: array-filter "^1.0.0" -aws-sdk@^2.521.0: - version "2.863.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.863.0.tgz#602d244a947ce31c8d84de73f9a5b74e7cb95f5b" - integrity sha512-krr0047EOl9qpRdhPoyYxI7+viVUpX+t+Vjbf+alXdOE172DC+hFi8y6egIM1xVV4KkMFm0y0EykBWgA93XNNA== +aws-sdk@^2.888.0: + version "2.891.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.891.0.tgz#02cc2cc6adb94e0d471a5be6dd5668d0c5aacd9e" + integrity sha512-st6bKbmA1iWyAz9Fn7CHHNVk/6d51aemPBNpg5sK0kkOSYEob/pCAVSLiN1tGVX6qvjtD41ljeeJDQ3pwRTJfA== dependencies: buffer "4.9.2" events "1.1.1" @@ -1457,9 +1567,9 @@ bail@^1.0.0: integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-arraybuffer@0.1.4: version "0.1.4" @@ -1535,6 +1645,11 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bintrees@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.1.tgz#0e655c9b9c2435eaab68bf4027226d2b55a34524" + integrity sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ= + bl@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.1.tgz#1cbb439299609e419b5a74d7fce2f8b37d8e5c6f" @@ -1741,15 +1856,15 @@ browserslist@^3.2.6: electron-to-chromium "^1.3.47" browserslist@^4.0.0: - version "4.16.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" - integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== + version "4.16.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.5.tgz#952825440bca8913c62d0021334cbe928ef062ae" + integrity sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A== dependencies: - caniuse-lite "^1.0.30001181" - colorette "^1.2.1" - electron-to-chromium "^1.3.649" + caniuse-lite "^1.0.30001214" + colorette "^1.2.2" + electron-to-chromium "^1.3.719" escalade "^3.1.1" - node-releases "^1.1.70" + node-releases "^1.1.71" buffer-crc32@^0.2.1, buffer-crc32@^0.2.13: version "0.2.13" @@ -1837,9 +1952,9 @@ cacache@^12.0.2: y18n "^4.0.0" cacache@^15.0.5: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== + version "15.0.6" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.6.tgz#65a8c580fda15b59150fb76bf3f3a8e45d583099" + integrity sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w== dependencies: "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" @@ -1855,7 +1970,7 @@ cacache@^15.0.5: p-map "^4.0.0" promise-inflight "^1.0.1" rimraf "^3.0.2" - ssri "^8.0.0" + ssri "^8.0.1" tar "^6.0.2" unique-filename "^1.1.1" @@ -1942,10 +2057,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001181: - version "1.0.30001199" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001199.tgz#062afccaad21023e2e647d767bac4274b8b8fd7f" - integrity sha512-ifbK2eChUCFUwGhlEzIoVwzFt1+iriSjyKKFYNfv6hN34483wyWpLLavYQXhnR036LhkdUYaSDpHg1El++VgHQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001214: + version "1.0.30001214" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001214.tgz#70f153c78223515c6d37a9fde6cd69250da9d872" + integrity sha512-O2/SCpuaU3eASWVaesQirZv1MSjUNOvmugaD8zNSJqw6Vv5SGwoOpA9LJs3pNPfM745nxqPvfZY3MQKY4AKHYg== caseless@~0.12.0: version "0.12.0" @@ -1981,9 +2096,9 @@ chalk@^3.0.0: supports-color "^7.1.0" chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -2100,11 +2215,9 @@ chownr@^2.0.0: integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" @@ -2275,7 +2388,7 @@ combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2, commander@^2.11.0, commander@^2.13.0, commander@^2.19.0, commander@^2.20.0, commander@^2.20.3: +commander@2, commander@^2.11.0, commander@^2.19.0, commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2286,9 +2399,9 @@ commander@^4.1.1: integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff" - integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commondir@^1.0.1: version "1.0.1" @@ -2602,23 +2715,22 @@ css-declaration-sorter@^4.0.1: postcss "^7.0.1" timsort "^0.3.0" -css-loader@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.1.3.tgz#87f6fc96816b20debe3cf682f85c7e56a963d0d1" - integrity sha512-CoPZvyh8sLiGARK3gqczpfdedbM74klGWurF2CsNZ2lhNaXdLIUks+3Mfax3WBeRuHoglU+m7KG/+7gY6G4aag== +css-loader@5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.4.tgz#e985dcbce339812cb6104ef3670f08f9893a1536" + integrity sha512-OFYGyINCKkdQsTrSYxzGSFnGS4gNjcXkKkQgWxK138jgnPt+lepxdjSZNc8sHAl5vP3DhsJUxufWIjOwI8PMMw== dependencies: camelcase "^6.2.0" - cssesc "^3.0.0" icss-utils "^5.1.0" loader-utils "^2.0.0" - postcss "^8.2.8" + postcss "^8.2.10" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.1.0" schema-utils "^3.0.0" - semver "^7.3.4" + semver "^7.3.5" css-select-base-adapter@^0.1.1: version "0.1.1" @@ -2654,9 +2766,9 @@ css-tree@1.0.0-alpha.37: source-map "^0.6.1" css-tree@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5" - integrity sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ== + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== dependencies: mdn-data "2.0.14" source-map "^0.6.1" @@ -2681,10 +2793,10 @@ cssfilter@0.0.10: resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4= -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== +cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" + integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== dependencies: css-declaration-sorter "^4.0.1" cssnano-util-raw-cache "^4.0.1" @@ -2714,7 +2826,7 @@ cssnano-preset-default@^4.0.7: postcss-ordered-values "^4.1.2" postcss-reduce-initial "^4.0.3" postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" + postcss-svgo "^4.0.3" postcss-unique-selectors "^4.0.1" cssnano-util-get-arguments@^4.0.0: @@ -2740,12 +2852,12 @@ cssnano-util-same-parent@^4.0.0: integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== cssnano@^4.1.10: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + version "4.1.11" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" + integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== dependencies: cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" + cssnano-preset-default "^4.0.8" is-resolvable "^1.0.0" postcss "^7.0.0" @@ -3295,9 +3407,9 @@ domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== domelementtype@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" - integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== domhandler@^2.3.0: version "2.4.2" @@ -3384,10 +3496,10 @@ ejs@^3.0.0: dependencies: jake "^10.6.1" -electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.649: - version "1.3.687" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz#c336184b7ab70427ffe2ee79eaeaedbc1ad8c374" - integrity sha512-IpzksdQNl3wdgkzf7dnA7/v10w0Utf1dF2L+B4+gKrloBrxCut+au+kky3PYvle3RMdSxZP+UiCZtLbcYRxSNQ== +electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.719: + version "1.3.719" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.719.tgz#87166fee347a46a2557f19aadb40a1d68241e61c" + integrity sha512-heM78GKSqrIzO9Oz0/y22nTBN7bqSP1Pla2SyU9DiSnQD+Ea9SyyN5RWWlgqsqeBLNDkSlE9J9EHFmdMPzxB/g== elliptic@^6.5.3: version "6.5.4" @@ -3513,9 +3625,9 @@ entity-decode@^2.0.2: he "^1.1.1" envinfo@^7.7.3: - version "7.7.4" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.4.tgz#c6311cdd38a0e86808c1c9343f667e4267c4a320" - integrity sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ== + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: version "0.1.8" @@ -3661,10 +3773,10 @@ eslint-plugin-node@11.1.0: resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-promise@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== +eslint-plugin-promise@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz#fb2188fb734e4557993733b41aa1a688f46c6f24" + integrity sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng== eslint-plugin-standard@4.1.0: version "4.1.0" @@ -3704,10 +3816,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.22.0: - version "7.22.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.22.0.tgz#07ecc61052fec63661a2cab6bd507127c07adc6f" - integrity sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg== +eslint@7.25.0: + version "7.25.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" + integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.0" @@ -4016,7 +4128,7 @@ fast-safe-stringify@^2.0.4: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== -fast-xml-parser@^3.17.5: +fast-xml-parser@^3.17.5, fast-xml-parser@^3.19.0: version "3.19.0" resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== @@ -4041,9 +4153,9 @@ fault@^1.0.0, fault@^1.0.2: format "^0.2.0" fecha@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.0.tgz#3ffb6395453e3f3efff850404f0a59b6747f5f41" - integrity sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg== + version "4.2.1" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce" + integrity sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q== figgy-pudding@^3.5.1: version "3.5.2" @@ -4452,9 +4564,9 @@ get-intrinsic@^1.0.1, get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@ has-symbols "^1.0.1" get-stream@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" - integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" @@ -4523,9 +4635,9 @@ globals@^12.1.0: type-fest "^0.8.1" globals@^13.6.0: - version "13.6.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.6.0.tgz#d77138e53738567bb96a3916ff6f6b487af20ef7" - integrity sha512-YFKCX0SiPg7l5oKYCJ2zZGxcXprVXHcSnVuvzrT3oSENQonVLqM5pf9fN5dLGZGyCjhw8TN8Btwe/jKnZ0pjvQ== + version "13.8.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" + integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== dependencies: type-fest "^0.20.2" @@ -4535,9 +4647,9 @@ globals@^9.18.0: integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== globby@^11.0.1: - version "11.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" - integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== + version "11.0.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" + integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -4602,7 +4714,7 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-bigints@^1.0.0: +has-bigints@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== @@ -4634,7 +4746,7 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: +has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== @@ -4704,10 +4816,10 @@ he@1.2.0, he@^1.1.1, he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -helmet@^4.0.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/helmet/-/helmet-4.4.1.tgz#a17e1444d81d7a83ddc6e6f9bc6e2055b994efe7" - integrity sha512-G8tp0wUMI7i8wkMk2xLcEvESg5PiCitFMYgGRc/PwULB0RVhTP5GFdxOwvJwp9XVha8CuS8mnhmE8I/8dx/pbw== +helmet@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/helmet/-/helmet-4.5.0.tgz#da5a75d30cbd9f60628e9463a85dc7725806c2ea" + integrity sha512-GfxdTaKarneWOpxmiVb/1YsY+fIwDOxVUGrvNEM1MC8W6Z2PREfkXiWF4XHQdvkyXwUTHuY4DRwB0uH/Q6BVyQ== hex-color-regex@^1.1.0: version "1.1.0" @@ -4715,9 +4827,9 @@ hex-color-regex@^1.1.0: integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== highlight.js@^10.0.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.6.0.tgz#0073aa71d566906965ba6e1b7be7b2682f5e18b6" - integrity sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ== + version "10.7.2" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.2.tgz#89319b861edc66c48854ed1e6da21ea89f847360" + integrity sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg== hmac-drbg@^1.0.1: version "1.0.1" @@ -4737,9 +4849,9 @@ home-or-tmp@^2.0.0: os-tmpdir "^1.0.1" hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hsl-regex@^1.0.0: version "1.0.0" @@ -4751,11 +4863,6 @@ hsla-regex@^1.0.0: resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - html-minifier-terser@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" @@ -4925,15 +5032,6 @@ image-size@~0.5.0: resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= -"imgur@git+https://github.com/hackmdio/node-imgur.git": - version "0.5.0" - resolved "git+https://github.com/hackmdio/node-imgur.git#de0a7a1f1eb2cb6628385fedb990ad396a190573" - dependencies: - commander "^2.13.0" - glob "^7.1.2" - q "^2.0.3" - request "^2.83.0" - import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -5395,12 +5493,12 @@ is-string@^1.0.5: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== +is-svg@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-4.3.1.tgz#8c63ec8c67c8c7f0a8de0a71c8c7d58eccf4406b" + integrity sha512-h2CGs+yPUyvkgTJQS9cJzo9lYK06WgRiXUqBBHtglSzVKAuH4/oWsqk7LGfbSa1hGk9QcZ0SyQtVggvBA8LZXA== dependencies: - html-comment-regex "^1.1.0" + fast-xml-parser "^3.19.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.3" @@ -5706,9 +5804,9 @@ keymaster@^1.6.2: integrity sha1-4a5U0OqUiPn2C2a2aPAumhlGxus= khroma@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/khroma/-/khroma-1.3.0.tgz#1a0238ffcce1b049b8c733d5b07850a379aca04a" - integrity sha512-fpi0vIulP3FrM3BQOsEs+0ujWUNrg/YyHtEAcnvPxIHbASHNXEKEsDHtU2mADnJss7KvEdz7z2pUCQAEfFaFbA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/khroma/-/khroma-1.4.1.tgz#ad6a5b6a972befc5112ce5129887a1a83af2c003" + integrity sha512-+GmxKvmiRuCcUYDgR7g5Ngo0JEDeOsGdNONdU2zsiBQaK4z19Y2NvXqfEDE0ZiIrg45GTZyAnPLVsLZZACYm3Q== kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" @@ -5933,6 +6031,11 @@ lodash.bind@^4.1.4: resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + lodash.defaults@^4.0.1, lodash.defaults@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -5958,6 +6061,11 @@ lodash.foreach@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -5998,6 +6106,11 @@ lodash.some@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + lodash.union@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" @@ -6219,9 +6332,9 @@ markdown-it-sup@^1.0.0: integrity sha1-y5yf+RpSVawI8/09YyhuFd8KH8M= markdown-it@^12.0.0: - version "12.0.4" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.0.4.tgz#eec8247d296327eac3ba9746bdeec9cfcc751e33" - integrity sha512-34RwOXZT8kyuOJy25oJNJoulO8L0bTHYWXcdZBYZqFnjIy3NgjeoM3FmPXIOFQ26/lSHYMr8oc62B6adxXcb3Q== + version "12.0.6" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.0.6.tgz#adcc8e5fe020af292ccbdf161fe84f1961516138" + integrity sha512-qv3sVLl4lMT96LLtR7xeRJX11OUFjsaD5oVat2/SNBIb21bJXwal2+SklcRbTwGwqWpWH/HRtYavOoJE+seL8w== dependencies: argparse "^2.0.1" entities "~2.1.0" @@ -6472,12 +6585,12 @@ micromatch@^3.1.10, micromatch@^3.1.4: to-regex "^3.0.2" micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" - picomatch "^2.0.5" + picomatch "^2.2.3" miller-rabin@^4.0.0: version "4.0.1" @@ -6487,17 +6600,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.46.0, "mime-db@>= 1.43.0 < 2": - version "1.46.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== +mime-db@1.47.0, "mime-db@>= 1.43.0 < 2": + version "1.47.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== mime-types@^2.1.12, mime-types@^2.1.14, mime-types@^2.1.27, mime-types@^2.1.3, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.29" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== + version "2.1.30" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== dependencies: - mime-db "1.46.0" + mime-db "1.47.0" mime@1.3.4: version "1.3.4" @@ -6514,10 +6627,10 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@1.3.9: - version "1.3.9" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.9.tgz#47a32132b0fd97a119acd530e8421e8f6ab16d5e" - integrity sha512-Ac4s+xhVbqlyhXS5J/Vh/QXUz3ycXlCqoCPpg0vdfhsIBH9eg/It/9L1r1XhSCH737M1lqcWnMuWL13zcygn5A== +mini-css-extract-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.5.0.tgz#69bee3b273d2d4ee8649a2eb409514b7df744a27" + integrity sha512-SIbuLMv6jsk1FnLIU5OUG/+VMGUprEjM1+o2trOAx8i5KOKMrhyezb1dJ4Ugsykb8Jgq8/w5NEopy6escV9G7g== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" @@ -6763,9 +6876,9 @@ ms@2.1.3, ms@^2.1.1: integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== mustache@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.1.0.tgz#8c1b042238a982d2eb2d30efc6c14296ae3f699d" - integrity sha512-0FsgP/WVq4mKyjolIyX+Z9Bd+3WS8GOwoUTyKXT5cTYMGeauNTi2HPCwERqseC1IHAy0Z7MDZnJBfjabd4O8GQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" + integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== mysql2@^2.0.0: version "2.2.5" @@ -6803,10 +6916,10 @@ nanoid@^2.1.0: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== -nanoid@^3.1.20: - version "3.1.21" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.21.tgz#25bfee7340ac4185866fbfb2c9006d299da1be7f" - integrity sha512-A6oZraK4DJkAOICstsGH98dvycPr/4GGDH7ZWKmMdd3vGcOurZ6JmWFUt0DA5bzrrn2FrUjmv6mFNWvv8jpppA== +nanoid@^3.1.22: + version "3.1.22" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" + integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== nanomatch@^1.2.9: version "1.2.13" @@ -6952,7 +7065,7 @@ node-pre-gyp@^0.11.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.70: +node-releases@^1.1.71: version "1.1.71" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== @@ -7008,9 +7121,9 @@ normalize-url@^3.0.0: integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== npm-bundled@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" @@ -7087,9 +7200,9 @@ object-copy@^0.1.0: kind-of "^3.0.3" object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + version "1.10.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30" + integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA== object-is@^1.1.4: version "1.1.5" @@ -7189,9 +7302,9 @@ onetime@^5.1.2: mimic-fn "^2.1.0" openid@2.x.x: - version "2.0.7" - resolved "https://registry.yarnpkg.com/openid/-/openid-2.0.7.tgz#37bf50af2aa692623364c004de35d41fd399c6e4" - integrity sha512-xH6qaz/hS55rEX8xURz4HRUO96cpj821WY6UEG9rgcusZ8Jsq54jGWP1EMCjGvgngonw8vgSljM1i2OESv16Gw== + version "2.0.8" + resolved "https://registry.yarnpkg.com/openid/-/openid-2.0.8.tgz#e3a09b55641101156ad086971721a98d0723c547" + integrity sha512-ljI4GE6p4RYn9dLftlXw6TvlA+untAkoWBRpj4qIB4AJQWcDZ2lOVOJQ2tq346ok38mtGDBYRBvp3Q+AsuCBnQ== dependencies: request "^2.88.2" @@ -7525,17 +7638,17 @@ passport-oauth@^1.0.0: passport-oauth2 "1.x.x" passport-saml@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/passport-saml/-/passport-saml-2.0.5.tgz#d822225875d0ec640236bf27ad8d5d9436396dea" - integrity sha512-D9OkTZ2hgRHZZFU3BUPKz7PC/khu9jmJtGCoJOQcn8JKR+AW9H/aj1E32VPu/iQbYMXXxEEt4qMhkCZzK9trzw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/passport-saml/-/passport-saml-2.1.0.tgz#c13a472ab7cf89dcfeda7275027c486ede891018" + integrity sha512-czrh1ymuAOkDi7vIl1WEa2MLHQiqKKZEEOtaf0JUlMS0UaXbqCTj12wnYkZJdkKR/l1EkmmHcudvtCSsAoYpUQ== dependencies: debug "^4.3.1" passport-strategy "*" - xml-crypto "^2.0.0" - xml-encryption "1.2.1" + xml-crypto "^2.1.1" + xml-encryption "^1.2.3" xml2js "^0.4.23" xmlbuilder "^15.1.1" - xmldom "0.4.x" + xmldom "0.5.x" passport-strategy@*, passport-strategy@1.x.x, passport-strategy@^1.0.0: version "1.0.0" @@ -7623,9 +7736,9 @@ pause@0.0.1: integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10= pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -7634,9 +7747,9 @@ pbkdf2@^3.0.3: sha.js "^2.4.8" pdfobject@^2.0.201604172: - version "2.2.4" - resolved "https://registry.yarnpkg.com/pdfobject/-/pdfobject-2.2.4.tgz#ccb3c191129298a471e9ccb59c88a3ee0b7c7530" - integrity sha512-r6Rw9CQWsrY6uqmKvlgFNoupmuRbSt9EsG0sZhSAy3cIk4WgOXyAVmebFSlLhqj6gA5NIEXL3lSEbwOOYfdUvw== + version "2.2.5" + resolved "https://registry.yarnpkg.com/pdfobject/-/pdfobject-2.2.5.tgz#3e79dae8925a68f60c79423f56737bfd2d7e8a0b" + integrity sha512-B301nc24w02BMqrJoDOUBGRfHBqGtLztsdUyyhYsZaxD3R1DyNKtkDcilo+A4FYSW82k/LXAiXVREkYoqU2G4g== peek-readable@^3.1.3: version "3.1.3" @@ -7648,10 +7761,10 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -pg-connection-string@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.4.0.tgz#c979922eb47832999a204da5dbe1ebf2341b6a10" - integrity sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ== +pg-connection-string@^2.5.0: + version "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-hstore@^2.3.3: version "2.3.3" @@ -7665,15 +7778,15 @@ pg-int8@1.0.1: resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== -pg-pool@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.2.2.tgz#a560e433443ed4ad946b84d774b3f22452694dff" - integrity sha512-ORJoFxAlmmros8igi608iVEbQNNZlp89diFVx6yV5v+ehmpMY9sK6QgpmgoXbmkNaBAx8cOOZh9g80kJv1ooyA== +pg-pool@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.3.0.tgz#12d5c7f65ea18a6e99ca9811bd18129071e562fc" + integrity sha512-0O5huCql8/D6PIRFAlmccjphLYWC+JIzvUhSzXSpGaf+tjTZc4nn+Lr7mLXBbFJfvwbP0ywDv73EiaBsxn7zdg== -pg-protocol@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.4.0.tgz#43a71a92f6fe3ac559952555aa3335c8cb4908be" - integrity sha512-El+aXWcwG/8wuFICMQjM5ZSAm6OWiJicFdNYo+VY3QP+8vI4SvLIWVe51PppTzMhikUJR+PsyIFKqfdXPz/yxA== +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-types@^2.1.0: version "2.2.0" @@ -7687,15 +7800,15 @@ pg-types@^2.1.0: postgres-interval "^1.1.0" pg@^8.2.1: - version "8.5.1" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.5.1.tgz#34dcb15f6db4a29c702bf5031ef2e1e25a06a120" - integrity sha512-9wm3yX9lCfjvA98ybCyw2pADUivyNWT/yIP4ZcDVpMN0og70BUWYEGXPCTAQdGTAqnytfRADb7NERrY1qxhIqw== + version "8.6.0" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.6.0.tgz#e222296b0b079b280cce106ea991703335487db2" + integrity sha512-qNS9u61lqljTDFvmk/N66EeGq3n6Ujzj0FFyNMGQr6XuEv4tgNTXvJQTfJdcvGit5p5/DWPu+wj920hAJFI+QQ== dependencies: buffer-writer "2.0.0" packet-reader "1.0.0" - pg-connection-string "^2.4.0" - pg-pool "^3.2.2" - pg-protocol "^1.4.0" + pg-connection-string "^2.5.0" + pg-pool "^3.3.0" + pg-protocol "^1.5.0" pg-types "^2.1.0" pgpass "1.x" @@ -7706,10 +7819,10 @@ pgpass@1.x: dependencies: split2 "^3.1.1" -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" + integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== pify@^2.0.0: version "2.3.0" @@ -7752,6 +7865,11 @@ pkginfo@^0.2.3: resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.2.3.tgz#7239c42a5ef6c30b8f328439d9b9ff71042490f8" integrity sha1-cjnEKl72wwuPMoQ52bn/cQQkkPg= +pkginfo@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" + integrity sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8= + please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -7764,11 +7882,6 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== -pop-iterate@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pop-iterate/-/pop-iterate-1.0.1.tgz#ceacfdab4abf353d7a0f2aaa2c1fc7b3f9413ba3" - integrity sha1-zqz9q0q/NT16DyqqLB/Hs/lBO6M= - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -8040,21 +8153,18 @@ postcss-selector-parser@^3.0.0: uniq "^1.0.1" postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" - integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz#042d74e137db83e6f294712096cb413f5aa612c4" + integrity sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" util-deprecate "^1.0.2" -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" + integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== dependencies: - is-svg "^3.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" svgo "^1.0.0" @@ -8087,13 +8197,13 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^8.2.8: - version "8.2.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.8.tgz#0b90f9382efda424c4f0f69a2ead6f6830d08ece" - integrity sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw== +postcss@^8.2.10: + version "8.2.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.12.tgz#81248a1a87e0f575cc594a99a08207fd1c4addc4" + integrity sha512-BJnGT5+0q2tzvs6oQfnY2NpEJ7rIXNfBnZtQOKCIsweeWXBXeDd5k31UgTdS3d/c02ouspufn37mTaHWkJyzMQ== dependencies: colorette "^1.2.2" - nanoid "^3.1.20" + nanoid "^3.1.22" source-map "^0.6.1" postgres-array@~2.0.0: @@ -8178,6 +8288,25 @@ progress@^2.0.0: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +prom-client@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-13.1.0.tgz#1185caffd8691e28d32e373972e662964e3dba45" + integrity sha512-jT9VccZCWrJWXdyEtQddCDszYsiuWj5T0ekrPszi/WEegj3IZy6Mm09iOOVM86A4IKMWq8hZkT2dD9MaSe+sng== + dependencies: + tdigest "^0.1.1" + +prometheus-api-metrics@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/prometheus-api-metrics/-/prometheus-api-metrics-3.2.0.tgz#3af90989271abb55b7e0405bdfcb161f403a361c" + integrity sha512-JekPhtIBLGX8HxD2EndvBsLU6ZQ1JVVqyHWVfm5CposUOqgBHXnUVFW6x5Ux2gykpdej/5LLM3dU9V8Ma7GfkA== + dependencies: + "@types/express" "^4.17.8" + "@types/express-serve-static-core" "^4.17.12" + "@types/koa" "^2.11.4" + debug "^3.2.6" + lodash.get "^4.4.2" + pkginfo "^0.4.1" + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -8263,15 +8392,6 @@ q@^1.1.2, q@^1.5.1: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -q@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/q/-/q-2.0.3.tgz#75b8db0255a1a5af82f58c3f3aaa1efec7d0d134" - integrity sha1-dbjbAlWhpa+C9Yw/Oqoe/sfQ0TQ= - dependencies: - asap "^2.0.0" - pop-iterate "^1.0.1" - weak-map "^1.0.5" - qs@2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404" @@ -8298,9 +8418,9 @@ querystring@0.2.0: integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= queue-microtask@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" - integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== random-bytes@~1.0.0: version "1.0.0" @@ -9104,9 +9224,9 @@ renderkid@^2.0.4: strip-ansi "^3.0.0" repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.0.0, repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.6.1: version "1.6.1" @@ -9120,7 +9240,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@2.x, "request@>= 2.52.0", request@^2.83.0, request@^2.86.0, request@^2.87.0, request@^2.88.0, request@^2.88.2: +request@2.x, "request@>= 2.52.0", request@^2.86.0, request@^2.87.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -9366,10 +9486,10 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.4: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== +semver@^7.2.1, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" @@ -9408,9 +9528,9 @@ sequelize-pool@^2.3.0: integrity sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA== sequelize@^5.21.1: - version "5.22.3" - resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.22.3.tgz#7e7a92ddd355d883c9eb11cdb106d874d0d2636f" - integrity sha512-+nxf4TzdrB+PRmoWhR05TP9ukLAurK7qtKcIFv5Vhxm5Z9v+d2PcTT6Ea3YAoIQVkZ47QlT9XWAIUevMT/3l8Q== + version "5.22.4" + resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.22.4.tgz#4dbd8a1a735e98150880d43a95d45e9f46d151fa" + integrity sha512-xFQQ38HPg7EyDRDA+NdzMSRWbo9m6Z/RxpjnkBl3ggyQG+jRrup48x0jaw4Ox42h56wFnXOBC2NZOkTJfZeWCw== dependencies: bluebird "^3.5.0" cls-bluebird "^2.1.0" @@ -9787,13 +9907,13 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== dependencies: figgy-pudding "^3.5.1" -ssri@^8.0.0: +ssri@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== @@ -10080,12 +10200,17 @@ svgo@^1.0.0: util.promisify "~1.0.0" table@^6.0.4: - version "6.0.7" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" - integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== + version "6.3.2" + resolved "https://registry.yarnpkg.com/table/-/table-6.3.2.tgz#afa86bee5cfe305f9328f89bb3e5454132cdea28" + integrity sha512-I9/Ca6Huf2oxFag7crD0DhA+arIdfLtWunSn0NIXSzjtUlDgIBGVZY7SsMkNPNT3Psd/z4gza0nuEpmra9eRbg== dependencies: - ajv "^7.0.2" - lodash "^4.17.20" + ajv "^8.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + lodash.clonedeep "^4.5.0" + lodash.flatten "^4.4.0" + lodash.truncate "^4.4.2" slice-ansi "^4.0.0" string-width "^4.2.0" @@ -10139,6 +10264,13 @@ tar@^6.0.2: mkdirp "^1.0.3" yallist "^4.0.0" +tdigest@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.1.tgz#2e3cb2c39ea449e55d1e6cd91117accca4588021" + integrity sha1-Ljyyw56kSeVdHmzZEReszKRYgCE= + dependencies: + bintrees "1.0.1" + tedious@^6.6.0: version "6.7.0" resolved "https://registry.yarnpkg.com/tedious/-/tedious-6.7.0.tgz#ad02365f16f9e0416b216e13d3f83c53addd42ca" @@ -10344,15 +10476,15 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.10.0, tslib@^1.9.0, tslib@^1.9.2: +tslib@^1.10.0, tslib@^1.9.2: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.0, tslib@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== + version "2.2.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" + integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== tty-browserify@0.0.0: version "0.0.0" @@ -10426,9 +10558,9 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== uglify-js@^3.1.4, uglify-js@^3.5.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.1.tgz#2749d4b8b5b7d67460b4a418023ff73c3fefa60a" - integrity sha512-EWhx3fHy3M9JbaeTnO+rEqzCe1wtyQClv6q3YWq0voOj4E+bMZBErVS1GAHPDiRGONYq34M1/d8KuQMgvi6Gjw== + version "3.13.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.4.tgz#592588bb9f47ae03b24916e2471218d914955574" + integrity sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw== uid-safe@~2.1.5: version "2.1.5" @@ -10450,14 +10582,14 @@ umzug@^2.3.0: bluebird "^3.7.2" unbox-primitive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.0.tgz#eeacbc4affa28e9b3d36b5eaeccc50b3251b1d3f" - integrity sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA== + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== dependencies: function-bind "^1.1.1" - has-bigints "^1.0.0" - has-symbols "^1.0.0" - which-boxed-primitive "^1.0.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" underscore@1.11.x: version "1.11.0" @@ -10465,9 +10597,9 @@ underscore@1.11.x: integrity sha512-xY96SsN3NA461qIRKZ/+qox37YXPtSBswMGfiNptr+wrt6ds4HaMw23TP612fEyGekRE6LNRiLYr/aqbHXNedw== "underscore@>= 1.3.1", underscore@^1.7.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.0.tgz#4814940551fc80587cef7840d1ebb0f16453be97" - integrity sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ== + version "1.13.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" + integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== underscore@~1.6.0: version "1.6.0" @@ -10494,9 +10626,9 @@ unified-args@^8.0.0: unified-engine "^8.0.0" unified-engine@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-8.0.0.tgz#e3996ff6eaecc6ca3408af92b70e25691192d17d" - integrity sha512-vLUezxCnjzz+ya4pYouRQVMT8k82Rk4fIj406UidRnSFJdGXFaQyQklAnalsQHJrLqAlaYPkXPUa1upfVSHGCA== + version "8.1.0" + resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-8.1.0.tgz#a846e11705fb8589d1250cd27500b56021d8a3e2" + integrity sha512-ptXTWUf9HZ2L9xto7tre+hSdSN7M9S0rypUpMAcFhiDYjrXLrND4If+8AZOtPFySKI/Zhfxf7GVAR34BqixDUA== dependencies: concat-stream "^2.0.0" debug "^4.0.0" @@ -10793,9 +10925,9 @@ validator@^10.11.0: integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw== validator@^13.0.0: - version "13.5.2" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.5.2.tgz#c97ae63ed4224999fb6f42c91eaca9567fe69a46" - integrity sha512-mD45p0rvHVBlY2Zuy3F3ESIe1h5X58GPfAtslBjY7EtTqGquZTj+VX/J4RnHWN8FKq0C9WRVt1oWAcytWRuYLQ== + version "13.6.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.6.0.tgz#1e71899c14cdc7b2068463cb24c1cc16f6ec7059" + integrity sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg== validator@~9.4.1: version "9.4.1" @@ -10911,25 +11043,20 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" -weak-map@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz#79691584d98607f5070bd3b70a40e6bb22e401eb" - integrity sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes= - webfontloader@~1.6.x: version "1.6.28" resolved "https://registry.yarnpkg.com/webfontloader/-/webfontloader-1.6.28.tgz#db786129253cb6e8eae54c2fb05f870af6675bae" integrity sha1-23hhKSU8tujq5UwvsF+HCvZnW64= -webpack-cli@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.5.0.tgz#b5213b84adf6e1f5de6391334c9fa53a48850466" - integrity sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q== +webpack-cli@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.6.0.tgz#27ae86bfaec0cf393fcfd58abdc5a229ad32fd16" + integrity sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.1" - "@webpack-cli/info" "^1.2.2" - "@webpack-cli/serve" "^1.3.0" + "@webpack-cli/configtest" "^1.0.2" + "@webpack-cli/info" "^1.2.3" + "@webpack-cli/serve" "^1.3.1" colorette "^1.2.1" commander "^7.0.0" enquirer "^2.3.6" @@ -10986,7 +11113,7 @@ webpack@4.46.0: watchpack "^1.7.4" webpack-sources "^1.4.1" -which-boxed-primitive@^1.0.1: +which-boxed-primitive@^1.0.1, which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== @@ -11120,32 +11247,32 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@^7.0.0, ws@~7.4.2: - version "7.4.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" - integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== +ws@^7.4.4, ws@~7.4.2: + version "7.4.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" + integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== wurl@^2.5.3: version "2.5.4" resolved "https://registry.yarnpkg.com/wurl/-/wurl-2.5.4.tgz#6af35a6c623296c4a0c607c4651d01b8f4e3fdec" integrity sha512-Vuo550m5YbqRcM/69zz3jVNsCUvFTWLRYQcYvnqNWQ4d0Bjg7aoaofbcsPTe4rM9A2/4xjd8uIf9viIUV9EMXQ== -xml-crypto@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xml-crypto/-/xml-crypto-2.0.0.tgz#54cd268ad9d31930afcf7092cbb664258ca9e826" - integrity sha512-/a04qr7RpONRZHOxROZ6iIHItdsQQjN3sj8lJkYDDss8tAkEaAs0VrFjb3tlhmS5snQru5lTs9/5ISSMdPDHlg== +xml-crypto@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xml-crypto/-/xml-crypto-2.1.2.tgz#501506d42e466f6cd908c5a03182217231b4e4b8" + integrity sha512-DBhZXtBjENtLwJmeJhLUBwUm9YWNjCRvAx6ESP4VJyM9PDuKqZu2Fp5Y5HKqcdJT7vV7eI25Z4UBMezji6QloQ== dependencies: - xmldom "0.1.27" - xpath "0.0.27" + xmldom "^0.6.0" + xpath "0.0.32" -xml-encryption@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/xml-encryption/-/xml-encryption-1.2.1.tgz#e6d18817c4309fd07ca7793cca93c3fd06745baa" - integrity sha512-hn5w3l5p2+nGjlmM0CAhMChDzVGhW+M37jH35Z+GJIipXbn9PUlAIRZ6I5Wm7ynlqZjFrMAr83d/CIp9VZJMTA== +xml-encryption@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/xml-encryption/-/xml-encryption-1.2.3.tgz#fc8b740a3e0635d62aede05c93f8ddb02f0bd7c9" + integrity sha512-oVZIicsZM1VobJ5Hxxgh2ovglIY2ZuXFTeZHmJSV7hABvgkD20PSy4G+qwRToQCkagymS1zJU2XV4wjkoCS9mQ== dependencies: escape-html "^1.0.3" node-forge "^0.10.0" - xmldom "~0.1.15" + xmldom "~0.5.0" xpath "0.0.27" xml2js@0.2.8: @@ -11191,26 +11318,21 @@ xmlbuilder@~11.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== -xmldom@0.1.27: - version "0.1.27" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" - integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= - -xmldom@0.1.x, xmldom@~0.1.15: +xmldom@0.1.x: version "0.1.31" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff" integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ== -xmldom@0.4.x: - version "0.4.0" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.4.0.tgz#8771e482a333af44587e30ce026f0998c23f3830" - integrity sha512-2E93k08T30Ugs+34HBSTQLVtpi6mCddaY8uO+pMNk1pqSjV5vElzn4mmh6KLxN3hki8rNcHSYzILoh3TEWORvA== - -"xmldom@>= 0.1.x": +xmldom@0.5.x, xmldom@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e" integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA== +"xmldom@>= 0.1.x", xmldom@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.6.0.tgz#43a96ecb8beece991cef382c08397d82d4d0c46f" + integrity sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg== + xmlhttprequest-ssl@~1.5.4: version "1.5.5" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" @@ -11231,6 +11353,11 @@ xpath@0.0.27: resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.27.tgz#dd3421fbdcc5646ac32c48531b4d7e9d0c2cfa92" integrity sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ== +xpath@0.0.32: + version "0.0.32" + resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.32.tgz#1b73d3351af736e17ec078d6da4b8175405c48af" + integrity sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw== + xss@^1.0.3: version "1.0.8" resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.8.tgz#32feb87feb74b3dcd3d404b7a68ababf10700535" @@ -11252,14 +11379,14 @@ xtraverse@0.1.x: xmldom "0.1.x" y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^2.1.2: version "2.1.2" |