@storybook/web-components-vite 0.0.0-pr-22285-sha-d07bfc52 → 0.0.0-pr-23626-sha-e84041f2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 interface DirectoryLocations {
87
- [directoryType: string]: unknown;
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
- Conditions which provide a way to resolve a package entry point based on the environment.
301
+ A mapping of conditions and the paths to which they resolve.
269
302
  */
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};
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]: string | {[key in ExportCondition]: Exports};
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 interface TypeScriptConfiguration {
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 Yarn workspaces.
374
+ An alternative configuration for workspaces.
353
375
  */
354
- export interface WorkspaceConfig {
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
- [Read more](https://classic.yarnpkg.com/blog/2018/02/15/nohoist/)
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 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
-
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 interface JSPMConfiguration {
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?: Record<string, unknown>;
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
- export interface PublishConfig {
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]: unknown;
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,16 +756,23 @@ 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 &
719
764
  PackageJson$1.YarnConfiguration &
720
765
  PackageJson$1.JSPMConfiguration;
766
+
767
+ type StoryId = string;
768
+ type ComponentTitle = string;
769
+ type StoryName = string;
721
770
  type Tag = string;
722
771
  interface Parameters {
723
772
  [name: string]: any;
724
773
  }
725
774
 
775
+ type ExportKey = string;
726
776
  interface StoriesSpecifier {
727
777
  /**
728
778
  * When auto-titling, what to prefix all generated titles with (default: '')
@@ -756,10 +806,64 @@ interface IndexedCSFFile {
756
806
  };
757
807
  stories: IndexedStory[];
758
808
  }
759
- interface StoryIndexer {
809
+ /**
810
+ * FIXME: This is a temporary type to allow us to deprecate the old indexer API.
811
+ * We should remove this type and the deprecated indexer API in 8.0.
812
+ */
813
+ type BaseIndexer = {
814
+ /**
815
+ * A regular expression that should match all files to be handled by this indexer
816
+ */
760
817
  test: RegExp;
818
+ };
819
+ /**
820
+ * An indexer describes which filenames it handles, and how to index each individual file - turning it into an entry in the index.
821
+ */
822
+ type Indexer = BaseIndexer & {
823
+ /**
824
+ * Indexes a file containing stories or docs.
825
+ * @param fileName The name of the file to index.
826
+ * @param options {@link IndexerOptions} for indexing the file.
827
+ * @returns A promise that resolves to an array of {@link IndexInput} objects.
828
+ */
829
+ index: (fileName: string, options: IndexerOptions) => Promise<IndexInput[]>;
830
+ /**
831
+ * @deprecated Use {@link index} instead
832
+ */
833
+ indexer?: never;
834
+ };
835
+ type DeprecatedIndexer = BaseIndexer & {
761
836
  indexer: (fileName: string, options: IndexerOptions) => Promise<IndexedCSFFile>;
837
+ index?: never;
838
+ };
839
+ /**
840
+ * @deprecated Use {@link Indexer} instead
841
+ */
842
+ type StoryIndexer = Indexer | DeprecatedIndexer;
843
+ interface BaseIndexInput {
844
+ /** the file to import from e.g. the story file */
845
+ importPath: Path;
846
+ /** the key to import from the file e.g. the story export for this entry */
847
+ key: ExportKey;
848
+ /** the location in the sidebar, auto-generated from {@link importPath} if unspecified */
849
+ title?: ComponentTitle;
850
+ /** the name of the story, auto-generated from {@link key} if unspecified */
851
+ name?: StoryName;
852
+ /** the unique story ID, auto-generated from {@link title} and {@link name} if unspecified */
853
+ id?: StoryId;
854
+ /** tags for filtering entries in Storybook and its tools */
855
+ tags?: Tag[];
762
856
  }
857
+ type StoryIndexInput = BaseIndexInput & {
858
+ type: 'story';
859
+ };
860
+ type DocsIndexInput = BaseIndexInput & {
861
+ type: 'docs';
862
+ /** paths to story files that must be pre-loaded for this docs entry */
863
+ storiesImports?: Path[];
864
+ };
865
+ type IndexInput = StoryIndexInput | DocsIndexInput;
866
+ type Path = string;
763
867
 
764
868
  interface Options$1 {
765
869
  allowRegExp: boolean;
@@ -925,7 +1029,6 @@ type CoreCommon_StorybookRefs = Record<string, {
925
1029
  url: string;
926
1030
  } | {
927
1031
  disable: boolean;
928
- expanded?: boolean;
929
1032
  }>;
930
1033
  type DocsOptions = {
931
1034
  /**
@@ -1035,8 +1138,13 @@ interface StorybookConfig$1 {
1035
1138
  previewAnnotations?: PresetValue<Entry[]>;
1036
1139
  /**
1037
1140
  * Process CSF files for the story index.
1141
+ * @deprecated use {@link indexers} instead
1038
1142
  */
1039
1143
  storyIndexers?: PresetValue<StoryIndexer[]>;
1144
+ /**
1145
+ * Process CSF files for the story index.
1146
+ */
1147
+ indexers?: PresetValue<Indexer[]>;
1040
1148
  /**
1041
1149
  * Docs related features in index generation
1042
1150
  */
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { F as FrameworkOptions, S as StorybookConfig } from './index-94feb90a.js';
1
+ export { F as FrameworkOptions, S as StorybookConfig } from './index-61dfd319.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-94feb90a.js';
1
+ import { P as PresetProperty, S as StorybookConfig } from './index-61dfd319.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-22285-sha-d07bfc52",
3
+ "version": "0.0.0-pr-23626-sha-e84041f2",
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-22285-sha-d07bfc52",
51
- "@storybook/core-server": "0.0.0-pr-22285-sha-d07bfc52",
52
- "@storybook/node-logger": "0.0.0-pr-22285-sha-d07bfc52",
53
- "@storybook/web-components": "0.0.0-pr-22285-sha-d07bfc52",
50
+ "@storybook/builder-vite": "0.0.0-pr-23626-sha-e84041f2",
51
+ "@storybook/core-server": "0.0.0-pr-23626-sha-e84041f2",
52
+ "@storybook/node-logger": "0.0.0-pr-23626-sha-e84041f2",
53
+ "@storybook/web-components": "0.0.0-pr-23626-sha-e84041f2",
54
54
  "magic-string": "^0.30.0"
55
55
  },
56
56
  "devDependencies": {