housekeeping: bundle size reductions (#4713)

* set new bundlesize goal
* preserve `GeneratorFunction` instead of all function names
* use js-yaml fork that doesn't require esprima
* set HTML content directly, instead of using React-Markdown
* use remarkable for all Markdown rendering
* add babel-plugin-transform-react-remove-prop-types
* remove SplitPaneMode plugin
* remove react-collapse
* remove AST plugin, and yaml-js
* trim Markdown HTML string output before rendering
* disable obsolete function name preservation
* add `getComponent` to propTypes
This commit is contained in:
kyle
2018-07-19 13:48:39 -07:00
committed by GitHub
parent b9b4ab20af
commit 0359f9c364
19 changed files with 206 additions and 644 deletions

View File

@@ -9,7 +9,7 @@ export default class AuthorizationPopup extends React.Component {
}
render() {
let { authSelectors, authActions, getComponent, errSelectors, specSelectors, fn: { AST } } = this.props
let { authSelectors, authActions, getComponent, errSelectors, specSelectors, fn: { AST = {} } } = this.props
let definitions = authSelectors.shownDefinitions()
const Auths = getComponent("auths")

View File

@@ -1,6 +1,5 @@
import React from "react"
import PropTypes from "prop-types"
import { Collapse } from "react-collapse"
import { presets } from "react-motion"
import ObjectInspector from "react-inspector"
import Perf from "react-addons-perf"
@@ -25,10 +24,12 @@ export default class Debug extends React.Component {
render() {
let { getState } = this.props
let { getState, getComponent } = this.props
window.props = this.props
const Collapse = getComponent("Collapse")
return (
<div className="info">
<h3><a onClick={this.toggleJsonDump}> {this.plusOrMinus(this.state.jsonDumpOpen)} App </a></h3>
@@ -47,6 +48,7 @@ export default class Debug extends React.Component {
}
Debug.propTypes = {
getState: PropTypes.func.isRequired
getState: PropTypes.func.isRequired,
getComponent: PropTypes.func.isRequired,
}

View File

@@ -1,7 +1,6 @@
import React from "react"
import PropTypes from "prop-types"
import { List } from "immutable"
import { Collapse } from "react-collapse"
export default class Errors extends React.Component {
@@ -9,11 +8,14 @@ export default class Errors extends React.Component {
editorActions: PropTypes.object,
errSelectors: PropTypes.object.isRequired,
layoutSelectors: PropTypes.object.isRequired,
layoutActions: PropTypes.object.isRequired
layoutActions: PropTypes.object.isRequired,
getComponent: PropTypes.func.isRequired,
}
render() {
let { editorActions, errSelectors, layoutSelectors, layoutActions } = this.props
let { editorActions, errSelectors, layoutSelectors, layoutActions, getComponent } = this.props
const Collapse = getComponent("Collapse")
if(editorActions && editorActions.jumpToLine) {
var jumpToLine = editorActions.jumpToLine

View File

@@ -0,0 +1,9 @@
import React from "react"
// Nothing by default- component can be overridden by another plugin.
export default class JumpToPath extends React.Component {
render() {
return null
}
}

View File

@@ -1,6 +1,5 @@
import React from "react"
import PropTypes from "prop-types"
import { Collapse as OriCollapse } from "react-collapse"
function xclass(...args) {
return args.filter(a => !!a).join(" ").trim()
@@ -243,11 +242,9 @@ export class Collapse extends React.Component {
children = isOpened ? children : null
return (
<OriCollapse isOpened={isOpened}>
<NoMargin>
{children}
</NoMargin>
</OriCollapse>
<NoMargin>
{children}
</NoMargin>
)
}