diff --git a/.circleci/config.yml b/.circleci/config.yml index 8e7a099ee28..41926b33775 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,55 +11,94 @@ executors: working_directory: /tmp/storybook docker: - image: circleci/node:10-browsers + environment: + NODE_OPTIONS: --max_old_space_size=4096 resource_class: <> jobs: - install: - executor: sb_node + build: + executor: + class: large + name: sb_node steps: - checkout + - run: + name: Remove examples + command: rm -rf examples/ - restore_cache: - name: Restore core dependencies cache + name: Restore Yarn cache keys: - - core-dependencies-v5-{{ checksum "yarn.lock" }} - - core-dependencies-v5- + - build-yarn-cache-v1--{{ checksum "yarn.lock" }} + - build-yarn-cache-v1-- - run: name: Install dependencies - command: yarn install - - run: - name: Check that yarn.lock is not corrupted - command: yarn repo-dirty-check - - save_cache: - name: Cache core dependencies - key: core-dependencies-v5-{{ checksum "yarn.lock" }} - paths: - - node_modules - - persist_to_workspace: - root: . - paths: - - node_modules - - examples - - addons - - dev-kits - - app - - lib - build: - executor: sb_node - steps: - - checkout - - attach_workspace: - at: . + command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn - run: name: Bootstrap command: yarn bootstrap --core + - save_cache: + name: Save Yarn cache + key: build-yarn-cache-v1--{{ checksum "yarn.lock" }} + paths: + - ~/.cache/yarn - persist_to_workspace: root: . paths: - - examples - addons - dev-kits - app - lib + install-examples-deps: + executor: + class: large + name: sb_node + steps: + - checkout + - restore_cache: + name: Restore Yarn cache + keys: + - install-examples-deps-yarn-cache-v1--{{ checksum "yarn.lock" }} + - install-examples-deps-yarn-cache-v1-- + - run: + name: Install dependencies + command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn + - save_cache: + name: Save Yarn cache + key: install-examples-deps-yarn-cache-v1--{{ checksum "yarn.lock" }} + paths: + - ~/.cache/yarn + - persist_to_workspace: + root: . + paths: + - examples + - node_modules + install-e2e-deps: + executor: + class: large + name: sb_node + steps: + - checkout + - run: + name: Keep only root package + command: rm -rf examples/ && rm -rf addons/ && rm -rf app/ && rm -rf lib/ + - restore_cache: + name: Restore Yarn cache + keys: + - install-e2e-deps-yarn-cache-v1--{{ checksum "yarn.lock" }} + - install-e2e-deps-yarn-cache-v1-- + - run: + name: Install dependencies + command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn + - save_cache: + name: Save Yarn cache + key: install-e2e-deps-yarn-cache-v1--{{ checksum "yarn.lock" }} + paths: + - ~/.cache/yarn + - persist_to_workspace: + root: . + paths: + - examples + - node_modules chromatic: executor: sb_node parallelism: 11 @@ -72,7 +111,9 @@ jobs: command: | yarn run-chromatics packtracker: - executor: sb_node + executor: + class: medium + name: sb_node steps: - checkout - attach_workspace: @@ -83,7 +124,9 @@ jobs: cd examples/official-storybook yarn packtracker examples: - executor: sb_node + executor: + class: large + name: sb_node parallelism: 11 steps: - checkout @@ -98,7 +141,9 @@ jobs: paths: - built-storybooks publish: - executor: sb_node + executor: + class: large + name: sb_node steps: - checkout - attach_workspace: @@ -111,6 +156,9 @@ jobs: paths: - .verdaccio-cache examples-v2: + executor: + class: large + name: sb_node docker: - image: cypress/included:4.7.0 environment: @@ -195,7 +243,9 @@ jobs: destination: cypress smoke-tests: - executor: sb_node + executor: + class: medium + name: sb_node steps: - checkout - attach_workspace: @@ -310,30 +360,35 @@ jobs: name: Upload coverage command: yarn coverage + workflows: test: jobs: - - install - - build: - requires: - - install + - build + - install-e2e-deps + - install-examples-deps - lint: requires: + - install-examples-deps - build - examples: requires: + - install-examples-deps - build - e2e: requires: - examples - smoke-tests: requires: + - install-examples-deps - build - packtracker: requires: + - install-examples-deps - build - test: requires: + - install-examples-deps - build - coverage: requires: @@ -343,6 +398,7 @@ workflows: - examples - publish: requires: + - install-e2e-deps - build - examples-v2: requires: diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 25634de47a6..4e2d77bfa69 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -23,7 +23,7 @@ If applicable, add screenshots to help explain your problem. **Code snippets** If applicable, add code samples to help explain your problem. -**System:** +**System** Please paste the results of `npx sb@next info` here. **Additional context** diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 5bdf5059fbf..af7b20b7de3 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -4,7 +4,7 @@ about: Suggest an idea for this project --- -**Is your feature request related to a problem? Please describe.** +**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** @@ -13,7 +13,7 @@ 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?** +**Are you able to assist to bring the feature to reality?** no | yes, I can... **Additional context** diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 563677c8026..6cf54b24835 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -12,7 +12,7 @@ If your answer is yes to any of these, please make sure to include it in your PR -| Field | Framework | Description | Type | -| :------------------------------- | :-------- | :-------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- | -| **check** | All | Optionally run fork-ts-checker-webpack-plugin | boolean | -| **checkOptions** | All | Options to pass to fork-ts-checker-webpack-plugin if it's enabled | [See docs](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin) | -| **reactDocgen** | React | Which react docgen processor to run: `"react-docgen-typescript"`, `"react-docgen"`, `false` | string or false | -| **reactDocgenTypescriptOptions** | React | Options to pass to react-docgen-typescript-plugin if react-docgen-typescript is enabled. | [See docs](https://github.com/hipstersmoothie/react-docgen-typescript-plugin) | +| Field | Framework | Description | Type | +| :------------------------------- | :-------- | :------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------- | +| **check** | All | Optionally run fork-ts-checker-webpack-plugin | boolean | +| **checkOptions** | All | Options to pass to fork-ts-checker-webpack-plugin if it's enabled | [See docs](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/blob/v4.1.6/README.md#options) | +| **reactDocgen** | React | Which react docgen processor to run: `"react-docgen-typescript"`, `"react-docgen"`, `false` | string or false | +| **reactDocgenTypescriptOptions** | React | Options to pass to react-docgen-typescript-plugin if react-docgen-typescript is enabled. | [See docs](https://github.com/hipstersmoothie/react-docgen-typescript-plugin) | diff --git a/docs/essentials/backgrounds.md b/docs/essentials/backgrounds.md index 271eb4de662..6c308b40f7b 100644 --- a/docs/essentials/backgrounds.md +++ b/docs/essentials/backgrounds.md @@ -13,7 +13,7 @@ The backgrounds toolbar item allows you to adjust the background that your story ## Configuration -By default, the background toolbar presents you with a light and dark background. +By default, the backgrounds toolbar presents you with a light and dark background. But you're not restricted to these two backgrounds, you can configure your own set of colors with the `parameters.backgrounds` [parameter](../writing-stories/parameters.md) in your [`.storybook/preview.js`](../configure/overview.md#configure-story-rendering): @@ -27,25 +27,27 @@ But you're not restricted to these two backgrounds, you can configure your own s +If you define the `default` property, the backgrounds toolbar will set that color for every story where the parameter is applied to. If you don't set it, the colors will be available but not automatically set when a story is rendered. + You can also set backgrounds on per-story or per-component basis by using [parameter inheritance](../writing-stories/parameters.md#component-parameters): -You can also only override a single key on the background parameter, for instance to set a different default value for a single story: +You can also only override a single key on the backgrounds parameter, for instance to set a different default value for a single story: @@ -57,8 +59,38 @@ If you want to disable backgrounds in a story, you can do so by setting the `bac + +## Grid + +Backgrounds toolbar also comes with a Grid selector. This way you can easily see if your components are aligned. + +By default you don't need to configure anything in order to use it, but the properties of the grid are fully configurable. + +Each of these properties have the following default values in case they are not passed: + + + + + + + +If you wish to disable the grid in a story, you can do so by setting the `backgrounds` parameter like so: + + + + + + \ No newline at end of file diff --git a/docs/essentials/viewport.md b/docs/essentials/viewport.md index c1fd0cb3e00..f1880743dec 100644 --- a/docs/essentials/viewport.md +++ b/docs/essentials/viewport.md @@ -120,6 +120,7 @@ You can change your story through [parameters](../writing-stories/parameters.md) diff --git a/docs/frameworks.js b/docs/frameworks.js index b9e92ba0f1a..6bf0e9f75be 100644 --- a/docs/frameworks.js +++ b/docs/frameworks.js @@ -109,6 +109,11 @@ module.exports = { unsupported: [], path: 'writing-docs/doc-blocks#source', }, + { + name: 'Dynamic source', + supported: ['react'], + path: 'writing-docs/doc-blocks#source', + }, { name: 'Args Table', supported: ['react', 'vue', 'angular', 'html', 'ember', 'web-components'], diff --git a/docs/get-started/examples.md b/docs/get-started/examples.md index 4f98fc0ef71..a25f893b870 100644 --- a/docs/get-started/examples.md +++ b/docs/get-started/examples.md @@ -19,12 +19,15 @@ See how to build UIs using a [component driven](https://www.componentdriven.org/ - [BBC Psammead](https://bbc.github.io/psammead/?path=/story/components-brand--without-brand-link) - [The Guardian](https://master--5dfcbf3012392c0020e7140b.chromatic.com) - + +--> ## Design systems and component libraries @@ -45,9 +48,12 @@ Learn how leading teams build design systems. - [AnyVision UI](http://storybook.anyvision.co/) - [Skyscanner Backpack](https://backpack.github.io/storybook/) - [GitLab UI](https://gitlab-org.gitlab.io/gitlab-ui) - + +--> diff --git a/docs/snippets/common/component-story-custom-source.js.mdx b/docs/snippets/common/component-story-custom-source.js.mdx index 6a2d6cfb1b5..107466a8ca4 100644 --- a/docs/snippets/common/component-story-custom-source.js.mdx +++ b/docs/snippets/common/component-story-custom-source.js.mdx @@ -6,8 +6,8 @@ export const CustomSource = () => Template.bind({}); CustomSource.parameters = { docs: { source: { - code: 'Some custom string here'; + code: 'Some custom string here' } }, }; -``` \ No newline at end of file +``` diff --git a/docs/snippets/common/button-story-configure-backgrounds.js.mdx b/docs/snippets/common/storybook-addon-backgrounds-configure-backgrounds.js.mdx similarity index 100% rename from docs/snippets/common/button-story-configure-backgrounds.js.mdx rename to docs/snippets/common/storybook-addon-backgrounds-configure-backgrounds.js.mdx diff --git a/docs/snippets/common/storybook-addon-backgrounds-configure-grid.js.mdx b/docs/snippets/common/storybook-addon-backgrounds-configure-grid.js.mdx new file mode 100644 index 00000000000..0ce5ab9f777 --- /dev/null +++ b/docs/snippets/common/storybook-addon-backgrounds-configure-grid.js.mdx @@ -0,0 +1,17 @@ +```js +// Button.stories.js + +// To apply a grid to all stories of Button: +export default { + title: 'Button', + parameters: { + grid: { + cellSize: 20, + opacity: 0.5, + cellAmount: 5, + offsetX: 16, // default is 0 if story has 'fullscreen' layout, 16 if layout is 'padded' + offsetY: 16, // default is 0 if story has 'fullscreen' layout, 16 if layout is 'padded' + }, + }, +}; +``` \ No newline at end of file diff --git a/docs/snippets/common/button-story-disable-backgrounds.js.mdx b/docs/snippets/common/storybook-addon-backgrounds-disable-backgrounds.js.mdx similarity index 100% rename from docs/snippets/common/button-story-disable-backgrounds.js.mdx rename to docs/snippets/common/storybook-addon-backgrounds-disable-backgrounds.js.mdx diff --git a/docs/snippets/common/storybook-addon-backgrounds-disable-grid.js.mdx b/docs/snippets/common/storybook-addon-backgrounds-disable-grid.js.mdx new file mode 100644 index 00000000000..c64222a064a --- /dev/null +++ b/docs/snippets/common/storybook-addon-backgrounds-disable-grid.js.mdx @@ -0,0 +1,12 @@ +```js +// Button.stories.js + +export const Large = Template.bind({}); +Large.parameters = { + backgrounds: { + grid: { + disable: true + } + } +}; +``` diff --git a/docs/snippets/common/button-story-override-background-color.js.mdx b/docs/snippets/common/storybook-addon-backgrounds-override-background-color.js.mdx similarity index 100% rename from docs/snippets/common/button-story-override-background-color.js.mdx rename to docs/snippets/common/storybook-addon-backgrounds-override-background-color.js.mdx diff --git a/docs/snippets/common/storybook-extract-result.json.mdx b/docs/snippets/common/storybook-extract-result.json.mdx new file mode 100644 index 00000000000..d3edbcaceb4 --- /dev/null +++ b/docs/snippets/common/storybook-extract-result.json.mdx @@ -0,0 +1,38 @@ +```json +{ + "v": 2, + "globalParameters": {}, + "kindParameters": { + "components/myComponent": { + "fileName": 445, + "framework": "react" + }, + "components/myOtherComponent": { + "fileName": 447, + "framework": "react" + } + }, + "stories": { + "components-mycomponent--simple": { + "id": "components-mycomponent--simple", + "name": "Simple", + "kind": "components/myComponent", + "story": "Simple", + "parameters": { + "__id": "components-mycomponent--simple", + "__isArgsStory": true + } + }, + "components-myothercomponent--simple": { + "id": "components-myothercomponent--simple", + "name": "Simple", + "kind": "components/myothercomponent", + "story": "Simple", + "parameters": { + "__id": "components-myothercomponent--simple", + "__isArgsStory": true + } + } + } +} +``` \ No newline at end of file diff --git a/docs/snippets/common/storybook-generated-argtypes.js.mdx b/docs/snippets/common/storybook-generated-argtypes.js.mdx index de4a45b8a2a..cd8f236ad88 100644 --- a/docs/snippets/common/storybook-generated-argtypes.js.mdx +++ b/docs/snippets/common/storybook-generated-argtypes.js.mdx @@ -8,10 +8,10 @@ const argTypes = { table: { type: { summary: 'string' }, defaultValue: { summary: 'Hello' }, - } + }, control: { type: 'text' } } } -``` \ No newline at end of file +``` diff --git a/docs/snippets/common/storybook-preview-configure-background-colors.js.mdx b/docs/snippets/common/storybook-preview-configure-background-colors.js.mdx index 68fc18fc452..e18e3488172 100644 --- a/docs/snippets/common/storybook-preview-configure-background-colors.js.mdx +++ b/docs/snippets/common/storybook-preview-configure-background-colors.js.mdx @@ -2,17 +2,18 @@ // .storybook/preview.js export const parameters = { -backgrounds: { + backgrounds: { default: 'twitter', values: [ - { - name: 'twitter', - value: '#00aced' - }, - { - name: 'facebook', - value: '#3b5998' - }, - ], - } -``` \ No newline at end of file + { + name: 'twitter', + value: '#00aced', + }, + { + name: 'facebook', + value: '#3b5998', + }, + ], + }, +}; +``` diff --git a/docs/snippets/react/button-story.tsx.mdx b/docs/snippets/react/button-story.ts.mdx similarity index 100% rename from docs/snippets/react/button-story.tsx.mdx rename to docs/snippets/react/button-story.ts.mdx diff --git a/docs/snippets/react/storybook-preview-with-styled-components-decorator.js.mdx b/docs/snippets/react/storybook-preview-with-styled-components-decorator.js.mdx index e1b8408fe5c..78009bf6b61 100644 --- a/docs/snippets/react/storybook-preview-with-styled-components-decorator.js.mdx +++ b/docs/snippets/react/storybook-preview-with-styled-components-decorator.js.mdx @@ -1,6 +1,7 @@ ```js // .storybook/preview.js +import React from "react"; import { ThemeProvider } from 'styled-components'; export const decorators = [ @@ -10,4 +11,4 @@ export const decorators = [ ), ]; -``` \ No newline at end of file +``` diff --git a/docs/snippets/react/your-component.js.mdx b/docs/snippets/react/your-component.js.mdx index cd5b273a132..4c08bc781be 100644 --- a/docs/snippets/react/your-component.js.mdx +++ b/docs/snippets/react/your-component.js.mdx @@ -4,7 +4,7 @@ import React from 'react'; import { YourComponent } from './YourComponent'; -// This default export determines where you story goes in the story list +// This default export determines where your story goes in the story list export default { title: 'YourComponent', component: YourComponent, diff --git a/docs/snippets/react/your-component.ts.mdx b/docs/snippets/react/your-component.ts.mdx index 00ad9bbd06f..9b76dd3a3fd 100644 --- a/docs/snippets/react/your-component.ts.mdx +++ b/docs/snippets/react/your-component.ts.mdx @@ -4,7 +4,7 @@ import React from 'react'; import { YourComponent } from './YourComponent'; -// This default export determines where you story goes in the story list +// This default export determines where your story goes in the story list export default { title: 'YourComponent', component: YourComponent, diff --git a/docs/snippets/vue/button-story-component-args-primary.js.mdx b/docs/snippets/vue/button-story-component-args-primary.js.mdx new file mode 100644 index 00000000000..579d4b5880b --- /dev/null +++ b/docs/snippets/vue/button-story-component-args-primary.js.mdx @@ -0,0 +1,14 @@ +```js +// Button.stories.js + +import Button from './Button'; + +export default { + title: 'Button', + component: Button, + args: { + // Now all Button stories will be primary. + primary: true, + }, +}; +``` diff --git a/docs/snippets/vue/button-story-component-decorator.js.mdx b/docs/snippets/vue/button-story-component-decorator.js.mdx new file mode 100644 index 00000000000..6b2e8117162 --- /dev/null +++ b/docs/snippets/vue/button-story-component-decorator.js.mdx @@ -0,0 +1,11 @@ +```js +// Button.stories.js + +import Button from './Button'; + +export default { + title: 'Components/Button', + component: Button, + decorators: [() => ({ template: '
' })], +}; +``` diff --git a/docs/snippets/vue/button-story-decorator.js.mdx b/docs/snippets/vue/button-story-decorator.js.mdx new file mode 100644 index 00000000000..7274d3f3dd7 --- /dev/null +++ b/docs/snippets/vue/button-story-decorator.js.mdx @@ -0,0 +1,13 @@ +```js +// Button.stories.js + +import Button from './Button'; + +export default { title: 'Components/Button' }; + +export const Primary = () => ({ + components: { Button }, + template: ''; }; -export const Script = () => - '
JS alert
'; +export const Script = () => '
JS alert
'; diff --git a/examples/marko-cli/package.json b/examples/marko-cli/package.json index 2aa4f963ee7..75fdff700f8 100644 --- a/examples/marko-cli/package.json +++ b/examples/marko-cli/package.json @@ -1,6 +1,6 @@ { "name": "marko-cli", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "description": "Demo of how to build an app using marko-starter", "repository": { @@ -23,13 +23,13 @@ "marko-starter": "^2.1.0" }, "devDependencies": { - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/marko": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/marko": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", "prettier": "~2.0.5", "webpack": "^4.33.0" }, diff --git a/examples/mithril-kitchen-sink/package.json b/examples/mithril-kitchen-sink/package.json index ec1a967055c..cbce1cf3c65 100644 --- a/examples/mithril-kitchen-sink/package.json +++ b/examples/mithril-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "mithril-example", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build-storybook": "build-storybook", @@ -10,17 +10,17 @@ "mithril": "^1.1.6" }, "devDependencies": { - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/mithril": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/mithril": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", "webpack": "^4.33.0" }, "storybook": { diff --git a/examples/official-storybook/main.ts b/examples/official-storybook/main.ts index 6e6f2df5df7..c369fe9d2f3 100644 --- a/examples/official-storybook/main.ts +++ b/examples/official-storybook/main.ts @@ -1,4 +1,4 @@ -import type { StorybookConfig } from '@storybook/core/types'; +import type { StorybookConfig } from '@storybook/react/types'; module.exports = { stories: [ @@ -8,6 +8,9 @@ module.exports = { './stories/**/*.stories.@(js|ts|tsx|mdx)', './../../addons/docs/**/*.stories.tsx', ], + reactOptions: { + fastRefresh: true, + }, addons: [ { name: '@storybook/addon-docs', diff --git a/examples/official-storybook/package.json b/examples/official-storybook/package.json index e33a7733c98..b11c875540e 100644 --- a/examples/official-storybook/package.json +++ b/examples/official-storybook/package.json @@ -1,6 +1,6 @@ { "name": "official-storybook", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build-storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true build-storybook -c ./", @@ -14,33 +14,33 @@ }, "devDependencies": { "@packtracker/webpack-plugin": "^2.0.1", - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-controls": "6.1.0-alpha.10", - "@storybook/addon-cssresources": "6.1.0-alpha.10", - "@storybook/addon-design-assets": "6.1.0-alpha.10", - "@storybook/addon-docs": "6.1.0-alpha.10", - "@storybook/addon-events": "6.1.0-alpha.10", - "@storybook/addon-graphql": "6.1.0-alpha.10", - "@storybook/addon-jest": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-queryparams": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storyshots-puppeteer": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-toolbars": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/cli": "6.1.0-alpha.10", - "@storybook/components": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-controls": "6.1.0-alpha.20", + "@storybook/addon-cssresources": "6.1.0-alpha.20", + "@storybook/addon-design-assets": "6.1.0-alpha.20", + "@storybook/addon-docs": "6.1.0-alpha.20", + "@storybook/addon-events": "6.1.0-alpha.20", + "@storybook/addon-graphql": "6.1.0-alpha.20", + "@storybook/addon-jest": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-queryparams": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storyshots-puppeteer": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-toolbars": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/cli": "6.1.0-alpha.20", + "@storybook/components": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", "@storybook/design-system": "^5.1.0", - "@storybook/node-logger": "6.1.0-alpha.10", - "@storybook/react": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", - "@storybook/theming": "6.1.0-alpha.10", + "@storybook/node-logger": "6.1.0-alpha.20", + "@storybook/react": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", + "@storybook/theming": "6.1.0-alpha.20", "chromatic": "^5.0.0", "cors": "^2.8.5", "cross-env": "^7.0.0", diff --git a/examples/official-storybook/stories/addon-backgrounds.stories.js b/examples/official-storybook/stories/addon-backgrounds.stories.js index a2094875913..3ad15dc5a00 100644 --- a/examples/official-storybook/stories/addon-backgrounds.stories.js +++ b/examples/official-storybook/stories/addon-backgrounds.stories.js @@ -4,7 +4,6 @@ import BaseButton from '../components/BaseButton'; export default { title: 'Addons/Backgrounds', - parameters: { backgrounds: { default: 'dark', @@ -19,18 +18,22 @@ export default { }, }; -export const Story1 = () => ( - -); +const Template = (args) => ; -Story1.storyName = 'story 1'; +export const Story1 = Template.bind({}); +Story1.args = { + label: 'You should be able to switch backgrounds for this story', +}; -export const Story2 = () => ; - -Story2.storyName = 'story 2'; - -export const Overridden = () => ; +export const Story2 = Template.bind({}); +Story2.args = { + label: 'This one too!', +}; +export const Overridden = Template.bind({}); +Overridden.args = { + label: 'This one should have different backgrounds', +}; Overridden.parameters = { backgrounds: { default: 'blue', @@ -41,20 +44,74 @@ Overridden.parameters = { }, }; -export const SkippedViaDisableTrue = () => ( - -); +export const WithGradient = Template.bind({}); +WithGradient.args = { + label: 'This one should have a nice gradient', +}; +WithGradient.parameters = { + backgrounds: { + default: 'gradient', + values: [ + { + name: 'gradient', + value: + 'linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%)', + }, + ], + }, +}; -SkippedViaDisableTrue.storyName = 'skipped via disable: true'; +export const WithImage = Template.bind({}); +WithImage.args = { + label: 'This one should have an image background', +}; +WithImage.parameters = { + backgrounds: { + default: 'space', + values: [ + { + name: 'space', + value: 'url(https://cdn.pixabay.com/photo/2017/08/30/01/05/milky-way-2695569_960_720.jpg)', + }, + ], + }, +}; -SkippedViaDisableTrue.parameters = { +export const DisabledBackgrounds = Template.bind({}); +DisabledBackgrounds.args = { + label: 'This one should not use backgrounds', +}; +DisabledBackgrounds.parameters = { backgrounds: { disable: true }, }; -export const GridCellSize = () => ( - -); - -GridCellSize.parameters = { - grid: { cellSize: 10 }, +export const DisabledGrid = Template.bind({}); +DisabledGrid.args = { + label: 'This one should not use grid', +}; +DisabledGrid.parameters = { + backgrounds: { + grid: { disable: true }, + }, +}; +export const GridCellProperties = Template.bind({}); +GridCellProperties.args = { + label: 'This one should have different grid properties', +}; +GridCellProperties.parameters = { + backgrounds: { + grid: { + cellSize: 10, + cellAmount: 4, + opacity: 0.2, + }, + }, +}; + +export const AlignedGridWhenFullScreen = Template.bind({}); +AlignedGridWhenFullScreen.args = { + label: 'Grid should have an offset of 0 when in fullscreen', +}; +AlignedGridWhenFullScreen.parameters = { + layout: 'fullscreen', }; diff --git a/examples/official-storybook/stories/addon-design-assets.stories.js b/examples/official-storybook/stories/addon-design-assets.stories.js index aeaab6f4324..05361efae06 100644 --- a/examples/official-storybook/stories/addon-design-assets.stories.js +++ b/examples/official-storybook/stories/addon-design-assets.stories.js @@ -65,7 +65,7 @@ NamedAssets.parameters = { }; export const UrlReplacement = () => ( -
This story should have a webpge, with within it's url the storyId
+
This story should have a webpage, with within it's url the storyId
); UrlReplacement.storyName = 'url replacement'; diff --git a/examples/official-storybook/stories/addon-docs/forward-ref.stories.js b/examples/official-storybook/stories/addon-docs/forward-ref.stories.js index 2de324de906..74b3ce502dc 100644 --- a/examples/official-storybook/stories/addon-docs/forward-ref.stories.js +++ b/examples/official-storybook/stories/addon-docs/forward-ref.stories.js @@ -4,19 +4,25 @@ import { DocgenButton } from '../../components/DocgenButton'; export default { title: 'Addons/Docs/ForwardRef', component: ForwardedButton, - parameters: { chromatic: { disable: true } }, + parameters: { + chromatic: { disable: true }, + docs: { source: { type: 'dynamic' } }, + }, }; -const ForwardedButton = React.forwardRef((props = { label: '' }, ref) => ( - -)); +const ForwardedButton = React.forwardRef(function ForwardedButton(props = { label: '' }, ref) { + return ; +}); export const DisplaysCorrectly = () => ; DisplaysCorrectly.storyName = 'Displays forwarded ref components correctly (default props)'; -// eslint-disable-next-line react/prop-types -const ForwardedDestructuredButton = React.forwardRef(({ label = '', ...props }, ref) => ( - -)); +const ForwardedDestructuredButton = React.forwardRef(function ForwardedDestructuredButton( + // eslint-disable-next-line react/prop-types + { label = '', ...props }, + ref +) { + return ; +}); export const AlsoDisplaysCorrectly = () => ; AlsoDisplaysCorrectly.storyName = 'Displays forwarded ref components correctly (destructured props)'; diff --git a/examples/official-storybook/stories/addon-docs/react-memo.stories.js b/examples/official-storybook/stories/addon-docs/memo.stories.js similarity index 58% rename from examples/official-storybook/stories/addon-docs/react-memo.stories.js rename to examples/official-storybook/stories/addon-docs/memo.stories.js index 44c0a1fe784..6c41f65da2f 100644 --- a/examples/official-storybook/stories/addon-docs/react-memo.stories.js +++ b/examples/official-storybook/stories/addon-docs/memo.stories.js @@ -1,13 +1,16 @@ import React from 'react'; import { DocgenButton } from '../../components/DocgenButton'; -const ButtonWithMemo = React.memo((props) => ); +const ButtonWithMemo = React.memo(DocgenButton); export default { - title: 'Addons/Docs/ButtonWithMemo', + title: 'Addons/Docs/Memo', component: ButtonWithMemo, - parameters: { chromatic: { disable: true } }, + parameters: { + chromatic: { disable: true }, + docs: { source: { type: 'dynamic' } }, + }, }; -export const displaysCorrectly = () => ; +export const displaysCorrectly = () => ; displaysCorrectly.storyName = 'Displays components with memo correctly'; diff --git a/examples/official-storybook/stories/core/prefix.stories.js b/examples/official-storybook/stories/core/prefix.stories.js index 1531ef4391b..0010f1ddfe6 100644 --- a/examples/official-storybook/stories/core/prefix.stories.js +++ b/examples/official-storybook/stories/core/prefix.stories.js @@ -1,4 +1,4 @@ -// Very simple stories to show what happens when one story's id is a prefix of anothers' +// Very simple stories to show what happens when one story's id is a prefix of another's // Repro for https://github.com/storybookjs/storybook/issues/11571 export default { diff --git a/examples/official-storybook/stories/core/unicode.stories.js b/examples/official-storybook/stories/core/unicode.stories.js index 5da6025bd80..e85392f4a87 100644 --- a/examples/official-storybook/stories/core/unicode.stories.js +++ b/examples/official-storybook/stories/core/unicode.stories.js @@ -5,3 +5,5 @@ storiesOf('Core/Unicode', module) .add('😀', () =>

❤️

) .add('Кнопки', () =>

нормальный

) .add('바보', () =>

🤷🏻‍♂️

); + +storiesOf('Core/Unicode/Primário', module).add('😀', () =>

❤️

); diff --git a/examples/preact-kitchen-sink/package.json b/examples/preact-kitchen-sink/package.json index e63b38097bb..222be02154a 100644 --- a/examples/preact-kitchen-sink/package.json +++ b/examples/preact-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "preact-example", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build": "cross-env NODE_ENV=production webpack --progress --hide-modules", @@ -13,19 +13,19 @@ "preact": "^8.4.2" }, "devDependencies": { - "@babel/core": "^7.9.6", - "@babel/plugin-transform-runtime": "^7.9.6", - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/preact": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", + "@babel/core": "^7.11.5", + "@babel/plugin-transform-runtime": "^7.11.5", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/preact": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", "babel-loader": "^8.0.4", "cross-env": "^7.0.0", "file-loader": "^6.0.0", diff --git a/examples/rax-kitchen-sink/package.json b/examples/rax-kitchen-sink/package.json index ae424dce4a7..10ffdaf08b4 100644 --- a/examples/rax-kitchen-sink/package.json +++ b/examples/rax-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "rax-kitchen-sink", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build": "build-scripts build", @@ -19,21 +19,21 @@ }, "devDependencies": { "@alib/build-scripts": "^0.1.8", - "@babel/preset-react": "^7.7.4", - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-events": "6.1.0-alpha.10", - "@storybook/addon-jest": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/rax": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", - "@storybook/theming": "6.1.0-alpha.10", + "@babel/preset-react": "^7.10.4", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-events": "6.1.0-alpha.20", + "@storybook/addon-jest": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/rax": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", + "@storybook/theming": "6.1.0-alpha.20", "babel-eslint": "^10.0.3", "build-plugin-rax-app": "^0.2.0", "stylesheet-loader": "^0.8.0" diff --git a/examples/react-ts/main.ts b/examples/react-ts/main.ts index fa17a64d7db..c72b926b43a 100644 --- a/examples/react-ts/main.ts +++ b/examples/react-ts/main.ts @@ -1,4 +1,4 @@ -import type { StorybookConfig } from '@storybook/core/types'; +import type { StorybookConfig } from '@storybook/react/types'; module.exports = { stories: ['./src/*.stories.*'], diff --git a/examples/react-ts/package.json b/examples/react-ts/package.json index 1b960b07eb5..957b12b1fbe 100644 --- a/examples/react-ts/package.json +++ b/examples/react-ts/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/example-react-ts", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build-storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true build-storybook -c ./", @@ -8,9 +8,9 @@ "storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true start-storybook -p 9011 -c ./ --no-dll" }, "dependencies": { - "@storybook/addon-controls": "6.1.0-alpha.10", - "@storybook/addon-essentials": "6.1.0-alpha.10", - "@storybook/react": "6.1.0-alpha.10", + "@storybook/addon-controls": "6.1.0-alpha.20", + "@storybook/addon-essentials": "6.1.0-alpha.20", + "@storybook/react": "6.1.0-alpha.20", "@types/react": "^16.9.35", "@types/react-dom": "^16.9.8", "prop-types": "15.7.2", diff --git a/examples/riot-kitchen-sink/package.json b/examples/riot-kitchen-sink/package.json index 59959df758f..68fd0f935ad 100644 --- a/examples/riot-kitchen-sink/package.json +++ b/examples/riot-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "riot-example", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build": "cross-env NODE_ENV=production webpack --progress --hide-modules", @@ -14,18 +14,18 @@ "riot-hot-reload": "^1.0.0" }, "devDependencies": { - "@babel/core": "^7.9.6", - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/riot": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", + "@babel/core": "^7.11.5", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/riot": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", "babel-loader": "^8.0.4", "cross-env": "^7.0.0", "file-loader": "^6.0.0", diff --git a/examples/server-kitchen-sink/package.json b/examples/server-kitchen-sink/package.json index 24232536dab..af290e0fe9c 100644 --- a/examples/server-kitchen-sink/package.json +++ b/examples/server-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "server-kitchen-sink", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "description": "", "keywords": [], @@ -14,13 +14,13 @@ "storybook": "SERVER_PORT=1137 start-storybook -p 9006 --quiet" }, "devDependencies": { - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-controls": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/node-logger": "6.1.0-alpha.10", - "@storybook/server": "6.1.0-alpha.10", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-controls": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/node-logger": "6.1.0-alpha.20", + "@storybook/server": "6.1.0-alpha.20", "concurrently": "^5.2.0", "cors": "^2.8.5", "express": "~4.17.1", diff --git a/examples/server-kitchen-sink/public/css/button.css b/examples/server-kitchen-sink/public/css/button.css new file mode 100644 index 00000000000..2a9d9215b84 --- /dev/null +++ b/examples/server-kitchen-sink/public/css/button.css @@ -0,0 +1,3 @@ +button { + color: red; +} \ No newline at end of file diff --git a/examples/server-kitchen-sink/public/js/alert.js b/examples/server-kitchen-sink/public/js/alert.js new file mode 100644 index 00000000000..6031661d766 --- /dev/null +++ b/examples/server-kitchen-sink/public/js/alert.js @@ -0,0 +1,4 @@ +function triggerAlert() { + // eslint-disable-next-line no-alert, no-undef + alert('hello'); +} diff --git a/examples/server-kitchen-sink/server.js b/examples/server-kitchen-sink/server.js index ea25081f091..b443b5c6c1d 100644 --- a/examples/server-kitchen-sink/server.js +++ b/examples/server-kitchen-sink/server.js @@ -9,6 +9,7 @@ const port = process.env.PORT || 8080; const app = express(); app.use(cors()); app.use(morgan('dev')); +app.use(express.static(path.join(__dirname, 'public'))); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'pug'); diff --git a/examples/server-kitchen-sink/stories/scripts.stories.json b/examples/server-kitchen-sink/stories/scripts.stories.json new file mode 100644 index 00000000000..8edb51ffafd --- /dev/null +++ b/examples/server-kitchen-sink/stories/scripts.stories.json @@ -0,0 +1,29 @@ +{ + "title": "Html Content/Scripts", + "stories": [ + { + "name": "Head Inline", + "parameters": { + "server": { "id": "scripts/head_inline" } + } + }, + { + "name": "Head Src" , + "parameters": { + "server": { "id": "scripts/head_src" } + } + }, + { + "name": "Body Inline", + "parameters": { + "server": { "id": "scripts/body_inline" } + } + }, + { + "name": "Body Src", + "parameters": { + "server": { "id": "scripts/body_src" } + } + } + ] +} diff --git a/examples/server-kitchen-sink/stories/styles.stories.json b/examples/server-kitchen-sink/stories/styles.stories.json new file mode 100644 index 00000000000..8a81304b856 --- /dev/null +++ b/examples/server-kitchen-sink/stories/styles.stories.json @@ -0,0 +1,29 @@ +{ + "title": "Html Content/Styles", + "stories": [ + { + "name": "Head Inline", + "parameters": { + "server": { "id": "styles/head_inline" } + } + }, + { + "name": "Head Src" , + "parameters": { + "server": { "id": "styles/head_src" } + } + }, + { + "name": "Body Inline", + "parameters": { + "server": { "id": "styles/body_inline" } + } + }, + { + "name": "Body Src", + "parameters": { + "server": { "id": "styles/body_src" } + } + } + ] +} diff --git a/examples/server-kitchen-sink/views/scripts/body_inline.pug b/examples/server-kitchen-sink/views/scripts/body_inline.pug new file mode 100644 index 00000000000..9bd1e20577d --- /dev/null +++ b/examples/server-kitchen-sink/views/scripts/body_inline.pug @@ -0,0 +1,3 @@ +include includes/button.pug +include includes/alert_script_inline.pug + diff --git a/examples/server-kitchen-sink/views/scripts/body_src.pug b/examples/server-kitchen-sink/views/scripts/body_src.pug new file mode 100644 index 00000000000..9e188f875fc --- /dev/null +++ b/examples/server-kitchen-sink/views/scripts/body_src.pug @@ -0,0 +1,2 @@ +include includes/button.pug +include includes/alert_script_src.pug diff --git a/examples/server-kitchen-sink/views/scripts/head_inline.pug b/examples/server-kitchen-sink/views/scripts/head_inline.pug new file mode 100644 index 00000000000..6d6b6f95f6f --- /dev/null +++ b/examples/server-kitchen-sink/views/scripts/head_inline.pug @@ -0,0 +1,7 @@ + +doctype html +html + head + include includes/alert_script_inline.pug + body + include includes/button.pug diff --git a/examples/server-kitchen-sink/views/scripts/head_src.pug b/examples/server-kitchen-sink/views/scripts/head_src.pug new file mode 100644 index 00000000000..92c31ad6a8c --- /dev/null +++ b/examples/server-kitchen-sink/views/scripts/head_src.pug @@ -0,0 +1,7 @@ + +doctype html +html + head + include includes/alert_script_src.pug + body + include includes/button.pug diff --git a/examples/server-kitchen-sink/views/scripts/includes/alert_script_inline.pug b/examples/server-kitchen-sink/views/scripts/includes/alert_script_inline.pug new file mode 100644 index 00000000000..4281d7a7b08 --- /dev/null +++ b/examples/server-kitchen-sink/views/scripts/includes/alert_script_inline.pug @@ -0,0 +1,4 @@ +script. + function triggerAlert() { + alert('hello'); + } \ No newline at end of file diff --git a/examples/server-kitchen-sink/views/scripts/includes/alert_script_src.pug b/examples/server-kitchen-sink/views/scripts/includes/alert_script_src.pug new file mode 100644 index 00000000000..0808952acb7 --- /dev/null +++ b/examples/server-kitchen-sink/views/scripts/includes/alert_script_src.pug @@ -0,0 +1 @@ +script(src='http://localhost:1337/js/alert.js') \ No newline at end of file diff --git a/examples/server-kitchen-sink/views/scripts/includes/button.pug b/examples/server-kitchen-sink/views/scripts/includes/button.pug new file mode 100644 index 00000000000..adfbe870d1a --- /dev/null +++ b/examples/server-kitchen-sink/views/scripts/includes/button.pug @@ -0,0 +1 @@ +button(onclick='triggerAlert()') Hello Button \ No newline at end of file diff --git a/examples/server-kitchen-sink/views/styles/body_inline.pug b/examples/server-kitchen-sink/views/styles/body_inline.pug new file mode 100644 index 00000000000..dc1b52bc963 --- /dev/null +++ b/examples/server-kitchen-sink/views/styles/body_inline.pug @@ -0,0 +1,3 @@ +include includes/button.pug +include includes/button_styles_inline.pug + diff --git a/examples/server-kitchen-sink/views/styles/body_src.pug b/examples/server-kitchen-sink/views/styles/body_src.pug new file mode 100644 index 00000000000..fb5a2e23874 --- /dev/null +++ b/examples/server-kitchen-sink/views/styles/body_src.pug @@ -0,0 +1,2 @@ +include includes/button.pug +include includes/button_styles_src.pug diff --git a/examples/server-kitchen-sink/views/styles/head_inline.pug b/examples/server-kitchen-sink/views/styles/head_inline.pug new file mode 100644 index 00000000000..ed491a72b20 --- /dev/null +++ b/examples/server-kitchen-sink/views/styles/head_inline.pug @@ -0,0 +1,7 @@ + +doctype html +html + head + include includes/button_styles_inline.pug + body + include includes/button.pug diff --git a/examples/server-kitchen-sink/views/styles/head_src.pug b/examples/server-kitchen-sink/views/styles/head_src.pug new file mode 100644 index 00000000000..0e062803121 --- /dev/null +++ b/examples/server-kitchen-sink/views/styles/head_src.pug @@ -0,0 +1,7 @@ + +doctype html +html + head + include includes/button_styles_src.pug + body + include includes/button.pug diff --git a/examples/server-kitchen-sink/views/styles/includes/button.pug b/examples/server-kitchen-sink/views/styles/includes/button.pug new file mode 100644 index 00000000000..69e440c555c --- /dev/null +++ b/examples/server-kitchen-sink/views/styles/includes/button.pug @@ -0,0 +1 @@ +button Hello Button \ No newline at end of file diff --git a/examples/server-kitchen-sink/views/styles/includes/button_styles_inline.pug b/examples/server-kitchen-sink/views/styles/includes/button_styles_inline.pug new file mode 100644 index 00000000000..c8ea6f680a6 --- /dev/null +++ b/examples/server-kitchen-sink/views/styles/includes/button_styles_inline.pug @@ -0,0 +1,4 @@ +style. + button { + color: red; + } \ No newline at end of file diff --git a/examples/server-kitchen-sink/views/styles/includes/button_styles_src.pug b/examples/server-kitchen-sink/views/styles/includes/button_styles_src.pug new file mode 100644 index 00000000000..83545794603 --- /dev/null +++ b/examples/server-kitchen-sink/views/styles/includes/button_styles_src.pug @@ -0,0 +1 @@ +link(rel='stylesheet', type='text/css' href='http://localhost:1337/css/button.css') \ No newline at end of file diff --git a/examples/standalone-preview/package.json b/examples/standalone-preview/package.json index c1b617f1a60..d1117ddb2ba 100644 --- a/examples/standalone-preview/package.json +++ b/examples/standalone-preview/package.json @@ -1,12 +1,12 @@ { "name": "standalone-preview", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "storybook": "parcel ./storybook.html --port 1337" }, "devDependencies": { - "@storybook/react": "6.1.0-alpha.10", + "@storybook/react": "6.1.0-alpha.20", "parcel": "^1.12.3", "react": "^16.8.3", "react-dom": "^16.8.3" diff --git a/examples/svelte-kitchen-sink/package.json b/examples/svelte-kitchen-sink/package.json index b683d12d433..f4a57e491f9 100644 --- a/examples/svelte-kitchen-sink/package.json +++ b/examples/svelte-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "svelte-example", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build-storybook": "build-storybook -s public", @@ -10,19 +10,19 @@ "global": "^4.3.2" }, "devDependencies": { - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-controls": "6.1.0-alpha.10", - "@storybook/addon-docs": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", - "@storybook/svelte": "6.1.0-alpha.10" + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-controls": "6.1.0-alpha.20", + "@storybook/addon-docs": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", + "@storybook/svelte": "6.1.0-alpha.20" }, "storybook": { "chromatic": { diff --git a/examples/vue-cli/package.json b/examples/vue-cli/package.json index 3e861c559c5..d283196f27f 100644 --- a/examples/vue-cli/package.json +++ b/examples/vue-cli/package.json @@ -1,6 +1,6 @@ { "name": "vue-cli-example", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build": "vue-cli-service build", @@ -15,11 +15,11 @@ "vue-property-decorator": "^9.0.0" }, "devDependencies": { - "@storybook/addon-controls": "6.1.0-alpha.10", - "@storybook/addon-essentials": "6.1.0-alpha.10", + "@storybook/addon-controls": "6.1.0-alpha.20", + "@storybook/addon-essentials": "6.1.0-alpha.20", "@storybook/preset-scss": "^1.0.2", - "@storybook/source-loader": "6.1.0-alpha.10", - "@storybook/vue": "6.1.0-alpha.10", + "@storybook/source-loader": "6.1.0-alpha.20", + "@storybook/vue": "6.1.0-alpha.20", "@vue/cli-plugin-babel": "~4.3.0", "@vue/cli-plugin-typescript": "~4.3.0", "@vue/cli-service": "~4.3.0", diff --git a/examples/vue-kitchen-sink/package.json b/examples/vue-kitchen-sink/package.json index 12f0ce215c3..0738f7a2ffa 100644 --- a/examples/vue-kitchen-sink/package.json +++ b/examples/vue-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "vue-example", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "scripts": { "build": "cross-env NODE_ENV=production webpack --progress --hide-modules", @@ -13,20 +13,20 @@ "vuex": "^3.1.0" }, "devDependencies": { - "@babel/core": "^7.9.6", - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-controls": "6.1.0-alpha.10", - "@storybook/addon-docs": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", - "@storybook/vue": "6.1.0-alpha.10", + "@babel/core": "^7.11.5", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-controls": "6.1.0-alpha.20", + "@storybook/addon-docs": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", + "@storybook/vue": "6.1.0-alpha.20", "@vue/babel-preset-jsx": "^1.1.2", "babel-loader": "^8.0.5", "cross-env": "^7.0.0", diff --git a/examples/web-components-kitchen-sink/custom-elements.json b/examples/web-components-kitchen-sink/custom-elements.json index 5611b8edfba..19f98b4a4e8 100644 --- a/examples/web-components-kitchen-sink/custom-elements.json +++ b/examples/web-components-kitchen-sink/custom-elements.json @@ -1,43 +1,51 @@ { - "version": 1.2, + "version": "experimental", "tags": [ { "name": "demo-wc-card", + "path": "./demo-wc-card.js", "description": "This is a container looking like a card with a back and front side you can switch", "attributes": [ { "name": "back-side", "description": "Indicates that the back of the card is shown", "type": "boolean", - "defaultValue": false + "default": "false" }, { "name": "header", "description": "Header message", "type": "string", - "defaultValue": "Your message" + "default": "\"Your Message\"" }, { "name": "rows", "description": "Data rows", - "type": "never[]" + "type": "object", + "default": "[]" } ], "properties": [ { "name": "backSide", + "attribute": "back-side", "description": "Indicates that the back of the card is shown", - "type": "boolean" + "type": "boolean", + "default": "false" }, { "name": "header", + "attribute": "header", "description": "Header message", - "type": "string" + "type": "string", + "default": "\"Your Message\"" }, { "name": "rows", + "attribute": "rows", "description": "Data rows", - "type": "never[]" + "type": "object", + "default": "[]" } ], "events": [ @@ -60,18 +68,28 @@ ], "cssProperties": [ { - "name": "--demo-wc-card-back-color", - "description": "Font color for back" + "name": "--demo-wc-card-header-font-size", + "description": "Header font size" }, { "name": "--demo-wc-card-front-color", "description": "Font color for front" }, { - "name": "--demo-wc-card-header-font-size", - "description": "Header font size" + "name": "--demo-wc-card-back-color", + "description": "Font color for back" + } + ], + "cssParts": [ + { + "name": "front", + "description": "Front of the card" + }, + { + "name": "back", + "description": "Back of the card" } ] } ] -} +} \ No newline at end of file diff --git a/examples/web-components-kitchen-sink/custom-elements.md b/examples/web-components-kitchen-sink/custom-elements.md index 866ebb2db49..5e68c8e88aa 100644 --- a/examples/web-components-kitchen-sink/custom-elements.md +++ b/examples/web-components-kitchen-sink/custom-elements.md @@ -4,12 +4,17 @@ This is a container looking like a card with a back and front side you can switc ## Properties -| Property | Attribute | Type | Default | Description | -|------------|-------------|--------------|----------------|------------------------------------| -| `backSide` | `back-side` | `boolean` | false | | -| `header` | `header` | `string` | "Your Message" | | -| `rows` | `rows` | `never[]` | | | -| `side` | | `"A" \| "B"` | | A card setter can have side A or B | +| Property | Attribute | Type | Default | Description | +|------------|-------------|-----------|----------------|----------------------------------------------| +| `backSide` | `back-side` | `boolean` | false | Indicates that the back of the card is shown | +| `header` | `header` | `string` | "Your Message" | Header message | +| `rows` | `rows` | `object` | [] | Data rows | + +## Methods + +| Method | Type | +|----------|------------| +| `toggle` | `(): void` | ## Events @@ -17,6 +22,19 @@ This is a container looking like a card with a back and front side you can switc |----------------|-----------------------------------------------| | `side-changed` | Fires whenever it switches between front/back | +## Slots + +| Name | Description | +|------|--------------------------------------------| +| | This is an unnamed slot (the default slot) | + +## CSS Shadow Parts + +| Part | Description | +|---------|-------------------| +| `back` | Back of the card | +| `front` | Front of the card | + ## CSS Custom Properties | Property | Description | @@ -24,9 +42,3 @@ This is a container looking like a card with a back and front side you can switc | `--demo-wc-card-back-color` | Font color for back | | `--demo-wc-card-front-color` | Font color for front | | `--demo-wc-card-header-font-size` | Header font size | - -## Slots - -| Name | Description | -|------|--------------------------------------------| -| | This is an unnamed slot (the default slot) | diff --git a/examples/web-components-kitchen-sink/package.json b/examples/web-components-kitchen-sink/package.json index 5bd213ebc00..184530eebc2 100644 --- a/examples/web-components-kitchen-sink/package.json +++ b/examples/web-components-kitchen-sink/package.json @@ -1,6 +1,6 @@ { "name": "web-components-kitchen-sink", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "description": "", "keywords": [], @@ -12,24 +12,24 @@ "storybook": "start-storybook -p 9006" }, "devDependencies": { - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-controls": "6.1.0-alpha.10", - "@storybook/addon-docs": "6.1.0-alpha.10", - "@storybook/addon-events": "6.1.0-alpha.10", - "@storybook/addon-jest": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/client-api": "6.1.0-alpha.10", - "@storybook/core": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", - "@storybook/web-components": "6.1.0-alpha.10", + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-controls": "6.1.0-alpha.20", + "@storybook/addon-docs": "6.1.0-alpha.20", + "@storybook/addon-events": "6.1.0-alpha.20", + "@storybook/addon-jest": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/client-api": "6.1.0-alpha.20", + "@storybook/core": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", + "@storybook/web-components": "6.1.0-alpha.20", "babel-loader": "^8.0.5", "eventemitter3": "^4.0.0", "format-json": "^1.0.3", diff --git a/examples/web-components-kitchen-sink/src/DemoWcCard.js b/examples/web-components-kitchen-sink/src/DemoWcCard.js index 5978bc050d2..aabc88dcf48 100644 --- a/examples/web-components-kitchen-sink/src/DemoWcCard.js +++ b/examples/web-components-kitchen-sink/src/DemoWcCard.js @@ -11,6 +11,8 @@ import { demoWcCardStyle } from './demoWcCardStyle.css.js'; * @cssprop --demo-wc-card-header-font-size - Header font size * @cssprop --demo-wc-card-front-color - Font color for front * @cssprop --demo-wc-card-back-color - Font color for back + * @csspart front - Front of the card + * @csspart back - Back of the card */ export class DemoWcCard extends LitElement { static get properties() { @@ -54,7 +56,7 @@ export class DemoWcCard extends LitElement { render() { return html` -
+
${this.header}
@@ -66,7 +68,7 @@ export class DemoWcCard extends LitElement {
-
+
${this.header}
diff --git a/examples/web-components-kitchen-sink/stories/script.stories.js b/examples/web-components-kitchen-sink/stories/script.stories.js new file mode 100644 index 00000000000..168fc83e4f4 --- /dev/null +++ b/examples/web-components-kitchen-sink/stories/script.stories.js @@ -0,0 +1,13 @@ +import { html } from 'lit-html'; + +export default { + title: 'Script Tag', +}; + +export const inTemplate = () => + html`
JS alert
+ `; + +export const inString = () => '
JS alert
'; diff --git a/jest.config.js b/jest.config.js index e66c6ab6c5e..ca0a8d3cd3f 100644 --- a/jest.config.js +++ b/jest.config.js @@ -3,7 +3,7 @@ module.exports = { clearMocks: true, moduleNameMapper: { // non-js files - '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': + '\\.(jpg|jpeg|png|apng|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '/__mocks__/fileMock.js', '\\.(css|scss|stylesheet)$': '/__mocks__/styleMock.js', '\\.(md)$': '/__mocks__/htmlMock.js', diff --git a/lerna.json b/lerna.json index 6d77b913e09..24ac79849f9 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "npmClient": "yarn", "useWorkspaces": true, "registry": "https://registry.npmjs.org", - "version": "6.1.0-alpha.10" + "version": "6.1.0-alpha.20" } diff --git a/lib/addons/package.json b/lib/addons/package.json index f6163e42133..ea5440c03bf 100644 --- a/lib/addons/package.json +++ b/lib/addons/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addons", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Storybook addons store", "keywords": [ "storybook" @@ -22,18 +22,18 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/api": "6.1.0-alpha.10", - "@storybook/channels": "6.1.0-alpha.10", - "@storybook/client-logger": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", - "@storybook/router": "6.1.0-alpha.10", - "@storybook/theming": "6.1.0-alpha.10", + "@storybook/api": "6.1.0-alpha.20", + "@storybook/channels": "6.1.0-alpha.20", + "@storybook/client-logger": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", + "@storybook/router": "6.1.0-alpha.20", + "@storybook/theming": "6.1.0-alpha.20", "core-js": "^3.0.1", "global": "^4.3.2", "react": "^16.8.3", @@ -43,11 +43,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/addons/src/types.ts b/lib/addons/src/types.ts index e2efc16e942..f773b6e05c8 100644 --- a/lib/addons/src/types.ts +++ b/lib/addons/src/types.ts @@ -59,6 +59,7 @@ export type StoryContext = StoryIdentifier & { argTypes: ArgTypes; globals: Args; hooks?: HooksContext; + viewMode?: ViewMode; }; export interface WrapperSettings { diff --git a/lib/api/package.json b/lib/api/package.json index 586f4891b79..5ffd63e48da 100644 --- a/lib/api/package.json +++ b/lib/api/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/api", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Core Storybook API & Context", "keywords": [ "storybook" @@ -21,7 +21,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ./scripts/generateVersion.js && node ../../scripts/prepare.js", @@ -29,13 +29,13 @@ }, "dependencies": { "@reach/router": "^1.3.3", - "@storybook/channels": "6.1.0-alpha.10", - "@storybook/client-logger": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", + "@storybook/channels": "6.1.0-alpha.20", + "@storybook/client-logger": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", "@storybook/csf": "0.0.1", - "@storybook/router": "6.1.0-alpha.10", + "@storybook/router": "6.1.0-alpha.20", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.0-alpha.10", + "@storybook/theming": "6.1.0-alpha.20", "@types/reach__router": "^1.3.5", "core-js": "^3.0.1", "fast-deep-equal": "^3.1.1", @@ -59,11 +59,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/api/src/modules/globals.ts b/lib/api/src/modules/globals.ts index 464f1c923b8..172aaafa093 100644 --- a/lib/api/src/modules/globals.ts +++ b/lib/api/src/modules/globals.ts @@ -1,5 +1,6 @@ import { SET_STORIES, UPDATE_GLOBALS, GLOBALS_UPDATED } from '@storybook/core-events'; import { logger } from '@storybook/client-logger'; +import deepEqual from 'fast-deep-equal'; import { Args, ModuleFn } from '../index'; @@ -32,12 +33,21 @@ export const init: ModuleFn = ({ store, fullAPI }) => { globals: {}, }; + const updateGlobals = (globals: Args) => { + const currentGlobals = store.getState()?.globals; + if (!deepEqual(globals, currentGlobals)) { + store.setState({ globals }); + } else { + logger.info('Tried to update globals but the old and new values are equal.'); + } + }; + const initModule = () => { fullAPI.on(GLOBALS_UPDATED, function handleGlobalsUpdated({ globals }: { globals: Args }) { const { ref } = getEventMetadata(this, fullAPI); if (!ref) { - store.setState({ globals }); + updateGlobals(globals); } else { logger.warn( 'received a GLOBALS_UPDATED from a non-local ref. This is not currently supported.' @@ -48,7 +58,7 @@ export const init: ModuleFn = ({ store, fullAPI }) => { const { ref } = getEventMetadata(this, fullAPI); if (!ref) { - store.setState({ globals }); + updateGlobals(globals); } else if (Object.keys(globals).length > 0) { logger.warn('received globals from a non-local ref. This is not currently supported.'); } diff --git a/lib/api/src/store.ts b/lib/api/src/store.ts index 43267ad236d..499bf62fc1f 100644 --- a/lib/api/src/store.ts +++ b/lib/api/src/store.ts @@ -56,7 +56,7 @@ export default class Store { } // The assumption is that this will be called once, to initialize the React state - // when the module is instanciated + // when the module is instantiated getInitialState(base: State) { // We don't only merge at the very top level (the same way as React setState) // when you set keys, so it makes sense to do the same in combining the two storage modes diff --git a/lib/api/src/tests/stories.test.js b/lib/api/src/tests/stories.test.js index ab59a9ee6ed..5ba12abfe52 100644 --- a/lib/api/src/tests/stories.test.js +++ b/lib/api/src/tests/stories.test.js @@ -753,7 +753,7 @@ describe('stories API', () => { expect(navigate).toHaveBeenCalledWith('/story/a--1'); }); - describe('compnonent permalinks', () => { + describe('component permalinks', () => { it('allows navigating to kind/storyname (legacy api)', () => { const navigate = jest.fn(); const store = createMockStore(); diff --git a/lib/api/src/version.ts b/lib/api/src/version.ts index 556fa37abee..c70f651e87a 100644 --- a/lib/api/src/version.ts +++ b/lib/api/src/version.ts @@ -1 +1 @@ -export const version = '6.1.0-alpha.10'; \ No newline at end of file +export const version = '6.1.0-alpha.20'; diff --git a/lib/channel-postmessage/package.json b/lib/channel-postmessage/package.json index 865012a0281..c13e7aac2a6 100644 --- a/lib/channel-postmessage/package.json +++ b/lib/channel-postmessage/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/channel-postmessage", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "", "keywords": [ "storybook" @@ -22,15 +22,15 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/channels": "6.1.0-alpha.10", - "@storybook/client-logger": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", + "@storybook/channels": "6.1.0-alpha.20", + "@storybook/client-logger": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", "core-js": "^3.0.1", "global": "^4.3.2", "qs": "^6.6.0", @@ -39,11 +39,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/channel-websocket/package.json b/lib/channel-websocket/package.json index 9622b8ecbee..669eda72700 100644 --- a/lib/channel-websocket/package.json +++ b/lib/channel-websocket/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/channel-websocket", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "", "keywords": [ "storybook" @@ -22,13 +22,13 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/channels": "6.1.0-alpha.10", + "@storybook/channels": "6.1.0-alpha.20", "core-js": "^3.0.1", "global": "^4.3.2", "telejson": "^5.0.2" @@ -36,11 +36,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/channels/package.json b/lib/channels/package.json index c5f11077353..aeba714ad1b 100644 --- a/lib/channels/package.json +++ b/lib/channels/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/channels", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "", "keywords": [ "storybook" @@ -22,7 +22,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" @@ -35,11 +35,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/cli-sb/package.json b/lib/cli-sb/package.json index fedb0193c9a..c3dcfec0ead 100644 --- a/lib/cli-sb/package.json +++ b/lib/cli-sb/package.json @@ -1,6 +1,6 @@ { "name": "sb", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Storybook CLI", "keywords": [ "storybook" @@ -22,10 +22,10 @@ "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/cli": "6.1.0-alpha.10" + "@storybook/cli": "6.1.0-alpha.20" }, "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23" + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1" } diff --git a/lib/cli-storybook/package.json b/lib/cli-storybook/package.json index 850b33380b2..70eac22d089 100644 --- a/lib/cli-storybook/package.json +++ b/lib/cli-storybook/package.json @@ -1,6 +1,6 @@ { "name": "storybook", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Storybook CLI", "keywords": [ "storybook" @@ -23,10 +23,10 @@ "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/cli": "6.1.0-alpha.10" + "@storybook/cli": "6.1.0-alpha.20" }, "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23" + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1" } diff --git a/lib/cli/package.json b/lib/cli/package.json index ecc16283bf7..d7f87d869a4 100644 --- a/lib/cli/package.json +++ b/lib/cli/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/cli", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Storybook's CLI - easiest method of adding storybook to your projects", "keywords": [ "cli", @@ -28,7 +28,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*", + "ts3.4/**/*", "versions.json" ], "scripts": { @@ -37,10 +37,10 @@ "postversion": "node -r esm ./scripts/generate-sb-packages-versions.js" }, "dependencies": { - "@babel/core": "^7.9.6", - "@babel/preset-env": "^7.9.6", - "@storybook/codemod": "6.1.0-alpha.10", - "@storybook/node-logger": "6.1.0-alpha.10", + "@babel/core": "^7.11.5", + "@babel/preset-env": "^7.11.5", + "@storybook/codemod": "6.1.0-alpha.20", + "@storybook/node-logger": "6.1.0-alpha.20", "@storybook/semver": "^7.3.2", "chalk": "^4.0.0", "commander": "^5.0.0", @@ -62,7 +62,7 @@ "update-notifier": "^4.0.0" }, "devDependencies": { - "@storybook/client-api": "6.1.0-alpha.10", + "@storybook/client-api": "6.1.0-alpha.20", "@types/cross-spawn": "^6.0.1", "@types/inquirer": "^6.5.0", "@types/puppeteer-core": "^2.0.0", @@ -76,5 +76,12 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23" + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", + "typesVersions": { + "<3.8": { + "*": [ + "ts3.4/*" + ] + } + } } diff --git a/lib/cli/src/generators/UPDATE_PACKAGE_ORGANIZATIONS/index.ts b/lib/cli/src/generators/UPDATE_PACKAGE_ORGANIZATIONS/index.ts index 0bd448f3f2f..a78e467e8f5 100644 --- a/lib/cli/src/generators/UPDATE_PACKAGE_ORGANIZATIONS/index.ts +++ b/lib/cli/src/generators/UPDATE_PACKAGE_ORGANIZATIONS/index.ts @@ -54,7 +54,7 @@ function updateSourceCode(parser: string) { const jscodeshiftPath = path.dirname(require.resolve('jscodeshift')); const jscodeshiftCommand = path.join(jscodeshiftPath, 'bin', 'jscodeshift.sh'); - ['update-organisation-name.js', 'move-buildin-addons.js'].forEach((codemod) => { + ['update-organisation-name.js', 'move-builtin-addons.js'].forEach((codemod) => { const codemodPath = path.join( path.dirname(require.resolve('@storybook/codemod')), 'transforms', diff --git a/lib/cli/src/initiate.ts b/lib/cli/src/initiate.ts index 0c2021dccf5..c2bf187d986 100644 --- a/lib/cli/src/initiate.ts +++ b/lib/cli/src/initiate.ts @@ -95,7 +95,7 @@ const installStorybook = (projectType: ProjectType, options: CommandOptions): Pr case ProjectType.UPDATE_PACKAGE_ORGANIZATIONS: return updateOrganisationsGenerator(packageManager, options.parser, npmOptions) - .then(() => null) // commmandLog doesn't like to see output + .then(() => null) // commandLog doesn't like to see output .then(commandLog('Upgrading your project to the new Storybook packages.')) .then(end); diff --git a/lib/cli/src/js-package-manager/NPMProxy.test.ts b/lib/cli/src/js-package-manager/NPMProxy.test.ts index 27e6eca31b4..2bb77e9adc5 100644 --- a/lib/cli/src/js-package-manager/NPMProxy.test.ts +++ b/lib/cli/src/js-package-manager/NPMProxy.test.ts @@ -46,7 +46,7 @@ describe('NPM Proxy', () => { }); describe('latestVersion', () => { - it('without contraint it returns the latest version', async () => { + it('without constraint it returns the latest version', async () => { const executeCommandSpy = jest.spyOn(npmProxy, 'executeCommand').mockReturnValue('"5.3.19"'); const version = await npmProxy.latestVersion('@storybook/addons'); @@ -60,7 +60,7 @@ describe('NPM Proxy', () => { expect(version).toEqual('5.3.19'); }); - it('with contraint it returns the latest version satisfying the constraint', async () => { + it('with constraint it returns the latest version satisfying the constraint', async () => { const executeCommandSpy = jest .spyOn(npmProxy, 'executeCommand') .mockReturnValue('["4.25.3","5.3.19","6.0.0-beta.23"]'); diff --git a/lib/cli/src/js-package-manager/Yarn1Proxy.test.ts b/lib/cli/src/js-package-manager/Yarn1Proxy.test.ts index c33cbfcac1b..b89c8b96543 100644 --- a/lib/cli/src/js-package-manager/Yarn1Proxy.test.ts +++ b/lib/cli/src/js-package-manager/Yarn1Proxy.test.ts @@ -46,7 +46,7 @@ describe('Yarn 1 Proxy', () => { }); describe('latestVersion', () => { - it('without contraint it returns the latest version', async () => { + it('without constraint it returns the latest version', async () => { const executeCommandSpy = jest .spyOn(yarn1Proxy, 'executeCommand') .mockReturnValue('{"type":"inspect","data":"5.3.19"}'); @@ -62,7 +62,7 @@ describe('Yarn 1 Proxy', () => { expect(version).toEqual('5.3.19'); }); - it('with contraint it returns the latest version satisfying the constraint', async () => { + it('with constraint it returns the latest version satisfying the constraint', async () => { const executeCommandSpy = jest .spyOn(yarn1Proxy, 'executeCommand') .mockReturnValue('{"type":"inspect","data":["4.25.3","5.3.19","6.0.0-beta.23"]}'); diff --git a/lib/cli/src/js-package-manager/Yarn2Proxy.test.ts b/lib/cli/src/js-package-manager/Yarn2Proxy.test.ts index 4ecba3fbf72..7cfa2652774 100644 --- a/lib/cli/src/js-package-manager/Yarn2Proxy.test.ts +++ b/lib/cli/src/js-package-manager/Yarn2Proxy.test.ts @@ -46,7 +46,7 @@ describe('Yarn 1 Proxy', () => { }); describe('latestVersion', () => { - it('without contraint it returns the latest version', async () => { + it('without constraint it returns the latest version', async () => { const executeCommandSpy = jest .spyOn(yarn2Proxy, 'executeCommand') .mockReturnValue('{"name":"@storybook/addons","version":"5.3.19"}'); @@ -64,7 +64,7 @@ describe('Yarn 1 Proxy', () => { expect(version).toEqual('5.3.19'); }); - it('with contraint it returns the latest version satisfying the constraint', async () => { + it('with constraint it returns the latest version satisfying the constraint', async () => { const executeCommandSpy = jest .spyOn(yarn2Proxy, 'executeCommand') .mockReturnValue( diff --git a/lib/cli/versions.json b/lib/cli/versions.json index 4158f91747d..7e9b7faf7da 100644 --- a/lib/cli/versions.json +++ b/lib/cli/versions.json @@ -1,55 +1,55 @@ { - "@storybook/addon-a11y": "6.1.0-alpha.10", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-backgrounds": "6.1.0-alpha.10", - "@storybook/addon-controls": "6.1.0-alpha.10", - "@storybook/addon-cssresources": "6.1.0-alpha.10", - "@storybook/addon-design-assets": "6.1.0-alpha.10", - "@storybook/addon-docs": "6.1.0-alpha.10", - "@storybook/addon-essentials": "6.1.0-alpha.10", - "@storybook/addon-events": "6.1.0-alpha.10", - "@storybook/addon-google-analytics": "6.1.0-alpha.10", - "@storybook/addon-graphql": "6.1.0-alpha.10", - "@storybook/addon-jest": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/addon-links": "6.1.0-alpha.10", - "@storybook/addon-queryparams": "6.1.0-alpha.10", - "@storybook/addon-storyshots": "6.1.0-alpha.10", - "@storybook/addon-storyshots-puppeteer": "6.1.0-alpha.10", - "@storybook/addon-storysource": "6.1.0-alpha.10", - "@storybook/addon-toolbars": "6.1.0-alpha.10", - "@storybook/addon-viewport": "6.1.0-alpha.10", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/angular": "6.1.0-alpha.10", - "@storybook/api": "6.1.0-alpha.10", - "@storybook/aurelia": "6.1.0-alpha.10", - "@storybook/channel-postmessage": "6.1.0-alpha.10", - "@storybook/channel-websocket": "6.1.0-alpha.10", - "@storybook/channels": "6.1.0-alpha.10", - "@storybook/cli": "6.1.0-alpha.10", - "@storybook/client-api": "6.1.0-alpha.10", - "@storybook/client-logger": "6.1.0-alpha.10", - "@storybook/codemod": "6.1.0-alpha.10", - "@storybook/components": "6.1.0-alpha.10", - "@storybook/core": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", - "@storybook/ember": "6.1.0-alpha.10", - "@storybook/html": "6.1.0-alpha.10", - "@storybook/marionette": "6.1.0-alpha.10", - "@storybook/marko": "6.1.0-alpha.10", - "@storybook/mithril": "6.1.0-alpha.10", - "@storybook/node-logger": "6.1.0-alpha.10", - "@storybook/postinstall": "6.1.0-alpha.10", - "@storybook/preact": "6.1.0-alpha.10", - "@storybook/rax": "6.1.0-alpha.10", - "@storybook/react": "6.1.0-alpha.10", - "@storybook/riot": "6.1.0-alpha.10", - "@storybook/router": "6.1.0-alpha.10", - "@storybook/server": "6.1.0-alpha.10", - "@storybook/source-loader": "6.1.0-alpha.10", - "@storybook/svelte": "6.1.0-alpha.10", - "@storybook/theming": "6.1.0-alpha.10", - "@storybook/ui": "6.1.0-alpha.10", - "@storybook/vue": "6.1.0-alpha.10", - "@storybook/web-components": "6.1.0-alpha.10" + "@storybook/addon-a11y": "6.1.0-alpha.20", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-backgrounds": "6.1.0-alpha.20", + "@storybook/addon-controls": "6.1.0-alpha.20", + "@storybook/addon-cssresources": "6.1.0-alpha.20", + "@storybook/addon-design-assets": "6.1.0-alpha.20", + "@storybook/addon-docs": "6.1.0-alpha.20", + "@storybook/addon-essentials": "6.1.0-alpha.20", + "@storybook/addon-events": "6.1.0-alpha.20", + "@storybook/addon-google-analytics": "6.1.0-alpha.20", + "@storybook/addon-graphql": "6.1.0-alpha.20", + "@storybook/addon-jest": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/addon-links": "6.1.0-alpha.20", + "@storybook/addon-queryparams": "6.1.0-alpha.20", + "@storybook/addon-storyshots": "6.1.0-alpha.20", + "@storybook/addon-storyshots-puppeteer": "6.1.0-alpha.20", + "@storybook/addon-storysource": "6.1.0-alpha.20", + "@storybook/addon-toolbars": "6.1.0-alpha.20", + "@storybook/addon-viewport": "6.1.0-alpha.20", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/angular": "6.1.0-alpha.20", + "@storybook/api": "6.1.0-alpha.20", + "@storybook/aurelia": "6.1.0-alpha.20", + "@storybook/channel-postmessage": "6.1.0-alpha.20", + "@storybook/channel-websocket": "6.1.0-alpha.20", + "@storybook/channels": "6.1.0-alpha.20", + "@storybook/cli": "6.1.0-alpha.20", + "@storybook/client-api": "6.1.0-alpha.20", + "@storybook/client-logger": "6.1.0-alpha.20", + "@storybook/codemod": "6.1.0-alpha.20", + "@storybook/components": "6.1.0-alpha.20", + "@storybook/core": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", + "@storybook/ember": "6.1.0-alpha.20", + "@storybook/html": "6.1.0-alpha.20", + "@storybook/marionette": "6.1.0-alpha.20", + "@storybook/marko": "6.1.0-alpha.20", + "@storybook/mithril": "6.1.0-alpha.20", + "@storybook/node-logger": "6.1.0-alpha.20", + "@storybook/postinstall": "6.1.0-alpha.20", + "@storybook/preact": "6.1.0-alpha.20", + "@storybook/rax": "6.1.0-alpha.20", + "@storybook/react": "6.1.0-alpha.20", + "@storybook/riot": "6.1.0-alpha.20", + "@storybook/router": "6.1.0-alpha.20", + "@storybook/server": "6.1.0-alpha.20", + "@storybook/source-loader": "6.1.0-alpha.20", + "@storybook/svelte": "6.1.0-alpha.20", + "@storybook/theming": "6.1.0-alpha.20", + "@storybook/ui": "6.1.0-alpha.20", + "@storybook/vue": "6.1.0-alpha.20", + "@storybook/web-components": "6.1.0-alpha.20" } \ No newline at end of file diff --git a/lib/client-api/README.md b/lib/client-api/README.md index a4ca85a7f66..ad408a61069 100644 --- a/lib/client-api/README.md +++ b/lib/client-api/README.md @@ -12,12 +12,13 @@ Each story is loaded via the `.add()` API and contains the follow attributes, wh - `parameters` - static data about the story, see below. - `args` - dynamic inputs to the story, see below. - `hooks` - listeners that will rerun when the story changes or is unmounted, see `@storybook/addons`. +- `viewMode` - property that tells if the story is being rendered in Canvas or Docs tab. Values are `story` for canvas and `docs` for docs. ## Parameters The story parameters is a static, serializable object of data that provides details about the story. Those details can be used by addons or Storybook itself to render UI or provide defaults about the story rendering. -Parameters _cannot change_ and are syncronized to the manager once when the story is loaded (note over the lifetime of a development Storybook a story can be loaded several times due to hot module reload, so the parameters technically can change for that reason). +Parameters _cannot change_ and are synchronized to the manager once when the story is loaded (note over the lifetime of a development Storybook a story can be loaded several times due to hot module reload, so the parameters technically can change for that reason). Usually addons will read from a single key of `parameters` namespaced by the name of that addon. For instance the configuration of the `backgrounds` addon is driven by the `parameters.backgrounds` namespace. @@ -87,7 +88,7 @@ Then `context.args` will default to `{ primary: true, size: 'large', extra: 'pro ### Using args in an addon -Args values are automatically syncronized (via the `changeStoryArgs` and `storyArgsChanged` events) between the preview and manager; APIs exist in `lib/api` to read and set args in the manager. +Args values are automatically synchronized (via the `changeStoryArgs` and `storyArgsChanged` events) between the preview and manager; APIs exist in `lib/api` to read and set args in the manager. Args need to be serializable -- so currently cannot include callbacks (this may change in a future version). @@ -113,7 +114,7 @@ To set initial values of global args, set the `parameters.globals` parameters. A ### Using global args in an addon -Similar to args, global args are syncronized to the manager and can be accessed via the `useGlobals` hook. +Similar to args, global args are synchronized to the manager and can be accessed via the `useGlobals` hook. ```js import { useGlobals } from '@storybook/client-api'; // or '@storybook/api' diff --git a/lib/client-api/package.json b/lib/client-api/package.json index 1a3a099cb9b..33f6b3414bd 100644 --- a/lib/client-api/package.json +++ b/lib/client-api/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/client-api", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Storybook Client API", "keywords": [ "storybook" @@ -22,17 +22,17 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/channel-postmessage": "6.1.0-alpha.10", - "@storybook/channels": "6.1.0-alpha.10", - "@storybook/client-logger": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/channel-postmessage": "6.1.0-alpha.20", + "@storybook/channels": "6.1.0-alpha.20", + "@storybook/client-logger": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", "@storybook/csf": "0.0.1", "@types/qs": "^6.9.0", "@types/webpack-env": "^1.15.2", @@ -51,11 +51,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/client-api/src/client_api.test.ts b/lib/client-api/src/client_api.test.ts index 58f3ba3ec44..e4b351e40a7 100644 --- a/lib/client-api/src/client_api.test.ts +++ b/lib/client-api/src/client_api.test.ts @@ -491,7 +491,7 @@ describe('preview.client_api', () => { mockChannelEmit.mockClear(); // simulate an HMR of kind1, which would cause it to go to the end - // if the original order is not maintainaed + // if the original order is not maintained module1.hot.reload(); storyStore.startConfiguring(); storiesOf('kind1', (module1 as unknown) as NodeModule).add('story1', jest.fn()); @@ -509,7 +509,7 @@ describe('preview.client_api', () => { expect(getStorybook().map((story) => story.kind)).toEqual(['kind1', 'kind2']); }); - it('should call `module.hot.dispose` inside add and soriesOf by default', () => { + it('should call `module.hot.dispose` inside add and storiesOf by default', () => { const mod = (new MockModule() as unknown) as NodeModule; const mockHotDispose = jest.fn(); mod.hot.dispose = mockHotDispose; diff --git a/lib/client-api/src/decorators.test.ts b/lib/client-api/src/decorators.test.ts index be76e03ba33..d7513feea95 100644 --- a/lib/client-api/src/decorators.test.ts +++ b/lib/client-api/src/decorators.test.ts @@ -7,9 +7,10 @@ function makeContext(input: Record): StoryContext { id: 'id', kind: 'kind', name: 'name', + viewMode: 'story', parameters: {}, ...input, - }; + } as StoryContext; } describe('client-api.decorators', () => { diff --git a/lib/client-api/src/index.ts b/lib/client-api/src/index.ts index 74143342f56..85d44c94530 100644 --- a/lib/client-api/src/index.ts +++ b/lib/client-api/src/index.ts @@ -4,6 +4,7 @@ import { combineParameters } from './parameters'; import StoryStore from './story_store'; import ConfigApi from './config_api'; import pathToId from './pathToId'; +import { simulatePageLoad, simulateDOMContentLoaded } from './simulate-pageload'; import { getQueryParams, getQueryParam } from './queryparams'; @@ -26,4 +27,6 @@ export { pathToId, getQueryParams, getQueryParam, + simulatePageLoad, + simulateDOMContentLoaded, }; diff --git a/app/html/src/client/preview/helpers/simulate-pageload.ts b/lib/client-api/src/simulate-pageload.ts similarity index 100% rename from app/html/src/client/preview/helpers/simulate-pageload.ts rename to lib/client-api/src/simulate-pageload.ts diff --git a/lib/client-api/src/story_store.test.ts b/lib/client-api/src/story_store.test.ts index 17b4aa581d9..5000fcd66f4 100644 --- a/lib/client-api/src/story_store.test.ts +++ b/lib/client-api/src/story_store.test.ts @@ -439,7 +439,7 @@ describe('preview.story_store', () => { }, globalTypes: { arg2: { defaultValue: 'arg2' }, - arg3: { defautlValue: { complex: { object: ['changed'] } } }, + arg3: { defaultValue: { complex: { object: ['changed'] } } }, // XXX: note this currently wouldn't fail because parameters.globals.arg4 isn't cleared // due to #10005, see below arg4: {}, // has no default value set but we need to make sure we don't lose it diff --git a/lib/client-api/src/story_store.ts b/lib/client-api/src/story_store.ts index 1b79abe131d..57db5acb105 100644 --- a/lib/client-api/src/story_store.ts +++ b/lib/client-api/src/story_store.ts @@ -406,6 +406,7 @@ export default class StoryStore { args: _stories[id].args, argTypes, globals: this._globals, + viewMode: this._selection?.viewMode, }); // Pull out parameters.args.$ || .argTypes.$.defaultValue into initialArgs diff --git a/lib/client-logger/package.json b/lib/client-logger/package.json index 1b70f936f68..4be9a11fe4f 100644 --- a/lib/client-logger/package.json +++ b/lib/client-logger/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/client-logger", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "", "keywords": [ "storybook" @@ -22,7 +22,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" @@ -34,11 +34,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/codemod/package.json b/lib/codemod/package.json index cfd09f9396c..c6cf46d25dd 100644 --- a/lib/codemod/package.json +++ b/lib/codemod/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/codemod", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "A collection of codemod scripts written with JSCodeshift", "keywords": [ "storybook" @@ -22,7 +22,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" @@ -30,7 +30,7 @@ "dependencies": { "@mdx-js/mdx": "^1.5.1", "@storybook/csf": "0.0.1", - "@storybook/node-logger": "6.1.0-alpha.10", + "@storybook/node-logger": "6.1.0-alpha.20", "core-js": "^3.0.1", "cross-spawn": "^7.0.0", "globby": "^11.0.0", @@ -47,5 +47,12 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23" + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", + "typesVersions": { + "<3.8": { + "*": [ + "ts3.4/*" + ] + } + } } diff --git a/lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/default.input.js b/lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/default.input.js similarity index 100% rename from lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/default.input.js rename to lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/default.input.js diff --git a/lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/default.output.snapshot b/lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/default.output.snapshot similarity index 78% rename from lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/default.output.snapshot rename to lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/default.output.snapshot index 3e4d1faec48..37a0805dcd1 100644 --- a/lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/default.output.snapshot +++ b/lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/default.output.snapshot @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`move-buildin-addons transforms correctly using "default.input.js" data 1`] = ` +exports[`move-builtin-addons transforms correctly using "default.input.js" data 1`] = ` "/* eslint-disable */ import { storyOf } from '@storybook/react'; import { linkTo } from '@storybook/addon-links'; diff --git a/lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/with-no-change.input.js b/lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.input.js similarity index 100% rename from lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/with-no-change.input.js rename to lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.input.js diff --git a/lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/with-no-change.output.snapshot b/lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.output.snapshot similarity index 75% rename from lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/with-no-change.output.snapshot rename to lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.output.snapshot index eef34d05c50..3966fe70fb0 100644 --- a/lib/codemod/src/transforms/__testfixtures__/move-buildin-addons/with-no-change.output.snapshot +++ b/lib/codemod/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.output.snapshot @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`move-buildin-addons transforms correctly using "with-no-change.input.js" data 1`] = ` +exports[`move-builtin-addons transforms correctly using "with-no-change.input.js" data 1`] = ` "/* eslint-disable */ import { action } from '@kadira/storybook-addons'; import { storyOf } from '@storybook/react';" diff --git a/lib/codemod/src/transforms/move-buildin-addons.js b/lib/codemod/src/transforms/move-builtin-addons.js similarity index 100% rename from lib/codemod/src/transforms/move-buildin-addons.js rename to lib/codemod/src/transforms/move-builtin-addons.js diff --git a/lib/components/package.json b/lib/components/package.json index 26e05f733e0..3cd3a573820 100644 --- a/lib/components/package.json +++ b/lib/components/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/components", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Core Storybook Components", "keywords": [ "storybook" @@ -22,16 +22,16 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" }, "dependencies": { "@popperjs/core": "^2.4.4", - "@storybook/client-logger": "6.1.0-alpha.10", + "@storybook/client-logger": "6.1.0-alpha.20", "@storybook/csf": "0.0.1", - "@storybook/theming": "6.1.0-alpha.10", + "@storybook/theming": "6.1.0-alpha.20", "@types/overlayscrollbars": "^1.9.0", "@types/react-color": "^3.0.1", "@types/react-syntax-highlighter": "11.0.4", @@ -60,11 +60,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/components/src/blocks/ArgsTable/ArgValue.tsx b/lib/components/src/blocks/ArgsTable/ArgValue.tsx index 14e15015851..bc1b278ccd3 100644 --- a/lib/components/src/blocks/ArgsTable/ArgValue.tsx +++ b/lib/components/src/blocks/ArgsTable/ArgValue.tsx @@ -141,7 +141,7 @@ const ArgSummary: FC = ({ value, initialExpandedArgs }) => { const cannotBeSafelySplitted = /[(){}[\]<>]/.test(summaryAsString); if (cannotBeSafelySplitted) { - return ; + return ; } const summaryItems = getSummaryItems(summaryAsString); diff --git a/lib/components/src/blocks/DocsPage.tsx b/lib/components/src/blocks/DocsPage.tsx index 1bc70960a58..2ef0df23846 100644 --- a/lib/components/src/blocks/DocsPage.tsx +++ b/lib/components/src/blocks/DocsPage.tsx @@ -50,6 +50,8 @@ export const DocsWrapper = styled.div<{}>(({ theme }) => ({ display: 'flex', justifyContent: 'center', padding: '4rem 20px', + minHeight: '100vh', + boxSizing: 'border-box', [`@media (min-width: ${breakpoint}px)`]: {}, })); diff --git a/lib/components/src/blocks/Preview.tsx b/lib/components/src/blocks/Preview.tsx index da1410f1be3..1e58b51aabd 100644 --- a/lib/components/src/blocks/Preview.tsx +++ b/lib/components/src/blocks/Preview.tsx @@ -213,7 +213,7 @@ const Preview: FunctionComponent = ({ /> )} - + ({ - lineHeight: '20px', + lineHeight: '18px', alignItems: 'center', marginBottom: 8, display: 'inline-block', position: 'relative', whiteSpace: 'nowrap', + background: `${opacify(0.05, theme.appBorderColor)}`, + borderRadius: '3em', + padding: 1, input: { appearance: 'none', @@ -34,19 +37,17 @@ const Label = styled.label(({ theme }) => ({ }, span: { - minWidth: 60, textAlign: 'center', fontSize: theme.typography.size.s1, fontWeight: theme.typography.weight.bold, lineHeight: '1', cursor: 'pointer', display: 'inline-block', - padding: '8px 16px', - transition: 'all 150ms ease-out', + padding: '7px 15px', + transition: 'all 100ms ease-out', userSelect: 'none', borderRadius: '3em', - boxShadow: `${opacify(0.05, theme.appBorderColor)} 0 0 0 1px inset`, color: transparentize(0.4, theme.color.defaultText), background: 'transparent', @@ -60,19 +61,18 @@ const Label = styled.label(({ theme }) => ({ }, '&:first-of-type': { - borderTopRightRadius: 0, - borderBottomRightRadius: 0, + paddingRight: 8, }, '&:last-of-type': { - borderTopLeftRadius: 0, - borderBottomLeftRadius: 0, + paddingLeft: 8, }, }, 'input:checked ~ span:first-of-type, input:not(:checked) ~ span:last-of-type': { - background: `${opacify(0.05, theme.appBorderColor)}`, - boxShadow: `transparent 0 0 0 1px inset`, + background: theme.background.bar, + boxShadow: `${opacify(0.1, theme.appBorderColor)} 0 0 2px`, color: theme.color.defaultText, + padding: '7px 15px', }, })); diff --git a/lib/components/src/tabs/tabs.tsx b/lib/components/src/tabs/tabs.tsx index 405cafd0534..c238cc8279f 100644 --- a/lib/components/src/tabs/tabs.tsx +++ b/lib/components/src/tabs/tabs.tsx @@ -204,10 +204,10 @@ Tabs.displayName = 'Tabs'; bordered: false, }; -type FuncChilden = () => void; +type FuncChildren = () => void; export interface TabsStateProps { - children: (ReactNode | FuncChilden)[]; + children: (ReactNode | FuncChildren)[]; initial: string; absolute: boolean; bordered: boolean; diff --git a/lib/components/src/tooltip/Tooltip.tsx b/lib/components/src/tooltip/Tooltip.tsx index 3bbbefffe6a..1d258b4d4e4 100644 --- a/lib/components/src/tooltip/Tooltip.tsx +++ b/lib/components/src/tooltip/Tooltip.tsx @@ -3,8 +3,8 @@ import memoize from 'memoizerific'; import { styled, Color, lighten, darken } from '@storybook/theming'; -const match = memoize(1000)((requestes, actual, value, fallback = 0) => - actual.split('-')[0] === requestes ? value : fallback +const match = memoize(1000)((requests, actual, value, fallback = 0) => + actual.split('-')[0] === requests ? value : fallback ); const ArrowSpacing = 8; diff --git a/lib/core-events/package.json b/lib/core-events/package.json index de07e3fbb75..8eb40a2a145 100644 --- a/lib/core-events/package.json +++ b/lib/core-events/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/core-events", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Event names used in storybook core", "keywords": [ "storybook" @@ -22,7 +22,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" @@ -33,11 +33,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/core/README.md b/lib/core/README.md index 7514fe5f5ae..2a3c5a03448 100644 --- a/lib/core/README.md +++ b/lib/core/README.md @@ -10,7 +10,7 @@ The files in `src/client/preview` alongside the `@storybook/client-api` package Each framework (e.g. `@storybook/react` / `@storybook/angular` / et al.) initializes the preview by calling into `src/client/preview/start.ts`, passing a `render` function that will be used to render stories. -The `start` module initiaizes all the submodules: +The `start` module initializes all the submodules: - `StoryStore` (from `@storybook/client-api`) - stores the stories and their state as well as the current selection or error. - `ClientApi` (from `@storybook/client-api`) - provides the entry point for `storiesOf()` API calls; re-exported by each framework. diff --git a/lib/core/docs/storiesOf.md b/lib/core/docs/storiesOf.md index a6ef12f18fd..64ead5a3de3 100644 --- a/lib/core/docs/storiesOf.md +++ b/lib/core/docs/storiesOf.md @@ -31,6 +31,8 @@ storiesOf('Button', module) The string argument to `storiesOf` is the component title. If you pass a string like `'Widgets|Button/Button'` it can also be used to position your component's story within Storybook's story hierarchy. +The second argument of `storiesOf` is a webpack `module`, which is available on the global (per-file) scope. Storybook needs it to enable hot-module-replacement. If it's not included you'll need to refresh your browser with each change you make. + Each `.add` call takes a story name, a story function that returns a renderable object (JSX in the case of React), and optionally some parameters, which are described below. ## Decorators and parameters @@ -47,7 +49,7 @@ storiesOf('Button', module).add( ); ``` -And finally, story-level decorators are provided via parameters: +Story-level decorators are provided via parameters: ```js storiesOf('Button', module).add( @@ -57,6 +59,25 @@ storiesOf('Button', module).add( ); ``` +We can control how the component's stories will render with parameters and decorators. You can use as many `.addDecorators` as you need (but make sure you add them all before your first story), but you can only use one `.addParameters`, as you can see in the example below: + +```js +storiesOf('Button', module) + .addParameters({backgrounds: {values: [{name: "red" value: "#f00"}]}}) + .addDecorator((Story) =>
) + .addDecorator((Story) =>
) + .add('with text', () => ) + .add('with some emoji', () => ( + + )); +``` + +Parameters and decorators can also be used globally, you can define them in your .storybook/preview.js. Take a look [here](https://storybook.js.org/docs/react/writing-stories/parameters#global-parameters) to learn more about global parameters and [here](https://storybook.js.org/docs/react/writing-stories/decorators#global-decorators) for global decorators. + ## Component Story Format migration To make it easier to adopt the new [Component Story Format (CSF)](https://storybook.js.org/docs/react/api/csf), we've created an automatic migration tool to transform `storiesOf` API to Module format. diff --git a/lib/core/package.json b/lib/core/package.json index 6ad22d29355..69cc436a755 100644 --- a/lib/core/package.json +++ b/lib/core/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/core", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Storybook framework-agnostic API", "keywords": [ "storybook" @@ -24,48 +24,48 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@babel/core": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", - "@babel/plugin-proposal-export-default-from": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", - "@babel/plugin-proposal-object-rest-spread": "^7.9.6", - "@babel/plugin-proposal-optional-chaining": "^7.10.1", - "@babel/plugin-proposal-private-methods": "^7.8.3", + "@babel/core": "^7.11.5", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-decorators": "^7.10.5", + "@babel/plugin-proposal-export-default-from": "^7.10.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.11.0", + "@babel/plugin-proposal-optional-chaining": "^7.11.0", + "@babel/plugin-proposal-private-methods": "^7.10.4", "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.5", - "@babel/plugin-transform-destructuring": "^7.9.5", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-parameters": "^7.9.5", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/preset-env": "^7.9.6", - "@babel/preset-react": "^7.8.3", - "@babel/preset-typescript": "^7.9.0", - "@babel/register": "^7.10.5", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/api": "6.1.0-alpha.10", - "@storybook/channel-postmessage": "6.1.0-alpha.10", - "@storybook/channels": "6.1.0-alpha.10", - "@storybook/client-api": "6.1.0-alpha.10", - "@storybook/client-logger": "6.1.0-alpha.10", - "@storybook/components": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", + "@babel/plugin-transform-arrow-functions": "^7.10.4", + "@babel/plugin-transform-block-scoping": "^7.11.1", + "@babel/plugin-transform-classes": "^7.10.4", + "@babel/plugin-transform-destructuring": "^7.10.4", + "@babel/plugin-transform-for-of": "^7.10.4", + "@babel/plugin-transform-parameters": "^7.10.5", + "@babel/plugin-transform-shorthand-properties": "^7.10.4", + "@babel/plugin-transform-spread": "^7.11.0", + "@babel/plugin-transform-template-literals": "^7.10.5", + "@babel/preset-env": "^7.11.5", + "@babel/preset-react": "^7.10.4", + "@babel/preset-typescript": "^7.10.4", + "@babel/register": "^7.11.5", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/api": "6.1.0-alpha.20", + "@storybook/channel-postmessage": "6.1.0-alpha.20", + "@storybook/channels": "6.1.0-alpha.20", + "@storybook/client-api": "6.1.0-alpha.20", + "@storybook/client-logger": "6.1.0-alpha.20", + "@storybook/components": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", "@storybook/csf": "0.0.1", - "@storybook/node-logger": "6.1.0-alpha.10", - "@storybook/router": "6.1.0-alpha.10", + "@storybook/node-logger": "6.1.0-alpha.20", + "@storybook/router": "6.1.0-alpha.20", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.0-alpha.10", - "@storybook/ui": "6.1.0-alpha.10", + "@storybook/theming": "6.1.0-alpha.20", + "@storybook/ui": "6.1.0-alpha.20", "@types/glob-base": "^0.3.0", "@types/micromatch": "^4.0.1", "@types/node-fetch": "^2.5.4", @@ -128,6 +128,7 @@ "util-deprecate": "^1.0.2", "webpack": "^4.43.0", "webpack-dev-middleware": "^3.7.0", + "webpack-filter-warnings-plugin": "^1.2.1", "webpack-hot-middleware": "^2.25.0", "webpack-virtual-modules": "^0.2.2" }, @@ -137,5 +138,12 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23" + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", + "typesVersions": { + "<3.8": { + "*": [ + "ts3.4/*" + ] + } + } } diff --git a/lib/core/src/server/build-dev.js b/lib/core/src/server/build-dev.js index d5899706d1d..cd519a42d4c 100644 --- a/lib/core/src/server/build-dev.js +++ b/lib/core/src/server/build-dev.js @@ -212,7 +212,7 @@ function createUpdateMessage(updateInfo, version) { try { const suffix = semver.prerelease(updateInfo.data.latest.version) ? '--prerelease' : ''; - const upgradeCommand = `npx sb@next upgrade ${suffix}`.trim(); + const upgradeCommand = `npx sb@latest upgrade ${suffix}`.trim(); updateMessage = updateInfo.success && semver.lt(version, updateInfo.data.latest.version) ? dedent` diff --git a/lib/core/src/server/config.js b/lib/core/src/server/config.js index f29703372af..aa355bbdcb5 100644 --- a/lib/core/src/server/config.js +++ b/lib/core/src/server/config.js @@ -8,11 +8,19 @@ async function getPreviewWebpackConfig(options, presets) { const babelOptions = await presets.apply('babel', {}, { ...options, typescriptOptions }); const entries = await presets.apply('entries', [], options); const stories = await presets.apply('stories', [], options); + const frameworkOptions = await presets.apply(`${options.framework}Options`, {}, options); return presets.apply( 'webpack', {}, - { ...options, babelOptions, entries, stories, typescriptOptions } + { + ...options, + babelOptions, + entries, + stories, + typescriptOptions, + [`${options.framework}Options`]: frameworkOptions, + } ); } diff --git a/lib/core/src/server/manager/babel-loader-manager.js b/lib/core/src/server/manager/babel-loader-manager.js index d377a81be8d..cf5364fe7c8 100644 --- a/lib/core/src/server/manager/babel-loader-manager.js +++ b/lib/core/src/server/manager/babel-loader-manager.js @@ -11,7 +11,7 @@ export default () => ({ presets: [...presets, require.resolve('@babel/preset-react')], plugins: [ ...plugins, - // Shoud only be done on manager. Template literals are not meant to be + // Should only be done on manager. Template literals are not meant to be // transformed for frameworks like ember require.resolve('@babel/plugin-transform-template-literals'), ], diff --git a/lib/core/src/server/manager/manager-config.js b/lib/core/src/server/manager/manager-config.js index 389aecec762..14686cc8716 100644 --- a/lib/core/src/server/manager/manager-config.js +++ b/lib/core/src/server/manager/manager-config.js @@ -3,6 +3,8 @@ import fs from 'fs-extra'; import findUp from 'find-up'; import resolveFrom from 'resolve-from'; import fetch from 'node-fetch'; +import deprecate from 'util-deprecate'; +import dedent from 'ts-dedent'; import { logger } from '@storybook/node-logger'; @@ -55,6 +57,15 @@ const toTitle = (input) => { return `${result.substring(0, 1).toUpperCase()}${result.substring(1)}`.trim(); }; +const deprecatedDefinedRefDisabled = deprecate( + () => {}, + dedent` + Deprecated parameter: disabled => disable + + https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#deprecated-package-composition-disabled-parameter + ` +); + async function getManagerWebpackConfig(options, presets) { const typescriptOptions = await presets.apply('typescript', { ...typeScriptDefaults }, options); const babelOptions = await presets.apply('babel', {}, { ...options, typescriptOptions }); @@ -78,7 +89,13 @@ async function getManagerWebpackConfig(options, presets) { if (definedRefs) { Object.entries(definedRefs).forEach(([key, value]) => { - if (value?.disabled) { + const { disable, disabled } = value; + + if (disable || disabled) { + if (disabled) { + deprecatedDefinedRefDisabled(); + } + delete refs[key.toLowerCase()]; return; } @@ -96,6 +113,7 @@ async function getManagerWebpackConfig(options, presets) { }; }); } + if (autoRefs || definedRefs) { entries.push(path.resolve(path.join(options.configDir, `generated-refs.js`))); diff --git a/lib/core/src/server/manager/manager-webpack.config.js b/lib/core/src/server/manager/manager-webpack.config.js index f67841fd3de..37528a02426 100644 --- a/lib/core/src/server/manager/manager-webpack.config.js +++ b/lib/core/src/server/manager/manager-webpack.config.js @@ -120,7 +120,7 @@ export default async ({ ], }, { - test: /\.(svg|ico|jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/, + test: /\.(svg|ico|jpg|jpeg|png|apng|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/, loader: require.resolve('file-loader'), query: { name: 'static/media/[name].[hash:8].[ext]', diff --git a/lib/core/src/server/preview/base-webpack.config.js b/lib/core/src/server/preview/base-webpack.config.js index a2e92f22c3b..291af29d0b0 100644 --- a/lib/core/src/server/preview/base-webpack.config.js +++ b/lib/core/src/server/preview/base-webpack.config.js @@ -66,7 +66,7 @@ export async function createDefaultWebpackConfig(storybookBaseConfig, options) { ], }, { - test: /\.(svg|ico|jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/, + test: /\.(svg|ico|jpg|jpeg|png|apng|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/, loader: require.resolve('file-loader'), options: { name: 'static/media/[name].[hash:8].[ext]', diff --git a/lib/core/src/server/utils/validate-configuration-files.js b/lib/core/src/server/utils/validate-configuration-files.js index 8b04eb344cd..45429755d1f 100644 --- a/lib/core/src/server/utils/validate-configuration-files.js +++ b/lib/core/src/server/utils/validate-configuration-files.js @@ -9,7 +9,7 @@ const warnLegacyConfigurationFiles = deprecate( () => {}, dedent` Configuration files such as "config", "presets" and "addons" are deprecated and will be removed in Storybook 7.0. - Read more about it in the migration guide: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md + Read more about it in the migration guide: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration ` ); @@ -21,7 +21,7 @@ const errorMixingConfigFiles = (first, second, configDir) => { ${firstPath} ${secondPath} "${first}" and "${second}" cannot coexist. - Please check the documentation for migration steps: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md + Please check the documentation for migration steps: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration `); }; diff --git a/lib/core/types/index.ts b/lib/core/types/index.ts index 27fd1207bf8..afc126a01fc 100644 --- a/lib/core/types/index.ts +++ b/lib/core/types/index.ts @@ -2,6 +2,8 @@ import type ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; import type { PluginOptions } from 'react-docgen-typescript-plugin'; import { Configuration } from 'webpack'; +type Preset = string | { name: string }; + /** * The interface for Storybook configuration in `main.ts` files. */ @@ -36,7 +38,9 @@ export interface StorybookConfig { */ export interface StorybookOptions { configType: 'DEVELOPMENT' | 'PRODUCTION'; + presetsList: Preset[]; typescriptOptions: TypescriptOptions; + [key: string]: any; } /** diff --git a/lib/node-logger/package.json b/lib/node-logger/package.json index 7915569fdc0..532f778e02e 100644 --- a/lib/node-logger/package.json +++ b/lib/node-logger/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/node-logger", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "", "keywords": [ "storybook" @@ -22,7 +22,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" @@ -40,11 +40,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/postinstall/README.md b/lib/postinstall/README.md index 92be110856e..bee84e17f8d 100644 --- a/lib/postinstall/README.md +++ b/lib/postinstall/README.md @@ -11,7 +11,7 @@ If these files are present in the addon, the CLI will run them on the existing f To add a preset to `presets.js`, simply create a file `postinstall/presets.js` in your addon: ```js -improt { presetsAddPreset } = require('@storybook/postinstall'); +import { presetsAddPreset } = require('@storybook/postinstall'); export default function transformer(file, api) { const root = api.jscodeshift(file.source); presetsAddPreset(`@storybook/addon-docs/preset`, { some: 'options' }, { root, api }); diff --git a/lib/postinstall/package.json b/lib/postinstall/package.json index 3127411e244..43366a0584b 100644 --- a/lib/postinstall/package.json +++ b/lib/postinstall/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/postinstall", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Storybook addons postinstall utilities", "keywords": [ "api", @@ -23,7 +23,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" @@ -39,11 +39,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/router/package.json b/lib/router/package.json index 6e7079b5565..98ce65690fb 100644 --- a/lib/router/package.json +++ b/lib/router/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/router", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Core Storybook Router", "keywords": [ "storybook" @@ -22,7 +22,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" @@ -40,11 +40,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/router/src/router.tsx b/lib/router/src/router.tsx index 9092898555f..ab115122b91 100644 --- a/lib/router/src/router.tsx +++ b/lib/router/src/router.tsx @@ -75,7 +75,7 @@ QueryLocation.displayName = 'QueryLocation'; // A render-prop component for rendering when a certain path is hit. // It's immensely similar to `Location` but it receives an addition data property: `match`. -// match has a truethy value when the path is hit. +// match has a truthy value when the path is hit. const QueryMatch = ({ children, path: targetPath, startsWith = false }: QueryMatchProps) => ( {({ path: urlPath, ...rest }) => diff --git a/lib/source-loader/package.json b/lib/source-loader/package.json index 3d6635b8a1f..ca246c881cf 100644 --- a/lib/source-loader/package.json +++ b/lib/source-loader/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/source-loader", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Source loader", "keywords": [ "lib", @@ -23,14 +23,14 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" }, "dependencies": { - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/client-logger": "6.1.0-alpha.10", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/client-logger": "6.1.0-alpha.20", "@storybook/csf": "0.0.1", "core-js": "^3.0.1", "estraverse": "^4.2.0", @@ -40,10 +40,18 @@ "prettier": "~2.0.5", "react": "^16.8.3", "react-dom": "^16.8.3", - "regenerator-runtime": "^0.13.3" + "regenerator-runtime": "^0.13.3", + "source-map": "^0.7.3" }, "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23" + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", + "typesVersions": { + "<3.8": { + "*": [ + "ts3.4/*" + ] + } + } } diff --git a/lib/source-loader/src/abstract-syntax-tree/__snapshots__/inject-decorator.test.js.snap b/lib/source-loader/src/abstract-syntax-tree/__snapshots__/inject-decorator.test.js.snap index f66b2b8a66b..413752f9908 100644 --- a/lib/source-loader/src/abstract-syntax-tree/__snapshots__/inject-decorator.test.js.snap +++ b/lib/source-loader/src/abstract-syntax-tree/__snapshots__/inject-decorator.test.js.snap @@ -65,7 +65,7 @@ import { storiesOf, moduleMetadata } from '@storybook/angular'; @Component({ selector: 'storybook-comp-with-store', - template: '
{{this.getSotreState()}}
', + template: '
{{this.getStoreState()}}
', }) class WithStoreComponent { private store: Store; @@ -74,7 +74,7 @@ class WithStoreComponent { this.store = store; } - getSotreState(): string { + getStoreState(): string { return this.store === undefined ? 'Store is NOT injected' : 'Store is injected'; } } @@ -384,7 +384,7 @@ import { storiesOf, moduleMetadata } from '@storybook/angular'; @Component({ selector: 'storybook-comp-with-store', - template: '
{{this.getSotreState()}}
', + template: '
{{this.getStoreState()}}
', }) class WithStoreComponent { private store: Store; @@ -393,7 +393,7 @@ class WithStoreComponent { this.store = store; } - getSotreState(): string { + getStoreState(): string { return this.store === undefined ? 'Store is NOT injected' : 'Store is injected'; } } @@ -834,7 +834,7 @@ import React from 'react'; @Component({ selector: 'storybook-comp-with-store', - template: '
{{this.getSotreState()}}
', + template: '
{{this.getStoreState()}}
', }) class WithStoreComponent { private store: Store; @@ -843,7 +843,7 @@ class WithStoreComponent { this.store = store; } - getSotreState(): string { + getStoreState(): string { return this.store === undefined ? 'Store is NOT injected' : 'Store is injected'; } } diff --git a/lib/source-loader/src/build.js b/lib/source-loader/src/build.js index e817da8148b..7bceaab3b99 100644 --- a/lib/source-loader/src/build.js +++ b/lib/source-loader/src/build.js @@ -1,24 +1,63 @@ +import { SourceMapConsumer, SourceNode } from 'source-map'; + import { readStory } from './dependencies-lookup/readAsObject'; -export function transform(inputSource) { - return readStory(this, inputSource).then((sourceObject) => { +export async function transform(inputSource, inputSourceMap) { + const callback = this.async(); + + try { + const sourceObject = await readStory(this, inputSource); // if source-loader had trouble parsing the story exports, return the original story // example is // const myStory = () => xxx // export { myStory } if (!sourceObject.source || sourceObject.source.length === 0) { - return inputSource; + callback(null, inputSource, inputSourceMap); + return; } const { source, sourceJson, addsMap } = sourceObject; + + // Use the SourceNode to produce the code. Given that the source mapping here is trivial it's easier to just + // always build a sourcemap rather than to have two different code paths. + let sourceNode; + if (inputSourceMap) { + // The inputSourceMap here should be a SourceMapGenerator, or just a plain source map JSON object. + sourceNode = await SourceMapConsumer.with( + JSON.stringify(inputSourceMap), + null, + (consumer) => { + return SourceNode.fromStringWithSourceMap(source, consumer); + } + ); + } else { + // Build an identity sourcemap. Note that "source" is already potentially differing from "inputSource" + // due to other loaders, so while we need to use "source" for the source node contents to generate the correct + // code, we still want to use "inputSource" as the source content. + sourceNode = new SourceNode(); + sourceNode.add( + source + .split(/\n/) + .map((line, index) => new SourceNode(index + 1, 0, this.resourcePath, `${line}\n`)) + ); + + sourceNode.setSourceContent(this.resourcePath, inputSource); + } + + // Prepend the preamble const preamble = ` /* eslint-disable */ // @ts-nocheck // @ts-ignore var __STORY__ = ${sourceJson}; // @ts-ignore - var __LOCATIONS_MAP__ = ${JSON.stringify(addsMap)}; - `; - return `${preamble}\n${source}`; - }); + var __LOCATIONS_MAP__ = ${JSON.stringify(addsMap)};`; + sourceNode.prepend(`${preamble}\n`); + + // Generate the code and the source map for the next loader + const { code, map } = sourceNode.toStringWithSourceMap(); + callback(null, code, map); + } catch (e) { + callback(e); + } } diff --git a/lib/theming/package.json b/lib/theming/package.json index 4f47b8c5a8b..0eb79670447 100644 --- a/lib/theming/package.json +++ b/lib/theming/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/theming", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Core Storybook Components", "keywords": [ "storybook" @@ -22,7 +22,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "prepare": "node ../../scripts/prepare.js" @@ -31,7 +31,7 @@ "@emotion/core": "^10.0.20", "@emotion/is-prop-valid": "^0.8.6", "@emotion/styled": "^10.0.17", - "@storybook/client-logger": "6.1.0-alpha.10", + "@storybook/client-logger": "6.1.0-alpha.20", "core-js": "^3.0.1", "deep-object-diff": "^1.1.0", "emotion-theming": "^10.0.19", @@ -46,11 +46,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/ui/package.json b/lib/ui/package.json index 7413b4db91a..c296a408e09 100644 --- a/lib/ui/package.json +++ b/lib/ui/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/ui", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "description": "Core Storybook UI", "keywords": [ "storybook" @@ -21,7 +21,7 @@ "README.md", "*.js", "*.d.ts", - "ts3.5/**/*" + "ts3.4/**/*" ], "scripts": { "createDlls": "node -r esm ./scripts/createDlls.js", @@ -29,15 +29,15 @@ }, "dependencies": { "@emotion/core": "^10.0.20", - "@storybook/addons": "6.1.0-alpha.10", - "@storybook/api": "6.1.0-alpha.10", - "@storybook/channels": "6.1.0-alpha.10", - "@storybook/client-logger": "6.1.0-alpha.10", - "@storybook/components": "6.1.0-alpha.10", - "@storybook/core-events": "6.1.0-alpha.10", - "@storybook/router": "6.1.0-alpha.10", + "@storybook/addons": "6.1.0-alpha.20", + "@storybook/api": "6.1.0-alpha.20", + "@storybook/channels": "6.1.0-alpha.20", + "@storybook/client-logger": "6.1.0-alpha.20", + "@storybook/components": "6.1.0-alpha.20", + "@storybook/core-events": "6.1.0-alpha.20", + "@storybook/router": "6.1.0-alpha.20", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.0-alpha.10", + "@storybook/theming": "6.1.0-alpha.20", "@types/markdown-to-jsx": "^6.11.0", "copy-to-clipboard": "^3.0.8", "core-js": "^3.0.1", @@ -62,10 +62,10 @@ "store2": "^2.7.1" }, "devDependencies": { - "@babel/core": "^7.9.6", - "@storybook/addon-actions": "6.1.0-alpha.10", - "@storybook/addon-knobs": "6.1.0-alpha.10", - "@storybook/react": "6.1.0-alpha.10", + "@babel/core": "^7.11.5", + "@storybook/addon-actions": "6.1.0-alpha.20", + "@storybook/addon-knobs": "6.1.0-alpha.20", + "@storybook/react": "6.1.0-alpha.20", "@testing-library/react": "^10.0.3", "babel-loader": "^8.0.6", "chromatic": "^5.0.0", @@ -77,11 +77,11 @@ "publishConfig": { "access": "public" }, - "gitHead": "57798a108e183d97f94fd4cc396e45e1d4b04d23", + "gitHead": "cc1c152e5452d28eabb24330f4ed693cd6782bc1", "typesVersions": { - "<=3.5": { + "<3.8": { "*": [ - "ts3.5/*" + "ts3.4/*" ] } } diff --git a/lib/ui/src/components/preview/toolbar.tsx b/lib/ui/src/components/preview/toolbar.tsx index d47098d2d91..26ce2b8d8bb 100644 --- a/lib/ui/src/components/preview/toolbar.tsx +++ b/lib/ui/src/components/preview/toolbar.tsx @@ -33,7 +33,7 @@ export const Toolbar = styled(Bar)( transition: 'transform .2s linear', }, ({ shown }) => ({ - tranform: shown ? 'translateY(0px)' : 'translateY(-40px)', + transform: shown ? 'translateY(0px)' : 'translateY(-40px)', }) ); diff --git a/lib/ui/src/containers/preview.tsx b/lib/ui/src/containers/preview.tsx index 6d692f0758d..ff6f6b3beb0 100644 --- a/lib/ui/src/containers/preview.tsx +++ b/lib/ui/src/containers/preview.tsx @@ -7,12 +7,8 @@ import { Preview } from '../components/preview/preview'; export type Item = StoriesHash[keyof StoriesHash]; -const nonAlphanumSpace = /[^a-z0-9 ]/gi; -const doubleSpace = /\s\s/gi; -const replacer = (match: string) => ` ${match} `; - -const addExtraWhiteSpace = (input: string) => - input.replace(nonAlphanumSpace, replacer).replace(doubleSpace, ' '); +const splitTitleAddExtraSpace = (input: string) => + input.split('/').join(' / ').replace(/\s\s/, ' '); const getDescription = (item: Item) => { if (isRoot(item)) { @@ -23,7 +19,7 @@ const getDescription = (item: Item) => { } if (isStory(item)) { const { kind, name } = item; - return kind && name ? addExtraWhiteSpace(`${kind} - ${name} ⋅ Storybook`) : 'Storybook'; + return kind && name ? splitTitleAddExtraSpace(`${kind} - ${name} ⋅ Storybook`) : 'Storybook'; } return 'Storybook'; diff --git a/lib/ui/src/settings/shortcuts.tsx b/lib/ui/src/settings/shortcuts.tsx index b3e90ff3d4c..303dfe1a4a3 100644 --- a/lib/ui/src/settings/shortcuts.tsx +++ b/lib/ui/src/settings/shortcuts.tsx @@ -179,7 +179,7 @@ class ShortcutsScreen extends Component feature !== activeFeature && diff --git a/package.json b/package.json index 36681456fdc..c4a78f0650f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/root", - "version": "6.1.0-alpha.10", + "version": "6.1.0-alpha.20", "private": true, "description": "Storybook is an open source tool for developing UI components in isolation for React, Vue and Angular. It makes building stunning UIs organized and efficient.", "keywords": [ @@ -66,7 +66,6 @@ "publish:debug": "npm run publish:latest -- --npm-tag=debug --no-push", "publish:latest": "lerna publish --exact --concurrency 1 --force-publish", "publish:next": "npm run publish:latest -- --npm-tag=next", - "repo-dirty-check": "node -r esm ./scripts/run-repo-dirty-check", "run-chromatics": "node -r esm ./scripts/run-chromatics.js", "serve-storybooks": "http-server ./built-storybooks -p 8001", "start": "yarn --cwd examples/official-storybook storybook", @@ -94,25 +93,19 @@ "serialize-javascript": "^3.0.0" }, "devDependencies": { - "@angular/common": "^9.1.0", - "@angular/compiler": "^9.1.0", - "@angular/core": "^9.1.0", - "@angular/forms": "^9.1.0", - "@angular/platform-browser": "^9.1.0", - "@angular/platform-browser-dynamic": "^9.1.0", - "@babel/cli": "^7.8.4", - "@babel/core": "^7.9.6", - "@babel/plugin-proposal-class-properties": "^7.3.3", - "@babel/plugin-proposal-decorators": "^7.3.0", - "@babel/plugin-proposal-export-default-from": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.9.6", - "@babel/plugin-proposal-private-methods": "^7.3.3", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/preset-env": "^7.9.6", - "@babel/preset-flow": "^7.0.0", - "@babel/preset-react": "^7.0.0", - "@babel/preset-typescript": "^7.3.3", - "@babel/runtime": "^7.9.6", + "@babel/cli": "^7.11.5", + "@babel/core": "^7.11.5", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-decorators": "^7.10.5", + "@babel/plugin-proposal-export-default-from": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.11.0", + "@babel/plugin-proposal-private-methods": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/preset-env": "^7.11.5", + "@babel/preset-flow": "^7.10.4", + "@babel/preset-react": "^7.10.4", + "@babel/preset-typescript": "^7.10.4", + "@babel/runtime": "^7.11.2", "@emotion/snapshot-serializer": "^0.8.2", "@storybook/eslint-config-storybook": "^2.4.0", "@storybook/linter-config": "^2.5.0", @@ -123,6 +116,7 @@ "@types/enzyme": "^3.10.3", "@types/escodegen": "^0.0.6", "@types/express": "^4.17.6", + "@types/fs-extra": "^9.0.1", "@types/jest": "^25.1.1", "@types/js-yaml": "^3.12.4", "@types/lodash": "^4.14.150", @@ -146,7 +140,6 @@ "chalk": "^4.0.0", "chromatic": "^5.0.0", "codecov": "^3.5.0", - "codelyzer": "^5.0.0", "commander": "^5.1.0", "concurrently": "^5.2.0", "core-js": "^3.0.1", @@ -154,7 +147,7 @@ "danger": "^10.1.1", "del": "^5.1.0", "detect-port": "^1.3.0", - "downlevel-dts": "^0.4.0", + "downlevel-dts": "^0.6.0", "enquirer": "^2.3.5", "enzyme": "^3.9.0", "enzyme-adapter-react-16": "^1.9.1", @@ -181,11 +174,9 @@ "jest-image-snapshot": "^4.0.2", "jest-jasmine2": "^26.0.0", "jest-matcher-utils": "^26.0.0", - "jest-preset-angular": "^8.2.0", "jest-raw-loader": "^1.0.1", "jest-serializer-html": "^7.0.0", "jest-teamcity": "^1.7.0", - "jest-vue-preprocessor": "^1.5.0", "jest-watch-typeahead": "^0.5.0", "js-yaml": "^3.13.1", "lerna": "^3.19.0", @@ -204,6 +195,7 @@ "react-test-renderer": "^16.8.3", "recursive-copy": "^2.0.10", "regenerator-runtime": "^0.13.3", + "remark": "^12.0.0", "remark-cli": "^8.0.0", "remark-lint": "^7.0.0", "remark-preset-lint-recommended": "^4.0.0", @@ -221,12 +213,14 @@ "ts-node": "^8.10.2", "typescript": "^3.9.3", "wait-on": "^4.0.0", + "webpack": "^4.43.0", "window-size": "^1.1.1" }, "optionalDependencies": { "@cypress/webpack-preprocessor": "^5.1.2", "cypress": "4.7.0", "puppeteer": "^2.0.0", + "ts-loader": "^8.0.4", "verdaccio": "^4.5.1", "verdaccio-auth-memory": "^9.4.0" }, @@ -281,4 +275,4 @@ ] ] } -} \ No newline at end of file +} diff --git a/scripts/bootstrap.js b/scripts/bootstrap.js index e234eb9b4a2..3222a8056f3 100755 --- a/scripts/bootstrap.js +++ b/scripts/bootstrap.js @@ -1,8 +1,10 @@ #!/usr/bin/env node /* eslint-disable global-require */ + const { lstatSync, readdirSync } = require('fs'); const { join } = require('path'); +const { maxConcurrentTasks } = require('./utils/concurrency'); const { checkDependenciesAndRun, spawn } = require('./utils/cli-utils'); function run() { @@ -82,8 +84,8 @@ function run() { option: '--install', command: () => { const command = process.env.CI - ? 'yarn install --network-concurrency 8' - : 'yarn install --ignore-optional --network-concurrency 8'; + ? `yarn install --frozen-lockfile --cache-folder ~/.cache/yarn --network-concurrency ${maxConcurrentTasks}` + : `yarn install --ignore-optional --network-concurrency ${maxConcurrentTasks}`; spawn(command); }, order: 1, @@ -94,7 +96,11 @@ function run() { option: '--build', command: () => { log.info(prefix, 'prepare'); - spawn('lerna run prepare'); + spawn( + `lerna run prepare ${ + process.env.CI ? `--concurrency ${maxConcurrentTasks} --stream` : '' + }` + ); }, order: 2, }), @@ -154,7 +160,7 @@ function run() { tasks[key].value = program[tasks[key].option.replace('--', '')] || program.all; }); - const createSeperator = (input) => `- ${input}${' ---------'.substr(0, 12)}`; + const createSeparator = (input) => `- ${input}${' ---------'.substr(0, 12)}`; const choices = Object.values(groups) .map((l) => @@ -165,7 +171,7 @@ function run() { ) .reduce( (acc, i, k) => - acc.concat(new inquirer.Separator(createSeperator(Object.keys(groups)[k]))).concat(i), + acc.concat(new inquirer.Separator(createSeparator(Object.keys(groups)[k]))).concat(i), [] ); diff --git a/scripts/build-storybooks.js b/scripts/build-storybooks.js index 4be6f9787a0..ab02c2e541a 100755 --- a/scripts/build-storybooks.js +++ b/scripts/build-storybooks.js @@ -4,6 +4,7 @@ import { readdir as readdirRaw, writeFile as writeFileRaw, readFileSync } from ' import { join } from 'path'; import { getDeployables } from './utils/list-examples'; +import { filterDataForCurrentCircleCINode } from './utils/concurrency'; const readdir = promisify(readdirRaw); const writeFile = promisify(writeFileRaw); @@ -132,20 +133,10 @@ const handleExamples = async (deployables) => { const run = async () => { const list = getDeployables(await readdir(p(['examples'])), hasBuildScript); - - const { length } = list; - const [a, b] = [process.env.CIRCLE_NODE_INDEX || 0, process.env.CIRCLE_NODE_TOTAL || 1]; - const step = Math.ceil(length / b); - const offset = step * a; - - const deployables = list.slice().splice(offset, step); + const deployables = filterDataForCurrentCircleCINode(list); if (deployables.length) { - logger.log( - `will build: ${deployables.join(', ')} (${ - deployables.length - } total - offset: ${offset} | step: ${step} | length: ${length} | node_index: ${a} | total: ${b} |)` - ); + logger.log(`🏗 Will build Storybook for: ${deployables.join(', ')}`); await handleExamples(deployables); } diff --git a/scripts/run-chromatics.js b/scripts/run-chromatics.js index 3c9d2b1690c..7686cb04f41 100755 --- a/scripts/run-chromatics.js +++ b/scripts/run-chromatics.js @@ -5,6 +5,7 @@ import { readdir as readdirRaw, readFileSync } from 'fs'; import { join } from 'path'; import { getDeployables } from './utils/list-examples'; +import { filterDataForCurrentCircleCINode } from './utils/concurrency'; const readdir = promisify(readdirRaw); @@ -79,29 +80,14 @@ const handleExamples = async (deployables) => { const run = async () => { const examples = await readdir(p(['examples'])); - const { length } = examples; - const [a, b] = [process.env.CIRCLE_NODE_INDEX || 0, process.env.CIRCLE_NODE_TOTAL || 1]; - const step = Math.ceil(length / b); - const offset = step * a; + const list = filterDataForCurrentCircleCINode(examples); - const list = examples.slice().splice(offset, step); const deployables = getDeployables(list, hasChromaticAppCode); if (deployables.length) { - logger.log(`will build: ${deployables.join(', ')}`); + logger.log(`🖼 Will run chromatics for: ${deployables.join(', ')}`); await handleExamples(deployables); } - - if ( - deployables.length && - (process.env.CIRCLE_NODE_INDEX === undefined || - process.env.CIRCLE_NODE_INDEX === '0' || - process.env.CIRCLE_NODE_INDEX === 0) - ) { - logger.log('-------'); - logger.log('✅ done'); - logger.log('-------'); - } }; run().catch((e) => { diff --git a/scripts/run-e2e-config.ts b/scripts/run-e2e-config.ts index ab8b6e792de..43665790fc6 100644 --- a/scripts/run-e2e-config.ts +++ b/scripts/run-e2e-config.ts @@ -137,7 +137,11 @@ export const react_typescript: Parameters = { export const cra: Parameters = { name: 'cra', version: 'latest', - generator: 'npx create-react-app@{{version}} {{name}}-{{version}}', + generator: [ + 'npx create-react-app@{{version}} {{name}}-{{version}}', + 'cd {{name}}-{{version}}', + 'echo "FAST_REFRESH=true" > .env', + ].join(' && '), }; export const cra_typescript: Parameters = { diff --git a/scripts/run-e2e.ts b/scripts/run-e2e.ts index bfc390f13e1..d74bc60aa63 100644 --- a/scripts/run-e2e.ts +++ b/scripts/run-e2e.ts @@ -10,6 +10,8 @@ import { serve } from './utils/serve'; import { exec } from './utils/command'; // @ts-ignore import { listOfPackages } from './utils/list-packages'; +// @ts-ignore +import { filterDataForCurrentCircleCINode } from './utils/concurrency'; import * as configs from './run-e2e-config'; @@ -246,6 +248,7 @@ const runTests = async ({ name, version, ...rest }: Parameters) => { cwd: path.join(siblingDir, `${name}-${version}`), }; + logger.log(); logger.info(`🏃‍♀️ Starting for ${name} ${version}`); logger.log(); logger.debug(options); @@ -298,14 +301,19 @@ const runTests = async ({ name, version, ...rest }: Parameters) => { }; // Run tests! -const runE2E = (parameters: Parameters) => - runTests(parameters) +const runE2E = async (parameters: Parameters) => { + const { name, version } = parameters; + const cwd = path.join(siblingDir, `${name}-${version}`); + if (startWithCleanSlate) { + logger.log(); + logger.info(`♻️  Starting with a clean slate, removing existing ${name} folder`); + await cleanDirectory({ ...parameters, cwd }); + } + + return runTests(parameters) .then(async () => { if (!process.env.CI) { - const { name, version } = parameters; - const cwd = path.join(siblingDir, `${name}-${version}`); - - const { cleanup } = await prompt({ + const { cleanup } = await prompt<{ cleanup: boolean }>({ type: 'confirm', name: 'cleanup', message: 'Should perform cleanup?', @@ -328,7 +336,9 @@ const runE2E = (parameters: Parameters) => logger.log(); process.exitCode = 1; }); +}; +program.option('--clean', 'Clean up existing projects before running the tests', false); program.option('--use-yarn-2', 'Run tests using Yarn 2 instead of Yarn 1 + npx', false); program.option( '--use-local-sb-cli', @@ -337,7 +347,7 @@ program.option( ); program.parse(process.argv); -const { useYarn2, useLocalSbCli, args: frameworkArgs } = program; +const { useYarn2, useLocalSbCli, clean: startWithCleanSlate, args: frameworkArgs } = program; const typedConfigs: { [key: string]: Parameters } = configs; let e2eConfigs: { [key: string]: Parameters } = {}; @@ -359,18 +369,9 @@ if (frameworkArgs.length > 0) { const perform = () => { const limit = pLimit(1); const narrowedConfigs = Object.values(e2eConfigs); - const nodeIndex = +process.env.CIRCLE_NODE_INDEX || 0; - const numberOfNodes = +process.env.CIRCLE_NODE_TOTAL || 1; + const list = filterDataForCurrentCircleCINode(narrowedConfigs) as Parameters[]; - const list = narrowedConfigs.filter((_, index) => { - return index % numberOfNodes === nodeIndex; - }); - - logger.info( - `📑 Assigning jobs ${list - .map((c) => c.name) - .join(', ')} to node ${nodeIndex} (on ${numberOfNodes})` - ); + logger.info(`📑 Will run E2E tests for:${list.map((c) => c.name).join(', ')}`); return Promise.all(list.map((config) => limit(() => runE2E(config)))); }; diff --git a/scripts/run-registry.ts b/scripts/run-registry.ts index cb7b07c316b..e5b0ab1e321 100755 --- a/scripts/run-registry.ts +++ b/scripts/run-registry.ts @@ -10,6 +10,8 @@ import nodeCleanup from 'node-cleanup'; import startVerdaccioServer from 'verdaccio'; import pLimit from 'p-limit'; +// @ts-ignore +import { maxConcurrentTasks } from './utils/concurrency'; import { listOfPackages, Package } from './utils/list-packages'; program @@ -106,7 +108,8 @@ const currentVersion = async () => { }; const publish = (packages: { name: string; location: string }[], url: string) => { - const limit = pLimit(3); + const limit = pLimit(maxConcurrentTasks); + let i = 0; return Promise.all( packages.map(({ name, location }) => @@ -119,7 +122,8 @@ const publish = (packages: { name: string; location: string }[], url: string) => if (e) { rej(e); } else { - logger.log(`🛬 successful publish of ${name}!`); + i += 1; + logger.log(`${i}/${packages.length} 🛬 successful publish of ${name}!`); res(); } }); diff --git a/scripts/run-repo-dirty-check.js b/scripts/run-repo-dirty-check.js deleted file mode 100644 index 0d7e81c196f..00000000000 --- a/scripts/run-repo-dirty-check.js +++ /dev/null @@ -1,13 +0,0 @@ -import shell from 'shelljs'; -import dedent from 'ts-dedent'; - -const logger = console; - -// exit with code 1 if there are some changed files -if (shell.exec('git status --porcelain').stdout.trim() !== '') { - logger.error(dedent` - Git repo is dirty, - please consider updating lockfiles by running "yarn bootstrap --reset --core" - `); - process.exit(1); -} diff --git a/scripts/utils/compile-tsc.js b/scripts/utils/compile-tsc.js index 4d8de79dda9..927fb3fcabe 100644 --- a/scripts/utils/compile-tsc.js +++ b/scripts/utils/compile-tsc.js @@ -28,7 +28,7 @@ function getCommand(watch) { args.push('-w', '--preserveWatchOutput'); } - return `${tsc} ${args.join(' ')} && ${downlevelDts} dist ts3.5/dist`; + return `${tsc} ${args.join(' ')} && ${downlevelDts} dist ts3.4/dist`; } function handleExit(code, stderr, errorCallback) { @@ -36,6 +36,7 @@ function handleExit(code, stderr, errorCallback) { if (errorCallback && typeof errorCallback === 'function') { errorCallback(stderr); } + shell.exit(code); } } diff --git a/scripts/utils/concurrency.js b/scripts/utils/concurrency.js new file mode 100644 index 00000000000..e76be81992c --- /dev/null +++ b/scripts/utils/concurrency.js @@ -0,0 +1,27 @@ +const os = require('os'); + +/** + * The maximum number of concurrent tasks we want to have on some CLI and CI tasks. + * The amount of CPUS minus one. + * @type {number} + */ +const maxConcurrentTasks = Math.max(1, os.cpus().length - 1); + +/** + * Use a simple round robin to filter input data according to the CI node currently running the script + * @param {Array} arrayOfData An array of anything you want + * @returns {Array} An array containing only the data that shoud be used by current CI node. + */ +function filterDataForCurrentCircleCINode(arrayOfData) { + const nodeIndex = +process.env.CIRCLE_NODE_INDEX || 0; + const numberOfNodes = +process.env.CIRCLE_NODE_TOTAL || 1; + + return arrayOfData.filter((_, index) => { + return index % numberOfNodes === nodeIndex; + }); +} + +module.exports = { + maxConcurrentTasks, + filterDataForCurrentCircleCINode, +}; diff --git a/yarn.lock b/yarn.lock index fc3086fb4b8..133e2f2c225 100644 --- a/yarn.lock +++ b/yarn.lock @@ -130,6 +130,17 @@ rxjs "6.5.4" source-map "0.7.3" +"@angular-devkit/core@^9.1.0": + version "9.1.12" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-9.1.12.tgz#7cebce51918fe7f3462d8c58c9fbd5a3e2c3b3e7" + integrity sha512-D/GnBeSlmdgGn7EhuE32HuPuRAjvUuxi7Q6WywBI8PSsXKAGnrypghBwMATNnOA24//CgbW2533Y9VWHaeXdeA== + dependencies: + ajv "6.12.3" + fast-json-stable-stringify "2.1.0" + magic-string "0.25.7" + rxjs "6.5.4" + source-map "0.7.3" + "@angular-devkit/schematics@9.1.7": version "9.1.7" resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-9.1.7.tgz#45394a1c928db449b412dacf205c3ec78fb5ef0c" @@ -213,63 +224,63 @@ resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-9.1.9.tgz#c2fcc50aebfdc268521b407e32dc0d967cb40411" integrity sha512-V861X3MxJp1AlMTnkUPldpBLIJbApXF3ka0A5Dq2nVJCyOFeteGkaRWSBgqe2jxmq+LVpJbzcNvtDFXw6mQ0jA== -"@aurelia/debug@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/debug/-/debug-0.8.0-dev.202005200307.tgz#820d843bc68c8f086d9b5076e3a2d81b796a3e2f" - integrity sha512-6zpGu1c3tlaapJeQ9oKvv5d6iSNeKfQNeifQAfwyBso/WoioxnZmdB3jacwlof1P2hemxB8RI0e/+P5WdTcVWw== +"@aurelia/debug@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/debug/-/debug-0.7.0.tgz#7ed996f763e99fb23b3cd3444a4b29335983b991" + integrity sha512-ODiWypcwwrrdCH5dGMVghqS7NxnpYT5QJgWUbYRthgZuc3GTpXK09PWEt1QWR1H410lj2m3PMQFUndl+7btqWA== dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" -"@aurelia/fetch-client@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/fetch-client/-/fetch-client-0.8.0-dev.202005200307.tgz#085da01ab1c11753b971b647520f1ad7310b7624" - integrity sha512-EwnqLm6VnjBQkY2ExShh6X5aAb/GaqjuPrqaFHXJuCkAIUzX3iD9B4LmMUk5LzDawdhUsG5cEunioe0Ww0jQfA== +"@aurelia/fetch-client@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/fetch-client/-/fetch-client-0.7.0.tgz#5f17e22690604434098b1b85c43f01946c2bce2d" + integrity sha512-Clh+kY1aKkaWJuo3LH7zv9Y7adCxB63Dlb6e6dZo6xIv9t/xQ1Do9KG9JXqI6Ad6gTu5FvbCdftGiSAVYhV7dg== dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/runtime-html" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/runtime-html" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" -"@aurelia/jit-html-browser@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/jit-html-browser/-/jit-html-browser-0.8.0-dev.202005200307.tgz#56243740833c82a26b341a7c0486606e86995e90" - integrity sha512-gSdZ4cPrin85eGLf3XMgFjbXf0hYzE1tB081m0WtnEXOtMTxP1bqYd2ZMzekA+NFMpZZQBDUkQ4HcBOsDzWF9A== +"@aurelia/jit-html-browser@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/jit-html-browser/-/jit-html-browser-0.7.0.tgz#b32a1147cb9c8e530e3c649aea82f3c9f3ead299" + integrity sha512-LI/g/auL0Hh/Kz4UDtmSi0hqmwKlU8cfw4mZv2BFYjOEyEAaiSyEVsfIZF+uXa1kRQh2hbUUQmnKzAQ3K7nYkA== dependencies: - "@aurelia/jit" "^0.8.0-dev.202005200307" - "@aurelia/jit-html" "^0.8.0-dev.202005200307" - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/runtime-html" "^0.8.0-dev.202005200307" - "@aurelia/runtime-html-browser" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" - "@aurelia/scheduler-dom" "^0.8.0-dev.202005200307" + "@aurelia/jit" "^0.7.0" + "@aurelia/jit-html" "^0.7.0" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/runtime-html" "^0.7.0" + "@aurelia/runtime-html-browser" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" + "@aurelia/scheduler-dom" "^0.7.0" -"@aurelia/jit-html@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/jit-html/-/jit-html-0.8.0-dev.202005200307.tgz#6060ff20b104a6dbf0f0880c17408a7710d07c4d" - integrity sha512-OjMR1AxynsBMaIcSVsEHOWUa5VZeYJQteC+uWy2lShBQG4wMGozNLcp4OePY8rYuNgvNefRxJSTDQF9bJUmKpQ== +"@aurelia/jit-html@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/jit-html/-/jit-html-0.7.0.tgz#4159d86f5c1760f383584111ed44562858b3a330" + integrity sha512-hApNutugWtvnLPMnPYO9Z0Om0h+SwZdCqiLJBJli7IAaKrpkHupWKeLtjUHjUqyfUwLdttFpS98xgBuvtUjrjg== dependencies: - "@aurelia/jit" "^0.8.0-dev.202005200307" - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/runtime-html" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" + "@aurelia/jit" "^0.7.0" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/runtime-html" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" -"@aurelia/jit@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/jit/-/jit-0.8.0-dev.202005200307.tgz#f6df793cc6911b8b547d3ea17dfab39a97b1ca22" - integrity sha512-/LeYypR37kIZ2DZVLOTsaP8nMc4arlpXEYYSvGOgp80ZkV5GKCe815lCWD07dzuJK6ltCR5OQHyG+DjtcdhLbA== +"@aurelia/jit@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/jit/-/jit-0.7.0.tgz#b1428e64f8e1e931a59fcddff5984c7bf6ebae9e" + integrity sha512-vZaCRZj3nTWhkrOFglIsx8Y59KiY1DEgbPwgLuSbC6nAEOLI/1T2f/eQJPiB5waX2klgBlBI6NX9f748o8MZyA== dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" "@aurelia/kernel@^0.7.0": version "0.7.0" @@ -278,23 +289,11 @@ dependencies: "@aurelia/metadata" "^0.7.0" -"@aurelia/kernel@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/kernel/-/kernel-0.8.0-dev.202005200307.tgz#e70afd984a15141c4f52c90e47f77f36c9d680e6" - integrity sha512-aonZjKeCAOQjF+Ml5YCoByMApo39SXa4obTMxPNJrmSsC5UWQYcWTTmFVKrfDfWl+iA6QFe4Z6SIzbG0ym2XCQ== - dependencies: - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/metadata@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@aurelia/metadata/-/metadata-0.7.0.tgz#97dd797975ffa1b207ad24070a4e955d8c71f1cb" integrity sha512-PnHoyxRLMK2iUeSqfgIeJfhFY6JfRRKC2RJL/Q05TyXWASYS5QGZtdYqGJCzXaxVas5kZHCFCFVh4iVc/P1wfw== -"@aurelia/metadata@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/metadata/-/metadata-0.8.0-dev.202005200307.tgz#296276e6978012e8830ce237d9d2b740b9c1efcf" - integrity sha512-qsazQG0Z4klyTBFNJsD50C74p088YI6N3Q3et2eS4zhFTPk+F49f+arAsKZNyB8aA//gKuWJt/QNmr9D1aoSMQ== - "@aurelia/plugin-conventions@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@aurelia/plugin-conventions/-/plugin-conventions-0.7.0.tgz#f40751a3e1446dccc541c1032938d2f5b311a951" @@ -308,57 +307,44 @@ parse5 "^5.1.1" typescript "^3.8.3" -"@aurelia/plugin-conventions@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/plugin-conventions/-/plugin-conventions-0.8.0-dev.202005200307.tgz#a52d29dacc0f17b6eb46519d0ed82857d1d80db5" - integrity sha512-s+76+WSBqHQxs5Vq6wpQiNjdSPBbztx4P5bbKrYdb8HSr/l3Hm4BRrmF022bK9mL15Z93pFgWgVMeRNeTzRV8g== - dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" - modify-code "^1.2.0" - parse5 "^5.1.1" - typescript "^3.8.3" +"@aurelia/route-recognizer@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/route-recognizer/-/route-recognizer-0.7.0.tgz#87b4f126e5029eadc09b63362fb31fcc665c62af" + integrity sha512-hFuxV/pamowjjYAGJsNipuFZ7yP4YseRqo2nINmvW69dWYbG0CSZL2+i5xxJThdH42Dohi5rGNPgD5+d52rK/g== -"@aurelia/route-recognizer@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/route-recognizer/-/route-recognizer-0.8.0-dev.202005200307.tgz#ef4bcb2d799fbbb504a8bf707bf28891c66092aa" - integrity sha512-B73cskP6dDQJQ0WU725hCSRCLFZCCAAW9k5n+K5WP/8cxOO1vy3GdxEUEZQeefNRZUGEBeXCBLbLLfY0G/zx1A== - -"@aurelia/router@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/router/-/router-0.8.0-dev.202005200307.tgz#30a6937728c0a8ca4349eed5a76c08a7c37b0440" - integrity sha512-dNflKScsSclwBpW6NnfArbqUQGL6QMXO1xWLo+Cv4xz5k9XXZGoZMIKVk2SNbPrtSMSORyBcH9o2dYiuWgb7OA== +"@aurelia/router@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/router/-/router-0.7.0.tgz#f58b580e6c54caea4acd0e4c5b5a876b0c2b39ca" + integrity sha512-dzHQgcMEBeSG7CFv5JXS3te//r2QJZKd5FRUj41uvJr8CU1OMEgEuU5gwAPQosbYs6av3/sL+awA5AdQOkJZwg== dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/route-recognizer" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/runtime-html" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/route-recognizer" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/runtime-html" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" -"@aurelia/runtime-html-browser@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/runtime-html-browser/-/runtime-html-browser-0.8.0-dev.202005200307.tgz#4294af53075d5d63e8c03201d1b89c6608cdc6d6" - integrity sha512-+eywZ5kaKVIZ5uE+wz2V7TVon61DQOWC6buOHjAONSUI2Ohhs/+ts6CkjMSJ/sJOb315w2jZdwvm0J2XY/8fYw== +"@aurelia/runtime-html-browser@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/runtime-html-browser/-/runtime-html-browser-0.7.0.tgz#6083ab73ec401faee9059c6fa8bde2f72514301d" + integrity sha512-59B1CDmMReEE27lkuFILWAZqpGV5RjkSFBG+ocUBI7CNsAYjBWJP2Y1x0VpWfGafnx4vIOErf/w2EUn7IthLsA== dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/runtime-html" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" - "@aurelia/scheduler-dom" "^0.8.0-dev.202005200307" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/runtime-html" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" + "@aurelia/scheduler-dom" "^0.7.0" -"@aurelia/runtime-html@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/runtime-html/-/runtime-html-0.8.0-dev.202005200307.tgz#57f198475d1a0ee959e45f528f6bd394065f3e6f" - integrity sha512-8VrNAg6b3LghldKTX5WGz7hwoiBYbbkR3CXWj14gEqKig1VYjemDt6AVx54rOPIA0uE14hyRo4djCboo/JU7VA== +"@aurelia/runtime-html@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/runtime-html/-/runtime-html-0.7.0.tgz#770391e4773b68e27eb5f281f10c4377a4c17b8c" + integrity sha512-H2AYhmRzs3sSefiguWs6aWFlWo4yK6o8vlBK4cJ5CPqB2Q6DXKS0N3HykCYnvkBXMrHxhycz86Yk67NUWJgBEA== dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" "@aurelia/runtime@^0.7.0": version "0.7.0" @@ -369,23 +355,14 @@ "@aurelia/metadata" "^0.7.0" "@aurelia/scheduler" "^0.7.0" -"@aurelia/runtime@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/runtime/-/runtime-0.8.0-dev.202005200307.tgz#83fcf0857f3c333234949b7eaf9544ea6884ecb7" - integrity sha512-EPzk8SWaPwaxklPDWIWx7nXZ+wWSypbpyLomael8ReaVtLIsjFtcGClxzlY50G9D/G5/bSrFlLWGbEHjl7SblA== +"@aurelia/scheduler-dom@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@aurelia/scheduler-dom/-/scheduler-dom-0.7.0.tgz#608e61b8b46c135fb6378cfef74df99a964ab9f6" + integrity sha512-WNiHLSge2A7UHWBgJIDNj3PjrUrmVzgyWVRJ+HYYkKaRsSuuxBTtikmyugq2uwNTUiZVgqpum6vnRPKdr+FQQg== dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" - -"@aurelia/scheduler-dom@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/scheduler-dom/-/scheduler-dom-0.8.0-dev.202005200307.tgz#c1d85d2c8200bde48fae4d2fea441cba49784112" - integrity sha512-OCHF8Dgm5nzZe7eOHr4SLGnUH8/ebEDi+GpUPnEQcy/Z31nEjegPBg2Y8ohMdC719CTi7YUzi5uuJNjvJ+IMow== - dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" "@aurelia/scheduler@^0.7.0": version "0.7.0" @@ -395,14 +372,6 @@ "@aurelia/kernel" "^0.7.0" "@aurelia/metadata" "^0.7.0" -"@aurelia/scheduler@^0.8.0-dev.202005200307": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/scheduler/-/scheduler-0.8.0-dev.202005200307.tgz#ba215dcf94c388c50c9360d46917e5a8d2784a02" - integrity sha512-0zUDUd2YicBxrlv6iAy7zWFYpA9l6X9kOklq6ouboomkH7zlaxrdKvvAp0F4/WkJ0YWHUlf6ufA9wo10/aM2rA== - dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/webpack-loader@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@aurelia/webpack-loader/-/webpack-loader-0.7.0.tgz#483ca0f69bc262f7e49ad24a3c2953b8aaca5be4" @@ -416,29 +385,16 @@ loader-utils "^1.2.3" webpack "^4.41.4" -"@aurelia/webpack-loader@dev": - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/@aurelia/webpack-loader/-/webpack-loader-0.8.0-dev.202005200307.tgz#147b918d362468254f8806b95b24dbae772beeb8" - integrity sha512-dffvCzo8J51oBq0F4ltskxz/SxQnBnnFqiLtGo+wxeWiC1BOIzqJaO22lYwLbu8NgiL2SucQ78099VZyuzEuZA== - dependencies: - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/plugin-conventions" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" - loader-utils "^1.2.3" - webpack "^4.41.4" - -"@babel/cli@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.8.4.tgz#505fb053721a98777b2b175323ea4f090b7d3c1c" - integrity sha512-XXLgAm6LBbaNxaGhMAznXXaxtCWfuv6PIDJ9Alsy9JYTOh+j2jJz+L/162kkfU1j/pTSxK1xGmlwI4pdIMkoag== +"@babel/cli@^7.11.5": + version "7.11.6" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.11.6.tgz#1fcbe61c2a6900c3539c06ee58901141f3558482" + integrity sha512-+w7BZCvkewSmaRM6H4L2QM3RL90teqEIHDIFXAmrW33+0jhlymnDAEdqVeCZATvxhQuio1ifoGVlJJbIiH9Ffg== dependencies: commander "^4.0.1" convert-source-map "^1.1.0" fs-readdir-recursive "^1.1.0" glob "^7.0.0" - lodash "^4.17.13" + lodash "^4.17.19" make-dir "^2.1.0" slash "^2.0.0" source-map "^0.5.0" @@ -568,7 +524,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.11.0": +"@babel/core@^7.11.0", "@babel/core@^7.11.5": version "7.11.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== @@ -649,6 +605,15 @@ "@babel/helper-explode-assignable-expression" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-builder-react-jsx-experimental@^7.10.4", "@babel/helper-builder-react-jsx-experimental@^7.11.5": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz#4ea43dd63857b0a35cd1f1b161dc29b43414e79f" + integrity sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/types" "^7.11.5" + "@babel/helper-builder-react-jsx-experimental@^7.9.0": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz#0b4b3e04e6123f03b404ca4dfd6528fe6bb92fe3" @@ -658,6 +623,14 @@ "@babel/helper-module-imports" "^7.8.3" "@babel/types" "^7.9.5" +"@babel/helper-builder-react-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d" + integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/helper-builder-react-jsx@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" @@ -1081,7 +1054,7 @@ "@babel/helper-create-class-features-plugin" "^7.2.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@7.8.3", "@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.3.3", "@babel/plugin-proposal-class-properties@^7.5.5", "@babel/plugin-proposal-class-properties@^7.8.3": +"@babel/plugin-proposal-class-properties@7.8.3", "@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.5.5", "@babel/plugin-proposal-class-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== @@ -1107,7 +1080,7 @@ "@babel/helper-split-export-declaration" "^7.0.0" "@babel/plugin-syntax-decorators" "^7.2.0" -"@babel/plugin-proposal-decorators@7.8.3", "@babel/plugin-proposal-decorators@^7.3.0", "@babel/plugin-proposal-decorators@^7.8.3": +"@babel/plugin-proposal-decorators@7.8.3", "@babel/plugin-proposal-decorators@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" integrity sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w== @@ -1149,7 +1122,15 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-export-default-from" "^7.2.0" -"@babel/plugin-proposal-export-default-from@^7.2.0", "@babel/plugin-proposal-export-default-from@^7.5.2", "@babel/plugin-proposal-export-default-from@^7.8.3": +"@babel/plugin-proposal-export-default-from@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.10.4.tgz#08f66eef0067cbf6a7bc036977dcdccecaf0c6c5" + integrity sha512-G1l00VvDZ7Yk2yRlC5D8Ybvu3gmeHS3rCHoUYdjrqGYUtdeOBoRypnvDZ5KQqxyaiiGHWnVDeSEzA5F9ozItig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-default-from" "^7.10.4" + +"@babel/plugin-proposal-export-default-from@^7.5.2": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.8.3.tgz#4cb7c2fdeaed490b60d9bfd3dc8a20f81f9c2e7c" integrity sha512-PYtv2S2OdCdp7GSPDg5ndGZFm9DmWFvuLoS5nBxZCgOBggluLnhTScspJxng96alHQzPyrrHxvC9/w4bFuspeA== @@ -1213,7 +1194,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.10.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz#02dca21673842ff2fe763ac253777f235e9bbf78" integrity sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA== @@ -1287,7 +1268,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.10.1", "@babel/plugin-proposal-optional-chaining@^7.9.0": +"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.9.0": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz#15f5d6d22708629451a91be28f8facc55b0e818c" integrity sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA== @@ -1312,14 +1293,6 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-private-methods@^7.3.3", "@babel/plugin-proposal-private-methods@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.8.3.tgz#01248c6c8dc292116b3b4ebd746150f4f0728bab" - integrity sha512-ysLAper960yy1TVXa2lMYdCQIGqtUXo8sVb+zYE7UTiZSLs6/wbZ0PrrXEKESJcK3SgFWrF8WpsaDzdslhuoZA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-unicode-property-regex@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" @@ -1385,6 +1358,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-export-default-from@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.10.4.tgz#e5494f95006355c10292a0ff1ce42a5746002ec8" + integrity sha512-79V6r6Pgudz0RnuMGp5xidu6Z+bPFugh8/Q9eDHonmLp4wKFAZDwygJwYgCzuDu8lFA/sYyT+mc5y2wkd7bTXA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-default-from@^7.2.0", "@babel/plugin-syntax-export-default-from@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.8.3.tgz#f1e55ce850091442af4ba9c2550106035b29d678" @@ -1406,6 +1386,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.1" +"@babel/plugin-syntax-flow@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz#53351dd7ae01995e567d04ce42af1a6e0ba846a6" + integrity sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-function-bind@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.8.3.tgz#17d722cd8efc9bb9cf8bc59327f2b26295b352f7" @@ -1413,7 +1400,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-meta@^7.2.0", "@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.2.0", "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -1434,6 +1421,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-syntax-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c" + integrity sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -1564,7 +1558,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-block-scoping@^7.10.4": +"@babel/plugin-transform-block-scoping@^7.10.4", "@babel/plugin-transform-block-scoping@^7.11.1": version "7.11.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215" integrity sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew== @@ -1593,7 +1587,7 @@ "@babel/helper-split-export-declaration" "^7.10.4" globals "^11.1.0" -"@babel/plugin-transform-classes@^7.2.0", "@babel/plugin-transform-classes@^7.9.0", "@babel/plugin-transform-classes@^7.9.2", "@babel/plugin-transform-classes@^7.9.5": +"@babel/plugin-transform-classes@^7.2.0", "@babel/plugin-transform-classes@^7.9.0", "@babel/plugin-transform-classes@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c" integrity sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg== @@ -1697,6 +1691,14 @@ "@babel/helper-plugin-utils" "^7.10.1" "@babel/plugin-syntax-flow" "^7.10.1" +"@babel/plugin-transform-flow-strip-types@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz#c497957f09e86e3df7296271e9eb642876bf7788" + integrity sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-flow" "^7.10.4" + "@babel/plugin-transform-for-of@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" @@ -1880,7 +1882,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/helper-replace-supers" "^7.8.3" -"@babel/plugin-transform-parameters@^7.10.4": +"@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.10.5": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw== @@ -1924,6 +1926,22 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-react-display-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz#b5795f4e3e3140419c3611b7a2a3832b9aef328d" + integrity sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-jsx-development@^7.10.4": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.11.5.tgz#e1439e6a57ee3d43e9f54ace363fb29cefe5d7b6" + integrity sha512-cImAmIlKJ84sDmpQzm4/0q/2xrXlDezQoixy3qoz1NJeZL/8PRon6xZtluvr4H4FzwlDGI5tCcFupMnXGtr+qw== + dependencies: + "@babel/helper-builder-react-jsx-experimental" "^7.11.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + "@babel/plugin-transform-react-jsx-development@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754" @@ -1941,6 +1959,14 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" +"@babel/plugin-transform-react-jsx-self@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369" + integrity sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + "@babel/plugin-transform-react-jsx-source@^7.0.0", "@babel/plugin-transform-react-jsx-source@^7.9.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0" @@ -1949,7 +1975,15 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.3.0", "@babel/plugin-transform-react-jsx@^7.9.1", "@babel/plugin-transform-react-jsx@^7.9.4": +"@babel/plugin-transform-react-jsx-source@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz#34f1779117520a779c054f2cdd9680435b9222b4" + integrity sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.9.1", "@babel/plugin-transform-react-jsx@^7.9.4": version "7.9.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f" integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw== @@ -1959,6 +1993,24 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" +"@babel/plugin-transform-react-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2" + integrity sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A== + dependencies: + "@babel/helper-builder-react-jsx" "^7.10.4" + "@babel/helper-builder-react-jsx-experimental" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + +"@babel/plugin-transform-react-pure-annotations@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.4.tgz#3eefbb73db94afbc075f097523e445354a1c6501" + integrity sha512-+njZkqcOuS8RaPakrnR9KvxjoG1ASJWpoIv/doyWngId88JoFlPlISenGXjrVacZUIALGUr6eodRs1vmPnF23A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" @@ -1997,7 +2049,7 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-runtime@^7.11.0": +"@babel/plugin-transform-runtime@^7.11.0", "@babel/plugin-transform-runtime@^7.11.5": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.5.tgz#f108bc8e0cf33c37da031c097d1df470b3a293fc" integrity sha512-9aIoee+EhjySZ6vY5hnLjigHzunBlscx9ANKutkeWTJTx6m5Rbq6Ic01tLvO54lSusR+BxV7u4UDdCmXv5aagg== @@ -2007,7 +2059,7 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-runtime@^7.2.0", "@babel/plugin-transform-runtime@^7.9.0", "@babel/plugin-transform-runtime@^7.9.6": +"@babel/plugin-transform-runtime@^7.2.0", "@babel/plugin-transform-runtime@^7.9.0": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.6.tgz#3ba804438ad0d880a17bca5eaa0cdf1edeedb2fd" integrity sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w== @@ -2062,7 +2114,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/helper-regex" "^7.8.3" -"@babel/plugin-transform-template-literals@^7.10.4": +"@babel/plugin-transform-template-literals@^7.10.4", "@babel/plugin-transform-template-literals@^7.10.5": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw== @@ -2092,7 +2144,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-typescript@^7.11.0": +"@babel/plugin-transform-typescript@^7.10.4", "@babel/plugin-transform-typescript@^7.11.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb" integrity sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w== @@ -2270,7 +2322,7 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.4.4", "@babel/preset-env@^7.4.5", "@babel/preset-env@^7.5.5", "@babel/preset-env@^7.9.0", "@babel/preset-env@^7.9.5", "@babel/preset-env@^7.9.6": +"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.4.4", "@babel/preset-env@^7.4.5", "@babel/preset-env@^7.5.5", "@babel/preset-env@^7.9.0", "@babel/preset-env@^7.9.5": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.6.tgz#df063b276c6455ec6fcfc6e53aacc38da9b0aea6" integrity sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ== @@ -2426,6 +2478,14 @@ "@babel/helper-plugin-utils" "^7.10.1" "@babel/plugin-transform-flow-strip-types" "^7.10.1" +"@babel/preset-flow@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.10.4.tgz#e0d9c72f8cb02d1633f6a5b7b16763aa2edf659f" + integrity sha512-XI6l1CptQCOBv+ZKYwynyswhtOKwpZZp5n0LG1QKCo8erRhqjoQV6nvx61Eg30JHpysWQSBwA2AWRU3pBbSY5g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-flow-strip-types" "^7.10.4" + "@babel/preset-modules@^0.1.3": version "0.1.3" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" @@ -2460,7 +2520,7 @@ "@babel/plugin-transform-react-jsx-self" "^7.9.0" "@babel/plugin-transform-react-jsx-source" "^7.9.0" -"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.7.0", "@babel/preset-react@^7.7.4", "@babel/preset-react@^7.8.3", "@babel/preset-react@^7.9.4": +"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.9.4": version "7.9.4" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d" integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ== @@ -2472,7 +2532,20 @@ "@babel/plugin-transform-react-jsx-self" "^7.9.0" "@babel/plugin-transform-react-jsx-source" "^7.9.0" -"@babel/preset-typescript@7.9.0", "@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.3.3", "@babel/preset-typescript@^7.9.0": +"@babel/preset-react@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.10.4.tgz#92e8a66d816f9911d11d4cc935be67adfc82dbcf" + integrity sha512-BrHp4TgOIy4M19JAfO1LhycVXOPWdDbTRep7eVyatf174Hff+6Uk53sDyajqZPu8W1qXRBiYOfIamek6jA7YVw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.10.4" + "@babel/plugin-transform-react-jsx" "^7.10.4" + "@babel/plugin-transform-react-jsx-development" "^7.10.4" + "@babel/plugin-transform-react-jsx-self" "^7.10.4" + "@babel/plugin-transform-react-jsx-source" "^7.10.4" + "@babel/plugin-transform-react-pure-annotations" "^7.10.4" + +"@babel/preset-typescript@7.9.0", "@babel/preset-typescript@^7.1.0": version "7.9.0" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== @@ -2480,7 +2553,15 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-typescript" "^7.9.0" -"@babel/register@^7.0.0", "@babel/register@^7.10.5": +"@babel/preset-typescript@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.10.4.tgz#7d5d052e52a682480d6e2cc5aa31be61c8c25e36" + integrity sha512-SdYnvGPv+bLlwkF2VkJnaX/ni1sMNetcGI1+nThF1gyv6Ph8Qucc4ZZAjM5yZcE/AKRXIOTZz7eSRDWOEjPyRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-typescript" "^7.10.4" + +"@babel/register@^7.0.0": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.10.5.tgz#354f3574895f1307f79efe37a51525e52fd38d89" integrity sha512-eYHdLv43nyvmPn9bfNfrcC4+iYNwdQ8Pxk1MFJuU/U5LpSYl/PH4dFMazCYZDFVi8ueG3shvO+AQfLrxpYulQw== @@ -2491,6 +2572,17 @@ pirates "^4.0.0" source-map-support "^0.5.16" +"@babel/register@^7.11.5": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.11.5.tgz#79becf89e0ddd0fba8b92bc279bc0f5d2d7ce2ea" + integrity sha512-CAml0ioKX+kOAvBQDHa/+t1fgOt3qkTIz0TrRtRAT6XY0m5qYZXR85k6/sLCNPMGhYDlCFHCYuU0ybTJbvlC6w== + dependencies: + find-cache-dir "^2.0.0" + lodash "^4.17.19" + make-dir "^2.1.0" + pirates "^4.0.0" + source-map-support "^0.5.16" + "@babel/runtime-corejs3@^7.7.4", "@babel/runtime-corejs3@^7.8.3": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.9.6.tgz#67aded13fffbbc2cb93247388cf84d77a4be9a71" @@ -4290,17 +4382,18 @@ npmlog "^4.1.2" write-file-atomic "^2.3.0" -"@marko/webpack@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@marko/webpack/-/webpack-2.1.0.tgz#2042556c142201b3d05cdee8703b1b44afee089b" - integrity sha512-FYaQyZpdCFW07PRy4Yize7WJsxLxGZU+C611SAlanSisTaCGy1bof7V9YuvbddUf5XalmP4T2Qns0XyL2zkdhw== +"@marko/webpack@^6.2.8": + version "6.2.8" + resolved "https://registry.yarnpkg.com/@marko/webpack/-/webpack-6.2.8.tgz#d8c0542dcb2b0950b72a06e3d2ff179729e1a02f" + integrity sha512-gXoGXKl0vCawIK4KGVg9F5XVYMUKLDTaXxH8i5bQXzdFw+7VfONug0GnKJn8EDUbCgeHS219dS39+igFSbB0dw== dependencies: - base-x "^3.0.5" + base-x "^3.0.7" + concat-with-sourcemaps "^1.1.0" lasso-modules-client "^2.0.5" - loader-utils "^1.2.3" - sort-keys "^2.0.0" + loader-utils "^1.4.0" + sort-keys "^4.0.0" tslib "^1.10.0" - webpack-virtual-modules "^0.1.10" + webpack-virtual-modules "^0.2.1" "@mdx-js/loader@^1.5.1": version "1.6.4" @@ -4602,6 +4695,18 @@ "@parcel/utils" "^1.11.0" physical-cpu-count "^2.0.0" +"@pmmmwh/react-refresh-webpack-plugin@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.2.tgz#1f9741e0bde9790a0e13272082ed7272a083620d" + integrity sha512-Loc4UDGutcZ+Bd56hBInkm6JyjyCwWy4t2wcDXzN8EDPANgVRj0VP8Nxn0Zq2pc+WKauZwEivQgbDGg4xZO20A== + dependencies: + ansi-html "^0.0.7" + error-stack-parser "^2.0.6" + html-entities "^1.2.1" + native-url "^0.2.6" + schema-utils "^2.6.5" + source-map "^0.7.3" + "@popperjs/core@^2.4.4": version "2.4.4" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.4.tgz#11d5db19bd178936ec89cd84519c4de439574398" @@ -5225,6 +5330,13 @@ dependencies: "@types/node" "*" +"@types/fs-extra@^9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918" + integrity sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg== + dependencies: + "@types/node" "*" + "@types/glob-base@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@types/glob-base/-/glob-base-0.3.0.tgz#a581d688347e10e50dd7c17d6f2880a10354319d" @@ -6680,6 +6792,16 @@ ajv@6.12.0: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@6.12.3: + version "6.12.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" + integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + ajv@^5.1.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" @@ -6891,11 +7013,6 @@ app-root-dir@^1.0.2: resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118" integrity sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg= -app-root-path@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.2.1.tgz#d0df4a682ee408273583d43f6f79e9892624bc9a" - integrity sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA== - aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -7348,25 +7465,25 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aurelia@dev: - version "0.8.0-dev.202005200307" - resolved "https://registry.yarnpkg.com/aurelia/-/aurelia-0.8.0-dev.202005200307.tgz#0afaaff3cb5e2ac43c8f14a5856da3a0d81b27e0" - integrity sha512-y8TKxHz7slfWsIUQXd+tqdwDnilzgGtkB+VSvCtUFvdqfQxVZL2r3mlfINKrRdUB8p1/7s4SMDhViWgxiCUVoQ== +aurelia@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aurelia/-/aurelia-0.7.0.tgz#37938b4a4c7a8d2fe7746ef4757a7ee86a6ec816" + integrity sha512-Jy0epfWP6M6NTt4XP6G/0SgO4uJOZ+pyajxJdvOpjZlKwPevOKXh1lEzKTTZ3myiwQCHmPoUZK+1mToQPLD2IQ== dependencies: - "@aurelia/debug" "^0.8.0-dev.202005200307" - "@aurelia/fetch-client" "^0.8.0-dev.202005200307" - "@aurelia/jit" "^0.8.0-dev.202005200307" - "@aurelia/jit-html" "^0.8.0-dev.202005200307" - "@aurelia/jit-html-browser" "^0.8.0-dev.202005200307" - "@aurelia/kernel" "^0.8.0-dev.202005200307" - "@aurelia/metadata" "^0.8.0-dev.202005200307" - "@aurelia/route-recognizer" "^0.8.0-dev.202005200307" - "@aurelia/router" "^0.8.0-dev.202005200307" - "@aurelia/runtime" "^0.8.0-dev.202005200307" - "@aurelia/runtime-html" "^0.8.0-dev.202005200307" - "@aurelia/runtime-html-browser" "^0.8.0-dev.202005200307" - "@aurelia/scheduler" "^0.8.0-dev.202005200307" - "@aurelia/scheduler-dom" "^0.8.0-dev.202005200307" + "@aurelia/debug" "^0.7.0" + "@aurelia/fetch-client" "^0.7.0" + "@aurelia/jit" "^0.7.0" + "@aurelia/jit-html" "^0.7.0" + "@aurelia/jit-html-browser" "^0.7.0" + "@aurelia/kernel" "^0.7.0" + "@aurelia/metadata" "^0.7.0" + "@aurelia/route-recognizer" "^0.7.0" + "@aurelia/router" "^0.7.0" + "@aurelia/runtime" "^0.7.0" + "@aurelia/runtime-html" "^0.7.0" + "@aurelia/runtime-html-browser" "^0.7.0" + "@aurelia/scheduler" "^0.7.0" + "@aurelia/scheduler-dom" "^0.7.0" autoprefixer@9.7.4: version "9.7.4" @@ -7434,13 +7551,6 @@ axios@0.19.0: follow-redirects "1.5.10" is-buffer "^2.0.2" -axobject-query@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== - dependencies: - ast-types-flow "0.0.7" - axobject-query@^2.0.2: version "2.1.2" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.2.tgz#2bdffc0371e643e5f03ba99065d5179b9ca79799" @@ -8757,7 +8867,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base-x@^3.0.5: +base-x@^3.0.7: version "3.0.8" resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== @@ -8898,9 +9008,9 @@ bindings@^1.5.0: file-uri-to-path "1.0.0" bl@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" - integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== dependencies: readable-stream "^2.3.5" safe-buffer "^5.1.1" @@ -10929,21 +11039,6 @@ codecov@^3.5.0: teeny-request "6.0.1" urlgrey "0.4.4" -codelyzer@^5.0.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-5.2.2.tgz#d0530a455784e6bea0b6d7e97166c73c30a5347f" - integrity sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA== - dependencies: - app-root-path "^2.2.1" - aria-query "^3.0.0" - axobject-query "2.0.2" - css-selector-tokenizer "^0.7.1" - cssauron "^1.4.0" - damerau-levenshtein "^1.0.4" - semver-dsl "^1.0.1" - source-map "^0.5.7" - sprintf-js "^1.1.2" - codemirror-graphql@^0.11.6: version "0.11.6" resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-0.11.6.tgz#885e34afb5b7aacf0e328d4d5949e73ad21d5a4e" @@ -11236,6 +11331,13 @@ concat-stream@^2.0.0: readable-stream "^3.0.2" typedarray "^0.0.6" +concat-with-sourcemaps@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== + dependencies: + source-map "^0.6.1" + concurrently@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-5.2.0.tgz#ead55121d08a0fc817085584c123cedec2e08975" @@ -11966,7 +12068,7 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-selector-tokenizer@^0.7.0, css-selector-tokenizer@^0.7.1: +css-selector-tokenizer@^0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz#11e5e27c9a48d90284f22d45061c303d7a25ad87" integrity sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw== @@ -12046,13 +12148,6 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssauron@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8" - integrity sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg= - dependencies: - through X.X.X - cssdb@^4.3.0, cssdb@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" @@ -13118,13 +13213,13 @@ dotenv@^5.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== -downlevel-dts@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/downlevel-dts/-/downlevel-dts-0.4.0.tgz#43f9f649c8b137373d76b4ee396d5a0227c10ddb" - integrity sha512-nh5vM3n2pRhPwZqh0iWo5gpItPAYEGEWw9yd0YpI+lO60B7A3A6iJlxDbt7kKVNbqBXKsptL+jwE/Yg5Go66WQ== +downlevel-dts@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/downlevel-dts/-/downlevel-dts-0.6.0.tgz#1e52db9fa3ad9e3919a36545412f0b41a44289d1" + integrity sha512-Jy3ZZcXWPzTn5jJRW5WpdEtIq8+UowWWi5TEBgHHvzw320kouV//2KgVhfcuOpP93KS3UAokTxnZKU4L75kRSQ== dependencies: shelljs "^0.8.3" - typescript "^3.8.0-dev.20200111" + typescript "^4.1.0-dev.20200804" downshift@^6.0.6: version "6.0.6" @@ -14081,7 +14176,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error-stack-parser@^2.0.0, error-stack-parser@^2.0.1: +error-stack-parser@^2.0.0, error-stack-parser@^2.0.1, error-stack-parser@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== @@ -23472,6 +23567,13 @@ napi-macros@~2.0.0: resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== +native-url@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae" + integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA== + dependencies: + querystring "^0.2.0" + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -23578,9 +23680,9 @@ node-fetch@^1.0.1: is-stream "^1.0.1" node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.5.0, node-fetch@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== node-forge@0.9.0: version "0.9.0" @@ -27277,7 +27379,7 @@ react-docgen-typescript-loader@^3.7.2: loader-utils "^1.2.3" react-docgen-typescript "^1.15.0" -react-docgen-typescript-plugin@^0.5.0, react-docgen-typescript-plugin@^0.5.2: +react-docgen-typescript-plugin@^0.5.0: version "0.5.2" resolved "https://registry.yarnpkg.com/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-0.5.2.tgz#2b294d75ef3145c36303da82be5d447cb67dc0dc" integrity sha512-NQfWyWLmzUnedkiN2nPDb6Nkm68ik6fqbC3UvgjqYSeZsbKijXUA4bmV6aU7qICOXdop9PevPdjEgJuAN0nNVQ== @@ -27289,6 +27391,18 @@ react-docgen-typescript-plugin@^0.5.0, react-docgen-typescript-plugin@^0.5.2: react-docgen-typescript-loader "^3.7.2" tslib "^2.0.0" +react-docgen-typescript-plugin@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-0.6.0.tgz#fbb465dad3c5553d9300af19ba3763e9b5a80eee" + integrity sha512-RWAo/uC3+5BcOstK+YTZquIWq2EunGFVVxiU1cnJ3+XjylwVKlJ0nZ140IsngxGIH9H5KyFCObGJwKxOTpNCdw== + dependencies: + debug "^4.1.1" + endent "^2.0.1" + micromatch "^4.0.2" + react-docgen-typescript "^1.20.1" + react-docgen-typescript-loader "^3.7.2" + tslib "^2.0.0" + react-docgen-typescript@^1.15.0, react-docgen-typescript@^1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.20.1.tgz#774ed8b4a7111acaaa536cad4cfd61c504a46f7e" @@ -27458,6 +27572,11 @@ react-popper@^2.2.3: react-fast-compare "^3.0.1" warning "^4.0.2" +react-refresh@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" + integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== + react-scripts@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.0.1.tgz#e5565350d8069cc9966b5998d3fe3befe3d243ac" @@ -29335,13 +29454,6 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -semver-dsl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0" - integrity sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA= - dependencies: - semver "^5.3.0" - semver-intersect@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/semver-intersect/-/semver-intersect-1.4.0.tgz#bdd9c06bedcdd2fedb8cd352c3c43ee8c61321f3" @@ -29916,6 +30028,13 @@ sort-keys@^2.0.0: dependencies: is-plain-obj "^1.0.0" +sort-keys@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.0.0.tgz#56dc5e256637bfe3fec8db0dc57c08b1a2be22d6" + integrity sha512-hlJLzrn/VN49uyNkZ8+9b+0q9DjmmYcYOnbMQtpkLrYpPwRApDPZfmqbUfJnAA3sb/nRib+nDot7Zi/1ER1fuA== + dependencies: + is-plain-obj "^2.0.0" + sort-object-keys@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45" @@ -30151,7 +30270,7 @@ split@^1.0.0: dependencies: through "2" -sprintf-js@^1.0.3, sprintf-js@^1.1.2: +sprintf-js@^1.0.3: version "1.1.2" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== @@ -31421,7 +31540,7 @@ through2@^3.0.0, through2@^3.0.1: dependencies: readable-stream "2 || 3" -through@2, "through@>=2.2.7 <3", through@X.X.X, through@^2.3.4, through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -31881,6 +32000,17 @@ ts-loader@^6.0.0, ts-loader@^6.0.1, ts-loader@^6.2.0, ts-loader@^6.2.2: micromatch "^4.0.0" semver "^6.0.0" +ts-loader@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.4.tgz#02b9c91fbcfdb3114d8b1e98a3829265270eee7a" + integrity sha512-5u8KF1SW8eCUb/Ff7At81e3wznPmT/27fvaGRO9CziVy+6NlPVRvrzSox4OwU0/e6OflOUB32Err4VquysCSAQ== + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^4.0.0" + semver "^6.0.0" + ts-map@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/ts-map/-/ts-map-1.0.3.tgz#1c4d218dec813d2103b7e04e4bcf348e1471c1ff" @@ -32136,11 +32266,16 @@ typescript@^2.4.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" integrity sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w== -typescript@^3.2.4, typescript@^3.5.3, typescript@^3.8.0-dev.20200111, typescript@^3.8.3, typescript@^3.9.3: +typescript@^3.2.4, typescript@^3.5.3, typescript@^3.8.3, typescript@^3.9.3: version "3.9.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.3.tgz#d3ac8883a97c26139e42df5e93eeece33d610b8a" integrity sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ== +typescript@^4.1.0-dev.20200804: + version "4.1.0-dev.20200921" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.0-dev.20200921.tgz#dc9fb6938b046a71cfbe09b3cecd420ce8414910" + integrity sha512-3QUfGlMtdcNEj+PzW8YrM9ERAF86BCyUfAPhRaA7ioTGCpXQ0y593FZcKC/kU5axwIIyiMSloMNbkm6X+Mf8BQ== + ua-parser-js@^0.7.18: version "0.7.21" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" @@ -33518,6 +33653,11 @@ webpack-dev-server@3.2.1: webpack-log "^2.0.0" yargs "12.0.2" +webpack-filter-warnings-plugin@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz#dc61521cf4f9b4a336fbc89108a75ae1da951cdb" + integrity sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg== + webpack-hot-middleware@^2.25.0: version "2.25.0" resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706" @@ -33587,14 +33727,7 @@ webpack-subresource-integrity@1.4.0: dependencies: webpack-sources "^1.3.0" -webpack-virtual-modules@^0.1.10: - version "0.1.12" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.1.12.tgz#ff6430c1d6f514eff12bae773ec03e5043a81943" - integrity sha512-uwVhcpmh7WykpP2fD4T//5DLdMuanPHGXQHCnIrKoRg10GgVNy5z2oAcn26HLF67a6HCSzgc9xar+SMtZhOnXw== - dependencies: - debug "^3.0.0" - -webpack-virtual-modules@^0.2.2: +webpack-virtual-modules@^0.2.1, webpack-virtual-modules@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz#20863dc3cb6bb2104729fff951fbe14b18bd0299" integrity sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==