@storybook/web-components-vite 0.0.0-pr-23611-sha-0c8cd76e → 0.0.0-pr-23691-sha-8f3fbd86

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.
@@ -17,40 +17,7 @@ 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
-
52
20
  declare global {
53
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
54
21
  interface SymbolConstructor {
55
22
  readonly observable: symbol;
56
23
  }
@@ -116,8 +83,8 @@ declare namespace PackageJson$1 {
116
83
  email?: string;
117
84
  };
118
85
 
119
- export type DirectoryLocations = {
120
- [directoryType: string]: JsonValue | undefined;
86
+ export interface DirectoryLocations {
87
+ [directoryType: string]: unknown;
121
88
 
122
89
  /**
123
90
  Location for executable scripts. Sugar to generate entries in the `bin` property by walking the folder.
@@ -148,7 +115,7 @@ declare namespace PackageJson$1 {
148
115
  Location for test files.
149
116
  */
150
117
  test?: string;
151
- };
118
+ }
152
119
 
153
120
  export type Scripts = {
154
121
  /**
@@ -298,11 +265,22 @@ declare namespace PackageJson$1 {
298
265
  export type Dependency = Partial<Record<string, string>>;
299
266
 
300
267
  /**
301
- A mapping of conditions and the paths to which they resolve.
268
+ Conditions which provide a way to resolve a package entry point based on the environment.
302
269
  */
303
- type ExportConditions = { // eslint-disable-line @typescript-eslint/consistent-indexed-object-style
304
- [condition: string]: Exports;
305
- };
270
+ export type ExportCondition = LiteralUnion<
271
+ | 'import'
272
+ | 'require'
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};
306
284
 
307
285
  /**
308
286
  Entry points of a module, optionally with conditions and subpath exports.
@@ -311,16 +289,16 @@ declare namespace PackageJson$1 {
311
289
  | null
312
290
  | string
313
291
  | Array<string | ExportConditions>
314
- | ExportConditions;
292
+ | ExportConditions
293
+ | {[path: string]: Exports}; // eslint-disable-line @typescript-eslint/consistent-indexed-object-style
315
294
 
316
295
  /**
317
- Import map entries of a module, optionally with conditions and subpath imports.
296
+ Import map entries of a module, optionally with conditions.
318
297
  */
319
298
  export type Imports = { // eslint-disable-line @typescript-eslint/consistent-indexed-object-style
320
- [key: `#${string}`]: Exports;
299
+ [key: string]: string | {[key in ExportCondition]: Exports};
321
300
  };
322
301
 
323
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
324
302
  export interface NonStandardEntryPoints {
325
303
  /**
326
304
  An ECMAScript module ID that is the primary entry point to the program.
@@ -353,7 +331,7 @@ declare namespace PackageJson$1 {
353
331
  sideEffects?: boolean | string[];
354
332
  }
355
333
 
356
- export type TypeScriptConfiguration = {
334
+ export interface TypeScriptConfiguration {
357
335
  /**
358
336
  Location of the bundled TypeScript declaration file.
359
337
  */
@@ -368,12 +346,12 @@ declare namespace PackageJson$1 {
368
346
  Location of the bundled TypeScript declaration file. Alias of `types`.
369
347
  */
370
348
  typings?: string;
371
- };
349
+ }
372
350
 
373
351
  /**
374
- An alternative configuration for workspaces.
352
+ An alternative configuration for Yarn workspaces.
375
353
  */
376
- export type WorkspaceConfig = {
354
+ export interface WorkspaceConfig {
377
355
  /**
378
356
  An array of workspace pattern strings which contain the workspace packages.
379
357
  */
@@ -382,11 +360,10 @@ declare namespace PackageJson$1 {
382
360
  /**
383
361
  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.
384
362
 
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.
363
+ [Read more](https://classic.yarnpkg.com/blog/2018/02/15/nohoist/)
387
364
  */
388
365
  nohoist?: WorkspacePattern[];
389
- };
366
+ }
390
367
 
391
368
  /**
392
369
  A workspace pattern points to a directory or group of directories which contain packages that should be included in the workspace installation process.
@@ -399,7 +376,16 @@ declare namespace PackageJson$1 {
399
376
  */
400
377
  type WorkspacePattern = string;
401
378
 
402
- export type YarnConfiguration = {
379
+ export interface YarnConfiguration {
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
+
403
389
  /**
404
390
  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`.
405
391
 
@@ -411,19 +397,18 @@ declare namespace PackageJson$1 {
411
397
  Selective version resolutions. Allows the definition of custom package versions inside dependencies without manual edits in the `yarn.lock` file.
412
398
  */
413
399
  resolutions?: Dependency;
414
- };
400
+ }
415
401
 
416
- export type JSPMConfiguration = {
402
+ export interface JSPMConfiguration {
417
403
  /**
418
404
  JSPM configuration.
419
405
  */
420
406
  jspm?: PackageJson$1;
421
- };
407
+ }
422
408
 
423
409
  /**
424
410
  Type for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-json-file). Containing standard npm properties.
425
411
  */
426
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
427
412
  export interface PackageJsonStandard {
428
413
  /**
429
414
  The name of the package.
@@ -553,7 +538,7 @@ declare namespace PackageJson$1 {
553
538
  /**
554
539
  Is used to set configuration parameters used in package scripts that persist across upgrades.
555
540
  */
556
- config?: JsonObject;
541
+ config?: Record<string, unknown>;
557
542
 
558
543
  /**
559
544
  The dependencies of the package.
@@ -594,7 +579,7 @@ declare namespace PackageJson$1 {
594
579
  Engines that this package runs on.
595
580
  */
596
581
  engines?: {
597
- [EngineName in 'npm' | 'node' | string]?: string; // eslint-disable-line @typescript-eslint/no-redundant-type-constituents
582
+ [EngineName in 'npm' | 'node' | string]?: string;
598
583
  };
599
584
 
600
585
  /**
@@ -693,41 +678,13 @@ declare namespace PackageJson$1 {
693
678
  */
694
679
  url: string;
695
680
  };
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;
705
681
  }
706
682
 
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 = {
683
+ export interface PublishConfig {
727
684
  /**
728
685
  Additional, less common properties from the [npm docs on `publishConfig`](https://docs.npmjs.com/cli/v7/configuring-npm/package-json#publishconfig).
729
686
  */
730
- [additionalProperties: string]: JsonValue | undefined;
687
+ [additionalProperties: string]: unknown;
731
688
 
732
689
  /**
733
690
  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.
@@ -747,7 +704,7 @@ declare namespace PackageJson$1 {
747
704
  Default: `'latest'`
748
705
  */
749
706
  tag?: string;
750
- };
707
+ }
751
708
  }
752
709
 
753
710
  /**
@@ -756,18 +713,22 @@ Type for [npm's `package.json` file](https://docs.npmjs.com/creating-a-package-j
756
713
  @category File
757
714
  */
758
715
  type PackageJson$1 =
759
- JsonObject &
760
- PackageJson$1.NodeJsStandard &
761
716
  PackageJson$1.PackageJsonStandard &
762
717
  PackageJson$1.NonStandardEntryPoints &
763
718
  PackageJson$1.TypeScriptConfiguration &
764
719
  PackageJson$1.YarnConfiguration &
765
720
  PackageJson$1.JSPMConfiguration;
721
+
722
+ type StoryId = string;
723
+ type ComponentTitle = string;
724
+ type StoryName = string;
766
725
  type Tag = string;
767
726
  interface Parameters {
768
727
  [name: string]: any;
769
728
  }
770
729
 
730
+ type ExportName = string;
731
+ type MetaId = string;
771
732
  interface StoriesSpecifier {
772
733
  /**
773
734
  * When auto-titling, what to prefix all generated titles with (default: '')
@@ -796,15 +757,89 @@ interface IndexedStory {
796
757
  }
797
758
  interface IndexedCSFFile {
798
759
  meta: {
760
+ id?: string;
799
761
  title?: string;
800
762
  tags?: Tag[];
801
763
  };
802
764
  stories: IndexedStory[];
803
765
  }
804
- interface StoryIndexer {
766
+ /**
767
+ * FIXME: This is a temporary type to allow us to deprecate the old indexer API.
768
+ * We should remove this type and the deprecated indexer API in 8.0.
769
+ */
770
+ type BaseIndexer = {
771
+ /**
772
+ * A regular expression that should match all files to be handled by this indexer
773
+ */
805
774
  test: RegExp;
775
+ };
776
+ /**
777
+ * An indexer describes which filenames it handles, and how to index each individual file - turning it into an entry in the index.
778
+ */
779
+ type Indexer = BaseIndexer & {
780
+ /**
781
+ * Indexes a file containing stories or docs.
782
+ * @param fileName The name of the file to index.
783
+ * @param options {@link IndexerOptions} for indexing the file.
784
+ * @returns A promise that resolves to an array of {@link IndexInput} objects.
785
+ */
786
+ index: (fileName: string, options: IndexerOptions) => Promise<IndexInput[]>;
787
+ /**
788
+ * @soonDeprecated Use {@link index} instead
789
+ */
790
+ indexer?: never;
791
+ };
792
+ type DeprecatedIndexer = BaseIndexer & {
806
793
  indexer: (fileName: string, options: IndexerOptions) => Promise<IndexedCSFFile>;
807
- }
794
+ index?: never;
795
+ };
796
+ /**
797
+ * @soonDeprecated Use {@link Indexer} instead
798
+ */
799
+ type StoryIndexer = Indexer | DeprecatedIndexer;
800
+ /**
801
+ * The base input for indexing a story or docs entry.
802
+ */
803
+ type BaseIndexInput = {
804
+ /** The file to import from e.g. the story file. */
805
+ importPath: Path;
806
+ /** The name of the export to import. */
807
+ exportName: ExportName;
808
+ /** The name of the entry, auto-generated from {@link exportName} if unspecified. */
809
+ name?: StoryName;
810
+ /** The location in the sidebar, auto-generated from {@link importPath} if unspecified. */
811
+ title?: ComponentTitle;
812
+ /**
813
+ * The custom id optionally set at `meta.id` if it needs to differ from the id generated via {@link title}.
814
+ * If unspecified, the meta id will be auto-generated from {@link title}.
815
+ * If specified, the meta in the CSF file _must_ have a matching id set at `meta.id`, to be correctly matched.
816
+ */
817
+ metaId?: MetaId;
818
+ /** Tags for filtering entries in Storybook and its tools. */
819
+ tags?: Tag[];
820
+ /**
821
+ * The id of the entry, auto-generated from {@link title}/{@link metaId} and {@link exportName} if unspecified.
822
+ * If specified, the story in the CSF file _must_ have a matching id set at `parameters.__id`, to be correctly matched.
823
+ * Only use this if you need to override the auto-generated id.
824
+ */
825
+ __id?: StoryId;
826
+ };
827
+ /**
828
+ * The input for indexing a story entry.
829
+ */
830
+ type StoryIndexInput = BaseIndexInput & {
831
+ type: 'story';
832
+ };
833
+ /**
834
+ * The input for indexing a docs entry.
835
+ */
836
+ type DocsIndexInput = BaseIndexInput & {
837
+ type: 'docs';
838
+ /** Paths to story files that must be pre-loaded for this docs entry. */
839
+ storiesImports?: Path[];
840
+ };
841
+ type IndexInput = StoryIndexInput | DocsIndexInput;
842
+ type Path = string;
808
843
 
809
844
  interface Options$1 {
810
845
  allowRegExp: boolean;
@@ -970,6 +1005,7 @@ type CoreCommon_StorybookRefs = Record<string, {
970
1005
  url: string;
971
1006
  } | {
972
1007
  disable: boolean;
1008
+ expanded?: boolean;
973
1009
  }>;
974
1010
  type DocsOptions = {
975
1011
  /**
@@ -1079,8 +1115,13 @@ interface StorybookConfig$1 {
1079
1115
  previewAnnotations?: PresetValue<Entry[]>;
1080
1116
  /**
1081
1117
  * Process CSF files for the story index.
1118
+ * @soonDeprecated use {@link experimental_indexers} instead
1082
1119
  */
1083
1120
  storyIndexers?: PresetValue<StoryIndexer[]>;
1121
+ /**
1122
+ * Process CSF files for the story index.
1123
+ */
1124
+ experimental_indexers?: PresetValue<Indexer[]>;
1084
1125
  /**
1085
1126
  * Docs related features in index generation
1086
1127
  */
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { F as FrameworkOptions, S as StorybookConfig } from './index-a3e09159.js';
1
+ export { F as FrameworkOptions, S as StorybookConfig } from './index-7df79e8e.js';
2
2
  import 'file-system-cache';
3
3
  import '@babel/core';
4
4
  import 'http';
package/dist/preset.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { P as PresetProperty, S as StorybookConfig } from './index-a3e09159.js';
1
+ import { P as PresetProperty, S as StorybookConfig } from './index-7df79e8e.js';
2
2
  import 'file-system-cache';
3
3
  import '@babel/core';
4
4
  import 'http';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/web-components-vite",
3
- "version": "0.0.0-pr-23611-sha-0c8cd76e",
3
+ "version": "0.0.0-pr-23691-sha-8f3fbd86",
4
4
  "description": "Storybook for web-components and Vite: Develop Web Components in isolation with Hot Reloading.",
5
5
  "keywords": [
6
6
  "storybook"
@@ -47,10 +47,10 @@
47
47
  "prep": "../../../scripts/prepare/bundle.ts"
48
48
  },
49
49
  "dependencies": {
50
- "@storybook/builder-vite": "0.0.0-pr-23611-sha-0c8cd76e",
51
- "@storybook/core-server": "0.0.0-pr-23611-sha-0c8cd76e",
52
- "@storybook/node-logger": "0.0.0-pr-23611-sha-0c8cd76e",
53
- "@storybook/web-components": "0.0.0-pr-23611-sha-0c8cd76e",
50
+ "@storybook/builder-vite": "0.0.0-pr-23691-sha-8f3fbd86",
51
+ "@storybook/core-server": "0.0.0-pr-23691-sha-8f3fbd86",
52
+ "@storybook/node-logger": "0.0.0-pr-23691-sha-8f3fbd86",
53
+ "@storybook/web-components": "0.0.0-pr-23691-sha-8f3fbd86",
54
54
  "magic-string": "^0.30.0"
55
55
  },
56
56
  "devDependencies": {