@storybook/angular 6.4.0-alpha.9 → 6.4.0-beta.11
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/ts3.4/builders/build-storybook/index.d.ts +2 -1
- package/dist/ts3.4/builders/start-storybook/index.d.ts +2 -1
- package/dist/ts3.4/builders/utils/build-standalone-errors-handler.d.ts +1 -0
- package/dist/ts3.4/client/preview/angular/helpers.d.ts +3 -3
- package/dist/ts3.4/client/preview/angular-beta/AbstractRenderer.d.ts +3 -1
- package/dist/ts3.4/client/preview/angular-beta/CanvasRenderer.d.ts +1 -0
- package/dist/ts3.4/client/preview/angular-beta/DocsRenderer.d.ts +1 -0
- package/dist/ts3.4/client/preview/angular-beta/RendererFactory.d.ts +1 -1
- package/dist/ts3.4/client/preview/angular-beta/StorybookModule.d.ts +2 -3
- package/dist/ts3.4/client/preview/config.d.ts +4 -0
- package/dist/ts3.4/client/preview/decorateStory.d.ts +3 -3
- package/dist/ts3.4/client/preview/decorators.d.ts +5 -4
- package/dist/ts3.4/client/preview/index.d.ts +3 -2
- package/dist/ts3.4/client/preview/render.d.ts +5 -11
- package/dist/ts3.4/client/preview/types-6-0.d.ts +25 -9
- package/dist/ts3.4/client/preview/types-7-0.d.ts +9 -0
- package/dist/ts3.4/client/preview/types.d.ts +2 -1
- package/dist/ts3.4/renderer.d.ts +0 -1
- package/dist/ts3.4/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.d.ts +1 -0
- package/dist/ts3.4/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.d.ts +1 -0
- package/dist/ts3.4/server/__mocks-ng-workspace__/without-tsConfig/src/main.d.ts +1 -0
- package/dist/ts3.4/server/angular-devkit-build-webpack.d.ts +1 -1
- package/dist/ts3.4/server/framework-preset-angular-cli.d.ts +1 -0
- package/dist/ts3.9/builders/build-storybook/index.d.ts +2 -1
- package/dist/ts3.9/builders/build-storybook/index.js +35 -16
- package/dist/ts3.9/builders/build-storybook/schema.json +14 -2
- package/dist/ts3.9/builders/start-storybook/index.d.ts +2 -1
- package/dist/ts3.9/builders/start-storybook/index.js +35 -16
- package/dist/ts3.9/builders/start-storybook/schema.json +14 -2
- package/dist/ts3.9/builders/utils/build-standalone-errors-handler.d.ts +1 -0
- package/dist/ts3.9/builders/utils/build-standalone-errors-handler.js +36 -0
- package/dist/ts3.9/client/preview/angular/helpers.d.ts +3 -3
- package/dist/ts3.9/client/preview/angular-beta/AbstractRenderer.d.ts +3 -1
- package/dist/ts3.9/client/preview/angular-beta/AbstractRenderer.js +5 -3
- package/dist/ts3.9/client/preview/angular-beta/CanvasRenderer.d.ts +1 -0
- package/dist/ts3.9/client/preview/angular-beta/ComputesTemplateFromComponent.js +3 -1
- package/dist/ts3.9/client/preview/angular-beta/DocsRenderer.d.ts +1 -0
- package/dist/ts3.9/client/preview/angular-beta/RendererFactory.d.ts +1 -1
- package/dist/ts3.9/client/preview/angular-beta/RendererFactory.js +6 -0
- package/dist/ts3.9/client/preview/angular-beta/StorybookModule.d.ts +2 -3
- package/dist/ts3.9/client/preview/angular-beta/StorybookModule.js +2 -2
- package/dist/ts3.9/client/preview/angular-beta/utils/NgComponentAnalyzer.js +14 -2
- package/dist/ts3.9/client/preview/config.d.ts +4 -0
- package/dist/ts3.9/client/preview/config.js +7 -0
- package/dist/ts3.9/client/preview/decorateStory.d.ts +3 -3
- package/dist/ts3.9/client/preview/decorateStory.js +7 -28
- package/dist/ts3.9/client/preview/decorators.d.ts +5 -4
- package/dist/ts3.9/client/preview/decorators.js +2 -0
- package/dist/ts3.9/client/preview/index.d.ts +3 -2
- package/dist/ts3.9/client/preview/index.js +2 -3
- package/dist/ts3.9/client/preview/render.d.ts +5 -11
- package/dist/ts3.9/client/preview/render.js +10 -9
- package/dist/ts3.9/client/preview/types-6-0.d.ts +25 -9
- package/dist/ts3.9/client/preview/types-7-0.d.ts +9 -0
- package/dist/ts3.9/client/preview/types-7-0.js +2 -0
- package/dist/ts3.9/client/preview/types.d.ts +2 -1
- package/dist/ts3.9/renderer.d.ts +0 -1
- package/dist/ts3.9/renderer.js +0 -2
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-angularBrowserTarget/angular.json +32 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/angular.json +28 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.d.ts +1 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.js +5 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/tsconfig.lib.json +25 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/tsconfig.json +13 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.d.ts +1 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.js +5 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/tsconfig.lib.json +25 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/tsconfig.json +13 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/angular.json +16 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/main.d.ts +1 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/main.js +5 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/tsconfig.app.json +9 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/tsconfig.json +13 -0
- package/dist/ts3.9/server/angular-devkit-build-webpack.d.ts +1 -1
- package/dist/ts3.9/server/angular-devkit-build-webpack.js +20 -10
- package/dist/ts3.9/server/build.js +58 -1
- package/dist/ts3.9/server/framework-preset-angular-cli.d.ts +1 -0
- package/dist/ts3.9/server/framework-preset-angular-cli.js +23 -13
- package/package.json +13 -10
- package/preset.js +7 -0
- package/standalone.d.ts +2 -1
- package/dist/ts3.4/client/preview/angular-beta/ElementRendererService.d.ts +0 -17
- package/dist/ts3.4/client/preview/angular-beta/RendererService.d.ts +0 -35
- package/dist/ts3.4/element-renderer.d.ts +0 -1
- package/dist/ts3.9/client/preview/angular-beta/ElementRendererService.d.ts +0 -17
- package/dist/ts3.9/client/preview/angular-beta/ElementRendererService.js +0 -115
- package/dist/ts3.9/client/preview/angular-beta/RendererService.d.ts +0 -35
- package/dist/ts3.9/client/preview/angular-beta/RendererService.js +0 -170
- package/dist/ts3.9/element-renderer.d.ts +0 -1
- package/dist/ts3.9/element-renderer.js +0 -4
- package/element-renderer.d.ts +0 -1
- package/element-renderer.js +0 -1
|
@@ -2,7 +2,8 @@ import { BuilderOutput } from '@angular-devkit/architect';
|
|
|
2
2
|
import { JsonObject } from '@angular-devkit/core';
|
|
3
3
|
import { CLIOptions } from '@storybook/core-common';
|
|
4
4
|
export declare type StorybookBuilderOptions = JsonObject & {
|
|
5
|
-
browserTarget
|
|
5
|
+
browserTarget?: string | null;
|
|
6
|
+
tsConfig?: string;
|
|
6
7
|
compodoc: boolean;
|
|
7
8
|
compodocArgs: string[];
|
|
8
9
|
} & Pick<CLIOptions, 'staticDir' | 'outputDir' | 'configDir' | 'loglevel' | 'quiet' | 'docs'>;
|
|
@@ -2,7 +2,8 @@ import { BuilderOutput } from '@angular-devkit/architect';
|
|
|
2
2
|
import { JsonObject } from '@angular-devkit/core';
|
|
3
3
|
import { CLIOptions } from '@storybook/core-common';
|
|
4
4
|
export declare type StorybookBuilderOptions = JsonObject & {
|
|
5
|
-
browserTarget
|
|
5
|
+
browserTarget?: string | null;
|
|
6
|
+
tsConfig?: string;
|
|
6
7
|
compodoc: boolean;
|
|
7
8
|
compodocArgs: string[];
|
|
8
9
|
} & Pick<CLIOptions, 'port' | 'host' | 'staticDir' | 'configDir' | 'https' | 'sslCa' | 'sslCert' | 'sslKey' | 'smokeTest' | 'ci' | 'quiet' | 'docs'>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const buildStandaloneErrorHandler: (error: any) => any;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { PartialStoryFn } from '@storybook/csf';
|
|
2
|
+
import { AngularFramework } from '../types-6-0';
|
|
3
3
|
declare global {
|
|
4
4
|
interface Window {
|
|
5
5
|
NODE_ENV: 'string' | 'development' | undefined;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
export declare const renderNgApp: (storyFn:
|
|
8
|
+
export declare const renderNgApp: (storyFn: PartialStoryFn<AngularFramework>, forced: boolean) => void;
|
|
@@ -28,11 +28,13 @@ export declare abstract class AbstractRenderer {
|
|
|
28
28
|
* @param forced {boolean} If :
|
|
29
29
|
* - true render will only use the StoryFn `props' in storyProps observable that will update sotry's component/template properties. Improves performance without reloading the whole module&component if props changes
|
|
30
30
|
* - false fully recharges or initializes angular module & component
|
|
31
|
+
* @param component {Component}
|
|
31
32
|
* @param parameters {Parameters}
|
|
32
33
|
*/
|
|
33
|
-
render({ storyFnAngular, forced, parameters, targetDOMNode, }: {
|
|
34
|
+
render({ storyFnAngular, forced, parameters, component, targetDOMNode, }: {
|
|
34
35
|
storyFnAngular: StoryFnAngularReturnType;
|
|
35
36
|
forced: boolean;
|
|
37
|
+
component?: any;
|
|
36
38
|
parameters: Parameters;
|
|
37
39
|
targetDOMNode: HTMLElement;
|
|
38
40
|
}): Promise<void>;
|
|
@@ -3,7 +3,7 @@ declare type RenderType = 'canvas' | 'docs';
|
|
|
3
3
|
export declare class RendererFactory {
|
|
4
4
|
private lastRenderType;
|
|
5
5
|
private rendererMap;
|
|
6
|
-
getRendererInstance(storyId: string, targetDOMNode: HTMLElement): Promise<AbstractRenderer>;
|
|
6
|
+
getRendererInstance(storyId: string, targetDOMNode: HTMLElement): Promise<AbstractRenderer | null>;
|
|
7
7
|
private buildRenderer;
|
|
8
8
|
}
|
|
9
9
|
export declare const getRenderType: (targetDOMNode: HTMLElement) => RenderType;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { NgModule, Type } from '@angular/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { ICollection, StoryFnAngularReturnType } from '../types';
|
|
4
|
-
|
|
5
|
-
export declare const getStorybookModuleMetadata: ({ storyFnAngular, parameters, targetSelector, }: {
|
|
4
|
+
export declare const getStorybookModuleMetadata: ({ storyFnAngular, component: annotatedComponent, targetSelector, }: {
|
|
6
5
|
storyFnAngular: StoryFnAngularReturnType;
|
|
7
|
-
|
|
6
|
+
component?: any;
|
|
8
7
|
targetSelector: string;
|
|
9
8
|
}, storyProps$: Subject<ICollection>) => NgModule;
|
|
10
9
|
export declare const createStorybookModule: (ngModule: NgModule) => Type<unknown>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DecoratorFunction,
|
|
2
|
-
import {
|
|
3
|
-
export default function decorateStory(mainStoryFn:
|
|
1
|
+
import { DecoratorFunction, LegacyStoryFn } from '@storybook/csf';
|
|
2
|
+
import { AngularFramework } from './types-6-0';
|
|
3
|
+
export default function decorateStory(mainStoryFn: LegacyStoryFn<AngularFramework>, decorators: DecoratorFunction<AngularFramework>[]): LegacyStoryFn<AngularFramework>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Type } from '@angular/core';
|
|
2
|
-
import { DecoratorFunction, StoryContext } from '@storybook/
|
|
3
|
-
import { ICollection, NgModuleMetadata
|
|
4
|
-
|
|
5
|
-
export declare const
|
|
2
|
+
import { DecoratorFunction, StoryContext } from '@storybook/csf';
|
|
3
|
+
import { ICollection, NgModuleMetadata } from './types';
|
|
4
|
+
import { AngularFramework } from './types-6-0';
|
|
5
|
+
export declare const moduleMetadata: <TArgs = any>(metadata: Partial<NgModuleMetadata>) => DecoratorFunction<AngularFramework, TArgs>;
|
|
6
|
+
export declare const componentWrapperDecorator: <TArgs = any>(element: Type<unknown> | ((story: string) => string), props?: ICollection | ((storyContext: StoryContext<AngularFramework, TArgs>) => ICollection)) => DecoratorFunction<AngularFramework, TArgs>;
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { ClientStoryApi, Loadable } from '@storybook/addons';
|
|
4
4
|
import './globals';
|
|
5
|
-
import { IStorybookSection
|
|
6
|
-
|
|
5
|
+
import { IStorybookSection } from './types';
|
|
6
|
+
import { AngularFramework } from './types-6-0';
|
|
7
|
+
interface ClientApi extends ClientStoryApi<AngularFramework['storyResult']> {
|
|
7
8
|
setAddon(addon: any): void;
|
|
8
9
|
configure(loader: Loadable, module: NodeModule): void;
|
|
9
10
|
getStorybook(): IStorybookSection[];
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { RenderContext } from '@storybook/store';
|
|
2
|
+
import { ArgsStoryFn } from '@storybook/csf';
|
|
3
|
+
import { AngularFramework } from './types-6-0';
|
|
4
4
|
import { RendererFactory } from './angular-beta/RendererFactory';
|
|
5
5
|
export declare const rendererFactory: RendererFactory;
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
showMain: () => void;
|
|
9
|
-
forceRender: boolean;
|
|
10
|
-
parameters: Parameters;
|
|
11
|
-
targetDOMNode: HTMLElement;
|
|
12
|
-
id: string;
|
|
13
|
-
}): Promise<void>;
|
|
6
|
+
export declare const render: ArgsStoryFn<AngularFramework>;
|
|
7
|
+
export declare function renderToDOM({ storyFn, showMain, forceRemount, storyContext: { parameters, component }, id, }: RenderContext<AngularFramework>, element: HTMLElement): Promise<void>;
|
|
@@ -1,26 +1,42 @@
|
|
|
1
|
-
import { Args
|
|
1
|
+
import { Args, Parameters as DefaultParameters, StoryContext as DefaultStoryContext, ComponentAnnotations, StoryAnnotations, AnnotatedStoryFn } from '@storybook/csf';
|
|
2
2
|
import { StoryFnAngularReturnType } from './types';
|
|
3
|
-
export { Args, ArgTypes } from '@storybook/
|
|
4
|
-
declare type
|
|
5
|
-
|
|
3
|
+
export { Args, ArgTypes } from '@storybook/csf';
|
|
4
|
+
export declare type AngularFramework = {
|
|
5
|
+
component: any;
|
|
6
|
+
storyResult: StoryFnAngularReturnType;
|
|
7
|
+
};
|
|
6
8
|
/**
|
|
7
9
|
* Metadata to configure the stories for a component.
|
|
8
10
|
*
|
|
9
11
|
* @see [Default export](https://storybook.js.org/docs/formats/component-story-format/#default-export)
|
|
10
12
|
*/
|
|
11
|
-
export declare type Meta<
|
|
13
|
+
export declare type Meta<TArgs = Args> = ComponentAnnotations<AngularFramework, TArgs>;
|
|
14
|
+
/**
|
|
15
|
+
* Story function that represents a CSFv2 component example.
|
|
16
|
+
*
|
|
17
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
18
|
+
*/
|
|
19
|
+
export declare type StoryFn<TArgs = Args> = AnnotatedStoryFn<AngularFramework, TArgs>;
|
|
12
20
|
/**
|
|
13
|
-
* Story function that represents a component example.
|
|
21
|
+
* Story function that represents a CSFv3 component example.
|
|
14
22
|
*
|
|
15
23
|
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
16
24
|
*/
|
|
17
|
-
export declare type
|
|
25
|
+
export declare type StoryObj<TArgs = Args> = StoryAnnotations<AngularFramework, TArgs>;
|
|
26
|
+
/**
|
|
27
|
+
* Story function that represents a CSFv2 component example.
|
|
28
|
+
*
|
|
29
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
30
|
+
*
|
|
31
|
+
* NOTE that in Storybook 7.0, this type will be renamed to `StoryFn` and replaced by the current `StoryObj` type.
|
|
32
|
+
*
|
|
33
|
+
*/
|
|
34
|
+
export declare type Story<TArgs = Args> = StoryFn<TArgs>;
|
|
18
35
|
export declare type Parameters = DefaultParameters & {
|
|
19
36
|
/** Uses legacy angular rendering engine that use dynamic component */
|
|
20
37
|
angularLegacyRendering?: boolean;
|
|
21
|
-
component: unknown;
|
|
22
38
|
bootstrapModuleOptions?: unknown;
|
|
23
39
|
};
|
|
24
|
-
export declare type StoryContext = DefaultStoryContext & {
|
|
40
|
+
export declare type StoryContext = DefaultStoryContext<AngularFramework> & {
|
|
25
41
|
parameters: Parameters;
|
|
26
42
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Args } from '@storybook/csf';
|
|
2
|
+
import { StoryObj } from './types-6-0';
|
|
3
|
+
export { StoryFn, StoryObj, Meta } from './types-6-0';
|
|
4
|
+
/**
|
|
5
|
+
* Story function that represents a CSFv3 component example.
|
|
6
|
+
*
|
|
7
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
8
|
+
*/
|
|
9
|
+
export declare type Story<TArgs = Args> = StoryObj<TArgs>;
|
|
@@ -10,7 +10,7 @@ export interface ICollection {
|
|
|
10
10
|
}
|
|
11
11
|
export interface IStorybookStory {
|
|
12
12
|
name: string;
|
|
13
|
-
render: () => any;
|
|
13
|
+
render: (context: any) => any;
|
|
14
14
|
}
|
|
15
15
|
export interface IStorybookSection {
|
|
16
16
|
kind: string;
|
|
@@ -25,4 +25,5 @@ export interface StoryFnAngularReturnType {
|
|
|
25
25
|
moduleMetadata?: NgModuleMetadata;
|
|
26
26
|
template?: string;
|
|
27
27
|
styles?: string[];
|
|
28
|
+
userDefinedTemplate?: boolean;
|
|
28
29
|
}
|
package/dist/ts3.4/renderer.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { computesTemplateSourceFromComponent } from './client/preview/angular-beta/ComputesTemplateFromComponent';
|
|
2
|
-
export { RendererService } from './client/preview/angular-beta/RendererService';
|
|
3
2
|
export { rendererFactory } from './client/preview/render';
|
|
4
3
|
export { AbstractRenderer } from './client/preview/angular-beta/AbstractRenderer';
|
|
5
4
|
export { getStorybookModuleMetadata } from './client/preview/angular-beta/StorybookModule';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const not = "empty";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const not = "empty";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const not = "empty";
|
|
@@ -27,4 +27,4 @@ export declare type AngularCliWebpackConfig = {
|
|
|
27
27
|
* Uses angular cli to extract webpack configuration.
|
|
28
28
|
* The `AngularCliWebpackConfig` type lists the parts used by storybook
|
|
29
29
|
*/
|
|
30
|
-
export declare function extractAngularCliWebpackConfig(dirToSearch: string, project: workspaces.ProjectDefinition, target: workspaces.TargetDefinition): Promise<AngularCliWebpackConfig>;
|
|
30
|
+
export declare function extractAngularCliWebpackConfig(dirToSearch: string, project: workspaces.ProjectDefinition, target: workspaces.TargetDefinition, confName?: string): Promise<AngularCliWebpackConfig>;
|
|
@@ -3,6 +3,7 @@ import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin';
|
|
|
3
3
|
import { Options as CoreOptions } from '@storybook/core-common';
|
|
4
4
|
export declare type Options = CoreOptions & {
|
|
5
5
|
angularBrowserTarget?: string;
|
|
6
|
+
tsConfig?: string;
|
|
6
7
|
};
|
|
7
8
|
export declare function webpackFinal(baseConfig: webpack.Configuration, options: Options): Promise<webpack.Configuration | {
|
|
8
9
|
entry: any[];
|
|
@@ -2,7 +2,8 @@ import { BuilderOutput } from '@angular-devkit/architect';
|
|
|
2
2
|
import { JsonObject } from '@angular-devkit/core';
|
|
3
3
|
import { CLIOptions } from '@storybook/core-common';
|
|
4
4
|
export declare type StorybookBuilderOptions = JsonObject & {
|
|
5
|
-
browserTarget
|
|
5
|
+
browserTarget?: string | null;
|
|
6
|
+
tsConfig?: string;
|
|
6
7
|
compodoc: boolean;
|
|
7
8
|
compodocArgs: string[];
|
|
8
9
|
} & Pick<CLIOptions, 'staticDir' | 'outputDir' | 'configDir' | 'loglevel' | 'quiet' | 'docs'>;
|
|
@@ -46,6 +46,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
50
|
+
var t = {};
|
|
51
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
52
|
+
t[p] = s[p];
|
|
53
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
54
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
55
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
56
|
+
t[p[i]] = s[p[i]];
|
|
57
|
+
}
|
|
58
|
+
return t;
|
|
59
|
+
};
|
|
49
60
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
61
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
62
|
};
|
|
@@ -56,40 +67,48 @@ var operators_1 = require("rxjs/operators");
|
|
|
56
67
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
57
68
|
var standalone_1 = __importDefault(require("@storybook/angular/standalone"));
|
|
58
69
|
var run_compodoc_1 = require("../utils/run-compodoc");
|
|
70
|
+
var build_standalone_errors_handler_1 = require("../utils/build-standalone-errors-handler");
|
|
59
71
|
exports.default = architect_1.createBuilder(commandBuilder);
|
|
60
72
|
function commandBuilder(options, context) {
|
|
61
73
|
return rxjs_1.from(setup(options, context)).pipe(operators_1.switchMap(function (_a) {
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
? run_compodoc_1.runCompodoc({ compodocArgs: options.compodocArgs, tsconfig:
|
|
74
|
+
var tsConfig = _a.tsConfig;
|
|
75
|
+
var runCompodoc$ = options.compodoc
|
|
76
|
+
? run_compodoc_1.runCompodoc({ compodocArgs: options.compodocArgs, tsconfig: tsConfig }, context).pipe(operators_1.mapTo({ tsConfig: tsConfig }))
|
|
65
77
|
: rxjs_1.of({});
|
|
66
|
-
|
|
78
|
+
return runCompodoc$.pipe(operators_1.mapTo({ tsConfig: tsConfig }));
|
|
79
|
+
}), operators_1.map(function (_a) {
|
|
80
|
+
var tsConfig = _a.tsConfig;
|
|
81
|
+
var browserTarget = options.browserTarget, otherOptions = __rest(options, ["browserTarget"]);
|
|
82
|
+
return __assign(__assign({}, otherOptions), { angularBrowserTarget: browserTarget, tsConfig: tsConfig });
|
|
83
|
+
}), operators_1.switchMap(function (standaloneOptions) { return runInstance(__assign(__assign({}, standaloneOptions), { mode: 'static' })); }), operators_1.map(function () {
|
|
67
84
|
return { success: true };
|
|
68
85
|
}));
|
|
69
86
|
}
|
|
70
87
|
function setup(options, context) {
|
|
88
|
+
var _a, _b;
|
|
71
89
|
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
-
var
|
|
73
|
-
return __generator(this, function (
|
|
74
|
-
switch (
|
|
90
|
+
var browserOptions, browserTarget, _c, _d, _e;
|
|
91
|
+
return __generator(this, function (_f) {
|
|
92
|
+
switch (_f.label) {
|
|
75
93
|
case 0:
|
|
94
|
+
if (!options.browserTarget) return [3 /*break*/, 4];
|
|
76
95
|
browserTarget = architect_1.targetFromTargetString(options.browserTarget);
|
|
77
|
-
|
|
96
|
+
_d = (_c = context).validateOptions;
|
|
78
97
|
return [4 /*yield*/, context.getTargetOptions(browserTarget)];
|
|
79
98
|
case 1:
|
|
80
|
-
|
|
99
|
+
_e = [_f.sent()];
|
|
81
100
|
return [4 /*yield*/, context.getBuilderNameForTarget(browserTarget)];
|
|
82
|
-
case 2: return [4 /*yield*/,
|
|
101
|
+
case 2: return [4 /*yield*/, _d.apply(_c, _e.concat([_f.sent()]))];
|
|
83
102
|
case 3:
|
|
84
|
-
browserOptions =
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
103
|
+
browserOptions = _f.sent();
|
|
104
|
+
_f.label = 4;
|
|
105
|
+
case 4: return [2 /*return*/, {
|
|
106
|
+
tsConfig: (_b = (_a = options.tsConfig) !== null && _a !== void 0 ? _a : browserOptions.tsConfig) !== null && _b !== void 0 ? _b : undefined,
|
|
107
|
+
}];
|
|
89
108
|
}
|
|
90
109
|
});
|
|
91
110
|
});
|
|
92
111
|
}
|
|
93
112
|
function runInstance(options) {
|
|
94
|
-
return rxjs_1.from(standalone_1.default(options));
|
|
113
|
+
return rxjs_1.from(standalone_1.default(options)).pipe(operators_1.catchError(function (error) { return rxjs_1.throwError(build_standalone_errors_handler_1.buildStandaloneErrorHandler(error)); }));
|
|
95
114
|
}
|
|
@@ -7,7 +7,12 @@
|
|
|
7
7
|
"browserTarget": {
|
|
8
8
|
"type": "string",
|
|
9
9
|
"description": "Build target to be served in project-name:builder:config format. Should generally target on the builder: '@angular-devkit/build-angular:browser'. Useful for Storybook to use options (styles, assets, ...).",
|
|
10
|
-
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
|
|
10
|
+
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$",
|
|
11
|
+
"default": null
|
|
12
|
+
},
|
|
13
|
+
"tsConfig": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "The full path for the TypeScript configuration file, relative to the current workspace."
|
|
11
16
|
},
|
|
12
17
|
"staticDir": {
|
|
13
18
|
"type": "array",
|
|
@@ -56,5 +61,12 @@
|
|
|
56
61
|
}
|
|
57
62
|
},
|
|
58
63
|
"additionalProperties": false,
|
|
59
|
-
"
|
|
64
|
+
"oneOf": [
|
|
65
|
+
{
|
|
66
|
+
"required": ["browserTarget"]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"required": ["tsConfig"]
|
|
70
|
+
}
|
|
71
|
+
]
|
|
60
72
|
}
|
|
@@ -2,7 +2,8 @@ import { BuilderOutput } from '@angular-devkit/architect';
|
|
|
2
2
|
import { JsonObject } from '@angular-devkit/core';
|
|
3
3
|
import { CLIOptions } from '@storybook/core-common';
|
|
4
4
|
export declare type StorybookBuilderOptions = JsonObject & {
|
|
5
|
-
browserTarget
|
|
5
|
+
browserTarget?: string | null;
|
|
6
|
+
tsConfig?: string;
|
|
6
7
|
compodoc: boolean;
|
|
7
8
|
compodocArgs: string[];
|
|
8
9
|
} & Pick<CLIOptions, 'port' | 'host' | 'staticDir' | 'configDir' | 'https' | 'sslCa' | 'sslCert' | 'sslKey' | 'smokeTest' | 'ci' | 'quiet' | 'docs'>;
|
|
@@ -46,6 +46,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
50
|
+
var t = {};
|
|
51
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
52
|
+
t[p] = s[p];
|
|
53
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
54
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
55
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
56
|
+
t[p[i]] = s[p[i]];
|
|
57
|
+
}
|
|
58
|
+
return t;
|
|
59
|
+
};
|
|
49
60
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
61
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
62
|
};
|
|
@@ -56,36 +67,44 @@ var operators_1 = require("rxjs/operators");
|
|
|
56
67
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
57
68
|
var standalone_1 = __importDefault(require("@storybook/angular/standalone"));
|
|
58
69
|
var run_compodoc_1 = require("../utils/run-compodoc");
|
|
70
|
+
var build_standalone_errors_handler_1 = require("../utils/build-standalone-errors-handler");
|
|
59
71
|
exports.default = architect_1.createBuilder(commandBuilder);
|
|
60
72
|
function commandBuilder(options, context) {
|
|
61
73
|
return rxjs_1.from(setup(options, context)).pipe(operators_1.switchMap(function (_a) {
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
? run_compodoc_1.runCompodoc({ compodocArgs: options.compodocArgs, tsconfig:
|
|
74
|
+
var tsConfig = _a.tsConfig;
|
|
75
|
+
var runCompodoc$ = options.compodoc
|
|
76
|
+
? run_compodoc_1.runCompodoc({ compodocArgs: options.compodocArgs, tsconfig: tsConfig }, context).pipe(operators_1.mapTo({ tsConfig: tsConfig }))
|
|
65
77
|
: rxjs_1.of({});
|
|
66
|
-
|
|
78
|
+
return runCompodoc$.pipe(operators_1.mapTo({ tsConfig: tsConfig }));
|
|
79
|
+
}), operators_1.map(function (_a) {
|
|
80
|
+
var tsConfig = _a.tsConfig;
|
|
81
|
+
var browserTarget = options.browserTarget, otherOptions = __rest(options, ["browserTarget"]);
|
|
82
|
+
return __assign(__assign({}, otherOptions), { angularBrowserTarget: browserTarget, tsConfig: tsConfig });
|
|
83
|
+
}), operators_1.switchMap(function (standaloneOptions) { return runInstance(standaloneOptions); }), operators_1.map(function () {
|
|
67
84
|
return { success: true };
|
|
68
85
|
}));
|
|
69
86
|
}
|
|
70
87
|
function setup(options, context) {
|
|
88
|
+
var _a, _b;
|
|
71
89
|
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
-
var
|
|
73
|
-
return __generator(this, function (
|
|
74
|
-
switch (
|
|
90
|
+
var browserOptions, browserTarget, _c, _d, _e;
|
|
91
|
+
return __generator(this, function (_f) {
|
|
92
|
+
switch (_f.label) {
|
|
75
93
|
case 0:
|
|
94
|
+
if (!options.browserTarget) return [3 /*break*/, 4];
|
|
76
95
|
browserTarget = architect_1.targetFromTargetString(options.browserTarget);
|
|
77
|
-
|
|
96
|
+
_d = (_c = context).validateOptions;
|
|
78
97
|
return [4 /*yield*/, context.getTargetOptions(browserTarget)];
|
|
79
98
|
case 1:
|
|
80
|
-
|
|
99
|
+
_e = [_f.sent()];
|
|
81
100
|
return [4 /*yield*/, context.getBuilderNameForTarget(browserTarget)];
|
|
82
|
-
case 2: return [4 /*yield*/,
|
|
101
|
+
case 2: return [4 /*yield*/, _d.apply(_c, _e.concat([_f.sent()]))];
|
|
83
102
|
case 3:
|
|
84
|
-
browserOptions =
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
103
|
+
browserOptions = _f.sent();
|
|
104
|
+
_f.label = 4;
|
|
105
|
+
case 4: return [2 /*return*/, {
|
|
106
|
+
tsConfig: (_b = (_a = options.tsConfig) !== null && _a !== void 0 ? _a : browserOptions.tsConfig) !== null && _b !== void 0 ? _b : undefined,
|
|
107
|
+
}];
|
|
89
108
|
}
|
|
90
109
|
});
|
|
91
110
|
});
|
|
@@ -93,6 +112,6 @@ function setup(options, context) {
|
|
|
93
112
|
function runInstance(options) {
|
|
94
113
|
return new rxjs_1.Observable(function (observer) {
|
|
95
114
|
// This Observable intentionally never complete, leaving the process running ;)
|
|
96
|
-
standalone_1.default(options).then(function () { return observer.next(); }, function (error) { return observer.error(error); });
|
|
115
|
+
standalone_1.default(options).then(function () { return observer.next(); }, function (error) { return observer.error(build_standalone_errors_handler_1.buildStandaloneErrorHandler(error)); });
|
|
97
116
|
});
|
|
98
117
|
}
|
|
@@ -7,7 +7,12 @@
|
|
|
7
7
|
"browserTarget": {
|
|
8
8
|
"type": "string",
|
|
9
9
|
"description": "Build target to be served in project-name:builder:config format. Should generally target on the builder: '@angular-devkit/build-angular:browser'. Useful for Storybook to use options (styles, assets, ...).",
|
|
10
|
-
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$"
|
|
10
|
+
"pattern": "^[^:\\s]+:[^:\\s]+(:[^\\s]+)?$",
|
|
11
|
+
"default": null
|
|
12
|
+
},
|
|
13
|
+
"tsConfig": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "The full path for the TypeScript configuration file, relative to the current workspace."
|
|
11
16
|
},
|
|
12
17
|
"port": {
|
|
13
18
|
"type": "number",
|
|
@@ -83,5 +88,12 @@
|
|
|
83
88
|
}
|
|
84
89
|
},
|
|
85
90
|
"additionalProperties": false,
|
|
86
|
-
"
|
|
91
|
+
"oneOf": [
|
|
92
|
+
{
|
|
93
|
+
"required": ["browserTarget"]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"required": ["tsConfig"]
|
|
97
|
+
}
|
|
98
|
+
]
|
|
87
99
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const buildStandaloneErrorHandler: (error: any) => any;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.buildStandaloneErrorHandler = void 0;
|
|
11
|
+
var node_logger_1 = require("@storybook/node-logger");
|
|
12
|
+
var ts_dedent_1 = __importDefault(require("ts-dedent"));
|
|
13
|
+
exports.buildStandaloneErrorHandler = function (error) {
|
|
14
|
+
var _a;
|
|
15
|
+
// Duplicate code for Standalone error handling
|
|
16
|
+
// Source: https://github.com/storybookjs/storybook/blob/39c7ba09ad84fbd466f9c25d5b92791a5450b9f6/lib/core-server/src/build-dev.ts#L136
|
|
17
|
+
node_logger_1.instance.heading = '';
|
|
18
|
+
if (error instanceof Error) {
|
|
19
|
+
if (error.error) {
|
|
20
|
+
node_logger_1.logger.error(error.error);
|
|
21
|
+
}
|
|
22
|
+
else if (error.stats && error.stats.compilation.errors) {
|
|
23
|
+
error.stats.compilation.errors.forEach(function (e) { return node_logger_1.logger.plain(e); });
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
node_logger_1.logger.error(error);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else if ((_a = error.compilation) === null || _a === void 0 ? void 0 : _a.errors) {
|
|
30
|
+
error.compilation.errors.forEach(function (e) { return node_logger_1.logger.plain(e); });
|
|
31
|
+
}
|
|
32
|
+
node_logger_1.logger.line();
|
|
33
|
+
return error.close
|
|
34
|
+
? ts_dedent_1.default(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n FATAL broken build!, will close the process,\n Fix the error below and restart storybook.\n "], ["\n FATAL broken build!, will close the process,\n Fix the error below and restart storybook.\n "]))) : ts_dedent_1.default(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n Broken build, fix the error above.\n You may need to refresh the browser.\n "], ["\n Broken build, fix the error above.\n You may need to refresh the browser.\n "])));
|
|
35
|
+
};
|
|
36
|
+
var templateObject_1, templateObject_2;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { PartialStoryFn } from '@storybook/csf';
|
|
2
|
+
import { AngularFramework } from '../types-6-0';
|
|
3
3
|
declare global {
|
|
4
4
|
interface Window {
|
|
5
5
|
NODE_ENV: 'string' | 'development' | undefined;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
export declare const renderNgApp: (storyFn:
|
|
8
|
+
export declare const renderNgApp: (storyFn: PartialStoryFn<AngularFramework>, forced: boolean) => void;
|
|
@@ -28,11 +28,13 @@ export declare abstract class AbstractRenderer {
|
|
|
28
28
|
* @param forced {boolean} If :
|
|
29
29
|
* - true render will only use the StoryFn `props' in storyProps observable that will update sotry's component/template properties. Improves performance without reloading the whole module&component if props changes
|
|
30
30
|
* - false fully recharges or initializes angular module & component
|
|
31
|
+
* @param component {Component}
|
|
31
32
|
* @param parameters {Parameters}
|
|
32
33
|
*/
|
|
33
|
-
render({ storyFnAngular, forced, parameters, targetDOMNode, }: {
|
|
34
|
+
render({ storyFnAngular, forced, parameters, component, targetDOMNode, }: {
|
|
34
35
|
storyFnAngular: StoryFnAngularReturnType;
|
|
35
36
|
forced: boolean;
|
|
37
|
+
component?: any;
|
|
36
38
|
parameters: Parameters;
|
|
37
39
|
targetDOMNode: HTMLElement;
|
|
38
40
|
}): Promise<void>;
|