@storybook/codemod 7.4.0-alpha.0 → 7.4.0-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. package/package.json +11 -4
  2. package/project.json +0 -6
  3. package/src/index.ts +0 -103
  4. package/src/lib/utils.test.js +0 -9
  5. package/src/lib/utils.ts +0 -29
  6. package/src/transforms/__testfixtures__/add-component-parameters/add-component-parameters.input.js +0 -44
  7. package/src/transforms/__testfixtures__/add-component-parameters/add-component-parameters.output.snapshot +0 -68
  8. package/src/transforms/__testfixtures__/csf-hoist-story-annotations/basic.input.js +0 -25
  9. package/src/transforms/__testfixtures__/csf-hoist-story-annotations/basic.output.snapshot +0 -27
  10. package/src/transforms/__testfixtures__/csf-hoist-story-annotations/overrides.input.js +0 -25
  11. package/src/transforms/__testfixtures__/csf-hoist-story-annotations/overrides.output.snapshot +0 -28
  12. package/src/transforms/__testfixtures__/csf-hoist-story-annotations/variable.input.js +0 -13
  13. package/src/transforms/__testfixtures__/csf-hoist-story-annotations/variable.output.snapshot +0 -17
  14. package/src/transforms/__testfixtures__/mdx-to-csf/basic.input.mdx +0 -18
  15. package/src/transforms/__testfixtures__/mdx-to-csf/basic.output.snapshot +0 -40
  16. package/src/transforms/__testfixtures__/mdx-to-csf/component-id.input.mdx +0 -6
  17. package/src/transforms/__testfixtures__/mdx-to-csf/component-id.output.snapshot +0 -17
  18. package/src/transforms/__testfixtures__/mdx-to-csf/decorators.input.mdx +0 -8
  19. package/src/transforms/__testfixtures__/mdx-to-csf/decorators.output.snapshot +0 -18
  20. package/src/transforms/__testfixtures__/mdx-to-csf/exclude-stories.input.mdx +0 -19
  21. package/src/transforms/__testfixtures__/mdx-to-csf/exclude-stories.output.snapshot +0 -39
  22. package/src/transforms/__testfixtures__/mdx-to-csf/parameters.input.mdx +0 -14
  23. package/src/transforms/__testfixtures__/mdx-to-csf/parameters.output.snapshot +0 -23
  24. package/src/transforms/__testfixtures__/mdx-to-csf/plaintext.input.mdx +0 -3
  25. package/src/transforms/__testfixtures__/mdx-to-csf/plaintext.output.snapshot +0 -11
  26. package/src/transforms/__testfixtures__/mdx-to-csf/story-function.input.mdx +0 -10
  27. package/src/transforms/__testfixtures__/mdx-to-csf/story-function.output.snapshot +0 -18
  28. package/src/transforms/__testfixtures__/mdx-to-csf/story-parameters.input.mdx +0 -18
  29. package/src/transforms/__testfixtures__/mdx-to-csf/story-parameters.output.snapshot +0 -32
  30. package/src/transforms/__testfixtures__/mdx-to-csf/story-refs.input.mdx +0 -22
  31. package/src/transforms/__testfixtures__/mdx-to-csf/story-refs.output.snapshot +0 -34
  32. package/src/transforms/__testfixtures__/move-builtin-addons/default.input.js +0 -2
  33. package/src/transforms/__testfixtures__/move-builtin-addons/default.output.snapshot +0 -8
  34. package/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.input.js +0 -3
  35. package/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.output.snapshot +0 -7
  36. package/src/transforms/__testfixtures__/storiesof-to-csf/basic.input.js +0 -18
  37. package/src/transforms/__testfixtures__/storiesof-to-csf/basic.output.snapshot +0 -45
  38. package/src/transforms/__testfixtures__/storiesof-to-csf/collision.input.js +0 -11
  39. package/src/transforms/__testfixtures__/storiesof-to-csf/collision.output.snapshot +0 -38
  40. package/src/transforms/__testfixtures__/storiesof-to-csf/const.input.js +0 -1
  41. package/src/transforms/__testfixtures__/storiesof-to-csf/const.output.snapshot +0 -13
  42. package/src/transforms/__testfixtures__/storiesof-to-csf/decorators.input.js +0 -9
  43. package/src/transforms/__testfixtures__/storiesof-to-csf/decorators.output.snapshot +0 -18
  44. package/src/transforms/__testfixtures__/storiesof-to-csf/default.input.js +0 -7
  45. package/src/transforms/__testfixtures__/storiesof-to-csf/default.output.snapshot +0 -17
  46. package/src/transforms/__testfixtures__/storiesof-to-csf/digit.input.js +0 -1
  47. package/src/transforms/__testfixtures__/storiesof-to-csf/digit.output.js +0 -5
  48. package/src/transforms/__testfixtures__/storiesof-to-csf/digit.output.snapshot +0 -9
  49. package/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.input.js +0 -11
  50. package/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.output.snapshot +0 -23
  51. package/src/transforms/__testfixtures__/storiesof-to-csf/export-function.input.js +0 -12
  52. package/src/transforms/__testfixtures__/storiesof-to-csf/export-function.output.snapshot +0 -23
  53. package/src/transforms/__testfixtures__/storiesof-to-csf/export-names.input.js +0 -14
  54. package/src/transforms/__testfixtures__/storiesof-to-csf/export-names.output.snapshot +0 -26
  55. package/src/transforms/__testfixtures__/storiesof-to-csf/exports.input.js +0 -2
  56. package/src/transforms/__testfixtures__/storiesof-to-csf/exports.output.snapshot +0 -16
  57. package/src/transforms/__testfixtures__/storiesof-to-csf/module.input.js +0 -12
  58. package/src/transforms/__testfixtures__/storiesof-to-csf/module.output.snapshot +0 -16
  59. package/src/transforms/__testfixtures__/storiesof-to-csf/multi.input.js +0 -14
  60. package/src/transforms/__testfixtures__/storiesof-to-csf/multi.output.snapshot +0 -39
  61. package/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.input.js +0 -8
  62. package/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.output.snapshot +0 -20
  63. package/src/transforms/__testfixtures__/storiesof-to-csf/parameters.input.js +0 -10
  64. package/src/transforms/__testfixtures__/storiesof-to-csf/parameters.output.snapshot +0 -23
  65. package/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.input.js +0 -11
  66. package/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.output.snapshot +0 -23
  67. package/src/transforms/__testfixtures__/storiesof-to-csf/story-decorators.input.js +0 -11
  68. package/src/transforms/__testfixtures__/storiesof-to-csf/story-decorators.output.snapshot +0 -29
  69. package/src/transforms/__testfixtures__/storiesof-to-csf/story-parameters.input.js +0 -14
  70. package/src/transforms/__testfixtures__/storiesof-to-csf/story-parameters.output.snapshot +0 -32
  71. package/src/transforms/__testfixtures__/update-addon-info/update-addon-info.input.js +0 -184
  72. package/src/transforms/__testfixtures__/update-addon-info/update-addon-info.output.snapshot +0 -184
  73. package/src/transforms/__testfixtures__/update-organisation-name/update-organisation-name.input.js +0 -19
  74. package/src/transforms/__testfixtures__/update-organisation-name/update-organisation-name.output.snapshot +0 -23
  75. package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/csf.input.js +0 -3
  76. package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/csf.output.snapshot +0 -7
  77. package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/dynamic-storiesof.input.js +0 -5
  78. package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/dynamic-storiesof.output.snapshot +0 -9
  79. package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/storiesof.input.js +0 -8
  80. package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/storiesof.output.snapshot +0 -12
  81. package/src/transforms/__tests__/csf-2-to-3.test.ts +0 -439
  82. package/src/transforms/__tests__/mdx-to-csf.test.ts +0 -628
  83. package/src/transforms/__tests__/transforms.tests.js +0 -32
  84. package/src/transforms/__tests__/upgrade-deprecated-types.test.ts +0 -170
  85. package/src/transforms/add-component-parameters.js +0 -62
  86. package/src/transforms/csf-2-to-3.ts +0 -335
  87. package/src/transforms/csf-hoist-story-annotations.js +0 -97
  88. package/src/transforms/mdx-to-csf.ts +0 -340
  89. package/src/transforms/move-builtin-addons.js +0 -32
  90. package/src/transforms/storiesof-to-csf.js +0 -277
  91. package/src/transforms/update-addon-info.js +0 -114
  92. package/src/transforms/update-organisation-name.js +0 -71
  93. package/src/transforms/upgrade-deprecated-types.ts +0 -142
  94. package/src/transforms/upgrade-hierarchy-separators.js +0 -39
  95. package/tsconfig.json +0 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/codemod",
3
- "version": "7.4.0-alpha.0",
3
+ "version": "7.4.0-alpha.1",
4
4
  "description": "A collection of codemod scripts written with JSCodeshift",
5
5
  "keywords": [
6
6
  "storybook"
@@ -44,14 +44,21 @@
44
44
  "check": "../../../scripts/prepare/check.ts",
45
45
  "prep": "../../../scripts/prepare/bundle.ts"
46
46
  },
47
+ "files": [
48
+ "dist/**/*",
49
+ "README.md",
50
+ "*.js",
51
+ "*.d.ts",
52
+ "!src/**/*"
53
+ ],
47
54
  "dependencies": {
48
55
  "@babel/core": "^7.22.9",
49
56
  "@babel/preset-env": "^7.22.9",
50
57
  "@babel/types": "^7.22.5",
51
58
  "@storybook/csf": "^0.1.0",
52
- "@storybook/csf-tools": "7.4.0-alpha.0",
53
- "@storybook/node-logger": "7.4.0-alpha.0",
54
- "@storybook/types": "7.4.0-alpha.0",
59
+ "@storybook/csf-tools": "7.4.0-alpha.1",
60
+ "@storybook/node-logger": "7.4.0-alpha.1",
61
+ "@storybook/types": "7.4.0-alpha.1",
55
62
  "@types/cross-spawn": "^6.0.2",
56
63
  "cross-spawn": "^7.0.3",
57
64
  "globby": "^11.0.2",
package/project.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "name": "@storybook/codemod",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "implicitDependencies": [],
5
- "type": "library"
6
- }
package/src/index.ts DELETED
@@ -1,103 +0,0 @@
1
- /* eslint-disable no-param-reassign */
2
- /* eslint import/prefer-default-export: "off" */
3
- import fs from 'fs';
4
- import path from 'path';
5
- import { promisify } from 'util';
6
- import globby from 'globby';
7
- import { sync as spawnSync } from 'cross-spawn';
8
- import { jscodeshiftToPrettierParser } from './lib/utils';
9
-
10
- export {
11
- default as updateOrganisationName,
12
- packageNames,
13
- } from './transforms/update-organisation-name';
14
-
15
- export { default as updateAddonInfo } from './transforms/update-addon-info';
16
-
17
- const TRANSFORM_DIR = `${__dirname}/transforms`;
18
-
19
- export function listCodemods() {
20
- return fs
21
- .readdirSync(TRANSFORM_DIR)
22
- .filter((fname) => fname.endsWith('.js'))
23
- .map((fname) => fname.slice(0, -3));
24
- }
25
-
26
- const renameAsync = promisify(fs.rename);
27
-
28
- async function renameFile(file: any, from: any, to: any, { logger }: any) {
29
- const newFile = file.replace(from, to);
30
- logger.log(`Rename: ${file} ${newFile}`);
31
- return renameAsync(file, newFile);
32
- }
33
-
34
- export async function runCodemod(codemod: any, { glob, logger, dryRun, rename, parser }: any) {
35
- const codemods = listCodemods();
36
- if (!codemods.includes(codemod)) {
37
- throw new Error(`Unknown codemod ${codemod}. Run --list for options.`);
38
- }
39
-
40
- let renameParts = null;
41
- if (rename) {
42
- renameParts = rename.split(':');
43
- if (renameParts.length !== 2) {
44
- throw new Error(`Codemod rename: expected format "from:to", got "${rename}"`);
45
- }
46
- }
47
-
48
- // jscodeshift/prettier know how to handle .ts/.tsx extensions,
49
- // so if the user uses one of those globs, we can auto-infer
50
- let inferredParser = parser;
51
- if (!parser) {
52
- const extension = path.extname(glob).slice(1);
53
- const knownParser = jscodeshiftToPrettierParser(extension);
54
- if (knownParser !== 'babel') inferredParser = extension;
55
- }
56
-
57
- const files = await globby([glob, '!**/node_modules', '!**/dist']);
58
- logger.log(`=> Applying ${codemod}: ${files.length} files`);
59
- if (files.length === 0) {
60
- logger.log(`=> No matching files for glob: ${glob}`);
61
- return;
62
- }
63
-
64
- if (!dryRun && files.length > 0) {
65
- const parserArgs = inferredParser ? ['--parser', inferredParser] : [];
66
- const result = spawnSync(
67
- 'node',
68
- [
69
- require.resolve('jscodeshift/bin/jscodeshift'),
70
- // this makes sure codeshift doesn't transform our own source code with babel
71
- // which is faster, and also makes sure the user won't see babel messages such as:
72
- // [BABEL] Note: The code generator has deoptimised the styling of repo/node_modules/prettier/index.js as it exceeds the max of 500KB.
73
- '--no-babel',
74
- '--fail-on-error',
75
- '-t',
76
- `${TRANSFORM_DIR}/${codemod}.js`,
77
- ...parserArgs,
78
- ...files,
79
- ],
80
- {
81
- stdio: 'inherit',
82
- shell: true,
83
- }
84
- );
85
- if (result.status === 1) {
86
- logger.log('Skipped renaming because of errors.');
87
- return;
88
- }
89
- }
90
-
91
- if (!renameParts && codemod === 'mdx-to-csf') {
92
- renameParts = ['.stories.mdx', '.mdx'];
93
- rename = '.stories.mdx:.mdx;';
94
- }
95
-
96
- if (renameParts) {
97
- const [from, to] = renameParts;
98
- logger.log(`=> Renaming ${rename}: ${files.length} files`);
99
- await Promise.all(
100
- files.map((file) => renameFile(file, new RegExp(`${from}$`), to, { logger }))
101
- );
102
- }
103
- }
@@ -1,9 +0,0 @@
1
- import { sanitizeName } from './utils';
2
-
3
- it('should sanitize names', () => {
4
- expect(sanitizeName('basic')).toMatchInlineSnapshot(`"Basic"`);
5
- expect(sanitizeName('with space')).toMatchInlineSnapshot(`"WithSpace"`);
6
- expect(sanitizeName('default')).toMatchInlineSnapshot(`"Default"`);
7
- expect(sanitizeName('w/punctuation')).toMatchInlineSnapshot(`"WPunctuation"`);
8
- expect(sanitizeName('5')).toMatchInlineSnapshot(`"_5"`);
9
- });
package/src/lib/utils.ts DELETED
@@ -1,29 +0,0 @@
1
- import camelCase from 'lodash/camelCase.js';
2
- import upperFirst from 'lodash/upperFirst.js';
3
-
4
- export const sanitizeName = (name: string) => {
5
- let key = upperFirst(camelCase(name));
6
- // prepend _ if name starts with a digit
7
- if (/^\d/.test(key)) {
8
- key = `_${key}`;
9
- }
10
- // prepend _ if name starts with a digit
11
- if (/^\d/.test(key)) {
12
- key = `_${key}`;
13
- }
14
- return key;
15
- };
16
-
17
- export function jscodeshiftToPrettierParser(parser?: string) {
18
- const parserMap: Record<string, string> = {
19
- babylon: 'babel',
20
- flow: 'flow',
21
- ts: 'typescript',
22
- tsx: 'typescript',
23
- };
24
-
25
- if (!parser) {
26
- return 'babel';
27
- }
28
- return parserMap[parser] || 'babel';
29
- }
@@ -1,44 +0,0 @@
1
- /* eslint-disable */
2
- import React from 'react';
3
- import Button from './Button';
4
-
5
- import { storiesOf, configure } from '@storybook/react';
6
- import { action } from '@storybook/addon-actions';
7
-
8
- storiesOf('Button', module).add('basic', () => <Button label="The Button" />);
9
-
10
- storiesOf('Button').add('no module', () => <Button label="The Button" />);
11
-
12
- storiesOf('Button', module).add('with story parameters', () => <Button label="The Button" />, {
13
- header: false,
14
- inline: true,
15
- });
16
-
17
- storiesOf('Button', module)
18
- .addParameters({ foo: 1 })
19
- .add('with kind parameters', () => <Button label="The Button" />);
20
-
21
- storiesOf('Button', module)
22
- .addParameters({ component: Button })
23
- .add('with existing component parameters', () => <Button label="The Button" />);
24
-
25
- storiesOf('Button', module).add('complex story', () => (
26
- <div>
27
- <Button label="The Button" onClick={action('onClick')} />
28
- <br />
29
- </div>
30
- ));
31
-
32
- storiesOf('Root|Some/Button', module).add('with path', () => <Button label="The Button" />);
33
-
34
- storiesOf('Some.Button', module).add('with dot-path', () => <Button label="The Button" />);
35
-
36
- storiesOf('Some.Button', module)
37
- .addDecorator(withKnobs)
38
- .add('with decorator', () => <Button label="The Button" />);
39
-
40
- // This isn't a valid story, but it tests the `import { comp } from ...` case
41
- storiesOf('action', module).add('non-default component export', () => <action />);
42
-
43
- // This shouldn't get modified since the story name doesn't match
44
- storiesOf('something', module).add('non-matching story', () => <Button label="The Button" />);
@@ -1,68 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`add-component-parameters transforms correctly using "add-component-parameters.input.js" data 1`] = `
4
- "/* eslint-disable */
5
- import React from 'react';
6
- import Button from './Button';
7
-
8
- import { storiesOf, configure } from '@storybook/react';
9
- import { action } from '@storybook/addon-actions';
10
-
11
- storiesOf('Button', module).addParameters({
12
- component: Button
13
- }).add('basic', () => <Button label=\\"The Button\\" />);
14
-
15
- storiesOf('Button').addParameters({
16
- component: Button
17
- }).add('no module', () => <Button label=\\"The Button\\" />);
18
-
19
- storiesOf('Button', module).addParameters({
20
- component: Button
21
- }).add('with story parameters', () => <Button label=\\"The Button\\" />, {
22
- header: false,
23
- inline: true,
24
- });
25
-
26
- storiesOf('Button', module).addParameters({
27
- component: Button
28
- })
29
- .addParameters({ foo: 1 })
30
- .add('with kind parameters', () => <Button label=\\"The Button\\" />);
31
-
32
- storiesOf('Button', module).addParameters({
33
- component: Button
34
- })
35
- .addParameters({ component: Button })
36
- .add('with existing component parameters', () => <Button label=\\"The Button\\" />);
37
-
38
- storiesOf('Button', module).addParameters({
39
- component: Button
40
- }).add('complex story', () => (
41
- <div>
42
- <Button label=\\"The Button\\" onClick={action('onClick')} />
43
- <br />
44
- </div>
45
- ));
46
-
47
- storiesOf('Root|Some/Button', module).addParameters({
48
- component: Button
49
- }).add('with path', () => <Button label=\\"The Button\\" />);
50
-
51
- storiesOf('Some.Button', module).addParameters({
52
- component: Button
53
- }).add('with dot-path', () => <Button label=\\"The Button\\" />);
54
-
55
- storiesOf('Some.Button', module).addParameters({
56
- component: Button
57
- })
58
- .addDecorator(withKnobs)
59
- .add('with decorator', () => <Button label=\\"The Button\\" />);
60
-
61
- // This isn't a valid story, but it tests the \`import { comp } from ...\` case
62
- storiesOf('action', module).addParameters({
63
- component: action
64
- }).add('non-default component export', () => <action />);
65
-
66
- // This shouldn't get modified since the story name doesn't match
67
- storiesOf('something', module).add('non-matching story', () => <Button label=\\"The Button\\" />);"
68
- `;
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
- import Button from './Button';
3
- import { action } from '@storybook/addon-actions';
4
-
5
- export default {
6
- title: 'Button',
7
- };
8
-
9
- export const story1 = () => <Button label="Story 1" />;
10
-
11
- export const story2 = () => <Button label="Story 2" onClick={action('click')} />;
12
- story2.story = { name: 'second story' };
13
-
14
- export const story3 = () => (
15
- <div>
16
- <Button label="The Button" onClick={action('onClick')} />
17
- <br />
18
- </div>
19
- );
20
- const baz = 17;
21
- story3.story = {
22
- name: 'complex story',
23
- parameters: { foo: { bar: baz } },
24
- decorators: [(storyFn) => <bar>{storyFn}</bar>],
25
- };
@@ -1,27 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`csf-hoist-story-annotations transforms correctly using "basic.input.js" data 1`] = `
4
- "import React from 'react';
5
- import Button from './Button';
6
- import { action } from '@storybook/addon-actions';
7
-
8
- export default {
9
- title: 'Button',
10
- };
11
-
12
- export const story1 = () => <Button label=\\"Story 1\\" />;
13
-
14
- export const story2 = () => <Button label=\\"Story 2\\" onClick={action('click')} />;
15
- story2.storyName = 'second story';
16
-
17
- export const story3 = () => (
18
- <div>
19
- <Button label=\\"The Button\\" onClick={action('onClick')} />
20
- <br />
21
- </div>
22
- );
23
- const baz = 17;
24
- story3.storyName = 'complex story';
25
- story3.parameters = { foo: { bar: baz } };
26
- story3.decorators = [(storyFn) => <bar>{storyFn}</bar>];"
27
- `;
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
- import Button from './Button';
3
- import { action } from '@storybook/addon-actions';
4
-
5
- export default {
6
- title: 'Button',
7
- };
8
-
9
- export const story1 = () => <Button label="Story 1" />;
10
-
11
- export const story2 = () => <Button label="Story 2" onClick={action('click')} />;
12
- story2.story = { name: 'second story' };
13
- story2.story.parameters = { foo: 'bar' };
14
-
15
- export const story3 = () => (
16
- <div>
17
- <Button label="The Button" onClick={action('onClick')} />
18
- <br />
19
- </div>
20
- );
21
- const baz = 17;
22
- story3.story = {};
23
- story3.story.name = 'complex story';
24
- story3.story.parameters = { foo: { bar: baz } };
25
- story3.story.decorators = [(storyFn) => <bar>{storyFn}</bar>];
@@ -1,28 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`csf-hoist-story-annotations transforms correctly using "overrides.input.js" data 1`] = `
4
- "import React from 'react';
5
- import Button from './Button';
6
- import { action } from '@storybook/addon-actions';
7
-
8
- export default {
9
- title: 'Button',
10
- };
11
-
12
- export const story1 = () => <Button label=\\"Story 1\\" />;
13
-
14
- export const story2 = () => <Button label=\\"Story 2\\" onClick={action('click')} />;
15
- story2.storyName = 'second story';
16
- story2.parameters = { foo: 'bar' };
17
-
18
- export const story3 = () => (
19
- <div>
20
- <Button label=\\"The Button\\" onClick={action('onClick')} />
21
- <br />
22
- </div>
23
- );
24
- const baz = 17;
25
- story3.storyName = 'complex story';
26
- story3.parameters = { foo: { bar: baz } };
27
- story3.decorators = [(storyFn) => <bar>{storyFn}</bar>];"
28
- `;
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import Button from './Button';
3
-
4
- const foo = {
5
- title: 'Button',
6
- };
7
-
8
- export default foo;
9
-
10
- const bar = () => <Button label="Story 1" />;
11
- bar.story = { name: 'bar bar' };
12
-
13
- export const story1 = bar;
@@ -1,17 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`csf-hoist-story-annotations transforms correctly using "variable.input.js" data 1`] = `
4
- "import React from 'react';
5
- import Button from './Button';
6
-
7
- const foo = {
8
- title: 'Button',
9
- };
10
-
11
- export default foo;
12
-
13
- const bar = () => <Button label=\\"Story 1\\" />;
14
- bar.story = { name: 'bar bar' };
15
-
16
- export const story1 = bar;"
17
- `;
@@ -1,18 +0,0 @@
1
- import Button from './Button';
2
- import { action } from '@storybook/addon-actions';
3
- import { Meta, Story } from '@storybook/addon-docs';
4
-
5
- <Meta title='Button' />
6
-
7
- <Story name='story1'><Button label='Story 1' /></Story>
8
-
9
- <Story name='second story'><Button label='Story 2' onClick={action('click')} /></Story>
10
-
11
- <Story name='complex story'><div>
12
- <Button label='The Button' onClick={action('onClick')} />
13
- <br />
14
- </div></Story>
15
-
16
- <Story name='w/punctuation'>
17
- <Button label='w/punctuation'/>
18
- </Story>
@@ -1,40 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`mdx-to-csf transforms correctly using "basic.input.js" data 1`] = `
4
- "import React from 'react';
5
- import Button from './Button';
6
- import { action } from '@storybook/addon-actions';
7
-
8
- export default {
9
- title: 'Button',
10
- };
11
-
12
- export const Story1 = () => <Button label=\\"Story 1\\" />;
13
-
14
- Story1.story = {
15
- name: 'story1',
16
- };
17
-
18
- export const SecondStory = () => <Button label=\\"Story 2\\" onClick={action('click')} />;
19
-
20
- SecondStory.story = {
21
- name: 'second story',
22
- };
23
-
24
- export const ComplexStory = () => (
25
- <div>
26
- <Button label=\\"The Button\\" onClick={action('onClick')} />
27
- <br />
28
- </div>
29
- );
30
-
31
- ComplexStory.story = {
32
- name: 'complex story',
33
- };
34
-
35
- export const WPunctuation = () => <Button label=\\"w/punctuation\\" />;
36
-
37
- WPunctuation.story = {
38
- name: 'w/punctuation',
39
- };"
40
- `;
@@ -1,6 +0,0 @@
1
- import Button from './Button';
2
- import { Meta, Story } from '@storybook/addon-docs';
3
-
4
- <Meta title='Button' id="button-id" />
5
-
6
- <Story name='story1'><Button label='Story 1' /></Story>
@@ -1,17 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`mdx-to-csf transforms correctly using "component-id.input.js" data 1`] = `
4
- "import React from 'react';
5
- import Button from './Button';
6
-
7
- export default {
8
- title: 'Button',
9
- id: 'button-id',
10
- };
11
-
12
- export const Story1 = () => <Button label=\\"Story 1\\" />;
13
-
14
- Story1.story = {
15
- name: 'story1',
16
- };"
17
- `;
@@ -1,8 +0,0 @@
1
- import Button from './Button';
2
- import { Meta, Story } from '@storybook/addon-docs';
3
-
4
- <Meta
5
- title='Some.Button'
6
- decorators={[withKnobs, storyFn => <div className='foo'>{storyFn}</div>]} />
7
-
8
- <Story name='with decorator' decorators={[withKnobs]}><Button label='The Button' /></Story>
@@ -1,18 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`mdx-to-csf transforms correctly using "decorators.input.js" data 1`] = `
4
- "import React from 'react';
5
- import Button from './Button';
6
-
7
- export default {
8
- title: 'Some.Button',
9
- decorators: [withKnobs, (storyFn) => <div className=\\"foo\\">{storyFn}</div>],
10
- };
11
-
12
- export const WithDecorator = () => <Button label=\\"The Button\\" />;
13
-
14
- WithDecorator.story = {
15
- name: 'with decorator',
16
- decorators: [withKnobs],
17
- };"
18
- `;
@@ -1,19 +0,0 @@
1
- import Button from './Button';
2
- import { action } from '@storybook/addon-actions';
3
- import { Meta, Story } from '@storybook/addon-docs';
4
-
5
- <Meta title='Button' />
6
-
7
- export const rowData = {
8
- col1: 'a',
9
- col2: 2,
10
- };
11
-
12
- <Story name='story1'><Button label='Story 1' /></Story>
13
-
14
- <Story name='second story'><Button label='Story 2' onClick={action('click')} /></Story>
15
-
16
- <Story name='complex story'><div>
17
- <Button label='The Button' onClick={action('onClick')} />
18
- <br />
19
- </div></Story>
@@ -1,39 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`mdx-to-csf transforms correctly using "exclude-stories.input.js" data 1`] = `
4
- "import React from 'react';
5
- import Button from './Button';
6
- import { action } from '@storybook/addon-actions';
7
- export const rowData = {
8
- col1: 'a',
9
- col2: 2,
10
- };
11
-
12
- export default {
13
- title: 'Button',
14
- includeStories: ['Story1', 'SecondStory', 'ComplexStory'],
15
- };
16
-
17
- export const Story1 = () => <Button label=\\"Story 1\\" />;
18
-
19
- Story1.story = {
20
- name: 'story1',
21
- };
22
-
23
- export const SecondStory = () => <Button label=\\"Story 2\\" onClick={action('click')} />;
24
-
25
- SecondStory.story = {
26
- name: 'second story',
27
- };
28
-
29
- export const ComplexStory = () => (
30
- <div>
31
- <Button label=\\"The Button\\" onClick={action('onClick')} />
32
- <br />
33
- </div>
34
- );
35
-
36
- ComplexStory.story = {
37
- name: 'complex story',
38
- };"
39
- `;
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import Button from './Button';
3
- import { storiesOf } from '@storybook/react';
4
- import { Meta, Story } from '@storybook/addon-docs';
5
-
6
- <Meta
7
- title='Button'
8
- component={Button}
9
- parameters={{
10
- foo: 1,
11
- bar: 2,
12
- }} />
13
-
14
- <Story name='with kind parameters'><Button label='The Button' /></Story>
@@ -1,23 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`mdx-to-csf transforms correctly using "parameters.input.js" data 1`] = `
4
- "import React from 'react';
5
- import Button from './Button';
6
- import { storiesOf } from '@storybook/react';
7
-
8
- export default {
9
- title: 'Button',
10
- component: Button,
11
-
12
- parameters: {
13
- foo: 1,
14
- bar: 2,
15
- },
16
- };
17
-
18
- export const WithKindParameters = () => <Button label=\\"The Button\\" />;
19
-
20
- WithKindParameters.story = {
21
- name: 'with kind parameters',
22
- };"
23
- `;
@@ -1,3 +0,0 @@
1
- import { Story, Meta } from '@storybook/addon-docs';
2
-
3
- <Story name="plaintext">Plain text</Story>;