mirror of
https://github.com/jxnblk/mdx-deck.git
synced 2024-11-29 13:58:02 +03:00
Merge branch 'master' into refactor-querystring
This commit is contained in:
commit
3b028183ea
@ -2,7 +2,16 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
- Refactor localStorage to use hooks #334
|
||||
|
||||
## v2.2.3 2019-04-20
|
||||
|
||||
- Refactor Head component #329
|
||||
|
||||
## v2.2.2 2019-04-20
|
||||
|
||||
- Fix typos #333
|
||||
- Refactor themes for better bundle sizes #328
|
||||
|
||||
## v2.2.1 2019-04-15
|
||||
|
||||
|
8
docs/bundle-analyzer.config.js
Normal file
8
docs/bundle-analyzer.config.js
Normal file
@ -0,0 +1,8 @@
|
||||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
|
||||
.BundleAnalyzerPlugin
|
||||
|
||||
console.log('bundle analyzer')
|
||||
|
||||
module.exports = {
|
||||
plugins: [new BundleAnalyzerPlugin()],
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
export { future as theme } from '@mdx-deck/themes'
|
||||
import { Head, Image, Notes, Appear } from '@mdx-deck/components'
|
||||
import { Invert, Split, SplitRight, FullScreenCode, Horizontal} from '@mdx-deck/layouts'
|
||||
import Counter from './Counter'
|
||||
|
||||
export { default as theme } from '@mdx-deck/themes/future'
|
||||
|
||||
<Head>
|
||||
<title>mdx-deck</title>
|
||||
<meta name='twitter:card' content='summary_large_image' />
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@mdx-deck/docs",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"main": "index.js",
|
||||
"author": "Brent Jackson <jxnblk@gmail.com>",
|
||||
"license": "MIT",
|
||||
@ -13,11 +13,14 @@
|
||||
"dependencies": {
|
||||
"@emotion/core": "^10.0.7",
|
||||
"@emotion/styled": "^10.0.7",
|
||||
"@mdx-deck/components": "^2.2.1",
|
||||
"@mdx-deck/layouts": "^2.2.1",
|
||||
"@mdx-deck/themes": "^2.2.1",
|
||||
"@mdx-deck/components": "^2.2.3",
|
||||
"@mdx-deck/layouts": "^2.2.3",
|
||||
"@mdx-deck/themes": "^2.2.3",
|
||||
"@rebass/emotion": "^3.0.0",
|
||||
"mdx-deck": "^2.2.1",
|
||||
"mdx-deck": "^2.2.3",
|
||||
"rebass": "^3.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"webpack-bundle-analyzer": "^3.3.2"
|
||||
}
|
||||
}
|
||||
|
@ -2,5 +2,5 @@
|
||||
"packages": ["packages/*"],
|
||||
"npmClient": "yarn",
|
||||
"useWorkspaces": true,
|
||||
"version": "2.2.1"
|
||||
"version": "2.2.3"
|
||||
}
|
||||
|
@ -8,6 +8,7 @@
|
||||
],
|
||||
"scripts": {
|
||||
"start": "yarn workspace @mdx-deck/docs start",
|
||||
"analyze-bundle": "yarn workspace @mdx-deck/docs start --webpack bundle-analyzer.config.js",
|
||||
"build": "yarn workspace @mdx-deck/docs build",
|
||||
"test": "jest"
|
||||
},
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mdx-deck/components",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"main": "src/index.js",
|
||||
"author": "Brent Jackson <jxnblk@gmail.com>",
|
||||
"license": "MIT",
|
||||
|
@ -5,7 +5,7 @@ import { Head } from './Head'
|
||||
const GoogleFonts = withTheme(({ theme }) => {
|
||||
if (!theme.googleFont) return false
|
||||
return (
|
||||
<Head>
|
||||
<Head portal>
|
||||
<link rel="stylesheet" href={theme.googleFont} />
|
||||
</Head>
|
||||
)
|
||||
|
@ -1,6 +1,8 @@
|
||||
import React from 'react'
|
||||
import React, { useEffect, useContext } from 'react'
|
||||
import { createPortal } from 'react-dom'
|
||||
|
||||
let didMount = false
|
||||
|
||||
export const HeadContext = React.createContext({
|
||||
tags: [],
|
||||
push: () => {
|
||||
@ -16,54 +18,36 @@ export const HeadProvider = ({ tags = [], children }) => {
|
||||
return <HeadContext.Provider value={context}>{children}</HeadContext.Provider>
|
||||
}
|
||||
|
||||
export class Head extends React.Component {
|
||||
state = {
|
||||
didMount: false,
|
||||
}
|
||||
rehydrate = () => {
|
||||
const children = React.Children.toArray(this.props.children)
|
||||
const nodes = [...document.head.querySelectorAll('[data-head]')]
|
||||
nodes.forEach(node => {
|
||||
if (typeof node.remove !== 'function') return
|
||||
node.remove()
|
||||
})
|
||||
children.forEach(child => {
|
||||
if (child.type === 'title') {
|
||||
const title = document.head.querySelector('title')
|
||||
if (title) title.remove()
|
||||
}
|
||||
if (child.type === 'meta') {
|
||||
const { name } = child.props
|
||||
let meta
|
||||
if (name) meta = document.head.querySelector(`meta[name="${name}"]`)
|
||||
if (meta) meta.remove()
|
||||
}
|
||||
})
|
||||
this.setState({ didMount: true })
|
||||
}
|
||||
// get head for all slides
|
||||
export const UserHead = ({ mdx }) =>
|
||||
React.createElement(mdx, {
|
||||
components: {
|
||||
wrapper: props => {
|
||||
if (!didMount) return false
|
||||
const heads = React.Children.toArray(props.children).filter(
|
||||
child => child.props.originalType === Head
|
||||
)
|
||||
const head = React.Children.toArray(
|
||||
heads.reduce((acc, head) => [...acc, ...head.props.children], [])
|
||||
)
|
||||
return createPortal(head, document.head)
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
componentDidMount() {
|
||||
this.rehydrate()
|
||||
}
|
||||
export const Head = props => {
|
||||
const { push } = useContext(HeadContext)
|
||||
const children = React.Children.toArray(props.children)
|
||||
|
||||
render() {
|
||||
const children = React.Children.toArray(this.props.children).map(child =>
|
||||
React.cloneElement(child, {
|
||||
'data-head': true,
|
||||
})
|
||||
)
|
||||
if (!this.state.didMount) {
|
||||
return (
|
||||
<HeadContext.Consumer
|
||||
children={({ push }) => {
|
||||
push(children)
|
||||
return false
|
||||
}}
|
||||
/>
|
||||
)
|
||||
}
|
||||
return createPortal(children, document.head)
|
||||
useEffect(() => {
|
||||
didMount = true
|
||||
}, [])
|
||||
if (!didMount) {
|
||||
push(children)
|
||||
return false
|
||||
}
|
||||
if (!props.portal) return false
|
||||
return createPortal(children, document.head)
|
||||
}
|
||||
|
||||
export default Head
|
||||
|
@ -12,6 +12,7 @@ import Print from './Print'
|
||||
import GoogleFonts from './GoogleFonts'
|
||||
import Catch from './Catch'
|
||||
import QueryString from './QueryString'
|
||||
import Storage from './Storage'
|
||||
|
||||
const NORMAL = 'normal'
|
||||
const PRESENTER = 'presenter'
|
||||
@ -26,9 +27,6 @@ const modes = {
|
||||
PRINT,
|
||||
}
|
||||
|
||||
const STORAGE_INDEX = 'mdx-slide'
|
||||
const STORAGE_STEP = 'mdx-step'
|
||||
|
||||
const keys = {
|
||||
right: 39,
|
||||
left: 37,
|
||||
@ -174,37 +172,12 @@ export class MDXDeck extends React.Component {
|
||||
this.setState({ slides })
|
||||
}
|
||||
|
||||
handleStorageChange = e => {
|
||||
const { key } = e
|
||||
switch (key) {
|
||||
case STORAGE_INDEX:
|
||||
const index = parseInt(e.newValue, 10)
|
||||
this.goto(index)
|
||||
break
|
||||
case STORAGE_STEP:
|
||||
const step = parseInt(e.newValue, 10)
|
||||
this.setState({ step })
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
document.body.addEventListener('keydown', this.handleKeyDown)
|
||||
window.addEventListener('storage', this.handleStorageChange)
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
document.body.removeEventListener('keydown', this.handleKeyDown)
|
||||
window.removeEventListener('storage', this.handleStorageChange)
|
||||
}
|
||||
|
||||
componentDidUpdate() {
|
||||
const index = this.getIndex()
|
||||
const { step } = this.state
|
||||
localStorage.setItem(STORAGE_INDEX, index)
|
||||
localStorage.setItem(STORAGE_STEP, step)
|
||||
}
|
||||
|
||||
componentDidCatch(err) {
|
||||
@ -257,6 +230,7 @@ export class MDXDeck extends React.Component {
|
||||
{style}
|
||||
<Catch>
|
||||
<QueryString {...this.state} modes={modes} index={index} />
|
||||
<Storage {...this.state} goto={this.goto} index={index} />
|
||||
<GoogleFonts />
|
||||
<Wrapper {...this.props} {...this.state} modes={modes} index={index}>
|
||||
<Swipeable onSwipedRight={this.previous} onSwipedLeft={this.next}>
|
||||
|
@ -1,9 +1,9 @@
|
||||
import React from 'react'
|
||||
import { ThemeProvider } from 'emotion-theming'
|
||||
import merge from 'lodash.merge'
|
||||
import { HeadProvider } from './Head'
|
||||
import { HeadProvider, UserHead } from './Head'
|
||||
import { MDXProvider } from '@mdx-js/react'
|
||||
import defaultTheme from '@mdx-deck/themes'
|
||||
import defaultTheme from '@mdx-deck/themes/base'
|
||||
import mdxComponents from './mdx-components'
|
||||
|
||||
const DefaultProvider = props => <>{props.children}</>
|
||||
@ -16,7 +16,7 @@ const mergeThemes = themes =>
|
||||
)
|
||||
|
||||
export const Provider = props => {
|
||||
const { headTags, theme: baseTheme, themes = [] } = props
|
||||
const { headTags, theme: baseTheme, themes = [], mdx } = props
|
||||
const theme = mergeThemes([defaultTheme, baseTheme, ...themes])
|
||||
const {
|
||||
Provider: UserProvider = DefaultProvider,
|
||||
@ -30,6 +30,7 @@ export const Provider = props => {
|
||||
|
||||
return (
|
||||
<HeadProvider tags={headTags}>
|
||||
<UserHead mdx={mdx} />
|
||||
<ThemeProvider theme={theme}>
|
||||
<MDXProvider components={allComponents}>
|
||||
<UserProvider {...props} />
|
||||
|
44
packages/components/src/Storage.js
Normal file
44
packages/components/src/Storage.js
Normal file
@ -0,0 +1,44 @@
|
||||
import { useEffect } from 'react'
|
||||
|
||||
const STORAGE_INDEX = 'mdx-slide'
|
||||
const STORAGE_STEP = 'mdx-step'
|
||||
|
||||
export const useLocalStorage = (handler, args = []) => {
|
||||
useEffect(() => {
|
||||
window.addEventListener('storage', handler)
|
||||
return () => {
|
||||
window.removeEventListener('storage', handler)
|
||||
}
|
||||
}, [...args])
|
||||
}
|
||||
|
||||
export const useSetStorage = (key, value) => {
|
||||
useEffect(() => {
|
||||
localStorage.setItem(key, value)
|
||||
}, [key, value])
|
||||
}
|
||||
|
||||
const handleStorageChange = ({ goto, update }) => e => {
|
||||
const { key } = e
|
||||
switch (key) {
|
||||
case STORAGE_INDEX:
|
||||
const index = parseInt(e.newValue, 10)
|
||||
goto(index)
|
||||
break
|
||||
case STORAGE_STEP:
|
||||
const step = parseInt(e.newValue, 10)
|
||||
update({ step })
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
export default ({ goto, update, index, step }) => {
|
||||
const handler = handleStorageChange({ goto, update })
|
||||
useLocalStorage(handler)
|
||||
useSetStorage(STORAGE_INDEX, index)
|
||||
useSetStorage(STORAGE_STEP, step)
|
||||
|
||||
return false
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "create-deck",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"description": "Create mdx-deck presentations",
|
||||
"bin": {
|
||||
"create-deck": "cli.js"
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mdx-deck/export",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"main": "index.js",
|
||||
"author": "Brent Jackson <jxnblk@gmail.com>",
|
||||
"license": "MIT",
|
||||
@ -12,7 +12,7 @@
|
||||
"png": "./cli.js png ../../docs/demo.mdx"
|
||||
},
|
||||
"dependencies": {
|
||||
"mdx-deck": "^2.2.1",
|
||||
"mdx-deck": "^2.2.3",
|
||||
"meow": "^5.0.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"puppeteer": "^1.13.0"
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mdx-deck/gatsby-theme",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"main": "index.js",
|
||||
"author": "Brent Jackson <jxnblk@gmail.com>",
|
||||
"license": "MIT",
|
||||
@ -19,8 +19,8 @@
|
||||
"react-dom": "^16.8.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@mdx-deck/components": "^2.2.1",
|
||||
"@mdx-deck/themes": "^2.2.1",
|
||||
"@mdx-deck/components": "^2.2.3",
|
||||
"@mdx-deck/themes": "^2.2.3",
|
||||
"@mdx-js/mdx": "^1.0.1",
|
||||
"@mdx-js/react": "^1.0.1",
|
||||
"debug": "^4.1.1",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mdx-deck/webpack-html-plugin",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"author": "Brent Jackson <jxnblk@gmail.com>",
|
||||
"license": "MIT",
|
||||
"repository": "github:jxnblk/mdx-deck",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mdx-deck/layouts",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"main": "src/index.js",
|
||||
"author": "Brent Jackson <jxnblk@gmail.com>",
|
||||
"license": "MIT",
|
||||
|
@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "@mdx-deck/loader",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"main": "index.js",
|
||||
"author": "Brent Jackson <jxnblk@gmail.com>",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@mdx-deck/mdx-plugin": "^2.2.1",
|
||||
"@mdx-deck/mdx-plugin": "^2.2.3",
|
||||
"@mdx-js/mdx": "^1.0.1",
|
||||
"loader-utils": "^1.2.3"
|
||||
}
|
||||
|
@ -3,12 +3,18 @@ import { render } from 'react-dom'
|
||||
import { MDXDeck } from '@mdx-deck/components'
|
||||
|
||||
const mod = require(FILENAME)
|
||||
const { slides, theme, themes } = mod
|
||||
const { default: mdx, slides, theme, themes } = mod
|
||||
|
||||
export default class App extends React.Component {
|
||||
render() {
|
||||
return (
|
||||
<MDXDeck {...this.props} slides={slides} theme={theme} themes={themes} />
|
||||
<MDXDeck
|
||||
{...this.props}
|
||||
slides={slides}
|
||||
theme={theme}
|
||||
themes={themes}
|
||||
mdx={mdx}
|
||||
/>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mdx-deck",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"description": "MDX-based presentation decks",
|
||||
"bin": {
|
||||
"mdx-deck": "./cli.js"
|
||||
@ -26,11 +26,11 @@
|
||||
"@emotion/babel-preset-css-prop": "^10.0.7",
|
||||
"@emotion/core": "^10.0.7",
|
||||
"@emotion/styled": "^10.0.7",
|
||||
"@mdx-deck/components": "^2.2.1",
|
||||
"@mdx-deck/layouts": "^2.2.1",
|
||||
"@mdx-deck/loader": "^2.2.1",
|
||||
"@mdx-deck/themes": "^2.2.1",
|
||||
"@mdx-deck/webpack-html-plugin": "^2.2.1",
|
||||
"@mdx-deck/components": "^2.2.3",
|
||||
"@mdx-deck/layouts": "^2.2.3",
|
||||
"@mdx-deck/loader": "^2.2.3",
|
||||
"@mdx-deck/themes": "^2.2.3",
|
||||
"@mdx-deck/webpack-html-plugin": "^2.2.3",
|
||||
"@mdx-js/mdx": "^1.0.1",
|
||||
"@mdx-js/react": "^1.0.1",
|
||||
"babel-loader": "^8.0.5",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mdx-deck/mdx-plugin",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"keywords": [],
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@mdx-deck/themes",
|
||||
"version": "2.2.1",
|
||||
"main": "src/index.js",
|
||||
"version": "2.2.3",
|
||||
"main": "index.js",
|
||||
"author": "Brent Jackson <jxnblk@gmail.com>",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
@ -1,13 +1,13 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@mdx-deck/basic-template",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.3",
|
||||
"scripts": {
|
||||
"start": "mdx-deck deck.mdx",
|
||||
"build": "mdx-deck build deck.mdx",
|
||||
"help": "mdx-deck"
|
||||
},
|
||||
"devDependencies": {
|
||||
"mdx-deck": "^2.2.1"
|
||||
"mdx-deck": "^2.2.3"
|
||||
}
|
||||
}
|
||||
|
64
yarn.lock
64
yarn.lock
@ -2350,7 +2350,7 @@ acorn-jsx@^5.0.0:
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
|
||||
integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==
|
||||
|
||||
acorn-walk@^6.0.1:
|
||||
acorn-walk@^6.0.1, acorn-walk@^6.1.1:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
|
||||
integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
|
||||
@ -3025,6 +3025,16 @@ better-queue@^3.8.6, better-queue@^3.8.7:
|
||||
node-eta "^0.9.0"
|
||||
uuid "^3.0.0"
|
||||
|
||||
bfj@^6.1.1:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48"
|
||||
integrity sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ==
|
||||
dependencies:
|
||||
bluebird "^3.5.1"
|
||||
check-types "^7.3.0"
|
||||
hoopy "^0.1.2"
|
||||
tryer "^1.0.0"
|
||||
|
||||
big.js@^5.2.2:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
||||
@ -3554,6 +3564,11 @@ charenc@~0.0.1:
|
||||
resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
|
||||
integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=
|
||||
|
||||
check-types@^7.3.0:
|
||||
version "7.4.0"
|
||||
resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4"
|
||||
integrity sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==
|
||||
|
||||
cheerio@^0.22.0:
|
||||
version "0.22.0"
|
||||
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
|
||||
@ -3826,7 +3841,7 @@ command-exists@^1.2.2:
|
||||
resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291"
|
||||
integrity sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==
|
||||
|
||||
commander@^2.11.0, commander@^2.14.1, commander@^2.19.0, commander@^2.9.0, commander@~2.20.0:
|
||||
commander@^2.11.0, commander@^2.14.1, commander@^2.18.0, commander@^2.19.0, commander@^2.9.0, commander@~2.20.0:
|
||||
version "2.20.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
|
||||
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
|
||||
@ -5091,6 +5106,11 @@ ee-first@1.1.1:
|
||||
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||
|
||||
ejs@^2.6.1:
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0"
|
||||
integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==
|
||||
|
||||
electron-to-chromium@^1.3.103, electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.47:
|
||||
version "1.3.124"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.124.tgz#861fc0148748a11b3e5ccebdf8b795ff513fa11f"
|
||||
@ -5936,7 +5956,7 @@ filesize@3.5.11:
|
||||
resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee"
|
||||
integrity sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==
|
||||
|
||||
filesize@3.6.1:
|
||||
filesize@3.6.1, filesize@^3.6.1:
|
||||
version "3.6.1"
|
||||
resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
|
||||
integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==
|
||||
@ -6916,7 +6936,7 @@ gzip-size@3.0.0:
|
||||
dependencies:
|
||||
duplexer "^0.1.1"
|
||||
|
||||
gzip-size@5.0.0:
|
||||
gzip-size@5.0.0, gzip-size@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80"
|
||||
integrity sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA==
|
||||
@ -7172,6 +7192,11 @@ homedir-polyfill@^1.0.1:
|
||||
dependencies:
|
||||
parse-passwd "^1.0.0"
|
||||
|
||||
hoopy@^0.1.2:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
|
||||
integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==
|
||||
|
||||
hosted-git-info@^2.1.4, hosted-git-info@^2.6.0:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
|
||||
@ -10374,6 +10399,11 @@ onetime@^2.0.0:
|
||||
dependencies:
|
||||
mimic-fn "^1.0.0"
|
||||
|
||||
opener@^1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"
|
||||
integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==
|
||||
|
||||
opentracing@^0.14.3:
|
||||
version "0.14.3"
|
||||
resolved "https://registry.yarnpkg.com/opentracing/-/opentracing-0.14.3.tgz#23e3ad029fa66a653926adbe57e834469f8550aa"
|
||||
@ -13881,6 +13911,11 @@ trough@^1.0.0:
|
||||
dependencies:
|
||||
glob "^7.1.2"
|
||||
|
||||
tryer@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
|
||||
integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
|
||||
|
||||
ts-invariant@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.2.1.tgz#3d587f9d6e3bded97bf9ec17951dd9814d5a9d3f"
|
||||
@ -14444,6 +14479,25 @@ webidl-conversions@^4.0.2:
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
|
||||
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
|
||||
|
||||
webpack-bundle-analyzer@^3.3.2:
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.3.2.tgz#3da733a900f515914e729fcebcd4c40dde71fc6f"
|
||||
integrity sha512-7qvJLPKB4rRWZGjVp5U1KEjwutbDHSKboAl0IfafnrdXMrgC0tOtZbQD6Rw0u4cmpgRN4O02Fc0t8eAT+FgGzA==
|
||||
dependencies:
|
||||
acorn "^6.0.7"
|
||||
acorn-walk "^6.1.1"
|
||||
bfj "^6.1.1"
|
||||
chalk "^2.4.1"
|
||||
commander "^2.18.0"
|
||||
ejs "^2.6.1"
|
||||
express "^4.16.3"
|
||||
filesize "^3.6.1"
|
||||
gzip-size "^5.0.0"
|
||||
lodash "^4.17.10"
|
||||
mkdirp "^0.5.1"
|
||||
opener "^1.5.1"
|
||||
ws "^6.0.0"
|
||||
|
||||
webpack-dev-middleware@^3.0.1, webpack-dev-middleware@^3.6.0, webpack-dev-middleware@^3.6.2:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.6.2.tgz#f37a27ad7c09cd7dc67cd97655413abaa1f55942"
|
||||
@ -14836,7 +14890,7 @@ ws@^5.2.0:
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
|
||||
ws@^6.1.0:
|
||||
ws@^6.0.0, ws@^6.1.0:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
|
||||
integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
|
||||
|
Loading…
Reference in New Issue
Block a user