├── img.gif
├── packages
├── benchmarks
│ ├── react-css
│ │ ├── client
│ │ │ ├── Table.css
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── package.json
│ │ └── README.md
│ ├── cxs
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── package.json
│ │ ├── README.md
│ │ └── yarn.lock
│ ├── fela
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── README.md
│ │ ├── package.json
│ │ └── yarn.lock
│ ├── radium
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── package.json
│ │ └── README.md
│ ├── react
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── package.json
│ │ └── README.md
│ ├── aphrodite
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── README.md
│ │ ├── package.json
│ │ └── yarn.lock
│ ├── react-jss
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── README.md
│ │ └── package.json
│ ├── styled-jsx
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── README.md
│ │ └── package.json
│ ├── styletron
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── README.md
│ │ ├── package.json
│ │ └── yarn.lock
│ ├── emotion
│ │ ├── css-mode
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ └── package.json
│ │ ├── simple
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ │ └── inline-mode
│ │ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ └── package.json
│ ├── rockey
│ │ ├── rockey-inline
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ │ ├── rockey
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ │ └── rockey-speedy
│ │ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ ├── glamorous
│ │ ├── glamor-css
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ │ └── dynamic-styles
│ │ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ ├── styled-jss
│ │ ├── styled-jss
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ │ └── w-o-plugins
│ │ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ └── styled-components
│ │ ├── v1
│ │ ├── simple
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ └── package.json
│ │ ├── decouple-cell
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ └── package.json
│ │ └── inline-style
│ │ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ └── package.json
│ │ ├── v2
│ │ ├── simple
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ │ ├── decouple-cell
│ │ │ ├── client
│ │ │ │ ├── index.js
│ │ │ │ ├── index.html
│ │ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ │ └── inline-style
│ │ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ │ ├── .babelrc
│ │ │ ├── README.md
│ │ │ ├── package.json
│ │ │ └── yarn.lock
│ │ └── v2-plugin
│ │ ├── simple
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── README.md
│ │ ├── package.json
│ │ └── yarn.lock
│ │ ├── decouple-cell
│ │ ├── client
│ │ │ ├── index.js
│ │ │ ├── index.html
│ │ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── README.md
│ │ ├── package.json
│ │ └── yarn.lock
│ │ └── inline-style
│ │ ├── client
│ │ ├── index.js
│ │ ├── index.html
│ │ └── Table.js
│ │ ├── .babelrc
│ │ ├── README.md
│ │ ├── package.json
│ │ └── yarn.lock
├── tests
│ ├── package.json
│ └── index.js
├── benchmarks-utils
│ ├── .babelrc
│ ├── README.md
│ ├── webpack.config.js
│ ├── package.json
│ └── src
│ │ └── index.js
└── dev-tasks
│ ├── src
│ ├── devServer.js
│ ├── build.js
│ └── webpack.config.js
│ └── package.json
├── .gitignore
├── .travis.yml
├── lerna.json
├── package.json
├── README.md
└── RESULT.md
/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tkh44/CSS-IN-JS-Benchmarks/master/img.gif
--------------------------------------------------------------------------------
/packages/benchmarks/react-css/client/Table.css:
--------------------------------------------------------------------------------
1 | .table {
2 | display: table;
3 | margin: 10px 10px 10px 0;
4 | }
5 |
6 | .row {
7 | display: table-row;
8 | }
9 |
10 | .cell {
11 | display: table-cell;
12 | padding: 10px;
13 | }
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # dependencies
2 | node_modules
3 |
4 | # testing
5 | /coverage
6 |
7 | # production
8 | build
9 | lib
10 | static
11 | etc
12 |
13 | # misc
14 | .DS_Store
15 | npm-debug.log*
16 | lerna-debug.log*
17 |
18 | # IDE
19 | .idea/*
20 |
--------------------------------------------------------------------------------
/packages/tests/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tests",
3 | "version": "1.0.0",
4 | "main": "index.js",
5 | "dependencies": {
6 | "connect": "3.6.1",
7 | "lighthouse": "1.6.5",
8 | "serve-static": "1.12.1",
9 | "shelljs": "0.7.7"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/benchmarks-utils/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | "es2015",
4 | "react"
5 | ],
6 | "plugins": [
7 | "transform-class-properties",
8 | "transform-async-to-generator",
9 | "transform-regenerator",
10 | "transform-runtime"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/cxs/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/fela/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/radium/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/react/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/aphrodite/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-css/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-jss/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jsx/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styletron/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/css-mode/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/simple/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-inline/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 | import './index.html';
6 |
7 | ReactDOM.render( , document.getElementById('root'));
8 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/inline-mode/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/glamor-css/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/styled-jss/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/dynamic-styles/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/w-o-plugins/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/simple/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/simple/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 |
5 | import Table from './Table';
6 | import './index.html';
7 |
8 | // test
9 | ReactDOM.render( , document.getElementById('root'));
10 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/decouple-cell/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/inline-style/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/simple/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/decouple-cell/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/inline-style/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/cxs/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/fela/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/radium/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/react/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/decouple-cell/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/inline-style/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import Table from './Table';
5 |
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/aphrodite/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/cxs/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CXS
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/fela/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Fela
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-css/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-jss/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styletron/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/radium/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Radium
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/react/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | React
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-speedy/client/index.js:
--------------------------------------------------------------------------------
1 | import ReactDOM from 'react-dom';
2 | import React from 'react';
3 | import App from 'benchmarks-utils';
4 | import 'rockey-react/speedy';
5 | import Table from './Table';
6 | import './index.html';
7 |
8 | ReactDOM.render( , document.getElementById('root'));
9 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/aphrodite/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Aphrodite
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/glamor-css/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-jss/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | React-JSS
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-inline/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-speedy/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Rockey
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/styled-jss/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styletron/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styletron
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/dynamic-styles/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-css/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | React + CSS
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/w-o-plugins/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jsx/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled-JSX
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/glamor-css/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Glamorous
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/simple/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/simple/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks-utils/README.md:
--------------------------------------------------------------------------------
1 | # Big Table Utils
2 |
3 | ## Available Scripts
4 |
5 | ### `npm run build`
6 |
7 | Builds the app for production to the `build` folder.
8 | It correctly bundles React in production mode and optimizes the build for the best performance.
9 | The build is minified and the filenames include the hashes.
10 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/dynamic-styles/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Gamorous
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/decouple-cell/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/inline-style/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/decouple-cell/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/inline-style/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties"
4 | ],
5 | "presets": [
6 | ["es2015", { "modules": false }],
7 | "react"
8 | ],
9 | "env": {
10 | "development": {
11 | "presets": [
12 | "react-hmre"
13 | ]
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/styled-jss/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled-JSS
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-inline/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Rockey (speedy)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-speedy/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Rockey (speedy)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jsx/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties",
4 | "styled-jsx/babel"
5 | ],
6 | "presets": [
7 | ["es2015", { "modules": false }],
8 | "react"
9 | ],
10 | "env": {
11 | "development": {
12 | "presets": [
13 | "react-hmre"
14 | ]
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/css-mode/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties",
4 | ["emotion/babel"]
5 | ],
6 | "presets": [
7 | ["es2015", { "modules": false }],
8 | "react"
9 | ],
10 | "env": {
11 | "development": {
12 | "presets": [
13 | "react-hmre"
14 | ]
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/inline-mode/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Emotion + Inline Mode
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/simple/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties",
4 | ["emotion/babel"]
5 | ],
6 | "presets": [
7 | ["es2015", { "modules": false }],
8 | "react"
9 | ],
10 | "env": {
11 | "development": {
12 | "presets": [
13 | "react-hmre"
14 | ]
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/simple/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/simple/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/w-o-plugins/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled-JSS W/O plugins
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/simple/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/simple/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties",
4 | "styled-components"
5 | ],
6 | "presets": [
7 | ["es2015", { "modules": false }],
8 | "react"
9 | ],
10 | "env": {
11 | "development": {
12 | "presets": [
13 | "react-hmre"
14 | ]
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/inline-mode/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties",
4 | ["emotion/babel", { "inline": true }]
5 | ],
6 | "presets": [
7 | ["es2015", { "modules": false }],
8 | "react"
9 | ],
10 | "env": {
11 | "development": {
12 | "presets": [
13 | "react-hmre"
14 | ]
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/decouple-cell/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components (Decouple Cell)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/inline-style/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components (Inline Style)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/decouple-cell/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties",
4 | "styled-components"
5 | ],
6 | "presets": [
7 | ["es2015", { "modules": false }],
8 | "react"
9 | ],
10 | "env": {
11 | "development": {
12 | "presets": [
13 | "react-hmre"
14 | ]
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/inline-style/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "transform-class-properties",
4 | "styled-components"
5 | ],
6 | "presets": [
7 | ["es2015", { "modules": false }],
8 | "react"
9 | ],
10 | "env": {
11 | "development": {
12 | "presets": [
13 | "react-hmre"
14 | ]
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/decouple-cell/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components (Decouple Cell)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/inline-style/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components (Inline Style)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/decouple-cell/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components (Decouple Cell)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/inline-style/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Styled Components (Inline Style)
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/simple/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Glam
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/packages/dev-tasks/src/devServer.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | const webpackDevServer = require('webpack-dev-server');
3 | const webpack = require('webpack');
4 |
5 | const webpackConfig = require('./webpack.config.js');
6 | const compiler = webpack(webpackConfig);
7 |
8 | const server = new webpackDevServer(compiler, {
9 | quiet: true,
10 | stats: 'errors-only',
11 | });
12 |
13 | server.listen(3000);
14 |
--------------------------------------------------------------------------------
/packages/benchmarks/react/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Table = ({ table, toPercent }) => (
4 |
5 | {table.map((row, i) => (
6 |
7 | {row.map((x, j) => (
8 |
9 | {toPercent(x)}
10 |
11 | ))}
12 |
13 | ))}
14 |
15 | );
16 |
17 | export default Table;
18 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/css-mode/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Emotion + CSS Mode
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/packages/dev-tasks/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dev-tasks",
3 | "version": "1.0.0",
4 | "bin": {
5 | "devBuild": "./src/build.js",
6 | "devServer": "./src/devServer.js"
7 | },
8 | "keywords": [],
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "chalk": "1.1.3",
13 | "cross-spawn": "5.1.0",
14 | "webpack": "2.4.1",
15 | "webpack-dev-server": "2.4.5",
16 | "yargs": "7.1.0"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/benchmarks/react/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-react-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package react",
7 | "build": "devBuild --package react"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0"
12 | },
13 | "devDependencies": {
14 | "dev-tasks": "1.0.0"
15 | },
16 | "benchmarks": {
17 | "name": "react (without styles)",
18 | "link": "https://github.com/facebook/react"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/packages/benchmarks/cxs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-cxs-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package cxs",
7 | "build": "devBuild --package cxs"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "cxs": "3.0.4"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "cxs",
19 | "useInlineStyles": true,
20 | "useCSS": true,
21 | "link": "https://github.com/jxnblk/cxs"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/radium/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-radium-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package radium",
7 | "build": "devBuild --package radium"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "radium": "0.18.2"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "radium",
19 | "useInlineStyles": true,
20 | "link": "https://github.com/FormidableLabs/radium"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/cxs/README.md:
--------------------------------------------------------------------------------
1 | # CXS Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
19 |
--------------------------------------------------------------------------------
/packages/benchmarks/fela/README.md:
--------------------------------------------------------------------------------
1 | # Aphrodite Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/radium/README.md:
--------------------------------------------------------------------------------
1 | # Radium Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/react-css/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-react-css-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package react-css",
7 | "build": "devBuild --package react-css"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0"
12 | },
13 | "devDependencies": {
14 | "dev-tasks": "1.0.0"
15 | },
16 | "benchmarks": {
17 | "name": "react-css",
18 | "useInlineStyles": true,
19 | "useCSS": true,
20 | "link": "https://github.com/facebook/react"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/react/README.md:
--------------------------------------------------------------------------------
1 | # React Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/aphrodite/README.md:
--------------------------------------------------------------------------------
1 | # Aphrodite Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/simple/README.md:
--------------------------------------------------------------------------------
1 | # React Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/fela/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-fela-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package fela",
7 | "build": "devBuild --package fela"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "fela": "4.3.3",
13 | "react-fela": "4.3.3"
14 | },
15 | "devDependencies": {
16 | "dev-tasks": "1.0.0"
17 | },
18 | "benchmarks": {
19 | "name": "fela",
20 | "useCSS": true,
21 | "link": "https://github.com/rofrischmann/fela/"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-css/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import './Table.css';
3 |
4 | const Table = ({ table, toPercent }) => (
5 |
6 | {table.map((row, i) => (
7 |
8 | {row.map((x, j) => (
9 |
14 | {toPercent(x)}
15 |
16 | ))}
17 |
18 | ))}
19 |
20 | );
21 |
22 | export default Table;
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-jss/README.md:
--------------------------------------------------------------------------------
1 | # React-JSS Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey/README.md:
--------------------------------------------------------------------------------
1 | # React Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styletron/README.md:
--------------------------------------------------------------------------------
1 | # Styletron Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/css-mode/README.md:
--------------------------------------------------------------------------------
1 | # React Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/inline-mode/README.md:
--------------------------------------------------------------------------------
1 | # React Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/react-css/README.md:
--------------------------------------------------------------------------------
1 | # React + CSS Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jsx/README.md:
--------------------------------------------------------------------------------
1 | # Styled-JSX Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-inline/README.md:
--------------------------------------------------------------------------------
1 | # React Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-speedy/README.md:
--------------------------------------------------------------------------------
1 | # React Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/dynamic-styles/README.md:
--------------------------------------------------------------------------------
1 | # Glamourous Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/styled-jss/README.md:
--------------------------------------------------------------------------------
1 | # Styled-JSX Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/w-o-plugins/README.md:
--------------------------------------------------------------------------------
1 | # Styled-JSX Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/aphrodite/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-aphrodite-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package aphrodite",
7 | "build": "devBuild --package aphrodite"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "aphrodite": "1.2.0"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "aphrodite",
19 | "useInlineStyles": true,
20 | "useCSS": true,
21 | "link": "https://github.com/Khan/aphrodite"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/simple/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-emotion-simple-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package emotion/simple",
7 | "build": "devBuild --package emotion/simple"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "emotion": "^4.1.4"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "emotion-simple",
19 | "useCSS": true,
20 | "link": "https://github.com/threepointone/emotion"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/glamor-css/README.md:
--------------------------------------------------------------------------------
1 | # Glamourous + Glamour Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/simple/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v1 Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/simple/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v2 Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-rockey-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package rockey/rockey",
7 | "build": "devBuild --package rockey/rockey"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "rockey-react": "=0.0.14"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "rockey",
19 | "useInlineStyles": false,
20 | "useCSS": true,
21 | "link": "https://github.com/tuchk4/rockey"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/simple/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v2 Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/styled-jss/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-jss-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-jss/styled-jss",
7 | "build": "devBuild --package styled-jss/styled-jss"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0"
12 | },
13 | "dependencies": {
14 | "benchmarks-utils": "1.0.0",
15 | "styled-jss": "0.6.3"
16 | },
17 | "benchmarks": {
18 | "name": "styled-jss",
19 | "useCSS": true,
20 | "link": "https://github.com/cssinjs/styled-jss"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/styletron/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styltron-big-table",
3 | "version": "1.0.0",
4 | "scripts": {
5 | "start": "devServer --package styletron",
6 | "build": "devBuild --package styletron"
7 | },
8 | "license": "MIT",
9 | "dependencies": {
10 | "benchmarks-utils": "1.0.0",
11 | "rockey-react": "0.0.11",
12 | "styletron-client": "2.5.1",
13 | "styletron-react": "2.5.3"
14 | },
15 | "devDependencies": {
16 | "dev-tasks": "1.0.0"
17 | },
18 | "benchmarks": {
19 | "name": "styletron",
20 | "useCSS": true,
21 | "link": "https://github.com/rtsao/styletron"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/inline-style/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v1 + inline styles Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/inline-style/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v2 + Inline Style Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/decouple-cell/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v1 - Decouple Cell Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/decouple-cell/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v2 - Decouple Cell Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/css-mode/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-emotion-css-mode-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package emotion/css-mode",
7 | "build": "devBuild --package emotion/css-mode"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "emotion": "^4.1.4"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "emotion-css-mode",
19 | "useInlineStyles": true,
20 | "useCSS": true,
21 | "link": "https://github.com/tkh44/emotion"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/decouple-cell/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v2 - Decouple Cell Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/inline-style/README.md:
--------------------------------------------------------------------------------
1 | # Styled-Components v2 + Inline Style Big Table
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 |
14 | ### `npm run build`
15 |
16 | Builds the app for production to the `build` folder.
17 | It correctly bundles React in production mode and optimizes the build for the best performance.
18 | The build is minified and the filenames include the hashes.
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/dynamic-styles/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-glamourous-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package glamorous/dynamic-styles",
7 | "build": "devBuild --package glamorous/dynamic-styles"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "glamor": "2.20.24",
13 | "glamorous": "1.0.1"
14 | },
15 | "devDependencies": {
16 | "dev-tasks": "1.0.0"
17 | },
18 | "benchmarks": {
19 | "name": "glamorous",
20 | "useCSS": true,
21 | "link": "https://github.com/paypal/glamorous"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/glamor-css/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-glamour-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package glamorous/glamor-css",
7 | "build": "devBuild --package glamorous/glamor-css"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "glamor": "2.20.24",
13 | "glamorous": "1.0.1"
14 | },
15 | "devDependencies": {
16 | "dev-tasks": "1.0.0"
17 | },
18 | "benchmarks": {
19 | "name": "glamorous-glamour-css",
20 | "useCSS": true,
21 | "link": "https://github.com/paypal/glamorous"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-speedy/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-rockey-speedy-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package rockey/rockey-speedy",
7 | "build": "devBuild --package rockey/rockey-speedy"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "rockey-react": "=0.0.14"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "rockey-speedy",
19 | "useInlineStyles": false,
20 | "useCSS": true,
21 | "link": "https://github.com/tuchk4/rockey"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jsx/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-jsx-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-jsx",
7 | "build": "devBuild --package styled-jsx"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "rockey-react": "0.0.11",
13 | "styled-jsx": "0.5.7"
14 | },
15 | "devDependencies": {
16 | "dev-tasks": "1.0.0"
17 | },
18 | "benchmarks": {
19 | "name": "styled-jsx",
20 | "useInlineStyles": true,
21 | "useCSS": true,
22 | "link": "https://github.com/zeit/styled-jsx"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/inline-mode/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-emotion-inline-mode-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package emotion/inline-mode",
7 | "build": "devBuild --package emotion/inline-mode"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "emotion": "^4.1.4"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "emotion-inline-mode",
19 | "useInlineStyles": true,
20 | "useCSS": true,
21 | "link": "https://github.com/tkh44/emotion"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/w-o-plugins/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-jss-wo-plugins-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-jss/w-o-plugins",
7 | "build": "devBuild --package styled-jss/w-o-plugins"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0"
12 | },
13 | "dependencies": {
14 | "benchmarks-utils": "1.0.0",
15 | "styled-jss": "0.6.3",
16 | "jss": "7.1.1"
17 | },
18 | "benchmarks": {
19 | "name": "styled-jss-w-o-plugins",
20 | "useCSS": true,
21 | "link": "https://github.com/cssinjs/styled-jss"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-inline/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-rockey-inline-big-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package rockey/rockey-inline",
7 | "build": "devBuild --package rockey/rockey-inline"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "rockey-react": "=0.0.14"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "rockey-inline",
19 | "useInlineStyles": false,
20 | "useCSS": true,
21 | "useInlineStyles": true,
22 | "link": "https://github.com/tuchk4/rockey"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/simple/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v1-simple",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v1/simple",
7 | "build": "devBuild --package styled-components/v1/simple"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0"
12 | },
13 | "dependencies": {
14 | "styled-components": "1.4.4",
15 | "benchmarks-utils": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "styled-components-v1",
19 | "useCSS": true,
20 | "link": "https://github.com/styled-components/styled-components"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/simple/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v2-simple",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v2/simple",
7 | "build": "devBuild --package styled-components/v2/simple"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0"
12 | },
13 | "dependencies": {
14 | "styled-components": "2.0.0-15",
15 | "benchmarks-utils": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "styled-components-v2",
19 | "useCSS": true,
20 | "link": "https://github.com/styled-components/styled-components/tree/v2"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import rockey from 'rockey-react';
3 |
4 | const Table = rockey.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = rockey.div`
10 | display: table-row;
11 | `;
12 |
13 | const Cell = rockey.div`
14 | display: table-cell;
15 | padding: 10px;
16 |
17 | background: ${({ value }) => `rgba(74, 174, 53, ${value})`}
18 | `;
19 |
20 | export default ({ table, toPercent }) => (
21 |
22 | {table.map((row, i) => (
23 |
24 | {row.map((x, j) => (
25 | | {toPercent(x)} |
26 | ))}
27 |
28 | ))}
29 |
30 | );
31 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-speedy/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import rockey from 'rockey-react';
3 |
4 | const Table = rockey.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = rockey.div`
10 | display: table-row;
11 | `;
12 |
13 | const Cell = rockey.div`
14 | display: table-cell;
15 | padding: 10px;
16 |
17 | background: ${({ value }) => `rgba(74, 174, 53, ${value})`}
18 | `;
19 |
20 | export default ({ table, toPercent }) => (
21 |
22 | {table.map((row, i) => (
23 |
24 | {row.map((x, j) => (
25 | | {toPercent(x)} |
26 | ))}
27 |
28 | ))}
29 |
30 | );
31 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/simple/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const Cell = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | background: rgba(74, 174, 53, ${props => props.value});
17 | `;
18 |
19 | export default ({ table, toPercent }) => (
20 |
21 | {table.map((row, i) => (
22 |
23 | {row.map((x, j) => (
24 | | {toPercent(x)} |
25 | ))}
26 |
27 | ))}
28 |
29 | );
30 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/simple/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const Cell = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | background: rgba(74, 174, 53, ${props => props.value});
17 | `;
18 |
19 | export default ({ table, toPercent }) => (
20 |
21 | {table.map((row, i) => (
22 |
23 | {row.map((x, j) => (
24 | | {toPercent(x)} |
25 | ))}
26 |
27 | ))}
28 |
29 | );
30 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/decouple-cell/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v1-decouple-cell",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v1/decouple-cell",
7 | "build": "devBuild --package styled-components/v1/decouple-cell"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0"
12 | },
13 | "dependencies": {
14 | "styled-components": "1.4.4",
15 | "benchmarks-utils": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "styled-components-v1-decouple-cell",
19 | "useCSS": true,
20 | "link": "https://github.com/styled-components/styled-components"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/simple/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const Cell = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | background: rgba(74, 174, 53, ${props => props.value});
17 | `;
18 |
19 | export default ({ table, toPercent }) => (
20 |
21 | {table.map((row, i) => (
22 |
23 | {row.map((x, j) => (
24 | | {toPercent(x)} |
25 | ))}
26 |
27 | ))}
28 |
29 | );
30 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/decouple-cell/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v2-decouple-cell",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v2/decouple-cell",
7 | "build": "devBuild --package styled-components/v2/decouple-cell"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0"
12 | },
13 | "dependencies": {
14 | "styled-components": "2.0.0-15",
15 | "benchmarks-utils": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "styled-components-v2-decouple-cell",
19 | "useCSS": true,
20 | "link": "https://github.com/styled-components/styled-components/tree/v2"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/inline-style/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v1-inline-style",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v1/inline-style",
7 | "build": "devBuild --package styled-components/v1/inline-style"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0"
12 | },
13 | "dependencies": {
14 | "styled-components": "1.4.4",
15 | "benchmarks-utils": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "styled-components-v1-inline-styles",
19 | "useInlineStyles": true,
20 | "useCSS": true,
21 | "link": "https://github.com/styled-components/styled-components"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks-utils/webpack.config.js:
--------------------------------------------------------------------------------
1 | const webpack = require('webpack');
2 | const path = require('path');
3 |
4 | const sourcePath = path.join(__dirname, './src');
5 | const libraryName = 'index';
6 |
7 | let outputFile = libraryName + '.js';
8 |
9 | const config = {
10 | entry: __dirname + '/src/index.js',
11 | devtool: 'source-map',
12 | output: {
13 | path: __dirname + '/lib',
14 | filename: outputFile,
15 | library: libraryName,
16 | libraryTarget: 'umd',
17 | umdNamedDefine: true,
18 | },
19 | module: {
20 | rules: [
21 | {
22 | test: /(\.jsx|\.js)$/,
23 | loader: 'babel-loader',
24 | exclude: /(node_modules|bower_components)/,
25 | },
26 | ],
27 | },
28 | };
29 |
30 | module.exports = config;
31 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/inline-style/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v2-inline-style",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v2/inline-style",
7 | "build": "devBuild --package styled-components/v2/inline-style"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0"
12 | },
13 | "dependencies": {
14 | "styled-components": "2.0.0-15",
15 | "benchmarks-utils": "1.0.0"
16 | },
17 | "benchmarks": {
18 | "name": "styled-components-v2-inline-styles",
19 | "useInlineStyles": true,
20 | "useCSS": true,
21 | "link": "https://github.com/styled-components/styled-components/tree/v2"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-jss/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-react-jss-table",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package react-jss",
7 | "build": "devBuild --package react-jss"
8 | },
9 | "license": "MIT",
10 | "dependencies": {
11 | "benchmarks-utils": "1.0.0",
12 | "react-jss": "5.4.1"
13 | },
14 | "devDependencies": {
15 | "dev-tasks": "1.0.0"
16 | },
17 | "dependencies": {
18 | "babel-runtime": "6.23.0",
19 | "react": "15.4.2",
20 | "react-dom": "15.4.2",
21 | "react-jss": "5.4.1",
22 | "benchmarks-utils": "1.0.0"
23 | },
24 | "benchmarks": {
25 | "name": "react-jss",
26 | "useCSS": true,
27 | "link": "https://github.com/cssinjs/react-jss"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/dynamic-styles/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import glamorous from 'glamorous';
3 |
4 | const Table = glamorous.div({
5 | display: 'table',
6 | marginTop: 10,
7 | });
8 |
9 | const Row = glamorous.div({
10 | display: 'table-row',
11 | });
12 |
13 | const Cell = glamorous.div(
14 | {
15 | display: 'table-cell',
16 | padding: '10px',
17 | },
18 | props => ({
19 | background: `rgba(74, 174, 53, ${props.value})`,
20 | })
21 | );
22 |
23 | export default ({ table, toPercent }) => (
24 |
25 | {table.map((row, i) => (
26 |
27 | {row.map((x, j) => (
28 | | {toPercent(x)} |
29 | ))}
30 |
31 | ))}
32 |
33 | );
34 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/styled-jss/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-jss';
3 |
4 | const Table = styled('div', {
5 | display: 'table',
6 | marginTop: 10,
7 | });
8 |
9 | const Row = styled('div', {
10 | display: 'table-row',
11 | });
12 |
13 | const Cell = styled('div', {
14 | display: 'table-cell',
15 | padding: 10,
16 | background: props => `rgba(74, 174, 53, ${props.value})`,
17 | });
18 |
19 | const TableComponent = ({ table, toPercent }) => (
20 |
21 | {table.map((row, i) => (
22 |
23 | {row.map((x, j) => (
24 | | {toPercent(x)} |
25 | ))}
26 |
27 | ))}
28 |
29 | );
30 |
31 | export default TableComponent;
32 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/simple/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v2-plugin-simple",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v2-plugin/simple",
7 | "build": "devBuild --package styled-components/v2-plugin/simple"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0",
12 | "babel-plugin-styled-components": "1.1.4"
13 | },
14 | "dependencies": {
15 | "styled-components": "2.0.0-15",
16 | "benchmarks-utils": "1.0.0"
17 | },
18 | "benchmarks": {
19 | "name": "styled-components-v2-plugin",
20 | "link": "https://github.com/styled-components/styled-components/tree/v2",
21 | "useCSS": true
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/decouple-cell/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const CellDefault = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | const Cell = styled(CellDefault)`
19 | background: rgba(74, 174, 53, ${props => props.value});
20 | `;
21 |
22 | export default ({ table, toPercent }) => (
23 |
24 | {table.map((row, i) => (
25 |
26 | {row.map((x, j) => (
27 | | {toPercent(x)} |
28 | ))}
29 |
30 | ))}
31 |
32 | );
33 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/decouple-cell/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const CellDefault = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | const Cell = styled(CellDefault)`
19 | background: rgba(74, 174, 53, ${props => props.value});
20 | `;
21 |
22 | export default ({ table, toPercent }) => (
23 |
24 | {table.map((row, i) => (
25 |
26 | {row.map((x, j) => (
27 | | {toPercent(x)} |
28 | ))}
29 |
30 | ))}
31 |
32 | );
33 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/decouple-cell/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const CellDefault = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | const Cell = styled(CellDefault)`
19 | background: rgba(74, 174, 53, ${props => props.value});
20 | `;
21 |
22 | export default ({ table, toPercent }) => (
23 |
24 | {table.map((row, i) => (
25 |
26 | {row.map((x, j) => (
27 | | {toPercent(x)} |
28 | ))}
29 |
30 | ))}
31 |
32 | );
33 |
--------------------------------------------------------------------------------
/packages/dev-tasks/src/build.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | const fs = require('fs');
3 | const path = require('path');
4 | const webpack = require('webpack');
5 | const { argv } = require('yargs');
6 |
7 | process.NODE_ENV = 'production';
8 | const packageName = argv.package;
9 |
10 | const webpackConfig = require('./webpack.config.js');
11 | const compiler = webpack(webpackConfig);
12 |
13 | compiler.run((err, stats) => {
14 | if (err || stats.hasErrors()) {
15 | console.log(`Error at ${packageName}`);
16 |
17 | const info = stats.toJson();
18 | const space = ' ';
19 |
20 | info.errors.map(err => {
21 | console.log('');
22 | console.log(space + err.split('\n').slice(0, 3).join('\n' + space));
23 | console.log('');
24 |
25 | process.exit(1);
26 | });
27 | }
28 | });
29 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/simple/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'emotion/styled';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const CellDefault = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | const Cell = styled('div')`
19 | display: table-cell;
20 | padding: 10px;
21 | background: rgba(74, 174, 53, ${props => props.value});
22 | `;
23 |
24 | export default ({ table, toPercent }) => (
25 |
26 | {table.map((row, i) => (
27 |
28 | {row.map((x, j) => (
29 | | {toPercent(x)} |
30 | ))}
31 |
32 | ))}
33 |
34 | );
35 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/inline-mode/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'emotion/styled';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const CellDefault = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | const Cell = styled('div')`
19 | display: table-cell;
20 | padding: 10px;
21 | background: rgba(74, 174, 53, ${props => props.value});
22 | `;
23 |
24 | export default ({ table, toPercent }) => (
25 |
26 | {table.map((row, i) => (
27 |
28 | {row.map((x, j) => (
29 | | {toPercent(x)} |
30 | ))}
31 |
32 | ))}
33 |
34 | );
35 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v1/inline-style/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const Cell = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | export default ({ table, toPercent }) => (
19 |
20 | {table.map((row, i) => (
21 |
22 | {row.map((x, j) => (
23 | |
28 | {toPercent(x)}
29 | |
30 | ))}
31 |
32 | ))}
33 |
34 | );
35 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/inline-style/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const Cell = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | export default ({ table, toPercent }) => (
19 |
20 | {table.map((row, i) => (
21 |
22 | {row.map((x, j) => (
23 | |
28 | {toPercent(x)}
29 | |
30 | ))}
31 |
32 | ))}
33 |
34 | );
35 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/inline-style/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import styled from 'styled-components';
3 |
4 | const Table = styled.div`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const Row = styled.div`
10 | display: table-row;
11 | `;
12 |
13 | const Cell = styled.div`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | export default ({ table, toPercent }) => (
19 |
20 | {table.map((row, i) => (
21 |
22 | {row.map((x, j) => (
23 | |
28 | {toPercent(x)}
29 | |
30 | ))}
31 |
32 | ))}
33 |
34 | );
35 |
--------------------------------------------------------------------------------
/packages/benchmarks/radium/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Radium from 'radium';
3 |
4 | const styles = {
5 | table: {
6 | display: 'table',
7 | marginTop: 10,
8 | },
9 | row: {
10 | display: 'table-row',
11 | },
12 | cell: {
13 | display: 'table-cell',
14 | padding: 10,
15 | },
16 | };
17 |
18 | const Table = ({ table, toPercent }) => (
19 |
20 | {table.map((row, i) => (
21 |
22 | {row.map((x, j) => (
23 |
27 | {toPercent(x)}
28 |
29 | ))}
30 |
31 | ))}
32 |
33 | );
34 |
35 | export default Radium(Table);
36 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/decouple-cell/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v2-plugin-decouple-cell",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v2-plugin/decouple-cell",
7 | "build": "devBuild --package styled-components/v2-plugin/decouple-cell"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0",
12 | "babel-plugin-styled-components": "1.1.4"
13 | },
14 | "dependencies": {
15 | "styled-components": "2.0.0-15",
16 | "benchmarks-utils": "1.0.0"
17 | },
18 | "benchmarks": {
19 | "name": "styled-components-v2-plugin-decouple-cell",
20 | "link": "https://github.com/styled-components/styled-components/tree/v2",
21 | "useCSS": true
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-inline/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import 'rockey-react/speedy';
3 | import rockey from 'rockey-react';
4 |
5 | const Table = rockey.div`
6 | display: table;
7 | margin-top: 10px;
8 | `;
9 |
10 | const Row = rockey.div`
11 | display: table-row;
12 | `;
13 |
14 | const Cell = rockey.div`
15 | display: table-cell;
16 | padding: 10px;
17 | `;
18 |
19 | export default ({ table, toPercent }) => (
20 |
21 | {table.map((row, i) => (
22 |
23 | {row.map((x, j) => (
24 | |
29 | {toPercent(x)}
30 | |
31 | ))}
32 |
33 | ))}
34 |
35 | );
36 |
--------------------------------------------------------------------------------
/packages/benchmarks-utils/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "benchmarks-utils",
3 | "version": "1.0.0",
4 | "main": "./lib/index.js",
5 | "scripts": {
6 | "postinstall": "webpack --hide-modules --env build"
7 | },
8 | "license": "MIT",
9 | "devDependencies": {
10 | "babel": "6.5.2",
11 | "babel-core": "6.22.1",
12 | "babel-eslint": "7.1.1",
13 | "babel-loader": "6.2.10",
14 | "babel-plugin-add-module-exports": "0.1.2",
15 | "babel-plugin-transform-async-to-generator": "6.24.1",
16 | "babel-plugin-transform-class-properties": "6.23.0",
17 | "babel-plugin-transform-regenerator": "6.24.1",
18 | "babel-plugin-transform-runtime": "6.23.0",
19 | "babel-preset-es2015": "6.22.0",
20 | "babel-preset-react": "6.23.0",
21 | "react": "15.6",
22 | "webpack": "2.2.1",
23 | "yargs": "6.6.0"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/packages/benchmarks/cxs/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import cxs from 'cxs';
3 |
4 | const cxsTable = cxs({
5 | display: 'table',
6 | marginTop: 10,
7 | });
8 |
9 | const cxsRow = cxs({
10 | display: 'table-row',
11 | });
12 |
13 | const cxsCell = cxs({
14 | display: 'table-cell',
15 | padding: 10,
16 | });
17 |
18 | const Table = ({ table, toPercent }) => (
19 |
20 | {table.map((row, i) => (
21 |
22 | {row.map((x, j) => (
23 |
28 | {toPercent(x)}
29 |
30 | ))}
31 |
32 | ))}
33 |
34 | );
35 |
36 | export default Table;
37 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/inline-style/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "table-styled-components-big-table-v2-plugin-inline-style",
3 | "version": "1.0.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "devServer --package styled-components/v2-plugin/inline-style",
7 | "build": "devBuild --package styled-components/v2-plugin/inline-style"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "dev-tasks": "1.0.0",
12 | "babel-plugin-styled-components": "1.1.4"
13 | },
14 | "dependencies": {
15 | "styled-components": "2.0.0-15",
16 | "benchmarks-utils": "1.0.0"
17 | },
18 | "benchmarks": {
19 | "name": "styled-components-v2-plugin-inline-styles",
20 | "link": "https://github.com/styled-components/styled-components/tree/v2",
21 | "useInlineStyles": true,
22 | "useCSS": true
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/css-mode/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { css } from 'emotion';
3 |
4 | const tableClass = css`
5 | display: table;
6 | margin-top: 10px;
7 | `;
8 |
9 | const rowClass = css`
10 | display: table-row;
11 | `;
12 |
13 | const cellClass = css`
14 | display: table-cell;
15 | padding: 10px;
16 | `;
17 |
18 | const Table = ({ table, toPercent }) => (
19 |
20 | {table.map((row, i) => (
21 |
22 | {row.map((x, j) => (
23 |
28 | {toPercent(x)}
29 |
30 | ))}
31 |
32 | ))}
33 |
34 | );
35 |
36 | export default Table;
37 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jsx/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Table = ({ table, toPercent }) => (
4 |
5 | {table.map((row, i) => (
6 |
7 | {row.map((x, j) => (
8 |
13 | {toPercent(x)}
14 |
15 | ))}
16 |
17 | ))}
18 |
33 |
34 | );
35 |
36 | export default Table;
37 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/glamor-css/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import glamorous from 'glamorous';
3 | import { css } from 'glamor';
4 |
5 | const Table = glamorous.div({
6 | display: 'table',
7 | marginTop: 10,
8 | });
9 |
10 | const Row = glamorous.div({
11 | display: 'table-row',
12 | });
13 |
14 | const Cell = glamorous.div({
15 | display: 'table-cell',
16 | padding: '10px',
17 | });
18 |
19 | export default ({ table, toPercent }) => (
20 |
21 | {table.map((row, i) => (
22 |
23 | {row.map((x, j) => {
24 | const style = css({ background: `rgba(74, 174, 53, ${x})` });
25 | return (
26 | |
27 | {toPercent(x)}
28 | |
29 | );
30 | })}
31 |
32 | ))}
33 |
34 | );
35 |
--------------------------------------------------------------------------------
/packages/benchmarks/aphrodite/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { StyleSheet, css } from 'aphrodite';
3 |
4 | const styles = StyleSheet.create({
5 | table: {
6 | display: 'table',
7 | marginTop: 10,
8 | },
9 | row: {
10 | display: 'table-row',
11 | },
12 | cell: {
13 | display: 'table-cell',
14 | padding: 10,
15 | },
16 | });
17 |
18 | const Table = ({ table, toPercent }) => (
19 |
20 | {table.map((row, i) => (
21 |
22 | {row.map((x, j) => (
23 |
28 | {toPercent(x)}
29 |
30 | ))}
31 |
32 | ))}
33 |
34 | );
35 |
36 | export default Table;
37 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/w-o-plugins/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { create as createJss } from 'jss';
3 | import createStyled from 'styled-jss/createStyled';
4 |
5 | const jss = createJss();
6 |
7 | const Styled = createStyled(jss);
8 | const styled = Styled();
9 |
10 | const Table = styled('div', {
11 | display: 'table',
12 | marginTop: '10px',
13 | });
14 |
15 | const Row = styled('div', {
16 | display: 'table-row',
17 | });
18 |
19 | const Cell = styled('div', {
20 | display: 'table-cell',
21 | padding: '10px',
22 | background: props => `rgba(74, 174, 53, ${props.value})`,
23 | });
24 |
25 | const TableComponent = ({ table, toPercent }) => (
26 |
27 | {table.map((row, i) => (
28 |
29 | {row.map((x, j) => (
30 | | {toPercent(x)} |
31 | ))}
32 |
33 | ))}
34 |
35 | );
36 |
37 | export default TableComponent;
38 |
--------------------------------------------------------------------------------
/packages/benchmarks/react-jss/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import injectSheet from 'react-jss';
3 |
4 | const styles = {
5 | table: {
6 | display: 'table',
7 | marginTop: 10,
8 | },
9 | row: {
10 | display: 'table-row',
11 | },
12 | };
13 |
14 | const stylesCell = {
15 | cell: {
16 | display: 'table-cell',
17 | padding: 10,
18 | background: props => `rgba(74, 174, 53, ${props.value})`,
19 | },
20 | };
21 |
22 | const CellComponent = ({ classes, children }) => (
23 | {children}
24 | );
25 |
26 | const Cell = injectSheet(stylesCell)(CellComponent);
27 |
28 | const Table = ({ classes, table, toPercent }) => (
29 |
30 | {table.map((row, i) => (
31 |
32 | {row.map((x, j) => (
33 | | {toPercent(x)} |
34 | ))}
35 |
36 | ))}
37 |
38 | );
39 |
40 | export default injectSheet(styles)(Table);
41 |
--------------------------------------------------------------------------------
/packages/benchmarks/fela/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { createRenderer } from 'fela';
3 | import { Provider, createComponent } from 'react-fela';
4 |
5 | const Table = createComponent(props => ({
6 | display: 'table',
7 | 'margin-top': '10px',
8 | }));
9 |
10 | const Row = createComponent(props => ({
11 | display: 'table-row',
12 | }));
13 |
14 | const Cell = createComponent(props => ({
15 | display: 'table-cell',
16 | padding: '10px',
17 | background: `rgba(74, 174, 53, ${props.value})`,
18 | }));
19 |
20 | const renderer = createRenderer();
21 | const mountNode = document.createElement('style');
22 | document.head.appendChild(mountNode);
23 |
24 | export default ({ table, toPercent }) => (
25 |
26 |
27 | {table.map((row, i) => (
28 |
29 | {row.map((x, j) => (
30 | | {toPercent(x)} |
31 | ))}
32 |
33 | ))}
34 |
35 |
36 | );
37 |
--------------------------------------------------------------------------------
/packages/benchmarks/emotion/simple/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@threepointone/glam@1.0.6":
6 | version "1.0.6"
7 | resolved "https://registry.yarnpkg.com/@threepointone/glam/-/glam-1.0.6.tgz#0aba87c7f46429c240b2969c4ae51077cd576490"
8 | dependencies:
9 | babylon "^6.17.0"
10 | touch "^1.0.0"
11 |
12 | abbrev@1:
13 | version "1.1.0"
14 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
15 |
16 | babylon@^6.17.0:
17 | version "6.17.0"
18 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932"
19 |
20 | nopt@~1.0.10:
21 | version "1.0.10"
22 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
23 | dependencies:
24 | abbrev "1"
25 |
26 | touch@^1.0.0:
27 | version "1.0.0"
28 | resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de"
29 | dependencies:
30 | nopt "~1.0.10"
31 |
--------------------------------------------------------------------------------
/packages/benchmarks/styletron/client/Table.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { styled, StyletronProvider } from 'styletron-react';
3 | import Styletron from 'styletron-client';
4 |
5 | const Table = styled('div', {
6 | display: 'table',
7 | marginTop: '10px',
8 | });
9 |
10 | const Row = styled('div', {
11 | display: 'table-row',
12 | });
13 |
14 | const Cell = styled('div', props => ({
15 | display: 'table-cell',
16 | padding: '10px',
17 | background: `rgba(74, 174, 53, ${props.value})`,
18 | }));
19 |
20 | const TableComponent = ({ table, toPercent }) => (
21 |
22 | {table.map((row, i) => (
23 |
24 | {row.map((x, j) => (
25 | | {toPercent(x)} |
26 | ))}
27 |
28 | ))}
29 |
30 | );
31 |
32 | const styleSheet = document.createElement('style');
33 | document.head.appendChild(styleSheet);
34 |
35 | const styletron = new Styletron([styleSheet]);
36 |
37 | export default ({ table, toPercent }) => (
38 |
39 |
40 |
41 | );
42 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: required
2 | language: node_js
3 | node_js:
4 | - "7.9"
5 |
6 | services:
7 | - docker
8 |
9 | before_install:
10 | - docker pull justinribeiro/chrome-headless
11 | - docker run -d --net host justinribeiro/chrome-headless
12 | - curl -o- -L https://yarnpkg.com/install.sh | bash
13 | - export PATH=$HOME/.yarn/bin:$PATH
14 | - docker ps -a
15 | - export BRANCH=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi)
16 | - echo "TRAVIS_BRANCH=$TRAVIS_BRANCH, PR=$PR, BRANCH=$BRANCH"
17 |
18 | install:
19 | - yarn add lerna
20 | - lerna bootstrap --npm-client=yarn
21 | - yarn
22 |
23 | cache:
24 | yarn: true
25 |
26 | script:
27 | - npm run benchmark
28 |
29 | after_success:
30 | - git config user.name "A-gambit"
31 | - git config user.email "a.gambit.gregory@gmail.com"
32 | - git config user.password $GIT_TOKEN
33 | - git remote add upstream "https://$GIT_TOKEN@github.com/A-gambit/CSS-IN-JS-Benchmarks.git"
34 | - git fetch upstream
35 | - git reset upstream/$BRANCH
36 | - git add RESULT.md
37 | - git commit -m 'Travis CI Automaticaly Benchmarks Update [ci skip]'
38 | - git push -q upstream HEAD:$BRANCH
39 |
--------------------------------------------------------------------------------
/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "lerna": "2.0.0-rc.4",
3 | "packages": [
4 | "packages/tests",
5 | "packages/benchmarks-utils",
6 | "packages/dev-tasks",
7 | "packages/benchmarks/styled-jss/styled-jss",
8 | "packages/benchmarks/styled-jss/w-o-plugins",
9 | "packages/benchmarks/styled-components/v1/decouple-cell",
10 | "packages/benchmarks/styled-components/v1/inline-style",
11 | "packages/benchmarks/styled-components/v1/simple",
12 | "packages/benchmarks/styled-components/v2/decouple-cell",
13 | "packages/benchmarks/styled-components/v2/inline-style",
14 | "packages/benchmarks/styled-components/v2/simple",
15 | "packages/benchmarks/styled-components/v2-plugin/decouple-cell",
16 | "packages/benchmarks/styled-components/v2-plugin/inline-style",
17 | "packages/benchmarks/styled-components/v2-plugin/simple",
18 | "packages/benchmarks/aphrodite",
19 | "packages/benchmarks/cxs",
20 | "packages/benchmarks/emotion/css-mode",
21 | "packages/benchmarks/emotion/inline-mode",
22 | "packages/benchmarks/emotion/simple",
23 | "packages/benchmarks/glamorous/dynamic-styles",
24 | "packages/benchmarks/glamorous/glamor-css",
25 | "packages/benchmarks/react",
26 | "packages/benchmarks/react-jss",
27 | "packages/benchmarks/styled-jsx"
28 | ],
29 | "version": "1.0.0"
30 | }
31 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "devDependencies": {
3 | "babel": "6.5.2",
4 | "babel-core": "6.22.1",
5 | "babel-eslint": "7.1.1",
6 | "babel-loader": "6.2.10",
7 | "babel-plugin-add-module-exports": "0.1.2",
8 | "babel-plugin-transform-async-to-generator": "6.24.1",
9 | "babel-plugin-transform-class-properties": "6.23.0",
10 | "babel-plugin-transform-regenerator": "6.24.1",
11 | "babel-plugin-transform-runtime": "6.23.0",
12 | "babel-preset-es2015": "6.22.0",
13 | "babel-preset-react": "6.23.0",
14 | "babel-preset-react-hmre": "1.1.1",
15 | "babel-runtime": "6.23.0",
16 | "connect": "3.6.1",
17 | "cross-env": "3.1.4",
18 | "css-loader": "0.28.0",
19 | "extract-text-webpack-plugin": "^2.1.2",
20 | "file-loader": "0.10.1",
21 | "husky": "0.13.3",
22 | "lerna": "2.0.0-rc.4",
23 | "lighthouse": "1.6.5",
24 | "lint-staged": "3.4.0",
25 | "prettier": "1.2.2",
26 | "react": "^15.6.1",
27 | "react-dom": "^15.6.1",
28 | "serve-static": "1.12.1",
29 | "shelljs": "0.7.7",
30 | "style-loader": "0.16.1",
31 | "webpack": "2.2.1",
32 | "webpack-dev-server": "2.4.1",
33 | "yargs": "6.6.0"
34 | },
35 | "scripts": {
36 | "benchmark": "node ./packages/tests/",
37 | "format": "find . -name '*.js' | grep -v node_modules | xargs prettier --trailing-comma es5 --single-quote --write",
38 | "precommit": "lint-staged"
39 | },
40 | "lint-staged": {
41 | "*.js": [
42 | "prettier --trailing-comma es5 --single-quote --write",
43 | "git add"
44 | ]
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # CSS in JS Benchmarks
2 |
3 | ## Big Table
4 |
5 | 
6 |
7 | Big Table examples, use:
8 | - react + css
9 | - aphrodite
10 | - glamorous
11 | - glam
12 | - fela
13 | - react-jss
14 | - radium
15 | - rockey
16 | - styled-components
17 | - styled-jsx
18 | - styletron
19 | - etc
20 |
21 | Average results are [here](https://github.com/A-gambit/CSS-IN-JS-Benchmarks/blob/master/RESULT.md).
22 |
23 | New demos and benchmarks will be soon :)
24 |
25 | ## Contribution
26 |
27 | Here is a little contributing guild:
28 |
29 | - Use `node` version `7.9+`
30 | - Install `lerna` and `yarn` (optional)
31 | - `lerna bootstrap` or `lerna bootstrap --npm-client=yarn` - install deps in packages
32 | - `npm i`
33 | - `lerna run build` - make builds for all packages
34 |
35 | 1. Create an appropriate folder for your CSS in JS new implementation. Use [react](https://github.com/A-gambit/CSS-IN-JS-Benchmarks/tree/master/packages/big-table/react) as example of boilerplate.
36 | 2. Add description for your CSS in JS in package.json. [Example](https://github.com/A-gambit/CSS-IN-JS-Benchmarks/blob/master/packages/big-table/aphrodite/package.json#L33-L37)
37 | 3. Add your solution for [Table.js](https://github.com/A-gambit/CSS-IN-JS-Benchmarks/blob/master/packages/big-table/react/client/Table.js) file.
38 | 4. Run benchmarks: `npm run benchmark`. To tun tests for specific packageor - `npm run benchmark -- rockey styled-jss radium`
39 |
40 |
41 | Add your favorite CSS in JS implementation!
42 | Your contributions and suggestions are heartily welcome. =^.^=
43 |
--------------------------------------------------------------------------------
/packages/benchmarks/aphrodite/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | aphrodite@1.2.0:
6 | version "1.2.0"
7 | resolved "https://registry.yarnpkg.com/aphrodite/-/aphrodite-1.2.0.tgz#c2f30bd1cdf6a550f4a29a0f1cf22ed10e825764"
8 | dependencies:
9 | asap "^2.0.3"
10 | inline-style-prefixer "^3.0.1"
11 | string-hash "^1.1.3"
12 |
13 | asap@^2.0.3:
14 | version "2.0.5"
15 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
16 |
17 | bowser@^1.6.0:
18 | version "1.6.1"
19 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.1.tgz#9157e9498f456e937173a2918f3b2161e5353eb3"
20 |
21 | css-in-js-utils@^1.0.3:
22 | version "1.0.3"
23 | resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-1.0.3.tgz#9ac7e02f763cf85d94017666565ed68a5b5f3215"
24 | dependencies:
25 | hyphenate-style-name "^1.0.2"
26 |
27 | hyphenate-style-name@^1.0.2:
28 | version "1.0.2"
29 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
30 |
31 | inline-style-prefixer@^3.0.1:
32 | version "3.0.2"
33 | resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.2.tgz#989865e0c5de7a946acbea71e16e02741efe0dd7"
34 | dependencies:
35 | bowser "^1.6.0"
36 | css-in-js-utils "^1.0.3"
37 |
38 | string-hash@^1.1.3:
39 | version "1.1.3"
40 | resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
41 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@^2.0.5:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | classnames@^2.2.5:
10 | version "2.2.5"
11 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
12 |
13 | css-vendor@^0.3.8:
14 | version "0.3.8"
15 | resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-0.3.8.tgz#6421cfd3034ce664fe7673972fd0119fc28941fa"
16 | dependencies:
17 | is-in-browser "^1.0.2"
18 |
19 | is-in-browser@^1.0.2:
20 | version "1.1.3"
21 | resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
22 |
23 | is-react-prop@^0.1.2:
24 | version "0.1.2"
25 | resolved "https://registry.yarnpkg.com/is-react-prop/-/is-react-prop-0.1.2.tgz#b22fbcf6190e91e81939132a110bb94642b56903"
26 |
27 | lodash@^4.17.4:
28 | version "4.17.4"
29 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
30 |
31 | rockey-css-parse@^0.0.14:
32 | version "0.0.14"
33 | resolved "https://registry.yarnpkg.com/rockey-css-parse/-/rockey-css-parse-0.0.14.tgz#5e927753a17b255d7160fac3df4be061c09c9a9c"
34 | dependencies:
35 | lodash "^4.17.4"
36 |
37 | rockey-react@=0.0.14:
38 | version "0.0.14"
39 | resolved "https://registry.yarnpkg.com/rockey-react/-/rockey-react-0.0.14.tgz#9cd8193735bcb2de9fdbcbd0851a568cad960752"
40 | dependencies:
41 | classnames "^2.2.5"
42 | is-react-prop "^0.1.2"
43 | lodash "^4.17.4"
44 | rockey "^0.0.14"
45 |
46 | rockey@^0.0.14:
47 | version "0.0.14"
48 | resolved "https://registry.yarnpkg.com/rockey/-/rockey-0.0.14.tgz#00e32440d7c763d7b7cf8be2f94fe3f2d2797754"
49 | dependencies:
50 | asap "^2.0.5"
51 | classnames "^2.2.5"
52 | css-vendor "^0.3.8"
53 | lodash "^4.17.4"
54 | rockey-css-parse "^0.0.14"
55 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-inline/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@^2.0.5:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | classnames@^2.2.5:
10 | version "2.2.5"
11 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
12 |
13 | css-vendor@^0.3.8:
14 | version "0.3.8"
15 | resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-0.3.8.tgz#6421cfd3034ce664fe7673972fd0119fc28941fa"
16 | dependencies:
17 | is-in-browser "^1.0.2"
18 |
19 | is-in-browser@^1.0.2:
20 | version "1.1.3"
21 | resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
22 |
23 | is-react-prop@^0.1.2:
24 | version "0.1.2"
25 | resolved "https://registry.yarnpkg.com/is-react-prop/-/is-react-prop-0.1.2.tgz#b22fbcf6190e91e81939132a110bb94642b56903"
26 |
27 | lodash@^4.17.4:
28 | version "4.17.4"
29 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
30 |
31 | rockey-css-parse@^0.0.14:
32 | version "0.0.14"
33 | resolved "https://registry.yarnpkg.com/rockey-css-parse/-/rockey-css-parse-0.0.14.tgz#5e927753a17b255d7160fac3df4be061c09c9a9c"
34 | dependencies:
35 | lodash "^4.17.4"
36 |
37 | rockey-react@=0.0.14:
38 | version "0.0.14"
39 | resolved "https://registry.yarnpkg.com/rockey-react/-/rockey-react-0.0.14.tgz#9cd8193735bcb2de9fdbcbd0851a568cad960752"
40 | dependencies:
41 | classnames "^2.2.5"
42 | is-react-prop "^0.1.2"
43 | lodash "^4.17.4"
44 | rockey "^0.0.14"
45 |
46 | rockey@^0.0.14:
47 | version "0.0.14"
48 | resolved "https://registry.yarnpkg.com/rockey/-/rockey-0.0.14.tgz#00e32440d7c763d7b7cf8be2f94fe3f2d2797754"
49 | dependencies:
50 | asap "^2.0.5"
51 | classnames "^2.2.5"
52 | css-vendor "^0.3.8"
53 | lodash "^4.17.4"
54 | rockey-css-parse "^0.0.14"
55 |
--------------------------------------------------------------------------------
/packages/benchmarks/rockey/rockey-speedy/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@^2.0.5:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | classnames@^2.2.5:
10 | version "2.2.5"
11 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
12 |
13 | css-vendor@^0.3.8:
14 | version "0.3.8"
15 | resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-0.3.8.tgz#6421cfd3034ce664fe7673972fd0119fc28941fa"
16 | dependencies:
17 | is-in-browser "^1.0.2"
18 |
19 | is-in-browser@^1.0.2:
20 | version "1.1.3"
21 | resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
22 |
23 | is-react-prop@^0.1.2:
24 | version "0.1.2"
25 | resolved "https://registry.yarnpkg.com/is-react-prop/-/is-react-prop-0.1.2.tgz#b22fbcf6190e91e81939132a110bb94642b56903"
26 |
27 | lodash@^4.17.4:
28 | version "4.17.4"
29 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
30 |
31 | rockey-css-parse@^0.0.14:
32 | version "0.0.14"
33 | resolved "https://registry.yarnpkg.com/rockey-css-parse/-/rockey-css-parse-0.0.14.tgz#5e927753a17b255d7160fac3df4be061c09c9a9c"
34 | dependencies:
35 | lodash "^4.17.4"
36 |
37 | rockey-react@=0.0.14:
38 | version "0.0.14"
39 | resolved "https://registry.yarnpkg.com/rockey-react/-/rockey-react-0.0.14.tgz#9cd8193735bcb2de9fdbcbd0851a568cad960752"
40 | dependencies:
41 | classnames "^2.2.5"
42 | is-react-prop "^0.1.2"
43 | lodash "^4.17.4"
44 | rockey "^0.0.14"
45 |
46 | rockey@^0.0.14:
47 | version "0.0.14"
48 | resolved "https://registry.yarnpkg.com/rockey/-/rockey-0.0.14.tgz#00e32440d7c763d7b7cf8be2f94fe3f2d2797754"
49 | dependencies:
50 | asap "^2.0.5"
51 | classnames "^2.2.5"
52 | css-vendor "^0.3.8"
53 | lodash "^4.17.4"
54 | rockey-css-parse "^0.0.14"
55 |
--------------------------------------------------------------------------------
/RESULT.md:
--------------------------------------------------------------------------------
1 | ## Results:
2 | *sorted by rerender time*
3 |
4 | Solution | Use CSS | Use Inline-Styles | Mount Time (ms) | Rerender time (ms)
5 | :--- | :--- | :--- | :--- | :---
6 | [react (without styles)](https://github.com/facebook/react) | - | - | 17.68 | 54.5
7 | [emotion-css-mode](https://github.com/tkh44/emotion) | + | + | 29.31 | 61.09
8 | [styled-jsx](https://github.com/zeit/styled-jsx) | + | + | 33.97 | 63.85
9 | [aphrodite](https://github.com/Khan/aphrodite) | + | + | 37.92 | 68.98
10 | [cxs](https://github.com/jxnblk/cxs) | + | + | 30.94 | 69.21
11 | [styled-jss-w-o-plugins](https://github.com/cssinjs/styled-jss) | + | - | 89.94 | 79.07
12 | [styled-components-v1-inline-styles](https://github.com/styled-components/styled-components) | + | + | 79.93 | 83.8
13 | [styled-components-v2-inline-styles](https://github.com/styled-components/styled-components/tree/v2) | + | + | 81.87 | 85.16
14 | [emotion-inline-mode](https://github.com/tkh44/emotion) | + | - | 68.21 | 85.62
15 | [emotion-simple](https://github.com/threepointone/emotion) | + | - | 64.95 | 86.43
16 | [styled-jss](https://github.com/cssinjs/styled-jss) | + | - | 119.61 | 90.87
17 | [styled-components-v2-plugin-inline-styles](https://github.com/styled-components/styled-components/tree/v2) | + | + | 91.6 | 91.01
18 | [glamorous](https://github.com/paypal/glamorous) | + | - | 144.71 | 216.96
19 | [react-jss](https://github.com/cssinjs/react-jss) | + | - | 140.9 | 242.18
20 | [glamorous-glamour-css](https://github.com/paypal/glamorous) | + | - | 195.68 | 314.95
21 | [styled-components-v2-plugin-decouple-cell](https://github.com/styled-components/styled-components/tree/v2) | + | - | 935.17 | 2,297.57
22 | [styled-components-v2-decouple-cell](https://github.com/styled-components/styled-components/tree/v2) | + | - | 886.16 | 2,459.95
23 | [styled-components-v2-plugin](https://github.com/styled-components/styled-components/tree/v2) | + | - | 1,263.42 | 3,326.45
24 | [styled-components-v2](https://github.com/styled-components/styled-components/tree/v2) | + | - | 1,260.35 | 3,424.29
25 | [styled-components-v1](https://github.com/styled-components/styled-components) | + | - | 1,401.69 | 3,660.68
26 | [styled-components-v1-decouple-cell](https://github.com/styled-components/styled-components) | + | - | 1,455.37 | 3,722.98
27 |
--------------------------------------------------------------------------------
/packages/benchmarks-utils/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | function getTable(max = 30) {
4 | let table = [];
5 | for (let i = 0; i < max; i++) {
6 | table[i] = [1];
7 | for (let j = 1; j < max; j++) {
8 | const next = table[i][j - 1] - Math.random() * table[i][j - 1] / 10;
9 | table[i].push(next.toFixed(4));
10 | }
11 | }
12 | return table;
13 | }
14 |
15 | function getUniqueSize(table) {
16 | let set = new Set();
17 | table.forEach(row => row.forEach(x => set.add(x)));
18 | return set.size;
19 | }
20 |
21 | function toPercent(x) {
22 | return (x * 100).toFixed(2).toString() + '%';
23 | }
24 |
25 | async function runTestRerender() {
26 | const input = document.querySelector('input');
27 | for (let i = 0; i < 10; i++) {
28 | await new Promise(resolve => {
29 | performance.mark('startRerender' + i);
30 | input.click();
31 |
32 | setTimeout(() => {
33 | setTimeout(() => {
34 | performance.mark('endRerender' + i);
35 | performance.measure(
36 | 'measureRerender' + i,
37 | 'startRerender' + i,
38 | 'endRerender' + i
39 | );
40 | resolve();
41 | }, 0);
42 | }, 0);
43 | });
44 | }
45 | }
46 |
47 | function willMount() {
48 | if (document.location.search.includes('test=true')) {
49 | performance.mark('startMount');
50 | }
51 | }
52 |
53 | function didMount() {
54 | if (!document.location.search.includes('test=true')) {
55 | return;
56 | }
57 | performance.mark('endMount');
58 | performance.measure('measureMount', 'startMount', 'endMount');
59 |
60 | if (document.location.search.includes('butch=true')) {
61 | return runTestRerender();
62 | }
63 |
64 | const input = document.querySelector('input');
65 | performance.mark('startRerender');
66 | input.click();
67 | setTimeout(() => {
68 | performance.mark('endRerender');
69 | performance.measure('measureRerender', 'startRerender', 'endRerender');
70 | }, 0);
71 | }
72 |
73 | export default class App extends React.Component {
74 | constructor(props) {
75 | super(props);
76 | this.state = {
77 | table: getTable(),
78 | };
79 | }
80 |
81 | componentWillMount() {
82 | willMount();
83 | }
84 |
85 | componentDidMount() {
86 | didMount();
87 | }
88 |
89 | handleClick = () => {
90 | this.setState({ table: getTable() });
91 | };
92 |
93 | render() {
94 | const { table: Table } = this.props;
95 | return (
96 |
97 |
98 |
99 | {' '}
100 | {getUniqueSize(this.state.table)} unique cells
101 |
102 |
103 |
104 | );
105 | }
106 | }
107 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/styled-jss/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | css-vendor@^0.3.8:
6 | version "0.3.8"
7 | resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-0.3.8.tgz#6421cfd3034ce664fe7673972fd0119fc28941fa"
8 | dependencies:
9 | is-in-browser "^1.0.2"
10 |
11 | is-in-browser@1.0.2, is-in-browser@^1.0.2:
12 | version "1.0.2"
13 | resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.0.2.tgz#f688bea8f1e5aadc3244ebc870d188cfb9b613cf"
14 |
15 | is-react-prop@^0.1.2:
16 | version "0.1.2"
17 | resolved "https://registry.yarnpkg.com/is-react-prop/-/is-react-prop-0.1.2.tgz#b22fbcf6190e91e81939132a110bb94642b56903"
18 |
19 | js-tokens@^3.0.0:
20 | version "3.0.1"
21 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
22 |
23 | jss-camel-case@^4.0.0:
24 | version "4.0.0"
25 | resolved "https://registry.yarnpkg.com/jss-camel-case/-/jss-camel-case-4.0.0.tgz#39ef2a137aaa1e2f160ab826845305f8efabcfd5"
26 |
27 | jss-compose@^3.0.0:
28 | version "3.0.1"
29 | resolved "https://registry.yarnpkg.com/jss-compose/-/jss-compose-3.0.1.tgz#0ac07f20baf1d523c211016d383dab08dcfe4186"
30 | dependencies:
31 | warning "^3.0.0"
32 |
33 | jss-default-unit@^6.0.0:
34 | version "6.1.1"
35 | resolved "https://registry.yarnpkg.com/jss-default-unit/-/jss-default-unit-6.1.1.tgz#a9a04887a3860d2a8ceb73ddfbc2ddcf808bacb2"
36 |
37 | jss-expand@^3.0.0:
38 | version "3.0.1"
39 | resolved "https://registry.yarnpkg.com/jss-expand/-/jss-expand-3.0.1.tgz#90f1b30ad0ab700e666ea54f7186341c50d7feed"
40 |
41 | jss-extend@^4.0.0:
42 | version "4.0.1"
43 | resolved "https://registry.yarnpkg.com/jss-extend/-/jss-extend-4.0.1.tgz#6b716a1b217ba32715dbcb69940ec67b35c415dc"
44 | dependencies:
45 | warning "^3.0.0"
46 |
47 | jss-global@^1.0.0:
48 | version "1.0.1"
49 | resolved "https://registry.yarnpkg.com/jss-global/-/jss-global-1.0.1.tgz#36731778f6d8649110611f7c178dbcd60fd92b24"
50 |
51 | jss-nested@^4.0.0:
52 | version "4.0.1"
53 | resolved "https://registry.yarnpkg.com/jss-nested/-/jss-nested-4.0.1.tgz#f50cc206430c8a920ccd54e3b756f7fc72455130"
54 | dependencies:
55 | warning "^3.0.0"
56 |
57 | jss-preset-default@^2.0.0:
58 | version "2.0.0"
59 | resolved "https://registry.yarnpkg.com/jss-preset-default/-/jss-preset-default-2.0.0.tgz#0368d99626b31067e8d04ab3c7cb17ba8354d422"
60 | dependencies:
61 | jss-camel-case "^4.0.0"
62 | jss-compose "^3.0.0"
63 | jss-default-unit "^6.0.0"
64 | jss-expand "^3.0.0"
65 | jss-extend "^4.0.0"
66 | jss-global "^1.0.0"
67 | jss-nested "^4.0.0"
68 | jss-props-sort "^4.0.0"
69 | jss-vendor-prefixer "^5.0.0"
70 |
71 | jss-props-sort@^4.0.0:
72 | version "4.0.0"
73 | resolved "https://registry.yarnpkg.com/jss-props-sort/-/jss-props-sort-4.0.0.tgz#ef4239c6795ca304c18dce9e0395a1789ed9f78a"
74 |
75 | jss-vendor-prefixer@^5.0.0:
76 | version "5.1.0"
77 | resolved "https://registry.yarnpkg.com/jss-vendor-prefixer/-/jss-vendor-prefixer-5.1.0.tgz#59b73544de81e6b2efd71f6d3b744671826865a2"
78 | dependencies:
79 | css-vendor "^0.3.8"
80 |
81 | jss@^7.1.1:
82 | version "7.1.1"
83 | resolved "https://registry.yarnpkg.com/jss/-/jss-7.1.1.tgz#b04ce8bfa60123a8b423e0edf17af8d008a5e8e5"
84 | dependencies:
85 | is-in-browser "1.0.2"
86 | warning "3.0.0"
87 |
88 | loose-envify@^1.0.0:
89 | version "1.3.1"
90 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
91 | dependencies:
92 | js-tokens "^3.0.0"
93 |
94 | styled-jss@0.6.3:
95 | version "0.6.3"
96 | resolved "https://registry.yarnpkg.com/styled-jss/-/styled-jss-0.6.3.tgz#c31dc46a57832501b111ee91b99a3a198766fcab"
97 | dependencies:
98 | is-react-prop "^0.1.2"
99 | jss "^7.1.1"
100 | jss-preset-default "^2.0.0"
101 |
102 | warning@3.0.0, warning@^3.0.0:
103 | version "3.0.0"
104 | resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
105 | dependencies:
106 | loose-envify "^1.0.0"
107 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-jss/w-o-plugins/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | css-vendor@^0.3.8:
6 | version "0.3.8"
7 | resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-0.3.8.tgz#6421cfd3034ce664fe7673972fd0119fc28941fa"
8 | dependencies:
9 | is-in-browser "^1.0.2"
10 |
11 | is-in-browser@1.0.2, is-in-browser@^1.0.2:
12 | version "1.0.2"
13 | resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.0.2.tgz#f688bea8f1e5aadc3244ebc870d188cfb9b613cf"
14 |
15 | is-react-prop@^0.1.2:
16 | version "0.1.2"
17 | resolved "https://registry.yarnpkg.com/is-react-prop/-/is-react-prop-0.1.2.tgz#b22fbcf6190e91e81939132a110bb94642b56903"
18 |
19 | js-tokens@^3.0.0:
20 | version "3.0.1"
21 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
22 |
23 | jss-camel-case@^4.0.0:
24 | version "4.0.0"
25 | resolved "https://registry.yarnpkg.com/jss-camel-case/-/jss-camel-case-4.0.0.tgz#39ef2a137aaa1e2f160ab826845305f8efabcfd5"
26 |
27 | jss-compose@^3.0.0:
28 | version "3.0.1"
29 | resolved "https://registry.yarnpkg.com/jss-compose/-/jss-compose-3.0.1.tgz#0ac07f20baf1d523c211016d383dab08dcfe4186"
30 | dependencies:
31 | warning "^3.0.0"
32 |
33 | jss-default-unit@^6.0.0:
34 | version "6.1.1"
35 | resolved "https://registry.yarnpkg.com/jss-default-unit/-/jss-default-unit-6.1.1.tgz#a9a04887a3860d2a8ceb73ddfbc2ddcf808bacb2"
36 |
37 | jss-expand@^3.0.0:
38 | version "3.0.1"
39 | resolved "https://registry.yarnpkg.com/jss-expand/-/jss-expand-3.0.1.tgz#90f1b30ad0ab700e666ea54f7186341c50d7feed"
40 |
41 | jss-extend@^4.0.0:
42 | version "4.0.1"
43 | resolved "https://registry.yarnpkg.com/jss-extend/-/jss-extend-4.0.1.tgz#6b716a1b217ba32715dbcb69940ec67b35c415dc"
44 | dependencies:
45 | warning "^3.0.0"
46 |
47 | jss-global@^1.0.0:
48 | version "1.0.1"
49 | resolved "https://registry.yarnpkg.com/jss-global/-/jss-global-1.0.1.tgz#36731778f6d8649110611f7c178dbcd60fd92b24"
50 |
51 | jss-nested@^4.0.0:
52 | version "4.0.1"
53 | resolved "https://registry.yarnpkg.com/jss-nested/-/jss-nested-4.0.1.tgz#f50cc206430c8a920ccd54e3b756f7fc72455130"
54 | dependencies:
55 | warning "^3.0.0"
56 |
57 | jss-preset-default@^2.0.0:
58 | version "2.0.0"
59 | resolved "https://registry.yarnpkg.com/jss-preset-default/-/jss-preset-default-2.0.0.tgz#0368d99626b31067e8d04ab3c7cb17ba8354d422"
60 | dependencies:
61 | jss-camel-case "^4.0.0"
62 | jss-compose "^3.0.0"
63 | jss-default-unit "^6.0.0"
64 | jss-expand "^3.0.0"
65 | jss-extend "^4.0.0"
66 | jss-global "^1.0.0"
67 | jss-nested "^4.0.0"
68 | jss-props-sort "^4.0.0"
69 | jss-vendor-prefixer "^5.0.0"
70 |
71 | jss-props-sort@^4.0.0:
72 | version "4.0.0"
73 | resolved "https://registry.yarnpkg.com/jss-props-sort/-/jss-props-sort-4.0.0.tgz#ef4239c6795ca304c18dce9e0395a1789ed9f78a"
74 |
75 | jss-vendor-prefixer@^5.0.0:
76 | version "5.1.0"
77 | resolved "https://registry.yarnpkg.com/jss-vendor-prefixer/-/jss-vendor-prefixer-5.1.0.tgz#59b73544de81e6b2efd71f6d3b744671826865a2"
78 | dependencies:
79 | css-vendor "^0.3.8"
80 |
81 | jss@7.1.1, jss@^7.1.1:
82 | version "7.1.1"
83 | resolved "https://registry.yarnpkg.com/jss/-/jss-7.1.1.tgz#b04ce8bfa60123a8b423e0edf17af8d008a5e8e5"
84 | dependencies:
85 | is-in-browser "1.0.2"
86 | warning "3.0.0"
87 |
88 | loose-envify@^1.0.0:
89 | version "1.3.1"
90 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
91 | dependencies:
92 | js-tokens "^3.0.0"
93 |
94 | styled-jss@0.6.3:
95 | version "0.6.3"
96 | resolved "https://registry.yarnpkg.com/styled-jss/-/styled-jss-0.6.3.tgz#c31dc46a57832501b111ee91b99a3a198766fcab"
97 | dependencies:
98 | is-react-prop "^0.1.2"
99 | jss "^7.1.1"
100 | jss-preset-default "^2.0.0"
101 |
102 | warning@3.0.0, warning@^3.0.0:
103 | version "3.0.0"
104 | resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
105 | dependencies:
106 | loose-envify "^1.0.0"
107 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/glamor-css/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | babel-runtime@^6.18.0:
10 | version "6.23.0"
11 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
12 | dependencies:
13 | core-js "^2.4.0"
14 | regenerator-runtime "^0.10.0"
15 |
16 | core-js@^1.0.0:
17 | version "1.2.7"
18 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
19 |
20 | core-js@^2.4.0:
21 | version "2.4.1"
22 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
23 |
24 | encoding@^0.1.11:
25 | version "0.1.12"
26 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
27 | dependencies:
28 | iconv-lite "~0.4.13"
29 |
30 | fbjs@^0.8.8:
31 | version "0.8.12"
32 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
33 | dependencies:
34 | core-js "^1.0.0"
35 | isomorphic-fetch "^2.1.1"
36 | loose-envify "^1.0.0"
37 | object-assign "^4.1.0"
38 | promise "^7.1.1"
39 | setimmediate "^1.0.5"
40 | ua-parser-js "^0.7.9"
41 |
42 | glamor@2.20.24:
43 | version "2.20.24"
44 | resolved "https://registry.yarnpkg.com/glamor/-/glamor-2.20.24.tgz#a299af2eec687322634ba38e4a0854d8743d2041"
45 | dependencies:
46 | babel-runtime "^6.18.0"
47 | fbjs "^0.8.8"
48 | object-assign "^4.1.0"
49 |
50 | glamorous@1.0.1:
51 | version "1.0.1"
52 | resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-1.0.1.tgz#df69bd5de7bd39ba4e57c693bb552b8b09cfd995"
53 |
54 | iconv-lite@~0.4.13:
55 | version "0.4.16"
56 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
57 |
58 | is-stream@^1.0.1:
59 | version "1.1.0"
60 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
61 |
62 | isomorphic-fetch@^2.1.1:
63 | version "2.2.1"
64 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
65 | dependencies:
66 | node-fetch "^1.0.1"
67 | whatwg-fetch ">=0.10.0"
68 |
69 | js-tokens@^3.0.0:
70 | version "3.0.1"
71 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
72 |
73 | loose-envify@^1.0.0:
74 | version "1.3.1"
75 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
76 | dependencies:
77 | js-tokens "^3.0.0"
78 |
79 | node-fetch@^1.0.1:
80 | version "1.6.3"
81 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
82 | dependencies:
83 | encoding "^0.1.11"
84 | is-stream "^1.0.1"
85 |
86 | object-assign@^4.1.0:
87 | version "4.1.1"
88 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
89 |
90 | promise@^7.1.1:
91 | version "7.1.1"
92 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
93 | dependencies:
94 | asap "~2.0.3"
95 |
96 | regenerator-runtime@^0.10.0:
97 | version "0.10.5"
98 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
99 |
100 | setimmediate@^1.0.5:
101 | version "1.0.5"
102 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
103 |
104 | ua-parser-js@^0.7.9:
105 | version "0.7.12"
106 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
107 |
108 | whatwg-fetch@>=0.10.0:
109 | version "2.0.3"
110 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
111 |
--------------------------------------------------------------------------------
/packages/benchmarks/glamorous/dynamic-styles/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | babel-runtime@^6.18.0:
10 | version "6.23.0"
11 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
12 | dependencies:
13 | core-js "^2.4.0"
14 | regenerator-runtime "^0.10.0"
15 |
16 | core-js@^1.0.0:
17 | version "1.2.7"
18 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
19 |
20 | core-js@^2.4.0:
21 | version "2.4.1"
22 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
23 |
24 | encoding@^0.1.11:
25 | version "0.1.12"
26 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
27 | dependencies:
28 | iconv-lite "~0.4.13"
29 |
30 | fbjs@^0.8.8:
31 | version "0.8.12"
32 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
33 | dependencies:
34 | core-js "^1.0.0"
35 | isomorphic-fetch "^2.1.1"
36 | loose-envify "^1.0.0"
37 | object-assign "^4.1.0"
38 | promise "^7.1.1"
39 | setimmediate "^1.0.5"
40 | ua-parser-js "^0.7.9"
41 |
42 | glamor@2.20.24:
43 | version "2.20.24"
44 | resolved "https://registry.yarnpkg.com/glamor/-/glamor-2.20.24.tgz#a299af2eec687322634ba38e4a0854d8743d2041"
45 | dependencies:
46 | babel-runtime "^6.18.0"
47 | fbjs "^0.8.8"
48 | object-assign "^4.1.0"
49 |
50 | glamorous@1.0.1:
51 | version "1.0.1"
52 | resolved "https://registry.yarnpkg.com/glamorous/-/glamorous-1.0.1.tgz#df69bd5de7bd39ba4e57c693bb552b8b09cfd995"
53 |
54 | iconv-lite@~0.4.13:
55 | version "0.4.16"
56 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
57 |
58 | is-stream@^1.0.1:
59 | version "1.1.0"
60 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
61 |
62 | isomorphic-fetch@^2.1.1:
63 | version "2.2.1"
64 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
65 | dependencies:
66 | node-fetch "^1.0.1"
67 | whatwg-fetch ">=0.10.0"
68 |
69 | js-tokens@^3.0.0:
70 | version "3.0.1"
71 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
72 |
73 | loose-envify@^1.0.0:
74 | version "1.3.1"
75 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
76 | dependencies:
77 | js-tokens "^3.0.0"
78 |
79 | node-fetch@^1.0.1:
80 | version "1.6.3"
81 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
82 | dependencies:
83 | encoding "^0.1.11"
84 | is-stream "^1.0.1"
85 |
86 | object-assign@^4.1.0:
87 | version "4.1.1"
88 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
89 |
90 | promise@^7.1.1:
91 | version "7.1.1"
92 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
93 | dependencies:
94 | asap "~2.0.3"
95 |
96 | regenerator-runtime@^0.10.0:
97 | version "0.10.5"
98 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
99 |
100 | setimmediate@^1.0.5:
101 | version "1.0.5"
102 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
103 |
104 | ua-parser-js@^0.7.9:
105 | version "0.7.12"
106 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
107 |
108 | whatwg-fetch@>=0.10.0:
109 | version "2.0.3"
110 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
111 |
--------------------------------------------------------------------------------
/packages/benchmarks/cxs/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | babel-runtime@^6.18.0:
10 | version "6.23.0"
11 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
12 | dependencies:
13 | core-js "^2.4.0"
14 | regenerator-runtime "^0.10.0"
15 |
16 | core-js@^1.0.0:
17 | version "1.2.7"
18 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
19 |
20 | core-js@^2.4.0:
21 | version "2.4.1"
22 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
23 |
24 | cxs@^3.0.4:
25 | version "3.0.4"
26 | resolved "https://registry.yarnpkg.com/cxs/-/cxs-3.0.4.tgz#2e1a1537742931a53dbe3157afbf121da62df797"
27 | dependencies:
28 | glamor "^2.17.14"
29 |
30 | encoding@^0.1.11:
31 | version "0.1.12"
32 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
33 | dependencies:
34 | iconv-lite "~0.4.13"
35 |
36 | fbjs@^0.8.8:
37 | version "0.8.12"
38 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
39 | dependencies:
40 | core-js "^1.0.0"
41 | isomorphic-fetch "^2.1.1"
42 | loose-envify "^1.0.0"
43 | object-assign "^4.1.0"
44 | promise "^7.1.1"
45 | setimmediate "^1.0.5"
46 | ua-parser-js "^0.7.9"
47 |
48 | glamor@^2.17.14:
49 | version "2.20.24"
50 | resolved "https://registry.yarnpkg.com/glamor/-/glamor-2.20.24.tgz#a299af2eec687322634ba38e4a0854d8743d2041"
51 | dependencies:
52 | babel-runtime "^6.18.0"
53 | fbjs "^0.8.8"
54 | object-assign "^4.1.0"
55 |
56 | iconv-lite@~0.4.13:
57 | version "0.4.16"
58 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
59 |
60 | is-stream@^1.0.1:
61 | version "1.1.0"
62 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
63 |
64 | isomorphic-fetch@^2.1.1:
65 | version "2.2.1"
66 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
67 | dependencies:
68 | node-fetch "^1.0.1"
69 | whatwg-fetch ">=0.10.0"
70 |
71 | js-tokens@^3.0.0:
72 | version "3.0.1"
73 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
74 |
75 | loose-envify@^1.0.0:
76 | version "1.3.1"
77 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
78 | dependencies:
79 | js-tokens "^3.0.0"
80 |
81 | node-fetch@^1.0.1:
82 | version "1.6.3"
83 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
84 | dependencies:
85 | encoding "^0.1.11"
86 | is-stream "^1.0.1"
87 |
88 | object-assign@^4.1.0:
89 | version "4.1.1"
90 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
91 |
92 | promise@^7.1.1:
93 | version "7.1.1"
94 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
95 | dependencies:
96 | asap "~2.0.3"
97 |
98 | regenerator-runtime@^0.10.0:
99 | version "0.10.5"
100 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
101 |
102 | setimmediate@^1.0.5:
103 | version "1.0.5"
104 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
105 |
106 | ua-parser-js@^0.7.9:
107 | version "0.7.12"
108 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
109 |
110 | whatwg-fetch@>=0.10.0:
111 | version "2.0.3"
112 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
113 |
--------------------------------------------------------------------------------
/packages/dev-tasks/src/webpack.config.js:
--------------------------------------------------------------------------------
1 | const webpack = require('webpack');
2 | const path = require('path');
3 | const chalk = require('chalk');
4 | const ExtractTextPlugin = require('extract-text-webpack-plugin');
5 |
6 | const { argv } = require('yargs');
7 | const packageName = argv.package;
8 |
9 | const sourcePath = path.join(
10 | __dirname,
11 | '..',
12 | '..',
13 | 'benchmarks',
14 | packageName,
15 | './client'
16 | );
17 | const staticsPath = path.join(
18 | __dirname,
19 | '..',
20 | '..',
21 | 'benchmarks',
22 | packageName,
23 | './static'
24 | );
25 |
26 | const isProd = process.NODE_ENV === 'production';
27 | console.log(
28 | `webpack build with env ${isProd ? chalk.green('production') : chalk.green('development')}`
29 | );
30 |
31 | const plugins = [
32 | new webpack.optimize.CommonsChunkPlugin({
33 | name: 'vendor',
34 | minChunks: Infinity,
35 | filename: 'vendor.bundle.js',
36 | }),
37 | new webpack.EnvironmentPlugin({
38 | NODE_ENV: process.NODE_ENV,
39 | }),
40 | new webpack.NamedModulesPlugin(),
41 | ];
42 |
43 | if (isProd) {
44 | plugins.push(
45 | new webpack.LoaderOptionsPlugin({
46 | minimize: true,
47 | debug: false,
48 | }),
49 | new ExtractTextPlugin('styles.css'),
50 | new webpack.optimize.UglifyJsPlugin({
51 | compress: {
52 | warnings: false,
53 | screw_ie8: true,
54 | conditionals: true,
55 | unused: true,
56 | comparisons: true,
57 | sequences: true,
58 | dead_code: true,
59 | evaluate: true,
60 | if_return: true,
61 | join_vars: true,
62 | },
63 | output: {
64 | comments: false,
65 | },
66 | })
67 | );
68 | } else {
69 | plugins.push(new webpack.HotModuleReplacementPlugin());
70 | }
71 |
72 | module.exports = {
73 | devtool: isProd ? 'source-map' : 'eval',
74 | context: sourcePath,
75 | entry: {
76 | js: './index.js',
77 | vendor: ['react'],
78 | },
79 | output: {
80 | path: staticsPath,
81 | filename: '[name].bundle.js',
82 | },
83 | module: {
84 | rules: [
85 | {
86 | test: /\.html$/,
87 | exclude: /node_modules/,
88 | use: {
89 | loader: 'file-loader',
90 | query: {
91 | name: '[name].[ext]',
92 | },
93 | },
94 | },
95 | {
96 | test: /\.(js|jsx)$/,
97 | include: sourcePath,
98 | exclude: /node_modules/,
99 | use: ['babel-loader'],
100 | },
101 | {
102 | test: /\.css$/,
103 | exclude: /node_modules/,
104 | use: isProd
105 | ? ExtractTextPlugin.extract({
106 | fallback: 'style-loader',
107 | use: { loader: 'css-loader', options: { sourceMap: true } },
108 | })
109 | : [
110 | 'style-loader',
111 | {
112 | loader: 'css-loader',
113 | options: { sourceMap: true },
114 | },
115 | ],
116 | },
117 | ],
118 | },
119 | resolve: {
120 | extensions: [
121 | '.webpack-loader.js',
122 | '.web-loader.js',
123 | '.loader.js',
124 | '.js',
125 | '.jsx',
126 | ],
127 | modules: [
128 | // path.join(__dirname, '..', '..', packageName, 'node_modules')
129 | // 'node_modules',
130 | path.join(
131 | __dirname,
132 | '..',
133 | '..',
134 | 'benchmarks',
135 | packageName,
136 | 'node_modules'
137 | ),
138 | path.join(__dirname, '..', '..', '..', 'node_modules'),
139 | ],
140 | },
141 |
142 | plugins,
143 |
144 | performance: isProd && {
145 | maxAssetSize: 100,
146 | maxEntrypointSize: 300,
147 | hints: 'warning',
148 | },
149 |
150 | stats: {
151 | colors: {
152 | green: '\u001b[32m',
153 | },
154 | },
155 |
156 | devServer: {
157 | contentBase: './client',
158 | historyApiFallback: true,
159 | port: 3000,
160 | compress: isProd,
161 | inline: !isProd,
162 | hot: !isProd,
163 | stats: {
164 | assets: true,
165 | children: false,
166 | chunks: false,
167 | hash: false,
168 | modules: false,
169 | publicPath: false,
170 | timings: true,
171 | version: false,
172 | warnings: true,
173 | colors: {
174 | green: '\u001b[32m',
175 | },
176 | },
177 | },
178 | };
179 |
--------------------------------------------------------------------------------
/packages/benchmarks/fela/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | core-js@^1.0.0:
10 | version "1.2.7"
11 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
12 |
13 | css-in-js-utils@^1.0.3:
14 | version "1.0.3"
15 | resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-1.0.3.tgz#9ac7e02f763cf85d94017666565ed68a5b5f3215"
16 | dependencies:
17 | hyphenate-style-name "^1.0.2"
18 |
19 | encoding@^0.1.11:
20 | version "0.1.12"
21 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
22 | dependencies:
23 | iconv-lite "~0.4.13"
24 |
25 | fbjs@^0.8.9:
26 | version "0.8.12"
27 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
28 | dependencies:
29 | core-js "^1.0.0"
30 | isomorphic-fetch "^2.1.1"
31 | loose-envify "^1.0.0"
32 | object-assign "^4.1.0"
33 | promise "^7.1.1"
34 | setimmediate "^1.0.5"
35 | ua-parser-js "^0.7.9"
36 |
37 | fela@4.3.3:
38 | version "4.3.3"
39 | resolved "https://registry.yarnpkg.com/fela/-/fela-4.3.3.tgz#9cb31a169553d5198f60f447ee30863edd2135f6"
40 | dependencies:
41 | css-in-js-utils "^1.0.3"
42 |
43 | hyphenate-style-name@^1.0.2:
44 | version "1.0.2"
45 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
46 |
47 | iconv-lite@~0.4.13:
48 | version "0.4.16"
49 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
50 |
51 | invariant@^2.2.1:
52 | version "2.2.2"
53 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
54 | dependencies:
55 | loose-envify "^1.0.0"
56 |
57 | is-stream@^1.0.1:
58 | version "1.1.0"
59 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
60 |
61 | isomorphic-fetch@^2.1.1:
62 | version "2.2.1"
63 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
64 | dependencies:
65 | node-fetch "^1.0.1"
66 | whatwg-fetch ">=0.10.0"
67 |
68 | js-tokens@^3.0.0:
69 | version "3.0.1"
70 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
71 |
72 | loose-envify@^1.0.0:
73 | version "1.3.1"
74 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
75 | dependencies:
76 | js-tokens "^3.0.0"
77 |
78 | node-fetch@^1.0.1:
79 | version "1.6.3"
80 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
81 | dependencies:
82 | encoding "^0.1.11"
83 | is-stream "^1.0.1"
84 |
85 | object-assign@^4.1.0:
86 | version "4.1.1"
87 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
88 |
89 | promise@^7.1.1:
90 | version "7.1.1"
91 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
92 | dependencies:
93 | asap "~2.0.3"
94 |
95 | prop-types@^15.5.8:
96 | version "15.5.8"
97 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
98 | dependencies:
99 | fbjs "^0.8.9"
100 |
101 | react-broadcast@0.1.2:
102 | version "0.1.2"
103 | resolved "https://registry.yarnpkg.com/react-broadcast/-/react-broadcast-0.1.2.tgz#950de63578a2af399a396067a617af7402182330"
104 | dependencies:
105 | invariant "^2.2.1"
106 |
107 | react-fela@4.3.3:
108 | version "4.3.3"
109 | resolved "https://registry.yarnpkg.com/react-fela/-/react-fela-4.3.3.tgz#7fdd93c2178b4d276b70601d0d7a8cf3c22212a2"
110 | dependencies:
111 | prop-types "^15.5.8"
112 | react-broadcast "0.1.2"
113 |
114 | setimmediate@^1.0.5:
115 | version "1.0.5"
116 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
117 |
118 | ua-parser-js@^0.7.9:
119 | version "0.7.12"
120 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
121 |
122 | whatwg-fetch@>=0.10.0:
123 | version "2.0.3"
124 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
125 |
--------------------------------------------------------------------------------
/packages/benchmarks/styletron/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@types/react@*":
6 | version "15.0.23"
7 | resolved "https://registry.yarnpkg.com/@types/react/-/react-15.0.23.tgz#f3facbef5290610f54242f00308759d3a3c27346"
8 |
9 | asap@~2.0.3:
10 | version "2.0.5"
11 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
12 |
13 | bowser@^1.0.0:
14 | version "1.6.1"
15 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.1.tgz#9157e9498f456e937173a2918f3b2161e5353eb3"
16 |
17 | classnames@^2.2.5:
18 | version "2.2.5"
19 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d"
20 |
21 | core-js@^1.0.0:
22 | version "1.2.7"
23 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
24 |
25 | encoding@^0.1.11:
26 | version "0.1.12"
27 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
28 | dependencies:
29 | iconv-lite "~0.4.13"
30 |
31 | fbjs@^0.8.9:
32 | version "0.8.12"
33 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
34 | dependencies:
35 | core-js "^1.0.0"
36 | isomorphic-fetch "^2.1.1"
37 | loose-envify "^1.0.0"
38 | object-assign "^4.1.0"
39 | promise "^7.1.1"
40 | setimmediate "^1.0.5"
41 | ua-parser-js "^0.7.9"
42 |
43 | hyphenate-style-name@^1.0.1:
44 | version "1.0.2"
45 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
46 |
47 | iconv-lite@~0.4.13:
48 | version "0.4.16"
49 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
50 |
51 | inline-style-prefixer@^2.0.1:
52 | version "2.0.5"
53 | resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
54 | dependencies:
55 | bowser "^1.0.0"
56 | hyphenate-style-name "^1.0.1"
57 |
58 | is-react-prop@^0.1.1:
59 | version "0.1.2"
60 | resolved "https://registry.yarnpkg.com/is-react-prop/-/is-react-prop-0.1.2.tgz#b22fbcf6190e91e81939132a110bb94642b56903"
61 |
62 | is-stream@^1.0.1:
63 | version "1.1.0"
64 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
65 |
66 | isomorphic-fetch@^2.1.1:
67 | version "2.2.1"
68 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
69 | dependencies:
70 | node-fetch "^1.0.1"
71 | whatwg-fetch ">=0.10.0"
72 |
73 | js-tokens@^3.0.0:
74 | version "3.0.1"
75 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
76 |
77 | lodash@^4.17.4:
78 | version "4.17.4"
79 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
80 |
81 | loose-envify@^1.0.0, loose-envify@^1.1.0:
82 | version "1.3.1"
83 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
84 | dependencies:
85 | js-tokens "^3.0.0"
86 |
87 | node-fetch@^1.0.1:
88 | version "1.6.3"
89 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
90 | dependencies:
91 | encoding "^0.1.11"
92 | is-stream "^1.0.1"
93 |
94 | object-assign@^4.1.0:
95 | version "4.1.1"
96 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
97 |
98 | promise@^7.1.1:
99 | version "7.1.1"
100 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
101 | dependencies:
102 | asap "~2.0.3"
103 |
104 | prop-types@^15.5.7:
105 | version "15.5.8"
106 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
107 | dependencies:
108 | fbjs "^0.8.9"
109 |
110 | react@^15.4.2:
111 | version "15.5.4"
112 | resolved "https://registry.yarnpkg.com/react/-/react-15.5.4.tgz#fa83eb01506ab237cdc1c8c3b1cea8de012bf047"
113 | dependencies:
114 | fbjs "^0.8.9"
115 | loose-envify "^1.1.0"
116 | object-assign "^4.1.0"
117 | prop-types "^15.5.7"
118 |
119 | rockey-react@0.0.11:
120 | version "0.0.11"
121 | resolved "https://registry.yarnpkg.com/rockey-react/-/rockey-react-0.0.11.tgz#a6d69f4dc0ecb8a232c0efe9f4ae7c97eb3516fe"
122 | dependencies:
123 | classnames "^2.2.5"
124 | is-react-prop "^0.1.1"
125 | lodash "^4.17.4"
126 | react "^15.4.2"
127 | rockey "^0.0.7"
128 |
129 | rockey@^0.0.7:
130 | version "0.0.7"
131 | resolved "https://registry.yarnpkg.com/rockey/-/rockey-0.0.7.tgz#112921c3124c36f248b8d2e295f922e8d6440898"
132 | dependencies:
133 | classnames "^2.2.5"
134 | lodash "^4.17.4"
135 |
136 | setimmediate@^1.0.5:
137 | version "1.0.5"
138 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
139 |
140 | styletron-client@2.5.1, styletron-client@^2.5.1:
141 | version "2.5.1"
142 | resolved "https://registry.yarnpkg.com/styletron-client/-/styletron-client-2.5.1.tgz#df0b6fd65965b035d2ff58df61b422aa80e23577"
143 | dependencies:
144 | styletron-core "^2.5.1"
145 |
146 | styletron-core@^2.5.1, styletron-core@^2.5.7:
147 | version "2.5.7"
148 | resolved "https://registry.yarnpkg.com/styletron-core/-/styletron-core-2.5.7.tgz#2c4a1fae537b42235462e438c24ab619bbf8993e"
149 |
150 | styletron-react@2.5.3:
151 | version "2.5.3"
152 | resolved "https://registry.yarnpkg.com/styletron-react/-/styletron-react-2.5.3.tgz#381a170f65a1519fb474e8b0ab098d2b03201e59"
153 | dependencies:
154 | "@types/react" "*"
155 | styletron-client "^2.5.1"
156 | styletron-server "^2.5.1"
157 | styletron-utils "^2.5.1"
158 |
159 | styletron-server@^2.5.1:
160 | version "2.5.7"
161 | resolved "https://registry.yarnpkg.com/styletron-server/-/styletron-server-2.5.7.tgz#f3d0e86e1b8540cde10f25bfa08c40dc0df3851f"
162 | dependencies:
163 | styletron-core "^2.5.7"
164 |
165 | styletron-utils@^2.5.1:
166 | version "2.5.4"
167 | resolved "https://registry.yarnpkg.com/styletron-utils/-/styletron-utils-2.5.4.tgz#f08cca7d58ee0338ce85e408cb32900e65620240"
168 | dependencies:
169 | inline-style-prefixer "^2.0.1"
170 |
171 | ua-parser-js@^0.7.9:
172 | version "0.7.12"
173 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
174 |
175 | whatwg-fetch@>=0.10.0:
176 | version "2.0.3"
177 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
178 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/simple/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | base64-js@^1.0.2:
10 | version "1.2.0"
11 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
12 |
13 | bowser@^1.0.0:
14 | version "1.6.1"
15 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.1.tgz#9157e9498f456e937173a2918f3b2161e5353eb3"
16 |
17 | buffer@^5.0.3:
18 | version "5.0.6"
19 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588"
20 | dependencies:
21 | base64-js "^1.0.2"
22 | ieee754 "^1.1.4"
23 |
24 | core-js@^1.0.0:
25 | version "1.2.7"
26 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
27 |
28 | css-color-keywords@^1.0.0:
29 | version "1.0.0"
30 | resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
31 |
32 | css-to-react-native@^2.0.3:
33 | version "2.0.3"
34 | resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.3.tgz#7d3a11409ac283acef447a13d3bbd09980c68a4f"
35 | dependencies:
36 | css-color-keywords "^1.0.0"
37 | fbjs "^0.8.5"
38 | postcss-value-parser "^3.3.0"
39 |
40 | encoding@^0.1.11:
41 | version "0.1.12"
42 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
43 | dependencies:
44 | iconv-lite "~0.4.13"
45 |
46 | fbjs@^0.8.5, fbjs@^0.8.9:
47 | version "0.8.12"
48 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
49 | dependencies:
50 | core-js "^1.0.0"
51 | isomorphic-fetch "^2.1.1"
52 | loose-envify "^1.0.0"
53 | object-assign "^4.1.0"
54 | promise "^7.1.1"
55 | setimmediate "^1.0.5"
56 | ua-parser-js "^0.7.9"
57 |
58 | has-flag@^1.0.0:
59 | version "1.0.0"
60 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
61 |
62 | hyphenate-style-name@^1.0.1:
63 | version "1.0.2"
64 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
65 |
66 | iconv-lite@~0.4.13:
67 | version "0.4.16"
68 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
69 |
70 | ieee754@^1.1.4:
71 | version "1.1.8"
72 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
73 |
74 | inline-style-prefixer@^2.0.5:
75 | version "2.0.5"
76 | resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
77 | dependencies:
78 | bowser "^1.0.0"
79 | hyphenate-style-name "^1.0.1"
80 |
81 | is-function@^1.0.1:
82 | version "1.0.1"
83 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
84 |
85 | is-plain-object@^2.0.1:
86 | version "2.0.1"
87 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f"
88 | dependencies:
89 | isobject "^1.0.0"
90 |
91 | is-stream@^1.0.1:
92 | version "1.1.0"
93 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
94 |
95 | isobject@^1.0.0:
96 | version "1.0.2"
97 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a"
98 |
99 | isomorphic-fetch@^2.1.1:
100 | version "2.2.1"
101 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
102 | dependencies:
103 | node-fetch "^1.0.1"
104 | whatwg-fetch ">=0.10.0"
105 |
106 | js-tokens@^3.0.0:
107 | version "3.0.1"
108 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
109 |
110 | loose-envify@^1.0.0:
111 | version "1.3.1"
112 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
113 | dependencies:
114 | js-tokens "^3.0.0"
115 |
116 | node-fetch@^1.0.1:
117 | version "1.6.3"
118 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
119 | dependencies:
120 | encoding "^0.1.11"
121 | is-stream "^1.0.1"
122 |
123 | object-assign@^4.1.0:
124 | version "4.1.1"
125 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
126 |
127 | postcss-value-parser@^3.3.0:
128 | version "3.3.0"
129 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
130 |
131 | promise@^7.1.1:
132 | version "7.1.1"
133 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
134 | dependencies:
135 | asap "~2.0.3"
136 |
137 | prop-types@^15.5.4:
138 | version "15.5.8"
139 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
140 | dependencies:
141 | fbjs "^0.8.9"
142 |
143 | setimmediate@^1.0.5:
144 | version "1.0.5"
145 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
146 |
147 | styled-components@2.0.0-15:
148 | version "2.0.0-15"
149 | resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0-15.tgz#77843c9f5267c60a97e28c97719d1ee89ea28be1"
150 | dependencies:
151 | buffer "^5.0.3"
152 | css-to-react-native "^2.0.3"
153 | fbjs "^0.8.9"
154 | inline-style-prefixer "^2.0.5"
155 | is-function "^1.0.1"
156 | is-plain-object "^2.0.1"
157 | prop-types "^15.5.4"
158 | stylis "^2.0.0"
159 | supports-color "^3.2.3"
160 |
161 | stylis@^2.0.0:
162 | version "2.0.4"
163 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-2.0.4.tgz#6c95c88605d23eefea5564360c0053e2e4f04803"
164 |
165 | supports-color@^3.2.3:
166 | version "3.2.3"
167 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
168 | dependencies:
169 | has-flag "^1.0.0"
170 |
171 | ua-parser-js@^0.7.9:
172 | version "0.7.12"
173 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
174 |
175 | whatwg-fetch@>=0.10.0:
176 | version "2.0.3"
177 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
178 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/decouple-cell/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | base64-js@^1.0.2:
10 | version "1.2.0"
11 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
12 |
13 | bowser@^1.0.0:
14 | version "1.6.1"
15 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.1.tgz#9157e9498f456e937173a2918f3b2161e5353eb3"
16 |
17 | buffer@^5.0.3:
18 | version "5.0.6"
19 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588"
20 | dependencies:
21 | base64-js "^1.0.2"
22 | ieee754 "^1.1.4"
23 |
24 | core-js@^1.0.0:
25 | version "1.2.7"
26 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
27 |
28 | css-color-keywords@^1.0.0:
29 | version "1.0.0"
30 | resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
31 |
32 | css-to-react-native@^2.0.3:
33 | version "2.0.3"
34 | resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.3.tgz#7d3a11409ac283acef447a13d3bbd09980c68a4f"
35 | dependencies:
36 | css-color-keywords "^1.0.0"
37 | fbjs "^0.8.5"
38 | postcss-value-parser "^3.3.0"
39 |
40 | encoding@^0.1.11:
41 | version "0.1.12"
42 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
43 | dependencies:
44 | iconv-lite "~0.4.13"
45 |
46 | fbjs@^0.8.5, fbjs@^0.8.9:
47 | version "0.8.12"
48 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
49 | dependencies:
50 | core-js "^1.0.0"
51 | isomorphic-fetch "^2.1.1"
52 | loose-envify "^1.0.0"
53 | object-assign "^4.1.0"
54 | promise "^7.1.1"
55 | setimmediate "^1.0.5"
56 | ua-parser-js "^0.7.9"
57 |
58 | has-flag@^1.0.0:
59 | version "1.0.0"
60 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
61 |
62 | hyphenate-style-name@^1.0.1:
63 | version "1.0.2"
64 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
65 |
66 | iconv-lite@~0.4.13:
67 | version "0.4.16"
68 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
69 |
70 | ieee754@^1.1.4:
71 | version "1.1.8"
72 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
73 |
74 | inline-style-prefixer@^2.0.5:
75 | version "2.0.5"
76 | resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
77 | dependencies:
78 | bowser "^1.0.0"
79 | hyphenate-style-name "^1.0.1"
80 |
81 | is-function@^1.0.1:
82 | version "1.0.1"
83 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
84 |
85 | is-plain-object@^2.0.1:
86 | version "2.0.1"
87 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f"
88 | dependencies:
89 | isobject "^1.0.0"
90 |
91 | is-stream@^1.0.1:
92 | version "1.1.0"
93 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
94 |
95 | isobject@^1.0.0:
96 | version "1.0.2"
97 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a"
98 |
99 | isomorphic-fetch@^2.1.1:
100 | version "2.2.1"
101 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
102 | dependencies:
103 | node-fetch "^1.0.1"
104 | whatwg-fetch ">=0.10.0"
105 |
106 | js-tokens@^3.0.0:
107 | version "3.0.1"
108 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
109 |
110 | loose-envify@^1.0.0:
111 | version "1.3.1"
112 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
113 | dependencies:
114 | js-tokens "^3.0.0"
115 |
116 | node-fetch@^1.0.1:
117 | version "1.6.3"
118 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
119 | dependencies:
120 | encoding "^0.1.11"
121 | is-stream "^1.0.1"
122 |
123 | object-assign@^4.1.0:
124 | version "4.1.1"
125 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
126 |
127 | postcss-value-parser@^3.3.0:
128 | version "3.3.0"
129 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
130 |
131 | promise@^7.1.1:
132 | version "7.1.1"
133 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
134 | dependencies:
135 | asap "~2.0.3"
136 |
137 | prop-types@^15.5.4:
138 | version "15.5.8"
139 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
140 | dependencies:
141 | fbjs "^0.8.9"
142 |
143 | setimmediate@^1.0.5:
144 | version "1.0.5"
145 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
146 |
147 | styled-components@2.0.0-15:
148 | version "2.0.0-15"
149 | resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0-15.tgz#77843c9f5267c60a97e28c97719d1ee89ea28be1"
150 | dependencies:
151 | buffer "^5.0.3"
152 | css-to-react-native "^2.0.3"
153 | fbjs "^0.8.9"
154 | inline-style-prefixer "^2.0.5"
155 | is-function "^1.0.1"
156 | is-plain-object "^2.0.1"
157 | prop-types "^15.5.4"
158 | stylis "^2.0.0"
159 | supports-color "^3.2.3"
160 |
161 | stylis@^2.0.0:
162 | version "2.0.4"
163 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-2.0.4.tgz#6c95c88605d23eefea5564360c0053e2e4f04803"
164 |
165 | supports-color@^3.2.3:
166 | version "3.2.3"
167 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
168 | dependencies:
169 | has-flag "^1.0.0"
170 |
171 | ua-parser-js@^0.7.9:
172 | version "0.7.12"
173 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
174 |
175 | whatwg-fetch@>=0.10.0:
176 | version "2.0.3"
177 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
178 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2/inline-style/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | base64-js@^1.0.2:
10 | version "1.2.0"
11 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
12 |
13 | bowser@^1.0.0:
14 | version "1.6.1"
15 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.1.tgz#9157e9498f456e937173a2918f3b2161e5353eb3"
16 |
17 | buffer@^5.0.3:
18 | version "5.0.6"
19 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588"
20 | dependencies:
21 | base64-js "^1.0.2"
22 | ieee754 "^1.1.4"
23 |
24 | core-js@^1.0.0:
25 | version "1.2.7"
26 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
27 |
28 | css-color-keywords@^1.0.0:
29 | version "1.0.0"
30 | resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
31 |
32 | css-to-react-native@^2.0.3:
33 | version "2.0.3"
34 | resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.3.tgz#7d3a11409ac283acef447a13d3bbd09980c68a4f"
35 | dependencies:
36 | css-color-keywords "^1.0.0"
37 | fbjs "^0.8.5"
38 | postcss-value-parser "^3.3.0"
39 |
40 | encoding@^0.1.11:
41 | version "0.1.12"
42 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
43 | dependencies:
44 | iconv-lite "~0.4.13"
45 |
46 | fbjs@^0.8.5, fbjs@^0.8.9:
47 | version "0.8.12"
48 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
49 | dependencies:
50 | core-js "^1.0.0"
51 | isomorphic-fetch "^2.1.1"
52 | loose-envify "^1.0.0"
53 | object-assign "^4.1.0"
54 | promise "^7.1.1"
55 | setimmediate "^1.0.5"
56 | ua-parser-js "^0.7.9"
57 |
58 | has-flag@^1.0.0:
59 | version "1.0.0"
60 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
61 |
62 | hyphenate-style-name@^1.0.1:
63 | version "1.0.2"
64 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
65 |
66 | iconv-lite@~0.4.13:
67 | version "0.4.16"
68 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
69 |
70 | ieee754@^1.1.4:
71 | version "1.1.8"
72 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
73 |
74 | inline-style-prefixer@^2.0.5:
75 | version "2.0.5"
76 | resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
77 | dependencies:
78 | bowser "^1.0.0"
79 | hyphenate-style-name "^1.0.1"
80 |
81 | is-function@^1.0.1:
82 | version "1.0.1"
83 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
84 |
85 | is-plain-object@^2.0.1:
86 | version "2.0.1"
87 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f"
88 | dependencies:
89 | isobject "^1.0.0"
90 |
91 | is-stream@^1.0.1:
92 | version "1.1.0"
93 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
94 |
95 | isobject@^1.0.0:
96 | version "1.0.2"
97 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a"
98 |
99 | isomorphic-fetch@^2.1.1:
100 | version "2.2.1"
101 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
102 | dependencies:
103 | node-fetch "^1.0.1"
104 | whatwg-fetch ">=0.10.0"
105 |
106 | js-tokens@^3.0.0:
107 | version "3.0.1"
108 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
109 |
110 | loose-envify@^1.0.0:
111 | version "1.3.1"
112 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
113 | dependencies:
114 | js-tokens "^3.0.0"
115 |
116 | node-fetch@^1.0.1:
117 | version "1.6.3"
118 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
119 | dependencies:
120 | encoding "^0.1.11"
121 | is-stream "^1.0.1"
122 |
123 | object-assign@^4.1.0:
124 | version "4.1.1"
125 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
126 |
127 | postcss-value-parser@^3.3.0:
128 | version "3.3.0"
129 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
130 |
131 | promise@^7.1.1:
132 | version "7.1.1"
133 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
134 | dependencies:
135 | asap "~2.0.3"
136 |
137 | prop-types@^15.5.4:
138 | version "15.5.8"
139 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
140 | dependencies:
141 | fbjs "^0.8.9"
142 |
143 | setimmediate@^1.0.5:
144 | version "1.0.5"
145 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
146 |
147 | styled-components@2.0.0-15:
148 | version "2.0.0-15"
149 | resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0-15.tgz#77843c9f5267c60a97e28c97719d1ee89ea28be1"
150 | dependencies:
151 | buffer "^5.0.3"
152 | css-to-react-native "^2.0.3"
153 | fbjs "^0.8.9"
154 | inline-style-prefixer "^2.0.5"
155 | is-function "^1.0.1"
156 | is-plain-object "^2.0.1"
157 | prop-types "^15.5.4"
158 | stylis "^2.0.0"
159 | supports-color "^3.2.3"
160 |
161 | stylis@^2.0.0:
162 | version "2.0.4"
163 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-2.0.4.tgz#6c95c88605d23eefea5564360c0053e2e4f04803"
164 |
165 | supports-color@^3.2.3:
166 | version "3.2.3"
167 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
168 | dependencies:
169 | has-flag "^1.0.0"
170 |
171 | ua-parser-js@^0.7.9:
172 | version "0.7.12"
173 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
174 |
175 | whatwg-fetch@>=0.10.0:
176 | version "2.0.3"
177 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
178 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/simple/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | babel-plugin-styled-components@1.1.4:
10 | version "1.1.4"
11 | resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.1.4.tgz#b0e6d5bb01059bc7ab9118d3d686f6472ee8e91f"
12 | dependencies:
13 | stylis "2.0.0"
14 |
15 | base64-js@^1.0.2:
16 | version "1.2.0"
17 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
18 |
19 | bowser@^1.0.0:
20 | version "1.6.1"
21 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.1.tgz#9157e9498f456e937173a2918f3b2161e5353eb3"
22 |
23 | buffer@^5.0.3:
24 | version "5.0.6"
25 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588"
26 | dependencies:
27 | base64-js "^1.0.2"
28 | ieee754 "^1.1.4"
29 |
30 | core-js@^1.0.0:
31 | version "1.2.7"
32 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
33 |
34 | css-color-keywords@^1.0.0:
35 | version "1.0.0"
36 | resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
37 |
38 | css-to-react-native@^2.0.3:
39 | version "2.0.3"
40 | resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.3.tgz#7d3a11409ac283acef447a13d3bbd09980c68a4f"
41 | dependencies:
42 | css-color-keywords "^1.0.0"
43 | fbjs "^0.8.5"
44 | postcss-value-parser "^3.3.0"
45 |
46 | encoding@^0.1.11:
47 | version "0.1.12"
48 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
49 | dependencies:
50 | iconv-lite "~0.4.13"
51 |
52 | fbjs@^0.8.5, fbjs@^0.8.9:
53 | version "0.8.12"
54 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
55 | dependencies:
56 | core-js "^1.0.0"
57 | isomorphic-fetch "^2.1.1"
58 | loose-envify "^1.0.0"
59 | object-assign "^4.1.0"
60 | promise "^7.1.1"
61 | setimmediate "^1.0.5"
62 | ua-parser-js "^0.7.9"
63 |
64 | has-flag@^1.0.0:
65 | version "1.0.0"
66 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
67 |
68 | hyphenate-style-name@^1.0.1:
69 | version "1.0.2"
70 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
71 |
72 | iconv-lite@~0.4.13:
73 | version "0.4.16"
74 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
75 |
76 | ieee754@^1.1.4:
77 | version "1.1.8"
78 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
79 |
80 | inline-style-prefixer@^2.0.5:
81 | version "2.0.5"
82 | resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
83 | dependencies:
84 | bowser "^1.0.0"
85 | hyphenate-style-name "^1.0.1"
86 |
87 | is-function@^1.0.1:
88 | version "1.0.1"
89 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
90 |
91 | is-plain-object@^2.0.1:
92 | version "2.0.1"
93 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f"
94 | dependencies:
95 | isobject "^1.0.0"
96 |
97 | is-stream@^1.0.1:
98 | version "1.1.0"
99 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
100 |
101 | isobject@^1.0.0:
102 | version "1.0.2"
103 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a"
104 |
105 | isomorphic-fetch@^2.1.1:
106 | version "2.2.1"
107 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
108 | dependencies:
109 | node-fetch "^1.0.1"
110 | whatwg-fetch ">=0.10.0"
111 |
112 | js-tokens@^3.0.0:
113 | version "3.0.1"
114 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
115 |
116 | loose-envify@^1.0.0:
117 | version "1.3.1"
118 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
119 | dependencies:
120 | js-tokens "^3.0.0"
121 |
122 | node-fetch@^1.0.1:
123 | version "1.6.3"
124 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
125 | dependencies:
126 | encoding "^0.1.11"
127 | is-stream "^1.0.1"
128 |
129 | object-assign@^4.1.0:
130 | version "4.1.1"
131 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
132 |
133 | postcss-value-parser@^3.3.0:
134 | version "3.3.0"
135 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
136 |
137 | promise@^7.1.1:
138 | version "7.1.1"
139 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
140 | dependencies:
141 | asap "~2.0.3"
142 |
143 | prop-types@^15.5.4:
144 | version "15.5.8"
145 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
146 | dependencies:
147 | fbjs "^0.8.9"
148 |
149 | setimmediate@^1.0.5:
150 | version "1.0.5"
151 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
152 |
153 | styled-components@2.0.0-15:
154 | version "2.0.0-15"
155 | resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0-15.tgz#77843c9f5267c60a97e28c97719d1ee89ea28be1"
156 | dependencies:
157 | buffer "^5.0.3"
158 | css-to-react-native "^2.0.3"
159 | fbjs "^0.8.9"
160 | inline-style-prefixer "^2.0.5"
161 | is-function "^1.0.1"
162 | is-plain-object "^2.0.1"
163 | prop-types "^15.5.4"
164 | stylis "^2.0.0"
165 | supports-color "^3.2.3"
166 |
167 | stylis@2.0.0, stylis@^2.0.0:
168 | version "2.0.0"
169 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-2.0.0.tgz#6785a6546bd73478799a67d49d67086953b50ad5"
170 |
171 | supports-color@^3.2.3:
172 | version "3.2.3"
173 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
174 | dependencies:
175 | has-flag "^1.0.0"
176 |
177 | ua-parser-js@^0.7.9:
178 | version "0.7.12"
179 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
180 |
181 | whatwg-fetch@>=0.10.0:
182 | version "2.0.3"
183 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
184 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/decouple-cell/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | babel-plugin-styled-components@1.1.4:
10 | version "1.1.4"
11 | resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.1.4.tgz#b0e6d5bb01059bc7ab9118d3d686f6472ee8e91f"
12 | dependencies:
13 | stylis "2.0.0"
14 |
15 | base64-js@^1.0.2:
16 | version "1.2.0"
17 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
18 |
19 | bowser@^1.0.0:
20 | version "1.6.1"
21 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.1.tgz#9157e9498f456e937173a2918f3b2161e5353eb3"
22 |
23 | buffer@^5.0.3:
24 | version "5.0.6"
25 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588"
26 | dependencies:
27 | base64-js "^1.0.2"
28 | ieee754 "^1.1.4"
29 |
30 | core-js@^1.0.0:
31 | version "1.2.7"
32 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
33 |
34 | css-color-keywords@^1.0.0:
35 | version "1.0.0"
36 | resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
37 |
38 | css-to-react-native@^2.0.3:
39 | version "2.0.3"
40 | resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.3.tgz#7d3a11409ac283acef447a13d3bbd09980c68a4f"
41 | dependencies:
42 | css-color-keywords "^1.0.0"
43 | fbjs "^0.8.5"
44 | postcss-value-parser "^3.3.0"
45 |
46 | encoding@^0.1.11:
47 | version "0.1.12"
48 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
49 | dependencies:
50 | iconv-lite "~0.4.13"
51 |
52 | fbjs@^0.8.5, fbjs@^0.8.9:
53 | version "0.8.12"
54 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
55 | dependencies:
56 | core-js "^1.0.0"
57 | isomorphic-fetch "^2.1.1"
58 | loose-envify "^1.0.0"
59 | object-assign "^4.1.0"
60 | promise "^7.1.1"
61 | setimmediate "^1.0.5"
62 | ua-parser-js "^0.7.9"
63 |
64 | has-flag@^1.0.0:
65 | version "1.0.0"
66 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
67 |
68 | hyphenate-style-name@^1.0.1:
69 | version "1.0.2"
70 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
71 |
72 | iconv-lite@~0.4.13:
73 | version "0.4.16"
74 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
75 |
76 | ieee754@^1.1.4:
77 | version "1.1.8"
78 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
79 |
80 | inline-style-prefixer@^2.0.5:
81 | version "2.0.5"
82 | resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
83 | dependencies:
84 | bowser "^1.0.0"
85 | hyphenate-style-name "^1.0.1"
86 |
87 | is-function@^1.0.1:
88 | version "1.0.1"
89 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
90 |
91 | is-plain-object@^2.0.1:
92 | version "2.0.1"
93 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f"
94 | dependencies:
95 | isobject "^1.0.0"
96 |
97 | is-stream@^1.0.1:
98 | version "1.1.0"
99 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
100 |
101 | isobject@^1.0.0:
102 | version "1.0.2"
103 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a"
104 |
105 | isomorphic-fetch@^2.1.1:
106 | version "2.2.1"
107 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
108 | dependencies:
109 | node-fetch "^1.0.1"
110 | whatwg-fetch ">=0.10.0"
111 |
112 | js-tokens@^3.0.0:
113 | version "3.0.1"
114 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
115 |
116 | loose-envify@^1.0.0:
117 | version "1.3.1"
118 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
119 | dependencies:
120 | js-tokens "^3.0.0"
121 |
122 | node-fetch@^1.0.1:
123 | version "1.6.3"
124 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
125 | dependencies:
126 | encoding "^0.1.11"
127 | is-stream "^1.0.1"
128 |
129 | object-assign@^4.1.0:
130 | version "4.1.1"
131 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
132 |
133 | postcss-value-parser@^3.3.0:
134 | version "3.3.0"
135 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
136 |
137 | promise@^7.1.1:
138 | version "7.1.1"
139 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
140 | dependencies:
141 | asap "~2.0.3"
142 |
143 | prop-types@^15.5.4:
144 | version "15.5.8"
145 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
146 | dependencies:
147 | fbjs "^0.8.9"
148 |
149 | setimmediate@^1.0.5:
150 | version "1.0.5"
151 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
152 |
153 | styled-components@2.0.0-15:
154 | version "2.0.0-15"
155 | resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0-15.tgz#77843c9f5267c60a97e28c97719d1ee89ea28be1"
156 | dependencies:
157 | buffer "^5.0.3"
158 | css-to-react-native "^2.0.3"
159 | fbjs "^0.8.9"
160 | inline-style-prefixer "^2.0.5"
161 | is-function "^1.0.1"
162 | is-plain-object "^2.0.1"
163 | prop-types "^15.5.4"
164 | stylis "^2.0.0"
165 | supports-color "^3.2.3"
166 |
167 | stylis@2.0.0, stylis@^2.0.0:
168 | version "2.0.0"
169 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-2.0.0.tgz#6785a6546bd73478799a67d49d67086953b50ad5"
170 |
171 | supports-color@^3.2.3:
172 | version "3.2.3"
173 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
174 | dependencies:
175 | has-flag "^1.0.0"
176 |
177 | ua-parser-js@^0.7.9:
178 | version "0.7.12"
179 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
180 |
181 | whatwg-fetch@>=0.10.0:
182 | version "2.0.3"
183 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
184 |
--------------------------------------------------------------------------------
/packages/benchmarks/styled-components/v2-plugin/inline-style/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | asap@~2.0.3:
6 | version "2.0.5"
7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f"
8 |
9 | babel-plugin-styled-components@1.1.4:
10 | version "1.1.4"
11 | resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.1.4.tgz#b0e6d5bb01059bc7ab9118d3d686f6472ee8e91f"
12 | dependencies:
13 | stylis "2.0.0"
14 |
15 | base64-js@^1.0.2:
16 | version "1.2.0"
17 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
18 |
19 | bowser@^1.0.0:
20 | version "1.6.1"
21 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.6.1.tgz#9157e9498f456e937173a2918f3b2161e5353eb3"
22 |
23 | buffer@^5.0.3:
24 | version "5.0.6"
25 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588"
26 | dependencies:
27 | base64-js "^1.0.2"
28 | ieee754 "^1.1.4"
29 |
30 | core-js@^1.0.0:
31 | version "1.2.7"
32 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
33 |
34 | css-color-keywords@^1.0.0:
35 | version "1.0.0"
36 | resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
37 |
38 | css-to-react-native@^2.0.3:
39 | version "2.0.3"
40 | resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.3.tgz#7d3a11409ac283acef447a13d3bbd09980c68a4f"
41 | dependencies:
42 | css-color-keywords "^1.0.0"
43 | fbjs "^0.8.5"
44 | postcss-value-parser "^3.3.0"
45 |
46 | encoding@^0.1.11:
47 | version "0.1.12"
48 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
49 | dependencies:
50 | iconv-lite "~0.4.13"
51 |
52 | fbjs@^0.8.5, fbjs@^0.8.9:
53 | version "0.8.12"
54 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
55 | dependencies:
56 | core-js "^1.0.0"
57 | isomorphic-fetch "^2.1.1"
58 | loose-envify "^1.0.0"
59 | object-assign "^4.1.0"
60 | promise "^7.1.1"
61 | setimmediate "^1.0.5"
62 | ua-parser-js "^0.7.9"
63 |
64 | has-flag@^1.0.0:
65 | version "1.0.0"
66 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
67 |
68 | hyphenate-style-name@^1.0.1:
69 | version "1.0.2"
70 | resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
71 |
72 | iconv-lite@~0.4.13:
73 | version "0.4.16"
74 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.16.tgz#65de3beeb39e2960d67f049f1634ffcbcde9014b"
75 |
76 | ieee754@^1.1.4:
77 | version "1.1.8"
78 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
79 |
80 | inline-style-prefixer@^2.0.5:
81 | version "2.0.5"
82 | resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
83 | dependencies:
84 | bowser "^1.0.0"
85 | hyphenate-style-name "^1.0.1"
86 |
87 | is-function@^1.0.1:
88 | version "1.0.1"
89 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
90 |
91 | is-plain-object@^2.0.1:
92 | version "2.0.1"
93 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f"
94 | dependencies:
95 | isobject "^1.0.0"
96 |
97 | is-stream@^1.0.1:
98 | version "1.1.0"
99 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
100 |
101 | isobject@^1.0.0:
102 | version "1.0.2"
103 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a"
104 |
105 | isomorphic-fetch@^2.1.1:
106 | version "2.2.1"
107 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
108 | dependencies:
109 | node-fetch "^1.0.1"
110 | whatwg-fetch ">=0.10.0"
111 |
112 | js-tokens@^3.0.0:
113 | version "3.0.1"
114 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
115 |
116 | loose-envify@^1.0.0:
117 | version "1.3.1"
118 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
119 | dependencies:
120 | js-tokens "^3.0.0"
121 |
122 | node-fetch@^1.0.1:
123 | version "1.6.3"
124 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
125 | dependencies:
126 | encoding "^0.1.11"
127 | is-stream "^1.0.1"
128 |
129 | object-assign@^4.1.0:
130 | version "4.1.1"
131 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
132 |
133 | postcss-value-parser@^3.3.0:
134 | version "3.3.0"
135 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
136 |
137 | promise@^7.1.1:
138 | version "7.1.1"
139 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
140 | dependencies:
141 | asap "~2.0.3"
142 |
143 | prop-types@^15.5.4:
144 | version "15.5.8"
145 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394"
146 | dependencies:
147 | fbjs "^0.8.9"
148 |
149 | setimmediate@^1.0.5:
150 | version "1.0.5"
151 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
152 |
153 | styled-components@2.0.0-15:
154 | version "2.0.0-15"
155 | resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.0.0-15.tgz#77843c9f5267c60a97e28c97719d1ee89ea28be1"
156 | dependencies:
157 | buffer "^5.0.3"
158 | css-to-react-native "^2.0.3"
159 | fbjs "^0.8.9"
160 | inline-style-prefixer "^2.0.5"
161 | is-function "^1.0.1"
162 | is-plain-object "^2.0.1"
163 | prop-types "^15.5.4"
164 | stylis "^2.0.0"
165 | supports-color "^3.2.3"
166 |
167 | stylis@2.0.0, stylis@^2.0.0:
168 | version "2.0.0"
169 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-2.0.0.tgz#6785a6546bd73478799a67d49d67086953b50ad5"
170 |
171 | supports-color@^3.2.3:
172 | version "3.2.3"
173 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
174 | dependencies:
175 | has-flag "^1.0.0"
176 |
177 | ua-parser-js@^0.7.9:
178 | version "0.7.12"
179 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
180 |
181 | whatwg-fetch@>=0.10.0:
182 | version "2.0.3"
183 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
184 |
--------------------------------------------------------------------------------
/packages/tests/index.js:
--------------------------------------------------------------------------------
1 | const connect = require('connect');
2 | const serveStatic = require('serve-static');
3 |
4 | const shell = require('shelljs');
5 | const chalk = require('chalk');
6 |
7 | const http = require('http');
8 | const path = require('path');
9 | const fs = require('fs');
10 | const { argv } = require('yargs');
11 |
12 | const Lighthouse = require('lighthouse');
13 | const {
14 | ChromeLauncher,
15 | } = require('lighthouse/lighthouse-cli/chrome-launcher.js');
16 |
17 | const packageJson = 'package.json';
18 |
19 | const filterPackages = argv._.length ? argv._ : null;
20 |
21 | run();
22 |
23 | function launchChromeAndRunLighthouse(url, flags, config) {
24 | const launcher = new ChromeLauncher({
25 | port: 9222,
26 | autoSelectChrome: true,
27 | });
28 | return launcher
29 | .isDebuggerReady()
30 | .catch(() => {
31 | if (flags.skipAutolaunch) {
32 | return;
33 | }
34 | return launcher.run();
35 | })
36 | .then(() => Lighthouse(url, flags, config))
37 | .then(results => launcher.kill().then(() => results))
38 | .catch(err => {
39 | return launcher.kill().then(() => {
40 | throw err;
41 | }, console.error);
42 | });
43 | }
44 |
45 | function getPackageList() {
46 | const lernaConfig = require('../../lerna.json');
47 |
48 | return lernaConfig.packages
49 | .filter(pckg => pckg.indexOf('packages/benchmarks/') === 0)
50 | .map(pckg => {
51 | // NOTE: use NODE_PATH env variable to prevent .. .. ..
52 | const { benchmarks } = require(path.join(
53 | '..',
54 | '..',
55 | pckg,
56 | 'package.json'
57 | ));
58 |
59 | return Object.assign({}, benchmarks, {
60 | path: path.resolve(__dirname, '..', '..', pckg),
61 | });
62 | })
63 | .filter(info => {
64 | return !filterPackages || filterPackages.indexOf(info.name) !== -1;
65 | });
66 | }
67 |
68 | function getAverageValue(arr) {
69 | let total = 0;
70 | for (let i = 0; i < arr.length; i++) {
71 | total += arr[i];
72 | }
73 | return total / arr.length;
74 | }
75 |
76 | async function runTestCase(url) {
77 | const config = require('lighthouse/lighthouse-core/config/perf.json');
78 | const flags = { maxWaitForLoad: 60000, interactive: true };
79 |
80 | const mountDuration = [];
81 | const rerenderDuration = [];
82 |
83 | let butch = true;
84 |
85 | for (let i = 0; i < 5; i++) {
86 | try {
87 | const currentRes = await launchChromeAndRunLighthouse(
88 | `${url}&butch=${butch}`,
89 | flags,
90 | config
91 | );
92 | const values = currentRes.audits['user-timings'].extendedInfo.value;
93 | const mountTime = values[2].duration;
94 | mountTime && mountDuration.push(mountTime);
95 | let curRerenderDuration = [];
96 | for (let i = 3; i < values.length; i++) {
97 | if (!values[i].duration) {
98 | continue;
99 | }
100 | curRerenderDuration.push(values[i].duration);
101 | }
102 | if (curRerenderDuration.length) {
103 | rerenderDuration.push(getAverageValue(curRerenderDuration));
104 | } else if (butch) {
105 | i--;
106 | butch = false;
107 | }
108 | } catch (err) {
109 | console.log(err);
110 | i--;
111 | }
112 | }
113 | return {
114 | mountDuration: getAverageValue(mountDuration),
115 | rerenderDuration: getAverageValue(rerenderDuration),
116 | };
117 | }
118 |
119 | function getIcon(value) {
120 | return value ? '+' : '-';
121 | }
122 |
123 | function format(value) {
124 | return value.toLocaleString(undefined, { maximumFractionDigits: 2 });
125 | }
126 |
127 | function arrayToTable(array, cols) {
128 | const nextLine = '\r\n';
129 | const nextCol = ' | ';
130 |
131 | let table = `## Results:${nextLine}*sorted by rerender time*${nextLine}${nextLine}`;
132 |
133 | table += cols.join(nextCol);
134 | table += nextLine;
135 | table += cols.map(() => ':---').join(nextCol);
136 | table += nextLine;
137 |
138 | array.forEach(item => {
139 | table +=
140 | [
141 | item.link ? `[${item.name}](${item.link})` : item.name,
142 | getIcon(item.useCSS),
143 | getIcon(item.useInlineStyles),
144 | format(item.mountDuration),
145 | format(item.rerenderDuration),
146 | ].join(nextCol) + nextLine;
147 | });
148 |
149 | return table;
150 | }
151 |
152 | function writeResults(res) {
153 | const sortRes = res.sort((a, b) => a.rerenderDuration - b.rerenderDuration);
154 |
155 | const table = arrayToTable(sortRes, [
156 | 'Solution',
157 | 'Use CSS',
158 | 'Use Inline-Styles',
159 | 'Mount Time (ms)',
160 | 'Rerender time (ms)',
161 | ]);
162 |
163 | if (!filterPackages) {
164 | sortRes.map(res => {
165 | console.log('');
166 | console.log(`${chalk.green(res.name)}`);
167 | console.log(` - Mount time: ${chalk.cyan(res.mountDuration)} ms`);
168 | console.log(` - Renderer time: ${chalk.cyan(res.rerenderDuration)} ms`);
169 | console.log('');
170 | });
171 |
172 | fs.writeFileSync(__dirname + '/../../RESULT.md', table);
173 |
174 | console.log('');
175 | console.log('Saved into RESULT.md');
176 | console.log('');
177 | }
178 | }
179 |
180 | async function run() {
181 | let res = [];
182 |
183 | const port = 3000;
184 | const packages = getPackageList();
185 |
186 | shell.config.verbose = true;
187 |
188 | if (!packages.length) {
189 | console.log('There are no packages');
190 | return;
191 | }
192 |
193 | console.log('');
194 | if (filterPackages) {
195 | console.log(
196 | `${chalk.green('Run benchmark')} for ${filterPackages
197 | .map(n => chalk.cyan(n))
198 | .join(', ')} packages`
199 | );
200 | console.log(` note that metrics will not be saved to RESULTS.md`);
201 | } else {
202 | console.log(
203 | `${chalk.green('Run benchmark')}. Found ${packages.length} packages`
204 | );
205 | }
206 | console.log('');
207 |
208 | for (let i = 0; i < packages.length; i++) {
209 | const app = connect();
210 | const packageInfo = packages[i];
211 | const currentPort = port + i;
212 |
213 | console.log('');
214 | console.log(
215 | ` (${i + 1}/${packages.length}) ${chalk.green(packageInfo.name)} at port ${currentPort}`
216 | );
217 | console.log('');
218 |
219 | if (!process.env.SKIP_BUILD) {
220 | console.log(` ${chalk.cyan('prepre package build')}`);
221 | console.log('');
222 | shell.exec(`npm --prefix ${packageInfo.path} run build`);
223 |
224 | console.log('');
225 | console.log(` ${chalk.cyan('build completed')}`);
226 | console.log('');
227 | }
228 |
229 | app.use(
230 | serveStatic(path.join(packageInfo.path, 'static'), {
231 | index: ['index.html'],
232 | })
233 | );
234 |
235 | const server = http.createServer(app).listen(currentPort);
236 | const url = `http://localhost:${currentPort}?test=true`;
237 |
238 | console.log(` run tests...`);
239 | const packageRes = await runTestCase(url);
240 |
241 | console.log('');
242 | console.log(` ${chalk.green(packageInfo.name)}:`);
243 | console.log(` - Rerender Duration: ${packageRes.rerenderDuration} ms`);
244 | console.log(` - Mount Duration: ${packageRes.mountDuration} ms`);
245 |
246 | res.push({
247 | name: packageInfo.name,
248 | useInlineStyles: packageInfo.useInlineStyles || false,
249 | useCSS: packageInfo.useCSS || false,
250 | link: packageInfo.link,
251 | rerenderDuration: packageRes.rerenderDuration,
252 | mountDuration: packageRes.mountDuration,
253 | });
254 |
255 | server.close();
256 | }
257 |
258 | writeResults(res);
259 | }
260 |
--------------------------------------------------------------------------------