@storybook/builder-webpack5 7.1.0-alpha.8 → 7.1.0-beta.0
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/dist/{index.d-1a1e1de1.d.ts → index.d-6f3a4ba9.d.ts} +104 -55
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +13 -1
- package/dist/presets/custom-webpack-preset.d.ts +1 -1
- package/dist/presets/preview-preset.js +4 -2
- package/package.json +36 -36
- package/templates/preview.ejs +1 -1
- package/templates/virtualModuleModernEntry.js.handlebars +5 -6
- package/dist/chunk-GYZG6JM4.mjs +0 -1
- package/dist/presets/custom-webpack-preset.mjs +0 -3
- package/dist/presets/preview-preset.mjs +0 -6
|
@@ -17,7 +17,40 @@ type Primitive =
|
|
|
17
17
|
| symbol
|
|
18
18
|
| bigint;
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
Matches a JSON object.
|
|
22
|
+
|
|
23
|
+
This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. Don't use this as a direct return type as the user would have to double-cast it: `jsonObject as unknown as CustomResponse`. Instead, you could extend your CustomResponse type from it to ensure your type only uses JSON-compatible types: `interface CustomResponse extends JsonObject { … }`.
|
|
24
|
+
|
|
25
|
+
@category JSON
|
|
26
|
+
*/
|
|
27
|
+
type JsonObject = {[Key in string]: JsonValue} & {[Key in string]?: JsonValue | undefined};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
Matches a JSON array.
|
|
31
|
+
|
|
32
|
+
@category JSON
|
|
33
|
+
*/
|
|
34
|
+
type JsonArray = JsonValue[] | readonly JsonValue[];
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
Matches any valid JSON primitive value.
|
|
38
|
+
|
|
39
|
+
@category JSON
|
|
40
|
+
*/
|
|
41
|
+
type JsonPrimitive = string | number | boolean | null;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
Matches any valid JSON value.
|
|
45
|
+
|
|
46
|
+
@see `Jsonify` if you need to transform a type to one that is assignable to `JsonValue`.
|
|
47
|
+
|
|
48
|
+
@category JSON
|
|
49
|
+
*/
|
|
50
|
+
type JsonValue = JsonPrimitive | JsonObject | JsonArray;
|
|
51
|
+
|
|
20
52
|
declare global {
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
|
|
21
54
|
interface SymbolConstructor {
|
|
22
55
|
readonly observable: symbol;
|
|
23
56
|
}
|
|
@@ -83,8 +116,8 @@ declare namespace PackageJson$1 {
|
|
|
83
116
|
email?: string;
|
|
84
117
|
};
|
|
85
118
|
|
|
86
|
-
export
|
|
87
|
-
[directoryType: string]:
|
|
119
|
+
export type DirectoryLocations = {
|
|
120
|
+
[directoryType: string]: JsonValue | undefined;
|
|
88
121
|
|
|
89
122
|
/**
|
|
90
123
|
Location for executable scripts. Sugar to generate entries in the `bin` property by walking the folder.
|
|
@@ -115,7 +148,7 @@ declare namespace PackageJson$1 {
|
|
|
115
148
|
Location for test files.
|
|
116
149
|
*/
|
|
117
150
|
test?: string;
|
|
118
|
-
}
|
|
151
|
+
};
|
|
119
152
|
|
|
120
153
|
export type Scripts = {
|
|
121
154
|
/**
|
|
@@ -265,22 +298,11 @@ declare namespace PackageJson$1 {
|
|
|
265
298
|
export type Dependency = Partial<Record<string, string>>;
|
|
266
299
|
|
|
267
300
|
/**
|
|
268
|
-
|
|
301
|
+
A mapping of conditions and the paths to which they resolve.
|
|
269
302
|
*/
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
| 'node'
|
|
274
|
-
| 'node-addons'
|
|
275
|
-
| 'deno'
|
|
276
|
-
| 'browser'
|
|
277
|
-
| 'electron'
|
|
278
|
-
| 'react-native'
|
|
279
|
-
| 'default',
|
|
280
|
-
string
|
|
281
|
-
>;
|
|
282
|
-
|
|
283
|
-
type ExportConditions = {[condition in ExportCondition]: Exports};
|
|
303
|
+
type ExportConditions = { // eslint-disable-line @typescript-eslint/consistent-indexed-object-style
|
|
304
|
+
[condition: string]: Exports;
|
|
305
|
+
};
|
|
284
306
|
|
|
285
307
|
/**
|
|
286
308
|
Entry points of a module, optionally with conditions and subpath exports.
|
|
@@ -289,16 +311,16 @@ declare namespace PackageJson$1 {
|
|
|
289
311
|
| null
|
|
290
312
|
| string
|
|
291
313
|
| Array<string | ExportConditions>
|
|
292
|
-
| ExportConditions
|
|
293
|
-
| {[path: string]: Exports}; // eslint-disable-line @typescript-eslint/consistent-indexed-object-style
|
|
314
|
+
| ExportConditions;
|
|
294
315
|
|
|
295
316
|
/**
|
|
296
|
-
Import map entries of a module, optionally with conditions.
|
|
317
|
+
Import map entries of a module, optionally with conditions and subpath imports.
|
|
297
318
|
*/
|
|
298
319
|
export type Imports = { // eslint-disable-line @typescript-eslint/consistent-indexed-object-style
|
|
299
|
-
[key: string]:
|
|
320
|
+
[key: `#${string}`]: Exports;
|
|
300
321
|
};
|
|
301
322
|
|
|
323
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
302
324
|
export interface NonStandardEntryPoints {
|
|
303
325
|
/**
|
|
304
326
|
An ECMAScript module ID that is the primary entry point to the program.
|
|
@@ -331,7 +353,7 @@ declare namespace PackageJson$1 {
|
|
|
331
353
|
sideEffects?: boolean | string[];
|
|
332
354
|
}
|
|
333
355
|
|
|
334
|
-
export
|
|
356
|
+
export type TypeScriptConfiguration = {
|
|
335
357
|
/**
|
|
336
358
|
Location of the bundled TypeScript declaration file.
|
|
337
359
|
*/
|
|
@@ -346,12 +368,12 @@ declare namespace PackageJson$1 {
|
|
|
346
368
|
Location of the bundled TypeScript declaration file. Alias of `types`.
|
|
347
369
|
*/
|
|
348
370
|
typings?: string;
|
|
349
|
-
}
|
|
371
|
+
};
|
|
350
372
|
|
|
351
373
|
/**
|
|
352
|
-
An alternative configuration for
|
|
374
|
+
An alternative configuration for workspaces.
|
|
353
375
|
*/
|
|
354
|
-
export
|
|
376
|
+
export type WorkspaceConfig = {
|
|
355
377
|
/**
|
|
356
378
|
An array of workspace pattern strings which contain the workspace packages.
|
|
357
379
|
*/
|
|
@@ -360,10 +382,11 @@ declare namespace PackageJson$1 {
|
|
|
360
382
|
/**
|
|
361
383
|
Designed to solve the problem of packages which break when their `node_modules` are moved to the root workspace directory - a process known as hoisting. For these packages, both within your workspace, and also some that have been installed via `node_modules`, it is important to have a mechanism for preventing the default Yarn workspace behavior. By adding workspace pattern strings here, Yarn will resume non-workspace behavior for any package which matches the defined patterns.
|
|
362
384
|
|
|
363
|
-
[
|
|
385
|
+
[Supported](https://classic.yarnpkg.com/blog/2018/02/15/nohoist/) by Yarn.
|
|
386
|
+
[Not supported](https://github.com/npm/rfcs/issues/287) by npm.
|
|
364
387
|
*/
|
|
365
388
|
nohoist?: WorkspacePattern[];
|
|
366
|
-
}
|
|
389
|
+
};
|
|
367
390
|
|
|
368
391
|
/**
|
|
369
392
|
A workspace pattern points to a directory or group of directories which contain packages that should be included in the workspace installation process.
|
|
@@ -376,16 +399,7 @@ declare namespace PackageJson$1 {
|
|
|
376
399
|
*/
|
|
377
400
|
type WorkspacePattern = string;
|
|
378
401
|
|
|
379
|
-
export
|
|
380
|
-
/**
|
|
381
|
-
Used to configure [Yarn workspaces](https://classic.yarnpkg.com/docs/workspaces/).
|
|
382
|
-
|
|
383
|
-
Workspaces allow you to manage multiple packages within the same repository in such a way that you only need to run `yarn install` once to install all of them in a single pass.
|
|
384
|
-
|
|
385
|
-
Please note that the top-level `private` property of `package.json` **must** be set to `true` in order to use workspaces.
|
|
386
|
-
*/
|
|
387
|
-
workspaces?: WorkspacePattern[] | WorkspaceConfig;
|
|
388
|
-
|
|
402
|
+
export type YarnConfiguration = {
|
|
389
403
|
/**
|
|
390
404
|
If your package only allows one version of a given dependency, and you’d like to enforce the same behavior as `yarn install --flat` on the command-line, set this to `true`.
|
|
391
405
|
|
|
@@ -397,18 +411,19 @@ declare namespace PackageJson$1 {
|
|
|
397
411
|
Selective version resolutions. Allows the definition of custom package versions inside dependencies without manual edits in the `yarn.lock` file.
|
|
398
412
|
*/
|
|
399
413
|
resolutions?: Dependency;
|
|
400
|
-
}
|
|
414
|
+
};
|
|
401
415
|
|
|
402
|
-
export
|
|
416
|
+
export type JSPMConfiguration = {
|
|
403
417
|
/**
|
|
404
418
|
JSPM configuration.
|
|
405
419
|
*/
|
|
406
420
|
jspm?: PackageJson$1;
|
|
407
|
-
}
|
|
421
|
+
};
|
|
408
422
|
|
|
409
423
|
/**
|
|
410
424
|
Type for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-json-file). Containing standard npm properties.
|
|
411
425
|
*/
|
|
426
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
412
427
|
export interface PackageJsonStandard {
|
|
413
428
|
/**
|
|
414
429
|
The name of the package.
|
|
@@ -538,7 +553,7 @@ declare namespace PackageJson$1 {
|
|
|
538
553
|
/**
|
|
539
554
|
Is used to set configuration parameters used in package scripts that persist across upgrades.
|
|
540
555
|
*/
|
|
541
|
-
config?:
|
|
556
|
+
config?: JsonObject;
|
|
542
557
|
|
|
543
558
|
/**
|
|
544
559
|
The dependencies of the package.
|
|
@@ -579,7 +594,7 @@ declare namespace PackageJson$1 {
|
|
|
579
594
|
Engines that this package runs on.
|
|
580
595
|
*/
|
|
581
596
|
engines?: {
|
|
582
|
-
[EngineName in 'npm' | 'node' | string]?: string;
|
|
597
|
+
[EngineName in 'npm' | 'node' | string]?: string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents
|
|
583
598
|
};
|
|
584
599
|
|
|
585
600
|
/**
|
|
@@ -678,13 +693,41 @@ declare namespace PackageJson$1 {
|
|
|
678
693
|
*/
|
|
679
694
|
url: string;
|
|
680
695
|
};
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
Used to configure [npm workspaces](https://docs.npmjs.com/cli/using-npm/workspaces) / [Yarn workspaces](https://classic.yarnpkg.com/docs/workspaces/).
|
|
699
|
+
|
|
700
|
+
Workspaces allow you to manage multiple packages within the same repository in such a way that you only need to run your install command once in order to install all of them in a single pass.
|
|
701
|
+
|
|
702
|
+
Please note that the top-level `private` property of `package.json` **must** be set to `true` in order to use workspaces.
|
|
703
|
+
*/
|
|
704
|
+
workspaces?: WorkspacePattern[] | WorkspaceConfig;
|
|
681
705
|
}
|
|
682
706
|
|
|
683
|
-
|
|
707
|
+
/**
|
|
708
|
+
Type for [`package.json` file used by the Node.js runtime](https://nodejs.org/api/packages.html#nodejs-packagejson-field-definitions).
|
|
709
|
+
*/
|
|
710
|
+
export type NodeJsStandard = {
|
|
711
|
+
/**
|
|
712
|
+
Defines which package manager is expected to be used when working on the current project. It can set to any of the [supported package managers](https://nodejs.org/api/corepack.html#supported-package-managers), and will ensure that your teams use the exact same package manager versions without having to install anything else than Node.js.
|
|
713
|
+
|
|
714
|
+
__This field is currently experimental and needs to be opted-in; check the [Corepack](https://nodejs.org/api/corepack.html) page for details about the procedure.__
|
|
715
|
+
|
|
716
|
+
@example
|
|
717
|
+
```json
|
|
718
|
+
{
|
|
719
|
+
"packageManager": "<package manager name>@<version>"
|
|
720
|
+
}
|
|
721
|
+
```
|
|
722
|
+
*/
|
|
723
|
+
packageManager?: string;
|
|
724
|
+
};
|
|
725
|
+
|
|
726
|
+
export type PublishConfig = {
|
|
684
727
|
/**
|
|
685
728
|
Additional, less common properties from the [npm docs on `publishConfig`](https://docs.npmjs.com/cli/v7/configuring-npm/package-json#publishconfig).
|
|
686
729
|
*/
|
|
687
|
-
[additionalProperties: string]:
|
|
730
|
+
[additionalProperties: string]: JsonValue | undefined;
|
|
688
731
|
|
|
689
732
|
/**
|
|
690
733
|
When publishing scoped packages, the access level defaults to restricted. If you want your scoped package to be publicly viewable (and installable) set `--access=public`. The only valid values for access are public and restricted. Unscoped packages always have an access level of public.
|
|
@@ -704,7 +747,7 @@ declare namespace PackageJson$1 {
|
|
|
704
747
|
Default: `'latest'`
|
|
705
748
|
*/
|
|
706
749
|
tag?: string;
|
|
707
|
-
}
|
|
750
|
+
};
|
|
708
751
|
}
|
|
709
752
|
|
|
710
753
|
/**
|
|
@@ -713,6 +756,8 @@ Type for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-j
|
|
|
713
756
|
@category File
|
|
714
757
|
*/
|
|
715
758
|
type PackageJson$1 =
|
|
759
|
+
JsonObject &
|
|
760
|
+
PackageJson$1.NodeJsStandard &
|
|
716
761
|
PackageJson$1.PackageJsonStandard &
|
|
717
762
|
PackageJson$1.NonStandardEntryPoints &
|
|
718
763
|
PackageJson$1.TypeScriptConfiguration &
|
|
@@ -735,7 +780,7 @@ interface StoriesSpecifier {
|
|
|
735
780
|
/**
|
|
736
781
|
* What does the filename of a story file look like?
|
|
737
782
|
* (a glob, relative to directory, no leading `./`)
|
|
738
|
-
* If unset, we use `** / *.@(mdx|stories.@(mdx|
|
|
783
|
+
* If unset, we use `** / *.@(mdx|stories.@(mdx|js|jsx|mjs|ts|tsx))` (no spaces)
|
|
739
784
|
*/
|
|
740
785
|
files?: string;
|
|
741
786
|
}
|
|
@@ -839,11 +884,6 @@ interface VersionCheck {
|
|
|
839
884
|
error?: any;
|
|
840
885
|
time: number;
|
|
841
886
|
}
|
|
842
|
-
interface ReleaseNotesData {
|
|
843
|
-
success: boolean;
|
|
844
|
-
currentVersion: string;
|
|
845
|
-
showOnFirstLaunch: boolean;
|
|
846
|
-
}
|
|
847
887
|
interface Stats {
|
|
848
888
|
toJson: () => any;
|
|
849
889
|
}
|
|
@@ -863,6 +903,7 @@ interface CLIOptions {
|
|
|
863
903
|
disableTelemetry?: boolean;
|
|
864
904
|
enableCrashReports?: boolean;
|
|
865
905
|
host?: string;
|
|
906
|
+
initialPath?: string;
|
|
866
907
|
/**
|
|
867
908
|
* @deprecated Use 'staticDirs' Storybook Configuration option instead
|
|
868
909
|
*/
|
|
@@ -879,7 +920,6 @@ interface CLIOptions {
|
|
|
879
920
|
loglevel?: string;
|
|
880
921
|
quiet?: boolean;
|
|
881
922
|
versionUpdates?: boolean;
|
|
882
|
-
releaseNotes?: boolean;
|
|
883
923
|
docs?: boolean;
|
|
884
924
|
debugWebpack?: boolean;
|
|
885
925
|
webpackStatsJson?: string | boolean;
|
|
@@ -893,7 +933,6 @@ interface BuilderOptions {
|
|
|
893
933
|
docsMode?: boolean;
|
|
894
934
|
features?: StorybookConfig['features'];
|
|
895
935
|
versionCheck?: VersionCheck;
|
|
896
|
-
releaseNotesData?: ReleaseNotesData;
|
|
897
936
|
disableWebpackDefaults?: boolean;
|
|
898
937
|
serverChannelUrl?: string;
|
|
899
938
|
}
|
|
@@ -1020,6 +1059,10 @@ interface StorybookConfig {
|
|
|
1020
1059
|
* Apply decorators from preview.js before decorators from addons or frameworks
|
|
1021
1060
|
*/
|
|
1022
1061
|
legacyDecoratorFileOrder?: boolean;
|
|
1062
|
+
/**
|
|
1063
|
+
* Show a notification anytime a What's new? post is published in the Storybook blog.
|
|
1064
|
+
*/
|
|
1065
|
+
whatsNewNotifications?: boolean;
|
|
1023
1066
|
};
|
|
1024
1067
|
/**
|
|
1025
1068
|
* Tells Storybook where to find stories.
|
|
@@ -1077,13 +1120,19 @@ interface StorybookConfig {
|
|
|
1077
1120
|
previewHead?: PresetValue<string>;
|
|
1078
1121
|
previewBody?: PresetValue<string>;
|
|
1079
1122
|
/**
|
|
1080
|
-
*
|
|
1123
|
+
* Programmatically override the preview's main page template.
|
|
1081
1124
|
* This should return a reference to a file containing an `.ejs` template
|
|
1082
1125
|
* that will be interpolated with environment variables.
|
|
1083
1126
|
*
|
|
1084
1127
|
* @example '.storybook/index.ejs'
|
|
1085
1128
|
*/
|
|
1086
1129
|
previewMainTemplate?: string;
|
|
1130
|
+
/**
|
|
1131
|
+
* Programmatically modify the preview head/body HTML.
|
|
1132
|
+
* The managerHead function accept a string,
|
|
1133
|
+
* which is the existing head content, and return a modified string.
|
|
1134
|
+
*/
|
|
1135
|
+
managerHead?: PresetValue<string>;
|
|
1087
1136
|
}
|
|
1088
1137
|
type PresetValue<T> = T | ((config: T, options: Options) => T | Promise<T>);
|
|
1089
1138
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import webpack__default, { Configuration, Stats } from 'webpack';
|
|
2
|
-
import { O as Options$1, B as Builder } from './index.d-
|
|
2
|
+
import { O as Options$1, B as Builder } from './index.d-6f3a4ba9.js';
|
|
3
3
|
import { StorybookConfig, Options, BuilderResult as BuilderResult$1 } from '@storybook/core-webpack';
|
|
4
4
|
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
|
|
5
5
|
import 'file-system-cache';
|
|
@@ -30,6 +30,7 @@ interface StorybookConfigWebpack extends Pick<StorybookConfig, 'webpack' | 'webp
|
|
|
30
30
|
}
|
|
31
31
|
type BuilderOptions = {
|
|
32
32
|
fsCache?: boolean;
|
|
33
|
+
useSWC?: boolean;
|
|
33
34
|
lazyCompilation?: boolean;
|
|
34
35
|
};
|
|
35
36
|
interface BuilderResult extends BuilderResult$1 {
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module2){"use strict";var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module2.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return"";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results}}});var src_exports={};__export(src_exports,{bail:()=>bail,build:()=>build,corePresets:()=>corePresets,executor:()=>executor,getConfig:()=>getConfig,overridePresets:()=>overridePresets,printDuration:()=>printDuration,start:()=>start});module.exports=__toCommonJS(src_exports);var import_webpack=__toESM(require("webpack")),import_webpack_dev_middleware=__toESM(require("webpack-dev-middleware")),import_webpack_hot_middleware=__toESM(require("webpack-hot-middleware")),import_node_logger=require("@storybook/node-logger"),import_core_webpack=require("@storybook/core-webpack"),import_path=require("path"),import_express=__toESM(require("express")),import_fs_extra=__toESM(require("fs-extra")),import_core_events=require("@storybook/core-events"),import_pretty_hrtime=__toESM(require_pretty_hrtime()),printDuration=startTime=>(0,import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),wrapForPnP=input=>(0,import_path.dirname)(require.resolve((0,import_path.join)(input,"package.json"))),compilation,reject,executor={get:async options=>{var _a;let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=((_a=await options.presets.apply("webpackInstance"))==null?void 0:_a.default)||import_webpack.default;return(0,import_core_webpack.checkWebpackVersion)({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),babelOptions=await presets.apply("babel",{},{...options,typescriptOptions}),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,babelOptions,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error)}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),import_node_logger.logger.warn("Force closed preview build")}catch{import_node_logger.logger.warn("Unable to close preview build!"),res()}else res()})},starter=async function*({startTime,options,router,channel}){var _a,_b;let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return import_node_logger.logger.error(err),{bail,totalTime:process.hrtime(startTime),stats:{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}}yield;let modulesCount=await((_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{}))||1e3,totalModules,value=0;new import_webpack.ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total)}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(import_core_events.PREVIEW_BUILDER_PROGRESS,
|
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module2){"use strict";var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module2.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return"";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results}}});var src_exports={};__export(src_exports,{bail:()=>bail,build:()=>build,corePresets:()=>corePresets,executor:()=>executor,getConfig:()=>getConfig,overridePresets:()=>overridePresets,printDuration:()=>printDuration,start:()=>start});module.exports=__toCommonJS(src_exports);var import_webpack=__toESM(require("webpack")),import_webpack_dev_middleware=__toESM(require("webpack-dev-middleware")),import_webpack_hot_middleware=__toESM(require("webpack-hot-middleware")),import_node_logger=require("@storybook/node-logger"),import_core_webpack=require("@storybook/core-webpack"),import_path=require("path"),import_express=__toESM(require("express")),import_fs_extra=__toESM(require("fs-extra")),import_core_events=require("@storybook/core-events"),import_pretty_hrtime=__toESM(require_pretty_hrtime()),printDuration=startTime=>(0,import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),wrapForPnP=input=>(0,import_path.dirname)(require.resolve((0,import_path.join)(input,"package.json"))),compilation,reject,executor={get:async options=>{var _a;let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=((_a=await options.presets.apply("webpackInstance"))==null?void 0:_a.default)||import_webpack.default;return(0,import_core_webpack.checkWebpackVersion)({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),babelOptions=await presets.apply("babel",{},{...options,typescriptOptions}),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,babelOptions,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error)}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),import_node_logger.logger.warn("Force closed preview build")}catch{import_node_logger.logger.warn("Unable to close preview build!"),res()}else res()})},starter=async function*({startTime,options,router,channel}){var _a,_b;let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return import_node_logger.logger.error(err),{bail,totalTime:process.hrtime(startTime),stats:{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}}yield;let modulesCount=await((_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{}))||1e3,totalModules,value=0;new import_webpack.ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total)}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(import_core_events.PREVIEW_BUILDER_PROGRESS,progress)},modulesCount}).apply(compiler);let middlewareOptions={publicPath:(_b=config.output)==null?void 0:_b.publicPath,writeToDisk:!0};compilation=(0,import_webpack_dev_middleware.default)(compiler,middlewareOptions);let previewResolvedDir=wrapForPnP("@storybook/preview"),previewDirOrigin=(0,import_path.join)(previewResolvedDir,"dist");router.use("/sb-preview",import_express.default.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use((0,import_webpack_hot_middleware.default)(compiler,{log:!1}));let stats=await new Promise((ready,stop)=>{compilation==null||compilation.waitUntilValid(ready),reject=stop});if(yield,!stats)throw new Error("no stats after building preview");if(stats.hasErrors())throw stats;return{bail,stats,totalTime:process.hrtime(startTime)}},builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield,import_node_logger.logger.info("=> Compiling preview..");let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return import_node_logger.logger.error(err),{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error||!stats||stats.hasErrors()){if(import_node_logger.logger.error("=> Failed to build the preview"),process.exitCode=1,error){import_node_logger.logger.error(error.message),compiler.close(()=>fail(error));return}if(stats&&(stats.hasErrors()||stats.hasWarnings())){let{warnings=[],errors=[]}=stats.toJson(typeof config.stats=="string"?config.stats:{warnings:!0,errors:!0,...config.stats});errors.forEach(e=>import_node_logger.logger.error(e.message)),warnings.forEach(e=>import_node_logger.logger.error(e.message)),compiler.close(()=>options.debugWebpack?fail(stats):fail(new Error("=> Webpack failed, learn more with --debug-webpack")));return}}import_node_logger.logger.trace({message:"=> Preview built",time:process.hrtime(startTime)}),stats&&stats.hasWarnings()&&stats.toJson({warnings:!0}).warnings.forEach(e=>import_node_logger.logger.warn(e.message)),compiler.close(closeErr=>closeErr?fail(closeErr):succeed(stats))})}),previewResolvedDir=wrapForPnP("@storybook/preview"),previewDirOrigin=(0,import_path.join)(previewResolvedDir,"dist"),previewDirTarget=(0,import_path.join)(options.outputDir||"","sb-preview"),previewFiles=import_fs_extra.default.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=(0,import_path.parse)(src);return ext?ext===".js":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[(0,import_path.join)(__dirname,"presets/preview-preset.js")],overridePresets=[(0,import_path.join)(__dirname,"./presets/custom-webpack-preset.js")];0&&(module.exports={bail,build,corePresets,executor,getConfig,overridePresets,printDuration,start});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import webpack, { ProgressPlugin } from 'webpack';
|
|
2
|
+
import webpackDevMiddleware from 'webpack-dev-middleware';
|
|
3
|
+
import webpackHotMiddleware from 'webpack-hot-middleware';
|
|
4
|
+
import { logger } from '@storybook/node-logger';
|
|
5
|
+
import { checkWebpackVersion } from '@storybook/core-webpack';
|
|
6
|
+
import { join, parse, dirname } from 'path';
|
|
7
|
+
import express from 'express';
|
|
8
|
+
import fs from 'fs-extra';
|
|
9
|
+
import { PREVIEW_BUILDER_PROGRESS } from '@storybook/core-events';
|
|
10
|
+
|
|
11
|
+
var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module){var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return "";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results};}});var import_pretty_hrtime=__toESM(require_pretty_hrtime());var printDuration=startTime=>(0, import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),wrapForPnP=input=>dirname(__require.resolve(join(input,"package.json"))),compilation,reject,executor={get:async options=>{let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=(await options.presets.apply("webpackInstance"))?.default||webpack;return checkWebpackVersion({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),babelOptions=await presets.apply("babel",{},{...options,typescriptOptions}),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,babelOptions,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error);}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),logger.warn("Force closed preview build");}catch{logger.warn("Unable to close preview build!"),res();}else res();})},starter=async function*({startTime,options,router,channel}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return logger.error(err),{bail,totalTime:process.hrtime(startTime),stats:{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}}yield;let modulesCount=await options.cache?.get("modulesCount").catch(()=>{})||1e3,totalModules,value=0;new ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total);}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(PREVIEW_BUILDER_PROGRESS,progress);},modulesCount}).apply(compiler);let middlewareOptions={publicPath:config.output?.publicPath,writeToDisk:!0};compilation=webpackDevMiddleware(compiler,middlewareOptions);let previewResolvedDir=wrapForPnP("@storybook/preview"),previewDirOrigin=join(previewResolvedDir,"dist");router.use("/sb-preview",express.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use(webpackHotMiddleware(compiler,{log:!1}));let stats=await new Promise((ready,stop)=>{compilation?.waitUntilValid(ready),reject=stop;});if(yield,!stats)throw new Error("no stats after building preview");if(stats.hasErrors())throw stats;return {bail,stats,totalTime:process.hrtime(startTime)}},builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield,logger.info("=> Compiling preview..");let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return logger.error(err),{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error||!stats||stats.hasErrors()){if(logger.error("=> Failed to build the preview"),process.exitCode=1,error){logger.error(error.message),compiler.close(()=>fail(error));return}if(stats&&(stats.hasErrors()||stats.hasWarnings())){let{warnings=[],errors=[]}=stats.toJson(typeof config.stats=="string"?config.stats:{warnings:!0,errors:!0,...config.stats});errors.forEach(e=>logger.error(e.message)),warnings.forEach(e=>logger.error(e.message)),compiler.close(()=>options.debugWebpack?fail(stats):fail(new Error("=> Webpack failed, learn more with --debug-webpack")));return}}logger.trace({message:"=> Preview built",time:process.hrtime(startTime)}),stats&&stats.hasWarnings()&&stats.toJson({warnings:!0}).warnings.forEach(e=>logger.warn(e.message)),compiler.close(closeErr=>closeErr?fail(closeErr):succeed(stats));});}),previewResolvedDir=wrapForPnP("@storybook/preview"),previewDirOrigin=join(previewResolvedDir,"dist"),previewDirTarget=join(options.outputDir||"","sb-preview"),previewFiles=fs.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=parse(src);return ext?ext===".js":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[join(__dirname,"presets/preview-preset.js")],overridePresets=[join(__dirname,"./presets/custom-webpack-preset.js")];
|
|
12
|
+
|
|
13
|
+
export { bail, build, corePresets, executor, getConfig, overridePresets, printDuration, start };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as webpack$1 from 'webpack';
|
|
2
2
|
import { Configuration } from 'webpack';
|
|
3
|
-
import { O as Options } from '../index.d-
|
|
3
|
+
import { O as Options } from '../index.d-6f3a4ba9.js';
|
|
4
4
|
import 'file-system-cache';
|
|
5
5
|
import '@babel/core';
|
|
6
6
|
import 'express';
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_preset_exports={};__export(preview_preset_exports,{babel:()=>babel,entries:()=>entries,previewMainTemplate:()=>previewMainTemplate,webpack:()=>webpack});module.exports=__toCommonJS(preview_preset_exports);var import_path=require("path"),import_webpack=require("webpack"),import_html_webpack_plugin=__toESM(require("html-webpack-plugin")),import_case_sensitive_paths_webpack_plugin=__toESM(require("case-sensitive-paths-webpack-plugin")),import_terser_webpack_plugin=__toESM(require("terser-webpack-plugin")),import_webpack_virtual_modules=__toESM(require("webpack-virtual-modules")),import_fork_ts_checker_webpack_plugin=__toESM(require("fork-ts-checker-webpack-plugin"));function slash(path){return
|
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_preset_exports={};__export(preview_preset_exports,{babel:()=>babel,entries:()=>entries,previewMainTemplate:()=>previewMainTemplate,webpack:()=>webpack});module.exports=__toCommonJS(preview_preset_exports);var import_path=require("path"),import_webpack=require("webpack"),import_html_webpack_plugin=__toESM(require("html-webpack-plugin")),import_case_sensitive_paths_webpack_plugin=__toESM(require("case-sensitive-paths-webpack-plugin")),import_terser_webpack_plugin=__toESM(require("terser-webpack-plugin")),import_webpack_virtual_modules=__toESM(require("webpack-virtual-modules")),import_fork_ts_checker_webpack_plugin=__toESM(require("fork-ts-checker-webpack-plugin"));function slash(path){return path.startsWith("\\\\?\\")?path:path.replace(/\\/g,"/")}var import_globals=require("@storybook/preview/globals"),import_core_common2=require("@storybook/core-common"),import_core_webpack=require("@storybook/core-webpack"),import_ts_dedent2=require("ts-dedent");var import_core_common=require("@storybook/core-common"),import_ts_dedent=require("ts-dedent"),import_node_logger=require("@storybook/node-logger"),createBabelLoader=(options,typescriptOptions,excludes=[])=>({test:typescriptOptions.skipBabel?/\.(mjs|jsx?)$/:/\.(mjs|tsx?|jsx?)$/,use:[{loader:require.resolve("babel-loader"),options}],include:[(0,import_core_common.getProjectRoot)()],exclude:[/node_modules/,...excludes]}),createSWCLoader=(excludes=[])=>{import_node_logger.logger.warn(import_ts_dedent.dedent`
|
|
2
|
+
The SWC loader is an experimental feature and may change or even be removed at any time.
|
|
3
|
+
`);let config={jsc:{parser:{syntax:"typescript",tsx:!0,dynamicImport:!0}}};return{test:/\.(mjs|cjs|tsx?|jsx?)$/,use:[{loader:require.resolve("swc-loader"),options:config}],include:[(0,import_core_common.getProjectRoot)()],exclude:[/node_modules/,...excludes]}};var wrapForPnP=input=>(0,import_path.dirname)(require.resolve((0,import_path.join)(input,"package.json"))),storybookPaths={...["api","components","global","manager-api","router","theming"].reduce((acc,sbPackage)=>({...acc,[`@storybook/${sbPackage}`]:wrapForPnP(`@storybook/${sbPackage}`)}),{}),"@storybook/api":wrapForPnP("@storybook/manager-api")},iframe_webpack_config_default=async options=>{var _a;let{outputDir=(0,import_path.join)(".","public"),quiet,packageJson,configType,presets,previewUrl,babelOptions,typescriptOptions,features}=options,isProd=configType==="PRODUCTION",workingDir=process.cwd(),[coreOptions,frameworkOptions,envs,logLevel,headHtmlSnippet,bodyHtmlSnippet,template,docsOptions,entries2,nonNormalizedStories,modulesCount=1e3]=await Promise.all([presets.apply("core"),presets.apply("frameworkOptions"),presets.apply("env"),presets.apply("logLevel",void 0),presets.apply("previewHead"),presets.apply("previewBody"),presets.apply("previewMainTemplate"),presets.apply("docs"),presets.apply("entries",[]),presets.apply("stories",[]),(_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{})]),stories=(0,import_core_common2.normalizeStories)(nonNormalizedStories,{configDir:options.configDir,workingDir}),builderOptions=await(0,import_core_common2.getBuilderOptions)(options),previewAnnotations=[...(await presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:(0,import_path.isAbsolute)(entry)?entry:slash(entry)),(0,import_core_common2.loadPreviewOrConfigFile)(options)].filter(Boolean),virtualModuleMapping={};if(features!=null&&features.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=(0,import_path.resolve)((0,import_path.join)(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModuleMapping[storiesPath]=(0,import_core_webpack.toImportFn)(stories,{needPipelinedImport});let configEntryPath=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-config-entry.js"));virtualModuleMapping[configEntryPath]=(0,import_core_common2.handlebars)(await(0,import_core_common2.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries2.push(configEntryPath)}else{let rendererName=await(0,import_core_common2.getRendererName)(options),rendererInitEntry=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-init-renderer-entry.js"));virtualModuleMapping[rendererInitEntry]=`import '${slash(rendererName)}';`,entries2.push(rendererInitEntry);let entryTemplate=await(0,import_core_common2.readTemplate)((0,import_path.join)(__dirname,"..","..","templates","virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModuleMapping[entryFilename]=(0,import_core_common2.interpolate)(entryTemplate,{previewAnnotationFilename}),entries2.push(entryFilename)}),stories.length>0){let storyTemplate=await(0,import_core_common2.readTemplate)((0,import_path.join)(__dirname,"..","..","templates","virtualModuleStory.template.js")),storiesFilename=(0,import_path.resolve)((0,import_path.join)(workingDir,"generated-stories-entry.cjs"));virtualModuleMapping[storiesFilename]=(0,import_core_common2.interpolate)(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(import_core_webpack.toRequireContextString).join(",")),entries2.push(storiesFilename)}}let shouldCheckTs=typescriptOptions.check&&!typescriptOptions.skipBabel,tsCheckOptions=typescriptOptions.checkOptions||{},cacheConfig=builderOptions.fsCache?{cache:{type:"filesystem"}}:{},lazyCompilationConfig=builderOptions.lazyCompilation&&!isProd?{lazyCompilation:{entries:!1}}:{};if(!template)throw new Error(import_ts_dedent2.dedent`
|
|
2
4
|
Storybook's Webpack5 builder requires a template to be specified.
|
|
3
5
|
Somehow you've ended up with a falsy value for the template option.
|
|
4
6
|
|
|
5
7
|
Please file an issue at https://github.com/storybookjs/storybook with a reproduction.
|
|
6
|
-
`);return{name:"preview",mode:isProd?"production":"development",bail:isProd,devtool:"cheap-module-source-map",entry:entries2,output:{path:(0,import_path.resolve)(process.cwd(),outputDir),filename:isProd?"[name].[contenthash:8].iframe.bundle.js":"[name].iframe.bundle.js",publicPath:""},stats:{preset:"none",logging:"error"},watchOptions:{ignored:/node_modules/},externals:import_globals.globals,ignoreWarnings:[{message:/export '\S+' was not found in 'global'/},{message:/export '\S+' was not found in '@storybook\/global'/}],plugins:[Object.keys(virtualModuleMapping).length>0?new import_webpack_virtual_modules.default(virtualModuleMapping):null,new import_html_webpack_plugin.default({filename:"iframe.html",chunksSortMode:"none",alwaysWriteToDisk:!0,inject:!1,template,templateParameters:{version:packageJson.version,globals:{CONFIG_TYPE:configType,LOGLEVEL:logLevel,FRAMEWORK_OPTIONS:frameworkOptions,CHANNEL_OPTIONS:coreOptions.channelOptions,FEATURES:features,PREVIEW_URL:previewUrl,STORIES:stories.map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source})),DOCS_OPTIONS:docsOptions},headHtmlSnippet,bodyHtmlSnippet},minify:{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!0,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!0,useShortDoctype:!0}}),new import_webpack.DefinePlugin({...(0,import_core_common2.stringifyProcessEnvs)(envs),NODE_ENV:JSON.stringify(process.env.NODE_ENV)}),new import_webpack.ProvidePlugin({process:require.resolve("process/browser.js")}),isProd?null:new import_webpack.HotModuleReplacementPlugin,new import_case_sensitive_paths_webpack_plugin.default,quiet?null:new import_webpack.ProgressPlugin({modulesCount}),shouldCheckTs?new import_fork_ts_checker_webpack_plugin.default(tsCheckOptions):null].filter(Boolean),module:{rules:[{test:/\.m?js$/,type:"javascript/auto"},{test:/\.m?js$/,resolve:{fullySpecified:!1}},createBabelLoader(babelOptions,typescriptOptions),{test:/\.md$/,type:"asset/source"}]},resolve:{extensions:[".mjs",".js",".jsx",".ts",".tsx",".json",".cjs"],modules:["node_modules"].concat(envs.NODE_PATH||[]),mainFields:["browser","module","main"].filter(Boolean),alias:storybookPaths,fallback:{path:require.resolve("path-browserify"),assert:require.resolve("browser-assert"),util:require.resolve("util")},symlinks:!(0,import_core_common2.isPreservingSymlinks)()},optimization:{splitChunks:{chunks:"all"},runtimeChunk:!0,sideEffects:!0,usedExports:isProd,moduleIds:"named",minimizer:
|
|
8
|
+
`);return{name:"preview",mode:isProd?"production":"development",bail:isProd,devtool:"cheap-module-source-map",entry:entries2,output:{path:(0,import_path.resolve)(process.cwd(),outputDir),filename:isProd?"[name].[contenthash:8].iframe.bundle.js":"[name].iframe.bundle.js",publicPath:""},stats:{preset:"none",logging:"error"},watchOptions:{ignored:/node_modules/},externals:import_globals.globals,ignoreWarnings:[{message:/export '\S+' was not found in 'global'/},{message:/export '\S+' was not found in '@storybook\/global'/}],plugins:[Object.keys(virtualModuleMapping).length>0?new import_webpack_virtual_modules.default(virtualModuleMapping):null,new import_html_webpack_plugin.default({filename:"iframe.html",chunksSortMode:"none",alwaysWriteToDisk:!0,inject:!1,template,templateParameters:{version:packageJson.version,globals:{CONFIG_TYPE:configType,LOGLEVEL:logLevel,FRAMEWORK_OPTIONS:frameworkOptions,CHANNEL_OPTIONS:coreOptions.channelOptions,FEATURES:features,PREVIEW_URL:previewUrl,STORIES:stories.map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source})),DOCS_OPTIONS:docsOptions},headHtmlSnippet,bodyHtmlSnippet},minify:{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!0,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!0,useShortDoctype:!0}}),new import_webpack.DefinePlugin({...(0,import_core_common2.stringifyProcessEnvs)(envs),NODE_ENV:JSON.stringify(process.env.NODE_ENV)}),new import_webpack.ProvidePlugin({process:require.resolve("process/browser.js")}),isProd?null:new import_webpack.HotModuleReplacementPlugin,new import_case_sensitive_paths_webpack_plugin.default,quiet?null:new import_webpack.ProgressPlugin({modulesCount}),shouldCheckTs?new import_fork_ts_checker_webpack_plugin.default(tsCheckOptions):null].filter(Boolean),module:{rules:[{test:/\.m?js$/,type:"javascript/auto"},{test:/\.m?js$/,resolve:{fullySpecified:!1}},builderOptions.useSWC?createSWCLoader(Object.keys(virtualModuleMapping)):createBabelLoader(babelOptions,typescriptOptions,Object.keys(virtualModuleMapping)),{test:/\.md$/,type:"asset/source"}]},resolve:{extensions:[".mjs",".js",".jsx",".ts",".tsx",".json",".cjs"],modules:["node_modules"].concat(envs.NODE_PATH||[]),mainFields:["browser","module","main"].filter(Boolean),alias:storybookPaths,fallback:{stream:!1,path:require.resolve("path-browserify"),assert:require.resolve("browser-assert"),util:require.resolve("util"),url:require.resolve("url"),fs:!1,constants:require.resolve("constants-browserify")},symlinks:!(0,import_core_common2.isPreservingSymlinks)()},optimization:{splitChunks:{chunks:"all"},runtimeChunk:!0,sideEffects:!0,usedExports:isProd,moduleIds:"named",...isProd?{minimize:!0,minimizer:builderOptions.useSWC?[new import_terser_webpack_plugin.default({minify:import_terser_webpack_plugin.default.swcMinify,terserOptions:{sourceMap:!0,mangle:!1,keep_fnames:!0}})]:[new import_terser_webpack_plugin.default({parallel:!0,terserOptions:{sourceMap:!0,mangle:!1,keep_fnames:!0}})]}:{}},performance:{hints:isProd?"warning":!1},...cacheConfig,experiments:{...lazyCompilationConfig}}};var webpack=async(_,options)=>iframe_webpack_config_default(options),entries=async(_,options)=>{let result=[];return options.configType==="DEVELOPMENT"&&(result=result.concat(`${require.resolve("webpack-hot-middleware/client")}?reload=true&quiet=false&noInfo=${options.quiet}`)),result},babel=async(config,options)=>({...config,overrides:[...(config==null?void 0:config.overrides)||[],{test:/\.(story|stories).*$/,plugins:[require.resolve("babel-plugin-named-exports-order")]}]}),previewMainTemplate=()=>require.resolve("@storybook/builder-webpack5/templates/preview.ejs");0&&(module.exports={babel,entries,previewMainTemplate,webpack});
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/builder-webpack5",
|
|
3
|
-
"version": "7.1.0-
|
|
3
|
+
"version": "7.1.0-beta.0",
|
|
4
4
|
"description": "Storybook framework-agnostic API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook"
|
|
7
7
|
],
|
|
8
|
-
"homepage": "https://github.com/storybookjs/storybook/tree/
|
|
8
|
+
"homepage": "https://github.com/storybookjs/storybook/tree/next/code/builders/builder-webpack5",
|
|
9
9
|
"bugs": {
|
|
10
10
|
"url": "https://github.com/storybookjs/storybook/issues"
|
|
11
11
|
},
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
14
|
"url": "https://github.com/storybookjs/storybook.git",
|
|
15
|
-
"directory": "
|
|
15
|
+
"directory": "code/builders/builder-webpack5"
|
|
16
16
|
},
|
|
17
17
|
"funding": {
|
|
18
18
|
"type": "opencollective",
|
|
@@ -21,22 +21,20 @@
|
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
24
25
|
"node": "./dist/index.js",
|
|
25
26
|
"require": "./dist/index.js",
|
|
26
|
-
"import": "./dist/index.mjs"
|
|
27
|
-
"types": "./dist/index.d.ts"
|
|
27
|
+
"import": "./dist/index.mjs"
|
|
28
28
|
},
|
|
29
29
|
"./presets/custom-webpack-preset": {
|
|
30
|
+
"types": "./dist/presets/custom-webpack-preset.d.ts",
|
|
30
31
|
"node": "./dist/presets/custom-webpack-preset.js",
|
|
31
|
-
"require": "./dist/presets/custom-webpack-preset.js"
|
|
32
|
-
"import": "./dist/presets/custom-webpack-preset.mjs",
|
|
33
|
-
"types": "./dist/presets/custom-webpack-preset.d.ts"
|
|
32
|
+
"require": "./dist/presets/custom-webpack-preset.js"
|
|
34
33
|
},
|
|
35
34
|
"./presets/preview-preset": {
|
|
35
|
+
"types": "./dist/presets/preview-preset.d.ts",
|
|
36
36
|
"node": "./dist/presets/preview-preset.js",
|
|
37
|
-
"require": "./dist/presets/preview-preset.js"
|
|
38
|
-
"import": "./dist/presets/preview-preset.mjs",
|
|
39
|
-
"types": "./dist/presets/preview-preset.d.ts"
|
|
37
|
+
"require": "./dist/presets/preview-preset.js"
|
|
40
38
|
},
|
|
41
39
|
"./templates/virtualModuleModernEntry.js.handlebars": "./templates/virtualModuleModernEntry.js.handlebars",
|
|
42
40
|
"./templates/preview.ejs": "./templates/preview.ejs",
|
|
@@ -57,54 +55,56 @@
|
|
|
57
55
|
"prep": "../../../scripts/prepare/bundle.ts"
|
|
58
56
|
},
|
|
59
57
|
"dependencies": {
|
|
60
|
-
"@babel/core": "^7.
|
|
61
|
-
"@storybook/addons": "7.1.0-
|
|
62
|
-
"@storybook/api": "7.1.0-
|
|
63
|
-
"@storybook/channel-postmessage": "7.1.0-
|
|
64
|
-
"@storybook/
|
|
65
|
-
"@storybook/
|
|
66
|
-
"@storybook/client-
|
|
67
|
-
"@storybook/
|
|
68
|
-
"@storybook/
|
|
69
|
-
"@storybook/core-
|
|
70
|
-
"@storybook/core-
|
|
71
|
-
"@storybook/core-webpack": "7.1.0-alpha.8",
|
|
58
|
+
"@babel/core": "^7.22.0",
|
|
59
|
+
"@storybook/addons": "7.1.0-beta.0",
|
|
60
|
+
"@storybook/api": "7.1.0-beta.0",
|
|
61
|
+
"@storybook/channel-postmessage": "7.1.0-beta.0",
|
|
62
|
+
"@storybook/channels": "7.1.0-beta.0",
|
|
63
|
+
"@storybook/client-api": "7.1.0-beta.0",
|
|
64
|
+
"@storybook/client-logger": "7.1.0-beta.0",
|
|
65
|
+
"@storybook/components": "7.1.0-beta.0",
|
|
66
|
+
"@storybook/core-common": "7.1.0-beta.0",
|
|
67
|
+
"@storybook/core-events": "7.1.0-beta.0",
|
|
68
|
+
"@storybook/core-webpack": "7.1.0-beta.0",
|
|
72
69
|
"@storybook/global": "^5.0.0",
|
|
73
|
-
"@storybook/manager-api": "7.1.0-
|
|
74
|
-
"@storybook/node-logger": "7.1.0-
|
|
75
|
-
"@storybook/preview": "7.1.0-
|
|
76
|
-
"@storybook/preview-api": "7.1.0-
|
|
77
|
-
"@storybook/router": "7.1.0-
|
|
78
|
-
"@storybook/store": "7.1.0-
|
|
79
|
-
"@storybook/theming": "7.1.0-
|
|
70
|
+
"@storybook/manager-api": "7.1.0-beta.0",
|
|
71
|
+
"@storybook/node-logger": "7.1.0-beta.0",
|
|
72
|
+
"@storybook/preview": "7.1.0-beta.0",
|
|
73
|
+
"@storybook/preview-api": "7.1.0-beta.0",
|
|
74
|
+
"@storybook/router": "7.1.0-beta.0",
|
|
75
|
+
"@storybook/store": "7.1.0-beta.0",
|
|
76
|
+
"@storybook/theming": "7.1.0-beta.0",
|
|
77
|
+
"@swc/core": "^1.3.49",
|
|
80
78
|
"@types/node": "^16.0.0",
|
|
81
79
|
"@types/semver": "^7.3.4",
|
|
82
80
|
"babel-loader": "^9.0.0",
|
|
83
81
|
"babel-plugin-named-exports-order": "^0.0.2",
|
|
84
82
|
"browser-assert": "^1.2.1",
|
|
85
83
|
"case-sensitive-paths-webpack-plugin": "^2.4.0",
|
|
84
|
+
"constants-browserify": "^1.0.0",
|
|
86
85
|
"css-loader": "^6.7.1",
|
|
87
86
|
"express": "^4.17.3",
|
|
88
|
-
"fork-ts-checker-webpack-plugin": "^
|
|
87
|
+
"fork-ts-checker-webpack-plugin": "^8.0.0",
|
|
89
88
|
"fs-extra": "^11.1.0",
|
|
90
89
|
"html-webpack-plugin": "^5.5.0",
|
|
91
90
|
"path-browserify": "^1.0.1",
|
|
92
91
|
"process": "^0.11.10",
|
|
93
92
|
"semver": "^7.3.7",
|
|
94
93
|
"style-loader": "^3.3.1",
|
|
94
|
+
"swc-loader": "^0.2.3",
|
|
95
95
|
"terser-webpack-plugin": "^5.3.1",
|
|
96
96
|
"ts-dedent": "^2.0.0",
|
|
97
|
+
"url": "^0.11.0",
|
|
97
98
|
"util": "^0.12.4",
|
|
98
99
|
"util-deprecate": "^1.0.2",
|
|
99
100
|
"webpack": "5",
|
|
100
|
-
"webpack-dev-middleware": "^
|
|
101
|
+
"webpack-dev-middleware": "^6.1.1",
|
|
101
102
|
"webpack-hot-middleware": "^2.25.1",
|
|
102
|
-
"webpack-virtual-modules": "^0.
|
|
103
|
+
"webpack-virtual-modules": "^0.5.0"
|
|
103
104
|
},
|
|
104
105
|
"devDependencies": {
|
|
105
106
|
"@types/pretty-hrtime": "^1.0.0",
|
|
106
107
|
"@types/terser-webpack-plugin": "^5.2.0",
|
|
107
|
-
"@types/webpack-dev-middleware": "^5.3.0",
|
|
108
108
|
"@types/webpack-hot-middleware": "^2.25.6",
|
|
109
109
|
"@types/webpack-virtual-modules": "^0.1.1",
|
|
110
110
|
"pretty-hrtime": "^1.0.3",
|
|
@@ -131,5 +131,5 @@
|
|
|
131
131
|
],
|
|
132
132
|
"platform": "node"
|
|
133
133
|
},
|
|
134
|
-
"gitHead": "
|
|
135
|
-
}
|
|
134
|
+
"gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17"
|
|
135
|
+
}
|
package/templates/preview.ejs
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { global } from '@storybook/global';
|
|
2
2
|
|
|
3
3
|
import { ClientApi, PreviewWeb, addons, composeConfigs } from '@storybook/preview-api';
|
|
4
|
-
import {
|
|
5
|
-
import { createChannel as createWebSocketChannel } from '@storybook/channel-websocket';
|
|
4
|
+
import { createBrowserChannel } from '@storybook/channels';
|
|
6
5
|
|
|
7
6
|
import { importFn } from './{{storiesFilename}}';
|
|
8
7
|
|
|
9
8
|
const getProjectAnnotations = () =>
|
|
10
9
|
composeConfigs([{{#each previewAnnotations}}require('{{this}}'),{{/each}}]);
|
|
11
10
|
|
|
12
|
-
const channel =
|
|
11
|
+
const channel = createBrowserChannel({ page: 'preview' });
|
|
13
12
|
addons.setChannel(channel);
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
if (global.CONFIG_TYPE === 'DEVELOPMENT'){
|
|
15
|
+
window.__STORYBOOK_SERVER_CHANNEL__ = channel;
|
|
16
|
+
}
|
|
18
17
|
|
|
19
18
|
const preview = new PreviewWeb();
|
|
20
19
|
|
package/dist/chunk-GYZG6JM4.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));export{__require,__commonJS,__toESM};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{__require}from"../chunk-GYZG6JM4.mjs";import*as webpackReal from"webpack";import{logger as logger2}from"@storybook/node-logger";import deprecate from"util-deprecate";import{dedent}from"ts-dedent";import{loadCustomWebpackConfig}from"@storybook/core-webpack";import{logger}from"@storybook/node-logger";async function createDefaultWebpackConfig(storybookBaseConfig,options){if(options.presetsList?.some(preset=>/@storybook(\/|\\)preset-create-react-app/.test(typeof preset=="string"?preset:preset.name)))return storybookBaseConfig;let hasPostcssAddon=options.presetsList?.some(preset=>/@storybook(\/|\\)addon-postcss/.test(typeof preset=="string"?preset:preset.name)),cssLoaders={};hasPostcssAddon||(logger.info("=> Using implicit CSS loaders"),cssLoaders={test:/\.css$/,sideEffects:!0,use:[__require.resolve("style-loader"),{loader:__require.resolve("css-loader"),options:{importLoaders:1}}]});let isProd=storybookBaseConfig.mode!=="development";return{...storybookBaseConfig,module:{...storybookBaseConfig.module,rules:[...storybookBaseConfig.module?.rules||[],cssLoaders,{test:/\.(svg|ico|jpg|jpeg|png|apng|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,type:"asset/resource",generator:{filename:isProd?"static/media/[name].[contenthash:8][ext]":"static/media/[path][name][ext]"}},{test:/\.(mp4|webm|wav|mp3|m4a|aac|oga)(\?.*)?$/,type:"asset",parser:{dataUrlCondition:{maxSize:1e4}},generator:{filename:isProd?"static/media/[name].[contenthash:8][ext]":"static/media/[path][name][ext]"}},{resourceQuery:/raw/,type:"asset/source"}]},resolve:{...storybookBaseConfig.resolve,fallback:{crypto:!1,assert:!1,...storybookBaseConfig.resolve?.fallback}}}}async function webpack(config,options){let{configDir,configType,presets,webpackConfig}=options,coreOptions=await presets.apply("core"),defaultConfig=config;coreOptions?.disableWebpackDefaults||(defaultConfig=await createDefaultWebpackConfig(config,options));let finalDefaultConfig=await presets.apply("webpackFinal",defaultConfig,options);if(webpackConfig)return deprecate(webpackConfig,dedent`
|
|
2
|
-
You've provided a webpack config directly in CallOptions, this is not recommended. Please use presets instead. This feature will be removed in 7.0
|
|
3
|
-
`)(finalDefaultConfig);let customConfig=loadCustomWebpackConfig(configDir);return typeof customConfig=="function"?(logger2.info("=> Loading custom Webpack config (full-control mode)."),customConfig({config:finalDefaultConfig,mode:configType})):(logger2.info("=> Using default Webpack5 setup"),finalDefaultConfig)}var webpackInstance=async()=>webpackReal,webpackVersion=async()=>"5";export{webpack,webpackInstance,webpackVersion};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{__require}from"../chunk-GYZG6JM4.mjs";import{dirname,isAbsolute,join,resolve}from"path";import{DefinePlugin,HotModuleReplacementPlugin,ProgressPlugin,ProvidePlugin}from"webpack";import HtmlWebpackPlugin from"html-webpack-plugin";import CaseSensitivePathsPlugin from"case-sensitive-paths-webpack-plugin";import TerserWebpackPlugin from"terser-webpack-plugin";import VirtualModulePlugin from"webpack-virtual-modules";import ForkTsCheckerWebpackPlugin from"fork-ts-checker-webpack-plugin";function slash(path){return/^\\\\\?\\/.test(path)?path:path.replace(/\\/g,"/")}import{globals}from"@storybook/preview/globals";import{getBuilderOptions,getRendererName,stringifyProcessEnvs,handlebars,interpolate,normalizeStories,readTemplate,loadPreviewOrConfigFile,isPreservingSymlinks}from"@storybook/core-common";import{toRequireContextString,toImportFn}from"@storybook/core-webpack";import{dedent}from"ts-dedent";import{getProjectRoot}from"@storybook/core-common";var createBabelLoader=(options,typescriptOptions)=>({test:typescriptOptions.skipBabel?/\.(mjs|jsx?)$/:/\.(mjs|tsx?|jsx?)$/,use:[{loader:__require.resolve("babel-loader"),options}],include:[getProjectRoot()],exclude:/node_modules/});var wrapForPnP=input=>dirname(__require.resolve(join(input,"package.json"))),storybookPaths={global:wrapForPnP("@storybook/global"),...["api","components","global","manager-api","router","theming"].reduce((acc,sbPackage)=>({...acc,[`@storybook/${sbPackage}`]:wrapForPnP(`@storybook/${sbPackage}`)}),{}),["@storybook/api"]:wrapForPnP("@storybook/manager-api")},iframe_webpack_config_default=async options=>{let{outputDir=join(".","public"),quiet,packageJson,configType,presets,previewUrl,babelOptions,typescriptOptions,features}=options,isProd=configType==="PRODUCTION",workingDir=process.cwd(),[coreOptions,frameworkOptions,envs,logLevel,headHtmlSnippet,bodyHtmlSnippet,template,docsOptions,entries2,nonNormalizedStories,modulesCount=1e3]=await Promise.all([presets.apply("core"),presets.apply("frameworkOptions"),presets.apply("env"),presets.apply("logLevel",void 0),presets.apply("previewHead"),presets.apply("previewBody"),presets.apply("previewMainTemplate"),presets.apply("docs"),presets.apply("entries",[]),presets.apply("stories",[]),options.cache?.get("modulesCount").catch(()=>{})]),stories=normalizeStories(nonNormalizedStories,{configDir:options.configDir,workingDir}),builderOptions=await getBuilderOptions(options),previewAnnotations=[...(await presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:isAbsolute(entry)?entry:slash(entry)),loadPreviewOrConfigFile(options)].filter(Boolean),virtualModuleMapping={};if(features?.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=resolve(join(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModuleMapping[storiesPath]=toImportFn(stories,{needPipelinedImport});let configEntryPath=resolve(join(workingDir,"storybook-config-entry.js"));virtualModuleMapping[configEntryPath]=handlebars(await readTemplate(__require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries2.push(configEntryPath)}else{let rendererName=await getRendererName(options),rendererInitEntry=resolve(join(workingDir,"storybook-init-renderer-entry.js"));virtualModuleMapping[rendererInitEntry]=`import '${rendererName}';`,entries2.push(rendererInitEntry);let entryTemplate=await readTemplate(join(__dirname,"..","..","templates","virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModuleMapping[entryFilename]=interpolate(entryTemplate,{previewAnnotationFilename}),entries2.push(entryFilename)}),stories.length>0){let storyTemplate=await readTemplate(join(__dirname,"..","..","templates","virtualModuleStory.template.js")),storiesFilename=resolve(join(workingDir,"generated-stories-entry.cjs"));virtualModuleMapping[storiesFilename]=interpolate(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(toRequireContextString).join(",")),entries2.push(storiesFilename)}}let shouldCheckTs=typescriptOptions.check&&!typescriptOptions.skipBabel,tsCheckOptions=typescriptOptions.checkOptions||{},cacheConfig=builderOptions.fsCache?{cache:{type:"filesystem"}}:{},lazyCompilationConfig=builderOptions.lazyCompilation&&!isProd?{lazyCompilation:{entries:!1}}:{};if(!template)throw new Error(dedent`
|
|
2
|
-
Storybook's Webpack5 builder requires a template to be specified.
|
|
3
|
-
Somehow you've ended up with a falsy value for the template option.
|
|
4
|
-
|
|
5
|
-
Please file an issue at https://github.com/storybookjs/storybook with a reproduction.
|
|
6
|
-
`);return{name:"preview",mode:isProd?"production":"development",bail:isProd,devtool:"cheap-module-source-map",entry:entries2,output:{path:resolve(process.cwd(),outputDir),filename:isProd?"[name].[contenthash:8].iframe.bundle.js":"[name].iframe.bundle.js",publicPath:""},stats:{preset:"none",logging:"error"},watchOptions:{ignored:/node_modules/},externals:globals,ignoreWarnings:[{message:/export '\S+' was not found in 'global'/},{message:/export '\S+' was not found in '@storybook\/global'/}],plugins:[Object.keys(virtualModuleMapping).length>0?new VirtualModulePlugin(virtualModuleMapping):null,new HtmlWebpackPlugin({filename:"iframe.html",chunksSortMode:"none",alwaysWriteToDisk:!0,inject:!1,template,templateParameters:{version:packageJson.version,globals:{CONFIG_TYPE:configType,LOGLEVEL:logLevel,FRAMEWORK_OPTIONS:frameworkOptions,CHANNEL_OPTIONS:coreOptions.channelOptions,FEATURES:features,PREVIEW_URL:previewUrl,STORIES:stories.map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source})),DOCS_OPTIONS:docsOptions},headHtmlSnippet,bodyHtmlSnippet},minify:{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!0,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!0,useShortDoctype:!0}}),new DefinePlugin({...stringifyProcessEnvs(envs),NODE_ENV:JSON.stringify(process.env.NODE_ENV)}),new ProvidePlugin({process:__require.resolve("process/browser.js")}),isProd?null:new HotModuleReplacementPlugin,new CaseSensitivePathsPlugin,quiet?null:new ProgressPlugin({modulesCount}),shouldCheckTs?new ForkTsCheckerWebpackPlugin(tsCheckOptions):null].filter(Boolean),module:{rules:[{test:/\.m?js$/,type:"javascript/auto"},{test:/\.m?js$/,resolve:{fullySpecified:!1}},createBabelLoader(babelOptions,typescriptOptions),{test:/\.md$/,type:"asset/source"}]},resolve:{extensions:[".mjs",".js",".jsx",".ts",".tsx",".json",".cjs"],modules:["node_modules"].concat(envs.NODE_PATH||[]),mainFields:["browser","module","main"].filter(Boolean),alias:storybookPaths,fallback:{path:__require.resolve("path-browserify"),assert:__require.resolve("browser-assert"),util:__require.resolve("util")},symlinks:!isPreservingSymlinks()},optimization:{splitChunks:{chunks:"all"},runtimeChunk:!0,sideEffects:!0,usedExports:isProd,moduleIds:"named",minimizer:isProd?[new TerserWebpackPlugin({parallel:!0,terserOptions:{sourceMap:!0,mangle:!1,keep_fnames:!0}})]:[]},performance:{hints:isProd?"warning":!1},...cacheConfig,experiments:{...lazyCompilationConfig}}};var webpack=async(_,options)=>iframe_webpack_config_default(options),entries=async(_,options)=>{let result=[];return options.configType==="DEVELOPMENT"&&(result=result.concat(`${__require.resolve("webpack-hot-middleware/client")}?reload=true&quiet=false&noInfo=${options.quiet}`)),result},babel=async(config,options)=>({...config,overrides:[...config?.overrides||[],{test:/\.(story|stories).*$/,plugins:[__require.resolve("babel-plugin-named-exports-order")]}]}),previewMainTemplate=()=>__require.resolve("@storybook/builder-webpack5/templates/preview.ejs");export{babel,entries,previewMainTemplate,webpack};
|