@storybook/angular 8.1.0-alpha.2 → 8.1.0-alpha.4
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/client/public-types.d.ts +30 -5
- package/package.json +26 -25
- package/scripts/postbuild.js +16 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnnotatedStoryFn, Args, ComponentAnnotations, DecoratorFunction, LoaderFunction, StoryAnnotations, StoryContext as GenericStoryContext, StrictArgs, ProjectAnnotations } from '@storybook/types';
|
|
2
|
-
import
|
|
2
|
+
import * as AngularCore from '@angular/core';
|
|
3
3
|
import { AngularRenderer } from './types';
|
|
4
4
|
export type { Args, ArgTypes, Parameters, StrictArgs } from '@storybook/types';
|
|
5
5
|
export type { Parameters as AngularParameters } from './types';
|
|
@@ -9,23 +9,48 @@ export type { AngularRenderer };
|
|
|
9
9
|
*
|
|
10
10
|
* @see [Default export](https://storybook.js.org/docs/formats/component-story-format/#default-export)
|
|
11
11
|
*/
|
|
12
|
-
export type Meta<TArgs = Args> = ComponentAnnotations<AngularRenderer,
|
|
12
|
+
export type Meta<TArgs = Args> = ComponentAnnotations<AngularRenderer, TransformComponentType<TArgs>>;
|
|
13
13
|
/**
|
|
14
14
|
* Story function that represents a CSFv2 component example.
|
|
15
15
|
*
|
|
16
16
|
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
17
17
|
*/
|
|
18
|
-
export type StoryFn<TArgs = Args> = AnnotatedStoryFn<AngularRenderer,
|
|
18
|
+
export type StoryFn<TArgs = Args> = AnnotatedStoryFn<AngularRenderer, TransformComponentType<TArgs>>;
|
|
19
19
|
/**
|
|
20
20
|
* Story object that represents a CSFv3 component example.
|
|
21
21
|
*
|
|
22
22
|
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
23
23
|
*/
|
|
24
|
-
export type StoryObj<TArgs = Args> = StoryAnnotations<AngularRenderer,
|
|
24
|
+
export type StoryObj<TArgs = Args> = StoryAnnotations<AngularRenderer, TransformComponentType<TArgs>>;
|
|
25
25
|
export type Decorator<TArgs = StrictArgs> = DecoratorFunction<AngularRenderer, TArgs>;
|
|
26
26
|
export type Loader<TArgs = StrictArgs> = LoaderFunction<AngularRenderer, TArgs>;
|
|
27
27
|
export type StoryContext<TArgs = StrictArgs> = GenericStoryContext<AngularRenderer, TArgs>;
|
|
28
28
|
export type Preview = ProjectAnnotations<AngularRenderer>;
|
|
29
|
+
/**
|
|
30
|
+
* Utility type that transforms InputSignal and EventEmitter types
|
|
31
|
+
*/
|
|
32
|
+
type TransformComponentType<T> = TransformInputSignalType<TransformOutputSignalType<TransformEventType<T>>>;
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
type AngularInputSignal<T> = AngularCore.InputSignal<T>;
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
type AngularInputSignalWithTransform<T, U> = AngularCore.InputSignalWithTransform<T, U>;
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
type AngularOutputEmitterRef<T> = AngularCore.OutputEmitterRef<T>;
|
|
39
|
+
type AngularHasInputSignal = typeof AngularCore extends {
|
|
40
|
+
input: infer U;
|
|
41
|
+
} ? true : false;
|
|
42
|
+
type AngularHasOutputSignal = typeof AngularCore extends {
|
|
43
|
+
output: infer U;
|
|
44
|
+
} ? true : false;
|
|
45
|
+
type InputSignal<T> = AngularHasInputSignal extends true ? AngularInputSignal<T> : never;
|
|
46
|
+
type InputSignalWithTransform<T, U> = AngularHasInputSignal extends true ? AngularInputSignalWithTransform<T, U> : never;
|
|
47
|
+
type OutputEmitterRef<T> = AngularHasOutputSignal extends true ? AngularOutputEmitterRef<T> : never;
|
|
48
|
+
type TransformInputSignalType<T> = {
|
|
49
|
+
[K in keyof T]: T[K] extends InputSignal<infer E> ? E : T[K] extends InputSignalWithTransform<any, infer U> ? U : T[K];
|
|
50
|
+
};
|
|
51
|
+
type TransformOutputSignalType<T> = {
|
|
52
|
+
[K in keyof T]: T[K] extends OutputEmitterRef<infer E> ? (e: E) => void : T[K];
|
|
53
|
+
};
|
|
29
54
|
type TransformEventType<T> = {
|
|
30
|
-
[K in keyof T]: T[K] extends EventEmitter<infer E> ? (e: E) => void : T[K];
|
|
55
|
+
[K in keyof T]: T[K] extends AngularCore.EventEmitter<infer E> ? (e: E) => void : T[K];
|
|
31
56
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/angular",
|
|
3
|
-
"version": "8.1.0-alpha.
|
|
3
|
+
"version": "8.1.0-alpha.4",
|
|
4
4
|
"description": "Storybook for Angular: Develop Angular components in isolation with hot reloading.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook",
|
|
@@ -34,21 +34,21 @@
|
|
|
34
34
|
],
|
|
35
35
|
"scripts": {
|
|
36
36
|
"check": "node ../../../scripts/node_modules/.bin/tsc",
|
|
37
|
-
"prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/tsc.ts"
|
|
37
|
+
"prep": "rimraf dist && node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/tsc.ts"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@storybook/builder-webpack5": "8.1.0-alpha.
|
|
41
|
-
"@storybook/client-logger": "8.1.0-alpha.
|
|
42
|
-
"@storybook/core-common": "8.1.0-alpha.
|
|
43
|
-
"@storybook/core-events": "8.1.0-alpha.
|
|
44
|
-
"@storybook/core-server": "8.1.0-alpha.
|
|
45
|
-
"@storybook/core-webpack": "8.1.0-alpha.
|
|
46
|
-
"@storybook/docs-tools": "8.1.0-alpha.
|
|
40
|
+
"@storybook/builder-webpack5": "8.1.0-alpha.4",
|
|
41
|
+
"@storybook/client-logger": "8.1.0-alpha.4",
|
|
42
|
+
"@storybook/core-common": "8.1.0-alpha.4",
|
|
43
|
+
"@storybook/core-events": "8.1.0-alpha.4",
|
|
44
|
+
"@storybook/core-server": "8.1.0-alpha.4",
|
|
45
|
+
"@storybook/core-webpack": "8.1.0-alpha.4",
|
|
46
|
+
"@storybook/docs-tools": "8.1.0-alpha.4",
|
|
47
47
|
"@storybook/global": "^5.0.0",
|
|
48
|
-
"@storybook/node-logger": "8.1.0-alpha.
|
|
49
|
-
"@storybook/preview-api": "8.1.0-alpha.
|
|
50
|
-
"@storybook/telemetry": "8.1.0-alpha.
|
|
51
|
-
"@storybook/types": "8.1.0-alpha.
|
|
48
|
+
"@storybook/node-logger": "8.1.0-alpha.4",
|
|
49
|
+
"@storybook/preview-api": "8.1.0-alpha.4",
|
|
50
|
+
"@storybook/telemetry": "8.1.0-alpha.4",
|
|
51
|
+
"@storybook/types": "8.1.0-alpha.4",
|
|
52
52
|
"@types/node": "^18.0.0",
|
|
53
53
|
"@types/react": "^18.0.37",
|
|
54
54
|
"@types/react-dom": "^18.0.11",
|
|
@@ -65,18 +65,18 @@
|
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@analogjs/vite-plugin-angular": "^0.2.24",
|
|
68
|
-
"@angular-devkit/architect": "^0.
|
|
69
|
-
"@angular-devkit/build-angular": "^17.0
|
|
70
|
-
"@angular-devkit/core": "^17.0
|
|
71
|
-
"@angular/animations": "^17.0
|
|
72
|
-
"@angular/cli": "^17.0
|
|
73
|
-
"@angular/common": "^17.0
|
|
74
|
-
"@angular/compiler": "^17.0
|
|
75
|
-
"@angular/compiler-cli": "^17.0
|
|
76
|
-
"@angular/core": "^17.0
|
|
77
|
-
"@angular/forms": "^17.0
|
|
78
|
-
"@angular/platform-browser": "^17.0
|
|
79
|
-
"@angular/platform-browser-dynamic": "^17.0
|
|
68
|
+
"@angular-devkit/architect": "^0.1703.0",
|
|
69
|
+
"@angular-devkit/build-angular": "^17.3.0",
|
|
70
|
+
"@angular-devkit/core": "^17.3.0",
|
|
71
|
+
"@angular/animations": "^17.3.0",
|
|
72
|
+
"@angular/cli": "^17.3.0",
|
|
73
|
+
"@angular/common": "^17.3.0",
|
|
74
|
+
"@angular/compiler": "^17.3.0",
|
|
75
|
+
"@angular/compiler-cli": "^17.3.0",
|
|
76
|
+
"@angular/core": "^17.3.0",
|
|
77
|
+
"@angular/forms": "^17.3.0",
|
|
78
|
+
"@angular/platform-browser": "^17.3.0",
|
|
79
|
+
"@angular/platform-browser-dynamic": "^17.3.0",
|
|
80
80
|
"@types/cross-spawn": "^6.0.2",
|
|
81
81
|
"@types/tmp": "^0.2.3",
|
|
82
82
|
"cross-spawn": "^7.0.3",
|
|
@@ -115,6 +115,7 @@
|
|
|
115
115
|
},
|
|
116
116
|
"builders": "dist/builders/builders.json",
|
|
117
117
|
"bundler": {
|
|
118
|
+
"post": "./scripts/postbuild.js",
|
|
118
119
|
"tsConfig": "tsconfig.build.json"
|
|
119
120
|
},
|
|
120
121
|
"gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This postbuild fix is needed to add a ts-ignore to the generated public-types.d.ts file.
|
|
3
|
+
* The AngularCore.InputSignal and AngularCore.InputSignalWithTransform types do not exist in Angular
|
|
4
|
+
* versions < 17.2. In these versions, the unresolved types will error and prevent Storybook from starting/building.
|
|
5
|
+
* This postbuild script adds a ts-ignore statement above the unresolved types to prevent the errors.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const fs = require('fs');
|
|
9
|
+
const path = require('path');
|
|
10
|
+
|
|
11
|
+
const filePath = path.join(__dirname, '../dist/client/public-types.d.ts');
|
|
12
|
+
const fileContent = fs.readFileSync(filePath, 'utf8');
|
|
13
|
+
const newContent = fileContent
|
|
14
|
+
.replaceAll(/(type AngularInputSignal)/g, '// @ts-ignore\n$1')
|
|
15
|
+
.replaceAll(/(type AngularOutputEmitterRef)/g, '// @ts-ignore\n$1');
|
|
16
|
+
fs.writeFileSync(filePath, newContent, 'utf8');
|