1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-14 10:16:26 +00:00

Merge branch 'master' into master

This commit is contained in:
ibraude
2020-01-07 12:11:27 +02:00
committed by GitHub
45 changed files with 866 additions and 272 deletions

View File

@@ -663,8 +663,8 @@ export default class CodeEditor extends React.Component {
const checkMarkdownNoteIsOpen = mode === 'Boost Flavored Markdown' const checkMarkdownNoteIsOpen = mode === 'Boost Flavored Markdown'
return checkMarkdownNoteIsOpen ? { return checkMarkdownNoteIsOpen ? {
'getAnnotations': this.validatorOfMarkdown, getAnnotations: this.validatorOfMarkdown,
'async': true async: true
} : false } : false
} }
@@ -679,10 +679,10 @@ export default class CodeEditor extends React.Component {
return return
} }
const lintOptions = { const lintOptions = {
'strings': { strings: {
'content': text content: text
}, },
'config': lintConfigJson config: lintConfigJson
} }
return markdownlint(lintOptions, (err, result) => { return markdownlint(lintOptions, (err, result) => {

View File

@@ -119,7 +119,7 @@ class MarkdownEditor extends React.Component {
status: 'PREVIEW' status: 'PREVIEW'
}, () => { }, () => {
this.refs.preview.focus() this.refs.preview.focus()
this.refs.preview.scrollTo(cursorPosition.line) this.refs.preview.scrollToRow(cursorPosition.line)
}) })
eventEmitter.emit('topbar:togglelockbutton', this.state.status) eventEmitter.emit('topbar:togglelockbutton', this.state.status)
} }

View File

@@ -21,6 +21,7 @@ import yaml from 'js-yaml'
import { render } from 'react-dom' import { render } from 'react-dom'
import Carousel from 'react-image-carousel' import Carousel from 'react-image-carousel'
import ConfigManager from '../main/lib/ConfigManager' import ConfigManager from '../main/lib/ConfigManager'
import i18n from 'browser/lib/i18n'
const { remote, shell } = require('electron') const { remote, shell } = require('electron')
const attachmentManagement = require('../main/lib/dataApi/attachmentManagement') const attachmentManagement = require('../main/lib/dataApi/attachmentManagement')
@@ -50,7 +51,6 @@ const CSS_FILES = [
* @param {String} opts.theme * @param {String} opts.theme
* @param {Boolean} [opts.lineNumber] Should show line number * @param {Boolean} [opts.lineNumber] Should show line number
* @param {Boolean} [opts.scrollPastEnd] * @param {Boolean} [opts.scrollPastEnd]
* @param {Boolean} [opts.optimizeOverflowScroll] Should tweak body style to optimize overflow scrollbar display
* @param {Boolean} [opts.allowCustomCSS] Should add custom css * @param {Boolean} [opts.allowCustomCSS] Should add custom css
* @param {String} [opts.customCSS] Will be added to bottom, only if `opts.allowCustomCSS` is truthy * @param {String} [opts.customCSS] Will be added to bottom, only if `opts.allowCustomCSS` is truthy
* @returns {String} * @returns {String}
@@ -62,7 +62,6 @@ function buildStyle (opts) {
codeBlockFontFamily, codeBlockFontFamily,
lineNumber, lineNumber,
scrollPastEnd, scrollPastEnd,
optimizeOverflowScroll,
theme, theme,
allowCustomCSS, allowCustomCSS,
customCSS, customCSS,
@@ -103,7 +102,12 @@ ${markdownStyle}
body { body {
font-family: '${fontFamily.join("','")}'; font-family: '${fontFamily.join("','")}';
font-size: ${fontSize}px; font-size: ${fontSize}px;
${scrollPastEnd ? 'padding-bottom: 90vh;' : ''}
${scrollPastEnd ? `
padding-bottom: 90vh;
box-sizing: border-box;
`
: ''}
${optimizeOverflowScroll ? 'height: 100%;' : ''} ${optimizeOverflowScroll ? 'height: 100%;' : ''}
${RTL ? 'direction: rtl;' : ''} ${RTL ? 'direction: rtl;' : ''}
${RTL ? 'text-align: right;' : ''} ${RTL ? 'text-align: right;' : ''}
@@ -184,6 +188,10 @@ const scrollBarStyle = `
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
background-color: rgba(0, 0, 0, 0.15); background-color: rgba(0, 0, 0, 0.15);
} }
::-webkit-scrollbar-track-piece {
background-color: inherit;
}
` `
const scrollBarDarkStyle = ` const scrollBarDarkStyle = `
::-webkit-scrollbar { ::-webkit-scrollbar {
@@ -193,6 +201,10 @@ const scrollBarDarkStyle = `
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
background-color: rgba(0, 0, 0, 0.3); background-color: rgba(0, 0, 0, 0.3);
} }
::-webkit-scrollbar-track-piece {
background-color: inherit;
}
` `
const OSX = global.process.platform === 'darwin' const OSX = global.process.platform === 'darwin'
@@ -241,6 +253,7 @@ export default class MarkdownPreview extends React.Component {
this.saveAsHtmlHandler = () => this.handleSaveAsHtml() this.saveAsHtmlHandler = () => this.handleSaveAsHtml()
this.saveAsPdfHandler = () => this.handleSaveAsPdf() this.saveAsPdfHandler = () => this.handleSaveAsPdf()
this.printHandler = () => this.handlePrint() this.printHandler = () => this.handlePrint()
this.resizeHandler = _.throttle(this.handleResize.bind(this), 100)
this.linkClickHandler = this.handleLinkClick.bind(this) this.linkClickHandler = this.handleLinkClick.bind(this)
this.initMarkdown = this.initMarkdown.bind(this) this.initMarkdown = this.initMarkdown.bind(this)
@@ -346,7 +359,7 @@ export default class MarkdownPreview extends React.Component {
customCSS, customCSS,
RTL RTL
}) })
let body = this.markdown.render(noteContent) let body = this.refs.root.contentWindow.document.body.innerHTML
body = attachmentManagement.fixLocalURLS( body = attachmentManagement.fixLocalURLS(
body, body,
this.props.storagePath this.props.storagePath
@@ -366,7 +379,7 @@ export default class MarkdownPreview extends React.Component {
let styles = '' let styles = ''
files.forEach(file => { files.forEach(file => {
styles += `<link rel="stylesheet" href="css/${path.basename(file)}">` styles += `<link rel="stylesheet" href="../css/${path.basename(file)}">`
}) })
return `<html> return `<html>
@@ -421,7 +434,8 @@ export default class MarkdownPreview extends React.Component {
.then(res => { .then(res => {
dialog.showMessageBox(remote.getCurrentWindow(), { dialog.showMessageBox(remote.getCurrentWindow(), {
type: 'info', type: 'info',
message: `Exported to ${filename}` message: `Exported to ${filename}`,
buttons: [i18n.__('Ok')]
}) })
}) })
.catch(err => { .catch(err => {
@@ -536,6 +550,10 @@ export default class MarkdownPreview extends React.Component {
'scroll', 'scroll',
this.scrollHandler this.scrollHandler
) )
this.refs.root.contentWindow.addEventListener(
'resize',
this.resizeHandler
)
eventEmitter.on('export:save-text', this.saveAsTextHandler) eventEmitter.on('export:save-text', this.saveAsTextHandler)
eventEmitter.on('export:save-md', this.saveAsMdHandler) eventEmitter.on('export:save-md', this.saveAsMdHandler)
eventEmitter.on('export:save-html', this.saveAsHtmlHandler) eventEmitter.on('export:save-html', this.saveAsHtmlHandler)
@@ -574,6 +592,10 @@ export default class MarkdownPreview extends React.Component {
'scroll', 'scroll',
this.scrollHandler this.scrollHandler
) )
this.refs.root.contentWindow.removeEventListener(
'resize',
this.resizeHandler
)
eventEmitter.off('export:save-text', this.saveAsTextHandler) eventEmitter.off('export:save-text', this.saveAsTextHandler)
eventEmitter.off('export:save-md', this.saveAsMdHandler) eventEmitter.off('export:save-md', this.saveAsMdHandler)
eventEmitter.off('export:save-html', this.saveAsHtmlHandler) eventEmitter.off('export:save-html', this.saveAsHtmlHandler)
@@ -619,7 +641,7 @@ export default class MarkdownPreview extends React.Component {
// Should scroll to top after selecting another note // Should scroll to top after selecting another note
if (prevProps.noteKey !== this.props.noteKey) { if (prevProps.noteKey !== this.props.noteKey) {
this.getWindow().scrollTo(0, 0) this.scrollTo(0, 0)
} }
} }
@@ -686,13 +708,11 @@ export default class MarkdownPreview extends React.Component {
codeBlockFontFamily, codeBlockFontFamily,
lineNumber, lineNumber,
scrollPastEnd, scrollPastEnd,
optimizeOverflowScroll: true,
theme, theme,
allowCustomCSS, allowCustomCSS,
customCSS, customCSS,
RTL RTL
}) })
this.getWindow().document.documentElement.style.overflowY = 'hidden'
} }
getCodeThemeLink (name) { getCodeThemeLink (name) {
@@ -1000,6 +1020,15 @@ export default class MarkdownPreview extends React.Component {
} }
} }
handleResize () {
_.forEach(
this.refs.root.contentWindow.document.querySelectorAll('svg[ratio]'),
el => {
el.setAttribute('height', el.clientWidth / el.getAttribute('ratio'))
}
)
}
focus () { focus () {
this.refs.root.focus() this.refs.root.focus()
} }
@@ -1008,7 +1037,11 @@ export default class MarkdownPreview extends React.Component {
return this.refs.root.contentWindow return this.refs.root.contentWindow
} }
scrollTo (targetRow) { /**
* @public
* @param {Number} targetRow
*/
scrollToRow (targetRow) {
const blocks = this.getWindow().document.querySelectorAll( const blocks = this.getWindow().document.querySelectorAll(
'body>[data-line]' 'body>[data-line]'
) )
@@ -1018,12 +1051,21 @@ export default class MarkdownPreview extends React.Component {
const row = parseInt(block.getAttribute('data-line')) const row = parseInt(block.getAttribute('data-line'))
if (row > targetRow || index === blocks.length - 1) { if (row > targetRow || index === blocks.length - 1) {
block = blocks[index - 1] block = blocks[index - 1]
block != null && this.getWindow().scrollTo(0, block.offsetTop) block != null && this.scrollTo(0, block.offsetTop)
break break
} }
} }
} }
/**
* `document.body.scrollTo`
* @param {Number} x
* @param {Number} y
*/
scrollTo (x, y) {
this.getWindow().document.body.scrollTo(x, y)
}
preventImageDroppedHandler (e) { preventImageDroppedHandler (e) {
e.preventDefault() e.preventDefault()
e.stopPropagation() e.stopPropagation()
@@ -1061,12 +1103,12 @@ export default class MarkdownPreview extends React.Component {
if (posOfHash > -1) { if (posOfHash > -1) {
const extractedId = linkHash.slice(posOfHash + 1) const extractedId = linkHash.slice(posOfHash + 1)
const targetId = mdurl.encode(extractedId) const targetId = mdurl.encode(extractedId)
const targetElement = this.refs.root.contentWindow.document.getElementById( const targetElement = this.getWindow().document.getElementById(
targetId targetId
) )
if (targetElement != null) { if (targetElement != null) {
this.getWindow().scrollTo(0, targetElement.offsetTop) this.scrollTo(0, targetElement.offsetTop)
} }
return return
} }

View File

@@ -5,6 +5,7 @@ import PropTypes from 'prop-types'
import React from 'react' import React from 'react'
import { isArray, sortBy } from 'lodash' import { isArray, sortBy } from 'lodash'
import invertColor from 'invert-color' import invertColor from 'invert-color'
import Emoji from 'react-emoji-render'
import CSSModules from 'browser/lib/CSSModules' import CSSModules from 'browser/lib/CSSModules'
import { getTodoStatus } from 'browser/lib/getTodoStatus' import { getTodoStatus } from 'browser/lib/getTodoStatus'
import styles from './NoteItem.styl' import styles from './NoteItem.styl'
@@ -87,7 +88,7 @@ const NoteItem = ({
: <i styleName='item-title-icon' className='fa fa-fw fa-file-text-o' />} : <i styleName='item-title-icon' className='fa fa-fw fa-file-text-o' />}
<div styleName='item-title'> <div styleName='item-title'>
{note.title.trim().length > 0 {note.title.trim().length > 0
? note.title ? <Emoji text={note.title} />
: <span styleName='item-title-empty'>{i18n.__('Empty note')}</span>} : <span styleName='item-title-empty'>{i18n.__('Empty note')}</span>}
</div> </div>
<div styleName='item-middle'> <div styleName='item-middle'>

View File

@@ -363,7 +363,10 @@ admonition_types = {
danger: {color: #c2185b, icon: "block"}, danger: {color: #c2185b, icon: "block"},
caution: {color: #ffa726, icon: "warning"}, caution: {color: #ffa726, icon: "warning"},
error: {color: #d32f2f, icon: "error_outline"}, error: {color: #d32f2f, icon: "error_outline"},
attention: {color: #455a64, icon: "priority_high"} question: {color: #64dd17, icon: "help_outline"},
quote: {color: #9e9e9e, icon: "format_quote"},
abstract: {color: #00b0ff, icon: "subject"},
attention: {color: #455a64, icon: "priority_high"},
} }
for name, val in admonition_types for name, val in admonition_types
@@ -424,6 +427,9 @@ pre.fence
canvas, svg canvas, svg
max-width 100% !important max-width 100% !important
svg[ratio]
width 100%
.gallery .gallery
width 100% width 100%
height 50vh height 50vh
@@ -444,6 +450,44 @@ pre.fence
color $ui-text-color color $ui-text-color
background-color $ui-tag-backgroundColor background-color $ui-tag-backgroundColor
.markdownIt-TOC-wrapper
list-style none
position fixed
right 0
top 0
margin-left 15px
z-index 1000
transition transform .2s ease-in-out
transform translateX(100%)
.markdownIt-TOC
display block
max-height 90vh
overflow-y auto
padding 25px
padding-left 38px
&,
&:before
background-color $ui-dark-backgroundColor
color: $ui-dark-text-color
&:hover
transform translateX(-15px)
&:before
content 'TOC'
position absolute
width 60px
height 30px
top 60px
left -29px
display flex
align-items center
justify-content center
transform-origin top left
transform rotate(-90deg)
themeDarkBackground = darken(#21252B, 10%) themeDarkBackground = darken(#21252B, 10%)
themeDarkText = #f9f9f9 themeDarkText = #f9f9f9
themeDarkBorder = lighten(themeDarkBackground, 20%) themeDarkBorder = lighten(themeDarkBackground, 20%)
@@ -511,6 +555,14 @@ body[data-theme="dark"]
color $ui-dark-text-color color $ui-dark-text-color
background-color $ui-dark-tag-backgroundColor background-color $ui-dark-tag-backgroundColor
.markdownIt-TOC-wrapper
&,
&:before
background-color darken(themeDarkBackground, 5%)
color themeDarkText
themeSolarizedDarkBackground = $ui-solarized-dark-noteDetail-backgroundColor
themeSolarizedDarkTableOdd = $ui-solarized-dark-noteDetail-backgroundColor themeSolarizedDarkTableOdd = $ui-solarized-dark-noteDetail-backgroundColor
themeSolarizedDarkTableEven = darken($ui-solarized-dark-noteDetail-backgroundColor, 10%) themeSolarizedDarkTableEven = darken($ui-solarized-dark-noteDetail-backgroundColor, 10%)
themeSolarizedDarkTableHead = themeSolarizedDarkTableEven themeSolarizedDarkTableHead = themeSolarizedDarkTableEven
@@ -519,7 +571,7 @@ themeSolarizedDarkTableBorder = themeDarkBorder
body[data-theme="solarized-dark"] body[data-theme="solarized-dark"]
color $ui-solarized-dark-text-color color $ui-solarized-dark-text-color
border-color themeDarkBorder border-color themeDarkBorder
background-color $ui-solarized-dark-noteDetail-backgroundColor background-color themeSolarizedDarkBackground
table table
thead thead
tr tr
@@ -554,6 +606,13 @@ body[data-theme="solarized-dark"]
color $ui-solarized-dark-button--active-color color $ui-solarized-dark-button--active-color
background-color $ui-solarized-dark-button-backgroundColor background-color $ui-solarized-dark-button-backgroundColor
.markdownIt-TOC-wrapper
&,
&:before
background-color darken(themeSolarizedDarkBackground, 15%)
color themeDarkText
themeMonokaiBackground = $ui-monokai-noteDetail-backgroundColor
themeMonokaiTableOdd = $ui-monokai-noteDetail-backgroundColor themeMonokaiTableOdd = $ui-monokai-noteDetail-backgroundColor
themeMonokaiTableEven = darken($ui-monokai-noteDetail-backgroundColor, 10%) themeMonokaiTableEven = darken($ui-monokai-noteDetail-backgroundColor, 10%)
themeMonokaiTableHead = themeMonokaiTableEven themeMonokaiTableHead = themeMonokaiTableEven
@@ -562,7 +621,7 @@ themeMonokaiTableBorder = themeDarkBorder
body[data-theme="monokai"] body[data-theme="monokai"]
color $ui-monokai-text-color color $ui-monokai-text-color
border-color themeDarkBorder border-color themeDarkBorder
background-color $ui-monokai-noteDetail-backgroundColor background-color themeMonokaiBackground
table table
thead thead
tr tr
@@ -600,6 +659,13 @@ body[data-theme="monokai"]
color $ui-monokai-button--active-color color $ui-monokai-button--active-color
background-color $ui-monokai-button-backgroundColor background-color $ui-monokai-button-backgroundColor
.markdownIt-TOC-wrapper
&,
&:before
background-color darken(themeMonokaiBackground, 15%)
color themeDarkText
themeDraculaBackground = $ui-dracula-noteDetail-backgroundColor
themeDraculaTableOdd = $ui-dracula-noteDetail-backgroundColor themeDraculaTableOdd = $ui-dracula-noteDetail-backgroundColor
themeDraculaTableEven = darken($ui-dracula-noteDetail-backgroundColor, 10%) themeDraculaTableEven = darken($ui-dracula-noteDetail-backgroundColor, 10%)
themeDraculaTableHead = themeDraculaTableEven themeDraculaTableHead = themeDraculaTableEven
@@ -608,7 +674,7 @@ themeDraculaTableBorder = themeDarkBorder
body[data-theme="dracula"] body[data-theme="dracula"]
color $ui-dracula-text-color color $ui-dracula-text-color
border-color themeDarkBorder border-color themeDarkBorder
background-color $ui-dracula-noteDetail-backgroundColor background-color themeDraculaBackground
table table
thead thead
tr tr
@@ -645,3 +711,9 @@ body[data-theme="dracula"]
.prev, .next .prev, .next
color $ui-dracula-button--active-color color $ui-dracula-button--active-color
background-color $ui-dracula-button-backgroundColor background-color $ui-dracula-button-backgroundColor
.markdownIt-TOC-wrapper
&,
&:before
background-color darken(themeDraculaBackground, 15%)
color themeDarkText

View File

@@ -22,18 +22,40 @@ function getId () {
function render (element, content, theme, enableHTMLLabel) { function render (element, content, theme, enableHTMLLabel) {
try { try {
const height = element.attributes.getNamedItem('data-height') const height = element.attributes.getNamedItem('data-height')
if (height && height.value !== 'undefined') { const isPredefined = height && height.value !== 'undefined'
if (isPredefined) {
element.style.height = height.value + 'vh' element.style.height = height.value + 'vh'
} }
const isDarkTheme = theme === 'dark' || theme === 'solarized-dark' || theme === 'monokai' || theme === 'dracula' const isDarkTheme = theme === 'dark' || theme === 'solarized-dark' || theme === 'monokai' || theme === 'dracula'
mermaidAPI.initialize({ mermaidAPI.initialize({
theme: isDarkTheme ? 'dark' : 'default', theme: isDarkTheme ? 'dark' : 'default',
themeCSS: isDarkTheme ? darkThemeStyling : '', themeCSS: isDarkTheme ? darkThemeStyling : '',
useMaxWidth: false, flowchart: {
flowchart: { htmlLabels: enableHTMLLabel } htmlLabels: enableHTMLLabel
},
gantt: {
useWidth: element.clientWidth
}
}) })
mermaidAPI.render(getId(), content, (svgGraph) => { mermaidAPI.render(getId(), content, (svgGraph) => {
element.innerHTML = svgGraph element.innerHTML = svgGraph
if (!isPredefined) {
const el = element.firstChild
const viewBox = el.getAttribute('viewBox').split(' ')
let ratio = viewBox[2] / viewBox[3]
if (el.style.maxWidth) {
const maxWidth = parseFloat(el.style.maxWidth)
ratio *= el.parentNode.clientWidth / maxWidth
}
el.setAttribute('ratio', ratio)
el.setAttribute('height', el.parentNode.clientWidth / ratio)
console.log(el)
}
}) })
} catch (e) { } catch (e) {
element.className = 'mermaid-error' element.className = 'mermaid-error'

View File

@@ -11,6 +11,10 @@ const languages = [
name: 'Chinese (zh-TW)', name: 'Chinese (zh-TW)',
locale: 'zh-TW' locale: 'zh-TW'
}, },
{
name: 'Czech',
locale: 'cs'
},
{ {
name: 'Danish', name: 'Danish',
locale: 'da' locale: 'da'

View File

@@ -6,7 +6,7 @@ const { dialog } = remote
export function confirmDeleteNote (confirmDeletion, permanent) { export function confirmDeleteNote (confirmDeletion, permanent) {
if (confirmDeletion || permanent) { if (confirmDeletion || permanent) {
const alertConfig = { const alertConfig = {
ype: 'warning', type: 'warning',
message: i18n.__('Confirm note deletion'), message: i18n.__('Confirm note deletion'),
detail: i18n.__('This will permanently remove this note.'), detail: i18n.__('This will permanently remove this note.'),
buttons: [i18n.__('Confirm'), i18n.__('Cancel')] buttons: [i18n.__('Confirm'), i18n.__('Cancel')]

View File

@@ -124,16 +124,23 @@ class Markdown {
slugify: require('./slugify') slugify: require('./slugify')
}) })
this.md.use(require('markdown-it-kbd')) this.md.use(require('markdown-it-kbd'))
this.md.use(require('markdown-it-admonition'), {types: ['note', 'hint', 'attention', 'caution', 'danger', 'error']}) this.md.use(require('markdown-it-admonition'), {types: ['note', 'hint', 'attention', 'caution', 'danger', 'error', 'quote', 'abstract', 'question']})
this.md.use(require('markdown-it-abbr')) this.md.use(require('markdown-it-abbr'))
this.md.use(require('markdown-it-sub')) this.md.use(require('markdown-it-sub'))
this.md.use(require('markdown-it-sup')) this.md.use(require('markdown-it-sup'))
this.md.use(markdownItTocAndAnchor, {
this.md.use(md => {
markdownItTocAndAnchor(md, {
toc: true, toc: true,
tocPattern: /\[TOC\]/i, tocPattern: /\[TOC\]/i,
anchorLink: false, anchorLink: false,
appendIdToHeading: false appendIdToHeading: false
}) })
md.renderer.rules.toc_open = () => '<div class="markdownIt-TOC-wrapper">'
md.renderer.rules.toc_close = () => '</div>'
})
this.md.use(require('./markdown-it-deflist')) this.md.use(require('./markdown-it-deflist'))
this.md.use(require('./markdown-it-frontmatter')) this.md.use(require('./markdown-it-frontmatter'))

View File

@@ -57,7 +57,7 @@ class SideNav extends React.Component {
deleteTag (tag) { deleteTag (tag) {
const selectedButton = remote.dialog.showMessageBox(remote.getCurrentWindow(), { const selectedButton = remote.dialog.showMessageBox(remote.getCurrentWindow(), {
ype: 'warning', type: 'warning',
message: i18n.__('Confirm tag deletion'), message: i18n.__('Confirm tag deletion'),
detail: i18n.__('This will permanently remove this tag.'), detail: i18n.__('This will permanently remove this tag.'),
buttons: [i18n.__('Confirm'), i18n.__('Cancel')] buttons: [i18n.__('Confirm'), i18n.__('Cancel')]

View File

@@ -8,6 +8,7 @@ const win = global.process.platform === 'win32'
const electron = require('electron') const electron = require('electron')
const { ipcRenderer } = electron const { ipcRenderer } = electron
const consts = require('browser/lib/consts') const consts = require('browser/lib/consts')
const electronConfig = new (require('electron-config'))()
let isInitialized = false let isInitialized = false
@@ -26,6 +27,7 @@ export const DEFAULT_CONFIG = {
sortTagsBy: 'ALPHABETICAL', // 'ALPHABETICAL', 'COUNTER' sortTagsBy: 'ALPHABETICAL', // 'ALPHABETICAL', 'COUNTER'
listStyle: 'DEFAULT', // 'DEFAULT', 'SMALL' listStyle: 'DEFAULT', // 'DEFAULT', 'SMALL'
amaEnabled: true, amaEnabled: true,
autoUpdateEnabled: true,
hotkey: { hotkey: {
toggleMain: OSX ? 'Command + Alt + L' : 'Super + Alt + E', toggleMain: OSX ? 'Command + Alt + L' : 'Super + Alt + E',
toggleMode: OSX ? 'Command + Alt + M' : 'Ctrl + M', toggleMode: OSX ? 'Command + Alt + M' : 'Ctrl + M',
@@ -142,6 +144,8 @@ function get () {
_save(config) _save(config)
} }
config.autoUpdateEnabled = electronConfig.get('autoUpdateEnabled', config.autoUpdateEnabled)
if (!isInitialized) { if (!isInitialized) {
isInitialized = true isInitialized = true
let editorTheme = document.getElementById('editorTheme') let editorTheme = document.getElementById('editorTheme')
@@ -206,6 +210,8 @@ function set (updates) {
editorTheme.setAttribute('href', newTheme.path) editorTheme.setAttribute('href', newTheme.path)
} }
electronConfig.set('autoUpdateEnabled', newConfig.autoUpdateEnabled)
ipcRenderer.send('config-renew', { ipcRenderer.send('config-renew', {
config: get() config: get()
}) })

View File

@@ -14,12 +14,18 @@ function validateUrl (str) {
} }
} }
const ERROR_MESSAGES = {
ENOTFOUND: 'URL not found. Please check the URL, or your internet connection and try again.',
VALIDATION_ERROR: 'Please check if the URL follows this format: https://www.google.com',
UNEXPECTED: 'Unexpected error! Please check console for details!'
}
function createNoteFromUrl (url, storage, folder, dispatch = null, location = null) { function createNoteFromUrl (url, storage, folder, dispatch = null, location = null) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const td = createTurndownService() const td = createTurndownService()
if (!validateUrl(url)) { if (!validateUrl(url)) {
reject({result: false, error: 'Please check your URL is in correct format. (Example, https://www.google.com)'}) reject({result: false, error: ERROR_MESSAGES.VALIDATION_ERROR})
} }
const request = url.startsWith('https') ? https : http const request = url.startsWith('https') ? https : http
@@ -70,8 +76,9 @@ function createNoteFromUrl (url, storage, folder, dispatch = null, location = nu
req.on('error', (e) => { req.on('error', (e) => {
console.error('error in parsing URL', e) console.error('error in parsing URL', e)
reject({result: false, error: e}) reject({result: false, error: ERROR_MESSAGES[e.code] || ERROR_MESSAGES.UNEXPECTED})
}) })
req.end() req.end()
}) })
} }

View File

@@ -61,6 +61,15 @@ class InfoTab extends React.Component {
}) })
} }
toggleAutoUpdate () {
const newConfig = {
autoUpdateEnabled: !this.state.config.autoUpdateEnabled
}
this.setState({ config: newConfig })
ConfigManager.set(newConfig)
}
infoMessage () { infoMessage () {
const { amaMessage } = this.state const { amaMessage } = this.state
return amaMessage ? <p styleName='policy-confirm'>{amaMessage}</p> : null return amaMessage ? <p styleName='policy-confirm'>{amaMessage}</p> : null
@@ -140,6 +149,8 @@ class InfoTab extends React.Component {
</li> </li>
</ul> </ul>
<div><label><input type='checkbox' onChange={this.toggleAutoUpdate.bind(this)} checked={this.state.config.autoUpdateEnabled} />{i18n.__('Enable Auto Update')}</label></div>
<hr styleName='separate-line' /> <hr styleName='separate-line' />
<div styleName='group-header2--sub'>{i18n.__('Analytics')}</div> <div styleName='group-header2--sub'>{i18n.__('Analytics')}</div>

View File

@@ -1,3 +1,5 @@
> [Please consider to contribute to the new Boost Note app too!](https://github.com/BoostIO/BoostNote.next)
# Contributing to Boostnote (English) # Contributing to Boostnote (English)
### When you open an issue or a bug report ### When you open an issue or a bug report

View File

@@ -42,7 +42,9 @@ Então nós preparamos um _script_ separado, o qual somente cria um executável.
grunt pre-build grunt pre-build
``` ```
Você irá encontrar o executável na pasta `dist`. Nota: o atualizador automático não funciona porque o app não está certificado. Você irá encontrar o executável na pasta `dist`.
**Nota:** o atualizador automático não funciona porque o app não está certificado.
Se você achar isto necessário, você pode usar o _codesign_ ou o _authenticode_ com esse executável. Se você achar isto necessário, você pode usar o _codesign_ ou o _authenticode_ com esse executável.
@@ -50,7 +52,7 @@ Se você achar isto necessário, você pode usar o _codesign_ ou o _authenticode
Pacotes de distribuição são gerados através do comando `grunt build` em plataforma Linux (e.g. Ubuntu, Fedora). Pacotes de distribuição são gerados através do comando `grunt build` em plataforma Linux (e.g. Ubuntu, Fedora).
> Nota: você pode criar `.deb` e `.rpm` em um mesmo ambiente. **Nota:** você pode criar `.deb` e `.rpm` em um mesmo ambiente.
Depois de instalar uma versão suportada do `node` e do `npm`, deve-se instalar as dependências para gerar os pacotes. Depois de instalar uma versão suportada do `node` e do `npm`, deve-se instalar as dependências para gerar os pacotes.

View File

@@ -4,6 +4,7 @@ const Menu = electron.Menu
const ipc = electron.ipcMain const ipc = electron.ipcMain
const GhReleases = require('electron-gh-releases') const GhReleases = require('electron-gh-releases')
const { isPackaged } = app const { isPackaged } = app
const electronConfig = new (require('electron-config'))()
// electron.crashReporter.start() // electron.crashReporter.start()
const singleInstance = app.requestSingleInstanceLock() const singleInstance = app.requestSingleInstanceLock()
@@ -40,6 +41,7 @@ function checkUpdate () {
console.log('Updates are disabled in Development mode, see main-app.js') console.log('Updates are disabled in Development mode, see main-app.js')
return true return true
} }
if (!electronConfig.get('autoUpdateEnabled', true)) return
if (process.platform === 'linux' || isUpdateReady) { if (process.platform === 'linux' || isUpdateReady) {
return true return true
} }

View File

@@ -86,21 +86,21 @@ const file = {
}, },
{ {
label: 'Focus Note', label: 'Focus Note',
accelerator: macOS ? 'Command+E' : 'Control+E', accelerator: 'CommandOrControl+E',
click () { click () {
mainWindow.webContents.send('detail:focus') mainWindow.webContents.send('detail:focus')
} }
}, },
{ {
label: 'Delete Note', label: 'Delete Note',
accelerator: macOS ? 'Command+Shift+Backspace' : 'Control+Shift+Backspace', accelerator: 'CommandOrControl+Shift+Backspace',
click () { click () {
mainWindow.webContents.send('detail:delete') mainWindow.webContents.send('detail:delete')
} }
}, },
{ {
label: 'Clone Note', label: 'Clone Note',
accelerator: macOS ? 'Command+D' : 'Control+D', accelerator: 'CommandOrControl+D',
click () { click () {
mainWindow.webContents.send('list:clone') mainWindow.webContents.send('list:clone')
} }
@@ -260,7 +260,7 @@ const view = {
}, },
{ {
label: 'Toggle Developer Tools', label: 'Toggle Developer Tools',
accelerator: macOS ? 'Command+Alt+I' : 'Control+Shift+I', accelerator: 'CommandOrControl+Alt+I',
click () { click () {
BrowserWindow.getFocusedWindow().toggleDevTools() BrowserWindow.getFocusedWindow().toggleDevTools()
} }
@@ -314,21 +314,21 @@ const view = {
}, },
{ {
label: 'Actual Size', label: 'Actual Size',
accelerator: macOS ? 'CommandOrControl+0' : 'Control+0', accelerator: 'CommandOrControl+0',
click () { click () {
mainWindow.webContents.send('status:zoomreset') mainWindow.webContents.send('status:zoomreset')
} }
}, },
{ {
label: 'Zoom In', label: 'Zoom In',
accelerator: macOS ? 'CommandOrControl+=' : 'Control+=', accelerator: 'CommandOrControl+=',
click () { click () {
mainWindow.webContents.send('status:zoomin') mainWindow.webContents.send('status:zoomin')
} }
}, },
{ {
label: 'Zoom Out', label: 'Zoom Out',
accelerator: macOS ? 'CommandOrControl+-' : 'Control+-', accelerator: 'CommandOrControl+-',
click () { click () {
mainWindow.webContents.send('status:zoomout') mainWindow.webContents.send('status:zoomout')
} }

View File

@@ -10,6 +10,7 @@
<link rel="stylesheet" href="../node_modules/codemirror/lib/codemirror.css"> <link rel="stylesheet" href="../node_modules/codemirror/lib/codemirror.css">
<link rel="stylesheet" href="../node_modules/katex/dist/katex.min.css"> <link rel="stylesheet" href="../node_modules/katex/dist/katex.min.css">
<link rel="stylesheet" href="../node_modules/codemirror/addon/dialog/dialog.css"> <link rel="stylesheet" href="../node_modules/codemirror/addon/dialog/dialog.css">
<link rel="stylesheet" href="../node_modules/codemirror/addon/lint/lint.css">
<link rel="stylesheet" href="../extra_scripts/codemirror/mode/bfm/bfm.css"> <link rel="stylesheet" href="../extra_scripts/codemirror/mode/bfm/bfm.css">
<title>Boostnote</title> <title>Boostnote</title>
@@ -129,6 +130,10 @@
<script src="../node_modules/codemirror/addon/dialog/dialog.js"></script> <script src="../node_modules/codemirror/addon/dialog/dialog.js"></script>
<script src="../node_modules/codemirror/addon/display/rulers.js"></script> <script src="../node_modules/codemirror/addon/display/rulers.js"></script>
<script src="../node_modules/jsonlint-mod/lib/jsonlint.js"></script>
<script src="../node_modules/codemirror/addon/lint/lint.js"></script>
<script src="../node_modules/codemirror/addon/lint/json-lint.js"></script>
<script src="../node_modules/raphael/raphael.min.js"></script> <script src="../node_modules/raphael/raphael.min.js"></script>
<script src="../node_modules/flowchart.js/release/flowchart.min.js"></script> <script src="../node_modules/flowchart.js/release/flowchart.min.js"></script>
<script> <script>

194
locales/cs.json Normal file
View File

@@ -0,0 +1,194 @@
{
"Notes": "Poznámky",
"Tags": "Štítky",
"Preferences": "Předvolby",
"Make a note": "Vytvořit poznámku",
"Ctrl": "Ctrl",
"Ctrl(^)": "Ctrl(^)",
"to create a new note": " pro vytvoření nové poznámky",
"Toggle Mode": "Přepnout režim",
"Add tag...": "Přidat štítek...",
"Trash": "Koš",
"Ok": "Ok",
"MODIFICATION DATE": "DATUM ZMĚNY",
"Words": "Slova",
"Letters": "Písmena",
"STORAGE": "ÚLOŽIŠTĚ",
"FOLDER": "SLOŽKA",
"CREATION DATE": "DATUM VYTVOŘENÍ",
"NOTE LINK": "ODKAZ NA POZNÁMKU",
".md": ".md",
".txt": ".txt",
".html": ".html",
".pdf": ".pdf",
"Print": "Tisk",
"Your preferences for Boostnote": "Vaše předvolby pro Boostnote",
"Help": "Nápověda",
"Hide Help": "Skrýt nápovědu",
"Storage Locations": "Umístění úložiště",
"Add Storage Location": "Přidat umístění úložiště",
"Add Folder": "Přidat složku",
"Select Folder": "Vybrat složku",
"Open Storage folder": "Otevřít složku úložiště",
"Unlink": "Zrušit odkaz",
"Edit": "Editovat",
"Delete": "Odstranit",
"Interface": "Rozhraní",
"Interface Theme": "Téma vzhledu rozhraní",
"Default": "Výchozí",
"White": "Bílé",
"Solarized Dark": "Solarizovaně tmavé",
"Dark": "Tmavé",
"Show a confirmation dialog when deleting notes": "Zobrazovat při odstraňování poznámek dialog pro potvrzení",
"Disable Direct Write (It will be applied after restarting)": "Zakázat přímý zápis (Bude aplikováno po restartu)",
"Show only related tags": "Zobrazit pouze související štítky",
"Editor Theme": "Téma vzhledu editoru",
"Editor Font Size": "Velikost písma editoru",
"Editor Font Family": "Rodiny písma editoru",
"Editor Indent Style": "Styl odsazení editoru",
"Spaces": "Mezery",
"Tabs": "Tabulátory",
"Switch to Preview": "Přepnout na náhled",
"When Editor Blurred": "Když se editor rozostří",
"When Editor Blurred, Edit On Double Click": "Při rozostření editoru, editovat po dvojím kliknutí",
"On Right Click": "Po kliknutí pravým tlačítkem myši",
"Editor Keymap": "Mapa kláves editoru",
"default": "výchozí",
"vim": "vim",
"emacs": "emacs",
"⚠️ Please restart boostnote after you change the keymap": "⚠️ Prosím restartujte boostnote po změně mapy kláves",
"Show line numbers in the editor": "Zobrazit v editoru čísla řádků",
"Allow editor to scroll past the last line": "Povolit v editoru scrolování za poslední řádek",
"Enable smart quotes": "Povolit chytré komentáře",
"Bring in web page title when pasting URL on editor": "Vložit název webové stránky při zkopírování URL do editoru",
"Preview": "Náhled",
"Preview Font Size": "Velikost písma v náhledu",
"Preview Font Family": "Rodina písma v náhledu",
"Code Block Theme": "Téma bloku kódu",
"Allow preview to scroll past the last line": "Povolit v náhledu scrolování za poslední řádek",
"Show line numbers for preview code blocks": "Zobrazit čísla řádků v náhledu bloků kódu",
"LaTeX Inline Open Delimiter": "inline otevírací oddělovač v LaTeX",
"LaTeX Inline Close Delimiter": "inline uzavírací oddělovač v LaTeX",
"LaTeX Block Open Delimiter": "otevírací oddělovač bloku v LaTeX",
"LaTeX Block Close Delimiter": "uzavírací oddělovač bloku v LaTeX",
"PlantUML Server": "PlantUML server",
"Community": "Komunita",
"Subscribe to Newsletter": "Přihlásit se k odběru novinek",
"GitHub": "GitHub",
"Blog": "Blog",
"Facebook Group": "Facebook Skupina",
"Twitter": "Twitter",
"About": "O aplikaci",
"Boostnote": "Boostnote",
"An open source note-taking app made for programmers just like you.": "Open source aplikace pro tvorbu poznámek vytvořená programátory jako jste vy.",
"Website": "Webová stránka",
"Development": "Vývoj",
" : Development configurations for Boostnote.": " : Vývojové konfigurace pro Boostnote.",
"Copyright (C) 2017 - 2019 BoostIO": "Copyright (C) 2017 - 2019 BoostIO",
"License: GPL v3": "License: GPL v3",
"Analytics": "Analytika",
"Boostnote collects anonymous data for the sole purpose of improving the application, and strictly does not collect any personal information such the contents of your notes.": "Boostnote sbírá anonymní data pouze pro účely zlepšování aplikace, a v žádném případě nesbírá žádné osobní údaje, jako je například obsah vašich poznámek.",
"You can see how it works on ": "Můžete se podívat, jak to funguje ",
"You can choose to enable or disable this option.": "Tuto možnost můžete povolit nebo zakázat.",
"Enable analytics to help improve Boostnote": "Povolit analytiku pro další zlepšování Boostnote",
"Crowdfunding": "Crowdfunding",
"Dear Boostnote users,": "Vážení uživatelé Boostnote,",
"Thank you for using Boostnote!": "Děkujeme, že používáte Boostnote!",
"Boostnote is used in about 200 different countries and regions by an awesome community of developers.": "Boostnote je používán v přibližně 200 různých zemích a regionech úžasnou komunitou vývojářů.",
"To support our growing userbase, and satisfy community expectations,": "Abychom podpořili rostoucí uživatelskou základnu a naplnili očekávání komunity,",
"we would like to invest more time and resources in this project.": "rádi bychom do tohoto projektu investovali více času a zdrojů.",
"If you use Boostnote and see its potential, help us out by supporting the project on OpenCollective!": "Pokud používáte Boostnote a vidíte jeho potenciál, pomozte nám podporou projektu na OpenCollective!",
"Thanks,": "Děkujeme,",
"The Boostnote Team": "Tým Boostnote",
"Support via OpenCollective": "Podpořit přes OpenCollective",
"Language": "Jazyk",
"Default New Note": "Výchozí nová poznámka",
"English": "Angličtina",
"German": "Němčina",
"French": "Francouzština",
"Show \"Saved to Clipboard\" notification when copying": "Zobrazit při kopírování upozornění \"Uloženo do schránky\"",
"All Notes": "Všechny poznámky",
"Starred": "Oblíbené",
"Are you sure to ": "Opravdu ",
" delete": " odstranit",
"this folder?": "tuto složku?",
"Confirm": "Potvrdit",
"Cancel": "Storno",
"Markdown Note": "Markdown poznámka",
"This format is for creating text documents. Checklists, code blocks and Latex blocks are available.": "Tento formát je pro tvorbu textových dokumentů. Zaškrtávací seznamy, bloky kódu a Latex bloky jsou dostupné.",
"Snippet Note": "Útržek kódu",
"This format is for creating code snippets. Multiple snippets can be grouped into a single note.": "Tento formát je pro tvorbu útržků kódu. Do jedné poznámky lze seskupit více útržků.",
"Tab to switch format": "Pro přepnutí formátu zmáčkněte Tab",
"Updated": "Aktualizováno",
"Created": "Vytvořeno",
"Alphabetically": "Abecedně",
"Counter": "Počítadlo",
"Default View": "Výchozí zobrazení",
"Compressed View": "Komprimované zobrazení",
"Search": "Vyhledat",
"Blog Type": "Typ blogu",
"Blog Address": "Adresa blogu",
"Save": "Uložit",
"Auth": "Autentizace",
"Authentication Method": "Autentizační metoda",
"JWT": "JWT",
"USER": "UŽIVATEL",
"Token": "Token",
"Storage": "Uložiště",
"Hotkeys": "Klávesové zkratky",
"Show/Hide Boostnote": "Zobrazit/skrýt Boostnote",
"Toggle Editor Mode": "Přepnout režim editoru",
"Delete Note": "Odstranit poznámku",
"Restore": "Obnovit",
"Permanent Delete": "Trvale odstranit",
"Confirm note deletion": "Potvrdit odstranění poznámky",
"This will permanently remove this note.": "Tato akce trvale odstraní poznámku.",
"Successfully applied!": "Úspěšně aplikováno!",
"Albanian": "Albánština",
"Chinese (zh-CN)": "Čínština (zjednodušená)",
"Chinese (zh-TW)": "Čínština (tradiční)",
"Danish": "Dánština",
"Japanese": "Japonština",
"Korean": "Korejština",
"Norwegian": "Norština",
"Polish": "Polština",
"Portuguese": "Portugalština",
"Spanish": "Španělština",
"Unsaved Changes!": "Neuložené změny!",
"UserName": "Uživatelské jméno",
"Password": "Heslo",
"Russian": "Rusky",
"Hungarian": "Maďarsky",
"Thai": "Thajština (ภาษาไทย)",
"Command(⌘)": "Command(⌘)",
"Add Storage": "Přidat úložiště",
"Name": "Jméno",
"Type": "Typ",
"File System": "Souborový systém",
"Setting up 3rd-party cloud storage integration:": "Nastavení integrace s úložištěm třetí strany:",
"Cloud-Syncing-and-Backup": "Synchronizace a záloha do cloudu",
"Location": "Umístění",
"Add": "Přidat",
"Unlink Storage": "Odpojit úložiště",
"Unlinking removes this linked storage from Boostnote. No data is removed, please manually delete the folder from your hard drive if needed.": "Odpojení odstraní toto připojené úložiště z Boostnote. Žádná data nebudou odstraněna, prosím odstraňte složku z vašeho pevného disku manuálně.",
"Editor Rulers": "Pravítka v editoru",
"Enable": "Povolit",
"Disable": "Zakázat",
"Sanitization": "Sanitace",
"Only allow secure html tags (recommended)": "Povolit pouze bezpečné html tagy (doporučeno)",
"Render newlines in Markdown paragraphs as <br>": "Vykreslit konce řádků v Markdown jako <br>",
"Allow styles": "Povolit styly",
"Allow dangerous html tags": "Povolit nebezpečné html tagy",
"Convert textual arrows to beautiful signs. ⚠ This will interfere with using HTML comments in your Markdown.": "Převést textové šipky do překrásných symbolů. ⚠ Toto bude kolidovat s použitím HTML komentářů ve vašem Markdown.",
"⚠ You have pasted a link referring an attachment that could not be found in the storage location of this note. Pasting links referring attachments is only supported if the source and destination location is the same storage. Please Drag&Drop the attachment instead! ⚠": "⚠ Vložili jste odkaz směrující na přílohu, kterou nebylo možné v umístění úložiště této poznámky najít. Vložením odkazu směrujícího na přílohy je podporováno pouze v případě, že se zdrojové a cílového úložiště shodují. Raději sem prosím přílohu přetáhněte! ⚠",
"Spellcheck disabled": "Kontrola pravopisu zakázána",
"Save tags of a note in alphabetical order": "Uložit štítky poznámky v abecedním pořadí",
"Enable live count of notes": "Povolit zobrazení aktuálního počtu poznámek",
"Enable smart table editor": "Povolit chytrý editor tabulek",
"Snippet Default Language": "Výchozí jazyk kódu",
"New notes are tagged with the filtering tags": "Nové poznámky jsou opatřeny štítky z filtru",
"Show menu bar": "Zobrazit lištu menu",
"Auto Detect": "Automatická detekce",
"Enable HTML label in mermaid flowcharts": "Povolit HTML label v mermaid flowcharts ⚠ Tato možnost je potenciálním zdrojem XSS.",
"Wrap line in Snippet Note": "Ukončovat řádky v útržcích kódu"
}

View File

@@ -8,6 +8,7 @@
"to create a new note": "to create a new note", "to create a new note": "to create a new note",
"Toggle Mode": "Toggle Mode", "Toggle Mode": "Toggle Mode",
"Trash": "Trash", "Trash": "Trash",
"Ok": "Ok",
"MODIFICATION DATE": "MODIFICATION DATE", "MODIFICATION DATE": "MODIFICATION DATE",
"Words": "Words", "Words": "Words",
"Letters": "Letters", "Letters": "Letters",
@@ -135,6 +136,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "Chinese (zh-CN)", "Chinese (zh-CN)": "Chinese (zh-CN)",
"Chinese (zh-TW)": "Chinese (zh-TW)", "Chinese (zh-TW)": "Chinese (zh-TW)",
"Czech": "Czech",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -8,6 +8,7 @@
"to create a new note": "um eine neue Notiz zu erstellen", "to create a new note": "um eine neue Notiz zu erstellen",
"Toggle Mode": "Modus umschalten", "Toggle Mode": "Modus umschalten",
"Trash": "Papierkorb", "Trash": "Papierkorb",
"Ok": "Ok",
"MODIFICATION DATE": "ÄNDERUNGSDATUM", "MODIFICATION DATE": "ÄNDERUNGSDATUM",
"Words": "Wörter", "Words": "Wörter",
"Letters": "Buchstaben", "Letters": "Buchstaben",
@@ -133,6 +134,7 @@
"This will permanently remove this note.": "Diese Notiz wird dauerhaft gelöscht.", "This will permanently remove this note.": "Diese Notiz wird dauerhaft gelöscht.",
"Unsaved Changes!": "Speichern notwendig!", "Unsaved Changes!": "Speichern notwendig!",
"Albanian": "Albanisch", "Albanian": "Albanisch",
"Czech": "Tschechisch",
"Danish": "Dänisch", "Danish": "Dänisch",
"Japanese": "Japanisch", "Japanese": "Japanisch",
"Korean": "Koreanisch", "Korean": "Koreanisch",

View File

@@ -9,6 +9,7 @@
"Toggle Mode": "Toggle Mode", "Toggle Mode": "Toggle Mode",
"Add tag...": "Add tag...", "Add tag...": "Add tag...",
"Trash": "Trash", "Trash": "Trash",
"Ok": "Ok",
"MODIFICATION DATE": "MODIFICATION DATE", "MODIFICATION DATE": "MODIFICATION DATE",
"Words": "Words", "Words": "Words",
"Letters": "Letters", "Letters": "Letters",
@@ -146,6 +147,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "Chinese (zh-CN)", "Chinese (zh-CN)": "Chinese (zh-CN)",
"Chinese (zh-TW)": "Chinese (zh-TW)", "Chinese (zh-TW)": "Chinese (zh-TW)",
"Czech": "Czech",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",
@@ -189,5 +191,6 @@
"Show menu bar": "Show menu bar", "Show menu bar": "Show menu bar",
"Auto Detect": "Auto Detect", "Auto Detect": "Auto Detect",
"Enable HTML label in mermaid flowcharts": "Enable HTML label in mermaid flowcharts ⚠ This option potentially has a risk of XSS.", "Enable HTML label in mermaid flowcharts": "Enable HTML label in mermaid flowcharts ⚠ This option potentially has a risk of XSS.",
"Wrap line in Snippet Note": "Wrap line in Snippet Note" "Wrap line in Snippet Note": "Wrap line in Snippet Note",
"Enable Auto Update": "Enable Auto Update"
} }

View File

@@ -8,6 +8,7 @@
"to create a new note": "para crear una nueva nota", "to create a new note": "para crear una nueva nota",
"Toggle Mode": "Alternar modo", "Toggle Mode": "Alternar modo",
"Trash": "Basura", "Trash": "Basura",
"Ok": "Ok",
"MODIFICATION DATE": "FECHA DE MODIFICACIÓN", "MODIFICATION DATE": "FECHA DE MODIFICACIÓN",
"Words": "Palabras", "Words": "Palabras",
"Letters": "Letras", "Letters": "Letras",
@@ -135,6 +136,7 @@
"Albanian": "Albanés", "Albanian": "Albanés",
"Chinese (zh-CN)": "Chino - China", "Chinese (zh-CN)": "Chino - China",
"Chinese (zh-TW)": "Chino - Taiwán", "Chinese (zh-TW)": "Chino - Taiwán",
"Czech": "Checo",
"Danish": "Danés", "Danish": "Danés",
"Japanese": "Japonés", "Japanese": "Japonés",
"Korean": "Coreano", "Korean": "Coreano",

View File

@@ -136,6 +136,7 @@
"Albanian": "آلبانی", "Albanian": "آلبانی",
"Chinese (zh-CN)": "چینی (zh-CN)", "Chinese (zh-CN)": "چینی (zh-CN)",
"Chinese (zh-TW)": "چینی (zh-TW)", "Chinese (zh-TW)": "چینی (zh-TW)",
"Czech": "Czech",
"Danish": "دانمارکی", "Danish": "دانمارکی",
"Japanese": "ژاپنی", "Japanese": "ژاپنی",
"Korean": "کره ای", "Korean": "کره ای",

View File

@@ -8,6 +8,7 @@
"to create a new note": "pour créer une nouvelle note", "to create a new note": "pour créer une nouvelle note",
"Toggle Mode": "Toggle Mode", "Toggle Mode": "Toggle Mode",
"Trash": "Poubelle", "Trash": "Poubelle",
"Ok": "Ok",
"MODIFICATION DATE": "DATE DE MODIFICATION", "MODIFICATION DATE": "DATE DE MODIFICATION",
"Words": "Mots", "Words": "Mots",
"Letters": "Lettres", "Letters": "Lettres",
@@ -137,6 +138,7 @@
"Albanian": "Albanais", "Albanian": "Albanais",
"Chinese (zh-CN)": "Chinois (zh-CN)", "Chinese (zh-CN)": "Chinois (zh-CN)",
"Chinese (zh-TW)": "Chinois (zh-TW)", "Chinese (zh-TW)": "Chinois (zh-TW)",
"Czech": "Tchèque",
"Toggle Editor Mode": "Basculer en mode éditeur", "Toggle Editor Mode": "Basculer en mode éditeur",
"Danish": "Danois", "Danish": "Danois",
"Japanese": "Japonais", "Japanese": "Japonais",

View File

@@ -143,6 +143,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "Chinese (zh-CN)", "Chinese (zh-CN)": "Chinese (zh-CN)",
"Chinese (zh-TW)": "Chinese (zh-TW)", "Chinese (zh-TW)": "Chinese (zh-TW)",
"Czech": "Czech",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -8,6 +8,7 @@
"to create a new note": "per creare una nuova nota", "to create a new note": "per creare una nuova nota",
"Toggle Mode": "Cambia Modalità", "Toggle Mode": "Cambia Modalità",
"Trash": "Cestino", "Trash": "Cestino",
"Ok": "Ok",
"MODIFICATION DATE": "DATA DI MODIFICA", "MODIFICATION DATE": "DATA DI MODIFICA",
"Words": "Parole", "Words": "Parole",
"Letters": "Lettere", "Letters": "Lettere",
@@ -136,6 +137,7 @@
"Albanian": "Albanese", "Albanian": "Albanese",
"Chinese (zh-CN)": "Cinese (zh-CN)", "Chinese (zh-CN)": "Cinese (zh-CN)",
"Chinese (zh-TW)": "Cinese (zh-TW)", "Chinese (zh-TW)": "Cinese (zh-TW)",
"Czech": "Ceco",
"Danish": "Danese", "Danish": "Danese",
"Japanese": "Giapponese", "Japanese": "Giapponese",
"Korean": "Koreano", "Korean": "Koreano",

View File

@@ -182,6 +182,7 @@
"Albanian": "アルバニア語", "Albanian": "アルバニア語",
"Chinese (zh-CN)": "簡体字中国語 (zh-CN)", "Chinese (zh-CN)": "簡体字中国語 (zh-CN)",
"Chinese (zh-TW)": "繁体字中国語 (zh-TW)", "Chinese (zh-TW)": "繁体字中国語 (zh-TW)",
"Czech": "チェコ語",
"Danish": "デンマーク語", "Danish": "デンマーク語",
"Japanese": "日本語", "Japanese": "日本語",
"Korean": "韓国語", "Korean": "韓国語",

View File

@@ -135,6 +135,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "Chinese (zh-CN)", "Chinese (zh-CN)": "Chinese (zh-CN)",
"Chinese (zh-TW)": "Chinese (zh-TW)", "Chinese (zh-TW)": "Chinese (zh-TW)",
"Czech": "체코 어",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -135,6 +135,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "Chinese (zh-CN)", "Chinese (zh-CN)": "Chinese (zh-CN)",
"Chinese (zh-TW)": "Chinese (zh-TW)", "Chinese (zh-TW)": "Chinese (zh-TW)",
"Czech": "Czech",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -141,6 +141,7 @@
"Albanian": "Albański", "Albanian": "Albański",
"Chinese (zh-CN)": "Chiński (zh-CN)", "Chinese (zh-CN)": "Chiński (zh-CN)",
"Chinese (zh-TW)": "Chiński (zh-TW)", "Chinese (zh-TW)": "Chiński (zh-TW)",
"Czech": "Czeski",
"Danish": "Duński", "Danish": "Duński",
"Japanese": "Japoński", "Japanese": "Japoński",
"Korean": "Koreański", "Korean": "Koreański",

View File

@@ -8,6 +8,7 @@
"to create a new note": "para criar uma nova nota", "to create a new note": "para criar uma nova nota",
"Toggle Mode": "Modo de alternância", "Toggle Mode": "Modo de alternância",
"Trash": "Lixeira", "Trash": "Lixeira",
"Ok": "Ok",
"MODIFICATION DATE": "DATA DE MODIFICAÇÃO", "MODIFICATION DATE": "DATA DE MODIFICAÇÃO",
"Words": "Palavras", "Words": "Palavras",
"Letters": "Letras", "Letters": "Letras",
@@ -135,6 +136,7 @@
"Albanian": "Albanês", "Albanian": "Albanês",
"Chinese (zh-CN)": "Chinês (zh-CN)", "Chinese (zh-CN)": "Chinês (zh-CN)",
"Chinese (zh-TW)": "Chinês (zh-TW)", "Chinese (zh-TW)": "Chinês (zh-TW)",
"Czech": "Tcheco",
"Danish": "Dinamarquês", "Danish": "Dinamarquês",
"Japanese": "Japonês", "Japanese": "Japonês",
"Korean": "Coreano", "Korean": "Coreano",

View File

@@ -8,6 +8,7 @@
"to create a new note": "para criar uma nova nota", "to create a new note": "para criar uma nova nota",
"Toggle Mode": "Alternar Modo", "Toggle Mode": "Alternar Modo",
"Trash": "Lixo", "Trash": "Lixo",
"Ok": "Ok",
"MODIFICATION DATE": "DATA DE MODIFICAÇÃO", "MODIFICATION DATE": "DATA DE MODIFICAÇÃO",
"Words": "Palavras", "Words": "Palavras",
"Letters": "Letras", "Letters": "Letras",
@@ -135,6 +136,7 @@
"Albanian": "Albanês", "Albanian": "Albanês",
"Chinese (zh-CN)": "Chinês (zh-CN)", "Chinese (zh-CN)": "Chinês (zh-CN)",
"Chinese (zh-TW)": "Chinês (zh-TW)", "Chinese (zh-TW)": "Chinês (zh-TW)",
"Czech": "Tcheco",
"Danish": "Dinamarquês", "Danish": "Dinamarquês",
"Japanese": "Japonês", "Japanese": "Japonês",
"Korean": "Coreano", "Korean": "Coreano",

View File

@@ -134,6 +134,7 @@
"Albanian": "Албанский", "Albanian": "Албанский",
"Chinese (zh-CN)": "Китайский (zh-CN)", "Chinese (zh-CN)": "Китайский (zh-CN)",
"Chinese (zh-TW)": "Китайский (zh-TW)", "Chinese (zh-TW)": "Китайский (zh-TW)",
"Czech": "чешский",
"Danish": "Датский", "Danish": "Датский",
"Japanese": "Японский", "Japanese": "Японский",
"Korean": "Корейский", "Korean": "Корейский",

View File

@@ -8,6 +8,7 @@
"to create a new note": "to create a new note", "to create a new note": "to create a new note",
"Toggle Mode": "Toggle Mode", "Toggle Mode": "Toggle Mode",
"Trash": "Trash", "Trash": "Trash",
"Ok": "Ok",
"MODIFICATION DATE": "MODIFICATION DATE", "MODIFICATION DATE": "MODIFICATION DATE",
"Words": "Words", "Words": "Words",
"Letters": "Letters", "Letters": "Letters",
@@ -134,6 +135,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "Chinese (zh-CN)", "Chinese (zh-CN)": "Chinese (zh-CN)",
"Chinese (zh-TW)": "Chinese (zh-TW)", "Chinese (zh-TW)": "Chinese (zh-TW)",
"Czech": "Czech",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -144,6 +144,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "Chinese (zh-CN)", "Chinese (zh-CN)": "Chinese (zh-CN)",
"Chinese (zh-TW)": "Chinese (zh-TW)", "Chinese (zh-TW)": "Chinese (zh-TW)",
"Czech": "Czech",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -134,6 +134,7 @@
"Albanian": "Arnavutça", "Albanian": "Arnavutça",
"Chinese (zh-CN)": "Çince (zh-CN)", "Chinese (zh-CN)": "Çince (zh-CN)",
"Chinese (zh-TW)": "Çince (zh-TW)", "Chinese (zh-TW)": "Çince (zh-TW)",
"Czech": "Çek",
"Danish": "Danca", "Danish": "Danca",
"Japanese": "Japonca", "Japanese": "Japonca",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -137,6 +137,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "简体中文", "Chinese (zh-CN)": "简体中文",
"Chinese (zh-TW)": "繁體中文", "Chinese (zh-TW)": "繁體中文",
"Czech": "捷克文",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -134,6 +134,7 @@
"Albanian": "Albanian", "Albanian": "Albanian",
"Chinese (zh-CN)": "简体中文", "Chinese (zh-CN)": "简体中文",
"Chinese (zh-TW)": "繁體中文", "Chinese (zh-TW)": "繁體中文",
"Czech": "捷克文",
"Danish": "Danish", "Danish": "Danish",
"Japanese": "Japanese", "Japanese": "Japanese",
"Korean": "Korean", "Korean": "Korean",

View File

@@ -1,7 +1,7 @@
{ {
"name": "boost", "name": "boost",
"productName": "Boostnote", "productName": "Boostnote",
"version": "0.13.0", "version": "0.14.0",
"main": "index.js", "main": "index.js",
"description": "Boostnote", "description": "Boostnote",
"license": "GPL-3.0", "license": "GPL-3.0",
@@ -17,7 +17,7 @@
"watch": "webpack-dev-server --hot" "watch": "webpack-dev-server --hot"
}, },
"config": { "config": {
"electron-version": "3.0.8" "electron-version": "4.2.12"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -76,10 +76,10 @@
"iconv-lite": "^0.4.19", "iconv-lite": "^0.4.19",
"immutable": "^3.8.1", "immutable": "^3.8.1",
"invert-color": "^2.0.0", "invert-color": "^2.0.0",
"js-yaml": "^3.12.0", "js-yaml": "^3.13.1",
"jsonlint-mod": "^1.7.4", "jsonlint-mod": "^1.7.4",
"katex": "^0.10.1", "katex": "^0.10.1",
"lodash": "^4.11.1", "lodash": "^4.17.13",
"lodash-move": "^1.1.1", "lodash-move": "^1.1.1",
"markdown-it": "^6.0.1", "markdown-it": "^6.0.1",
"markdown-it-abbr": "^1.0.4", "markdown-it-abbr": "^1.0.4",
@@ -95,7 +95,7 @@
"markdown-it-sup": "^1.0.0", "markdown-it-sup": "^1.0.0",
"markdown-toc": "^1.2.0", "markdown-toc": "^1.2.0",
"mdurl": "^1.0.1", "mdurl": "^1.0.1",
"mermaid": "^8.0.0-rc.8", "mermaid": "^8.4.2",
"moment": "^2.10.3", "moment": "^2.10.3",
"mousetrap": "^1.6.2", "mousetrap": "^1.6.2",
"mousetrap-global-bind": "^1.1.0", "mousetrap-global-bind": "^1.1.0",
@@ -111,6 +111,7 @@
"react-composition-input": "^1.1.1", "react-composition-input": "^1.1.1",
"react-debounce-render": "^4.0.1", "react-debounce-render": "^4.0.1",
"react-dom": "^16.8.6", "react-dom": "^16.8.6",
"react-emoji-render": "^1.1.0",
"react-image-carousel": "^2.0.18", "react-image-carousel": "^2.0.18",
"react-redux": "^7.0.3", "react-redux": "^7.0.3",
"react-router-dom": "^5.0.0", "react-router-dom": "^5.0.0",
@@ -147,7 +148,7 @@
"css-loader": "^0.19.0", "css-loader": "^0.19.0",
"devtron": "^1.1.0", "devtron": "^1.1.0",
"dom-storage": "^2.0.2", "dom-storage": "^2.0.2",
"electron": "3.0.8", "electron": "4",
"electron-debug": "^2.2.0", "electron-debug": "^2.2.0",
"electron-devtools-installer": "^2.2.4", "electron-devtools-installer": "^2.2.4",
"electron-packager": "^12.2.0", "electron-packager": "^12.2.0",

View File

@@ -1,4 +1,4 @@
:mega: The renewal will be released end of Nov, 2019. [To keep updated, subscribe our mailing list!](https://boostnote.io/#subscribe) > [We've launched desktop app of the new Boost Note now. We'll release its mobile app too in January 2020.](https://github.com/BoostIO/BoostNote.next)
![Boostnote app screenshot](./resources/repository/top.png) ![Boostnote app screenshot](./resources/repository/top.png)
@@ -11,10 +11,14 @@
</a> </a>
</p> </p>
## Download
[Find the latest release of Boostnote here!](https://github.com/BoostIO/boost-releases/releases/)
## Authors & Maintainers ## Authors & Maintainers
- [Rokt33r](https://github.com/rokt33r) - [Rokt33r](https://github.com/rokt33r)
- [Kazz](https://github.com/kazup01) - [KZ](https://github.com/kazup01)
- [ZeroX-DG](https://github.com/ZeroX-DG) - [ZeroX-DG](https://github.com/ZeroX-DG)
## Contributors ## Contributors
@@ -39,9 +43,8 @@ Issues on Boostnote can be funded by anyone and the money will be distributed to
#### More Information #### More Information
* Website: https://boostnote.io * Website: https://boostnote.io
* Newsletters: https://boostnote.io/#subscribe
* [Development](https://github.com/BoostIO/Boostnote/blob/master/docs/build.md): Development configurations for Boostnote. * [Development](https://github.com/BoostIO/Boostnote/blob/master/docs/build.md): Development configurations for Boostnote.
* Copyright (C) 2016 - 2019 BoostIO, Inc. * Copyright (C) 2016 - 2020 BoostIO, Inc.
#### License #### License

View File

@@ -5,7 +5,8 @@ const noop = () => {}
mock('electron', { mock('electron', {
remote: { remote: {
app: { app: {
getAppPath: noop getAppPath: noop,
getPath: noop
} }
} }
}) })

View File

@@ -87,7 +87,7 @@ Generated by [AVA](https://ava.li).
> Snapshot 1 > Snapshot 1
`<p data-line="1"><ul class="markdownIt-TOC">␊ `<p data-line="1"><div class="markdownIt-TOC-wrapper"><ul class="markdownIt-TOC">␊
<li><a href="#H1">H1</a>␊ <li><a href="#H1">H1</a>␊
<ul>␊ <ul>␊
<li><a href="#H2">H2</a>␊ <li><a href="#H2">H2</a>␊
@@ -98,7 +98,7 @@ Generated by [AVA](https://ava.li).
</ul>␊ </ul>␊
</li>␊ </li>␊
</ul>␊ </ul>␊
</p>␊ </div></p>␊
<h1 id="H1" data-line="2">H1</h1>␊ <h1 id="H1" data-line="2">H1</h1>␊
<h2 id="H2" data-line="3">H2</h2>␊ <h2 id="H2" data-line="3">H2</h2>␊
<h3 id="H3" data-line="4">H3</h3>␊ <h3 id="H3" data-line="4">H3</h3>␊
@@ -226,39 +226,4 @@ Generated by [AVA](https://ava.li).
> Snapshot 2 > Snapshot 2
`<p data-line="0">This is a &quot;QUOTE&quot;.</p>␊ `<p data-line="0">This is a &quot;QUOTE&quot;.</p>␊
## Markdown.render() should render PlantUML Ditaa correctly
> Snapshot 1
`<img src="http://www.plantuml.com/plantuml/png/SoWkIImgISaiIKpaqjQ50cq51GLj93Q2mrMZ00NQO3cmHX3RJW4cKmDI4v9QKQ805a8nfyObCp6zA34NgCObFxiqDpMl1AIcHj4tCJqpLH5i18evG52TKbk3B8og1kmC0cvMKB1Im0NYkA2ckMRcANWabgQbvYau5YMbPfP0p4UOWmcqkHnIyrB0GG00" alt="uml diagram" />␊
`
## Markdown.render() should render PlantUML Gantt correctly
> Snapshot 1
`<img src="http://www.plantuml.com/plantuml/svg/SoWkIImgIK_CAodXYWueoY_9BwaiI5L8IItEJC-BLSX9B2ufLZ0qLKX9h2pcYWv9BIvHA82fWaiRu906crsia5YYW6cqUh52QbuAbmEG0DiE0000" alt="uml diagram" />␊
`
## Markdown.render() should render PlantUML MindMaps correctly
> Snapshot 1
`<img src="http://www.plantuml.com/plantuml/svg/JOzD3e8m44Rtd6BMtNW192IM5I29HEDsAbKdeLD2MvNRIsjCMCsRlFd9LpgFipV4Wy4f4o2r8kHC23Yhm3wi9A0X3XzeYNrgwx1H6wvb1KTjqtRJoYhMtexBSAqJUescwoEUq4tn3xp9Fm7XfUS5HiiFO3Gw7SjT4QUCkkKxLy2-WAvl3rkrtEclBdOCXcnMwZN7ByiN" alt="uml diagram" />␊
`
## Markdown.render() should render PlantUML Umls correctly
> Snapshot 1
`<img src="http://www.plantuml.com/plantuml/svg/LOzD2eCm44RtESMtj0jx01V5E_G4Gvngo2_912gbTsz4LBfylCV7p5Y4ibJlbEENG2AocHV1P39hCJ6eOar8bCaZaROqyrDMnzWqXTcn8YqnGzSYqNC-q76sweoW5zOsLi57uMpHz-WESslY0jmVw1AjdaE30IPeLoVUceLTslrL3-2tS9ZA_qZRtm_vgh7PzkOF" alt="uml diagram" />␊
`
## Markdown.render() should render PlantUML WBS correctly
> Snapshot 1
`<img src="http://www.plantuml.com/plantuml/svg/ZP2_JiD03CRtFeNdRF04fR140gdGeREv-z8plVYYimFYxSabKbaxsR9-ylTdRyxLVpvjrz5XDb6OqR6MqEPRYSXPz4BdmsdNTVJAiuP4da1JBLy8lbmxUYxZbE6Wa_CLgUI8IXymS0rf9NeL5yxKDt24EhiKfMDcRNzVO79HcX8RLdvLfZBGa_KtFx2RKcpK7TZ3dTpZfWgskMAZ9jIXr94rW4PubM1RbBZOb-6NtcS9LpgBjlj_1w9QldbPjZHxQ5pg_GC0" alt="uml diagram" />␊
` `

557
yarn.lock
View File

@@ -64,6 +64,11 @@
dependencies: dependencies:
regenerator-runtime "^0.13.2" regenerator-runtime "^0.13.2"
"@braintree/sanitize-url@^3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz#8ff71d51053cd5ee4981e5a501d80a536244f7fd"
integrity sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==
"@concordance/react@^1.0.0": "@concordance/react@^1.0.0":
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/@concordance/react/-/react-1.0.0.tgz#fcf3cad020e5121bfd1c61d05bc3516aac25f734" resolved "https://registry.yarnpkg.com/@concordance/react/-/react-1.0.0.tgz#fcf3cad020e5121bfd1c61d05bc3516aac25f734"
@@ -117,9 +122,10 @@
dependencies: dependencies:
meaw "^2.0.0" meaw "^2.0.0"
"@types/node@^8.0.24": "@types/node@^10.12.18":
version "8.10.17" version "10.17.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.17.tgz#d48cf10f0dc6dcf59f827f5a3fc7a4a6004318d3" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.0.tgz#537c61a1df699a8331c79dab2ccc2c8799873c66"
integrity sha512-wuJwN2KV4tIRz1bu9vq5kSPasJ8IsEjZaP1ZR7KlmdUZvGF/rXy8DmXOVwUD0kAtvtJ7aqMKPqUXC0NUTDbrDg==
"JSV@>= 4.0.x": "JSV@>= 4.0.x":
version "4.0.2" version "4.0.2"
@@ -1569,6 +1575,14 @@ callsites@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
camel-case@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
dependencies:
no-case "^2.2.0"
upper-case "^1.1.1"
camelcase-keys@^2.0.0: camelcase-keys@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
@@ -1755,6 +1769,13 @@ classnames@^2.2.5:
version "2.2.5" version "2.2.5"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
clean-css@^4.1.6, clean-css@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"
integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==
dependencies:
source-map "~0.6.0"
clean-stack@^1.1.1: clean-stack@^1.1.1:
version "1.3.0" version "1.3.0"
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31"
@@ -1979,6 +2000,11 @@ commander@^2.19.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
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==
commander@^2.8.1, commander@^2.9.0: commander@^2.8.1, commander@^2.9.0:
version "2.15.1" version "2.15.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
@@ -2011,7 +2037,7 @@ compressible@~2.0.13:
compression@^1.5.2: compression@^1.5.2:
version "1.7.2" version "1.7.2"
resolved "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69" resolved "https://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69"
dependencies: dependencies:
accepts "~1.3.4" accepts "~1.3.4"
bytes "3.0.0" bytes "3.0.0"
@@ -2249,12 +2275,24 @@ crypto-random-string@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
crypto-random-string@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-3.0.1.tgz#29d7dc759d577a768afb3b7b2765dd9bd7ffe36a"
integrity sha512-dUL0cJ4PBLanJGJQBHQUkvZ3C4q13MXzl54oRqAIiJGiNkOZ4JDwkg/SBo7daGghzlJv16yW1p/4lIQukmbedA==
dependencies:
type-fest "^0.5.2"
cson-parser@1.3.4: cson-parser@1.3.4:
version "1.3.4" version "1.3.4"
resolved "https://registry.yarnpkg.com/cson-parser/-/cson-parser-1.3.4.tgz#55f10d5aa9f960ccaa385551ae085cb3c8d284fc" resolved "https://registry.yarnpkg.com/cson-parser/-/cson-parser-1.3.4.tgz#55f10d5aa9f960ccaa385551ae085cb3c8d284fc"
dependencies: dependencies:
coffee-script "^1.10.0" coffee-script "^1.10.0"
css-b64-images@~0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/css-b64-images/-/css-b64-images-0.2.5.tgz#42005d83204b2b4a5d93b6b1a5644133b5927a02"
integrity sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=
css-color-names@0.0.4: css-color-names@0.0.4:
version "0.0.4" version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@@ -2380,17 +2418,24 @@ currently-unhandled@^0.4.1:
dependencies: dependencies:
array-find-index "^1.0.1" array-find-index "^1.0.1"
d3-array@1, d3-array@1.2.1, d3-array@^1.2.0: d3-array@1, d3-array@^1.2.0:
version "1.2.1" version "1.2.1"
resolved "http://registry.npm.taobao.org/d3-array/download/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc" resolved "http://registry.npm.taobao.org/d3-array/download/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc"
d3-axis@1.0.8: d3-array@^1.1.1:
version "1.0.8" version "1.2.4"
resolved "http://registry.npm.taobao.org/d3-axis/download/d3-axis-1.0.8.tgz#31a705a0b535e65759de14173a31933137f18efa" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==
d3-brush@1.0.4: d3-axis@1:
version "1.0.4" version "1.0.12"
resolved "http://registry.npm.taobao.org/d3-brush/download/d3-brush-1.0.4.tgz#00c2f238019f24f6c0a194a26d41a1530ffe7bc4" resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.12.tgz#cdf20ba210cfbb43795af33756886fb3638daac9"
integrity sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==
d3-brush@1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.1.3.tgz#a04900a71fa5390f7f7afe1504b02a382709f380"
integrity sha512-v8bbYyCFKjyCzFk/tdWqXwDykY8YWqhXYjcYxfILIit085VZOpj4XJKOMccTsvWxgzSLMJQg5SiqHjslsipEDg==
dependencies: dependencies:
d3-dispatch "1" d3-dispatch "1"
d3-drag "1" d3-drag "1"
@@ -2398,14 +2443,15 @@ d3-brush@1.0.4:
d3-selection "1" d3-selection "1"
d3-transition "1" d3-transition "1"
d3-chord@1.0.4: d3-chord@1:
version "1.0.4" version "1.0.6"
resolved "http://registry.npm.taobao.org/d3-chord/download/d3-chord-1.0.4.tgz#7dec4f0ba886f713fe111c45f763414f6f74ca2c" resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz#309157e3f2db2c752f0280fedd35f2067ccbb15f"
integrity sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==
dependencies: dependencies:
d3-array "1" d3-array "1"
d3-path "1" d3-path "1"
d3-collection@1, d3-collection@1.0.4: d3-collection@1:
version "1.0.4" version "1.0.4"
resolved "http://registry.npm.taobao.org/d3-collection/download/d3-collection-1.0.4.tgz#342dfd12837c90974f33f1cc0a785aea570dcdc2" resolved "http://registry.npm.taobao.org/d3-collection/download/d3-collection-1.0.4.tgz#342dfd12837c90974f33f1cc0a785aea570dcdc2"
@@ -2413,22 +2459,25 @@ d3-color@1:
version "1.2.0" version "1.2.0"
resolved "http://registry.npm.taobao.org/d3-color/download/d3-color-1.2.0.tgz#d1ea19db5859c86854586276ec892cf93148459a" resolved "http://registry.npm.taobao.org/d3-color/download/d3-color-1.2.0.tgz#d1ea19db5859c86854586276ec892cf93148459a"
d3-color@1.0.3: d3-contour@1:
version "1.0.3" version "1.3.2"
resolved "http://registry.npm.taobao.org/d3-color/download/d3-color-1.0.3.tgz#bc7643fca8e53a8347e2fbdaffa236796b58509b" resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz#652aacd500d2264cb3423cee10db69f6f59bead3"
integrity sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==
dependencies:
d3-array "^1.1.1"
d3-dispatch@1, d3-dispatch@1.0.3: d3-dispatch@1:
version "1.0.3" version "1.0.3"
resolved "http://registry.npm.taobao.org/d3-dispatch/download/d3-dispatch-1.0.3.tgz#46e1491eaa9b58c358fce5be4e8bed626e7871f8" resolved "http://registry.npm.taobao.org/d3-dispatch/download/d3-dispatch-1.0.3.tgz#46e1491eaa9b58c358fce5be4e8bed626e7871f8"
d3-drag@1, d3-drag@1.2.1: d3-drag@1:
version "1.2.1" version "1.2.1"
resolved "http://registry.npm.taobao.org/d3-drag/download/d3-drag-1.2.1.tgz#df8dd4c502fb490fc7462046a8ad98a5c479282d" resolved "http://registry.npm.taobao.org/d3-drag/download/d3-drag-1.2.1.tgz#df8dd4c502fb490fc7462046a8ad98a5c479282d"
dependencies: dependencies:
d3-dispatch "1" d3-dispatch "1"
d3-selection "1" d3-selection "1"
d3-dsv@1, d3-dsv@1.0.8: d3-dsv@1:
version "1.0.8" version "1.0.8"
resolved "http://registry.npm.taobao.org/d3-dsv/download/d3-dsv-1.0.8.tgz#907e240d57b386618dc56468bacfe76bf19764ae" resolved "http://registry.npm.taobao.org/d3-dsv/download/d3-dsv-1.0.8.tgz#907e240d57b386618dc56468bacfe76bf19764ae"
dependencies: dependencies:
@@ -2436,13 +2485,21 @@ d3-dsv@1, d3-dsv@1.0.8:
iconv-lite "0.4" iconv-lite "0.4"
rw "1" rw "1"
d3-ease@1, d3-ease@1.0.3: d3-ease@1:
version "1.0.3" version "1.0.3"
resolved "http://registry.npm.taobao.org/d3-ease/download/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e" resolved "http://registry.npm.taobao.org/d3-ease/download/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e"
d3-force@1.1.0: d3-fetch@1:
version "1.1.0" version "1.1.2"
resolved "http://registry.npm.taobao.org/d3-force/download/d3-force-1.1.0.tgz#cebf3c694f1078fcc3d4daf8e567b2fbd70d4ea3" resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.1.2.tgz#957c8fbc6d4480599ba191b1b2518bf86b3e1be2"
integrity sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA==
dependencies:
d3-dsv "1"
d3-force@1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz#fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b"
integrity sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==
dependencies: dependencies:
d3-collection "1" d3-collection "1"
d3-dispatch "1" d3-dispatch "1"
@@ -2453,19 +2510,17 @@ d3-format@1:
version "1.3.0" version "1.3.0"
resolved "http://registry.npm.taobao.org/d3-format/download/d3-format-1.3.0.tgz#a3ac44269a2011cdb87c7b5693040c18cddfff11" resolved "http://registry.npm.taobao.org/d3-format/download/d3-format-1.3.0.tgz#a3ac44269a2011cdb87c7b5693040c18cddfff11"
d3-format@1.2.2: d3-geo@1:
version "1.2.2" version "1.11.8"
resolved "http://registry.npm.taobao.org/d3-format/download/d3-format-1.2.2.tgz#1a39c479c8a57fe5051b2e67a3bee27061a74e7a" resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.8.tgz#46f8ba5a68ead5e26512ec8d9d7cc36f6e522acc"
integrity sha512-F3pQWcgN/dChcXDrQzH0ZSkz14aAesitITc6CNzt7ZhOKj41LElZrhAM6P5EBEv/sliKBIZJl+gmY/jKgtmrxA==
d3-geo@1.9.1:
version "1.9.1"
resolved "http://registry.npm.taobao.org/d3-geo/download/d3-geo-1.9.1.tgz#157e3b0f917379d0f73bebfff3be537f49fa7356"
dependencies: dependencies:
d3-array "1" d3-array "1"
d3-hierarchy@1.1.5: d3-hierarchy@1:
version "1.1.5" version "1.1.8"
resolved "http://registry.npm.taobao.org/d3-hierarchy/download/d3-hierarchy-1.1.5.tgz#a1c845c42f84a206bcf1c01c01098ea4ddaa7a26" resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz#7a6317bd3ed24e324641b6f1e76e978836b008cc"
integrity sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w==
d3-interpolate@1: d3-interpolate@1:
version "1.2.0" version "1.2.0"
@@ -2473,78 +2528,70 @@ d3-interpolate@1:
dependencies: dependencies:
d3-color "1" d3-color "1"
d3-interpolate@1.1.6: d3-path@1:
version "1.1.6"
resolved "http://registry.npm.taobao.org/d3-interpolate/download/d3-interpolate-1.1.6.tgz#2cf395ae2381804df08aa1bf766b7f97b5f68fb6"
dependencies:
d3-color "1"
d3-path@1, d3-path@1.0.5:
version "1.0.5" version "1.0.5"
resolved "http://registry.npm.taobao.org/d3-path/download/d3-path-1.0.5.tgz#241eb1849bd9e9e8021c0d0a799f8a0e8e441764" resolved "http://registry.npm.taobao.org/d3-path/download/d3-path-1.0.5.tgz#241eb1849bd9e9e8021c0d0a799f8a0e8e441764"
d3-polygon@1.0.3: d3-polygon@1:
version "1.0.3" version "1.0.5"
resolved "http://registry.npm.taobao.org/d3-polygon/download/d3-polygon-1.0.3.tgz#16888e9026460933f2b179652ad378224d382c62" resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.5.tgz#9a645a0a64ff6cbf9efda96ee0b4a6909184c363"
integrity sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w==
d3-quadtree@1, d3-quadtree@1.0.3: d3-quadtree@1:
version "1.0.3" version "1.0.3"
resolved "http://registry.npm.taobao.org/d3-quadtree/download/d3-quadtree-1.0.3.tgz#ac7987e3e23fe805a990f28e1b50d38fcb822438" resolved "http://registry.npm.taobao.org/d3-quadtree/download/d3-quadtree-1.0.3.tgz#ac7987e3e23fe805a990f28e1b50d38fcb822438"
d3-queue@3.0.7: d3-random@1:
version "3.0.7" version "1.1.2"
resolved "http://registry.npm.taobao.org/d3-queue/download/d3-queue-3.0.7.tgz#c93a2e54b417c0959129d7d73f6cf7d4292e7618" resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.2.tgz#2833be7c124360bf9e2d3fd4f33847cfe6cab291"
integrity sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==
d3-random@1.1.0: d3-scale-chromatic@1:
version "1.1.0" version "1.5.0"
resolved "http://registry.npm.taobao.org/d3-random/download/d3-random-1.1.0.tgz#6642e506c6fa3a648595d2b2469788a8d12529d3" resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz#54e333fc78212f439b14641fb55801dd81135a98"
integrity sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==
d3-request@1.0.6:
version "1.0.6"
resolved "http://registry.npm.taobao.org/d3-request/download/d3-request-1.0.6.tgz#a1044a9ef4ec28c824171c9379fae6d79474b19f"
dependencies: dependencies:
d3-collection "1" d3-color "1"
d3-dispatch "1" d3-interpolate "1"
d3-dsv "1"
xmlhttprequest "1"
d3-scale@1.0.7: d3-scale@2:
version "1.0.7" version "2.2.2"
resolved "http://registry.npm.taobao.org/d3-scale/download/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d" resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz#4e880e0b2745acaaddd3ede26a9e908a9e17b81f"
integrity sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==
dependencies: dependencies:
d3-array "^1.2.0" d3-array "^1.2.0"
d3-collection "1" d3-collection "1"
d3-color "1"
d3-format "1" d3-format "1"
d3-interpolate "1" d3-interpolate "1"
d3-time "1" d3-time "1"
d3-time-format "2" d3-time-format "2"
d3-selection@1, d3-selection@1.3.0, d3-selection@^1.1.0: d3-selection@1, d3-selection@^1.1.0:
version "1.3.0" version "1.3.0"
resolved "http://registry.npm.taobao.org/d3-selection/download/d3-selection-1.3.0.tgz#d53772382d3dc4f7507bfb28bcd2d6aed2a0ad6d" resolved "http://registry.npm.taobao.org/d3-selection/download/d3-selection-1.3.0.tgz#d53772382d3dc4f7507bfb28bcd2d6aed2a0ad6d"
d3-shape@1.2.0: d3-shape@1:
version "1.2.0" version "1.3.5"
resolved "http://registry.npm.taobao.org/d3-shape/download/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777" resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.5.tgz#e81aea5940f59f0a79cfccac012232a8987c6033"
integrity sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==
dependencies: dependencies:
d3-path "1" d3-path "1"
d3-time-format@2, d3-time-format@2.1.1: d3-time-format@2:
version "2.1.1" version "2.1.1"
resolved "http://registry.npm.taobao.org/d3-time-format/download/d3-time-format-2.1.1.tgz#85b7cdfbc9ffca187f14d3c456ffda268081bb31" resolved "http://registry.npm.taobao.org/d3-time-format/download/d3-time-format-2.1.1.tgz#85b7cdfbc9ffca187f14d3c456ffda268081bb31"
dependencies: dependencies:
d3-time "1" d3-time "1"
d3-time@1, d3-time@1.0.8: d3-time@1:
version "1.0.8" version "1.0.8"
resolved "http://registry.npm.taobao.org/d3-time/download/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84" resolved "http://registry.npm.taobao.org/d3-time/download/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84"
d3-timer@1, d3-timer@1.0.7: d3-timer@1:
version "1.0.7" version "1.0.7"
resolved "http://registry.npm.taobao.org/d3-timer/download/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" resolved "http://registry.npm.taobao.org/d3-timer/download/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531"
d3-transition@1, d3-transition@1.1.1: d3-transition@1:
version "1.1.1" version "1.1.1"
resolved "http://registry.npm.taobao.org/d3-transition/download/d3-transition-1.1.1.tgz#d8ef89c3b848735b060e54a39b32aaebaa421039" resolved "http://registry.npm.taobao.org/d3-transition/download/d3-transition-1.1.1.tgz#d8ef89c3b848735b060e54a39b32aaebaa421039"
dependencies: dependencies:
@@ -2555,13 +2602,15 @@ d3-transition@1, d3-transition@1.1.1:
d3-selection "^1.1.0" d3-selection "^1.1.0"
d3-timer "1" d3-timer "1"
d3-voronoi@1.1.2: d3-voronoi@1:
version "1.1.2" version "1.1.4"
resolved "http://registry.npm.taobao.org/d3-voronoi/download/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297"
integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==
d3-zoom@1.7.1: d3-zoom@1:
version "1.7.1" version "1.8.3"
resolved "http://registry.npm.taobao.org/d3-zoom/download/d3-zoom-1.7.1.tgz#02f43b3c3e2db54f364582d7e4a236ccc5506b63" resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.8.3.tgz#b6a3dbe738c7763121cd05b8a7795ffe17f4fc0a"
integrity sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==
dependencies: dependencies:
d3-dispatch "1" d3-dispatch "1"
d3-drag "1" d3-drag "1"
@@ -2569,40 +2618,42 @@ d3-zoom@1.7.1:
d3-selection "1" d3-selection "1"
d3-transition "1" d3-transition "1"
d3@^4.13.0: d3@^5.12, d3@^5.7.0:
version "4.13.0" version "5.12.0"
resolved "http://registry.npm.taobao.org/d3/download/d3-4.13.0.tgz#ab236ff8cf0cfc27a81e69bf2fb7518bc9b4f33d" resolved "https://registry.yarnpkg.com/d3/-/d3-5.12.0.tgz#0ddeac879c28c882317cd439b495290acd59ab61"
integrity sha512-flYVMoVuhPFHd9zVCe2BxIszUWqBcd5fvQGMNRmSiBrgdnh6Vlruh60RJQTouAK9xPbOB0plxMvBm4MoyODXNg==
dependencies: dependencies:
d3-array "1.2.1" d3-array "1"
d3-axis "1.0.8" d3-axis "1"
d3-brush "1.0.4" d3-brush "1"
d3-chord "1.0.4" d3-chord "1"
d3-collection "1.0.4" d3-collection "1"
d3-color "1.0.3" d3-color "1"
d3-dispatch "1.0.3" d3-contour "1"
d3-drag "1.2.1" d3-dispatch "1"
d3-dsv "1.0.8" d3-drag "1"
d3-ease "1.0.3" d3-dsv "1"
d3-force "1.1.0" d3-ease "1"
d3-format "1.2.2" d3-fetch "1"
d3-geo "1.9.1" d3-force "1"
d3-hierarchy "1.1.5" d3-format "1"
d3-interpolate "1.1.6" d3-geo "1"
d3-path "1.0.5" d3-hierarchy "1"
d3-polygon "1.0.3" d3-interpolate "1"
d3-quadtree "1.0.3" d3-path "1"
d3-queue "3.0.7" d3-polygon "1"
d3-random "1.1.0" d3-quadtree "1"
d3-request "1.0.6" d3-random "1"
d3-scale "1.0.7" d3-scale "2"
d3-selection "1.3.0" d3-scale-chromatic "1"
d3-shape "1.2.0" d3-selection "1"
d3-time "1.0.8" d3-shape "1"
d3-time-format "2.1.1" d3-time "1"
d3-timer "1.0.7" d3-time-format "2"
d3-transition "1.1.1" d3-timer "1"
d3-voronoi "1.1.2" d3-transition "1"
d3-zoom "1.7.1" d3-voronoi "1"
d3-zoom "1"
d@1: d@1:
version "1.0.0" version "1.0.0"
@@ -2610,19 +2661,22 @@ d@1:
dependencies: dependencies:
es5-ext "^0.10.9" es5-ext "^0.10.9"
dagre-d3-renderer@^0.5.8: dagre-d3@dagrejs/dagre-d3:
version "0.5.8" version "0.6.4-pre"
resolved "http://registry.npm.taobao.org/dagre-d3-renderer/download/dagre-d3-renderer-0.5.8.tgz#aa071bb71d3c4d67426925906f3f6ddead49c1a3" resolved "https://codeload.github.com/dagrejs/dagre-d3/tar.gz/e1a00e5cb518f5d2304a35647e024f31d178e55b"
dependencies: dependencies:
dagre-layout "^0.8.8" d3 "^5.12"
lodash "^4.17.5" dagre "^0.8.4"
graphlib "^2.1.7"
lodash "^4.17.15"
dagre-layout@^0.8.8: dagre@^0.8.4:
version "0.8.8" version "0.8.4"
resolved "http://registry.npm.taobao.org/dagre-layout/download/dagre-layout-0.8.8.tgz#9b6792f24229f402441c14162c1049e3f261f6d9" resolved "https://registry.yarnpkg.com/dagre/-/dagre-0.8.4.tgz#26b9fb8f7bdc60c6110a0458c375261836786061"
integrity sha512-Dj0csFDrWYKdavwROb9FccHfTC4fJbyF/oJdL9LNZJ8WUvl968P6PAKEriGqfbdArVJEmmfA+UyumgWEwcHU6A==
dependencies: dependencies:
graphlibrary "^2.2.0" graphlib "^2.1.7"
lodash "^4.17.5" lodash "^4.17.4"
dashdash@^1.12.0: dashdash@^1.12.0:
version "1.14.1" version "1.14.1"
@@ -2676,6 +2730,13 @@ debug@2.6.9, debug@^2.1.1, debug@^2.1.2, debug@^2.1.3, debug@^2.2.0, debug@^2.3.
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
dependencies:
ms "^2.1.1"
decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -3072,14 +3133,20 @@ electron-winstaller@^2.2.0:
lodash.template "^4.2.2" lodash.template "^4.2.2"
temp "^0.8.3" temp "^0.8.3"
electron@3.0.8: electron@4:
version "3.0.8" version "4.2.12"
resolved "https://registry.yarnpkg.com/electron/-/electron-3.0.8.tgz#7905806ebaead4c693531e11cda6568c32efa7bb" resolved "https://registry.yarnpkg.com/electron/-/electron-4.2.12.tgz#8e8926a6a6654cde5eb0612952fed98a56941875"
integrity sha512-EES8eMztoW8gEP5E4GQLP8slrfS2jqTYtHbu36mlu3k1xYAaNPyQQr6mCILkYxqj4l3la4CT2Vcs89CUG62vcQ==
dependencies: dependencies:
"@types/node" "^8.0.24" "@types/node" "^10.12.18"
electron-download "^4.1.0" electron-download "^4.1.0"
extract-zip "^1.0.3" extract-zip "^1.0.3"
emoji-regex@^6.4.1:
version "6.5.1"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==
emojis-list@^2.0.0: emojis-list@^2.0.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
@@ -3226,6 +3293,11 @@ escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^
version "1.0.5" version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
escaper@^2.5.3:
version "2.5.3"
resolved "https://registry.yarnpkg.com/escaper/-/escaper-2.5.3.tgz#8b8fe90ba364054151ab7eff18b4ce43b1e13ab5"
integrity sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ==
escodegen@^1.6.1, escodegen@^1.9.0: escodegen@^1.6.1, escodegen@^1.9.0:
version "1.9.1" version "1.9.1"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2"
@@ -4248,9 +4320,10 @@ graceful-fs@~1.2.0:
version "1.2.3" version "1.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
graphlibrary@^2.2.0: graphlib@^2.1.7:
version "2.2.0" version "2.1.7"
resolved "http://registry.npm.taobao.org/graphlibrary/download/graphlibrary-2.2.0.tgz#017a14899775228dec4497a39babfdd6bf56eac6" resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz#b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc"
integrity sha512-TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w==
dependencies: dependencies:
lodash "^4.17.5" lodash "^4.17.5"
@@ -4458,9 +4531,10 @@ hawk@~2.3.0:
hoek "2.x.x" hoek "2.x.x"
sntp "1.x.x" sntp "1.x.x"
he@^1.1.1: he@^1.2.0:
version "1.1.1" version "1.2.0"
resolved "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
highlight.js@^9.13.1: highlight.js@^9.13.1:
version "9.13.1" version "9.13.1"
@@ -4524,6 +4598,19 @@ html-encoding-sniffer@^1.0.1, html-encoding-sniffer@^1.0.2:
dependencies: dependencies:
whatwg-encoding "^1.0.1" whatwg-encoding "^1.0.1"
html-minifier@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56"
integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==
dependencies:
camel-case "^3.0.0"
clean-css "^4.2.1"
commander "^2.19.0"
he "^1.2.0"
param-case "^2.1.1"
relateurl "^0.2.7"
uglify-js "^3.5.1"
htmlparser2@^3.9.0: htmlparser2@^3.9.0:
version "3.9.2" version "3.9.2"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
@@ -5072,6 +5159,11 @@ is-regex@^1.0.4:
dependencies: dependencies:
has "^1.0.1" has "^1.0.1"
is-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
is-resolvable@^1.0.0: is-resolvable@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
@@ -5516,16 +5608,10 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
js-yaml@^3.10.0, js-yaml@^3.5.1, js-yaml@^3.7.0: js-yaml@^3.10.0, js-yaml@^3.13.1, js-yaml@^3.5.1, js-yaml@^3.7.0, js-yaml@^3.8.1, js-yaml@^3.9.0:
version "3.11.0" version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
dependencies: integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
argparse "^1.0.7"
esprima "^4.0.0"
js-yaml@^3.12.0, js-yaml@^3.8.1, js-yaml@^3.9.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
dependencies: dependencies:
argparse "^1.0.7" argparse "^1.0.7"
esprima "^4.0.0" esprima "^4.0.0"
@@ -5964,7 +6050,7 @@ lodash.escaperegexp@^4.1.2:
version "4.1.2" version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347"
lodash.flatten@^4.2.0: lodash.flatten@^4.2.0, lodash.flatten@^4.4.0:
version "4.4.0" version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
@@ -6030,14 +6116,15 @@ lodash.uniq@^4.5.0:
version "4.5.0" version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
lodash@^4.0.0, lodash@^4.0.1, lodash@^4.11.1, lodash@^4.12.0, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1: lodash@^4.0.0, lodash@^4.0.1, lodash@^4.12.0, lodash@^4.13.1, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1:
version "4.17.10" version "4.17.13"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.13.tgz#0bdc3a6adc873d2f4e0c4bac285df91b64fc7b93"
integrity sha512-vm3/XWXfWtRua0FkUyEHBZy8kCPjErNBT9fJx8Zvs+U6zjqPbTUOpkaoum3O5uiA8sm+yNMHXfYkTUHFoMxFNA==
lodash@^4.16.6, lodash@^4.2.0: lodash@^4.17.11, lodash@^4.17.15:
version "4.17.11" version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
lodash@~0.9.2: lodash@~0.9.2:
version "0.9.2" version "0.9.2"
@@ -6070,6 +6157,11 @@ loud-rejection@^1.0.0, loud-rejection@^1.2.0:
currently-unhandled "^0.4.1" currently-unhandled "^0.4.1"
signal-exit "^3.0.0" signal-exit "^3.0.0"
lower-case@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
lowercase-keys@^1.0.0: lowercase-keys@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
@@ -6315,18 +6407,23 @@ merge@^1.1.3:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
mermaid@^8.0.0-rc.8: mermaid@^8.4.2:
version "8.0.0-rc.8" version "8.4.2"
resolved "http://registry.npm.taobao.org/mermaid/download/mermaid-8.0.0-rc.8.tgz#74ed54d0d46e9ee71c4db2730b2d83d516a21e72" resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-8.4.2.tgz#91d3d8e9541e72eed7a78d0e882db11564fab3bb"
integrity sha512-vYSCP2u4XkOnjliWz/QIYwvzF/znQAq22vWJJ3YV40SnwV2JQyHblnwwNYXCprkXw7XfwBKDpSNaJ3HP4WfnZw==
dependencies: dependencies:
d3 "^4.13.0" "@braintree/sanitize-url" "^3.1.0"
dagre-d3-renderer "^0.5.8" crypto-random-string "^3.0.1"
dagre-layout "^0.8.8" d3 "^5.7.0"
graphlibrary "^2.2.0" dagre "^0.8.4"
he "^1.1.1" dagre-d3 dagrejs/dagre-d3
lodash "^4.17.5" graphlib "^2.1.7"
moment "^2.21.0" he "^1.2.0"
scope-css "^1.0.5" lodash "^4.17.11"
minify "^4.1.1"
moment-mini "^2.22.1"
prettier "^1.18.2"
scope-css "^1.2.1"
methods@~1.1.2: methods@~1.1.2:
version "1.1.2" version "1.1.2"
@@ -6406,6 +6503,19 @@ min-document@^2.19.0:
dependencies: dependencies:
dom-walk "^0.1.0" dom-walk "^0.1.0"
minify@^4.1.1:
version "4.1.3"
resolved "https://registry.yarnpkg.com/minify/-/minify-4.1.3.tgz#58467922d14303f55a3a28fa79641371955b8fbd"
integrity sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==
dependencies:
clean-css "^4.1.6"
css-b64-images "~0.2.5"
debug "^4.1.0"
html-minifier "^4.0.0"
terser "^4.0.0"
try-catch "^2.0.0"
try-to-catch "^1.0.2"
minimatch@0.3: minimatch@0.3:
version "0.3.0" version "0.3.0"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd"
@@ -6497,7 +6607,12 @@ mock-require@^3.0.1:
get-caller-file "^1.0.2" get-caller-file "^1.0.2"
normalize-path "^2.1.1" normalize-path "^2.1.1"
moment@^2.10.2, moment@^2.21.0: moment-mini@^2.22.1:
version "2.22.1"
resolved "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.22.1.tgz#bc32d73e43a4505070be6b53494b17623183420d"
integrity sha512-OUCkHOz7ehtNMYuZjNciXUfwTuz8vmF1MTbAy59ebf+ZBYZO5/tZKuChVWCX+uDo+4idJBpGltNfV8st+HwsGw==
moment@^2.10.2:
version "2.22.2" version "2.22.2"
resolved "http://registry.npm.taobao.org/moment/download/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" resolved "http://registry.npm.taobao.org/moment/download/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66"
@@ -6522,6 +6637,11 @@ ms@^2.0.0:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
ms@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
multimatch@^2.1.0: multimatch@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
@@ -6591,6 +6711,13 @@ nice-try@^1.0.4:
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
no-case@^2.2.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
dependencies:
lower-case "^1.1.1"
node-fetch@^1.0.1: node-fetch@^1.0.1:
version "1.7.3" version "1.7.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
@@ -6879,7 +7006,7 @@ once@^1.3.0, once@^1.4.0:
onetime@^1.0.0: onetime@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" resolved "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
onetime@^2.0.0: onetime@^2.0.0:
version "2.0.1" version "2.0.1"
@@ -7022,6 +7149,13 @@ pako@~0.2.0:
version "0.2.9" version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
param-case@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
dependencies:
no-case "^2.2.0"
parse-author@^2.0.0: parse-author@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-2.0.0.tgz#d3460bf1ddd0dfaeed42da754242e65fb684a81f" resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-2.0.0.tgz#d3460bf1ddd0dfaeed42da754242e65fb684a81f"
@@ -7808,6 +7942,17 @@ react-dom@^16.8.6:
prop-types "^15.6.2" prop-types "^15.6.2"
scheduler "^0.13.6" scheduler "^0.13.6"
react-emoji-render@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/react-emoji-render/-/react-emoji-render-1.1.0.tgz#af494619bf1012083bc20ad18eb0a6d92d04228c"
integrity sha512-HIHIrtWd8Jel4qDgIBRQnPPFChJakuRkMFl5N5wObYjYsL7a4pkwK5P9wrEKxQWqlbviTrjGOANAfFldnVuRIQ==
dependencies:
classnames "^2.2.5"
emoji-regex "^6.4.1"
lodash.flatten "^4.4.0"
prop-types "^15.5.8"
string-replace-to-array "^1.0.1"
react-image-carousel@^2.0.18: react-image-carousel@^2.0.18:
version "2.0.18" version "2.0.18"
resolved "https://registry.yarnpkg.com/react-image-carousel/-/react-image-carousel-2.0.18.tgz#5868ea09bd9cca09c4467d3d02695cd4e7792f28" resolved "https://registry.yarnpkg.com/react-image-carousel/-/react-image-carousel-2.0.18.tgz#5868ea09bd9cca09c4467d3d02695cd4e7792f28"
@@ -8205,6 +8350,11 @@ regjsparser@^0.1.4:
dependencies: dependencies:
jsesc "~0.5.0" jsesc "~0.5.0"
relateurl@^0.2.7:
version "0.2.7"
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
release-zalgo@^1.0.0: release-zalgo@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730"
@@ -8505,9 +8655,14 @@ scheduler@^0.13.6:
loose-envify "^1.1.0" loose-envify "^1.1.0"
object-assign "^4.1.1" object-assign "^4.1.1"
scope-css@^1.0.5: scope-css@^1.2.1:
version "1.1.0" version "1.2.1"
resolved "http://registry.npm.taobao.org/scope-css/download/scope-css-1.1.0.tgz#74eff45461bc9d3f3b29ed575b798cd722fa1256" resolved "https://registry.yarnpkg.com/scope-css/-/scope-css-1.2.1.tgz#c35768bc900cad030a3e0d663a818c0f6a57f40e"
integrity sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q==
dependencies:
escaper "^2.5.3"
slugify "^1.3.1"
strip-css-comments "^3.0.0"
seamless-immutable@^7.1.3: seamless-immutable@^7.1.3:
version "7.1.4" version "7.1.4"
@@ -8704,6 +8859,11 @@ slide@^1.1.5:
version "1.1.6" version "1.1.6"
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
slugify@^1.3.1:
version "1.3.6"
resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.3.6.tgz#ba5fd6159b570fe4811d02ea9b1f4906677638c3"
integrity sha512-wA9XS475ZmGNlEnYYLPReSfuz/c3VQsEMoU43mi6OnKMCdbnFXd4/Yg7J0lBv8jkPolacMpOrWEaoYxuE1+hoQ==
snapdragon-node@^2.0.1: snapdragon-node@^2.0.1:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -8794,6 +8954,14 @@ source-map-support@^0.5.0:
buffer-from "^1.0.0" buffer-from "^1.0.0"
source-map "^0.6.0" source-map "^0.6.0"
source-map-support@~0.5.12:
version "0.5.16"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
source-map-url@^0.4.0: source-map-url@^0.4.0:
version "0.4.0" version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
@@ -8818,7 +8986,7 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, sour
version "0.5.7" version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
version "0.6.1" version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
@@ -8985,6 +9153,15 @@ string-length@^2.0.0:
astral-regex "^1.0.0" astral-regex "^1.0.0"
strip-ansi "^4.0.0" strip-ansi "^4.0.0"
string-replace-to-array@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/string-replace-to-array/-/string-replace-to-array-1.0.3.tgz#c93eba999a5ee24d731aebbaf5aba36b5f18f7bf"
integrity sha1-yT66mZpe4k1zGuu69auja18Y978=
dependencies:
invariant "^2.2.1"
lodash.flatten "^4.2.0"
lodash.isstring "^4.0.1"
string-width@^1.0.1, string-width@^1.0.2: string-width@^1.0.1, string-width@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@@ -9056,6 +9233,13 @@ strip-color@^0.1.0:
version "0.1.0" version "0.1.0"
resolved "https://registry.yarnpkg.com/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b" resolved "https://registry.yarnpkg.com/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b"
strip-css-comments@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-css-comments/-/strip-css-comments-3.0.0.tgz#7a5625eff8a2b226cf8947a11254da96e13dae89"
integrity sha1-elYl7/iisibPiUehElTaluE9rok=
dependencies:
is-regexp "^1.0.0"
strip-eof@^1.0.0: strip-eof@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -9220,6 +9404,15 @@ term-size@^1.2.0:
dependencies: dependencies:
execa "^0.7.0" execa "^0.7.0"
terser@^4.0.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.4.0.tgz#22c46b4817cf4c9565434bfe6ad47336af259ac3"
integrity sha512-oDG16n2WKm27JO8h4y/w3iqBGAOSCtq7k8dRmrn4Wf9NouL0b2WpMHGChFGZq4nFAQy1FsNJrVQHfurXOSTmOA==
dependencies:
commander "^2.20.0"
source-map "~0.6.1"
source-map-support "~0.5.12"
test-exclude@^4.2.1: test-exclude@^4.2.1:
version "4.2.1" version "4.2.1"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa"
@@ -9405,6 +9598,16 @@ truncate-utf8-bytes@^1.0.0:
dependencies: dependencies:
utf8-byte-length "^1.0.1" utf8-byte-length "^1.0.1"
try-catch@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.1.tgz#a35d354187c422f291a0bcfd9eb77e3a4f90c1e5"
integrity sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==
try-to-catch@^1.0.2:
version "1.1.1"
resolved "https://registry.yarnpkg.com/try-to-catch/-/try-to-catch-1.1.1.tgz#770162dd13b9a0e55da04db5b7f888956072038a"
integrity sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==
tty-browserify@0.0.0: tty-browserify@0.0.0:
version "0.0.0" version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -9439,6 +9642,11 @@ type-check@~0.3.2:
dependencies: dependencies:
prelude-ls "~1.1.2" prelude-ls "~1.1.2"
type-fest@^0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2"
integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==
type-is@~1.6.15, type-is@~1.6.16: type-is@~1.6.15, type-is@~1.6.16:
version "1.6.16" version "1.6.16"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
@@ -9481,6 +9689,14 @@ uglify-js@^2.6:
optionalDependencies: optionalDependencies:
uglify-to-browserify "~1.0.0" uglify-to-browserify "~1.0.0"
uglify-js@^3.5.1:
version "3.6.9"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.9.tgz#85d353edb6ddfb62a9d798f36e91792249320611"
integrity sha512-pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw==
dependencies:
commander "~2.20.3"
source-map "~0.6.1"
uglify-js@~2.7.3: uglify-js@~2.7.3:
version "2.7.5" version "2.7.5"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
@@ -9609,6 +9825,11 @@ update-notifier@^2.3.0:
semver-diff "^2.0.0" semver-diff "^2.0.0"
xdg-basedir "^3.0.0" xdg-basedir "^3.0.0"
upper-case@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
urix@^0.1.0: urix@^0.1.0:
version "0.1.0" version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
@@ -10025,10 +10246,6 @@ xmldom@0.1.x:
version "0.1.27" version "0.1.27"
resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9"
xmlhttprequest@1:
version "1.8.0"
resolved "http://registry.npm.taobao.org/xmlhttprequest/download/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc"
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"