Unverified Commit a5bb0d69 authored by Max Wu's avatar Max Wu Committed by GitHub
Browse files

Merge pull request #1379 from hackmdio/release/1.4.1

Release/1.4.1
parents a0cc1955 52085338
https://github.com/alex88/heroku-buildpack-vips
https://github.com/Scalingo/nodejs-buildpack
...@@ -51,7 +51,7 @@ If you want to contribute to the project, start with [manual deployment](https:/ ...@@ -51,7 +51,7 @@ If you want to contribute to the project, start with [manual deployment](https:/
CodiMD is highly customizable, learn about all configuration options of networking, security, performance, resources, privilege, privacy, image storage, and authentication in [CodiMD Configuration](https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-configuration). CodiMD is highly customizable, learn about all configuration options of networking, security, performance, resources, privilege, privacy, image storage, and authentication in [CodiMD Configuration](https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-configuration).
### Upgrading and Migration ### Upgrading and Migration
Upgrade CodiMD from previous version? See [this guide](https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-upgrade) Upgrade CodiMD from previous version? See [this guide](https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-upgrade)<br>
Migrating from Etherpad? Follow [this guide](https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-migration-etherpad) Migrating from Etherpad? Follow [this guide](https://hackmd.io/c/codimd-documentation/%2Fs%2Fcodimd-migration-etherpad)
### Developer ### Developer
......
...@@ -37,9 +37,9 @@ function getPass (argv, action) { ...@@ -37,9 +37,9 @@ function getPass (argv, action) {
async function createUser (argv) { async function createUser (argv) {
const existingUser = await models.User.findOne({ where: { email: argv['add'] } }) const existingUser = await models.User.findOne({ where: { email: argv['add'] } })
// Cannot create already-existing users // Cannot create already-existing users
if (existingUser !== undefined) { if (existingUser) {
console.log(`User with e-mail ${existingUser.email} already exists! Aborting ...`) console.log(`User with e-mail ${existingUser.email} already exists! Aborting ...`)
process.exit(1) process.exit(2)
} }
const pass = getPass(argv, 'add') const pass = getPass(argv, 'add')
...@@ -56,7 +56,7 @@ async function createUser (argv) { ...@@ -56,7 +56,7 @@ async function createUser (argv) {
async function deleteUser (argv) { async function deleteUser (argv) {
// Cannot delete non-existing users // Cannot delete non-existing users
const existingUser = await models.User.findOne({ where: { email: argv['del'] } }) const existingUser = await models.User.findOne({ where: { email: argv['del'] } })
if (existingUser === undefined) { if (!existingUser) {
console.log(`User with e-mail ${argv['del']} does not exist, cannot delete`) console.log(`User with e-mail ${argv['del']} does not exist, cannot delete`)
process.exit(1) process.exit(1)
} }
...@@ -71,7 +71,7 @@ async function deleteUser (argv) { ...@@ -71,7 +71,7 @@ async function deleteUser (argv) {
async function resetUser (argv) { async function resetUser (argv) {
const existingUser = await models.User.findOne({ where: { email: argv['reset'] } }) const existingUser = await models.User.findOne({ where: { email: argv['reset'] } })
// Cannot reset non-existing users // Cannot reset non-existing users
if (existingUser === undefined) { if (!existingUser) {
console.log(`User with e-mail ${argv['reset']} does not exist, cannot reset`) console.log(`User with e-mail ${argv['reset']} does not exist, cannot reset`)
process.exit(1) process.exit(1)
} }
......
...@@ -15,7 +15,7 @@ RUN set -xe && \ ...@@ -15,7 +15,7 @@ RUN set -xe && \
yarn.lock webpack.prod.js webpack.htmlexport.js webpack.dev.js webpack.common.js \ yarn.lock webpack.prod.js webpack.htmlexport.js webpack.dev.js webpack.common.js \
config.json.example README.md CONTRIBUTING.md AUTHORS config.json.example README.md CONTRIBUTING.md AUTHORS
FROM hackmdio/runtime:1.0.4 FROM hackmdio/runtime:1.0.6
USER hackmd USER hackmd
WORKDIR /home/hackmd/app WORKDIR /home/hackmd/app
COPY --chown=1500:1500 --from=BUILD /home/hackmd/app . COPY --chown=1500:1500 --from=BUILD /home/hackmd/app .
......
...@@ -10,6 +10,8 @@ services: ...@@ -10,6 +10,8 @@ services:
- "database-data:/var/lib/postgresql/data" - "database-data:/var/lib/postgresql/data"
restart: always restart: always
codimd: codimd:
# you can use image or custom build below
# image: nabo.codimd.dev/hackmdio/hackmd:1.4.0
build: build:
context: .. context: ..
dockerfile: ./deployments/Dockerfile dockerfile: ./deployments/Dockerfile
......
...@@ -8,7 +8,7 @@ if [[ "$#" -gt 0 ]]; then ...@@ -8,7 +8,7 @@ if [[ "$#" -gt 0 ]]; then
fi fi
# check database and redis is ready # check database and redis is ready
pcheck -constr "$CMD_DB_URL" pcheck -env CMD_DB_URL
# run DB migrate # run DB migrate
NEED_MIGRATE=${CMD_AUTO_MIGRATE:=true} NEED_MIGRATE=${CMD_AUTO_MIGRATE:=true}
......
...@@ -10,7 +10,7 @@ const Minio = require('minio') ...@@ -10,7 +10,7 @@ const Minio = require('minio')
const minioClient = new Minio.Client({ const minioClient = new Minio.Client({
endPoint: config.minio.endPoint, endPoint: config.minio.endPoint,
port: config.minio.port, port: config.minio.port,
secure: config.minio.secure, useSSL: config.minio.secure,
accessKey: config.minio.accessKey, accessKey: config.minio.accessKey,
secretKey: config.minio.secretKey secretKey: config.minio.secretKey
}) })
......
...@@ -29,7 +29,8 @@ exports.uploadImage = function (imagePath, callback) { ...@@ -29,7 +29,8 @@ exports.uploadImage = function (imagePath, callback) {
const params = { const params = {
Bucket: config.s3bucket, Bucket: config.s3bucket,
Key: path.join('uploads', path.basename(imagePath)), Key: path.join('uploads', path.basename(imagePath)),
Body: buffer Body: buffer,
ACL: 'public-read'
} }
const mimeType = getImageMimeType(imagePath) const mimeType = getImageMimeType(imagePath)
......
{ {
"name": "codimd", "name": "codimd",
"version": "1.4.0", "version": "1.4.1",
"description": "Realtime collaborative markdown notes on all platforms.", "description": "Realtime collaborative markdown notes on all platforms.",
"keywords": [ "keywords": [
"Collaborative", "Collaborative",
...@@ -101,10 +101,11 @@ ...@@ -101,10 +101,11 @@
"mermaid": "~8.2.3", "mermaid": "~8.2.3",
"method-override": "~3.0.0", "method-override": "~3.0.0",
"minimist": "~1.2.0", "minimist": "~1.2.0",
"minio": "~7.0.10", "minio": "^7.0.12",
"moment": "~2.24.0", "moment": "~2.24.0",
"morgan": "~1.9.1", "morgan": "~1.9.1",
"mysql": "~2.17.1", "mysql": "~2.17.1",
"mysql2": "^2.0.1",
"passport": "~0.4.0", "passport": "~0.4.0",
"passport-dropbox-oauth2": "~1.1.0", "passport-dropbox-oauth2": "~1.1.0",
"passport-facebook": "~2.1.1", "passport-facebook": "~2.1.1",
...@@ -129,7 +130,7 @@ ...@@ -129,7 +130,7 @@
"reveal.js": "~3.7.0", "reveal.js": "~3.7.0",
"scrypt": "~6.0.3", "scrypt": "~6.0.3",
"select2": "~3.5.2-browserify", "select2": "~3.5.2-browserify",
"sequelize": "5.3.5", "sequelize": "5.15.1",
"sequelize-cli": "~5.4.0", "sequelize-cli": "~5.4.0",
"shortid": "~2.2.14", "shortid": "~2.2.14",
"socket.io": "~2.2.0", "socket.io": "~2.2.0",
......
Release Notes Release Notes
=== ===
<i class="fa fa-tag"></i> 1.4.1 <i class="fa fa-clock-o"></i> 2019-12-13
---
[CodiMD 1.4.1](https://github.com/hackmdio/codimd/releases/tag/1.4.1) is a minor release including bug fixes introduced in 1.4.0 and earlier versions. We encourage everyone to upgrade to 1.4.1 now. Also, we're preparing for the next major release, and you can see how things are going on [GitHub](https://github.com/hackmdio/codimd/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc+milestone%3ANext). Stay tuned, and we hope you love it!
### Fixes
- Fix urlpath in webpack build
- Fix mysql not bundled in package.json
- Fix minio image uploading
- Fix pcheck not parsed url correctly
- Fix manage_users script
### Enhancement
- Added Scalingo compatible deployment
[Check out the complete release note][v1_4_1]. Thank you CodiMD community and all our contributors. ❤️
[v1_4_1]: https://hackmd.io/@codimd/release-notes/%2F%40codimd%2Fv1_4_1
<i class="fa fa-tag"></i> 1.4.0 Syrmaticus mikado <i class="fa fa-clock-o"></i> 2019-11-11 <i class="fa fa-tag"></i> 1.4.0 Syrmaticus mikado <i class="fa fa-clock-o"></i> 2019-11-11
--- ---
...@@ -20,7 +41,7 @@ It has been over 200+ commits since our last release. These are the highlights f ...@@ -20,7 +41,7 @@ It has been over 200+ commits since our last release. These are the highlights f
- [New Emoji sets][new-emoji] - [New Emoji sets][new-emoji]
- [Slide mode plugins][slide-mode-plugins]: Elapsed time bar and Spotlight - [Slide mode plugins][slide-mode-plugins]: Elapsed time bar and Spotlight
[Go read the complete release note here][v1_4_0]. Thank you CodiMD community and all our contributors. ❤️ [Check out the complete release note][v1_4_0]. Thank you CodiMD community and all our contributors. ❤️
[table-tools]: https://hackmd.io/@codimd/v1_4_0#New-Table-Tools [table-tools]: https://hackmd.io/@codimd/v1_4_0#New-Table-Tools
[markdownlint]: https://hackmd.io/@codimd/v1_4_0#Markdownlint-integration [markdownlint]: https://hackmd.io/@codimd/v1_4_0#Markdownlint-integration
......
...@@ -331,7 +331,7 @@ export default class Editor { ...@@ -331,7 +331,7 @@ export default class Editor {
if (!this.statusBar) return if (!this.statusBar) return
var cursor = this.editor.getCursor() var cursor = this.editor.getCursor()
var cursorText = 'Line ' + (cursor.line + 1) + ', Columns ' + (cursor.ch + 1) var cursorText = 'Line ' + (cursor.line + 1) + ', Column ' + (cursor.ch + 1)
this.statusCursor.text(cursorText) this.statusCursor.text(cursorText)
var fileText = '' + editor.lineCount() + ' Lines' var fileText = '' + editor.lineCount() + ' Lines'
this.statusFile.text(fileText) this.statusFile.text(fileText)
......
<% for (var css in htmlWebpackPlugin.files.css) { %> <% for (var css in htmlWebpackPlugin.files.css) { %>
<link href="<%= webpackConfig.output.baseUrl %><%= htmlWebpackPlugin.files.css[css] %>" rel="stylesheet"> <link href="<%= '\<\%= serverURL \%\>'%><%= htmlWebpackPlugin.files.css[css] %>" rel="stylesheet">
<% } %> <% } %>
<script src="<%= webpackConfig.output.baseUrl %>/config"></script> <script src="<%= webpackConfig.output.baseUrl %>/config"></script>
<% for (var js in htmlWebpackPlugin.files.js) { %> <% for (var js in htmlWebpackPlugin.files.js) { %>
<script src="<%= webpackConfig.output.baseUrl %><%= htmlWebpackPlugin.files.js[js] %>" defer></script> <script src="<%= '\<\%= serverURL \%\>'%><%= htmlWebpackPlugin.files.js[js] %>" defer></script>
<% } %> <% } %>
{
"name": "CodiMD",
"description": "Realtime collaborative markdown notes on all platforms",
"keywords": [
"Collaborative",
"Markdown",
"Notes"
],
"website": "https://github.com/hackmdio/codimd",
"repository": "https://github.com/hackmdio/codimd",
"logo": "https://github.com/hackmdio/codimd/raw/master/public/codimd-icon-1024.png",
"success_url": "/",
"env": {
"NPM_CONFIG_PRODUCTION": {
"description": "Let npm also install development build tool",
"value": "false"
},
"CMD_SESSION_SECRET": {
"description": "Secret used to secure session cookies.",
"required": false
},
"CMD_HSTS_ENABLE": {
"description": "whether to also use HSTS if HTTPS is enabled",
"required": false
},
"CMD_HSTS_MAX_AGE": {
"description": "max duration, in seconds, to tell clients to keep HSTS status",
"required": false
},
"CMD_HSTS_INCLUDE_SUBDOMAINS": {
"description": "whether to tell clients to also regard subdomains as HSTS hosts",
"required": false
},
"CMD_HSTS_PRELOAD": {
"description": "whether to allow at all adding of the site to HSTS preloads (e.g. in browsers)",
"required": false
},
"CMD_DOMAIN": {
"description": "domain name",
"required": false
},
"CMD_URL_PATH": {
"description": "sub url path, like `www.example.com/<URL_PATH>`",
"required": false
},
"CMD_ALLOW_ORIGIN": {
"description": "domain name whitelist (use comma to separate)",
"required": false,
"value": "localhost"
},
"CMD_PROTOCOL_USESSL": {
"description": "set to use ssl protocol for resources path (only applied when domain is set)",
"required": false
},
"CMD_URL_ADDPORT": {
"description": "set to add port on callback url (port 80 or 443 won't applied) (only applied when domain is set)",
"required": false
},
"CMD_FACEBOOK_CLIENTID": {
"description": "Facebook API client id",
"required": false
},
"CMD_FACEBOOK_CLIENTSECRET": {
"description": "Facebook API client secret",
"required": false
},
"CMD_TWITTER_CONSUMERKEY": {
"description": "Twitter API consumer key",
"required": false
},
"CMD_TWITTER_CONSUMERSECRET": {
"description": "Twitter API consumer secret",
"required": false
},
"CMD_GITHUB_CLIENTID": {
"description": "GitHub API client id",
"required": false
},
"CMD_GITHUB_CLIENTSECRET": {
"description": "GitHub API client secret",
"required": false
},
"CMD_GITLAB_BASEURL": {
"description": "GitLab authentication endpoint, set to use other endpoint than GitLab.com (optional)",
"required": false
},
"CMD_GITLAB_CLIENTID": {
"description": "GitLab API client id",
"required": false
},
"CMD_GITLAB_CLIENTSECRET": {
"description": "GitLab API client secret",
"required": false
},
"CMD_GITLAB_SCOPE": {
"description": "GitLab API client scope (optional)",
"required": false
},
"CMD_MATTERMOST_BASEURL": {
"description": "Mattermost authentication endpoint",
"required": false
},
"CMD_MATTERMOST_CLIENTID": {
"description": "Mattermost API client id",
"required": false
},
"CMD_MATTERMOST_CLIENTSECRET": {
"description": "Mattermost API client secret",
"required": false
},
"CMD_DROPBOX_CLIENTID": {
"description": "Dropbox API client id",
"required": false
},
"CMD_DROPBOX_CLIENTSECRET": {
"description": "Dropbox API client secret",
"required": false
},
"CMD_DROPBOX_APP_KEY": {
"description": "Dropbox app key (for import/export)",
"required": false
},
"CMD_GOOGLE_CLIENTID": {
"description": "Google API client id",
"required": false
},
"CMD_GOOGLE_CLIENTSECRET": {
"description": "Google API client secret",
"required": false
},
"CMD_IMGUR_CLIENTID": {
"description": "Imgur API client id",
"required": false
},
"CMD_ALLOW_PDF_EXPORT": {
"description": "Enable or disable PDF exports",
"required": false
},
"CMD_DB_URL": {
"description": "Database query url",
"value": "$DATABASE_URL"
},
"DYNO": {
"description": "Require this env var for deploy correctly the app",
"value": "Scalingo"
}
},
"formation": {
"web": {
"amount": 1,
"size": "S"
}
},
"addons": [
"postgresql:postgresql-sandbox"
]
}
...@@ -1523,6 +1523,11 @@ ansi-wrap@0.1.0: ...@@ -1523,6 +1523,11 @@ ansi-wrap@0.1.0:
resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768=
   
ansicolors@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979"
integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=
any-promise@^1.3.0: any-promise@^1.3.0:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
...@@ -2901,6 +2906,14 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000984: ...@@ -2901,6 +2906,14 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000984:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9"
integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==
   
cardinal@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505"
integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU=
dependencies:
ansicolors "~0.3.2"
redeyed "~2.1.0"
caseless@~0.12.0: caseless@~0.12.0:
version "0.12.0" version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
...@@ -4251,6 +4264,11 @@ delegates@^1.0.0: ...@@ -4251,6 +4264,11 @@ delegates@^1.0.0:
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
   
denque@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz#6744ff7641c148c3f8a69c307e51235c1f4a37cf"
integrity sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==
depd@2.0.0, depd@^2.0.0, depd@~2.0.0: depd@2.0.0, depd@^2.0.0, depd@~2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
...@@ -5208,7 +5226,7 @@ esprima@^3.1.3: ...@@ -5208,7 +5226,7 @@ esprima@^3.1.3:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
   
esprima@^4.0.0: esprima@^4.0.0, esprima@~4.0.0:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
...@@ -5817,6 +5835,13 @@ gauge@~2.7.3: ...@@ -5817,6 +5835,13 @@ gauge@~2.7.3:
strip-ansi "^3.0.1" strip-ansi "^3.0.1"
wide-align "^1.1.0" wide-align "^1.1.0"
   
generate-function@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f"
integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==
dependencies:
is-property "^1.0.2"
generic-pool@2.4.3: generic-pool@2.4.3:
version "2.4.3" version "2.4.3"
resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.3.tgz#780c36f69dfad05a5a045dd37be7adca11a4f6ff" resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.3.tgz#780c36f69dfad05a5a045dd37be7adca11a4f6ff"
...@@ -6490,6 +6515,13 @@ iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.23, iconv-lite@^0.4.24, iconv ...@@ -6490,6 +6515,13 @@ iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.23, iconv-lite@^0.4.24, iconv
dependencies: dependencies:
safer-buffer ">= 2.1.2 < 3" safer-buffer ">= 2.1.2 < 3"
   
iconv-lite@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.0.tgz#59cdde0a2a297cc2aeb0c6445a195ee89f127550"
integrity sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==
dependencies:
safer-buffer ">= 2.1.2 < 3"
icss-replace-symbols@^1.1.0: icss-replace-symbols@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
...@@ -6935,6 +6967,11 @@ is-promise@^2.1, is-promise@^2.1.0: ...@@ -6935,6 +6967,11 @@ is-promise@^2.1, is-promise@^2.1.0:
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
   
is-property@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=
is-regex@^1.0.4: is-regex@^1.0.4:
version "1.0.4" version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
...@@ -7771,6 +7808,11 @@ lolex@^4.0.1, lolex@^4.1.0: ...@@ -7771,6 +7808,11 @@ lolex@^4.0.1, lolex@^4.1.0:
resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz#ddbd7f6213ca1ea5826901ab1222b65d714b3cd7" resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz#ddbd7f6213ca1ea5826901ab1222b65d714b3cd7"
integrity sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg== integrity sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==
   
long@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
longest-streak@^2.0.1: longest-streak@^2.0.1:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105"
...@@ -7788,7 +7830,7 @@ lower-case@^1.1.1: ...@@ -7788,7 +7830,7 @@ lower-case@^1.1.1:
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
   
lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.5: lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.3, lru-cache@^4.1.5:
version "4.1.5" version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
...@@ -8325,10 +8367,10 @@ minimist@~0.0.1: ...@@ -8325,10 +8367,10 @@ minimist@~0.0.1:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
   
minio@~7.0.10: minio@^7.0.12:
version "7.0.11" version "7.0.12"
resolved "https://registry.yarnpkg.com/minio/-/minio-7.0.11.tgz#42552b8f083659929b2c6dcd522f8e5f8d370011" resolved "https://registry.yarnpkg.com/minio/-/minio-7.0.12.tgz#5dca6daefd5efa94a61c08dc6a2cce44517f3743"
integrity sha512-krmu+vmczVt9fzN2B3l0OdWUbSk63PF6caJYjmbMgGOsaJNy8rm0U05u6AngORdhP/cvlyoa8HZSly/k0Dl6cA== integrity sha512-mTa8bc2X1vcKwbzvNMNk/DHkuSrlfjlG3aA8IA1qihlH73XbwiloX/6skCabmDvrmmt6cx6pytaBJZmp4OMwnw==
dependencies: dependencies:
async "^3.1.0" async "^3.1.0"
block-stream2 "^2.0.0" block-stream2 "^2.0.0"
...@@ -8537,6 +8579,21 @@ mv@~2: ...@@ -8537,6 +8579,21 @@ mv@~2:
ncp "~2.0.0" ncp "~2.0.0"
rimraf "~2.4.0" rimraf "~2.4.0"
   
mysql2@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/mysql2/-/mysql2-2.0.1.tgz#4b8e11d8a7e9d5e302b6edf2fb1ab32acf3b22d8"
integrity sha512-GbiolYnRPPgbkgI1Cbkkr15MvjBVcpbOsm5qBURhlNuokGkNUOv2I/ZYzKap7yirCf4zzyCUJ+qK6ZSWsr1m4A==
dependencies:
cardinal "^2.1.1"
denque "^1.4.1"
generate-function "^2.3.1"
iconv-lite "^0.5.0"
long "^4.0.0"
lru-cache "^5.1.1"
named-placeholders "^1.1.2"
seq-queue "^0.0.5"
sqlstring "^2.3.1"
mysql@~2.17.1: mysql@~2.17.1:
version "2.17.1" version "2.17.1"
resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.17.1.tgz#62bba4a039a9b2f73638cd1652ce50fc6f682899" resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.17.1.tgz#62bba4a039a9b2f73638cd1652ce50fc6f682899"
...@@ -8547,6 +8604,13 @@ mysql@~2.17.1: ...@@ -8547,6 +8604,13 @@ mysql@~2.17.1:
safe-buffer "5.1.2" safe-buffer "5.1.2"
sqlstring "2.3.1" sqlstring "2.3.1"
   
named-placeholders@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.2.tgz#ceb1fbff50b6b33492b5cf214ccf5e39cef3d0e8"
integrity sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==
dependencies:
lru-cache "^4.1.3"
nan@^2.0.8, nan@^2.10.0, nan@^2.12.1: nan@^2.0.8, nan@^2.10.0, nan@^2.12.1:
version "2.14.0" version "2.14.0"