diff --git a/examples/cra-ts-kitchen-sink/.env b/examples/cra-ts-kitchen-sink/.env
new file mode 100644
index 000000000000..e70a111949cd
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/.env
@@ -0,0 +1,2 @@
+SKIP_PREFLIGHT_CHECK=true
+NODE_PATH=src
\ No newline at end of file
diff --git a/examples/cra-ts-kitchen-sink/.storybook/addons.js b/examples/cra-ts-kitchen-sink/.storybook/addons.js
new file mode 100644
index 000000000000..98e376578afb
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/.storybook/addons.js
@@ -0,0 +1,2 @@
+import '@storybook/addon-actions/register';
+import '@storybook/addon-options/register';
diff --git a/examples/cra-ts-kitchen-sink/.storybook/config.js b/examples/cra-ts-kitchen-sink/.storybook/config.js
new file mode 100644
index 000000000000..d6229f0b1bfb
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/.storybook/config.js
@@ -0,0 +1,19 @@
+import { configure, addDecorator } from '@storybook/react';
+import { withOptions } from '@storybook/addon-options';
+import { withInfo } from '@storybook/addon-info';
+
+addDecorator(
+ withOptions({
+ name: 'CRA Kitchen Sink',
+ url: 'https://github.com/storybooks/storybook/tree/master/examples/cra-ts-kitchen-sink',
+ })
+);
+addDecorator(withInfo());
+
+function loadStories() {
+ // automatically import all story js files that end with *.stories.tsx
+ const req = require.context('../src', true, /\.stories\.tsx$/);
+ req.keys().forEach(filename => req(filename));
+}
+
+configure(loadStories, module);
diff --git a/examples/cra-ts-kitchen-sink/.storybook/webpack.config.js b/examples/cra-ts-kitchen-sink/.storybook/webpack.config.js
new file mode 100644
index 000000000000..07040d8be6c0
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/.storybook/webpack.config.js
@@ -0,0 +1,17 @@
+const path = require('path');
+const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
+
+module.exports = (_baseCnig, _env, config) => ({
+ ...config,
+ module: {
+ rules: [
+ ...config.module.rules,
+ {
+ test: /\.tsx?$/,
+ include: path.resolve(__dirname, '../src'),
+ use: [require.resolve('react-docgen-typescript-loader')],
+ },
+ ],
+ },
+ plugins: [...config.plugins, new ForkTsCheckerWebpackPlugin()],
+});
diff --git a/examples/cra-ts-kitchen-sink/package.json b/examples/cra-ts-kitchen-sink/package.json
new file mode 100644
index 000000000000..bafbc43ad2d0
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "cra-ts-kitchen-sink",
+ "version": "4.2.0-alpha.4",
+ "private": true,
+ "scripts": {
+ "build:storybook": "build-storybook -s public",
+ "start": "start-storybook -p 9010 -s public",
+ "test": "react-scripts test --env=jsdom",
+ "lint": "tslint src/**/*.ts{,x}"
+ },
+ "dependencies": {
+ "react": "^16.6.0",
+ "react-dom": "^16.6.0"
+ },
+ "devDependencies": {
+ "@storybook/addon-actions": "4.2.0-alpha.4",
+ "@storybook/addon-info": "4.2.0-alpha.4",
+ "@storybook/addon-options": "4.2.0-alpha.4",
+ "@storybook/addons": "4.2.0-alpha.4",
+ "@storybook/react": "4.2.0-alpha.4",
+ "@types/enzyme": "^3.1.15",
+ "@types/react": "^16.7.17",
+ "@types/react-dom": "^16.0.11",
+ "@types/storybook__addon-actions": "^3.4.1",
+ "@types/storybook__addon-info": "^3.4.2",
+ "@types/storybook__react": "^4.0.0",
+ "enzyme": "^3.8.0",
+ "enzyme-adapter-react-16": "^1.7.1",
+ "enzyme-to-json": "^3.3.5",
+ "react-docgen-typescript-loader": "^3.0.0",
+ "react-scripts": "^2.1.0",
+ "tslint": "^5.11.0",
+ "tslint-config-airbnb": "^5.11.1",
+ "fork-ts-checker-webpack-plugin": "^0.5.2",
+ "typescript": "^3.2.2"
+ },
+ "jest": {
+ "snapshotSerializers": [
+ "enzyme-to-json/serializer"
+ ]
+ }
+}
diff --git a/examples/cra-ts-kitchen-sink/public/favicon.ico b/examples/cra-ts-kitchen-sink/public/favicon.ico
new file mode 100644
index 000000000000..5c125de5d897
Binary files /dev/null and b/examples/cra-ts-kitchen-sink/public/favicon.ico differ
diff --git a/examples/cra-ts-kitchen-sink/public/index.html b/examples/cra-ts-kitchen-sink/public/index.html
new file mode 100644
index 000000000000..ec668f00d89c
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/public/index.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+ React App
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/cra-ts-kitchen-sink/src/components/Button.stories.tsx b/examples/cra-ts-kitchen-sink/src/components/Button.stories.tsx
new file mode 100644
index 000000000000..e27e55d3d165
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/src/components/Button.stories.tsx
@@ -0,0 +1,12 @@
+import * as React from 'react';
+import { storiesOf } from '@storybook/react';
+import { action } from '@storybook/addon-actions';
+import Button from './Button';
+
+storiesOf('Button', module).add(
+ 'simple button',
+ () => ,
+ {
+ info: { inline: true },
+ },
+);
diff --git a/examples/cra-ts-kitchen-sink/src/components/Button.test.tsx b/examples/cra-ts-kitchen-sink/src/components/Button.test.tsx
new file mode 100644
index 000000000000..d52c0e292eb0
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/src/components/Button.test.tsx
@@ -0,0 +1,23 @@
+import * as React from 'react';
+import Button from './Button';
+import { shallow } from 'enzyme';
+
+describe('Button', () => {
+ it('renders', () => {
+ const wrapper = shallow();
+ expect(wrapper).toMatchInlineSnapshot(`
+
+`);
+ });
+
+ it('calls onClick on button click', () => {
+ const handleClick = jest.fn();
+ const wrapper = shallow();
+ wrapper.find('button').simulate('click');
+ expect(handleClick).toBeCalled();
+ });
+});
diff --git a/examples/cra-ts-kitchen-sink/src/components/Button.tsx b/examples/cra-ts-kitchen-sink/src/components/Button.tsx
new file mode 100644
index 000000000000..c4aaaf4c4369
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/src/components/Button.tsx
@@ -0,0 +1,17 @@
+import * as React from 'react';
+
+interface Props {
+ /**
+ * Click event handler
+ * @default null
+ */
+ onClick?: () => void;
+}
+
+const Button: React.SFC = ({ children, onClick }) => (
+
+);
+
+export default Button;
diff --git a/examples/cra-ts-kitchen-sink/src/react-app-env.d.ts b/examples/cra-ts-kitchen-sink/src/react-app-env.d.ts
new file mode 100644
index 000000000000..6431bc5fc6b2
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/src/react-app-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/cra-ts-kitchen-sink/src/setupTests.js b/examples/cra-ts-kitchen-sink/src/setupTests.js
new file mode 100644
index 000000000000..91148bf5e5ad
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/src/setupTests.js
@@ -0,0 +1,5 @@
+/* eslint-disable import/no-extraneous-dependencies */
+import Enzyme from 'enzyme';
+import Adapter from 'enzyme-adapter-react-16';
+
+Enzyme.configure({ adapter: new Adapter() });
diff --git a/examples/cra-ts-kitchen-sink/tsconfig.json b/examples/cra-ts-kitchen-sink/tsconfig.json
new file mode 100644
index 000000000000..0307a6bb1f5c
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/tsconfig.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "module": "esnext",
+ "lib" : ["esnext", "dom"],
+ "jsx": "preserve",
+ "moduleResolution": "node",
+ "esModuleInterop": true,
+ "allowJs": true,
+ "skipLibCheck": false,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true
+ },
+ "include": [
+ "src"
+ ]
+}
\ No newline at end of file
diff --git a/examples/cra-ts-kitchen-sink/tslint.json b/examples/cra-ts-kitchen-sink/tslint.json
new file mode 100644
index 000000000000..427b7289ba55
--- /dev/null
+++ b/examples/cra-ts-kitchen-sink/tslint.json
@@ -0,0 +1,6 @@
+{
+ "extends": "tslint-config-airbnb",
+ "rules": {
+ "variable-name": [true, "ban-keywords", "check-format", "allow-pascal-case"]
+ }
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index d08ed42074d2..ef4a80b5c0df 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1158,6 +1158,23 @@
version "0.1.3"
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.1.3.tgz#b700d97385fa91affed60c71dfd51c67e9dad762"
+"@fimbul/bifrost@^0.15.0":
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/@fimbul/bifrost/-/bifrost-0.15.0.tgz#f3a48dee3046681e926c1f970f0b1a67e29e088e"
+ dependencies:
+ "@fimbul/ymir" "^0.15.0"
+ get-caller-file "^2.0.0"
+ tslib "^1.8.1"
+ tsutils "^3.1.0"
+
+"@fimbul/ymir@^0.15.0":
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/@fimbul/ymir/-/ymir-0.15.0.tgz#944c881b14fadf7b43d1ae00b445e42261bb407f"
+ dependencies:
+ inversify "^5.0.0"
+ reflect-metadata "^0.1.12"
+ tslib "^1.8.1"
+
"@glimmer/di@^0.2.0":
version "0.2.1"
resolved "https://registry.yarnpkg.com/@glimmer/di/-/di-0.2.1.tgz#5286b6b32040232b751138f6d006130c728d4b3d"
@@ -1981,6 +1998,10 @@
dependencies:
"@types/estree" "*"
+"@types/cheerio@*":
+ version "0.22.10"
+ resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.10.tgz#780d552467824be4a241b29510a7873a7432c4a6"
+
"@types/clone@^0.1.29":
version "0.1.30"
resolved "https://registry.yarnpkg.com/@types/clone/-/clone-0.1.30.tgz#e7365648c1b42136a59c7d5040637b3b5c83b614"
@@ -1989,6 +2010,13 @@
version "2.5.0"
resolved "https://registry.yarnpkg.com/@types/core-js/-/core-js-2.5.0.tgz#35cc282488de6f10af1d92902899a3b8ca3fbc47"
+"@types/enzyme@^3.1.15":
+ version "3.1.15"
+ resolved "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.1.15.tgz#fc9a9695ba9f90cd50c4967e64a8c66ec96913d1"
+ dependencies:
+ "@types/cheerio" "*"
+ "@types/react" "*"
+
"@types/estree@*":
version "0.0.39"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
@@ -2035,7 +2063,13 @@
version "1.5.1"
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.1.tgz#48fd98c1561fe718b61733daed46ff115b496e18"
-"@types/react@^16.7.3":
+"@types/react-dom@^16.0.11":
+ version "16.0.11"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.0.11.tgz#bd10ccb0d9260343f4b9a49d4f7a8330a5c1f081"
+ dependencies:
+ "@types/react" "*"
+
+"@types/react@*", "@types/react@^16.7.17", "@types/react@^16.7.3":
version "16.7.17"
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.7.17.tgz#3242e796a1ffbba4f49eae5915a67f4c079504e9"
dependencies:
@@ -2046,6 +2080,23 @@
version "3.0.14"
resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.14.tgz#0b20a2370e6b1b8322c9c3dfcaa409e6c7c0c0a9"
+"@types/storybook__addon-actions@^3.4.1":
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/@types/storybook__addon-actions/-/storybook__addon-actions-3.4.1.tgz#8f90d76b023b58ee794170f2fe774a3fddda2c1d"
+
+"@types/storybook__addon-info@^3.4.2":
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/@types/storybook__addon-info/-/storybook__addon-info-3.4.2.tgz#31a27e66867f02e593579cc58f54d22e726b0925"
+ dependencies:
+ "@types/react" "*"
+
+"@types/storybook__react@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/storybook__react/-/storybook__react-4.0.0.tgz#52cc452fbab599568d595075a90142ef4a1233f6"
+ dependencies:
+ "@types/react" "*"
+ "@types/webpack-env" "*"
+
"@types/tapable@1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.2.tgz#e13182e1b69871a422d7863e11a4a6f5b814a4bd"
@@ -2069,7 +2120,7 @@
"@types/unist" "*"
"@types/vfile-message" "*"
-"@types/webpack-env@^1.13.6":
+"@types/webpack-env@*", "@types/webpack-env@^1.13.6":
version "1.13.6"
resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.6.tgz#128d1685a7c34d31ed17010fc87d6a12c1de6976"
@@ -2345,6 +2396,17 @@
version "1.3.0"
resolved "https://registry.yarnpkg.com/@webcomponents/webcomponentsjs/-/webcomponentsjs-1.3.0.tgz#57983165d8651e742bdd14c2718f8cc6c228496e"
+"@webpack-contrib/schema-utils@^1.0.0-beta.0":
+ version "1.0.0-beta.0"
+ resolved "https://registry.yarnpkg.com/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz#bf9638c9464d177b48209e84209e23bee2eb4f65"
+ dependencies:
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+ chalk "^2.3.2"
+ strip-ansi "^4.0.0"
+ text-table "^0.2.0"
+ webpack-log "^1.1.2"
+
"@xtuc/ieee754@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
@@ -6717,6 +6779,12 @@ cyclist@~0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
+d@1:
+ version "1.0.0"
+ resolved "http://registry.npmjs.org/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
+ dependencies:
+ es5-ext "^0.10.9"
+
dag-map@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/dag-map/-/dag-map-2.0.2.tgz#9714b472de82a1843de2fba9b6876938cab44c68"
@@ -7120,6 +7188,13 @@ dns-txt@^2.0.2:
dependencies:
buffer-indexof "^1.0.0"
+doctrine@0.7.2:
+ version "0.7.2"
+ resolved "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523"
+ dependencies:
+ esutils "^1.1.6"
+ isarray "0.0.1"
+
doctrine@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
@@ -7763,7 +7838,7 @@ envinfo@^3.0.0:
os-name "^2.0.1"
which "^1.2.14"
-enzyme-adapter-react-16@^1.6.0:
+enzyme-adapter-react-16@^1.6.0, enzyme-adapter-react-16@^1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.7.1.tgz#c37c4cb0fd75e88a063154a7a88096474914496a"
dependencies:
@@ -7791,13 +7866,13 @@ enzyme-matchers@^7.0.1:
circular-json-es6 "^2.0.1"
deep-equal-ident "^1.1.1"
-enzyme-to-json@^3.3.0, enzyme-to-json@^3.3.4:
+enzyme-to-json@^3.3.0, enzyme-to-json@^3.3.4, enzyme-to-json@^3.3.5:
version "3.3.5"
resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.3.5.tgz#f8eb82bd3d5941c9d8bc6fd9140030777d17d0af"
dependencies:
lodash "^4.17.4"
-enzyme@^3.7.0:
+enzyme@^3.7.0, enzyme@^3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.8.0.tgz#646d2d5d0798cb98fdec39afcee8a53237b47ad5"
dependencies:
@@ -7875,6 +7950,14 @@ es-to-primitive@^1.1.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
+es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
+ version "0.10.46"
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.46.tgz#efd99f67c5a7ec789baa3daa7f79870388f7f572"
+ dependencies:
+ es6-iterator "~2.0.3"
+ es6-symbol "~3.1.1"
+ next-tick "1"
+
es5-shim@^4.5.10:
version "4.5.12"
resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.12.tgz#508c13dda1c87dd3df1b50e69e7b96b82149b649"
@@ -7883,6 +7966,14 @@ es6-error@^4.0.2:
version "4.1.1"
resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
+es6-iterator@~2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
+ dependencies:
+ d "1"
+ es5-ext "^0.10.35"
+ es6-symbol "^3.1.1"
+
es6-promise@^4.0.3:
version "4.2.5"
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.5.tgz#da6d0d5692efb461e082c14817fe2427d8f5d054"
@@ -7901,6 +7992,13 @@ es6-shim@^0.35.3:
version "0.35.4"
resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.4.tgz#8d5a4109756383d3f0323421089c423acf8378f1"
+es6-symbol@^3.1.1, es6-symbol@~3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+
es6-templates@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4"
@@ -8249,6 +8347,10 @@ estree-walker@^0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39"
+esutils@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375"
+
esutils@^2.0.0, esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
@@ -9278,6 +9380,10 @@ get-caller-file@^1.0.0, get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
+get-caller-file@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.1.tgz#25835260d3a2b9665fcdbb08cb039a7bbf7011c0"
+
get-own-enumerable-property-symbols@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203"
@@ -10522,6 +10628,10 @@ invariant@^2.2.2, invariant@^2.2.4:
dependencies:
loose-envify "^1.0.0"
+inversify@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/inversify/-/inversify-5.0.1.tgz#500d709b1434896ce5a0d58915c4a4210e34fb6e"
+
invert-kv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
@@ -12927,7 +13037,7 @@ log-symbols@^1.0.2:
dependencies:
chalk "^1.0.0"
-log-symbols@^2.2.0:
+log-symbols@^2.1.0, log-symbols@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
dependencies:
@@ -12945,6 +13055,13 @@ loglevel@^1.4.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"
+loglevelnext@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-1.0.5.tgz#36fc4f5996d6640f539ff203ba819641680d75a2"
+ dependencies:
+ es6-symbol "^3.1.1"
+ object.assign "^4.1.0"
+
longest-streak@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.2.tgz#2421b6ba939a443bb9ffebf596585a50b4c38e2e"
@@ -13846,6 +13963,10 @@ nested-object-assign@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/nested-object-assign/-/nested-object-assign-1.0.3.tgz#5aca69390d9affe5a612152b5f0843ae399ac597"
+next-tick@1:
+ version "1.0.0"
+ resolved "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
+
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
@@ -16235,6 +16356,18 @@ react-devtools-core@3.0.0:
shell-quote "^1.6.1"
ws "^2.0.3"
+react-docgen-typescript-loader@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/react-docgen-typescript-loader/-/react-docgen-typescript-loader-3.0.0.tgz#4042e2854d29380e4d01e479d438c03ec00de8e8"
+ dependencies:
+ "@webpack-contrib/schema-utils" "^1.0.0-beta.0"
+ loader-utils "^1.1.0"
+ react-docgen-typescript "^1.9.0"
+
+react-docgen-typescript@^1.9.0:
+ version "1.12.2"
+ resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.12.2.tgz#d5fb578d12f6876efdde69176f4ea658e75a9a29"
+
react-docgen@^3.0.0-rc.1:
version "3.0.0-rc.2"
resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-3.0.0-rc.2.tgz#5939c64699fd9959da6d97d890f7b648e542dbcc"
@@ -16818,7 +16951,7 @@ redux@^4.0.1:
loose-envify "^1.4.0"
symbol-observable "^1.2.0"
-reflect-metadata@^0.1.10, reflect-metadata@^0.1.2:
+reflect-metadata@^0.1.10, reflect-metadata@^0.1.12, reflect-metadata@^0.1.2:
version "0.1.12"
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2"
@@ -19433,14 +19566,48 @@ tsconfig-paths@^3.4.0:
minimist "^1.2.0"
strip-bom "^3.0.0"
+tslib@1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8"
+
tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
+tslint-config-airbnb@^5.11.1:
+ version "5.11.1"
+ resolved "https://registry.yarnpkg.com/tslint-config-airbnb/-/tslint-config-airbnb-5.11.1.tgz#51a27fbb8bf24c144d064a274a71da47e7ece617"
+ dependencies:
+ tslint-consistent-codestyle "^1.14.1"
+ tslint-eslint-rules "^5.4.0"
+ tslint-microsoft-contrib "~5.2.1"
+
tslint-config-prettier@^1.15.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.17.0.tgz#946ed6117f98f3659a65848279156d87628c33dc"
+tslint-consistent-codestyle@^1.14.1:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslint-consistent-codestyle/-/tslint-consistent-codestyle-1.14.1.tgz#8555f1b05ccbf093166a73347f41eb101731a522"
+ dependencies:
+ "@fimbul/bifrost" "^0.15.0"
+ tslib "^1.7.1"
+ tsutils "^2.29.0"
+
+tslint-eslint-rules@^5.4.0:
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz#e488cc9181bf193fe5cd7bfca213a7695f1737b5"
+ dependencies:
+ doctrine "0.7.2"
+ tslib "1.9.0"
+ tsutils "^3.0.0"
+
+tslint-microsoft-contrib@~5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.2.1.tgz#a6286839f800e2591d041ea2800c77487844ad81"
+ dependencies:
+ tsutils "^2.27.2 <2.29.0"
+
tslint-plugin-prettier@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/tslint-plugin-prettier/-/tslint-plugin-prettier-2.0.1.tgz#95b6a3b766622ffc44375825d7760225c50c3680"
@@ -19449,7 +19616,7 @@ tslint-plugin-prettier@^2.0.1:
lines-and-columns "^1.1.6"
tslib "^1.7.1"
-tslint@~5.11.0:
+tslint@^5.11.0, tslint@~5.11.0:
version "5.11.0"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.11.0.tgz#98f30c02eae3cde7006201e4c33cb08b48581eed"
dependencies:
@@ -19470,12 +19637,24 @@ tsscmp@1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97"
-tsutils@^2.27.2:
+tsutils@^2.27.2, tsutils@^2.29.0:
version "2.29.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99"
dependencies:
tslib "^1.8.1"
+"tsutils@^2.27.2 <2.29.0":
+ version "2.28.0"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.28.0.tgz#6bd71e160828f9d019b6f4e844742228f85169a1"
+ dependencies:
+ tslib "^1.8.1"
+
+tsutils@^3.0.0, tsutils@^3.1.0:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.5.2.tgz#6fd3c2d5a731e83bb21b070a173ec0faf3a8f6d3"
+ dependencies:
+ tslib "^1.8.1"
+
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -19527,7 +19706,7 @@ typescript@3.1.6:
version "3.1.6"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
-typescript@^3.1.6:
+typescript@^3.1.6, typescript@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5"
@@ -20452,6 +20631,15 @@ webpack-hot-middleware@^2.24.3:
querystring "^0.2.0"
strip-ansi "^3.0.0"
+webpack-log@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-1.2.0.tgz#a4b34cda6b22b518dbb0ab32e567962d5c72a43d"
+ dependencies:
+ chalk "^2.1.0"
+ log-symbols "^2.1.0"
+ loglevelnext "^1.0.1"
+ uuid "^3.1.0"
+
webpack-log@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"