Merge branch 'master' into release/4.0

This commit is contained in:
Michael Shilman 2018-11-06 10:22:38 +08:00
commit a986ce8b74
81 changed files with 1483 additions and 655 deletions

35
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,35 @@
---
name: Bug report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Code snippets**
If applicable, add code samples to help explain your problem.
**System:**
- OS: [e.g. iOS, Windows10, MacOS]
- Device: [e.g. iPhoneX, Macbook Pro 2018]
- Browser: [e.g. chrome, safari]
- Framework: [e.g. react, vue, angular]
- Addons: [if relevant]
- Version: [e.g. 4.0.0]
**Additional context**
Add any other context about the problem here.

View File

@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Are you able to assist bring the feature to reality?**
no | yes, I can...
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@ -4,11 +4,17 @@ Issue:
## How to test
Is this testable with Jest or Chromatic screenshots?
Does this need a new example in the kitchen sink apps?
Does this need an update to the documentation?
- Is this testable with Jest or Chromatic screenshots?
- Does this need a new example in the kitchen sink apps?
- Does this need an update to the documentation?
If your answer is yes to any of these, please make sure to include it in your PR.
For maintainers only: Please tag your pull request with at least one of the following:
<!--
Everybody: Please submit all PRs to the `next` branch unless they are specific to current release. Storybook maintainers cherry-pick bug and documentation fixes into the `master` branch as part of the release process, so you shouldn't need to worry about this.
Maintainers: Please tag your pull request with at least one of the following:
`["cleanup", "BREAKING CHANGE", "feature request", "bug", "documentation", "maintenance", "dependencies", "other"]`
-->

View File

@ -195,6 +195,6 @@ object Project : Project({
}
params {
param("docker.node.version", "latest")
param("docker.node.version", "dubnium")
}
})

View File

@ -46,6 +46,7 @@ object OpenSourceProjects_Storybook_Bootstrap : BuildType({
+:pull/*
+:release/*
+:master
+:next
+:snyk-fix-*
""".trimIndent()
enabled = false

View File

@ -33,6 +33,7 @@ object OpenSourceProjects_Storybook_Build_2 : BuildType({
+:pull/*
+:release/*
+:master
+:next
+:snyk-fix-*
""".trimIndent()
}

View File

@ -23,7 +23,7 @@ object OpenSourceProjects_Storybook_CliTest : BuildType({
set -e -x
yarn
yarn test --cli
yarn test --cli --teamcity
""".trimIndent()
dockerImage = "node:%docker.node.version%"
}

View File

@ -26,7 +26,7 @@ object OpenSourceProjects_Storybook_CliTestLatestCra : BuildType({
set -e -x
yarn
yarn test-latest-cra
yarn test-latest-cra -t
""".trimIndent()
dockerImage = "node:%docker.node.version%"
}
@ -40,6 +40,7 @@ object OpenSourceProjects_Storybook_CliTestLatestCra : BuildType({
+:pull/*
+:release/*
+:master
+:next
""".trimIndent()
}
retryBuild {}

View File

@ -13,8 +13,8 @@ object OpenSourceProjects_Storybook_Danger : BuildType({
name = "Danger"
params {
password("env.DANGER_GITHUB_API_TOKEN", "credentialsJSON:7f0943ab-dfca-49dd-b926-03062007bfd0")
param("env.PULL_REQUEST_URL", "https://github.com/storybooks/storybook/pull/%teamcity.build.branch%")
password("env.DANGER_GITHUB_API_TOKEN", "credentialsJSON:9ac87388-d267-4def-a10e-3e596369f644")
param("env.PULL_REQUEST_URL", "https://github.com/storybooks/storybook/%teamcity.build.branch%")
}
vcs {

View File

@ -12,7 +12,7 @@ object OpenSourceProjects_Storybook_Docs : BuildType({
artifactRules = "docs/public => docs.zip"
params {
param("Deploy branch", "release/4.0")
param("Deploy branch", "master")
}
vcs {

View File

@ -42,6 +42,7 @@ object OpenSourceProjects_Storybook_Lint_Warnings : BuildType({
+:pull/*
+:release/*
+:master
+:next
""".trimIndent()
}
}

View File

@ -1,26 +0,0 @@
package OpenSourceProjects_Storybook.patches.buildTypes
import jetbrains.buildServer.configs.kotlin.v2017_2.*
import jetbrains.buildServer.configs.kotlin.v2017_2.ui.*
/*
This patch script was generated by TeamCity on settings change in UI.
To apply the patch, change the buildType with uuid = '759f0116-2f7d-4c03-8220-56e4ab03be3a' (id = 'OpenSourceProjects_Storybook_Danger')
accordingly, and delete the patch script.
*/
changeBuildType("759f0116-2f7d-4c03-8220-56e4ab03be3a") {
params {
expect {
password("env.DANGER_GITHUB_API_TOKEN", "credentialsJSON:7f0943ab-dfca-49dd-b926-03062007bfd0")
}
update {
password("env.DANGER_GITHUB_API_TOKEN", "credentialsJSON:9ac87388-d267-4def-a10e-3e596369f644")
}
expect {
param("env.PULL_REQUEST_URL", "https://github.com/storybooks/storybook/pull/%teamcity.build.branch%")
}
update {
param("env.PULL_REQUEST_URL", "https://github.com/storybooks/storybook/%teamcity.build.branch%")
}
}
}

View File

@ -6,8 +6,9 @@ import jetbrains.buildServer.configs.kotlin.v2017_2.vcs.GitVcsRoot
object OpenSourceProjects_Storybook_HttpsGithubComStorybooksStorybookRefsHeadsMaster : GitVcsRoot({
uuid = "cec03c4b-d52c-42a0-8e9e-53bde85d6b33"
id = "OpenSourceProjects_Storybook_HttpsGithubComStorybooksStorybookRefsHeadsMaster"
name = "https://github.com/storybooks/storybook#refs/heads/master"
name = "Main root"
url = "git@github.com:storybooks/storybook.git"
branch = "refs/heads/next"
branchSpec = """
+:refs/(pull/*)/head
+:refs/heads/*

View File

@ -8,6 +8,7 @@ object OpenSourceProjects_Storybook_HttpsGithubComStorybooksStorybookRefsHeadsMa
id = "OpenSourceProjects_Storybook_HttpsGithubComStorybooksStorybookRefsHeadsMaster1"
name = "https://github.com/storybooks/storybook#refs/heads/master (1)"
url = "git@github.com:storybooks/storybook.git"
branch = "refs/heads/next"
authMethod = uploadedKey {
userName = "git"
uploadedKey = "Storybook bot"

View File

@ -1,16 +0,0 @@
package OpenSourceProjects_Storybook.vcsRoots
import jetbrains.buildServer.configs.kotlin.v2017_2.*
import jetbrains.buildServer.configs.kotlin.v2017_2.vcs.GitVcsRoot
object OpenSourceProjects_Storybook_SBNext : GitVcsRoot({
uuid = "f0bd8d49-0f6a-4859-9d26-d066af4b5d6d"
id = "OpenSourceProjects_Storybook_SBNext"
name = "SBNext"
url = "git@github.com:storybooks/SBNext.git"
branch = "refs/heads/POC-bundler"
authMethod = uploadedKey {
userName = "git"
uploadedKey = "Storybook bot"
}
})

View File

@ -18,7 +18,7 @@ Broken release - `@storybook/client-logger` [somehow didn't get published to NPM
2018-October-29
Storybook 4.0 is our first major-version update in over a year! Key improvements include:
[Storybook 4.0](https://medium.com/storybookjs/storybook-4-0-is-here-10b9857fc7de) is our first major-version update in over a year! Key improvements include:
- Build tools
- Webpack 4 [#3148](https://github.com/storybooks/storybook/pull/3148)
@ -47,7 +47,8 @@ Storybook 4.0 is our first major-version update in over a year! Key improvements
- CLI-less Node api [#4344](https://github.com/storybooks/storybook/pull/4344)
- Rename CLI to sb [#4345](https://github.com/storybooks/storybook/pull/4345)
There are hundreds of more fixes, features, and tweaks in the 4.0 release. See changelogs for `4.0.0-rc.*` and `4.0.0-alpha.*` for details; check out our [migration docs](https://github.com/storybooks/storybook/blob/master/MIGRATION.md#from-version-34x-to-40x) for an enumeration of breaking changes.
There are hundreds of more fixes, features, and tweaks in the 4.0 release. See changelogs for `4.0.0-rc.*` and `4.0.0-alpha.*` for details; check out our [migration guide](https://medium.com/storybookjs/migrating-to-storybook-4-c65b19a03d2c) for a walkthrough of how to upgrade or the
[migration docs](https://github.com/storybooks/storybook/blob/master/MIGRATION.md#from-version-34x-to-40x) for an enumeration of breaking changes.
# 4.0.0-rc.6

View File

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2017 Kadira Inc. <hello@kadira.io>
Copyright (c) 2018 Norbert de Langen ndelangen@me.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -27,7 +27,7 @@ It allows you to browse a component library, view the different states of each c
README for:
- [![Alpha](https://img.shields.io/npm/v/@storybook/core/alpha.svg)](https://github.com/storybooks/storybook)
- [![Latest](https://img.shields.io/npm/v/@storybook/core/latest.svg)](https://github.com/storybooks/storybook/tree/release/4.0)
- [![Latest](https://img.shields.io/npm/v/@storybook/core/latest.svg)](https://github.com/storybooks/storybook/tree/master)
Storybook runs outside of your app. This allows you to develop UI components in isolation, which can improve component reuse, testability, and development speed. You can build quickly without having to worry about application-specific dependencies.

View File

@ -2,11 +2,19 @@
A Storybook release process based on [Semver](http://semver.org/). In short:
1. Merge bugfix PRs directly into master automatically release (~daily)
1. Merge all PRs into `next`, which is the default branch. Cherry-pick bugfix PRs into `master`, which is the stable release.
2. Merge feature and breaking PRs into a release branch (e.g. `release/3.2`) and release features in groups along with a marketing push after a preview period (~monthly)
2. Every week: release patch releases off `master` to the NPM tag `latest`, and alpha releases off `next` to the NPM tag `next` (as e.g. `4.1.0-alpha.0`).
3. Consensus on critical infrastructure/bugs that are needed before we can do a minor release, so that we pay down our tech debt as we go.
3. Every month or two, merge `next` into `master` and release a minor/major version according to `semver`. We set minor release dates as soon as we have feature clarity and manage to those dates:
- Date should be a Monday so if we slip we don't get pushed into the weekend
- T-3wk:
- Draft announcement and socialize
- Announce dates in #maintenance so people can react
- T-1wk:
- If you want your feature in the release, it should already be released on next by this time
- Create release branch and only cherrypick bugfixes
- Set up launch plan
## Motivation
@ -38,8 +46,8 @@ releases. We'll try our best to restrict breaking changes to MAJOR releases.
## PATCH releases
Every bugfix should go out as soon as we've verified the fix, and based on the
current rate of contribution, we should be issuing PATCH releases multiple times per week.
Soon we'll automate the process so that a release will go out every time a PR is
current rate of contribution, we should be issuing PATCH releases weekly.
Eventually we'll automate the process so that a release will go out every time a PR is
merged into `master`, and we've already laid most of the groundwork for this.
## MINOR releases
@ -51,11 +59,7 @@ hierarchy for stories) deserves more attention:
2. They often have architectural implications for the entire Storybook ecosystem, so should be discussed thoroughly before release. Doing `alpha` releases allow us to test in the community without necessarily achieving agreement.
3. They often deserve proper marketing treatment (blog posts, release announcement, podcast, etc.)
Therefore we merge these into a release branch of the form `release/MAJOR.MINOR`
and we create preview releases and get them tested by the community before
merging those branches into `master`.
> NOTE: it is possible to edit the `base` branch in a PR, so we can expect users to issue PRs to `master`, but as maintainers as we see feature releases we should set them to merge into the appropriate release branch.
Therefore we release `alpha` versions continuously on the NPM `next` tag to allow people to test out features as soon as they are ready.
In general we should release 2-3 headline features per minor release for
marketing purposes. Each headline feature should get its own blog post on the
@ -64,11 +68,7 @@ post.
## MAJOR releases
We should avoid major releases, and should try to do these at most 1-2x per
year. Ideally each breaking change would have been agreed upon by the
maintainers and validated in backwards-compatible feature releases. At some
point once a change has been thoroughly vetted, we deprecate the old way and
give some time for people to upgrade to the new way. Finally MAJOR releases
We should avoid major releases, but won't hold ourselves back on this. Making storybook better is the prime directive, and if we have to make breaking changes to do it, we will. That said, MAJOR releases
should have killer features that reward users for upgrading, and should not be
used to scratch our own architectural itches -- unless those itches are really
killing development in some meaningful way.
@ -115,3 +115,4 @@ in a patch release.
- For PATCH PR's, any maintainer can review, test, approve, and merge it.
- For MINOR/MAJOR PR's, once a maintainer reviews, tests, and approves it, s/he should clear it with the other maintainers before merging it into the release branch.
- Once a release date has been set and we cut off merging, we'll create a temporary branch to hold that release so that it doesn't block merging to `next`.

View File

@ -356,7 +356,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -400,7 +400,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -427,7 +427,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -455,7 +455,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
/>
@ -481,7 +481,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -529,7 +529,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -663,7 +663,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -724,7 +724,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -789,7 +789,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -884,7 +884,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -933,7 +933,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -986,7 +986,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -1039,7 +1039,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -1180,7 +1180,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -1199,7 +1199,7 @@ exports[`addon Info should render <Info /> and external markdown 1`] = `
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -1767,7 +1767,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -1811,7 +1811,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -1838,7 +1838,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -1866,7 +1866,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
/>
@ -1892,7 +1892,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -1940,7 +1940,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -2074,7 +2074,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -2135,7 +2135,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -2200,7 +2200,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -2295,7 +2295,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -2344,7 +2344,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -2397,7 +2397,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -2450,7 +2450,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
"color": "#a11",
},
"empty": Object {
"color": "#777",
"color": "#444",
},
"func": Object {
"color": "#170",
@ -2591,7 +2591,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>
@ -2610,7 +2610,7 @@ containing **bold**, *cursive* text, \`code\` and [a link](https://github.com)"
<span
style={
Object {
"color": "#777",
"color": "#444",
}
}
>

View File

@ -5,7 +5,7 @@ import Props from './Props';
const stylesheet = {
containerStyle: {},
tagStyle: {
color: '#777',
color: '#444',
},
};

View File

@ -33,7 +33,7 @@ const getValueStyles = (codeColors = {}) => ({
},
empty: {
color: '#777',
color: '#444',
},
});

View File

@ -8,7 +8,7 @@ Storybook Addon Notes allows you to write notes (text or HTML) for your stories
### Getting Started
**NOTE: Documentation on master branch is for alpha version, stable release is on [release/4.0](https://github.com/storybooks/storybook/tree/release/4.0/addons/)**
**NOTE: Documentation on master branch is for alpha version, stable release is on [master](https://github.com/storybooks/storybook/tree/master/addons/)**
```sh
yarn add -D @storybook/addon-notes

View File

@ -8,7 +8,7 @@ Storybook Addon On Device Notes allows you to write notes (text or markdown) for
### Getting Started
**NOTE: Documentation on master branch is for alpha version, stable release is on [release/4.0](https://github.com/storybooks/storybook/tree/release/4.0/addons/)**
**NOTE: Documentation on master branch is for alpha version, stable release is on [master](https://github.com/storybooks/storybook/tree/master/addons/)**
```sh
yarn add -D @storybook/addon-ondevice-notes

View File

@ -40,6 +40,6 @@
"@storybook/addons": "4.0.0",
"@storybook/react": "4.0.2",
"enzyme-to-json": "^3.3.4",
"react": "^16.5.2"
"react": "^16.6.0"
}
}

View File

@ -31,7 +31,7 @@
"loader-utils": "^1.1.0",
"prettier": "^1.14.3",
"prop-types": "^15.6.2",
"react-syntax-highlighter": "^9.0.0"
"react-syntax-highlighter": "^9.0.1"
},
"peerDependencies": {
"react": "*"

View File

@ -33,24 +33,27 @@
"@storybook/node-logger": "4.0.2",
"angular2-template-loader": "^0.6.2",
"core-js": "^2.5.7",
"fork-ts-checker-webpack-plugin": "^0.4.10",
"fork-ts-checker-webpack-plugin": "^0.4.14",
"global": "^4.3.2",
"react": "^16.5.2",
"react-dom": "^16.5.2",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"sass-loader": "^7.1.0",
"ts-loader": "^5.2.2",
"tsconfig-paths-webpack-plugin": "^3.2.0",
"webpack": "^4.23.1",
"zone.js": "^0.8.26"
"webpack": "^4.23.1"
},
"peerDependencies": {
"@angular-devkit/core": "^0.6.1",
"@angular-devkit/core": "^0.6.1 || >=7.0.0",
"@angular/common": ">=6.0.0",
"@angular/compiler": ">=6.0.0",
"@angular/core": ">=6.0.0",
"@angular/forms": ">=6.0.0",
"@angular/platform-browser": ">=6.0.0",
"@angular/platform-browser-dynamic": ">=6.0.0",
"babel-loader": "^7.0.0 || ^8.0.0"
"babel-loader": "^7.0.0 || ^8.0.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"zone.js": "^0.8.26"
}
}

View File

@ -126,6 +126,15 @@ export function applyAngularCliWebpackConfig(baseConfig, cliWebpackConfigOptions
plugins: [
new TsconfigPathsPlugin({
configFile: cliWebpackConfigOptions.buildOptions.tsConfig,
// After ng build my-lib the default value of 'main' in the package.json is 'umd'
// This causes that you cannot import components directly from dist
// https://github.com/angular/angular-cli/blob/9f114aee1e009c3580784dd3bb7299bdf4a5918c/packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/browser.ts#L68
mainFields: [
...(cliWebpackConfigOptions.supportES2015 ? ['es2015'] : []),
'browser',
'module',
'main',
],
}),
],
};

View File

@ -26,12 +26,12 @@
},
"dependencies": {
"@babel/runtime": "^7.1.2",
"@ember/test-helpers": "^0.7.27",
"@ember/test-helpers": "^1.0.0",
"@storybook/core": "4.0.2",
"common-tags": "^1.8.0",
"global": "^4.3.2",
"react": "^16.5.2",
"react-dom": "^16.5.2"
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
"peerDependencies": {
"babel-loader": "^7.0.0 || ^8.0.0",

View File

@ -32,8 +32,8 @@
"common-tags": "^1.8.0",
"global": "^4.3.2",
"html-loader": "^0.5.5",
"react": "^16.5.2",
"react-dom": "^16.5.2"
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
"peerDependencies": {
"babel-loader": "^7.0.0 || ^8.0.0"

View File

@ -34,8 +34,8 @@
"global": "^4.3.2",
"marko-loader": "^1.3.3",
"raw-loader": "^0.5.1",
"react": "^16.5.2",
"react-dom": "^16.5.2"
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
"peerDependencies": {
"babel-loader": "^7.0.0 || ^8.0.0",

View File

@ -33,8 +33,8 @@
"@storybook/core": "4.0.2",
"common-tags": "^1.8.0",
"global": "^4.3.2",
"react": "^16.5.2",
"react-dom": "^16.5.2"
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
"devDependencies": {
"mithril": "^1.1.6"

View File

@ -33,8 +33,8 @@
"@webcomponents/webcomponentsjs": "^1.2.0",
"common-tags": "^1.8.0",
"global": "^4.3.2",
"react": "^16.5.2",
"react-dom": "^16.5.2",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"webpack": "^4.23.1"
},
"devDependencies": {

View File

@ -25,6 +25,7 @@ configure(() => {
const StorybookUI = getStorybookUI();
export default StorybookUI;
```
**storybook/rn-addons.js**
```

View File

@ -42,6 +42,7 @@ Then write your first story in the `stories` directory like this:
```js
import { storiesOf } from '@storybook/react-native';
import React from 'react';
import { View, Text } from 'react-native';
const style = {
@ -56,7 +57,7 @@ const CenteredView = ({ children }) => (
</View>
);
storiesOf('CenteredView')
storiesOf('CenteredView', module)
.add('default view', () => (
<CenteredView>
<Text>Hello Storybook</Text>
@ -68,6 +69,15 @@ Finally replace your app entry with
```js
import './storybook';
```
For example, if your entry app is named App.js/index.js (Expo/Vanilla). You can replace it with the following.
```
import StorybookUI from './storybook';
export default StorybookUI;
```
If you cannot replace your entry point just make sure that the component exported from `./storybook` is displayed
somewhere in your app. `StorybookUI` is simply a RN `View` component that can be embedded anywhere in your
RN application, e.g. on a tab or within an admin screen.

View File

@ -58,7 +58,7 @@
"lazy-universal-dotenv": "^2.0.0",
"prop-types": "^15.6.2",
"raw-loader": "^0.5.1",
"react-dev-utils": "^6.0.5",
"react-dev-utils": "^6.1.0",
"react-native-swipe-gestures": "^1.0.2",
"shelljs": "^0.8.2",
"url-parse": "^1.4.3",

View File

@ -63,6 +63,11 @@ export default class OnDeviceUI extends PureComponent {
};
handleStoryChange = selection => {
const { selection: prevSelection } = this.state;
if (selection.kind === prevSelection.kind && selection.story === prevSelection.story) {
this.handleToggleTab(PREVIEW);
}
this.setState({
selection: {
kind: selection.kind,
@ -124,6 +129,7 @@ export default class OnDeviceUI extends PureComponent {
<Animated.View style={previewWrapperStyles}>
<Animated.View style={previewStyles}>
<TouchableOpacity
accessible={false}
style={style.flex}
disabled={tabOpen === PREVIEW}
onPress={this.handleOpenPreview}

View File

@ -40,7 +40,7 @@
"lodash": "^4.17.11",
"mini-css-extract-plugin": "^0.4.4",
"prop-types": "^15.6.2",
"react-dev-utils": "^6.0.5",
"react-dev-utils": "^6.1.0",
"semver": "^5.6.0",
"webpack": "^4.23.1"
},

View File

@ -64,14 +64,7 @@ export function applyCRAWebpackConfig(baseConfig) {
// Add css minification for production
const plugins = [...baseConfig.plugins];
if (baseConfig.mode === 'production') {
plugins.push(
new MiniCssExtractPlugin({
// Options similar to the same options in webpackOptions.output
// both options are optional
filename: 'static/css/[name].[contenthash:8].css',
chunkFilename: 'static/css/[name].[contenthash:8].chunk.css',
})
);
plugins.push(new MiniCssExtractPlugin());
}
return {

View File

@ -32,8 +32,8 @@
"common-tags": "^1.8.0",
"global": "^4.3.2",
"raw-loader": "^0.5.1",
"react": "^16.5.2",
"react-dom": "^16.5.2"
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
"devDependencies": {
"@babel/plugin-transform-modules-commonjs": "^7.1.0",

View File

@ -31,8 +31,8 @@
"@storybook/core": "4.0.2",
"common-tags": "^1.8.0",
"global": "^4.3.2",
"react": "^16.5.2",
"react-dom": "^16.5.2"
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
"devDependencies": {
"svelte": "^2.13.5",

View File

@ -32,8 +32,8 @@
"@storybook/core": "4.0.2",
"common-tags": "^1.8.0",
"global": "^4.3.2",
"react": "^16.5.2",
"react-dom": "^16.5.2"
"react": "^16.6.0",
"react-dom": "^16.6.0"
},
"devDependencies": {
"babel-preset-vue": "^2.0.2",

View File

@ -19,7 +19,7 @@
"prepare": "npm run snyk-protect"
},
"dependencies": {
"@storybook/addon-actions": "^3.4.11",
"@storybook/addon-actions": "^4.0.0",
"@storybook/addon-links": "^3.4.11",
"@storybook/addons": "^3.4.11",
"@storybook/react": "^3.4.11",
@ -28,7 +28,7 @@
"common-tags": "^1.8.0",
"gatsby": "^1.9.279",
"gatsby-link": "^1.6.45",
"gatsby-plugin-sharp": "^2.0.7",
"gatsby-plugin-sharp": "^2.0.10",
"gatsby-remark-autolink-headers": "^1.4.19",
"gatsby-remark-copy-linked-files": "^1.5.37",
"gatsby-remark-images": "^1.5.67",

View File

@ -11,34 +11,34 @@ This is a list of available addons for Storybook.
With a11y you can test compliance of your stories with web accessibility standards.
### [Actions](https://github.com/storybooks/storybook/tree/release/4.0/addons/actions)
### [Actions](https://github.com/storybooks/storybook/tree/master/addons/actions)
With actions, you can inspect events related to your components. This is pretty neat when you are manually testing your components.
Also, you can think of this as a way to document events in your components.
### [Links](https://github.com/storybooks/storybook/tree/release/4.0/addons/links)
### [Links](https://github.com/storybooks/storybook/tree/master/addons/links)
With links you can link stories together. With that, you can build demos and prototypes directly from your UI components.
### [Knobs](https://github.com/storybooks/storybook/tree/release/4.0/addons/knobs)
### [Knobs](https://github.com/storybooks/storybook/tree/master/addons/knobs)
Knobs allow you to edit React props dynamically using the Storybook UI.
You can also use Knobs as dynamic variables inside your stories.
### [Notes](https://github.com/storybooks/storybook/tree/release/4.0/addons/notes)
### [Notes](https://github.com/storybooks/storybook/tree/master/addons/notes)
With this addon, you can write notes for each story in your component. This is pretty useful when you are working with a team.
### [Info](https://github.com/storybooks/storybook/tree/release/4.0/addons/info)
### [Info](https://github.com/storybooks/storybook/tree/master/addons/info)
If you are using Storybook as a style guide, then this addon will help you to build a nice-looking style guide with docs, automatic sample source code with a PropType explorer.
### [Options](https://github.com/storybooks/storybook/tree/release/4.0/addons/options)
### [Options](https://github.com/storybooks/storybook/tree/master/addons/options)
The Storybook webapp UI can be customised with this addon. It can be used to change the header, show/hide various UI elements and to enable full-screen mode by default.
### [Storyshots](https://github.com/storybooks/storybook/tree/release/4.0/addons/storyshots)
### [Storyshots](https://github.com/storybooks/storybook/tree/master/addons/storyshots)
Storyshots is a way to automatically jest-snapshot all your stories. [More info here](/testing/structural-testing/).
@ -46,11 +46,11 @@ Storyshots is a way to automatically jest-snapshot all your stories. [More info
Redirects console output (logs, errors, warnings) into Action Logger Panel. `withConsole` decorator notifies from what stories logs are coming.
### [Backgrounds](https://github.com/storybooks/storybook/tree/release/4.0/addons/background)
### [Backgrounds](https://github.com/storybooks/storybook/tree/master/addons/background)
With this addon, you can switch between background colors and background images for your preview components. It is really helpful for styleguides.
### [Viewport](https://github.com/storybooks/storybook/tree/release/4.0/addons/viewport)
### [Viewport](https://github.com/storybooks/storybook/tree/master/addons/viewport)
Viewport allows your stories to be displayed in different sizes and layouts in [Storybook](https://storybook.js.org). This helps build responsive components inside of Storybook.

View File

@ -28,7 +28,7 @@ Here are some key features of Storybook's Babel configurations.
We have added ES2016 support with Babel for transpiling your JS code.
In addition to that, we've added a few experimental features, like object spreading and async await.
Check out our [source](https://github.com/storybooks/storybook/blob/master/lib/core/src/server/config/babel.js#L4) to learn more about these plugins.
Check out our [source](https://github.com/storybooks/storybook/blob/master/lib/core/src/server/config/babel.dev.js) to learn more about these plugins.
### .babelrc support

View File

@ -10,6 +10,7 @@ This is a central reference for using Storybook with Typescript.
```bash
yarn add -D typescript
yarn add -D awesome-typescript-loader
yarn add -D @types/storybook__react # typings
yarn add -D @storybook/addon-info react-docgen-typescript-webpack-plugin # optional but recommended
yarn add -D jest "@types/jest" ts-jest #testing
```
@ -18,7 +19,7 @@ We have had the best experience using `awesome-typescript-loader`, but other tut
## Setting up Typescript to work with Storybook
We first have to use the [custom Webpack config in full control mode, extending default configs](/configurations/custom-webpack-config/#full-control-mode--default):
We first have to use the [custom Webpack config in full control mode, extending default configs](/configurations/custom-webpack-config/#full-control-mode--default) by creating a `webpack.config.js` file in our Storybook configuration directory (by default, its `.storybook`):
```js
const path = require('path');
@ -34,7 +35,7 @@ module.exports = (baseConfig, env, config) => {
};
```
The above example shows a working config with the TSDocgen plugin also integrated; remove the optional sections if you don't plan on using them.
The above example shows a working Webpack config with the TSDocgen plugin also integrated; remove the optional sections if you don't plan on using them.
## `tsconfig.json`
@ -84,7 +85,7 @@ const req = require.context('../stories', true, /.stories.tsx$/);
The very handy [Storybook Info addon](https://github.com/storybooks/storybook/tree/master/addons/info) autogenerates prop tables documentation for each component, however it doesn't work with Typescript types. The current solution is to use [react-docgen-typescript-loader](https://github.com/strothj/react-docgen-typescript-loader) to preprocess the Typescript files to give the Info addon what it needs. The webpack config above does this, and so for the rest of your stories you use it as per normal:
```js
import React from 'react';
import * as React from 'react';
import { storiesOf } from '@storybook/react';
import { action } from '@storybook/addon-actions';
import TicTacToeCell from './TicTacToeCell';
@ -137,7 +138,7 @@ addDecorator({
This can be used like so:
```js
import React from 'react';
import * as React from 'react';
import { storiesOf } from '@storybook/react';
import { PrimaryButton } from './Button';
@ -185,26 +186,17 @@ Note: Component docgen information can not be generated for components that are
The ts-jest [README](https://github.com/kulshekhar/ts-jest) explains pretty clearly how to get Jest to recognize TypeScript code.
This is an example package.json config for jest:
This is an example `jest.config.js` file for jest:
```json
"jest": {
"transform": {
".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
},
"mapCoverage": true,
"testPathIgnorePatterns": [
"/node_modules/",
"/lib/"
],
"testRegex": "(/test/.*|\\.(test|spec))\\.(ts|tsx|js)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"json"
]
}
```js
module.exports = {
transform: {
".(ts|tsx)": "ts-jest",
},
testPathIgnorePatterns: ["/node_modules/", "/lib/"],
testRegex: "(/test/.*|\\.(test|spec))\\.(ts|tsx|js)$",
moduleFileExtensions: ["ts", "tsx", "js", "json"],
};
```
## Building your Typescript Storybook

View File

@ -14,6 +14,110 @@
dependencies:
regenerator-runtime "^0.12.0"
"@emotion/cache@^0.8.8":
version "0.8.8"
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-0.8.8.tgz#2c3bd1aa5fdb88f1cc2325176a3f3201739e726c"
integrity sha512-yaQQjNAVkKclMX6D8jTU3rhQKjCnXU1KS+Ok0lgZcarGHI2yydU/kKHyF3PZnQhbTpIFBK5W4+HmLCtCie7ESw==
dependencies:
"@emotion/sheet" "^0.8.1"
"@emotion/stylis" "^0.7.1"
"@emotion/utils" "^0.8.2"
"@emotion/core@^0.13.1":
version "0.13.1"
resolved "https://registry.yarnpkg.com/@emotion/core/-/core-0.13.1.tgz#4fa4983e18dbf089fa16584486c8033ca50013ea"
integrity sha512-5qzKP6bTe2Ah7Wvh1sgtzgy6ycdpxwgMAjQ/K/VxvqBxveG9PCpq+Z0GdVg7Houb1AwYjTfNtXstjSk4sqi/7g==
dependencies:
"@emotion/cache" "^0.8.8"
"@emotion/css" "^0.9.8"
"@emotion/serialize" "^0.9.1"
"@emotion/sheet" "^0.8.1"
"@emotion/utils" "^0.8.2"
"@emotion/css@^0.9.8":
version "0.9.8"
resolved "https://registry.yarnpkg.com/@emotion/css/-/css-0.9.8.tgz#43fd45c576656d4ed9cc3b8b427c66a2ed6af30a"
integrity sha512-Stov3+9+KWZAte/ED9Hts3r4DVBADd5erDrhrywokM31ctQsRPD3qk8W4d1ca48ry57g/nc0qUHNis/xd1SoFg==
dependencies:
"@emotion/serialize" "^0.9.1"
"@emotion/utils" "^0.8.2"
"@emotion/hash@^0.6.6":
version "0.6.6"
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44"
integrity sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ==
"@emotion/is-prop-valid@^0.6.8":
version "0.6.8"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.6.8.tgz#68ad02831da41213a2089d2cab4e8ac8b30cbd85"
integrity sha512-IMSL7ekYhmFlILXcouA6ket3vV7u9BqStlXzbKOF9HBtpUPMMlHU+bBxrLOa2NvleVwNIxeq/zL8LafLbeUXcA==
dependencies:
"@emotion/memoize" "^0.6.6"
"@emotion/memoize@^0.6.6":
version "0.6.6"
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b"
integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ==
"@emotion/provider@^0.11.2":
version "0.11.2"
resolved "https://registry.yarnpkg.com/@emotion/provider/-/provider-0.11.2.tgz#7099f1df5641969ee4d6ff5cf1561295914030aa"
integrity sha512-y/BRd6cJ9tyxsy4EK8WheD2X1/RfmudMYILpa8sgI3dKCjVWeEZuQM17wXRVEyhrisaRaIp1qT4h0eWUaaqNLg==
dependencies:
"@emotion/cache" "^0.8.8"
"@emotion/weak-memoize" "^0.1.3"
"@emotion/serialize@^0.9.1":
version "0.9.1"
resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.9.1.tgz#a494982a6920730dba6303eb018220a2b629c145"
integrity sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ==
dependencies:
"@emotion/hash" "^0.6.6"
"@emotion/memoize" "^0.6.6"
"@emotion/unitless" "^0.6.7"
"@emotion/utils" "^0.8.2"
"@emotion/sheet@^0.8.1":
version "0.8.1"
resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.8.1.tgz#6eed686c927a1c39f5045ec45ecfa36de896819d"
integrity sha512-p82hFBHbNkPLZ410HOeaRJZMrN1uh9rI7JAaRXIp62PP5evspPXyi3xYtxZc1+sCSlwjnQPuOIa6N88iJNtPXw==
"@emotion/styled-base@^0.10.6":
version "0.10.6"
resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-0.10.6.tgz#c95631b6b4f19da97e7b44ee4e3ee1931afde264"
integrity sha512-7RfdJm2oEXiy3isFRY63mHRmWWjScFXFoZTFkCJPaL8NhX+H724WwIoQOt3WA1Jd+bb97xkJg31JbYYsSqnEaQ==
dependencies:
"@emotion/is-prop-valid" "^0.6.8"
"@emotion/serialize" "^0.9.1"
"@emotion/utils" "^0.8.2"
"@emotion/styled@^0.10.6":
version "0.10.6"
resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-0.10.6.tgz#1f6af1d3d4bf9fdeb05a4d220046ce11ad21a7ca"
integrity sha512-DFNW8jlMjy1aYCj/PKsvBoJVZAQXzjmSCwtKXLs31qZzNPaUEPbTYSIKnMUtIiAOYsu0pUTGXM+l0a+MYNm4lA==
dependencies:
"@emotion/styled-base" "^0.10.6"
"@emotion/stylis@^0.7.1":
version "0.7.1"
resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5"
integrity sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ==
"@emotion/unitless@^0.6.7":
version "0.6.7"
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397"
integrity sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg==
"@emotion/utils@^0.8.2":
version "0.8.2"
resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc"
integrity sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw==
"@emotion/weak-memoize@^0.1.3":
version "0.1.3"
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.1.3.tgz#b700d97385fa91affed60c71dfd51c67e9dad762"
integrity sha512-QsYGKdhhuDFNq7bjm2r44y0mp5xW3uO3csuTPDWZc0OIiMQv+AIY5Cqwd4mJiC5N8estVl7qlvOx1hbtOuUWbw==
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@ -27,7 +131,7 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz#54c5a964462be3d4d78af631363c18d6fa91ac26"
integrity sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw==
"@storybook/addon-actions@3.4.11", "@storybook/addon-actions@^3.4.11":
"@storybook/addon-actions@3.4.11":
version "3.4.11"
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.11.tgz#a51418c5b684fd3df2788c19ef266845d6068baf"
integrity sha512-vA7KiMg6J3SlI0U9COhyX+nxoNNXsgXTKBA7oVjE+wduNwNc86WcbYGxKIxhCjJMBoAjZYBeRL9DmYWwaHb4xQ==
@ -43,6 +147,25 @@
react-inspector "^2.2.2"
uuid "^3.2.1"
"@storybook/addon-actions@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-4.0.0.tgz#7dfd5f2c2d180d38faa29d111ed3ed31ce1e84e0"
integrity sha512-yg+oCofxOxoYq4K7V7r0fwpuIUnmGvCkwrT8Rx/TOtAVk47PqSToLWCJDmy58b+yWa9nl+EukclVpr/H9AmZVA==
dependencies:
"@emotion/core" "^0.13.1"
"@emotion/provider" "^0.11.2"
"@emotion/styled" "^0.10.6"
"@storybook/addons" "4.0.0"
"@storybook/components" "4.0.0"
"@storybook/core-events" "4.0.0"
deep-equal "^1.0.1"
global "^4.3.2"
lodash "^4.17.11"
make-error "^1.3.5"
prop-types "^15.6.2"
react-inspector "^2.3.0"
uuid "^3.3.2"
"@storybook/addon-links@3.4.11", "@storybook/addon-links@^3.4.11":
version "3.4.11"
resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.11.tgz#097b4fcf4b3af3903762ac0d7e65c5d37d14af88"
@ -58,6 +181,16 @@
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.11.tgz#f3e27c46d80ad1f171888c4aad0a19a8a032d072"
integrity sha512-Uf01aZ1arcpG1prrrCrBCUYW63lDaoG+r/i3TNo1iG9ZaNc+2UHWeuiEedLfHg0fi/q7UnqMNWDiyO3AkEwwrA==
"@storybook/addons@4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-4.0.0.tgz#b71b545a735b902fa62934ac98fd262b65c924f7"
integrity sha512-hIYM9I/7ZV5bojQiuOwQTPWQT/wBYB8iCY9yi3BiL1/ob/YOf8xeSmi4NGecCyPd2j0CKIB+vxvEv/6X3tgclQ==
dependencies:
"@storybook/channels" "4.0.0"
"@storybook/components" "4.0.0"
global "^4.3.2"
util-deprecate "^1.0.2"
"@storybook/channel-postmessage@3.4.11":
version "3.4.11"
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.11.tgz#69782fa3b9f879ae02a6d9b85b5d0902e75dabc2"
@ -72,6 +205,11 @@
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.11.tgz#853ec40fdfa6c3ae8cff23f0cd86b77a719823f5"
integrity sha512-49A79anI04nhMsNzyk5cF8fa3+HKZkb9RLshtaqvQmM7olQxCrks6cIdE2Y1zMBuyZxX1ARhcBCFVw+PUxkJjA==
"@storybook/channels@4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-4.0.0.tgz#b712d711f67966028dbff5c57e6ddc6f53d5cbac"
integrity sha512-VJdct5WajZweZgl532ufGZKefk0kI8QI+SCWW93YEPrvgo+vGPBOlsZpWNZw0ozhESgnJwvSjNWYZYsSt/j1dQ==
"@storybook/client-logger@3.4.11":
version "3.4.11"
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.11.tgz#b592ea227f9f330f50925f7c1c266cc658cbc704"
@ -86,6 +224,27 @@
glamorous "^4.12.1"
prop-types "^15.6.1"
"@storybook/components@4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-4.0.0.tgz#5006f5b423eb1ae8b97fc82710b532c0e1b45805"
integrity sha512-H/jXW96OTUdDuJBltt5Cx+svLFH7BnAvU+XAb+/O/55ikxLoYJjtq+HnyZx3oY/y6br6mBESdOiovZisAnffhQ==
dependencies:
"@emotion/core" "^0.13.1"
"@emotion/provider" "^0.11.2"
"@emotion/styled" "^0.10.6"
global "^4.3.2"
lodash "^4.17.11"
prop-types "^15.6.2"
react-inspector "^2.3.0"
react-split-pane "^0.1.84"
react-textarea-autosize "^7.0.4"
render-fragment "^0.1.1"
"@storybook/core-events@4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-4.0.0.tgz#9fc5e094044f161e4484139833c4cc2e743ec34c"
integrity sha512-RShVYSb8oB5ZGjxqZGAQuiHCYn+LCI9yFE2VLAc8a0UM4C+kQWxtFxIxjYgmF/ewTctz+Vl8miBAH3MhEDNXyA==
"@storybook/core@3.4.11":
version "3.4.11"
resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.11.tgz#fda9b0fbca73e3d2a8b1578296f113836fc2d473"
@ -5374,6 +5533,15 @@ fs-extra@^4.0.1:
jsonfile "^4.0.0"
universalify "^0.1.0"
fs-extra@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6"
integrity sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==
dependencies:
graceful-fs "^4.1.2"
jsonfile "^4.0.0"
universalify "^0.1.0"
fs-minipass@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
@ -5526,15 +5694,16 @@ gatsby-plugin-sharp@^1.6.48:
sharp "^0.20.0"
svgo "^0.7.2"
gatsby-plugin-sharp@^2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.0.7.tgz#ee24e5ffdd52958deae84a18732dc3c36fddec27"
integrity sha512-jXgRtGSb9Bc6D6nKlLaT7NhuhsQ1HIix/7NYs0LV3oTViGNXs7VEUne4+LlBPDuhqCkmb/N31YwToER1MZxx0g==
gatsby-plugin-sharp@^2.0.10:
version "2.0.10"
resolved "https://registry.yarnpkg.com/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.0.10.tgz#5ce703a1d9bc8f70a84a940914404566e747d6f2"
integrity sha512-pUzV/unNX2IFSNlz9u3a/uDevcJMCcril9So7bY+kZrQIb5RbDd2vnZiMebzv7RxfKVa/tpIbPbrZcEaVWVvvQ==
dependencies:
"@babel/runtime" "^7.0.0"
async "^2.1.2"
bluebird "^3.5.0"
fs-exists-cached "^1.0.0"
fs-extra "^7.0.0"
imagemin "^6.0.0"
imagemin-mozjpeg "^7.0.0"
imagemin-pngquant "^6.0.0"
@ -5544,7 +5713,7 @@ gatsby-plugin-sharp@^2.0.7:
potrace "^2.1.1"
probe-image-size "^4.0.0"
progress "^1.1.8"
sharp "^0.20.2"
sharp "^0.21.0"
svgo "^0.7.2"
gatsby-react-router-scroll@^1.0.18:
@ -8410,7 +8579,7 @@ make-dir@^1.0.0:
dependencies:
pify "^3.0.0"
make-error@^1.3.4:
make-error@^1.3.4, make-error@^1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
@ -8643,9 +8812,9 @@ merge2@^1.2.1:
integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==
merge@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
integrity sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=
version "1.2.1"
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145"
integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==
methods@~1.1.2:
version "1.1.2"
@ -8900,7 +9069,7 @@ mute-stream@0.0.7, mute-stream@~0.0.4:
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
nan@^2.11.0, nan@^2.9.2:
nan@^2.11.0, nan@^2.11.1, nan@^2.9.2:
version "2.11.1"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766"
integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==
@ -8927,6 +9096,11 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
napi-build-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.1.tgz#1381a0f92c39d66bf19852e7873432fc2123e508"
integrity sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==
nconf@^0.10.0:
version "0.10.0"
resolved "https://registry.yarnpkg.com/nconf/-/nconf-0.10.0.tgz#da1285ee95d0a922ca6cee75adcf861f48205ad2"
@ -10657,6 +10831,28 @@ prebuild-install@^4.0.0:
tunnel-agent "^0.6.0"
which-pm-runs "^1.0.0"
prebuild-install@^5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.2.1.tgz#87ba8cf17c65360a75eefeb3519e87973bf9791d"
integrity sha512-9DAccsInWHB48TBQi2eJkLPE049JuAI6FjIH0oIrij4bpDVEbX6JvlWRAcAAlUqBHhjgq0jNqA3m3bBXWm9v6w==
dependencies:
detect-libc "^1.0.3"
expand-template "^1.0.2"
github-from-package "0.0.0"
minimist "^1.2.0"
mkdirp "^0.5.1"
napi-build-utils "^1.0.1"
node-abi "^2.2.0"
noop-logger "^0.1.1"
npmlog "^4.0.1"
os-homedir "^1.0.1"
pump "^2.0.1"
rc "^1.2.7"
simple-get "^2.7.0"
tar-fs "^1.13.0"
tunnel-agent "^0.6.0"
which-pm-runs "^1.0.0"
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@ -11118,7 +11314,7 @@ react-icons@^2.2.7:
dependencies:
react-icon-base "2.1.0"
react-inspector@^2.2.2:
react-inspector@^2.2.2, react-inspector@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.3.0.tgz#fc9c1d38ab687fc0d190dcaf133ae40158968fc8"
integrity sha512-aIcbWb0fKFhEMB+RadoOYawlr1JoMMfrQ1oRgPUG/f/e4zERVJ6nYcIaQmrQmdHCZ63BOqe2cEkoeY0kyLBzNg==
@ -11192,7 +11388,7 @@ react-sizeme@^2.2.0:
lodash.throttle "^4.1.1"
shallowequal "^1.0.2"
react-split-pane@^0.1.77:
react-split-pane@^0.1.77, react-split-pane@^0.1.84:
version "0.1.84"
resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.84.tgz#b9c1499cbc40b09cf29953ee6f5ff1039d31906e"
integrity sha512-rso1dRAXX/WETyqF5C0fomIYzpF71Nothfr1R7pFkrJCPVJ20ok2e6wqF+JvUTyE/meiBvsbNPT1loZjyU+53w==
@ -11224,6 +11420,13 @@ react-style-proptype@^3.0.0:
dependencies:
prop-types "^15.5.4"
react-textarea-autosize@^7.0.4:
version "7.0.4"
resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.0.4.tgz#4e4be649b544a88713e7b5043f76950f35d3d503"
integrity sha512-1cC8pFSrIVH92aE+UKxGQ2Gqq43qdIcMscJKScEFeBNemn6gHa+NwKqdXkHxxg5H6uuvW+cPpJPTes6zh90M+A==
dependencies:
prop-types "^15.6.0"
react-transition-group@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-1.2.1.tgz#e11f72b257f921b213229a774df46612346c7ca6"
@ -11756,6 +11959,11 @@ remove-trailing-separator@^1.0.1:
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
render-fragment@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/render-fragment/-/render-fragment-0.1.1.tgz#b231f259b7eee333d34256aee0ef3169be7bef30"
integrity sha512-+DnAcalJYR8GE5VRuQGGu78Q0GDe8EXnkuk4DF8gbAhIeS6LRt4j+aaggLLj4PtQVfXNC61McXvXI58WqmRleQ==
renderkid@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.2.tgz#12d310f255360c07ad8fde253f6c9e9de372d2aa"
@ -12343,7 +12551,7 @@ shallowequal@^1.0.1, shallowequal@^1.0.2:
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
sharp@^0.20.0, sharp@^0.20.2:
sharp@^0.20.0:
version "0.20.8"
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.20.8.tgz#e853f10b53b730824f0c3c5e453c79fa0812a48b"
integrity sha512-A8NaPGWRDKpmHTi8sl2xzozYXhTQWBb/GaJ8ZPU7L/vKW8wVvd4Yq+isJ0c7p9sX5gnjPQcM3eOfHuvvnZ2fOQ==
@ -12359,6 +12567,22 @@ sharp@^0.20.0, sharp@^0.20.2:
tar "^4.4.6"
tunnel-agent "^0.6.0"
sharp@^0.21.0:
version "0.21.0"
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.21.0.tgz#e3cf2e4cb9382caf78efb3d45252381730e899c4"
integrity sha512-qr6yMl0ju8EGMtjIj5U1Ojj8sKuZ99/DQaNKWmoFHxqg3692AFSrEiPI/yr0O05OWtGD8LuCw8WSGmnZcNrZaA==
dependencies:
color "^3.0.0"
detect-libc "^1.0.3"
fs-copy-file-sync "^1.1.1"
nan "^2.11.1"
npmlog "^4.1.2"
prebuild-install "^5.2.0"
semver "^5.5.1"
simple-get "^3.0.3"
tar "^4.4.6"
tunnel-agent "^0.6.0"
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@ -12435,6 +12659,15 @@ simple-get@^2.7.0, simple-get@^2.8.1:
once "^1.3.1"
simple-concat "^1.0.0"
simple-get@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.0.3.tgz#924528ac3f9d7718ce5e9ec1b1a69c0be4d62efa"
integrity sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==
dependencies:
decompress-response "^3.3.0"
once "^1.3.1"
simple-concat "^1.0.0"
simple-swizzle@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"

View File

@ -1,3 +1,9 @@
# CRNA Kitchen Sink
This project was bootstrapped with [Create React Native App](https://github.com/react-community/create-react-native-app) and storybook using [storybook CLI](https://www.npmjs.com/package/@storybook/cli).
This project was bootstrapped wit [Expo](https://github.com/expo/expo-cli) and storybook using [storybook CLI](https://www.npmjs.com/package/@storybook/cli).
## Getting started
1. Install dependencies: `yarn install`
2. Run storybook: `yarn storybook`
3. Run the app: `yarn start`

View File

@ -1,10 +1,12 @@
{
"expo": {
"sdkVersion": "24.0.0",
"sdkVersion": "30.0.0",
"platforms": ["ios", "android"],
"androidStatusBarColor": "#C2185B",
"androidStatusBar": {
"barStyle": "light-content",
"backgroundColor": "#C2185B"
}
},
"assetBundlePatterns": ["**/*"]
}
}

View File

@ -2,12 +2,12 @@
"name": "crna-kitchen-sink",
"version": "0.1.0",
"private": true,
"main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"android": "react-native-scripts android",
"eject": "react-native-scripts eject",
"ios": "react-native-scripts ios",
"start": "react-native-scripts start",
"android": "expo start --android",
"eject": "expo eject",
"ios": "expo start --ios",
"start": "expo start",
"storybook": "storybook start",
"test": "node node_modules/jest/bin/jest.js --watch"
},
@ -15,10 +15,11 @@
"preset": "jest-expo"
},
"dependencies": {
"expo": "^24.0.2",
"prop-types": "^15.6.0",
"expo": "^30.0.1",
"prop-types": "^15.6.2",
"react": "^16.2.0",
"react-native": "^0.51.0"
"react-native": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
"whatwg-fetch": "^2.0.4"
},
"devDependencies": {
"@storybook/addon-actions": "file:../../packs/storybook-addon-actions.tgz",
@ -40,9 +41,8 @@
"@storybook/addon-ondevice-knobs": "file:../../packs/storybook-addon-ondevice-knobs.tgz",
"@storybook/addon-ondevice-notes": "file:../../packs/storybook-addon-ondevice-notes.tgz",
"@storybook/ui": "file:../../packs/storybook-ui.tgz",
"jest-expo": "^24.0.0",
"jest-expo": "^30.0.0",
"react-dom": "^16.2.0",
"react-native-scripts": "^1.8.1",
"react-test-renderer": "~16.2.0"
"react-test-renderer": "^16.6.0"
}
}

View File

@ -38,13 +38,13 @@
}
},
"dependencies": {
"@angular/common": "^7.0.0",
"@angular/common": "^7.0.1",
"@angular/compiler": "^7.0.1",
"@angular/core": "^7.0.1",
"@angular/core": "^7.0.2",
"@angular/forms": "^7.0.1",
"@angular/platform-browser": "^7.0.0",
"@angular/platform-browser": "^7.0.1",
"@angular/platform-browser-dynamic": "^7.0.1",
"@ngrx/store": "^6.1.0",
"@ngrx/store": "^6.1.1",
"core-js": "^2.5.7",
"rxjs": "^6.3.3",
"rxjs-compat": "^6.3.3",
@ -53,7 +53,7 @@
"devDependencies": {
"@angular-devkit/build-angular": "^0.10.3",
"@angular/cli": "^7.0.3",
"@angular/compiler-cli": "^7.0.0",
"@angular/compiler-cli": "^7.0.1",
"@storybook/addon-actions": "4.0.2",
"@storybook/addon-backgrounds": "4.0.2",
"@storybook/addon-centered": "4.0.2",
@ -67,16 +67,16 @@
"@storybook/addons": "4.0.2",
"@storybook/angular": "4.0.2",
"@types/core-js": "^2.5.0",
"@types/jest": "^23.3.7",
"@types/node": "~10.12.0",
"@types/jest": "^23.3.8",
"@types/node": "~10.12.1",
"@types/webpack-env": "^1.13.6",
"global": "^4.3.2",
"jasmine-core": "~3.2.1",
"jasmine-core": "~3.3.0",
"jasmine-spec-reporter": "~4.2.1",
"jest": "^23.6.0",
"jest-preset-angular": "^6.0.1",
"protractor": "~5.4.1",
"ts-node": "~7.0.0",
"typescript": "^3.1.3"
"typescript": "^3.1.6"
}
}

View File

@ -13,8 +13,8 @@
"dependencies": {
"global": "^4.3.2",
"prop-types": "^15.6.2",
"react": "^16.5.2",
"react-dom": "^16.5.2",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"react-lifecycles-compat": "^3.0.4"
},
"devDependencies": {
@ -37,6 +37,6 @@
"enzyme-adapter-react-16": "^1.6.0",
"enzyme-to-json": "^3.3.4",
"jest": "^23.6.0",
"react-scripts": "^2.0.5"
"react-scripts": "^2.1.0"
}
}

View File

@ -100,13 +100,13 @@ exports[`Storyshots Button addons composition 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;div
</span>
<span />
<span
style="color:#777"
style="color:#444"
>
&gt;
</span>
@ -115,14 +115,14 @@ exports[`Storyshots Button addons composition 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
/>
</div>
<div
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
click the
</span>
@ -131,13 +131,13 @@ exports[`Storyshots Button addons composition 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;InfoButton
</span>
<span />
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -146,7 +146,7 @@ exports[`Storyshots Button addons composition 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
label in top right for info about "
</span>
@ -155,7 +155,7 @@ exports[`Storyshots Button addons composition 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
addons composition
</span>
@ -164,7 +164,7 @@ exports[`Storyshots Button addons composition 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
"
</span>
@ -173,7 +173,7 @@ exports[`Storyshots Button addons composition 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;/div&gt;
</span>
@ -304,13 +304,13 @@ exports[`Storyshots Button with new info 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;Container
</span>
<span />
<span
style="color:#777"
style="color:#444"
>
&gt;
</span>
@ -319,14 +319,14 @@ exports[`Storyshots Button with new info 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
/>
</div>
<div
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
click the
</span>
@ -335,13 +335,13 @@ exports[`Storyshots Button with new info 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;InfoButton
</span>
<span />
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -350,7 +350,7 @@ exports[`Storyshots Button with new info 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
label in top right for info about "
</span>
@ -359,7 +359,7 @@ exports[`Storyshots Button with new info 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
with new info
</span>
@ -368,7 +368,7 @@ exports[`Storyshots Button with new info 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
"
</span>
@ -377,7 +377,7 @@ exports[`Storyshots Button with new info 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;/Container&gt;
</span>

View File

@ -37,9 +37,9 @@
"ember-cli-sri": "^2.1.0",
"ember-cli-storybook": "^0.0.1",
"ember-cli-uglify": "^2.0.0",
"ember-load-initializers": "^1.1.0",
"ember-load-initializers": "^2.0.0",
"ember-resolver": "^5.0.1",
"ember-source": "~3.5.0",
"ember-source": "~3.5.1",
"loader.js": "^4.2.3",
"webpack": "^4.23.1",
"webpack-cli": "^3.1.2"

View File

@ -41,15 +41,15 @@
"enzyme-to-json": "^3.3.4",
"eventemitter3": "^3.1.0",
"express": "^4.16.3",
"express-graphql": "^0.6.12",
"express-graphql": "^0.7.1",
"format-json": "^1.0.3",
"global": "^4.3.2",
"graphql": "^14.0.2",
"paths.macro": "^2.0.2",
"prop-types": "^15.6.2",
"react": "^16.5.2",
"react": "^16.6.0",
"react-chromatic": "^0.8.4",
"react-dom": "^16.5.2",
"react-dom": "^16.6.0",
"uuid": "^3.3.2",
"webpack": "^4.23.1"
}

View File

@ -67,7 +67,7 @@ exports[`Storyshots Addons|Info.Decorator Use Info as story decorator 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -93,7 +93,7 @@ exports[`Storyshots Addons|Info.Decorator Use Info as story decorator 1`] = `
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -353,13 +353,13 @@ exports[`Storyshots Addons|Info.GitHub issues #1814 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;div
</span>
<span />
<span
style="color:#777"
style="color:#444"
>
&gt;
</span>
@ -368,13 +368,13 @@ exports[`Storyshots Addons|Info.GitHub issues #1814 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;Unknown
</span>
<span />
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -383,13 +383,13 @@ exports[`Storyshots Addons|Info.GitHub issues #1814 1`] = `
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;Unknown
</span>
<span />
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -398,7 +398,7 @@ exports[`Storyshots Addons|Info.GitHub issues #1814 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;/div&gt;
</span>
@ -539,7 +539,7 @@ exports[`Storyshots Addons|Info.JSX Displays JSX in description 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -583,7 +583,7 @@ exports[`Storyshots Addons|Info.JSX Displays JSX in description 1`] = `
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -872,7 +872,7 @@ exports[`Storyshots Addons|Info.Markdown Displays Markdown in description 1`] =
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -916,7 +916,7 @@ exports[`Storyshots Addons|Info.Markdown Displays Markdown in description 1`] =
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -1174,7 +1174,7 @@ exports[`Storyshots Addons|Info.Markdown From external Markdown file 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -1218,7 +1218,7 @@ exports[`Storyshots Addons|Info.Markdown From external Markdown file 1`] = `
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -1488,7 +1488,7 @@ exports[`Storyshots Addons|Info.Markdown From internal Markdown file 1`] = `
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -1532,7 +1532,7 @@ exports[`Storyshots Addons|Info.Markdown From internal Markdown file 1`] = `
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -1781,7 +1781,7 @@ exports[`Storyshots Addons|Info.Options.TableComponent Use a custom component fo
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -1807,7 +1807,7 @@ exports[`Storyshots Addons|Info.Options.TableComponent Use a custom component fo
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -1979,7 +1979,7 @@ exports[`Storyshots Addons|Info.Options.excludedPropTypes Excludes propTypes tha
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -2005,7 +2005,7 @@ exports[`Storyshots Addons|Info.Options.excludedPropTypes Excludes propTypes tha
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -2224,7 +2224,7 @@ exports[`Storyshots Addons|Info.Options.header Shows or hides Info Addon header
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -2250,7 +2250,7 @@ exports[`Storyshots Addons|Info.Options.header Shows or hides Info Addon header
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -2497,7 +2497,7 @@ exports[`Storyshots Addons|Info.Options.inline Inlines component inside story 1`
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -2523,7 +2523,7 @@ exports[`Storyshots Addons|Info.Options.inline Inlines component inside story 1`
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -2769,7 +2769,7 @@ exports[`Storyshots Addons|Info.Options.maxPropsIntoLine === 0 Object and array
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -3495,7 +3495,7 @@ exports[`Storyshots Addons|Info.Options.maxPropsIntoLine === 0 Object and array
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -3741,7 +3741,7 @@ exports[`Storyshots Addons|Info.Options.maxPropsIntoLine === 3 Object and array
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -4283,7 +4283,7 @@ exports[`Storyshots Addons|Info.Options.maxPropsIntoLine === 3 Object and array
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -4540,7 +4540,7 @@ exports[`Storyshots Addons|Info.Options.propTables Shows additional component pr
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -4566,7 +4566,7 @@ exports[`Storyshots Addons|Info.Options.propTables Shows additional component pr
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -4936,13 +4936,13 @@ exports[`Storyshots Addons|Info.Options.propTablesExclude Exclude component from
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;div
</span>
<span />
<span
style="color:#777"
style="color:#444"
>
&gt;
</span>
@ -4951,7 +4951,7 @@ exports[`Storyshots Addons|Info.Options.propTablesExclude Exclude component from
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -4977,7 +4977,7 @@ exports[`Storyshots Addons|Info.Options.propTablesExclude Exclude component from
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -4986,7 +4986,7 @@ exports[`Storyshots Addons|Info.Options.propTablesExclude Exclude component from
style="padding-left:33px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;FlowTypeButton
</span>
@ -5012,7 +5012,7 @@ exports[`Storyshots Addons|Info.Options.propTablesExclude Exclude component from
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -5021,7 +5021,7 @@ exports[`Storyshots Addons|Info.Options.propTablesExclude Exclude component from
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;/div&gt;
</span>
@ -5491,7 +5491,7 @@ exports[`Storyshots Addons|Info.Options.styles Extend info styles with an object
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -5517,7 +5517,7 @@ exports[`Storyshots Addons|Info.Options.styles Extend info styles with an object
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -5766,7 +5766,7 @@ exports[`Storyshots Addons|Info.Options.styles Full control over styles using a
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -5792,7 +5792,7 @@ exports[`Storyshots Addons|Info.Options.styles Full control over styles using a
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -6089,7 +6089,7 @@ exports[`Storyshots Addons|Info.Parameters Overwrite the parameters with markdow
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -6133,7 +6133,7 @@ exports[`Storyshots Addons|Info.Parameters Overwrite the parameters with markdow
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -6391,7 +6391,7 @@ exports[`Storyshots Addons|Info.Parameters Overwrite the text parameter with mar
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -6435,7 +6435,7 @@ exports[`Storyshots Addons|Info.Parameters Overwrite the text parameter with mar
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -6681,7 +6681,7 @@ exports[`Storyshots Addons|Info.Parameters Overwriting and extending the paramet
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -6707,7 +6707,7 @@ exports[`Storyshots Addons|Info.Parameters Overwriting and extending the paramet
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -6928,7 +6928,7 @@ exports[`Storyshots Addons|Info.Parameters Using paramaters across all stories 1
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -6954,7 +6954,7 @@ exports[`Storyshots Addons|Info.Parameters Using paramaters across all stories 1
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -7211,7 +7211,7 @@ exports[`Storyshots Addons|Info.React Docgen Comments from Flow declarations 1`]
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;FlowTypeButton
</span>
@ -7255,7 +7255,7 @@ exports[`Storyshots Addons|Info.React Docgen Comments from Flow declarations 1`]
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -7463,7 +7463,7 @@ exports[`Storyshots Addons|Info.React Docgen Comments from PropType declarations
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;DocgenButton
</span>
@ -7708,7 +7708,7 @@ exports[`Storyshots Addons|Info.React Docgen Comments from PropType declarations
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -8401,7 +8401,7 @@ exports[`Storyshots Addons|Info.React Docgen Comments from component declaration
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -8445,7 +8445,7 @@ exports[`Storyshots Addons|Info.React Docgen Comments from component declaration
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -8705,7 +8705,7 @@ exports[`Storyshots Addons|Info.React Docgen Comments from named export componen
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;NamedExportButton
</span>
@ -8749,7 +8749,7 @@ exports[`Storyshots Addons|Info.React Docgen Comments from named export componen
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>
@ -9038,7 +9038,7 @@ exports[`Storyshots Addons|Info.deprecated Displays Markdown in description 1`]
style="padding-left:18px;padding-right:3px"
>
<span
style="color:#777"
style="color:#444"
>
&lt;BaseButton
</span>
@ -9082,7 +9082,7 @@ exports[`Storyshots Addons|Info.deprecated Displays Markdown in description 1`]
</span>
</span>
<span
style="color:#777"
style="color:#444"
>
/&gt;
</span>

View File

@ -27,6 +27,6 @@
"devDependencies": {
"copy-webpack-plugin": "^4.5.4",
"html-webpack-plugin": "^4.0.0-beta.2",
"webpack-dev-server": "^3.1.9"
"webpack-dev-server": "^3.1.10"
}
}

View File

@ -34,6 +34,6 @@
"riot-tag-loader": "^2.1.0",
"svg-url-loader": "^2.3.2",
"webpack": "^4.23.1",
"webpack-dev-server": "^3.1.9"
"webpack-dev-server": "^3.1.10"
}
}

View File

@ -33,6 +33,6 @@
"svg-url-loader": "^2.3.2",
"vue-loader": "^15.4.2",
"webpack": "^4.23.1",
"webpack-dev-server": "^3.1.9"
"webpack-dev-server": "^3.1.10"
}
}

View File

@ -0,0 +1,23 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*

View File

@ -0,0 +1,44 @@
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
## Available Scripts
In the project directory, you can run:
### `npm start`
Runs the app in the development mode.<br>
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
The page will reload if you make edits.<br>
You will also see any lint errors in the console.
### `npm test`
Launches the test runner in the interactive watch mode.<br>
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
### `npm run build`
Builds the app for production to the `build` folder.<br>
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.<br>
Your app is ready to be deployed!
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
### `npm run eject`
**Note: this is a one-way operation. Once you `eject`, you cant go back!**
If you arent satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point youre on your own.
You dont have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldnt feel obligated to use this feature. However we understand that this tool wouldnt be useful if you couldnt customize it when you are ready for it.
## Learn More
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
To learn React, check out the [React documentation](https://reactjs.org/).

View File

@ -0,0 +1,22 @@
{
"name": "react-scripts-v2-fixture",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.6.0",
"react-dom": "^16.6.0",
"react-scripts": "2.1.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<!--
manifest.json provides metadata used when your web app is added to the
homescreen on Android. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>React App</title>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>

View File

@ -0,0 +1,15 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

View File

@ -0,0 +1,32 @@
.App {
text-align: center;
}
.App-logo {
animation: App-logo-spin infinite 20s linear;
height: 40vmin;
}
.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
}
.App-link {
color: #61dafb;
}
@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}

View File

@ -0,0 +1,28 @@
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
}
export default App;

View File

@ -0,0 +1,9 @@
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<App />, div);
ReactDOM.unmountComponentAtNode(div);
});

View File

@ -0,0 +1,14 @@
body {
margin: 0;
padding: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
"Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
monospace;
}

View File

@ -0,0 +1,12 @@
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: http://bit.ly/CRA-PWA
serviceWorker.unregister();

View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3">
<g fill="#61DAFB">
<path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/>
<circle cx="420.9" cy="296.5" r="45.7"/>
<path d="M520.5 78.1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,135 @@
// This optional code is used to register a service worker.
// register() is not called by default.
// This lets the app load faster on subsequent visits in production, and gives
// it offline capabilities. However, it also means that developers (and users)
// will only see deployed updates on subsequent visits to a page, after all the
// existing tabs open on the page have been closed, since previously cached
// resources are updated in the background.
// To learn more about the benefits of this model and instructions on how to
// opt-in, read http://bit.ly/CRA-PWA
const isLocalhost = Boolean(
window.location.hostname === 'localhost' ||
// [::1] is the IPv6 localhost address.
window.location.hostname === '[::1]' ||
// 127.0.0.1/8 is considered localhost for IPv4.
window.location.hostname.match(
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
)
);
export function register(config) {
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
// The URL constructor is available in all browsers that support SW.
const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
if (publicUrl.origin !== window.location.origin) {
// Our service worker won't work if PUBLIC_URL is on a different origin
// from what our page is served on. This might happen if a CDN is used to
// serve assets; see https://github.com/facebook/create-react-app/issues/2374
return;
}
window.addEventListener('load', () => {
const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
if (isLocalhost) {
// This is running on localhost. Let's check if a service worker still exists or not.
checkValidServiceWorker(swUrl, config);
// Add some additional logging to localhost, pointing developers to the
// service worker/PWA documentation.
navigator.serviceWorker.ready.then(() => {
console.log(
'This web app is being served cache-first by a service ' +
'worker. To learn more, visit http://bit.ly/CRA-PWA'
);
});
} else {
// Is not localhost. Just register service worker
registerValidSW(swUrl, config);
}
});
}
}
function registerValidSW(swUrl, config) {
navigator.serviceWorker
.register(swUrl)
.then(registration => {
registration.onupdatefound = () => {
const installingWorker = registration.installing;
if (installingWorker == null) {
return;
}
installingWorker.onstatechange = () => {
if (installingWorker.state === 'installed') {
if (navigator.serviceWorker.controller) {
// At this point, the updated precached content has been fetched,
// but the previous service worker will still serve the older
// content until all client tabs are closed.
console.log(
'New content is available and will be used when all ' +
'tabs for this page are closed. See http://bit.ly/CRA-PWA.'
);
// Execute callback
if (config && config.onUpdate) {
config.onUpdate(registration);
}
} else {
// At this point, everything has been precached.
// It's the perfect time to display a
// "Content is cached for offline use." message.
console.log('Content is cached for offline use.');
// Execute callback
if (config && config.onSuccess) {
config.onSuccess(registration);
}
}
}
};
};
})
.catch(error => {
console.error('Error during service worker registration:', error);
});
}
function checkValidServiceWorker(swUrl, config) {
// Check if the service worker can be found. If it can't reload the page.
fetch(swUrl)
.then(response => {
// Ensure service worker exists, and that we really are getting a JS file.
const contentType = response.headers.get('content-type');
if (
response.status === 404 ||
(contentType != null && contentType.indexOf('javascript') === -1)
) {
// No service worker found. Probably a different app. Reload the page.
navigator.serviceWorker.ready.then(registration => {
registration.unregister().then(() => {
window.location.reload();
});
});
} else {
// Service worker found. Proceed as normal.
registerValidSW(swUrl, config);
}
})
.catch(() => {
console.log(
'No internet connection found. App is running in offline mode.'
);
});
}
export function unregister() {
if ('serviceWorker' in navigator) {
navigator.serviceWorker.ready.then(registration => {
registration.unregister();
});
}
}

View File

@ -16,7 +16,7 @@
"common-tags": "^1.8.0",
"global": "^4.3.2",
"style-loader": "^0.22.1",
"css-loader": "^1.0.0",
"css-loader": "^1.0.1",
"raw-loader": "^0.5.1",
"riot-hot-reload": "^1.0.0",
"riot-compiler": "^3.5.1",

View File

@ -24,7 +24,7 @@
"chalk": "^2.0.1",
"connect-history-api-fallback": "^1.3.0",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0",
"css-loader": "^1.0.1",
"cssnano": "^3.10.0",
"eventsource-polyfill": "^0.9.6",
"express": "^4.14.1",

View File

@ -12,14 +12,19 @@ function cleanup {
trap cleanup EXIT
fixtures_dir='fixtures'
teamcity=0
# parse command-line options
# '-f' sets fixtures directory
while getopts ":uosf:" opt; do
# '-t' adds teamcity reporting
while getopts ":tf:" opt; do
case $opt in
f)
fixtures_dir=$OPTARG
;;
t)
teamcity=1
;;
esac
done
@ -49,7 +54,27 @@ for dir in *
do
# check that storybook starts without errors
cd $dir
if [ $teamcity -eq 1 ]
then
echo "##teamcity[testStarted name='$dir' captureStandardOutput='true']"
fi
echo "Running smoke test in $dir"
yarn storybook --smoke-test
failed=0
yarn storybook --smoke-test || failed=1
if [ $teamcity -eq 1 ]
then
if [ $failed -eq 1 ]
then
echo "##teamcity[testFailed name='$dir']"
fi
echo "##teamcity[testFinished name='$dir']"
elif [ $failed -eq 1 ]
then
exit 1
fi
cd ..
done

View File

@ -11,4 +11,4 @@ cd cra-fixtures
npx create-react-app react-scripts-latest-fixture
cd ..
./run_tests.sh -f cra-fixtures
./run_tests.sh -f cra-fixtures $@

View File

@ -37,7 +37,7 @@
"@storybook/node-logger": "4.0.2",
"@storybook/ui": "4.0.2",
"airbnb-js-shims": "^1 || ^2",
"autoprefixer": "^9.2.1",
"autoprefixer": "^9.3.1",
"babel-plugin-macros": "^2.4.2",
"babel-preset-minify": "^0.5.0",
"boxen": "^2.0.0",
@ -47,7 +47,7 @@
"commander": "^2.19.0",
"common-tags": "^1.8.0",
"core-js": "^2.5.7",
"css-loader": "^1.0.0",
"css-loader": "^1.0.1",
"detect-port": "^1.2.3",
"dotenv-webpack": "^1.5.7",
"ejs": "^2.6.1",
@ -69,7 +69,7 @@
"prop-types": "^15.6.2",
"qs": "^6.5.2",
"raw-loader": "^0.5.1",
"react-dev-utils": "^6.0.5",
"react-dev-utils": "^6.1.0",
"redux": "^4.0.1",
"resolve": "^1.8.1",
"semver": "^5.6.0",

View File

@ -41,26 +41,30 @@ export async function buildStaticStandalone(options) {
}
// compile all resources with webpack and write them to the disk.
logger.info('Building storybook ...');
const webpackCb = (err, stats) => {
if (err || stats.hasErrors()) {
logger.error('Failed to build the storybook');
// eslint-disable-next-line no-unused-expressions
err && logger.error(err.message);
// eslint-disable-next-line no-unused-expressions
stats && stats.hasErrors() && stats.toJson().errors.forEach(e => logger.error(e));
process.exitCode = 1;
return new Promise((resolve, reject) => {
const webpackCb = (err, stats) => {
if (err || stats.hasErrors()) {
logger.error('Failed to build the storybook');
// eslint-disable-next-line no-unused-expressions
err && logger.error(err.message);
// eslint-disable-next-line no-unused-expressions
stats && stats.hasErrors() && stats.toJson().errors.forEach(e => logger.error(e));
process.exitCode = 1;
return reject(err);
}
logger.info('Building storybook completed.');
return resolve(stats);
};
logger.info('Building storybook ...');
const compiler = webpack(config);
if (watch) {
compiler.watch({}, webpackCb);
} else {
compiler.run(webpackCb);
}
logger.info('Building storybook completed.');
};
const compiler = webpack(config);
if (watch) {
compiler.watch({}, webpackCb);
} else {
compiler.run(webpackCb);
}
});
}
export async function buildStatic({ packageJson, ...loadOptions }) {

View File

@ -37,19 +37,18 @@
"lint:md": "remark -q",
"lint:ts": "tslint -p . -c tslint.json -t stylish",
"publish": "lerna publish --exact --concurrency 1 --force-publish",
"publish:alpha": "npm run publish -- --npm-tag=alpha",
"publish:rc": "npm run publish -- --npm-tag=rc",
"publish:next": "npm run publish -- --npm-tag=next",
"repo-dirty-check": "node ./scripts/repo-dirty-check",
"start": "yarn --cwd examples/official-storybook storybook",
"test": "node ./scripts/test.js",
"test-latest-cra": "npm --prefix lib/cli run test-latest-cra"
"test-latest-cra": "yarn --cwd lib/cli run test-latest-cra"
},
"devDependencies": {
"@angular/common": "^7.0.0",
"@angular/common": "^7.0.1",
"@angular/compiler": "^7.0.1",
"@angular/core": "^7.0.1",
"@angular/core": "^7.0.2",
"@angular/forms": "^7.0.1",
"@angular/platform-browser": "^7.0.0",
"@angular/platform-browser": "^7.0.1",
"@angular/platform-browser-dynamic": "^7.0.1",
"@babel/cli": "^7.1.2",
"@babel/core": "^7.1.2",
@ -78,11 +77,11 @@
"danger": "^6.0.2",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.6.0",
"eslint": "^5.7.0",
"eslint": "^5.8.0",
"eslint-config-airbnb": "^17.0.0",
"eslint-config-prettier": "^3.1.0",
"eslint-plugin-import": "^2.13.0",
"eslint-plugin-jest": "^21.25.1",
"eslint-plugin-jest": "^21.26.2",
"eslint-plugin-json": "^1.2.1",
"eslint-plugin-jsx-a11y": "^6.1.2",
"eslint-plugin-prettier": "^3.0.0",
@ -112,7 +111,7 @@
"prettier": "^1.14.3",
"raf": "^3.4.0",
"react-test-renderer": "^16.6.0",
"remark-cli": "^5.0.0",
"remark-cli": "^6.0.0",
"remark-lint": "^6.0.3",
"remark-preset-lint-recommended": "^3.0.2",
"riot-jest-transformer": "^1.0.10",
@ -120,8 +119,8 @@
"svelte-jest": "^0.2.0",
"tslint": "~5.11.0",
"tslint-config-prettier": "^1.15.0",
"tslint-plugin-prettier": "^2.0.0",
"typescript": "^3.1.3"
"tslint-plugin-prettier": "^2.0.1",
"typescript": "^3.1.6"
},
"resolutions": {
"graphql": "^0.13.2"

View File

@ -100,7 +100,7 @@ const tasks = {
name: `Use TeamCity reporter`,
defaultValue: false,
option: '--teamcity',
extraParam: '--testResultsProcessor=jest-teamcity-reporter',
extraParam: '-t --testResultsProcessor=jest-teamcity-reporter',
}),
};

757
yarn.lock

File diff suppressed because it is too large Load Diff