@storybook/codemod 7.0.0-alpha.8 → 7.0.0-beta.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +0 -36
- package/dist/index.d.ts +261 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/jest.config.js +7 -0
- package/package.json +32 -29
- package/src/index.js +77 -0
- package/src/lib/utils.test.js +9 -0
- package/{dist/esm/lib/utils.js → src/lib/utils.ts} +10 -11
- package/src/transforms/__testfixtures__/add-component-parameters/add-component-parameters.input.js +44 -0
- package/src/transforms/__testfixtures__/add-component-parameters/add-component-parameters.output.snapshot +68 -0
- package/src/transforms/__testfixtures__/csf-hoist-story-annotations/basic.input.js +25 -0
- package/src/transforms/__testfixtures__/csf-hoist-story-annotations/basic.output.snapshot +27 -0
- package/src/transforms/__testfixtures__/csf-hoist-story-annotations/overrides.input.js +25 -0
- package/src/transforms/__testfixtures__/csf-hoist-story-annotations/overrides.output.snapshot +28 -0
- package/src/transforms/__testfixtures__/csf-hoist-story-annotations/variable.input.js +13 -0
- package/src/transforms/__testfixtures__/csf-hoist-story-annotations/variable.output.snapshot +17 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/basic.input.js +20 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/basic.output.snapshot +18 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/component-id.input.js +9 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/component-id.output.snapshot +10 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/decorators.input.js +13 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/decorators.output.snapshot +12 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/exclude-stories.input.js +23 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/exclude-stories.output.snapshot +22 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/parameters.input.js +16 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/parameters.output.snapshot +17 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/story-function.input.js +19 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/story-function.output.snapshot +18 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/story-parameters.input.js +24 -0
- package/src/transforms/__testfixtures__/csf-to-mdx/story-parameters.output.snapshot +22 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/basic.input.js +18 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/basic.output.snapshot +40 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/component-id.input.js +6 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/component-id.output.snapshot +17 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/decorators.input.js +8 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/decorators.output.snapshot +18 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/exclude-stories.input.js +19 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/exclude-stories.output.snapshot +39 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/parameters.input.js +14 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/parameters.output.snapshot +23 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/plaintext.input.js +3 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/plaintext.output.snapshot +11 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/story-function.input.js +10 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/story-function.output.snapshot +18 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/story-parameters.input.js +18 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/story-parameters.output.snapshot +32 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/story-refs.input.js +22 -0
- package/src/transforms/__testfixtures__/mdx-to-csf/story-refs.output.snapshot +34 -0
- package/src/transforms/__testfixtures__/move-builtin-addons/default.input.js +2 -0
- package/src/transforms/__testfixtures__/move-builtin-addons/default.output.snapshot +8 -0
- package/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.input.js +3 -0
- package/src/transforms/__testfixtures__/move-builtin-addons/with-no-change.output.snapshot +7 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/basic.input.js +18 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/basic.output.snapshot +45 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/collision.input.js +11 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/collision.output.snapshot +38 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/const.input.js +1 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/const.output.snapshot +13 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/decorators.input.js +9 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/decorators.output.snapshot +18 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/default.input.js +7 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/default.output.snapshot +17 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/digit.input.js +1 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/digit.output.js +5 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/digit.output.snapshot +9 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.input.js +11 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/export-destructuring.output.snapshot +23 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/export-function.input.js +12 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/export-function.output.snapshot +23 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/export-names.input.js +14 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/export-names.output.snapshot +26 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/exports.input.js +2 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/exports.output.snapshot +16 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/module.input.js +12 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/module.output.snapshot +16 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/multi.input.js +14 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/multi.output.snapshot +39 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.input.js +8 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/parameters-as-var.output.snapshot +20 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/parameters.input.js +10 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/parameters.output.snapshot +23 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.input.js +11 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/storiesof-var.output.snapshot +23 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/story-decorators.input.js +11 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/story-decorators.output.snapshot +29 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/story-parameters.input.js +14 -0
- package/src/transforms/__testfixtures__/storiesof-to-csf/story-parameters.output.snapshot +32 -0
- package/src/transforms/__testfixtures__/update-addon-info/update-addon-info.input.js +198 -0
- package/src/transforms/__testfixtures__/update-addon-info/update-addon-info.output.snapshot +198 -0
- package/src/transforms/__testfixtures__/update-organisation-name/update-organisation-name.input.js +19 -0
- package/src/transforms/__testfixtures__/update-organisation-name/update-organisation-name.output.snapshot +23 -0
- package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/csf.input.js +3 -0
- package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/csf.output.snapshot +7 -0
- package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/dynamic-storiesof.input.js +5 -0
- package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/dynamic-storiesof.output.snapshot +9 -0
- package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/storiesof.input.js +8 -0
- package/src/transforms/__testfixtures__/upgrade-hierarchy-separators/storiesof.output.snapshot +12 -0
- package/src/transforms/__tests__/csf-2-to-3.test.ts +250 -0
- package/src/transforms/__tests__/transforms.tests.js +32 -0
- package/{dist/esm → src}/transforms/add-component-parameters.js +26 -21
- package/src/transforms/csf-2-to-3.ts +184 -0
- package/src/transforms/csf-hoist-story-annotations.js +97 -0
- package/src/transforms/csf-to-mdx.js +190 -0
- package/src/transforms/move-builtin-addons.js +32 -0
- package/src/transforms/storiesof-to-csf.js +277 -0
- package/{dist/esm → src}/transforms/update-addon-info.js +44 -24
- package/{dist/esm → src}/transforms/update-organisation-name.js +21 -24
- package/src/transforms/upgrade-hierarchy-separators.js +39 -0
- package/tsconfig.json +7 -0
- package/LICENSE +0 -21
- package/dist/cjs/index.js +0 -142
- package/dist/cjs/lib/utils.js +0 -45
- package/dist/cjs/transforms/add-component-parameters.js +0 -64
- package/dist/cjs/transforms/csf-2-to-3.js +0 -180
- package/dist/cjs/transforms/csf-hoist-story-annotations.js +0 -93
- package/dist/cjs/transforms/csf-to-mdx.js +0 -196
- package/dist/cjs/transforms/mdx-to-csf.js +0 -153
- package/dist/cjs/transforms/move-builtin-addons.js +0 -57
- package/dist/cjs/transforms/storiesof-to-csf.js +0 -300
- package/dist/cjs/transforms/update-addon-info.js +0 -101
- package/dist/cjs/transforms/update-organisation-name.js +0 -83
- package/dist/cjs/transforms/upgrade-hierarchy-separators.js +0 -42
- package/dist/esm/index.js +0 -99
- package/dist/esm/transforms/csf-2-to-3.js +0 -163
- package/dist/esm/transforms/csf-hoist-story-annotations.js +0 -86
- package/dist/esm/transforms/csf-to-mdx.js +0 -188
- package/dist/esm/transforms/mdx-to-csf.js +0 -139
- package/dist/esm/transforms/move-builtin-addons.js +0 -50
- package/dist/esm/transforms/storiesof-to-csf.js +0 -287
- package/dist/esm/transforms/upgrade-hierarchy-separators.js +0 -35
- package/dist/types/lib/utils.d.ts +0 -2
- package/dist/types/transforms/csf-2-to-3.d.ts +0 -6
@@ -1,287 +0,0 @@
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
2
|
-
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
4
|
-
|
5
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
6
|
-
|
7
|
-
import prettier from 'prettier';
|
8
|
-
import { logger } from '@storybook/node-logger';
|
9
|
-
import { storyNameFromExport } from '@storybook/csf';
|
10
|
-
import { sanitizeName, jscodeshiftToPrettierParser } from '../lib/utils';
|
11
|
-
/**
|
12
|
-
* Convert a legacy story API to component story format
|
13
|
-
*
|
14
|
-
* For example:
|
15
|
-
*
|
16
|
-
* ```
|
17
|
-
* input { Button } from './Button';
|
18
|
-
* storiesOf('Button', module).add('story', () => <Button label="The Button" />);
|
19
|
-
* ```
|
20
|
-
*
|
21
|
-
* Becomes:
|
22
|
-
*
|
23
|
-
* ```
|
24
|
-
* input { Button } from './Button';
|
25
|
-
* export default {
|
26
|
-
* title: 'Button'
|
27
|
-
* }
|
28
|
-
* export const story = () => <Button label="The Button" />;
|
29
|
-
*
|
30
|
-
* NOTES: only support chained storiesOf() calls
|
31
|
-
*/
|
32
|
-
|
33
|
-
export default function transformer(file, api, options) {
|
34
|
-
var LITERAL = ['ts', 'tsx'].includes(options.parser) ? 'StringLiteral' : 'Literal';
|
35
|
-
var j = api.jscodeshift;
|
36
|
-
var root = j(file.source);
|
37
|
-
|
38
|
-
function extractDecorators(parameters) {
|
39
|
-
if (!parameters) {
|
40
|
-
return {};
|
41
|
-
}
|
42
|
-
|
43
|
-
if (!parameters.properties) {
|
44
|
-
return {
|
45
|
-
storyParams: parameters
|
46
|
-
};
|
47
|
-
}
|
48
|
-
|
49
|
-
var storyDecorators = parameters.properties.find(function (p) {
|
50
|
-
return p.key.name === 'decorators';
|
51
|
-
});
|
52
|
-
|
53
|
-
if (!storyDecorators) {
|
54
|
-
return {
|
55
|
-
storyParams: parameters
|
56
|
-
};
|
57
|
-
}
|
58
|
-
|
59
|
-
storyDecorators = storyDecorators.value;
|
60
|
-
|
61
|
-
var storyParams = _objectSpread({}, parameters);
|
62
|
-
|
63
|
-
storyParams.properties = storyParams.properties.filter(function (p) {
|
64
|
-
return p.key.name !== 'decorators';
|
65
|
-
});
|
66
|
-
|
67
|
-
if (storyParams.properties.length === 0) {
|
68
|
-
return {
|
69
|
-
storyDecorators: storyDecorators
|
70
|
-
};
|
71
|
-
}
|
72
|
-
|
73
|
-
return {
|
74
|
-
storyParams: storyParams,
|
75
|
-
storyDecorators: storyDecorators
|
76
|
-
};
|
77
|
-
}
|
78
|
-
|
79
|
-
function convertToModuleExports(path, originalExports) {
|
80
|
-
var base = j(path);
|
81
|
-
var statements = [];
|
82
|
-
var extraExports = []; // .addDecorator
|
83
|
-
|
84
|
-
var decorators = [];
|
85
|
-
base.find(j.CallExpression).filter(function (call) {
|
86
|
-
return call.node.callee.property && call.node.callee.property.name === 'addDecorator';
|
87
|
-
}).forEach(function (add) {
|
88
|
-
var decorator = add.node.arguments[0];
|
89
|
-
decorators.push(decorator);
|
90
|
-
});
|
91
|
-
|
92
|
-
if (decorators.length > 0) {
|
93
|
-
decorators.reverse();
|
94
|
-
extraExports.push(j.property('init', j.identifier('decorators'), j.arrayExpression(decorators)));
|
95
|
-
} // .addParameters
|
96
|
-
|
97
|
-
|
98
|
-
var parameters = [];
|
99
|
-
base.find(j.CallExpression).filter(function (call) {
|
100
|
-
return call.node.callee.property && call.node.callee.property.name === 'addParameters';
|
101
|
-
}).forEach(function (add) {
|
102
|
-
// jscodeshift gives us the find results in reverse, but these args come in
|
103
|
-
// order, so we double reverse here. ugh.
|
104
|
-
var params = [...add.node.arguments[0].properties];
|
105
|
-
params.reverse();
|
106
|
-
params.forEach(function (prop) {
|
107
|
-
return parameters.push(prop);
|
108
|
-
});
|
109
|
-
});
|
110
|
-
|
111
|
-
if (parameters.length > 0) {
|
112
|
-
parameters.reverse();
|
113
|
-
extraExports.push(j.property('init', j.identifier('parameters'), j.objectExpression(parameters)));
|
114
|
-
}
|
115
|
-
|
116
|
-
if (originalExports.length > 0) {
|
117
|
-
extraExports.push(j.property('init', j.identifier('excludeStories'), j.arrayExpression(originalExports.map(function (exp) {
|
118
|
-
return j.literal(exp);
|
119
|
-
}))));
|
120
|
-
} // storiesOf(...)
|
121
|
-
|
122
|
-
|
123
|
-
base.find(j.CallExpression).filter(function (call) {
|
124
|
-
return call.node.callee.name === 'storiesOf';
|
125
|
-
}).filter(function (call) {
|
126
|
-
return call.node.arguments.length > 0 && call.node.arguments[0].type === LITERAL;
|
127
|
-
}).forEach(function (storiesOf) {
|
128
|
-
var title = storiesOf.node.arguments[0].value;
|
129
|
-
statements.push(j.exportDefaultDeclaration(j.objectExpression([j.property('init', j.identifier('title'), j.literal(title)), ...extraExports])));
|
130
|
-
}); // .add(...)
|
131
|
-
|
132
|
-
var adds = [];
|
133
|
-
base.find(j.CallExpression).filter(function (add) {
|
134
|
-
return add.node.callee.property && add.node.callee.property.name === 'add';
|
135
|
-
}).filter(function (add) {
|
136
|
-
return add.node.arguments.length >= 2 && add.node.arguments[0].type === LITERAL;
|
137
|
-
}).forEach(function (add) {
|
138
|
-
return adds.push(add);
|
139
|
-
});
|
140
|
-
adds.reverse();
|
141
|
-
adds.push(path);
|
142
|
-
var identifiers = new Set();
|
143
|
-
root.find(j.Identifier).forEach(function ({
|
144
|
-
value: value
|
145
|
-
}) {
|
146
|
-
return identifiers.add(value.name);
|
147
|
-
});
|
148
|
-
adds.forEach(function (add) {
|
149
|
-
var name = add.node.arguments[0].value;
|
150
|
-
var key = sanitizeName(name);
|
151
|
-
|
152
|
-
while (identifiers.has(key)) {
|
153
|
-
key = `_${key}`;
|
154
|
-
}
|
155
|
-
|
156
|
-
identifiers.add(key);
|
157
|
-
|
158
|
-
if (storyNameFromExport(key) === name) {
|
159
|
-
name = null;
|
160
|
-
}
|
161
|
-
|
162
|
-
var val = add.node.arguments[1];
|
163
|
-
statements.push(j.exportDeclaration(false, j.variableDeclaration('const', [j.variableDeclarator(j.identifier(key), val)])));
|
164
|
-
var storyAnnotations = [];
|
165
|
-
|
166
|
-
if (name) {
|
167
|
-
storyAnnotations.push(j.property('init', j.identifier('name'), j.literal(name)));
|
168
|
-
}
|
169
|
-
|
170
|
-
if (add.node.arguments.length > 2) {
|
171
|
-
var originalStoryParams = add.node.arguments[2];
|
172
|
-
|
173
|
-
var _extractDecorators = extractDecorators(originalStoryParams),
|
174
|
-
storyParams = _extractDecorators.storyParams,
|
175
|
-
storyDecorators = _extractDecorators.storyDecorators;
|
176
|
-
|
177
|
-
if (storyParams) {
|
178
|
-
storyAnnotations.push(j.property('init', j.identifier('parameters'), storyParams));
|
179
|
-
}
|
180
|
-
|
181
|
-
if (storyDecorators) {
|
182
|
-
storyAnnotations.push(j.property('init', j.identifier('decorators'), storyDecorators));
|
183
|
-
}
|
184
|
-
}
|
185
|
-
|
186
|
-
if (storyAnnotations.length > 0) {
|
187
|
-
statements.push(j.assignmentStatement('=', j.memberExpression(j.identifier(key), j.identifier('story')), j.objectExpression(storyAnnotations)));
|
188
|
-
}
|
189
|
-
});
|
190
|
-
var stmt = path.parent.node.type === 'VariableDeclarator' ? path.parent.parent : path.parent;
|
191
|
-
statements.reverse();
|
192
|
-
statements.forEach(function (s) {
|
193
|
-
return stmt.insertAfter(s);
|
194
|
-
});
|
195
|
-
j(stmt).remove();
|
196
|
-
} // Save the original storiesOf
|
197
|
-
|
198
|
-
|
199
|
-
var initialStoriesOf = root.find(j.CallExpression).filter(function (call) {
|
200
|
-
return call.node.callee.name === 'storiesOf';
|
201
|
-
});
|
202
|
-
var defaultExports = root.find(j.ExportDefaultDeclaration); // If there's already a default export
|
203
|
-
|
204
|
-
if (defaultExports.size() > 0) {
|
205
|
-
if (initialStoriesOf.size() > 0) {
|
206
|
-
logger.warn(`Found ${initialStoriesOf.size()} 'storiesOf' calls but existing default export, SKIPPING: '${file.path}'`);
|
207
|
-
}
|
208
|
-
|
209
|
-
return root.toSource();
|
210
|
-
} // Exclude all the original named exports
|
211
|
-
|
212
|
-
|
213
|
-
var originalExports = [];
|
214
|
-
root.find(j.ExportNamedDeclaration).forEach(function (exp) {
|
215
|
-
var _exp$node = exp.node,
|
216
|
-
declaration = _exp$node.declaration,
|
217
|
-
specifiers = _exp$node.specifiers;
|
218
|
-
|
219
|
-
if (declaration) {
|
220
|
-
var id = declaration.id,
|
221
|
-
declarations = declaration.declarations;
|
222
|
-
|
223
|
-
if (declarations) {
|
224
|
-
declarations.forEach(function (decl) {
|
225
|
-
var _decl$id = decl.id,
|
226
|
-
name = _decl$id.name,
|
227
|
-
properties = _decl$id.properties;
|
228
|
-
|
229
|
-
if (name) {
|
230
|
-
originalExports.push(name);
|
231
|
-
} else if (properties) {
|
232
|
-
properties.forEach(function (prop) {
|
233
|
-
return originalExports.push(prop.key.name);
|
234
|
-
});
|
235
|
-
}
|
236
|
-
});
|
237
|
-
} else if (id) {
|
238
|
-
originalExports.push(id.name);
|
239
|
-
}
|
240
|
-
} else if (specifiers) {
|
241
|
-
specifiers.forEach(function (spec) {
|
242
|
-
return originalExports.push(spec.exported.name);
|
243
|
-
});
|
244
|
-
}
|
245
|
-
}); // each top-level add expression corresponds to the last "add" of the chain.
|
246
|
-
// replace it with the entire export statements
|
247
|
-
|
248
|
-
root.find(j.CallExpression).filter(function (add) {
|
249
|
-
return add.node.callee.property && add.node.callee.property.name === 'add';
|
250
|
-
}).filter(function (add) {
|
251
|
-
return add.node.arguments.length >= 2 && add.node.arguments[0].type === LITERAL;
|
252
|
-
}).filter(function (add) {
|
253
|
-
return ['ExpressionStatement', 'VariableDeclarator'].includes(add.parentPath.node.type);
|
254
|
-
}).forEach(function (path) {
|
255
|
-
return convertToModuleExports(path, originalExports);
|
256
|
-
}); // remove storiesOf import
|
257
|
-
|
258
|
-
root.find(j.ImportSpecifier).filter(function (spec) {
|
259
|
-
return spec.node.imported.name === 'storiesOf' && spec.parent.node.source.value.startsWith('@storybook/');
|
260
|
-
}).forEach(function (spec) {
|
261
|
-
var toRemove = spec.parent.node.specifiers.length > 1 ? spec : spec.parent;
|
262
|
-
j(toRemove).remove();
|
263
|
-
});
|
264
|
-
var source = root.toSource({
|
265
|
-
trailingComma: true,
|
266
|
-
quote: 'single',
|
267
|
-
tabWidth: 2
|
268
|
-
});
|
269
|
-
|
270
|
-
if (initialStoriesOf.size() > 1) {
|
271
|
-
logger.warn(`Found ${initialStoriesOf.size()} 'storiesOf' calls, PLEASE FIX BY HAND: '${file.path}'`);
|
272
|
-
return source;
|
273
|
-
}
|
274
|
-
|
275
|
-
var prettierConfig = prettier.resolveConfig.sync('.', {
|
276
|
-
editorconfig: true
|
277
|
-
}) || {
|
278
|
-
printWidth: 100,
|
279
|
-
tabWidth: 2,
|
280
|
-
bracketSpacing: true,
|
281
|
-
trailingComma: 'es5',
|
282
|
-
singleQuote: true
|
283
|
-
};
|
284
|
-
return prettier.format(source, _objectSpread(_objectSpread({}, prettierConfig), {}, {
|
285
|
-
parser: jscodeshiftToPrettierParser(options.parser) || 'babel'
|
286
|
-
}));
|
287
|
-
}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
function upgradeSeparator(path) {
|
2
|
-
return path.replace(/[|.]/g, '/');
|
3
|
-
}
|
4
|
-
|
5
|
-
export default function transformer(file, api, options) {
|
6
|
-
var j = api.jscodeshift;
|
7
|
-
var root = j(file.source); // storiesOf(...)
|
8
|
-
|
9
|
-
root.find(j.CallExpression).filter(function (call) {
|
10
|
-
return call.node.callee.name === 'storiesOf';
|
11
|
-
}).filter(function (call) {
|
12
|
-
return call.node.arguments.length > 0 && ['Literal', 'StringLiteral'].includes(call.node.arguments[0].type);
|
13
|
-
}).forEach(function (call) {
|
14
|
-
var arg0 = call.node.arguments[0];
|
15
|
-
arg0.value = upgradeSeparator(arg0.value);
|
16
|
-
}); // export default { title: ... }
|
17
|
-
|
18
|
-
root.find(j.ExportDefaultDeclaration).filter(function (def) {
|
19
|
-
return def.node.declaration.properties.map(function (p) {
|
20
|
-
return p.key.name;
|
21
|
-
}).includes('title');
|
22
|
-
}).forEach(function (def) {
|
23
|
-
if (def.node.declaration && def.node.declaration.properties) {
|
24
|
-
def.node.declaration.properties.forEach(function (p) {
|
25
|
-
if (p.key.name === 'title') {
|
26
|
-
// eslint-disable-next-line no-param-reassign
|
27
|
-
p.value.value = upgradeSeparator(p.value.value);
|
28
|
-
}
|
29
|
-
});
|
30
|
-
}
|
31
|
-
});
|
32
|
-
return root.toSource({
|
33
|
-
quote: 'single'
|
34
|
-
});
|
35
|
-
}
|