@tramvai/storybook-addon 6.68.6 → 6.77.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,8 +14,8 @@ And connect addon in the storybook configuration file:
14
14
 
15
15
  ```js title=".storybook/main.js"
16
16
  module.exports = {
17
- addons: ["@tramvai/storybook-addon"]
18
- }
17
+ addons: ['@tramvai/storybook-addon'],
18
+ };
19
19
  ```
20
20
 
21
21
  ## Features
@@ -27,6 +27,98 @@ module.exports = {
27
27
  - tramvai `babel` configuration
28
28
  - tramvai `postcss` configuration
29
29
 
30
+ ## Webpack plugin only
31
+
32
+ In some cases, adding the addon may be difficult due to conflicts.
33
+
34
+ In such situations, you can use only the webpack plugin from the addon:
35
+
36
+ ```js
37
+ // .storybook/main.js
38
+ import { webpackFinal } from '@tramvai/storybook-addon';
39
+
40
+ export default {
41
+ webpackFinal,
42
+ };
43
+ ```
44
+
45
+ Or if you have your own webpack overrides:
46
+
47
+ ```js
48
+ // .storybook/main.js
49
+ import { webpackFinal as tramvaiWebpackFinal } from '@tramvai/storybook-addon';
50
+
51
+ export default {
52
+ webpackFinal: async (config) => {
53
+ const webpackConfig = await tramvaiWebpackFinal(config);
54
+
55
+ // Do something with config
56
+ webpackConfig.optimization = {
57
+ minimize: false,
58
+ };
59
+
60
+ return webpackConfig;
61
+ },
62
+ };
63
+ ```
64
+
65
+ We strongly recommend to use at least tramvai webpack plugin in storybook tests.
66
+
67
+ ## Webpack build optimization
68
+
69
+ We recommend configuring selective transpilation of `node_modules` for the webpack build that Tramvai performs by default. To do this, use the `include` option in the addon/webpack config options.
70
+
71
+ This significantly speeds up the build (up to 2x with Babel).
72
+
73
+ By default, the value `only-modern` is used, which, based on certain heuristics, tries to apply transpilation only to modern dependencies.
74
+
75
+ We recommend using the value `none` to completely skip `node_modules` transpilation:
76
+
77
+ ```js
78
+ const webpackConfig = await tramvaiWebpackFinal(config, { include: 'none' });
79
+ ```
80
+
81
+ Also, for the storybook addon:
82
+
83
+ ```js
84
+ export default = {
85
+ addons: {
86
+ name: '@tramvai/storybook-addon',
87
+ options: {
88
+ include: 'none'
89
+ },
90
+ }
91
+ }
92
+ ```
93
+
94
+ If you encounter issues, specify the list of dependencies to transpile as an array:
95
+
96
+ ```js
97
+ const webpackConfig = await tramvaiWebpackFinal(config, { include: ['@tramvai/module-dev-tools'] });
98
+ ```
99
+
100
+ ## Babel configuration
101
+
102
+ You can also use only the Babel config from the Tramvai plugin, but in that case you must implement all the missing build machinery for Tramvai by yourself:
103
+
104
+ ```js
105
+ import { babel } from '@tramvai/storybook-addon';
106
+
107
+ export default {
108
+ webpackFinal: (config) => {
109
+ // Find babel rule you want to update
110
+ const babelRule = config.module.rules.find(({ use }) =>
111
+ use?.find(({ loader }) => loader.includes('babel-loader'))
112
+ );
113
+
114
+ const tramvaiBabelOptions = babel(config);
115
+ Object.assign(babelRule.use[0].options, tramvaiBabelOptions);
116
+
117
+ return config;
118
+ },
119
+ };
120
+ ```
121
+
30
122
  ## How to
31
123
 
32
124
  ### Access to DI container
@@ -42,10 +134,8 @@ export const Page = () => {
42
134
 
43
135
  logger.info('render');
44
136
 
45
- return (
46
- <h1>Page</h1>
47
- );
48
- }
137
+ return <h1>Page</h1>;
138
+ };
49
139
  ```
50
140
 
51
141
  </TabItem>
@@ -96,7 +186,7 @@ export const Page = () => {
96
186
  </p>
97
187
  </>
98
188
  );
99
- }
189
+ };
100
190
  ```
101
191
 
102
192
  </TabItem>
@@ -133,7 +223,6 @@ export const PageStory = () => <Page />;
133
223
  ```tsx
134
224
  import { createQuery, useQuery } from '@tramvai/react-query';
135
225
 
136
-
137
226
  const query = createQuery({
138
227
  key: 'base',
139
228
  fn: async () => {
@@ -147,12 +236,10 @@ export const Page = () => {
147
236
  return (
148
237
  <>
149
238
  <h1>Page</h1>
150
- <p>
151
- {isLoading ? 'Loading...' : data.foo}
152
- </p>
239
+ <p>{isLoading ? 'Loading...' : data.foo}</p>
153
240
  </>
154
241
  );
155
- }
242
+ };
156
243
  ```
157
244
 
158
245
  </TabItem>
@@ -216,10 +303,8 @@ const browserAction = declareAction({
216
303
  });
217
304
 
218
305
  export const Page = () => {
219
- return (
220
- <h1>Page</h1>
221
- );
222
- }
306
+ return <h1>Page</h1>;
307
+ };
223
308
 
224
309
  Page.actions = [serverAction, browserAction];
225
310
  ```
@@ -269,10 +354,8 @@ const httpRequestAction = declareAction({
269
354
  });
270
355
 
271
356
  export const Page = () => {
272
- return (
273
- <h1>Page</h1>
274
- );
275
- }
357
+ return <h1>Page</h1>;
358
+ };
276
359
 
277
360
  Page.actions = [httpRequestAction];
278
361
  ```
@@ -343,7 +426,7 @@ module.exports = {
343
426
  reactOptions: {
344
427
  fastRefresh: true,
345
428
  strictMode: true,
346
- }
429
+ },
347
430
  };
348
431
  ```
349
432
 
@@ -353,7 +436,7 @@ Works:
353
436
  module.exports = {
354
437
  reactOptions: {
355
438
  fastRefresh: true,
356
- }
439
+ },
357
440
  };
358
441
  ```
359
442
 
package/lib/preset.d.ts CHANGED
@@ -7,6 +7,6 @@ import type { ActionsDecoratorParameters } from './decorators/actionsDecorator';
7
7
  import type { StorybookOptions } from './types';
8
8
  export type TramvaiStoriesParameters = TramvaiCoreDecoratorParameters & RouterDecoratorParameters & ReactQueryDecoratorParameters & ActionsDecoratorParameters;
9
9
  export declare const config: (entry: string[]) => string[];
10
- export declare const babel: (cfg: TransformOptions) => TransformOptions;
11
- export declare const webpackFinal: (baseConfig: Configuration, options: StorybookOptions) => Promise<Configuration>;
10
+ export declare const babel: (_cfg: TransformOptions) => Record<string, any>;
11
+ export declare const webpackFinal: (baseConfig: Configuration, options?: StorybookOptions) => Promise<Configuration>;
12
12
  //# sourceMappingURL=preset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG,8BAA8B,GACnE,yBAAyB,GACzB,6BAA6B,GAC7B,0BAA0B,CAAC;AAE7B,eAAO,MAAM,MAAM,UAAW,MAAM,EAAE,KAAG,MAAM,EAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,QAAS,gBAAgB,KAAG,gBAE7C,CAAC;AAEF,eAAO,MAAM,YAAY,eACX,aAAa,WAChB,gBAAgB,KACxB,QAAQ,aAAa,CAuBvB,CAAC"}
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG,8BAA8B,GACnE,yBAAyB,GACzB,6BAA6B,GAC7B,0BAA0B,CAAC;AAE7B,eAAO,MAAM,MAAM,UAAW,MAAM,EAAE,KAAG,MAAM,EAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,SAAU,gBAAgB,KAAG,OAAO,MAAM,EAAE,GAAG,CAEhE,CAAC;AAEF,eAAO,MAAM,YAAY,eACX,aAAa,YACf,gBAAgB,KACzB,QAAQ,aAAa,CAuBvB,CAAC"}
package/lib/preset.js CHANGED
@@ -16,7 +16,7 @@ const config = (entry) => {
16
16
  return [...entry, require.resolve('./preview')];
17
17
  };
18
18
  exports.config = config;
19
- const babel = (cfg) => {
19
+ const babel = (_cfg) => {
20
20
  return (0, babelConfigFactory_1.babelConfigFactory)();
21
21
  };
22
22
  exports.babel = babel;
@@ -27,7 +27,7 @@ const webpackFinal = async (baseConfig, options) => {
27
27
  (0, addFilesRules_1.addFilesRules)({ baseConfig, webpackConfig, configManager });
28
28
  (0, addStylesRules_1.addStylesRules)({ baseConfig, webpackConfig, configManager });
29
29
  (0, addPathsResolver_1.addPathsResolver)({ webpackConfig, options });
30
- (0, addNodeModulesTranspile_1.addNodeModulesTranspile)({ baseConfig });
30
+ (0, addNodeModulesTranspile_1.addNodeModulesTranspile)({ baseConfig, options });
31
31
  const finalConfig = (0, webpack_merge_1.merge)(baseConfig, webpackConfig.toConfig());
32
32
  return {
33
33
  ...finalConfig,
package/lib/preset.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":";AAAA,6DAA6D;;;;AAG7D,0EAAmC;AACnC,iDAAsC;AAEtC,qEAAkE;AAClE,mEAAgE;AAChE,+DAA4D;AAC5D,iEAA8D;AAC9D,2DAAwD;AACxD,6DAA0D;AAC1D,+EAA4E;AAYrE,MAAM,MAAM,GAAG,CAAC,KAAe,EAAY,EAAE;IAClD,OAAO,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB;AAEK,MAAM,KAAK,GAAG,CAAC,GAAqB,EAAoB,EAAE;IAC/D,OAAO,IAAA,uCAAkB,GAAE,CAAC;AAC9B,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AAEK,MAAM,YAAY,GAAG,KAAK,EAC/B,UAAyB,EACzB,OAAyB,EACD,EAAE;IAC1B,MAAM,aAAa,GAAG,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,uBAAM,EAAE,CAAC;IAEnC,IAAA,iCAAe,EAAC,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,IAAA,6BAAa,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5D,IAAA,+BAAc,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;IAC7D,IAAA,mCAAgB,EAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,IAAA,iDAAuB,EAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,IAAA,qBAAK,EAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,GAAG,WAAW;QACd,OAAO,EAAE;YACP,GAAG,WAAW,CAAC,OAAO;YACtB,4FAA4F;YAC5F,4GAA4G;YAC5G,yGAAyG;YACzG,uIAAuI;YACvI,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,YAAY,gBA0BvB"}
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":";AAAA,6DAA6D;;;;AAG7D,0EAAmC;AACnC,iDAAsC;AAEtC,qEAAkE;AAClE,mEAAgE;AAChE,+DAA4D;AAC5D,iEAA8D;AAC9D,2DAAwD;AACxD,6DAA0D;AAC1D,+EAA4E;AAYrE,MAAM,MAAM,GAAG,CAAC,KAAe,EAAY,EAAE;IAClD,OAAO,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB;AAEK,MAAM,KAAK,GAAG,CAAC,IAAsB,EAAuB,EAAE;IACnE,OAAO,IAAA,uCAAkB,GAAE,CAAC;AAC9B,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB;AAEK,MAAM,YAAY,GAAG,KAAK,EAC/B,UAAyB,EACzB,OAA0B,EACF,EAAE;IAC1B,MAAM,aAAa,GAAG,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,uBAAM,EAAE,CAAC;IAEnC,IAAA,iCAAe,EAAC,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,IAAA,6BAAa,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5D,IAAA,+BAAc,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;IAC7D,IAAA,mCAAgB,EAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,IAAA,iDAAuB,EAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,IAAA,qBAAK,EAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,GAAG,WAAW;QACd,OAAO,EAAE;YACP,GAAG,WAAW,CAAC,OAAO;YACtB,4FAA4F;YAC5F,4GAA4G;YAC5G,yGAAyG;YACzG,uIAAuI;YACvI,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,YAAY,gBA0BvB"}
@@ -1,4 +1,4 @@
1
1
  import type { ApplicationConfigEntry, ConfigManager } from '@tramvai/cli';
2
2
  import type { StorybookOptions } from '../types';
3
- export declare const buildConfigManager: (options: StorybookOptions) => ConfigManager<ApplicationConfigEntry>;
3
+ export declare const buildConfigManager: (options?: StorybookOptions) => ConfigManager<ApplicationConfigEntry>;
4
4
  //# sourceMappingURL=buildConfigManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildConfigManager.d.ts","sourceRoot":"","sources":["../../src/tramvai/buildConfigManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,eAAO,MAAM,kBAAkB,YACpB,gBAAgB,KACxB,cAAc,sBAAsB,CAqBtC,CAAC"}
1
+ {"version":3,"file":"buildConfigManager.d.ts","sourceRoot":"","sources":["../../src/tramvai/buildConfigManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,eAAO,MAAM,kBAAkB,aACnB,gBAAgB,KACzB,cAAc,sBAAsB,CAqBtC,CAAC"}
@@ -15,7 +15,7 @@ const buildConfigManager = (options) => {
15
15
  });
16
16
  const { projects } = content;
17
17
  const defaultProject = Object.keys(projects)[0];
18
- const configManager = (0, cli_1.createConfigManager)(configManagerValidator.getProject(options.tramvaiAppName || defaultProject), { rootDir, buildType: 'client', env: process.env.NODE_ENV });
18
+ const configManager = (0, cli_1.createConfigManager)(configManagerValidator.getProject(options?.tramvaiAppName || defaultProject), { rootDir, buildType: 'client', env: process.env.NODE_ENV });
19
19
  return configManager;
20
20
  };
21
21
  exports.buildConfigManager = buildConfigManager;
@@ -1 +1 @@
1
- {"version":3,"file":"buildConfigManager.js","sourceRoot":"","sources":["../../src/tramvai/buildConfigManager.ts"],"names":[],"mappings":";;;AACA,sCAKsB;AAEtB,8CAAiD;AAE1C,MAAM,kBAAkB,GAAG,CAChC,OAAyB,EACc,EAAE;IACzC,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC;IAE5D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,KAAK,CAAC,iCAAiC,OAAO,SAAS,CAAC,CAAC;KAChE;IAED,MAAM,sBAAsB,GAAG,IAAI,4BAAsB,CAAC;QACxD,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,kBAAY;KAC7B,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,IAAA,yBAAmB,EACvC,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,IAAI,cAAc,CAAQ,EAClF,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAe,EAAE,CACnE,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAvBW,QAAA,kBAAkB,sBAuB7B"}
1
+ {"version":3,"file":"buildConfigManager.js","sourceRoot":"","sources":["../../src/tramvai/buildConfigManager.ts"],"names":[],"mappings":";;;AACA,sCAKsB;AAEtB,8CAAiD;AAE1C,MAAM,kBAAkB,GAAG,CAChC,OAA0B,EACa,EAAE;IACzC,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC;IAE5D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,KAAK,CAAC,iCAAiC,OAAO,SAAS,CAAC,CAAC;KAChE;IAED,MAAM,sBAAsB,GAAG,IAAI,4BAAsB,CAAC;QACxD,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,kBAAY;KAC7B,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,IAAA,yBAAmB,EACvC,sBAAsB,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,IAAI,cAAc,CAAQ,EACnF,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAe,EAAE,CACnE,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAvBW,QAAA,kBAAkB,sBAuB7B"}
package/lib/types.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { ReactElement, ComponentType } from 'react';
2
2
  export interface StorybookOptions {
3
3
  tramvaiAppName?: string;
4
4
  tramvaiDir?: string;
5
+ dependenciesTranspiling?: 'all' | 'only-modern' | 'none' | string[];
5
6
  }
6
7
  export type StorybookDecorator<Params> = (Story: ComponentType, options: {
7
8
  parameters: Params;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKzD,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI,CACvC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,KAC5B,YAAY,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKzD,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;CACrE;AAED,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI,CACvC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,KAC5B,YAAY,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { StorybookOptions } from '../types';
2
- export declare const getAppRootDir: (options: StorybookOptions) => string;
2
+ export declare const getAppRootDir: (options?: StorybookOptions) => string;
3
3
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/utils/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,aAAa,YAAa,gBAAgB,WAItD,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/utils/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,aAAa,aAAc,gBAAgB,WAIvD,CAAC"}
@@ -4,7 +4,7 @@ exports.getAppRootDir = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const path_1 = tslib_1.__importDefault(require("path"));
6
6
  const getAppRootDir = (options) => {
7
- const rootDir = options.tramvaiDir || path_1.default.resolve(process.cwd(), '..');
7
+ const rootDir = options?.tramvaiDir || path_1.default.resolve(process.cwd(), '..');
8
8
  return rootDir;
9
9
  };
10
10
  exports.getAppRootDir = getAppRootDir;
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/utils/options.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAGjB,MAAM,aAAa,GAAG,CAAC,OAAyB,EAAE,EAAE;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAExE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/utils/options.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAGjB,MAAM,aAAa,GAAG,CAAC,OAA0B,EAAE,EAAE;IAC1D,MAAM,OAAO,GAAG,OAAO,EAAE,UAAU,IAAI,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAEzE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB"}
@@ -4,6 +4,6 @@ import type { StorybookOptions } from '../types';
4
4
  export declare function addEnvVariables({ webpackConfig, configManager, options, }: {
5
5
  webpackConfig: Config;
6
6
  configManager: ConfigManager<CliConfigEntry>;
7
- options: StorybookOptions;
7
+ options?: StorybookOptions;
8
8
  }): void;
9
9
  //# sourceMappingURL=addEnvVariables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addEnvVariables.d.ts","sourceRoot":"","sources":["../../src/webpack/addEnvVariables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,aAAa,EACb,OAAO,GACR,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,OAAO,EAAE,gBAAgB,CAAC;CAC3B,QAyBA"}
1
+ {"version":3,"file":"addEnvVariables.d.ts","sourceRoot":"","sources":["../../src/webpack/addEnvVariables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,aAAa,EACb,OAAO,GACR,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,QA0BA"}
@@ -26,6 +26,7 @@ function addEnvVariables({ webpackConfig, configManager, options, }) {
26
26
  'process.env.SERVER': false,
27
27
  // pass `env.development.js` content to client code for env manager
28
28
  'process.env.TRAMVAI_ENV_FROM_FILE': JSON.stringify(envFromFile),
29
+ 'typeof window': JSON.stringify('object'),
29
30
  },
30
31
  ]);
31
32
  (0, cli_1.configToEnv)(configManager)(webpackConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"addEnvVariables.js","sourceRoot":"","sources":["../../src/webpack/addEnvVariables.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,8DAA8B;AAG9B,sCAA2C;AAC3C,8CAAiD;AAGjD,SAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,aAAa,EACb,OAAO,GAKR;IACC,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IACvC,IAAI,WAAW,GAA2B,EAAE,CAAC;IAE7C,IAAI;QACF,WAAW,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;KACjE;IAAC,OAAO,CAAC,EAAE;QACV,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;KAChE;IAED,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,iBAAO,CAAC,YAAY,EAAE;QACvD;YACE,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM;YAC9B,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;YAC1C,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;YACzD,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC;YACxD,qBAAqB,EAAE,IAAI;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,mEAAmE;YACnE,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SACjE;KACF,CAAC,CAAC;IAEH,IAAA,iBAAW,EAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC;AAC5C,CAAC;AAjCD,0CAiCC"}
1
+ {"version":3,"file":"addEnvVariables.js","sourceRoot":"","sources":["../../src/webpack/addEnvVariables.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,8DAA8B;AAG9B,sCAA2C;AAC3C,8CAAiD;AAGjD,SAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,aAAa,EACb,OAAO,GAKR;IACC,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IACvC,IAAI,WAAW,GAA2B,EAAE,CAAC;IAE7C,IAAI;QACF,WAAW,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;KACjE;IAAC,OAAO,CAAC,EAAE;QACV,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;KAChE;IAED,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,iBAAO,CAAC,YAAY,EAAE;QACvD;YACE,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM;YAC9B,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;YAC1C,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;YACzD,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC;YACxD,qBAAqB,EAAE,IAAI;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,mEAAmE;YACnE,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAChE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SAC1C;KACF,CAAC,CAAC;IAEH,IAAA,iBAAW,EAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC;AAC5C,CAAC;AAlCD,0CAkCC"}
@@ -1,5 +1,7 @@
1
1
  import type { Configuration } from 'webpack';
2
- export declare function addNodeModulesTranspile({ baseConfig }: {
2
+ import { StorybookOptions } from '../types';
3
+ export declare function addNodeModulesTranspile({ baseConfig, options, }: {
3
4
  baseConfig: Configuration;
5
+ options?: StorybookOptions;
4
6
  }): void;
5
7
  //# sourceMappingURL=addNodeModulesTranspile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addNodeModulesTranspile.d.ts","sourceRoot":"","sources":["../../src/webpack/addNodeModulesTranspile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,wBAAgB,uBAAuB,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,aAAa,CAAA;CAAE,QASpF"}
1
+ {"version":3,"file":"addNodeModulesTranspile.d.ts","sourceRoot":"","sources":["../../src/webpack/addNodeModulesTranspile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,uBAAuB,CAAC,EACtC,UAAU,EACV,OAAO,GACR,EAAE;IACD,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,QASA"}
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addNodeModulesTranspile = void 0;
4
4
  const is_modern_lib_1 = require("@tinkoff/is-modern-lib");
5
5
  const babelConfigFactory_1 = require("../babel/babelConfigFactory");
6
- function addNodeModulesTranspile({ baseConfig }) {
6
+ function addNodeModulesTranspile({ baseConfig, options, }) {
7
7
  baseConfig.module?.rules?.push({
8
8
  test: /\.[cm]?js[x]?$/,
9
- include: is_modern_lib_1.modernLibsFilter,
9
+ include: getLoaderInclude(options?.dependenciesTranspiling),
10
10
  // already processed in storybook loaders
11
11
  exclude: /node_modules\/acorn-jsx/,
12
12
  loader: 'babel-loader',
@@ -14,4 +14,16 @@ function addNodeModulesTranspile({ baseConfig }) {
14
14
  });
15
15
  }
16
16
  exports.addNodeModulesTranspile = addNodeModulesTranspile;
17
+ function getLoaderInclude(include) {
18
+ if (include === 'only-modern' || !include) {
19
+ return is_modern_lib_1.modernLibsFilter;
20
+ }
21
+ if (Array.isArray(include)) {
22
+ return include.map((item) => new RegExp(item));
23
+ }
24
+ if (include === 'none') {
25
+ return [];
26
+ }
27
+ return [/node_modules/];
28
+ }
17
29
  //# sourceMappingURL=addNodeModulesTranspile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addNodeModulesTranspile.js","sourceRoot":"","sources":["../../src/webpack/addNodeModulesTranspile.ts"],"names":[],"mappings":";;;AACA,0DAA0D;AAC1D,oEAAiE;AAEjE,SAAgB,uBAAuB,CAAC,EAAE,UAAU,EAAiC;IACnF,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;QAC7B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gCAAgB;QACzB,yCAAyC;QACzC,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,IAAA,uCAAkB,EAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AATD,0DASC"}
1
+ {"version":3,"file":"addNodeModulesTranspile.js","sourceRoot":"","sources":["../../src/webpack/addNodeModulesTranspile.ts"],"names":[],"mappings":";;;AACA,0DAA0D;AAC1D,oEAAiE;AAGjE,SAAgB,uBAAuB,CAAC,EACtC,UAAU,EACV,OAAO,GAIR;IACC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;QAC7B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,CAAC;QAC3D,yCAAyC;QACzC,OAAO,EAAE,yBAAyB;QAClC,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,IAAA,uCAAkB,EAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAfD,0DAeC;AAED,SAAS,gBAAgB,CAAC,OAAoD;IAC5E,IAAI,OAAO,KAAK,aAAa,IAAI,CAAC,OAAO,EAAE;QACzC,OAAO,gCAAgB,CAAC;KACzB;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KAChD;IAED,IAAI,OAAO,KAAK,MAAM,EAAE;QACtB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type Config from 'webpack-chain';
2
2
  import type { StorybookOptions } from '../types';
3
3
  export declare function addPathsResolver({ options, webpackConfig, }: {
4
- options: StorybookOptions;
4
+ options?: StorybookOptions;
5
5
  webpackConfig: Config;
6
6
  }): void;
7
7
  //# sourceMappingURL=addPathsResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addPathsResolver.d.ts","sourceRoot":"","sources":["../../src/webpack/addPathsResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,aAAa,GACd,EAAE;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB,QAOA"}
1
+ {"version":3,"file":"addPathsResolver.d.ts","sourceRoot":"","sources":["../../src/webpack/addPathsResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,aAAa,GACd,EAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,QAOA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/storybook-addon",
3
- "version": "6.68.6",
3
+ "version": "6.77.3",
4
4
  "description": "",
5
5
  "main": "lib/preset.js",
6
6
  "typings": "lib/preset.d.ts",
@@ -21,26 +21,26 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@tanstack/react-query": ">=4.0.0 <=5.72.1",
24
- "@tinkoff/is-modern-lib": "6.1.0",
25
- "@tramvai/test-mocks": "6.68.6",
24
+ "@tinkoff/is-modern-lib": "6.1.1",
25
+ "@tramvai/test-mocks": "6.77.3",
26
26
  "tsconfig-paths-webpack-plugin": "^4.2.0",
27
27
  "webpack-chain": "^6.5.1",
28
28
  "webpack-merge": "^5.8.0"
29
29
  },
30
30
  "devDependencies": {
31
- "@babel/core": "^7.16.0",
31
+ "@babel/core": "^7.28.5",
32
32
  "@tanstack/react-query": "5.72.1",
33
33
  "webpack": "5.101.1"
34
34
  },
35
35
  "peerDependencies": {
36
- "@tinkoff/dippy": "0.12.3",
37
- "@tinkoff/router": "0.6.124",
38
- "@tinkoff/url": "0.12.1",
39
- "@tramvai/cli": "6.68.6",
40
- "@tramvai/core": "6.68.6",
41
- "@tramvai/react": "6.68.6",
42
- "@tramvai/state": "6.68.6",
43
- "@tramvai/tokens-common": "6.68.6",
36
+ "@tinkoff/dippy": "0.12.6",
37
+ "@tinkoff/router": "0.6.153",
38
+ "@tinkoff/url": "0.12.2",
39
+ "@tramvai/cli": "6.77.3",
40
+ "@tramvai/core": "6.77.3",
41
+ "@tramvai/react": "6.77.3",
42
+ "@tramvai/state": "6.77.3",
43
+ "@tramvai/tokens-common": "6.77.3",
44
44
  "react": ">=16.14.0"
45
45
  }
46
46
  }