From 25136c6353d6832f66ebbd6f5002ba2382491f67 Mon Sep 17 00:00:00 2001 From: Zarema Khalilova Date: Fri, 15 Jun 2018 10:47:26 +0300 Subject: [PATCH 01/10] Add storybook for hyperapp components --- app/hyperapp/.npmignore | 3 ++ app/hyperapp/README.md | 24 ++++++++++++ app/hyperapp/bin/build.js | 3 ++ app/hyperapp/bin/index.js | 3 ++ app/hyperapp/options.js | 1 + app/hyperapp/package.json | 39 ++++++++++++++++++++ app/hyperapp/src/client/index.js | 9 +++++ app/hyperapp/src/client/preview/globals.js | 3 ++ app/hyperapp/src/client/preview/index.js | 18 +++++++++ app/hyperapp/src/client/preview/render.js | 27 ++++++++++++++ app/hyperapp/src/server/build.js | 5 +++ app/hyperapp/src/server/index.js | 5 +++ app/hyperapp/src/server/options.js | 8 ++++ app/hyperapp/src/server/wrapInitialConfig.js | 1 + 14 files changed, 149 insertions(+) create mode 100644 app/hyperapp/.npmignore create mode 100644 app/hyperapp/README.md create mode 100755 app/hyperapp/bin/build.js create mode 100755 app/hyperapp/bin/index.js create mode 100644 app/hyperapp/options.js create mode 100644 app/hyperapp/package.json create mode 100644 app/hyperapp/src/client/index.js create mode 100644 app/hyperapp/src/client/preview/globals.js create mode 100644 app/hyperapp/src/client/preview/index.js create mode 100644 app/hyperapp/src/client/preview/render.js create mode 100755 app/hyperapp/src/server/build.js create mode 100755 app/hyperapp/src/server/index.js create mode 100644 app/hyperapp/src/server/options.js create mode 100644 app/hyperapp/src/server/wrapInitialConfig.js diff --git a/app/hyperapp/.npmignore b/app/hyperapp/.npmignore new file mode 100644 index 000000000000..329fc8d67ad9 --- /dev/null +++ b/app/hyperapp/.npmignore @@ -0,0 +1,3 @@ +docs +src +.babelrc diff --git a/app/hyperapp/README.md b/app/hyperapp/README.md new file mode 100644 index 000000000000..65a05b9b373d --- /dev/null +++ b/app/hyperapp/README.md @@ -0,0 +1,24 @@ +# Storybook for Hyperapp alpha + +* * * + +Storybook for Hyperapp is a UI development environment for your Hyperapp components. +With it, you can visualize different states of your UI components and develop them interactively. + +Storybook runs outside of your app. +So you can develop UI components in isolation without worrying about app specific dependencies and requirements. + +## Getting Started + +```sh +npm i -g @storybook/cli +cd my-app +getstorybook --hyperapp +``` + +For more information visit: [storybook.js.org](https://storybook.js.org) + +* * * + +Storybook also comes with a lot of [addons](https://storybook.js.org/addons/introduction) and a great API to customize as you wish. +You can also build a [static version](https://storybook.js.org/basics/exporting-storybook) of your storybook and deploy it anywhere you want. diff --git a/app/hyperapp/bin/build.js b/app/hyperapp/bin/build.js new file mode 100755 index 000000000000..780773c6cd31 --- /dev/null +++ b/app/hyperapp/bin/build.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +require('../dist/server/build'); diff --git a/app/hyperapp/bin/index.js b/app/hyperapp/bin/index.js new file mode 100755 index 000000000000..2e96258ce63d --- /dev/null +++ b/app/hyperapp/bin/index.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +require('../dist/server'); diff --git a/app/hyperapp/options.js b/app/hyperapp/options.js new file mode 100644 index 000000000000..f3b5f6bccf66 --- /dev/null +++ b/app/hyperapp/options.js @@ -0,0 +1 @@ +module.exports = require('./dist/server/options'); diff --git a/app/hyperapp/package.json b/app/hyperapp/package.json new file mode 100644 index 000000000000..d942f7b8b067 --- /dev/null +++ b/app/hyperapp/package.json @@ -0,0 +1,39 @@ +{ + "name": "@storybook/hyperapp", + "version": "1.0.0-alpha", + "description": "Storybook for Hyperapp: Develop Hyperapp Component in isolation with Hot Reloading.", + "homepage": "https://github.com/storybooks/storybook/tree/master/apps/hyperapp", + "bugs": { + "url": "https://github.com/storybooks/storybook/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/storybooks/storybook.git" + }, + "license": "MIT", + "main": "dist/client/index.js", + "bin": { + "build-storybook": "./bin/build.js", + "start-storybook": "./bin/index.js", + "storybook-server": "./bin/index.js" + }, + "scripts": { + "prepare": "node ../../scripts/prepare.js" + }, + "dependencies": { + "@storybook/core": "4.0.0-alpha.9", + "common-tags": "^1.8.0", + "global": "^4.3.2", + "hyperapp": "^1.2.6", + "react": "^16.4.0", + "react-dom": "^16.4.0" + }, + "devDependencies": { + "babel-core": "^6.26.3", + "babel-plugin-transform-react-jsx": "^6.24.1", + "babel-runtime": "^6.26.0" + }, + "peerDependencies": { + "hyperapp": "^1.2.6" + } +} diff --git a/app/hyperapp/src/client/index.js b/app/hyperapp/src/client/index.js new file mode 100644 index 000000000000..88fb416f70ef --- /dev/null +++ b/app/hyperapp/src/client/index.js @@ -0,0 +1,9 @@ +export { + storiesOf, + setAddon, + addDecorator, + addParameters, + configure, + getStorybook, + forceReRender, +} from './preview'; diff --git a/app/hyperapp/src/client/preview/globals.js b/app/hyperapp/src/client/preview/globals.js new file mode 100644 index 000000000000..6e072a78c58f --- /dev/null +++ b/app/hyperapp/src/client/preview/globals.js @@ -0,0 +1,3 @@ +import { window } from 'global'; + +window.STORYBOOK_ENV = 'Hyperapp'; diff --git a/app/hyperapp/src/client/preview/index.js b/app/hyperapp/src/client/preview/index.js new file mode 100644 index 000000000000..cf0121006825 --- /dev/null +++ b/app/hyperapp/src/client/preview/index.js @@ -0,0 +1,18 @@ +import { start } from '@storybook/core/client'; + +import './globals'; +import render from './render'; + +const { clientApi, configApi, forceReRender } = start(render); + +export const { + storiesOf, + setAddon, + addDecorator, + addParameters, + clearDecorators, + getStorybook, +} = clientApi; + +export const { configure } = configApi; +export { forceReRender }; diff --git a/app/hyperapp/src/client/preview/render.js b/app/hyperapp/src/client/preview/render.js new file mode 100644 index 000000000000..b46b0bb62fd4 --- /dev/null +++ b/app/hyperapp/src/client/preview/render.js @@ -0,0 +1,27 @@ +import { document } from 'global'; +import { stripIndents } from 'common-tags'; +import * as hyperapp from 'hyperapp'; + +const rootElement = document.getElementById('root'); + +function render(target, component) { + hyperapp.app({}, {}, component, target); +} + +export default function renderMain({ story, selectedKind, selectedStory, showMain, showError }) { + const component = story(); + + if (!component) { + showError({ + title: `Expecting a Hyperapp component from the story: "${selectedStory}" of "${selectedKind}".`, + description: stripIndents` + Did you forget to return the Hyperapp component from the story? + Use "() => ()" or "() => { return ; }" when defining the story. + `, + }); + return; + } + + showMain(); + render(rootElement, component); +} diff --git a/app/hyperapp/src/server/build.js b/app/hyperapp/src/server/build.js new file mode 100755 index 000000000000..24f2ffb2e140 --- /dev/null +++ b/app/hyperapp/src/server/build.js @@ -0,0 +1,5 @@ +import { buildStatic } from '@storybook/core/server'; + +import options from './options'; + +buildStatic(options); diff --git a/app/hyperapp/src/server/index.js b/app/hyperapp/src/server/index.js new file mode 100755 index 000000000000..15b113175abe --- /dev/null +++ b/app/hyperapp/src/server/index.js @@ -0,0 +1,5 @@ +import { buildDev } from '@storybook/core/server'; + +import options from './options'; + +buildDev(options); diff --git a/app/hyperapp/src/server/options.js b/app/hyperapp/src/server/options.js new file mode 100644 index 000000000000..94465235684e --- /dev/null +++ b/app/hyperapp/src/server/options.js @@ -0,0 +1,8 @@ +import packageJson from '../../package.json'; + +import wrapInitialConfig from './wrapInitialConfig'; + +export default { + packageJson, + wrapInitialConfig, +}; diff --git a/app/hyperapp/src/server/wrapInitialConfig.js b/app/hyperapp/src/server/wrapInitialConfig.js new file mode 100644 index 000000000000..ccebed239273 --- /dev/null +++ b/app/hyperapp/src/server/wrapInitialConfig.js @@ -0,0 +1 @@ +export default config => config; From 9b44fe8746352599cedcc8ae106a5da90392ca55 Mon Sep 17 00:00:00 2001 From: Zarema Khalilova Date: Fri, 15 Jun 2018 11:10:49 +0300 Subject: [PATCH 02/10] Add generator for hyperapp --- app/hyperapp/package.json | 2 +- lib/cli/bin/generate.js | 7 ++++ lib/cli/generators/HYPERAPP/index.js | 37 +++++++++++++++++++ .../HYPERAPP/template/.storybook/config.js | 9 +++++ .../HYPERAPP/template/stories/Welcome.js | 17 +++++++++ .../template/stories/index.stories.js | 5 +++ lib/cli/lib/project_types.js | 1 + lib/cli/package.json | 1 + 8 files changed, 78 insertions(+), 1 deletion(-) create mode 100755 lib/cli/generators/HYPERAPP/index.js create mode 100644 lib/cli/generators/HYPERAPP/template/.storybook/config.js create mode 100644 lib/cli/generators/HYPERAPP/template/stories/Welcome.js create mode 100644 lib/cli/generators/HYPERAPP/template/stories/index.stories.js diff --git a/app/hyperapp/package.json b/app/hyperapp/package.json index d942f7b8b067..4c886ecbc4f9 100644 --- a/app/hyperapp/package.json +++ b/app/hyperapp/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/hyperapp", - "version": "1.0.0-alpha", + "version": "4.0.0-alpha.9", "description": "Storybook for Hyperapp: Develop Hyperapp Component in isolation with Hot Reloading.", "homepage": "https://github.com/storybooks/storybook/tree/master/apps/hyperapp", "bugs": { diff --git a/lib/cli/bin/generate.js b/lib/cli/bin/generate.js index ce736259b9e3..66edcb3c62ed 100755 --- a/lib/cli/bin/generate.js +++ b/lib/cli/bin/generate.js @@ -20,6 +20,7 @@ import webpackReactGenerator from '../generators/WEBPACK_REACT'; import mithrilGenerator from '../generators/MITHRIL'; import markoGenerator from '../generators/MARKO'; import htmlGenerator from '../generators/HTML'; +import hyperappGenerator from '../generators/HYPERAPP'; const logger = console; @@ -30,6 +31,7 @@ program .option('-N --use-npm', 'Use npm to install deps') .option('-p --parser ', 'jscodeshift parser') .option('-h --html', 'Add storybook for HTML') + .option('-h --hyperapp', 'Add storybook for Hyperapp') .parse(process.argv); const welcomeMessage = 'getstorybook - the simplest way to add a storybook to your project.'; @@ -174,6 +176,11 @@ const runGenerator = () => { .then(commandLog('Adding storybook support to your "HTML" app')) .then(end); + case types.HYPERAPP: + return hyperappGenerator(npmOptions) + .then(commandLog('Adding storybook support to your "Hyperapp" app')) + .then(end); + default: paddedLog(`We couldn't detect your project type. (code: ${projectType})`); paddedLog( diff --git a/lib/cli/generators/HYPERAPP/index.js b/lib/cli/generators/HYPERAPP/index.js new file mode 100755 index 000000000000..95903f8c8801 --- /dev/null +++ b/lib/cli/generators/HYPERAPP/index.js @@ -0,0 +1,37 @@ +import mergeDirs from 'merge-dirs'; +import path from 'path'; +import npmInit from '../../lib/npm_init'; +import { getVersions, getPackageJson, writePackageJson } from '../../lib/helpers'; + +export default async npmOptions => { + const [storybookVersion, babelCoreVersion, babelRuntimeVersion] = await getVersions( + npmOptions, + '@storybook/hyperapp', + 'babel-core', + 'babel-runtime' + ); + mergeDirs(path.resolve(__dirname, 'template'), '.', 'overwrite'); + + let packageJson = getPackageJson(); + if (!packageJson) { + await npmInit(); + packageJson = getPackageJson(); + } + + packageJson.dependencies = packageJson.dependencies || {}; + packageJson.devDependencies = packageJson.devDependencies || {}; + packageJson.devDependencies['@storybook/hyperapp'] = storybookVersion; + + if (!packageJson.dependencies['babel-core'] && !packageJson.devDependencies['babel-core']) { + packageJson.devDependencies['babel-core'] = babelCoreVersion; + } + if (!packageJson.dependencies['babel-runtime'] && !packageJson.devDependencies['babel-runtime']) { + packageJson.devDependencies['babel-runtime'] = babelRuntimeVersion; + } + + packageJson.scripts = packageJson.scripts || {}; + packageJson.scripts.storybook = 'start-storybook -p 6006'; + packageJson.scripts['build-storybook'] = 'build-storybook'; + + writePackageJson(packageJson); +}; diff --git a/lib/cli/generators/HYPERAPP/template/.storybook/config.js b/lib/cli/generators/HYPERAPP/template/.storybook/config.js new file mode 100644 index 000000000000..2bccb986310f --- /dev/null +++ b/lib/cli/generators/HYPERAPP/template/.storybook/config.js @@ -0,0 +1,9 @@ +import { configure } from '@storybook/hyperapp'; + +// automatically import all files ending in *.stories.js +const req = require.context('../stories', true, /.stories.js$/); +function loadStories() { + req.keys().forEach(filename => req(filename)); +} + +configure(loadStories, module); diff --git a/lib/cli/generators/HYPERAPP/template/stories/Welcome.js b/lib/cli/generators/HYPERAPP/template/stories/Welcome.js new file mode 100644 index 000000000000..b184d579b83e --- /dev/null +++ b/lib/cli/generators/HYPERAPP/template/stories/Welcome.js @@ -0,0 +1,17 @@ +import { h } from 'hyperapp'; + +const Welcome = () => ( +
+

Welcome to STORYBOOK

+

This is a UI component dev environment for your app.

+
+); + +export default Welcome; diff --git a/lib/cli/generators/HYPERAPP/template/stories/index.stories.js b/lib/cli/generators/HYPERAPP/template/stories/index.stories.js new file mode 100644 index 000000000000..671de4357f80 --- /dev/null +++ b/lib/cli/generators/HYPERAPP/template/stories/index.stories.js @@ -0,0 +1,5 @@ +import { storiesOf } from '@storybook/hyperapp'; +import { h } from 'hyperapp'; +import Welcome from './Welcome'; + +storiesOf('Welcome', module).add('to Storybook', () => ); diff --git a/lib/cli/lib/project_types.js b/lib/cli/lib/project_types.js index 3f689815241d..02a6ae5098ba 100644 --- a/lib/cli/lib/project_types.js +++ b/lib/cli/lib/project_types.js @@ -16,4 +16,5 @@ export default { MITHRIL: 'MITHRIL', MARKO: 'MARKO', HTML: 'HTML', + HYPERAPP: 'HYPERAPP', }; diff --git a/lib/cli/package.json b/lib/cli/package.json index 4c41c7465417..f29c2817b1be 100644 --- a/lib/cli/package.json +++ b/lib/cli/package.json @@ -57,6 +57,7 @@ "@storybook/channel-websocket": "4.0.0-alpha.9", "@storybook/channels": "4.0.0-alpha.9", "@storybook/html": "4.0.0-alpha.9", + "@storybook/hyperapp": "4.0.0-alpha.9", "@storybook/marko": "4.0.0-alpha.9", "@storybook/mithril": "4.0.0-alpha.9", "@storybook/polymer": "4.0.0-alpha.9", From 8aceb356a8045d67ec683685fb17ccb958f22bad Mon Sep 17 00:00:00 2001 From: Zarema Khalilova Date: Fri, 15 Jun 2018 20:59:41 +0300 Subject: [PATCH 03/10] Add hyperapp demo app --- examples/hyperapp-kitchen-sink/.babelrc | 11 +++++++++++ examples/hyperapp-kitchen-sink/.eslintrc.js | 7 +++++++ examples/hyperapp-kitchen-sink/index.html | 11 +++++++++++ examples/hyperapp-kitchen-sink/package.json | 17 +++++++++++++++++ .../hyperapp-kitchen-sink/src/components/App.js | 15 +++++++++++++++ .../src/components/Button.js | 9 +++++++++ examples/hyperapp-kitchen-sink/src/index.js | 14 ++++++++++++++ 7 files changed, 84 insertions(+) create mode 100644 examples/hyperapp-kitchen-sink/.babelrc create mode 100644 examples/hyperapp-kitchen-sink/.eslintrc.js create mode 100644 examples/hyperapp-kitchen-sink/index.html create mode 100644 examples/hyperapp-kitchen-sink/package.json create mode 100644 examples/hyperapp-kitchen-sink/src/components/App.js create mode 100644 examples/hyperapp-kitchen-sink/src/components/Button.js create mode 100644 examples/hyperapp-kitchen-sink/src/index.js diff --git a/examples/hyperapp-kitchen-sink/.babelrc b/examples/hyperapp-kitchen-sink/.babelrc new file mode 100644 index 000000000000..f3e834caa585 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/.babelrc @@ -0,0 +1,11 @@ +{ + "presets": ["env"], + "plugins": [ + [ + "transform-react-jsx", + { + "pragma": "h" + } + ] + ] +} diff --git a/examples/hyperapp-kitchen-sink/.eslintrc.js b/examples/hyperapp-kitchen-sink/.eslintrc.js new file mode 100644 index 000000000000..13cf0d2262c8 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + rules: { + 'no-unused-vars': [2, { varsIgnorePattern: 'h' }], + 'react/jsx-uses-vars': 2, + 'react/react-in-jsx-scope': 0, + }, +}; diff --git a/examples/hyperapp-kitchen-sink/index.html b/examples/hyperapp-kitchen-sink/index.html new file mode 100644 index 000000000000..cff1cadfd101 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/index.html @@ -0,0 +1,11 @@ + + + + + Hyperapp Demo App + + +
+ + + \ No newline at end of file diff --git a/examples/hyperapp-kitchen-sink/package.json b/examples/hyperapp-kitchen-sink/package.json new file mode 100644 index 000000000000..4b44b867fedd --- /dev/null +++ b/examples/hyperapp-kitchen-sink/package.json @@ -0,0 +1,17 @@ +{ + "name": "hyperapp-example", + "version": "4.0.0-alpha.9", + "private": true, + "scripts": { + "build": "parcel build index.html --public-url ./", + "start": "parcel index.html" + }, + "dependencies": { + "hyperapp": "^1.2.6" + }, + "devDependencies": { + "babel-core": "^6.26.3", + "babel-preset-env": "^1.7.0", + "parcel": "^1.9.0" + } +} diff --git a/examples/hyperapp-kitchen-sink/src/components/App.js b/examples/hyperapp-kitchen-sink/src/components/App.js new file mode 100644 index 000000000000..c5209654d072 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/src/components/App.js @@ -0,0 +1,15 @@ +import { h } from 'hyperapp'; +import Button from './Button'; + +const App = (state, actions) => ( +
+

Welcome to Hyperapp Demo App!

+
+

{state.count}

+ + +
+
+); + +export default App; diff --git a/examples/hyperapp-kitchen-sink/src/components/Button.js b/examples/hyperapp-kitchen-sink/src/components/Button.js new file mode 100644 index 000000000000..46bd34ada509 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/src/components/Button.js @@ -0,0 +1,9 @@ +import { h } from 'hyperapp'; + +const Button = (attributes, children) => ( + +); + +export default Button; diff --git a/examples/hyperapp-kitchen-sink/src/index.js b/examples/hyperapp-kitchen-sink/src/index.js new file mode 100644 index 000000000000..9423f9f524a0 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/src/index.js @@ -0,0 +1,14 @@ +/* global document */ +import { h, app } from 'hyperapp'; +import App from './components/App'; + +const state = { + count: 0, +}; + +const actions = { + down: value => prevState => ({ count: prevState.count - value }), + up: value => prevState => ({ count: prevState.count + value }), +}; + +app(state, actions, App, document.querySelector('#root')); From ac722af3440d250819aba7bd5a1d5eb944d55366 Mon Sep 17 00:00:00 2001 From: Zarema Khalilova Date: Fri, 15 Jun 2018 21:15:08 +0300 Subject: [PATCH 04/10] Add storybook to hyperapp demo app --- .../hyperapp-kitchen-sink/.storybook/config.js | 9 +++++++++ examples/hyperapp-kitchen-sink/package.json | 16 +++++++++++++++- .../src/components/Welcome.js | 9 +++++++++ .../src/stories/index.stories.js | 5 +++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 examples/hyperapp-kitchen-sink/.storybook/config.js create mode 100644 examples/hyperapp-kitchen-sink/src/components/Welcome.js create mode 100644 examples/hyperapp-kitchen-sink/src/stories/index.stories.js diff --git a/examples/hyperapp-kitchen-sink/.storybook/config.js b/examples/hyperapp-kitchen-sink/.storybook/config.js new file mode 100644 index 000000000000..fe9e54c160d1 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/.storybook/config.js @@ -0,0 +1,9 @@ +import { configure } from '@storybook/hyperapp'; + +// automatically import all files ending in *.stories.js +const req = require.context('../src', true, /.stories.js$/); +function loadStories() { + req.keys().forEach(filename => req(filename)); +} + +configure(loadStories, module); diff --git a/examples/hyperapp-kitchen-sink/package.json b/examples/hyperapp-kitchen-sink/package.json index 4b44b867fedd..b884cfd9373b 100644 --- a/examples/hyperapp-kitchen-sink/package.json +++ b/examples/hyperapp-kitchen-sink/package.json @@ -4,12 +4,26 @@ "private": true, "scripts": { "build": "parcel build index.html --public-url ./", - "start": "parcel index.html" + "start": "parcel index.html", + "build-storybook": "build-storybook", + "storybook": "start-storybook -p 9009" }, "dependencies": { "hyperapp": "^1.2.6" }, "devDependencies": { + "@storybook/addon-actions": "4.0.0-alpha.9", + "@storybook/addon-backgrounds": "4.0.0-alpha.9", + "@storybook/addon-centered": "4.0.0-alpha.9", + "@storybook/addon-knobs": "4.0.0-alpha.9", + "@storybook/addon-links": "4.0.0-alpha.9", + "@storybook/addon-notes": "4.0.0-alpha.9", + "@storybook/addon-options": "4.0.0-alpha.9", + "@storybook/addon-storyshots": "4.0.0-alpha.9", + "@storybook/addon-storysource": "4.0.0-alpha.9", + "@storybook/addon-viewport": "4.0.0-alpha.9", + "@storybook/addons": "4.0.0-alpha.9", + "@storybook/hyperapp": "4.0.0-alpha.9", "babel-core": "^6.26.3", "babel-preset-env": "^1.7.0", "parcel": "^1.9.0" diff --git a/examples/hyperapp-kitchen-sink/src/components/Welcome.js b/examples/hyperapp-kitchen-sink/src/components/Welcome.js new file mode 100644 index 000000000000..500de7e3a1c1 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/src/components/Welcome.js @@ -0,0 +1,9 @@ +import { h } from 'hyperapp'; + +const Welcome = () => ( +
+

Welcome to Storybook for Hyperapp

+
+); + +export default Welcome; diff --git a/examples/hyperapp-kitchen-sink/src/stories/index.stories.js b/examples/hyperapp-kitchen-sink/src/stories/index.stories.js new file mode 100644 index 000000000000..77bd7c63c846 --- /dev/null +++ b/examples/hyperapp-kitchen-sink/src/stories/index.stories.js @@ -0,0 +1,5 @@ +import { storiesOf } from '@storybook/hyperapp'; +import { h } from 'hyperapp'; +import Welcome from '../components/Welcome'; + +storiesOf('Welcome', module).add('welcome', () => ); From ebb4941ff619f5b2d02dda706181830067bfc13f Mon Sep 17 00:00:00 2001 From: Zarema Khalilova Date: Fri, 15 Jun 2018 22:07:05 +0300 Subject: [PATCH 05/10] Add Welcome component for hyperapp example --- examples/hyperapp-kitchen-sink/package.json | 3 +- .../src/components/Welcome.js | 78 ++++++++++++++++++- examples/hyperapp-kitchen-sink/src/logo.svg | 9 +++ 3 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 examples/hyperapp-kitchen-sink/src/logo.svg diff --git a/examples/hyperapp-kitchen-sink/package.json b/examples/hyperapp-kitchen-sink/package.json index b884cfd9373b..347f0b9d26da 100644 --- a/examples/hyperapp-kitchen-sink/package.json +++ b/examples/hyperapp-kitchen-sink/package.json @@ -9,7 +9,8 @@ "storybook": "start-storybook -p 9009" }, "dependencies": { - "hyperapp": "^1.2.6" + "hyperapp": "^1.2.6", + "picostyle": "^2.0.1" }, "devDependencies": { "@storybook/addon-actions": "4.0.0-alpha.9", diff --git a/examples/hyperapp-kitchen-sink/src/components/Welcome.js b/examples/hyperapp-kitchen-sink/src/components/Welcome.js index 500de7e3a1c1..37c98ae40abd 100644 --- a/examples/hyperapp-kitchen-sink/src/components/Welcome.js +++ b/examples/hyperapp-kitchen-sink/src/components/Welcome.js @@ -1,9 +1,83 @@ import { h } from 'hyperapp'; +import picostyle from 'picostyle'; + +const style = picostyle(h); + +const Main = style('div')({ + margin: '15px', + maxWidth: '600px', + lineHeight: 1.4, + fontFamily: '"Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif', +}); + +const Code = style('code')({ + fontSize: '15px', + fontWeight: '600', + padding: '2px 5px', + border: '1px solid #eae9e9', + borderRadius: '4px', + backgroundColor: '#f3f2f2', + color: '#3a3a3a', +}); + +const Logo = style(() => ( + + + + + + + +))({ + margin: '15px', +}); const Welcome = () => ( -
+

Welcome to Storybook for Hyperapp

-
+

This is a UI component dev environment for your Hyperapp components.

+

+ We've added some basic stories inside the stories directory. A story is a single + state of one or more UI components. You can have as many stories as you want. (Basically a + story is like a visual test case.) +

+

+ See these sample{' '} + + stories + . +

+

+ +

+

+ Just like that, you can add your own snippets as stories. You can also edit those snippets and + see changes right away. +

+

+ Usually we create stories with smaller UI components in the app. Have a look at the{' '} + + Writing Stories + {' '} + section in our documentation. +

+ ); export default Welcome; diff --git a/examples/hyperapp-kitchen-sink/src/logo.svg b/examples/hyperapp-kitchen-sink/src/logo.svg new file mode 100644 index 000000000000..882f20c970ff --- /dev/null +++ b/examples/hyperapp-kitchen-sink/src/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + From 78ef5f300583ff18b6c7c884be62671aa3519166 Mon Sep 17 00:00:00 2001 From: Zarema Khalilova Date: Fri, 15 Jun 2018 22:07:41 +0300 Subject: [PATCH 06/10] Update stories for hyperapp example --- examples/hyperapp-kitchen-sink/.storybook/addons.js | 2 ++ .../src/stories/index.stories.js | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 examples/hyperapp-kitchen-sink/.storybook/addons.js diff --git a/examples/hyperapp-kitchen-sink/.storybook/addons.js b/examples/hyperapp-kitchen-sink/.storybook/addons.js new file mode 100644 index 000000000000..6aed412d04af --- /dev/null +++ b/examples/hyperapp-kitchen-sink/.storybook/addons.js @@ -0,0 +1,2 @@ +import '@storybook/addon-actions/register'; +import '@storybook/addon-links/register'; diff --git a/examples/hyperapp-kitchen-sink/src/stories/index.stories.js b/examples/hyperapp-kitchen-sink/src/stories/index.stories.js index 77bd7c63c846..423e1a04c976 100644 --- a/examples/hyperapp-kitchen-sink/src/stories/index.stories.js +++ b/examples/hyperapp-kitchen-sink/src/stories/index.stories.js @@ -1,5 +1,14 @@ import { storiesOf } from '@storybook/hyperapp'; +import { action } from '@storybook/addon-actions'; +import { withLinks } from '@storybook/addon-links'; import { h } from 'hyperapp'; import Welcome from '../components/Welcome'; +import Button from '../components/Button'; -storiesOf('Welcome', module).add('welcome', () => ); +storiesOf('Welcome', module) + .addDecorator(withLinks) + .add('welcome', () => ); + +storiesOf('Demo', module).add('button', () => ( + +)); From 1b96b9707c2083e20df836def30bd56ff31a98ea Mon Sep 17 00:00:00 2001 From: Hypnosphi Date: Sat, 16 Jun 2018 15:37:12 +0300 Subject: [PATCH 07/10] TeamCity: activate Hyperapp build --- .../OpenSourceProjects_Storybook/buildTypes/StotybookApp.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.teamcity/OpenSourceProjects_Storybook/buildTypes/StotybookApp.kt b/.teamcity/OpenSourceProjects_Storybook/buildTypes/StotybookApp.kt index e30bd54b3bc3..c859ac5bbf1f 100644 --- a/.teamcity/OpenSourceProjects_Storybook/buildTypes/StotybookApp.kt +++ b/.teamcity/OpenSourceProjects_Storybook/buildTypes/StotybookApp.kt @@ -14,7 +14,7 @@ enum class StorybookApp(val appName: String, val exampleDir: String, val merged: MITHRIL("Mithril", "mithril-kitchen-sink"), HTML("HTML", "html-kitchen-sink"), MARKO("Marko", "marko-cli"), - HYPERAPP("Hyperapp", "hyperapp-kitchen-sink", false); + HYPERAPP("Hyperapp", "hyperapp-kitchen-sink"); val lowerName = appName.toLowerCase() From 40de9568d4e95563cc8fb0aae8027480c26631f9 Mon Sep 17 00:00:00 2001 From: Hypnosphi Date: Sat, 16 Jun 2018 16:02:45 +0300 Subject: [PATCH 08/10] Setup netlify --- scripts/netlify-build.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/netlify-build.sh b/scripts/netlify-build.sh index 761f1f145a53..8bf97f034b79 100755 --- a/scripts/netlify-build.sh +++ b/scripts/netlify-build.sh @@ -56,6 +56,13 @@ elif [ "$BUILD_CONTEXT" = "MARKO" ]; then yarn build-storybook mv storybook-static ../../netlify-build popd +elif [ "$BUILD_CONTEXT" = "HYPERAPP" ]; then + echo "netlify-build Hyperapp examples" + pushd examples/hyperapp-kitchen-sink + yarn + yarn build-storybook + mv storybook-static ../../netlify-build + popd elif [ "$BUILD_CONTEXT" = "HTML" ]; then echo "netlify-build HTML examples" pushd examples/html-kitchen-sink From 1812ba5dc0bdecaf14219ec6bbf48d21cedc1035 Mon Sep 17 00:00:00 2001 From: Hypnosphi Date: Sat, 16 Jun 2018 16:10:32 +0300 Subject: [PATCH 09/10] Add hyperapp example to workspaces --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 995361666a47..4040c4781afc 100644 --- a/package.json +++ b/package.json @@ -165,6 +165,7 @@ "examples/angular-cli", "examples/cra-kitchen-sink", "examples/html-kitchen-sink", + "examples/hyperapp-kitchen-sink", "examples/mithril-kitchen-sink", "examples/polymer-cli", "examples/vue-kitchen-sink", From 1266d57127dcd325504812e0e0eeae512ada9124 Mon Sep 17 00:00:00 2001 From: Hypnosphi Date: Sat, 16 Jun 2018 17:05:01 +0300 Subject: [PATCH 10/10] Update lockfile --- yarn.lock | 556 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 504 insertions(+), 52 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4fd4a8d3abc4..f0df66267a8a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1041,6 +1041,12 @@ ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" +ansi-to-html@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.4.tgz#8b14ace87f8b3d25367d03cd5300d60be17cf9e0" + dependencies: + entities "^1.1.1" + ansi-wrap@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" @@ -1505,7 +1511,7 @@ babel-core@6.26.0, babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.26.0, ba slash "^1.0.0" source-map "^0.5.6" -babel-core@^6.26.3, babel-core@^6.7.6: +babel-core@^6.25.0, babel-core@^6.26.3, babel-core@^6.7.6: version "6.26.3" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" dependencies: @@ -1562,6 +1568,19 @@ babel-generator@^6.18.0, babel-generator@^6.26.0: source-map "^0.5.6" trim-right "^1.0.1" +babel-generator@^6.25.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + babel-helper-bindify-decorators@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" @@ -2218,6 +2237,15 @@ babel-plugin-transform-es2015-modules-commonjs@6.x, babel-plugin-transform-es201 babel-template "^6.26.0" babel-types "^6.26.0" +babel-plugin-transform-es2015-modules-commonjs@^6.26.0: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" @@ -2895,7 +2923,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-tr invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.15.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -2904,6 +2932,14 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24 lodash "^4.17.4" to-fast-properties "^1.0.3" +babylon-walk@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/babylon-walk/-/babylon-walk-1.0.2.tgz#3b15a5ddbb482a78b4ce9c01c8ba181702d9d6ce" + dependencies: + babel-runtime "^6.11.6" + babel-types "^6.15.0" + lodash.clone "^4.5.0" + babylon@7.0.0-beta.31: version "7.0.0-beta.31" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.31.tgz#7ec10f81e0e456fd0f855ad60fa30c2ac454283f" @@ -2912,7 +2948,7 @@ babylon@7.0.0-beta.44: version "7.0.0-beta.44" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" -babylon@^6.17.0, babylon@^6.18.0: +babylon@^6.17.0, babylon@^6.17.4, babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -3024,6 +3060,10 @@ binary-extensions@^1.0.0: version "1.11.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" +bindings@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" + bl@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/bl/-/bl-0.7.0.tgz#3fb0670602ac2878eb770dc2039f1836be62ae5b" @@ -3052,7 +3092,7 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -bluebird@^3.1.1, bluebird@^3.4.7, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@~3.5.0: +bluebird@^3.0.5, bluebird@^3.1.1, bluebird@^3.4.7, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@~3.5.0: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" @@ -3101,7 +3141,7 @@ bonjour@^3.5.0: multicast-dns "^6.0.1" multicast-dns-service-types "^1.1.0" -boolbase@~1.0.0: +boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -3220,6 +3260,15 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" +brfs@^1.2.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.6.1.tgz#b78ce2336d818e25eea04a0947cba6d4fb8849c3" + dependencies: + quote-stream "^1.0.1" + resolve "^1.1.5" + static-module "^2.2.0" + through2 "^2.0.0" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -3445,6 +3494,10 @@ buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" +buffer-equal@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" + buffer-from@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" @@ -4116,6 +4169,10 @@ clone@^2.1.0, clone@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" +clones@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/clones/-/clones-1.1.0.tgz#87e904132d6140c5c0b72006c08c0d05bd7b63b3" + cmd-shim@^2.0.2, cmd-shim@~2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" @@ -4137,6 +4194,12 @@ coa@~1.0.1: dependencies: q "^1.1.2" +coa@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.1.tgz#f3f8b0b15073e35d70263fb1042cb2c023db38af" + dependencies: + q "^1.1.2" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -4270,6 +4333,10 @@ comma-separated-tokens@^1.0.0: dependencies: trim "0.0.1" +command-exists@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.6.tgz#577f8e5feb0cb0f159cd557a51a9be1bdd76e09e" + command-join@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf" @@ -4282,11 +4349,11 @@ commander@2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d" -commander@^2.11.0, commander@^2.12.1, commander@^2.13.0, commander@^2.9.0: +commander@^2.11.0, commander@^2.12.1, commander@^2.13.0, commander@^2.9.0, commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" -commander@^2.14.1: +commander@^2.14.1, commander@~2.14.1: version "2.14.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" @@ -4384,6 +4451,15 @@ concat-stream@~1.4.1, concat-stream@~1.4.5: readable-stream "~1.1.9" typedarray "~0.0.5" +concat-stream@~1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + concurrently@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.5.1.tgz#ee8b60018bbe86b02df13e5249453c6ececd2521" @@ -4397,7 +4473,7 @@ concurrently@^3.5.1: supports-color "^3.2.3" tree-kill "^1.1.0" -config-chain@~1.1.11: +config-chain@~1.1.11, config-chain@~1.1.5: version "1.1.11" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" dependencies: @@ -4927,7 +5003,7 @@ cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.4, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" dependencies: @@ -5043,6 +5119,10 @@ css-parse@1.7.x: version "1.7.0" resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b" +css-select-base-adapter@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz#0102b3d14630df86c3eb9fa9f5456270106cf990" + css-select@^1.1.0, css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -5052,6 +5132,15 @@ css-select@^1.1.0, css-select@~1.2.0: domutils "1.5.1" nth-check "~1.0.1" +css-select@~1.3.0-rc0: + version "1.3.0-rc0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.3.0-rc0.tgz#6f93196aaae737666ea1036a8cb14a8fcb7a9231" + dependencies: + boolbase "^1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "^1.0.1" + css-selector-tokenizer@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" @@ -5060,6 +5149,24 @@ css-selector-tokenizer@^0.7.0: fastparse "^1.1.1" regexpu-core "^1.0.0" +css-tree@1.0.0-alpha.29: + version "1.0.0-alpha.29" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + dependencies: + mdn-data "~1.1.0" + source-map "^0.5.3" + +css-tree@1.0.0-alpha25: + version "1.0.0-alpha25" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha25.tgz#1bbfabfbf6eeef4f01d9108ff2edd0be2fe35597" + dependencies: + mdn-data "^1.0.0" + source-map "^0.5.3" + +css-url-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" + css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" @@ -5083,7 +5190,7 @@ cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" -"cssnano@>=2.6.1 <4", cssnano@^3.10.0: +"cssnano@>=2.6.1 <4", cssnano@^3.10.0, cssnano@^3.4.0: version "3.10.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" dependencies: @@ -5120,6 +5227,12 @@ cssesc@^0.1.0: postcss-value-parser "^3.2.3" postcss-zindex "^2.0.1" +csso@^3.5.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" + dependencies: + css-tree "1.0.0-alpha.29" + csso@~2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" @@ -5236,6 +5349,13 @@ de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" +deasync@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.13.tgz#815c2b69bbd1117cae570152cd895661c09f20ea" + dependencies: + bindings "~1.2.1" + nan "^2.0.7" + debug@*, debug@3.1.0, debug@^3.0.0, debug@^3.0.1, debug@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" @@ -5669,7 +5789,7 @@ dotenv@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" -dotenv@^5.0.1: +dotenv@^5.0.0, dotenv@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" @@ -5683,7 +5803,7 @@ duplexer2@0.0.2, duplexer2@~0.0.2: dependencies: readable-stream "~1.1.9" -duplexer2@^0.1.4: +duplexer2@^0.1.4, duplexer2@~0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" dependencies: @@ -5731,6 +5851,16 @@ editor@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz#60c7f87bd62bcc6a894fa8ccd6afb7823a24f742" +editorconfig@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.3.tgz#e5219e587951d60958fd94ea9a9a008cdeff1b34" + dependencies: + bluebird "^3.0.5" + commander "^2.9.0" + lru-cache "^3.2.0" + semver "^5.1.0" + sigmund "^1.0.1" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -6130,7 +6260,7 @@ escodegen@1.8.x: optionalDependencies: source-map "~0.2.0" -escodegen@^1.6.0, escodegen@^1.8.1: +escodegen@^1.6.0, escodegen@^1.8.1, escodegen@~1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" dependencies: @@ -6844,6 +6974,15 @@ extsprintf@^1.2.0: version "1.4.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" +falafel@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c" + dependencies: + acorn "^5.0.0" + foreach "^2.0.5" + isarray "0.0.1" + object-keys "^1.0.6" + fancy-log@^1.1.0: version "1.3.2" resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" @@ -7007,6 +7146,10 @@ filesize@3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.0.tgz#22d079615624bb6fd3c04026120628a41b3f4efa" +filesize@^3.6.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + fill-range@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" @@ -7363,6 +7506,12 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2, fstream@~1.0.11: mkdirp ">=0.5 0" rimraf "2" +fswatcher-child@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fswatcher-child/-/fswatcher-child-1.0.3.tgz#c89076126a3004909f6f68c0ea5c9d9143b237fd" + dependencies: + chokidar "^2.0.3" + function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -7769,6 +7918,13 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4, version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +grapheme-breaker@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz#5b9e6b78c3832452d2ba2bb1cb830f96276410ac" + dependencies: + brfs "^1.2.0" + unicode-trie "^0.3.1" + graphiql@^0.11.11: version "0.11.11" resolved "https://registry.yarnpkg.com/graphiql/-/graphiql-0.11.11.tgz#eeaf9a38927dbe8c6ecbf81e700735e16ec50e71" @@ -8251,6 +8407,17 @@ htmljs-parser@^2.3.2: char-props "^0.1.5" complain "^1.0.0" +htmlnano@^0.1.9: + version "0.1.9" + resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-0.1.9.tgz#e6137aea84d20311a3875c42eb2799a1ff352627" + dependencies: + cssnano "^3.4.0" + object-assign "^4.0.1" + posthtml "^0.11.3" + posthtml-render "^1.1.3" + svgo "^1.0.5" + uglify-es "^3.3.9" + htmlparser2@3.8.x: version "3.8.3" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" @@ -8261,7 +8428,7 @@ htmlparser2@3.8.x: entities "1.0" readable-stream "1.1" -htmlparser2@^3.9.1: +htmlparser2@^3.9.1, htmlparser2@^3.9.2: version "3.9.2" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" dependencies: @@ -8453,6 +8620,10 @@ husky@^0.14.3: normalize-path "^1.0.0" strip-indent "^2.0.0" +hyperapp@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/hyperapp/-/hyperapp-1.2.6.tgz#fa3b42dad88e50f962b9d9f922dfa7bef3c8ebc8" + hyperlinker@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e" @@ -9152,6 +9323,10 @@ is-unc-path@^0.1.1: dependencies: unc-path-regex "^0.1.0" +is-url@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -9192,7 +9367,7 @@ isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" -isobject@^2.0.0: +isobject@^2.0.0, isobject@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" dependencies: @@ -10061,6 +10236,15 @@ js-base64@^2.1.8, js-base64@^2.1.9: version "2.4.0" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.0.tgz#9e566fee624751a1d720c966cd6226d29d4025aa" +js-beautify@^1.7.5: + version "1.7.5" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.7.5.tgz#69d9651ef60dbb649f65527b53674950138a7919" + dependencies: + config-chain "~1.1.5" + editorconfig "^0.13.2" + mkdirp "~0.5.0" + nopt "~3.0.1" + js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" @@ -10072,7 +10256,7 @@ js-yaml@3.x: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.10.0, js-yaml@^3.4.3, js-yaml@^3.6.1, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: +js-yaml@^3.10.0, js-yaml@^3.4.3, js-yaml@^3.6.1, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1, js-yaml@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" dependencies: @@ -10952,6 +11136,10 @@ lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" +lodash.clone@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" + lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0, lodash.clonedeep@~4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -11229,6 +11417,12 @@ lowlight@~1.9.1: dependencies: highlight.js "~9.12.0" +lru-cache@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" + dependencies: + pseudomap "^1.0.1" + lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@~4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" @@ -11244,6 +11438,12 @@ macos-release@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-1.1.0.tgz#831945e29365b470aa8724b0ab36c8f8959d10fb" +magic-string@^0.22.4: + version "0.22.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + dependencies: + vlq "^0.2.2" + make-dir@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" @@ -11512,6 +11712,10 @@ mdast-util-to-string@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.4.tgz#5c455c878c9355f0c1e7f3e8b719cf583691acfb" +mdn-data@^1.0.0, mdn-data@~1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" + mdurl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -11583,6 +11787,12 @@ merge-dirs@^0.2.1: node-fs "~0.1.7" path "^0.12.7" +merge-source-map@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" + dependencies: + source-map "^0.5.6" + merge-stream@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" @@ -11685,6 +11895,24 @@ micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" +micromatch@^3.0.4, micromatch@^3.1.9: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + micromatch@^3.1.4: version "3.1.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.5.tgz#d05e168c206472dfbca985bfef4f57797b4cd4ba" @@ -11721,24 +11949,6 @@ micromatch@^3.1.8: snapdragon "^0.8.1" to-regex "^3.0.1" -micromatch@^3.1.9: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -12039,7 +12249,7 @@ mute-stream@0.0.7, mute-stream@~0.0.4: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" -nan@^2.10.0, nan@^2.9.2: +nan@^2.0.7, nan@^2.10.0, nan@^2.9.2: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" @@ -12177,6 +12387,10 @@ node-forge@0.6.33: version "0.6.33" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" +node-forge@^0.7.1: + version "0.7.5" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" + node-fs@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/node-fs/-/node-fs-0.1.7.tgz#32323cccb46c9fbf0fc11812d45021cc31d325bb" @@ -12326,7 +12540,7 @@ nomnom@~1.6.2: colors "0.5.x" underscore "~1.4.4" -"nopt@2 || 3", nopt@3.x: +"nopt@2 || 3", nopt@3.x, nopt@~3.0.1: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: @@ -12614,7 +12828,7 @@ npx@10.2.0: libnpx "10.2.0" npm "5.1.0" -nth-check@~1.0.1: +nth-check@^1.0.1, nth-check@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" dependencies: @@ -12672,11 +12886,15 @@ object-inspect@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.5.0.tgz#9d876c11e40f485c79215670281b767488f9bfe3" +object-inspect@~1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" + object-is@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" -object-keys@^1.0.11, object-keys@^1.0.8: +object-keys@^1.0.11, object-keys@^1.0.6, object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" @@ -12969,7 +13187,7 @@ pad-right@^0.2.2: dependencies: repeat-string "^1.5.2" -pako@~0.2.0: +pako@^0.2.5, pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -12991,6 +13209,63 @@ param-case@2.1.x: dependencies: no-case "^2.2.0" +parcel@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/parcel/-/parcel-1.9.0.tgz#61ab1a51ea8d6c87be3795280c8ad4cb7135c0b2" + dependencies: + ansi-to-html "^0.6.4" + babel-code-frame "^6.26.0" + babel-core "^6.25.0" + babel-generator "^6.25.0" + babel-plugin-transform-es2015-modules-commonjs "^6.26.0" + babel-plugin-transform-react-jsx "^6.24.1" + babel-preset-env "^1.7.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.17.4" + babylon-walk "^1.0.2" + browserslist "^3.2.6" + chalk "^2.1.0" + clone "^2.1.1" + command-exists "^1.2.6" + commander "^2.11.0" + cross-spawn "^6.0.4" + cssnano "^3.10.0" + deasync "^0.1.13" + dotenv "^5.0.0" + filesize "^3.6.0" + fswatcher-child "^1.0.3" + get-port "^3.2.0" + glob "^7.1.2" + grapheme-breaker "^0.3.2" + htmlnano "^0.1.9" + is-url "^1.2.2" + js-yaml "^3.10.0" + json5 "^1.0.1" + micromatch "^3.0.4" + mkdirp "^0.5.1" + node-forge "^0.7.1" + node-libs-browser "^2.0.0" + opn "^5.1.0" + physical-cpu-count "^2.0.0" + postcss "^6.0.19" + postcss-value-parser "^3.3.0" + posthtml "^0.11.2" + posthtml-parser "^0.4.0" + posthtml-render "^1.1.3" + resolve "^1.4.0" + semver "^5.4.1" + serialize-to-js "^1.1.1" + serve-static "^1.12.4" + source-map "0.6.1" + strip-ansi "^4.0.0" + terser "^3.7.3" + toml "^2.3.3" + tomlify-j0.4 "^3.0.0" + v8-compile-cache "^2.0.0" + ws "^5.1.1" + parents@^1.0.0, parents@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" @@ -13244,6 +13519,14 @@ performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" +physical-cpu-count@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" + +picostyle@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/picostyle/-/picostyle-2.0.1.tgz#ac403e77085bb9ac75929f58a66a609684f845ca" + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -13685,7 +13968,7 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13, postcss@^6.0.8, postcss@^6.0.9: source-map "^0.6.1" supports-color "^5.1.0" -postcss@^6.0.22: +postcss@^6.0.19, postcss@^6.0.22: version "6.0.22" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3" dependencies: @@ -13693,6 +13976,33 @@ postcss@^6.0.22: source-map "^0.6.1" supports-color "^5.4.0" +posthtml-parser@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.3.3.tgz#3fe986fca9f00c0f109d731ba590b192f26e776d" + dependencies: + htmlparser2 "^3.9.2" + isobject "^2.1.0" + object-assign "^4.1.1" + +posthtml-parser@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.4.1.tgz#95b78fef766fbbe0a6f861b6e95582bc3d1ff933" + dependencies: + htmlparser2 "^3.9.2" + object-assign "^4.1.1" + +posthtml-render@^1.1.0, posthtml-render@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-1.1.4.tgz#95dac09892f4f183fad5ac823f08f42c0256551e" + +posthtml@^0.11.2, posthtml@^0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.11.3.tgz#17ea2921b0555b7455f33c977bd16d8b8cb74f27" + dependencies: + object-assign "^4.1.1" + posthtml-parser "^0.3.3" + posthtml-render "^1.1.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -13783,6 +14093,10 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + process@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/process/-/process-0.10.1.tgz#842457cc51cfed72dc775afeeafb8c6034372725" @@ -13927,7 +14241,7 @@ prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" -pseudomap@^1.0.2: +pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -14062,6 +14376,14 @@ quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" +quote-stream@^1.0.1, quote-stream@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" + dependencies: + buffer-equal "0.0.1" + minimist "^1.1.3" + through2 "^2.0.0" + radium@^0.19.0: version "0.19.6" resolved "https://registry.yarnpkg.com/radium/-/radium-0.19.6.tgz#b86721d08dbd303b061a4ae2ebb06cc6e335ae72" @@ -14815,6 +15137,18 @@ readable-stream@~2.0.6: string_decoder "~0.10.x" util-deprecate "~1.0.1" +readable-stream@~2.3.3: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + readable-wrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/readable-wrap/-/readable-wrap-1.0.0.tgz#3b5a211c631e12303a54991c806c17e7ae206bff" @@ -15517,6 +15851,12 @@ resolve@^1.1.3, resolve@^1.1.4, resolve@^1.6.0: dependencies: path-parse "^1.0.5" +resolve@^1.1.5: + version "1.8.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.0.tgz#a7f2ac27b78480ecc09c83782741d9f26e4f0c3e" + dependencies: + path-parse "^1.0.5" + resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" @@ -15691,6 +16031,12 @@ safe-regex@^1.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" +safer-eval@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/safer-eval/-/safer-eval-1.2.3.tgz#73ba74a34bc8a07d6a44135c815fd18a8eebe7a0" + dependencies: + clones "^1.1.0" + sane@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/sane/-/sane-2.2.0.tgz#d6d2e2fcab00e3d283c93b912b7c3a20846f1d56" @@ -15760,7 +16106,7 @@ sax@0.6.x: version "0.6.1" resolved "https://registry.yarnpkg.com/sax/-/sax-0.6.1.tgz#563b19c7c1de892e09bfc4f2fc30e3c27f0952b9" -sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.1: +sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.1, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -15958,6 +16304,13 @@ serialize-javascript@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.4.0.tgz#7c958514db6ac2443a8abc062dc9f7886a7f6005" +serialize-to-js@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/serialize-to-js/-/serialize-to-js-1.2.1.tgz#2e87f61f938826d24c463a7cbd0dd2929ec38008" + dependencies: + js-beautify "^1.7.5" + safer-eval "^1.2.3" + serve-favicon@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0" @@ -16010,7 +16363,7 @@ serve-static@1.13.1: parseurl "~1.3.2" send "0.16.1" -serve-static@1.13.2: +serve-static@1.13.2, serve-static@^1.12.4: version "1.13.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" dependencies: @@ -16108,7 +16461,7 @@ shallow-clone@^1.0.0: kind-of "^5.0.0" mixin-object "^2.0.1" -shallow-copy@0.0.1: +shallow-copy@0.0.1, shallow-copy@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" @@ -16172,6 +16525,10 @@ shorthash@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/shorthash/-/shorthash-0.0.2.tgz#59b268eecbde59038b30da202bcfbddeb2c4a4eb" +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -16435,16 +16792,16 @@ source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, sourc version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + source-map@^0.4.2, source-map@^0.4.4, source-map@~0.4.0, source-map@~0.4.1, source-map@~0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - source-map@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" @@ -16570,7 +16927,7 @@ ssri@^5.2.4: dependencies: safe-buffer "^5.1.1" -stable@^0.1.5: +stable@^0.1.5, stable@~0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -16594,6 +16951,12 @@ state-toggle@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.0.tgz#d20f9a616bb4f0c3b98b91922d25b640aa2bc425" +static-eval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.0.tgz#0e821f8926847def7b4b50cda5d55c04a9b13864" + dependencies: + escodegen "^1.8.1" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -16601,6 +16964,25 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" +static-module@^2.2.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/static-module/-/static-module-2.2.5.tgz#bd40abceae33da6b7afb84a0e4329ff8852bfbbf" + dependencies: + concat-stream "~1.6.0" + convert-source-map "^1.5.1" + duplexer2 "~0.1.4" + escodegen "~1.9.0" + falafel "^2.1.0" + has "^1.0.1" + magic-string "^0.22.4" + merge-source-map "1.0.4" + object-inspect "~1.4.0" + quote-stream "~1.0.2" + readable-stream "~2.3.3" + shallow-copy "~0.0.1" + static-eval "^2.0.0" + through2 "~2.0.3" + stats-webpack-plugin@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/stats-webpack-plugin/-/stats-webpack-plugin-0.6.2.tgz#2c5949b531e07f87a88e6ea4dcfac53aa8c75a2b" @@ -16779,6 +17161,12 @@ string_decoder@^1.0.0, string_decoder@~1.0.3: dependencies: safe-buffer "~5.1.0" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + stringify-entities@^1.0.1: version "1.3.1" resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.1.tgz#b150ec2d72ac4c1b5f324b51fb6b28c9cdff058c" @@ -16985,6 +17373,25 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" +svgo@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.0.5.tgz#7040364c062a0538abacff4401cea6a26a7a389a" + dependencies: + coa "~2.0.1" + colors "~1.1.2" + css-select "~1.3.0-rc0" + css-select-base-adapter "~0.1.0" + css-tree "1.0.0-alpha25" + css-url-regex "^1.1.0" + csso "^3.5.0" + js-yaml "~3.10.0" + mkdirp "~0.5.1" + object.values "^1.0.4" + sax "~1.2.4" + stable "~0.1.6" + unquote "~1.1.1" + util.promisify "~1.0.0" + sw-precache-webpack-plugin@0.11.4: version "0.11.4" resolved "https://registry.yarnpkg.com/sw-precache-webpack-plugin/-/sw-precache-webpack-plugin-0.11.4.tgz#a695017e54eed575551493a519dc1da8da2dc5e0" @@ -17148,6 +17555,13 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" +terser@^3.7.3: + version "3.7.6" + resolved "https://registry.yarnpkg.com/terser/-/terser-3.7.6.tgz#0b3c609f22278c089780ac1cdc63627071e3b96a" + dependencies: + commander "~2.14.1" + source-map "~0.6.1" + test-exclude@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" @@ -17181,7 +17595,7 @@ through2@^1.0.0: readable-stream ">=1.1.13-1 <1.2.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^2.0.0, through2@^2.0.2: +through2@^2.0.0, through2@^2.0.2, through2@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: @@ -17235,6 +17649,10 @@ tiny-emitter@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.2.tgz#82d27468aca5ade8e5fd1e6d22b57dd43ebdfb7c" +tiny-inflate@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.2.tgz#93d9decffc8805bd57eae4310f0b745e9b6fb3a7" + tinycolor2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" @@ -17312,6 +17730,14 @@ to-vfile@^2.0.0: is-buffer "^1.1.4" vfile "^2.0.0" +toml@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.3.tgz#8d683d729577cb286231dfc7a8affe58d31728fb" + +tomlify-j0.4@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz#99414d45268c3a3b8bf38be82145b7bba34b7473" + toposort@^1.0.0: version "1.0.6" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.6.tgz#c31748e55d210effc00fdcdc7d6e68d7d7bb9cec" @@ -17552,6 +17978,13 @@ uglify-es@^3.1.9, uglify-es@^3.3.4: commander "~2.12.1" source-map "~0.6.1" +uglify-es@^3.3.9: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + uglify-js@3.3.x, uglify-js@^3.0.13: version "3.3.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.5.tgz#4c4143dfe08e8825746675cc49a6874a933b543e" @@ -17661,6 +18094,13 @@ unherit@^1.0.4: inherits "^2.0.1" xtend "^4.0.1" +unicode-trie@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085" + dependencies: + pako "^0.2.5" + tiny-inflate "^1.0.0" + unified-args@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/unified-args/-/unified-args-5.1.0.tgz#1889200e072998a662e6e84d817d6f4b5f448dd1" @@ -17811,6 +18251,10 @@ unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -18002,7 +18446,7 @@ util-extend@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" -util.promisify@1.0.0, util.promisify@^1.0.0: +util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" dependencies: @@ -18047,6 +18491,10 @@ uuid@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" +v8-compile-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.0.tgz#526492e35fc616864284700b7043e01baee09f0a" + v8flags@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" @@ -18144,6 +18592,10 @@ vinyl@^0.5.0: clone-stats "^0.0.1" replace-ext "0.0.1" +vlq@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + vm-browserify@0.0.4, vm-browserify@~0.0.1: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" @@ -18758,7 +19210,7 @@ ws@^3.0.0: safe-buffer "~5.1.0" ultron "~1.1.0" -ws@^5.2.0: +ws@^5.1.1, ws@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.0.tgz#9fd95e3ac7c76f6ae8bcc868a0e3f11f1290c33e" dependencies: