Skip to content

Instantly share code, notes, and snippets.

@tie tie/10-main.md Secret
Last active Dec 10, 2018

Embed
What would you like to do?
Markdown to HTML on steroids

${toc}

Building

To build this project, run 99-install.sh and npm install --ignore-scripts.

Introduction

Markdown on steroids (i.e. lots of server-side compile-time NodeJS dependencies).

f(x) = x^2

It's beautiful!

bb`E`[X] = int_(-oo)^oo x f(x)  dx

We don't need no education.

[λ_0, λ_1, ...;]
[p_(0 0), p_(0 1), ...
 p_(1 0), p_(1 1), ...
 vdots, vdots, ddots]

Function Plots

Rendering plots from Markdown is not a 🚀 science!

width: 320
height: 200
data:
- fn: 'x^2'
xAxis:
  label: 'x - axis'
  domain: [-6, 6]
yAxis:
  label: 'y - axis'

Graphs

Graphs can be specified in DOT graph description language. The library used internally supports other popular formats, but the priority for now is graph layout.

digraph {
	a -> b -> c
	b -> d
}

Note that currently manual layout/positioning and attributes are not supported. Hence the support is experimental.

graph ethane {
	C_0 -- H_0 [type=s]
	C_0 -- H_1 [type=s]
	C_0 -- H_2 [type=s]
	C_0 -- C_1 [type=s]
	C_1 -- H_3 [type=s]
	C_1 -- H_4 [type=s]
	C_1 -- H_5 [type=s]
}

Highlighting

Comes with the bleeding-edge technology for language-independent distraction-free syntax highlighting (smarter than AI).

package main

import "fmt"

// fib returns a function that returns
// successive Fibonacci numbers.
func fib() func() int {
	a, b := 0, 1
	return func() int {
		a, b = b, a+b
		return a
	}
}

func main() {
	f := fib()
	// Function calls are evaluated left-to-right.
	fmt.Println(f(), f(), f(), f(), f())
}

Railroad

Another killer feature is the support for syntax diagrams (also known as railroad diagrams).

Supported notations

Bash {
  Script
      = (Shebang)? allwhitespace* CmdSequence? semicolon*
  CmdSequence = NonemptyListOf<Cmd, semicolon>
  Shebang = "#!" (~"sh" any)* "sh\n"

  Cmd = FunctionDecl
      | CodeBlock
      | IfCommand
      | comment
      | ForCommand
      | WhileCommand
      | CmdWithComment
      | PipeCmd
      | Export
      | Assignment
      | SimpleCmd
      | CaseCommand
      | ("" ~keyword)

  IfCommand
      = IfCase ElseIfThen* ElseCase? EndIf

  IfCase
      = "if" #(allwhitespace+) Conditional semicolon "then" #(allwhitespace+) CmdSequence
  ElseIfThen
      = semicolon "elif" #(allwhitespace+) Conditional semicolon "then" #(allwhitespace+) CmdSequence
  ElseCase
      = semicolon "else" #(allwhitespace+) CmdSequence
  EndIf = semicolon "fi"

  Conditional
      = TestCmd   -- test
      | SimpleCmd -- cmd

  ForCommand
      = "for" "((" ControlStruct "))" semicolon "do" #(allwhitespace+) CmdSequence Done
          -- c_style
      | "for" id "in" (Call | arrayReference) semicolon "do" #(allwhitespace+) CmdSequence Done          -- for_each

  ControlStruct
      = Assignment ";" id BinaryOp Bashword ";" (~")" Bashword)

  WhileCommand
      = "while" #(allwhitespace+) Conditional semicolon "do" #(allwhitespace+) CmdSequence Done

  Done = semicolon "done"

  FunctionDecl
      = ("function" #(space+))? id_std "()"  allwhitespace* CodeBlock // "foo()"
      | "function"  #(space+)   id_std "()"? allwhitespace* CodeBlock // "function foo"

  CodeBlock
      = "{" allwhitespace* CmdSequence allwhitespace* "}"

  CaseCommand
      = "case" Bashword "in" #(allwhitespace+) NonemptyListOf<CaseCase, #(allwhitespace+)> #(allwhitespace+) "esac"

  CaseCase
      = NonemptyListOf<Bashword, "|"> ")" #(allwhitespace*) ListOf<Cmd, (~";;" semicolon)> #(allwhitespace*) (";;" | ";&") comment?

  BinaryOp (Binary infix operator)
      = "=="  | "=" | "-eq"
      | "!="  | "-ne"
      | "-lt" | "\\<"
      | "-gt" | "\\>"
      | "-le"
      | "-ge"

  UnaryOp (Unary operator)
      = "-z" | "-n" | "-b" | "-c" | "-d" | "-e" | "-f" | "-L" | "-p" | "-S"

  SequenceCmd
      = Cmd semicolon Cmd -- std
      | Cmd semicolon -- null

  PipeCmd = (PipeCmd | SimpleCmd) "|" allwhitespace* (PipeCmd | SimpleCmd)

  CmdWithComment
      = SimpleCmd comment

  SimpleCmd
      = SimpleCmdBase Redirect* "&"?

  Redirect
      = ">" Bashword
      | ">>" Bashword

  SimpleCmdBase
      = TestCmd
      | CmdName Bashword* -- std

  TestCmd
      = "test " TestInsides                 -- cmd
      | #("[[" space+) TestInsides "]]"     -- doubleBracket
      | #("[" space+) TestInsides "]"       -- singleBracket

  TestInsides
      = "!"? UnaryOp Bashword               -- unary
      | "!"? Bashword BinaryOp Bashword     -- binary
      | "!"? Bashword                       -- str

  CmdName = (~keyword Bashword #(~alnum))
  comment = space* "#" (~"\n" any)*
  /* modOptions = ("-" |"+" ) letter+ */

  Bashword
      = Call
      | ArrayLiteral
      | arrayLength
      | arrayReference
      | number
      | bareWord

  ArrayLiteral
      = "(" allwhitespace* (Bashword allwhitespace*)* ")"

  Call
      = "$(" Cmd ")"
      | "\"$(" Cmd ")\""
      | "`" Cmd "`"
      | "\"`" Cmd "`\""

  arrayReference
      = "${" id "[@]}"
      | "\"${" id "[@]}\""

  arrayLength
      = "${#" id "[@]}"

  reference
      = "$" id -- simple
      | "${" id "}" -- wrapped
      | "${" id ":" digit+ ":"? digit* "}" -- substr
      | "${" id ("//" | "/") alnum* "/"? alnum* "}" -- substit
      | "${#" id "}" -- length

  number
      = "-"? digit+

  bareWord
      = barewordChar+

  barewordChar
      = stringLiteral -- str
      | (~(badchars | "\\") (reference | any)) -- normal
      | "\\" any -- escape

  keyword
      = keywordRoot ~alnum

  keywordRoot
      = "case" | "esac" | "if" | "then" | "else" | "elif" | "fi" | "for" | "done" | "do" | "function"

  stringLiteral
      = singleString
      | doubleString

  singleString = "'" notSingleQuote* "'"
  doubleString = "\"" notDoubleQuote* "\""

  notSingleQuote
      = (~"'" any)
      | "\\" any -- escape

  notDoubleQuote
      = (~("\"" | "\\") (reference | any))
      | "\\" any -- escape

  badchars = allwhitespace | "|" | ";" | ">" | "#" | "'" | "\"" | "`" | "(" | ")" | "&" | "{" | "}"
  Export
      = "export " Assignment -- assign
      | "export " id -- bare
  Assignment
      = ("local " | "readonly ")? #(id_std "=" ~space) Bashword?

  id  = (~keyword (letter | "_") (alnum | "_")*) -- std
      | digit+ -- arg
      | "?" -- error
      | "#" -- argLength
  space := " " | "\t"
  allwhitespace = space | "\n"
  semicolon
      = ";"* "\n" -- both
      | ";"+
}
lang: en
pagetitle: maths
header: >
<header>
<h1 class=title>Math Note</h1>
<p class=description>Static web pages without client-side JavaScript.</h2>
</header>
import fs from 'fs'
import arg from 'arg'
import yaml from 'js-yaml'
import subst from './subst'
import hl from 'microlight'
import md from 'markdown-it'
import emoji from 'markdown-it-emoji'
import graph from './markdown-it-graph'
import anchor from 'markdown-it-anchor'
import funplot from './markdown-it-funplot'
import grammkit from './markdown-it-grammkit'
import deflist from 'markdown-it-deflist'
import ascii2mathml from './markdown-it-ascii2mathml'
import tableofcontents from 'markdown-it-toc-done-right'
const readFile = (path) => fs.readFileSync(path, 'utf8')
const openFile = (path) => fs.openSync(path, 'w')
const args = arg({
'-input': readFile,
'-output': openFile,
'-metadata': readFile,
'-template': readFile,
})
const [
input = readFile(0), // stdin
output = 1, // stdout
metadata = '',
template = '${body}',
] = [
args['-input'],
args['-output'],
args['-metadata'],
args['-template'],
]
anchor.defaults.permalink = true
const config = {
typography: true,
highlight: (s) => `<pre class=microlight><code>${hl(s)}</code></pre>`,
}
fs.writeSync(output, subst(template, {
...yaml.load(metadata),
body: md(config)
.use(emoji)
.use(graph)
.use(anchor)
.use(funplot)
.use(grammkit)
.use(ascii2mathml)
.use(tableofcontents)
.render(input),
}))
<!doctype html>
<html lang=${lang}>
<meta name=viewport content="width=device-width">
<link rel=stylesheet href="https://cdn.rawgit.com/dreampulse/computer-modern-web-font/master/fonts.css">
<link rel=stylesheet href=main.css>
<script src=main.js></script>
<title>${pagetitle}</title>
<main>
${header}
${body}
</main>
// https://github.com/angus-c/just/blob/da240e0de503e818edf5bd7a2d3c83af4c92f291/packages/string-template/index.js
/*
The MIT License (MIT)
Copyright (c) 2016 angus croll
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
export default (text, data) => {
const proxyRegEx = /\$\{([^\}]+)?\}/g
return text.replace(proxyRegEx, (_, key) => {
const keyParts = key.split('.')
let value = data
for (const part of keyParts) {
value = value[part]
}
return value || ''
})
}
:root
{ font-size: 1.2rem
; font-family: "Computer Modern Serif", serif
; margin: 0 auto
; width: 7in
}
table
{ border-collapse: collapse
; width: 100%
}
table th, table td
{ max-width: 0
; padding: 0.25em 0.5em
; border-style: solid
; border-width: thin
}
@media not print {
main
{ background-color: #fffeeb
; padding: 2ex
; border-radius: .1in
; border-style: solid
}
}
tt, code, kbd, samp
{ font-family: "Computer Modern Typewriter", monospace
}
.function-plot
{ width: 100%
; height: auto
}
.graph.dot
{ width: 100%
; height: auto
; max-height: 2in
}
@media print {
.railroad-diagram
{ width: 100%
}
}
@media not print {
pre, .railroad-container
{ overflow: auto
}
.railroad-diagram
{ min-width: 100%
}
}
pre, svg.railroad-diagram
{ background-color: hsl(30,20%,95%)
}
svg.railroad-diagram path
{ stroke-width: 3
; stroke: black
; fill: none
}
svg.railroad-diagram text
{ font: bold 14px "Computer Modern Typewriter", monospace
; text-anchor: middle
}
.clickable svg.railroad-diagram text
{ cursor: pointer
}
svg.railroad-diagram text.label
{ text-anchor: start
}
svg.railroad-diagram text.comment
{ font: italic 12px "Computer Modern Typewriter", monospace
}
svg.railroad-diagram rect
{ stroke-width: 3
; stroke: black
; fill: hsl(120,100%,90%)
}
.header-anchor
{ visibility: hidden
; text-decoration: none
}
:hover > .header-anchor
{ visibility: visible
}
@media print {
.header-anchor
{ display: none
}
}
.author, .date
{ margin: 0
; padding: 0
}
a
{ color: inherit
}
.navigation a:link
{ text-decoration: none
}
.navigation a:hover
{ text-decoration: underline
}
.navigation a:active
{ text-decoration: underline
}
blockquote
{ border-color: gray
; padding-left: 0.75rem
; margin: 0 0 1rem
; border-left-style: solid
}
p
{ text-align: justify
; hyphens: auto
; -webkit-hyphens: auto
; -ms-hyphens: auto
}
'use strict'
document.addEventListener("DOMContentLoaded", function() {
for (const element of document.querySelectorAll('.railroad-container')) {
element.onclick = onClickRailroadDiagram
element.classList.add('clickable')
}
})
document.addEventListener("DOMContentLoaded", function() {
if(!empiricMathMLSupport() && !engineMathMLSupport()) {
loadMathJax()
}
})
function loadMathJax() {
var script = document.createElement('script')
script.type = 'text/javascript'
script.src = 'https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=MML_HTMLorMML'
document.head.appendChild(script)
}
// https://developer.mozilla.org/en-US/docs/Web/MathML/Authoring#Fallback_for_Browsers_without_MathML_support
function empiricMathMLSupport() {
var div = document.createElement('div')
div.innerHTML = '<math><mspace height=23px width=77px/></math>'
document.body.appendChild(div)
var box = div.firstChild.firstChild.getBoundingClientRect()
document.body.removeChild(div)
return Math.abs(box.height - 23) <= 1 && Math.abs(box.width - 77) <= 1
}
function engineMathMLSupport() {
var ua = navigator.userAgent
var isGecko = ua.indexOf("Gecko") > -1 && ua.indexOf("KHTML") === -1 && ua.indexOf('Trident') === -1
var isWebKit = ua.indexOf('AppleWebKit') > -1 && ua.indexOf('Chrome') === -1
return isGecko || isWebKit
}
function onClickRailroadDiagram(ev) {
// if the node was clicked then go to rule definition
if (ev.target.tagName === 'text') {
location.hash = ev.target.textContent;
}
}
import ascii2mathml from 'ascii2mathml'
export default (md) => {
const [renderFence, renderCodeInline] = [
md.renderer.rules.fence,
md.renderer.rules.code_inline,
]
md.renderer.rules.fence = (tokens, idx, options, env, self) => {
const token = tokens[idx]
if (token.info != "math")
return renderFence(tokens, idx, options, env, self)
const math = ascii2mathml(token.content, {
display: 'block',
annotate: true,
})
return `<div class="math block">${math}</div>`
}
md.renderer.rules.code_inline = (tokens, idx, options, env, self) => {
const { content } = tokens[idx]
const prefix = "math "
if (!content.startsWith(prefix))
return renderCodeInline(tokens, idx, options, env, self)
const math = ascii2mathml(content.substr(prefix.length), {
display: 'inline',
annotate: true,
})
return `<div class="math inline">${math}</div>`
}
}
/* render function plots using function-plot */
import yaml from 'js-yaml'
import funplot from './funplot.mjs'
function renderPlot(code) {
const opts = yaml.load(code)
const element = funplot(opts)
const [ width, height ] = [
element.getAttribute('width'),
element.getAttribute('height'),
]
//element.removeAttribute('width')
//element.removeAttribute('height')
element.setAttribute('viewBox', `0 0 ${width} ${height}`)
return element.outerHTML
}
export default (md) => {
const renderFence = md.renderer.rules.fence
md.renderer.rules.fence = (tokens, idx, options, env, self) => {
const token = tokens[idx]
if (token.info != "function-plot")
return renderFence(tokens, idx, options, env, self)
return renderPlot(token.content)
}
}
import graph from './graph'
function renderGraph(code) {
const element = graph.render(code)
element.classList.add('graph')
element.classList.add('dot')
return element.outerHTML
}
export default (md) => {
const renderFence = md.renderer.rules.fence
md.renderer.rules.fence = (tokens, idx, options, env, self) => {
const token = tokens[idx]
if (token.info != "dot")
return renderFence(tokens, idx, options, env, self);
return renderGraph(token.content)
}
}
import util from 'grammkit/lib/util'
function renderRailroad(grammar, format) {
let string = ''
const $ = (s) => { string += s + '\n' }
util.transform(grammar, format).procesedGrammars.map(({ rules, references, name }, key) => {
$(`<div class=grammar>`)
if (name) {
$(`<h2>${name}</h2>`)
}
/* TODO: highlight
$(`<details>`)
$(`<summary>Definition</summary>`)
$(`<pre><code>${grammar}</code></pre>`)
$(`</details>`)
*/
rules.map((rule, key) => {
$(`<div>`)
$(`<h3 id=${rule.name}>${rule.name}</h3>`)
$(`<div class=railroad-container>${rule.diagram}</div>`)
if (references[rule.name]) {
if (references[rule.name].usedBy.length > 0) {
$(`<div>Used By:`)
references[rule.name].usedBy.map((rule, key) => {
$(` <a href=#${rule}>${rule}</a>`)
})
$(`</div>`)
}
if (references[rule.name].references.length > 0) {
$(`<div>References:`)
references[rule.name].references.map((rule, key) => {
$(`<a href=#${rule}> ${rule}</a>`)
})
$(`</div>`)
}
}
$(`</div>`)
})
$(`</div>`)
})
return string
}
export default (md) => {
const renderFence = md.renderer.rules.fence
md.renderer.rules.fence = (tokens, idx, options, env, self) => {
const token = tokens[idx]
let format = token.info.toLowerCase()
switch (format) {
case "grammar":
format = 'auto'
case "peg.js":
case "pegjs":
case "ebnf":
case "ohm":
if (format === 'peg.js') {
format = 'pegjs'
}
return renderRailroad(token.content, format)
}
return renderFence(tokens, idx, options, env, self);
}
}
import jsdom from 'jsdom'
import sandbox from 'sandboxed-module'
const dom = new jsdom.JSDOM()
const context = {
globals: {
window: dom.window, // used by function-plot
document: dom.window.document, // used by d3, function-plot uses window.document
Element: dom.window.Element, // used by d3 and function-plot
CSSStyleDeclaration: dom.window.CSSStyleDeclaration, // used by d3
},
}
// function-plot uses window.d3 instead of global variable
context.globals.window.d3 = sandbox.require('d3', context)
const functionPlot = sandbox.require('function-plot', context)
export default (config) => {
const body = dom.window.document.body
const chart = functionPlot({
...config,
target: body,
})
const element = chart.root.node()
element.remove()
return element
}
import jsdom from 'jsdom'
import dot from 'ngraph.fromdot'
import sandbox from 'sandboxed-module'
export default {
render
}
const dom = new jsdom.JSDOM()
const Viva = sandbox.require('vivagraphjs', {
globals: {
window: {
document: {
// used by simplesvg
//
// TODO: patch Viva.Graph.View.svgGraphics to use custom createSvgRoot function
//
// simplesvg source code:
//
// function svg(element, attrBag) {
// var svgElement = augment(element);
// if (attrBag === undefined) {
// return svgElement;
// }
//
// svgElement.attr(attrBag);
//
// return svgElement;
// }
//
// function augment(element) {
// var svgElement = element;
//
// if (typeof element === "string") {
// svgElement = window.document.createElementNS(svgns, element);
// } else if (element.simplesvg) {
// return element;
// }
//
// ...monkey patching svg element...
//
// Looks like simplesvg will not access the function below if we pass an existing element to svg()
createElementNS: (...args) => dom.window.document.createElementNS(...args),
},
},
}
})
// TODO: options
function render(def) {
const graph = dot(def)
const layout = Viva.Graph.Layout.forceDirected(graph, {
springLength: 10,
springCoeff: 0.0005,
dragCoeff: 0.02,
gravity: -1.2
})
// TODO: remove magic 1000 iterations
for (let i = 0; i < 1000; ++i)
layout.step()
const { x1, y1, x2, y2 } = layout.getGraphRect()
const [ w, h ] = [ Math.abs(x2-x1), Math.abs(y2-y1) ]
const graphics = Viva.Graph.View.svgGraphics()
graph.forEachNode((node) => {
const nodePosition = layout.getNodePosition(node.id)
graphics.addNode(node, nodePosition)
})
graph.forEachLink((link) => {
const linkPosition = layout.getLinkPosition(link.id)
graphics.addLink(link, linkPosition)
})
graphics.beginRender()
graphics.renderLinks()
graphics.renderNodes()
graphics.endRender()
const svgRoot = graphics.getGraphicsRoot()
svgRoot.setAttribute('viewBox', `${x1} ${y1} ${w} ${h}`)
svgRoot.setAttribute('height', `${h}`)
svgRoot.setAttribute('width', `${w}`)
return svgRoot
}
{
"private": true,
"name": "maths",
"version": "0.0.1",
"license": "Unlicense",
"author": "Ivan Trubach <mr.trubach@icloud.com>",
"description": "Markdown to HTML on steroids",
"bin": "index.mjs",
"scripts": {
"gen": "node index.mjs -input main.md -output main.html -metadata main.yaml -template template.htm"
},
"dependencies": {
"microlight": "github:tie/microlight#v0.2.1",
"ascii2mathml": "github:tie/ascii2mathml#v0.7.0",
"function-plot": "github:tie/function-plot#v1.18.1",
"sandboxed-module": "^2.0.3",
"d3": "^3.5.17",
"arg": "^2.0.1",
"jsdom": "^13.0.0",
"js-yaml": "^3.12.0",
"grammkit": "^0.6.2",
"vivagraphjs": "^0.10.1",
"ngraph.fromdot": "^0.3.0",
"markdown-it": "^8.4.2",
"markdown-it-emoji": "^1.4.0",
"markdown-it-anchor": "^5.0.2",
"markdown-it-deflist": "^2.0.3",
"markdown-it-toc-done-right": "^2.0.3"
}
}
{
"name": "maths",
"version": "0.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"abab": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz",
"integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w=="
},
"acorn": {
"version": "5.7.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw=="
},
"acorn-globals": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz",
"integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==",
"requires": {
"acorn": "^6.0.1",
"acorn-walk": "^6.0.1"
},
"dependencies": {
"acorn": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz",
"integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg=="
}
}
},
"acorn-walk": {
"version": "6.1.1",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz",
"integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw=="
},
"add-event-listener": {
"version": "0.0.1",
"resolved": "http://registry.npmjs.org/add-event-listener/-/add-event-listener-0.0.1.tgz",
"integrity": "sha1-p2Ip68ZMiu+uIEoWJzovJVq+otA="
},
"ajv": {
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
"integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"arg": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/arg/-/arg-2.0.1.tgz",
"integrity": "sha512-cvmPpB9OWbIP0pG3ov/11PMd/z+nBG+nY4eynzHxX/+pxJg7f5r02rFeJr8NwosJpxHIujA2jJpB+c3xR21vig=="
},
"argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"requires": {
"sprintf-js": "~1.0.2"
}
},
"array-equal": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
"integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM="
},
"ascii2mathml": {
"version": "github:tie/ascii2mathml#99b15c34b35902aaa71a4136f3fb84e0694766bb",
"from": "github:tie/ascii2mathml#v0.7.0",
"requires": {
"minimist": "github:substack/minimist#dc624482fcfec5bc669c68cdb861f00573ed4e64"
}
},
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
"requires": {
"safer-buffer": "~2.1.0"
}
},
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"ast-types": {
"version": "0.9.6",
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
"integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk="
},
"async": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
"requires": {
"lodash": "^4.17.10"
}
},
"async-limiter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
"integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"base62": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz",
"integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA=="
},
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"requires": {
"tweetnacl": "^0.14.3"
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"browser-process-hrtime": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
"integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
},
"built-in-math-eval": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/built-in-math-eval/-/built-in-math-eval-0.3.0.tgz",
"integrity": "sha1-JA3CHLOJQ5WIxhxGDrAHZJfvxBw=",
"requires": {
"math-codegen": "^0.3.5"
}
},
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"clamp": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz",
"integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ="
},
"combined-stream": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
"integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg=="
},
"commoner": {
"version": "0.10.8",
"resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz",
"integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=",
"requires": {
"commander": "^2.5.0",
"detective": "^4.3.1",
"glob": "^5.0.15",
"graceful-fs": "^4.1.2",
"iconv-lite": "^0.4.5",
"mkdirp": "^0.5.0",
"private": "^0.1.6",
"q": "^1.1.2",
"recast": "^0.11.17"
}
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cssom": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz",
"integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog=="
},
"cssstyle": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz",
"integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==",
"requires": {
"cssom": "0.3.x"
}
},
"d": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz",
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
"requires": {
"es5-ext": "^0.10.9"
}
},
"d3": {
"version": "3.5.17",
"resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz",
"integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g="
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"requires": {
"assert-plus": "^1.0.0"
}
},
"data-urls": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
"integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
"requires": {
"abab": "^2.0.0",
"whatwg-mimetype": "^2.2.0",
"whatwg-url": "^7.0.0"
}
},
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
},
"defined": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"detective": {
"version": "4.7.1",
"resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
"integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
"requires": {
"acorn": "^5.2.1",
"defined": "^1.0.0"
}
},
"domexception": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
"integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
"requires": {
"webidl-conversions": "^4.0.2"
}
},
"dotparser": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/dotparser/-/dotparser-0.3.0.tgz",
"integrity": "sha512-TfIlRRKpYFu/KwJq/dm+BWqb4KtwTO1XIwWMaElu/EF3s+r1FRNGIS2bzK0uuAQ+dd3TlJKaoSiHp8Y09Q0ZZA=="
},
"double-bits": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/double-bits/-/double-bits-1.1.1.tgz",
"integrity": "sha1-WKu6RUlNpND6Nrc60RoobJGEscY="
},
"ecc-jsbn": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
}
},
"entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
},
"envify": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz",
"integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=",
"requires": {
"jstransform": "^11.0.3",
"through": "~2.3.4"
}
},
"es5-ext": {
"version": "0.10.46",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz",
"integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==",
"requires": {
"es6-iterator": "~2.0.3",
"es6-symbol": "~3.1.1",
"next-tick": "1"
}
},
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
"requires": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"es6-symbol": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
"requires": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"escodegen": {
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz",
"integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==",
"requires": {
"esprima": "^3.1.3",
"estraverse": "^4.2.0",
"esutils": "^2.0.2",
"optionator": "^0.8.1",
"source-map": "~0.6.1"
},
"dependencies": {
"esprima": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
"integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
}
}
},
"esprima-fb": {
"version": "15001.1.0-dev-harmony-fb",
"resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz",
"integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE="
},
"estraverse": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
"integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
},
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
},
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
},
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
},
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"
}
},
"function-plot": {
"version": "github:tie/function-plot#4f4762c051ca099518f3076eb21ceeb09ee97722",
"from": "github:tie/function-plot#v1.18.1",
"requires": {
"built-in-math-eval": "^0.3.0",
"clamp": "^1.0.1",
"extend": "^3.0.0",
"integrate-adaptive-simpson": "^1.0.3",
"interval-arithmetic-eval": "^0.4.6",
"is-object": "^1.0.1",
"key-pressed": "0.0.1",
"keydown": "0.0.3",
"linspace": "0.0.1-1",
"log10": "^1.0.0",
"logspace": "0.0.0"
}
},
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"requires": {
"assert-plus": "^1.0.0"
}
},
"gintersect": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/gintersect/-/gintersect-0.1.0.tgz",
"integrity": "sha1-moy2qAt9bpVawzUVSVsSEmJ7GBY="
},
"glob": {
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "2 || 3",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"graceful-fs": {
"version": "4.1.15",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
"integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
},
"grammkit": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/grammkit/-/grammkit-0.6.2.tgz",
"integrity": "sha512-qSeM9Zwy0e5Lu4nF4QIIlNVqssuyvrHHwXHzYUE8NbaB14eSNc2+e99RNRReRgXg18q/bOjFdcO+PHkhUk5/Wg==",
"requires": {
"commander": "^2.9.0",
"handlebars": "^4.0.5",
"jsesc": "^0.5.0",
"lodash": "^4.17.2",
"ohm-js": "^0.14.0",
"pegjs": "^0.8.0",
"railroad-diagrams": "^1.0.0",
"react": "^0.12.2",
"whitescape": "^0.5.0"
}
},
"handlebars": {
"version": "4.0.12",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",
"integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",
"requires": {
"async": "^2.5.0",
"optimist": "^0.6.1",
"source-map": "^0.6.1",
"uglify-js": "^3.1.4"
}
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
"requires": {
"ajv": "^6.5.5",
"har-schema": "^2.0.0"
}
},
"html-encoding-sniffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
"integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
"requires": {
"whatwg-encoding": "^1.0.1"
}
},
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"integers": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/integers/-/integers-0.0.0.tgz",
"integrity": "sha1-jzRtedoaxW2NRNzy2FgsRFuR1bk="
},
"integrate-adaptive-simpson": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/integrate-adaptive-simpson/-/integrate-adaptive-simpson-1.1.1.tgz",
"integrity": "sha1-gWHL77UOQw0U/RVIlXUJK6sdLGk="
},
"interval-arithmetic": {
"version": "0.6.10",
"resolved": "https://registry.npmjs.org/interval-arithmetic/-/interval-arithmetic-0.6.10.tgz",
"integrity": "sha512-fnwnv0KgRuhHNoTGga5vPHypW0iypRpRPpejsevskM03uX4/A7Ph1C9IdDMHRyQwppchBNDxmcBWxiHrIc1ktA==",
"requires": {
"is-safe-integer": "^1.0.1",
"nextafter": "^1.0.0",
"typedarray": "0.0.6",
"xtend": "^4.0.1"
}
},
"interval-arithmetic-eval": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/interval-arithmetic-eval/-/interval-arithmetic-eval-0.4.6.tgz",
"integrity": "sha1-fhRkA8PIHLE4v9pnyQKMc+vtyPk=",
"requires": {
"interval-arithmetic": "^0.6.6",
"math-codegen": "^0.3.5"
}
},
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"is-finite": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"requires": {
"number-is-nan": "^1.0.0"
}
},
"is-object": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
},
"is-safe-integer": {
"version": "1.0.2",
"resolved": "http://registry.npmjs.org/is-safe-integer/-/is-safe-integer-1.0.2.tgz",
"integrity": "sha1-yi3gJR9WRAj512MMKOLgLOGOoKo=",
"requires": {
"max-safe-integer": "^1.0.0"
}
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"js-yaml": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
"integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
},
"dependencies": {
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
}
}
},
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
},
"jsdom": {
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-13.0.0.tgz",
"integrity": "sha512-Kmq4ASMNkgpY+YufE322EnIKoiz0UWY2DRkKlU7d5YrIW4xiVRhWFrZV1fr6w/ZNxQ50wGAH5gGRzydgnmkkvw==",
"requires": {
"abab": "^2.0.0",
"acorn": "^6.0.2",
"acorn-globals": "^4.3.0",
"array-equal": "^1.0.0",
"cssom": "^0.3.4",
"cssstyle": "^1.1.1",
"data-urls": "^1.0.1",
"domexception": "^1.0.1",
"escodegen": "^1.11.0",
"html-encoding-sniffer": "^1.0.2",
"nwsapi": "^2.0.9",
"parse5": "5.1.0",
"pn": "^1.1.0",
"request": "^2.88.0",
"request-promise-native": "^1.0.5",
"saxes": "^3.1.3",
"symbol-tree": "^3.2.2",
"tough-cookie": "^2.4.3",
"w3c-hr-time": "^1.0.1",
"w3c-xmlserializer": "^1.0.0",
"webidl-conversions": "^4.0.2",
"whatwg-encoding": "^1.0.5",
"whatwg-mimetype": "^2.2.0",
"whatwg-url": "^7.0.0",
"ws": "^6.1.0",
"xml-name-validator": "^3.0.0"
},
"dependencies": {
"acorn": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz",
"integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg=="
}
}
},
"jsesc": {
"version": "0.5.0",
"resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
},
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"verror": "1.10.0"
}
},
"jstransform": {
"version": "11.0.3",
"resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz",
"integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=",
"requires": {
"base62": "^1.1.0",
"commoner": "^0.10.1",
"esprima-fb": "^15001.1.0-dev-harmony-fb",
"object-assign": "^2.0.0",
"source-map": "^0.4.2"
},
"dependencies": {
"source-map": {
"version": "0.4.4",
"resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"key-pressed": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/key-pressed/-/key-pressed-0.0.1.tgz",
"integrity": "sha1-1oL7THwQQpKaW8iGNnKMpxIg3rs=",
"requires": {
"vkey": "0.0.3"
}
},
"keydown": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/keydown/-/keydown-0.0.3.tgz",
"integrity": "sha1-4gaa0FEJjLOebbPL6Af7imggWAc=",
"requires": {
"vkey": "~0.0.3"
}
},
"levn": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
"requires": {
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2"
}
},
"linkify-it": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.1.0.tgz",
"integrity": "sha512-4REs8/062kV2DSHxNfq5183zrqXMl7WP0WzABH9IeJI+NLm429FgE1PDecltYfnOoFDFlZGh2T8PfZn0r+GTRg==",
"requires": {
"uc.micro": "^1.0.1"
}
},
"linspace": {
"version": "0.0.1-1",
"resolved": "https://registry.npmjs.org/linspace/-/linspace-0.0.1-1.tgz",
"integrity": "sha1-7N7wWwP0frGSOmEb3HdFvDionho=",
"requires": {
"integers": "0.0.0"
}
},
"lodash": {
"version": "4.17.11",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
},
"lodash.sortby": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
},
"log10": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/log10/-/log10-1.0.1.tgz",
"integrity": "sha1-sPxkZXxu+8mTSQ7aqn0w5qUgu+c=",
"requires": {
"is-finite": "^1.0.1"
}
},
"logspace": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/logspace/-/logspace-0.0.0.tgz",
"integrity": "sha1-DIUnGrsJJFxQXWPxocETyhVbHnQ=",
"requires": {
"linspace": "0.0.1-1"
}
},
"markdown-it": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz",
"integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==",
"requires": {
"argparse": "^1.0.7",
"entities": "~1.1.1",
"linkify-it": "^2.0.0",
"mdurl": "^1.0.1",
"uc.micro": "^1.0.5"
}
},
"markdown-it-anchor": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.0.2.tgz",
"integrity": "sha512-AFM/woBI8QDJMS/9+MmsBMT5/AR+ImfOsunQZTZhzcTmna3rIzAzbOh5E0l6mlFM/i9666BpUtkqQ9bS7WApCg=="
},
"markdown-it-deflist": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/markdown-it-deflist/-/markdown-it-deflist-2.0.3.tgz",
"integrity": "sha512-/BNZ8ksW42bflm1qQLnRI09oqU2847Z7MVavrR0MORyKLtiUYOMpwtlAfMSZAQU9UCvaUZMpgVAqoS3vpToJxw=="
},
"markdown-it-emoji": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz",
"integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw="
},
"markdown-it-toc-done-right": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/markdown-it-toc-done-right/-/markdown-it-toc-done-right-2.0.3.tgz",
"integrity": "sha512-W3IgcWM8eP0Og52v5W1o9lrCvhIptlMoL/khBexxWge+HNAueYWXXUQI/VFX/dgqqT0rO53Iv92t+RTpZ74ivg=="
},
"math-codegen": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/math-codegen/-/math-codegen-0.3.5.tgz",
"integrity": "sha1-R5nuRnfe0Ud2bQA8ykt4ee3UDMo=",
"requires": {
"extend": "^3.0.0",
"mr-parser": "^0.2.1"
}
},
"max-safe-integer": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/max-safe-integer/-/max-safe-integer-1.0.1.tgz",
"integrity": "sha1-84BgvixWPYwC5tSK85Ei/YO29BA="
},
"mdurl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
},
"microlight": {
"version": "github:tie/microlight#1e75b43fa376bb3b11b31aa14c061b44afd7b55c",
"from": "github:tie/microlight#v0.2.1"
},
"mime-db": {
"version": "1.37.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
},
"mime-types": {
"version": "2.1.21",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
"integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
"requires": {
"mime-db": "~1.37.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "github:substack/minimist#dc624482fcfec5bc669c68cdb861f00573ed4e64",
"from": "github:substack/minimist#1.2.0",
"optional": true
},
"mkdirp": {
"version": "0.5.1",
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
},
"dependencies": {
"minimist": {
"version": "0.0.8",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
}
}
},
"mr-parser": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/mr-parser/-/mr-parser-0.2.1.tgz",
"integrity": "sha1-hhi5ukF+KOn0OaQcaVtVTq/u2Sc="
},
"next-tick": {
"version": "1.0.0",
"resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
},
"nextafter": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/nextafter/-/nextafter-1.0.0.tgz",
"integrity": "sha1-t9d7U1MQ4+CX5gJauwqQNHfsGjo=",
"requires": {
"double-bits": "^1.1.0"
}
},
"ngraph.centrality": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/ngraph.centrality/-/ngraph.centrality-0.1.3.tgz",
"integrity": "sha1-bKB7QXmv8AfYSY7e8lZoizfYdp0="
},
"ngraph.events": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/ngraph.events/-/ngraph.events-0.0.3.tgz",
"integrity": "sha1-OPVTFvPSB61jH/lPZiLKjywOh9A="
},
"ngraph.expose": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/ngraph.expose/-/ngraph.expose-0.0.0.tgz",
"integrity": "sha1-dGw0kDo4SMRdAzsUvGRhnqhf5ao="
},
"ngraph.forcelayout": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ngraph.forcelayout/-/ngraph.forcelayout-0.1.2.tgz",
"integrity": "sha1-PC4SJ/KRSLqyn8WLweg3SfYdS8U=",
"requires": {
"ngraph.events": "0.0.3",
"ngraph.physics.simulator": "^0.1.1"
}
},
"ngraph.fromdot": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/ngraph.fromdot/-/ngraph.fromdot-0.3.0.tgz",
"integrity": "sha512-4Q/c5RwBZFUUHJcSvw+1V0WW/4cRMaQk/cVvwPIauPl4b+yDCLxchKX2G+/ykuXb1rXdFEXZh8z8Kr0E00dFVA==",
"requires": {
"dotparser": "0.3.0",
"ngraph.graph": "0.0.14"
}
},
"ngraph.fromjson": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/ngraph.fromjson/-/ngraph.fromjson-0.1.7.tgz",
"integrity": "sha1-VXEnCsj+ED6xaEQUbolIrUIhnHM=",
"requires": {
"ngraph.graph": "0.0.11"
},
"dependencies": {
"ngraph.graph": {
"version": "0.0.11",
"resolved": "http://registry.npmjs.org/ngraph.graph/-/ngraph.graph-0.0.11.tgz",
"integrity": "sha1-nxCnJn71l3Q5rFB7r8un9O1yhAE=",
"requires": {
"ngraph.events": "0.0.3"
}
}
}
},
"ngraph.generators": {
"version": "0.0.15",
"resolved": "https://registry.npmjs.org/ngraph.generators/-/ngraph.generators-0.0.15.tgz",
"integrity": "sha1-GgnH6S2IPXi8gWwGwvZkC0X0z/I=",
"requires": {
"ngraph.graph": "0.0.11",
"ngraph.random": "0.0.1"
},
"dependencies": {
"ngraph.graph": {
"version": "0.0.11",
"resolved": "http://registry.npmjs.org/ngraph.graph/-/ngraph.graph-0.0.11.tgz",
"integrity": "sha1-nxCnJn71l3Q5rFB7r8un9O1yhAE=",
"requires": {
"ngraph.events": "0.0.3"
}
}
}
},
"ngraph.graph": {
"version": "0.0.14",
"resolved": "https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-0.0.14.tgz",
"integrity": "sha1-1HrJSWfJIKr3aVLYpOczRuHfLbc=",
"requires": {
"ngraph.events": "0.0.3"
}
},
"ngraph.merge": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/ngraph.merge/-/ngraph.merge-0.0.1.tgz",
"integrity": "sha1-5OgM43WBo8lrF9VF46Q8hUNLkCU="
},
"ngraph.physics.primitives": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/ngraph.physics.primitives/-/ngraph.physics.primitives-0.0.7.tgz",
"integrity": "sha1-Xcnhebofkubex3SwHNaJFBILeVs="
},
"ngraph.physics.simulator": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ngraph.physics.simulator/-/ngraph.physics.simulator-0.1.1.tgz",
"integrity": "sha1-h5RmUATQJbnkIyEV/O/9l7+sCK0=",
"requires": {
"ngraph.events": "0.0.3",
"ngraph.expose": "0.0.0",
"ngraph.merge": "0.0.1",
"ngraph.physics.primitives": "0.0.7",
"ngraph.quadtreebh": "0.0.4",
"ngraph.random": "0.0.1"
}
},
"ngraph.quadtreebh": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/ngraph.quadtreebh/-/ngraph.quadtreebh-0.0.4.tgz",
"integrity": "sha1-xwDUTm5K8HttBQAbo5h/9eLc1iw=",
"requires": {
"ngraph.random": "0.0.1"
}
},
"ngraph.random": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/ngraph.random/-/ngraph.random-0.0.1.tgz",
"integrity": "sha1-wAji67/f+vF+0Q5LvJE+VnFmvPg="
},
"ngraph.tojson": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/ngraph.tojson/-/ngraph.tojson-0.1.3.tgz",
"integrity": "sha1-chUq8zBsABeXu3zJKTDpIbp76zo="
},
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"nwsapi": {
"version": "2.0.9",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz",
"integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ=="
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"object-assign": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
"integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo="
},
"ohm-js": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/ohm-js/-/ohm-js-0.14.0.tgz",
"integrity": "sha512-Iuiapfkaf0ZdvuJo9thtE57BT93uNOSIb3/DtwuBNBJiiT28ALzTg++w3HoAXWbQBYPem9Bd8BaNJcDYoABWUA==",
"requires": {
"es6-symbol": "^3.1.0",
"inherits": "^2.0.3",
"is-buffer": "^1.1.4",
"util-extend": "^1.0.3"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"optimist": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"requires": {
"minimist": "~0.0.1",
"wordwrap": "~0.0.2"
},
"dependencies": {
"minimist": {
"version": "0.0.10",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
}
}
},
"optionator": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
"requires": {
"deep-is": "~0.1.3",
"fast-levenshtein": "~2.0.4",
"levn": "~0.3.0",
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2",
"wordwrap": "~1.0.0"
},
"dependencies": {
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
}
}
},
"parse5": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
"integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ=="
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"pegjs": {
"version": "0.8.0",
"resolved": "http://registry.npmjs.org/pegjs/-/pegjs-0.8.0.tgz",
"integrity": "sha1-l28GfaE+XFsVAcAXklZoolOBFWE="
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"pn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA=="
},
"prelude-ls": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
},
"private": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
},
"psl": {
"version": "1.1.29",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
"integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
},
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"railroad-diagrams": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
"integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234="
},
"react": {
"version": "0.12.2",
"resolved": "http://registry.npmjs.org/react/-/react-0.12.2.tgz",
"integrity": "sha1-HE8LCIGBRu6rTwqzklfgqlICfgA=",
"requires": {
"envify": "^3.0.0"
}
},
"recast": {
"version": "0.11.23",
"resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
"integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=",
"requires": {
"ast-types": "0.9.6",
"esprima": "~3.1.0",
"private": "~0.1.5",
"source-map": "~0.5.0"
},
"dependencies": {
"esprima": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
"integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
},
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
}
}
},
"request": {
"version": "2.88.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
"caseless": "~0.12.0",
"combined-stream": "~1.0.6",
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
"har-validator": "~5.1.0",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.19",
"oauth-sign": "~0.9.0",
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
"tough-cookie": "~2.4.3",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
},
"dependencies": {
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"tough-cookie": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
"requires": {
"psl": "^1.1.24",
"punycode": "^1.4.1"
}
}
}
},
"request-promise-core": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
"integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=",
"requires": {
"lodash": "^4.13.1"
}
},
"request-promise-native": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz",
"integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=",
"requires": {
"request-promise-core": "1.1.1",
"stealthy-require": "^1.1.0",
"tough-cookie": ">=2.3.3"
}
},
"require-like": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz",
"integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o="
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sandboxed-module": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/sandboxed-module/-/sandboxed-module-2.0.3.tgz",
"integrity": "sha1-x+VFkzm7y6KMUwPusz9ug4e/upY=",
"requires": {
"require-like": "0.1.2",
"stack-trace": "0.0.9"
}
},
"saxes": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.4.tgz",
"integrity": "sha512-GVZmLJnkS4Vl8Pe9o4nc5ALZ615VOVxCmea8Cs0l+8GZw3RQ5XGOSUomIUfuZuk4Todo44v4y+HY1EATkDDiZg==",
"requires": {
"xmlchars": "^1.3.1"
}
},
"simplesvg": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/simplesvg/-/simplesvg-0.0.10.tgz",
"integrity": "sha1-N9LsGN4sFU3Ztp956K0gvx4eX90=",
"requires": {
"add-event-listener": "0.0.1"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"sprintf-js": {
"version": "1.0.3",
"resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
},
"sshpk": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
"integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0",
"dashdash": "^1.12.0",
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
}
},
"stack-trace": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
"integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU="
},
"stealthy-require": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
},
"symbol-tree": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
"integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY="
},
"through": {
"version": "2.3.8",
"resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
}
},
"tr46": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
"integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
"requires": {
"punycode": "^2.1.0"
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"requires": {
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"type-check": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"requires": {
"prelude-ls": "~1.1.2"
}
},
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"uc.micro": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz",
"integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg=="
},
"uglify-js": {
"version": "3.4.9",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
"integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
"optional": true,
"requires": {
"commander": "~2.17.1",
"source-map": "~0.6.1"
},
"dependencies": {
"commander": {
"version": "2.17.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
"optional": true
}
}
},
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
"requires": {
"punycode": "^2.1.0"
}
},
"util-extend": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz",
"integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8="
},
"uuid": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
},
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
}
},
"vivagraphjs": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/vivagraphjs/-/vivagraphjs-0.10.1.tgz",
"integrity": "sha1-xE+ds35kmqss0nKwo8ITZek7MbM=",
"requires": {
"gintersect": "0.1.0",
"ngraph.centrality": "0.1.3",
"ngraph.events": "0.0.3",
"ngraph.forcelayout": "0.1.2",
"ngraph.fromjson": "0.1.7",
"ngraph.generators": "0.0.15",
"ngraph.graph": "0.0.11",
"ngraph.merge": "0.0.1",
"ngraph.random": "0.0.1",
"ngraph.tojson": "0.1.3",
"simplesvg": "0.0.10"
},
"dependencies": {
"ngraph.graph": {
"version": "0.0.11",
"resolved": "http://registry.npmjs.org/ngraph.graph/-/ngraph.graph-0.0.11.tgz",
"integrity": "sha1-nxCnJn71l3Q5rFB7r8un9O1yhAE=",
"requires": {
"ngraph.events": "0.0.3"
}
}
}
},
"vkey": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/vkey/-/vkey-0.0.3.tgz",
"integrity": "sha1-Y03XlS6ywRUxvxhZ8ObUGUeAM98="
},
"w3c-hr-time": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
"integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
"requires": {
"browser-process-hrtime": "^0.1.2"
}
},
"w3c-xmlserializer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.0.0.tgz",
"integrity": "sha512-0et1+9uXYiIRAecx1D5Z1nk60+vimniGdIKl4XjeqkWi6acoHNlXMv1VR5jV+jF4ooeO08oWbYxeAJOcon1oMA==",
"requires": {
"domexception": "^1.0.1",
"webidl-conversions": "^4.0.2",
"xml-name-validator": "^3.0.0"
}
},
"webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
"integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg=="
},
"whatwg-encoding": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
"requires": {
"iconv-lite": "0.4.24"
}
},
"whatwg-mimetype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
},
"whatwg-url": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
"integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
"requires": {
"lodash.sortby": "^4.7.0",
"tr46": "^1.0.1",
"webidl-conversions": "^4.0.2"
}
},
"whitescape": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/whitescape/-/whitescape-0.5.0.tgz",
"integrity": "sha1-IoadMGmmkMTv8YX8bg1sMB9Z13s="
},
"wordwrap": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "6.1.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.1.2.tgz",
"integrity": "sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw==",
"requires": {
"async-limiter": "~1.0.0"
}
},
"xml-name-validator": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
},
"xmlchars": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-1.3.1.tgz",
"integrity": "sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw=="
},
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
}
}
}
#!/bin/sh
mv 10-main.md main.md
mv 15-main.yaml main.yaml
mv 20-index.mjs index.mjs
mv 21-template.htm template.htm
mv 22-subst.mjs subst.mjs
mv 23-main.css main.css
mv 24-main.js main.js
mv 30-markdown-it-ascii2mathml.mjs markdown-it-ascii2mathml.mjs
mv 35-markdown-it-funplot.mjs markdown-it-funplot.mjs
mv 40-markdown-it-graph.mjs markdown-it-graph.mjs
mv 45-markdown-it-grammkit.mjs markdown-it-grammkit.mjs
mv 50-funplot.mjs funplot.mjs
mv 55-graph.mjs graph.mjs
mv 90-package.json package.json
mv 95-package-lock.json package-lock.json
mv 99-npmrc .npmrc
cache=packages
color=false
#!/bin/sh
mv main.md 10-main.md
mv main.yaml 15-main.yaml
mv index.mjs 20-index.mjs
mv template.htm 21-template.htm
mv subst.mjs 22-subst.mjs
mv main.css 23-main.css
mv main.js 24-main.js
mv markdown-it-ascii2mathml.mjs 30-markdown-it-ascii2mathml.mjs
mv markdown-it-funplot.mjs 35-markdown-it-funplot.mjs
mv markdown-it-graph.mjs 40-markdown-it-graph.mjs
mv markdown-it-grammkit.mjs 45-markdown-it-grammkit.mjs
mv funplot.mjs 50-funplot.mjs
mv graph.mjs 55-graph.mjs
mv package.json 90-package.json
mv package-lock.json 95-package-lock.json
mv .npmrc 99-npmrc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.