@storybook/angular 7.0.0-alpha.42 → 7.0.0-alpha.44
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/types/builders/build-storybook/index.d.ts +1 -1
- package/dist/types/builders/build-storybook/index.spec.d.ts +1 -0
- package/dist/types/builders/build-storybook/index.spec.js +202 -0
- package/dist/types/builders/start-storybook/index.d.ts +1 -1
- package/dist/types/builders/start-storybook/index.spec.d.ts +1 -0
- package/dist/types/builders/start-storybook/index.spec.js +200 -0
- package/dist/types/builders/utils/run-compodoc.spec.d.ts +1 -0
- package/dist/types/builders/utils/run-compodoc.spec.js +57 -0
- package/dist/types/builders/utils/standalone-options.d.ts +1 -1
- package/dist/types/client/angular/app.component.js +0 -1
- package/dist/types/client/angular/helpers.d.ts +1 -1
- package/dist/types/client/angular-beta/ComputesTemplateFromComponent.d.ts +2 -2
- package/dist/types/client/angular-beta/DocsRenderer.js +3 -6
- package/dist/types/client/angular-beta/StorybookWrapperComponent.js +0 -1
- package/dist/types/client/decorateStory.d.ts +1 -1
- package/dist/types/client/decorators.d.ts +1 -1
- package/dist/types/client/docs/compodoc.d.ts +3 -3
- package/dist/types/client/docs/config.d.ts +4 -14
- package/dist/types/client/docs/sourceDecorator.d.ts +1 -1
- package/dist/types/client/index.js +2 -0
- package/dist/types/client/public-api.d.ts +3 -3
- package/dist/types/client/public-types.d.ts +8 -4
- package/dist/types/client/render.d.ts +2 -3
- package/dist/types/client/types.d.ts +1 -1
- package/dist/types/preset.d.ts +1 -1
- package/dist/types/server/angular-read-workspace.js +1 -1
- package/dist/types/server/framework-preset-angular-docs.d.ts +1 -1
- package/dist/types/server/framework-preset-angular-ivy.js +1 -1
- package/dist/types/server/preset-options.d.ts +1 -1
- package/package.json +15 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BuilderOutput } from '@angular-devkit/architect';
|
|
2
2
|
import { JsonObject } from '@angular-devkit/core';
|
|
3
|
-
import type { CLIOptions } from '@storybook/
|
|
3
|
+
import type { CLIOptions } from '@storybook/types';
|
|
4
4
|
import { ExtraEntryPoint, StylePreprocessorOptions } from '@angular-devkit/build-angular';
|
|
5
5
|
export declare type StorybookBuilderOptions = JsonObject & {
|
|
6
6
|
browserTarget?: string | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const architect_1 = require("@angular-devkit/architect");
|
|
27
|
+
const testing_1 = require("@angular-devkit/architect/testing");
|
|
28
|
+
const core_1 = require("@angular-devkit/core");
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const buildStandaloneMock = jest.fn();
|
|
31
|
+
jest.doMock('@storybook/angular/standalone', () => buildStandaloneMock);
|
|
32
|
+
jest.doMock('find-up', () => ({ sync: () => './storybook/tsconfig.ts' }));
|
|
33
|
+
const cpSpawnMock = {
|
|
34
|
+
spawn: jest.fn(),
|
|
35
|
+
};
|
|
36
|
+
jest.doMock('child_process', () => cpSpawnMock);
|
|
37
|
+
describe('Build Storybook Builder', () => {
|
|
38
|
+
let architect;
|
|
39
|
+
let architectHost;
|
|
40
|
+
beforeEach(async () => {
|
|
41
|
+
const registry = new core_1.schema.CoreSchemaRegistry();
|
|
42
|
+
registry.addPostTransform(core_1.schema.transforms.addUndefinedDefaults);
|
|
43
|
+
architectHost = new testing_1.TestingArchitectHost();
|
|
44
|
+
architect = new architect_1.Architect(architectHost, registry);
|
|
45
|
+
architectHost.addBuilder('@angular-devkit/build-angular:browser', (0, architect_1.createBuilder)(() => {
|
|
46
|
+
return { success: true };
|
|
47
|
+
}));
|
|
48
|
+
architectHost.addTarget({ project: 'angular-cli', target: 'build-2' }, '@angular-devkit/build-angular:browser', {
|
|
49
|
+
outputPath: 'dist/angular-cli',
|
|
50
|
+
index: 'src/index.html',
|
|
51
|
+
main: 'src/main.ts',
|
|
52
|
+
polyfills: 'src/polyfills.ts',
|
|
53
|
+
tsConfig: 'src/tsconfig.app.json',
|
|
54
|
+
assets: ['src/favicon.ico', 'src/assets'],
|
|
55
|
+
styles: ['src/styles.css'],
|
|
56
|
+
scripts: [],
|
|
57
|
+
});
|
|
58
|
+
// This will either take a Node package name, or a path to the directory
|
|
59
|
+
// for the package.json file.
|
|
60
|
+
await architectHost.addBuilderFromPackage(path.join(__dirname, '../../..'));
|
|
61
|
+
});
|
|
62
|
+
beforeEach(() => {
|
|
63
|
+
buildStandaloneMock.mockImplementation((_options) => Promise.resolve());
|
|
64
|
+
cpSpawnMock.spawn.mockImplementation(() => ({
|
|
65
|
+
stdout: { on: () => { } },
|
|
66
|
+
stderr: { on: () => { } },
|
|
67
|
+
on: (_event, cb) => cb(0),
|
|
68
|
+
}));
|
|
69
|
+
});
|
|
70
|
+
afterEach(() => {
|
|
71
|
+
jest.clearAllMocks();
|
|
72
|
+
});
|
|
73
|
+
it('should start storybook with angularBrowserTarget', async () => {
|
|
74
|
+
const run = await architect.scheduleBuilder('@storybook/angular:build-storybook', {
|
|
75
|
+
browserTarget: 'angular-cli:build-2',
|
|
76
|
+
compodoc: false,
|
|
77
|
+
});
|
|
78
|
+
const output = await run.result;
|
|
79
|
+
await run.stop();
|
|
80
|
+
expect(output.success).toBeTruthy();
|
|
81
|
+
expect(cpSpawnMock.spawn).not.toHaveBeenCalledWith();
|
|
82
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
83
|
+
angularBrowserTarget: 'angular-cli:build-2',
|
|
84
|
+
angularBuilderContext: expect.any(Object),
|
|
85
|
+
angularBuilderOptions: {},
|
|
86
|
+
configDir: '.storybook',
|
|
87
|
+
loglevel: undefined,
|
|
88
|
+
quiet: false,
|
|
89
|
+
outputDir: 'storybook-static',
|
|
90
|
+
mode: 'static',
|
|
91
|
+
tsConfig: './storybook/tsconfig.ts',
|
|
92
|
+
webpackStatsJson: false,
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
it('should start storybook with tsConfig', async () => {
|
|
96
|
+
const run = await architect.scheduleBuilder('@storybook/angular:build-storybook', {
|
|
97
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
98
|
+
compodoc: false,
|
|
99
|
+
});
|
|
100
|
+
const output = await run.result;
|
|
101
|
+
await run.stop();
|
|
102
|
+
expect(output.success).toBeTruthy();
|
|
103
|
+
expect(cpSpawnMock.spawn).not.toHaveBeenCalledWith();
|
|
104
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
105
|
+
angularBrowserTarget: null,
|
|
106
|
+
angularBuilderContext: expect.any(Object),
|
|
107
|
+
angularBuilderOptions: {},
|
|
108
|
+
configDir: '.storybook',
|
|
109
|
+
loglevel: undefined,
|
|
110
|
+
quiet: false,
|
|
111
|
+
outputDir: 'storybook-static',
|
|
112
|
+
mode: 'static',
|
|
113
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
114
|
+
webpackStatsJson: false,
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
it('should build storybook with webpack stats.json', async () => {
|
|
118
|
+
const run = await architect.scheduleBuilder('@storybook/angular:build-storybook', {
|
|
119
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
120
|
+
compodoc: false,
|
|
121
|
+
webpackStatsJson: true,
|
|
122
|
+
});
|
|
123
|
+
const output = await run.result;
|
|
124
|
+
await run.stop();
|
|
125
|
+
expect(output.success).toBeTruthy();
|
|
126
|
+
expect(cpSpawnMock.spawn).not.toHaveBeenCalledWith();
|
|
127
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
128
|
+
angularBrowserTarget: null,
|
|
129
|
+
angularBuilderContext: expect.any(Object),
|
|
130
|
+
angularBuilderOptions: {},
|
|
131
|
+
configDir: '.storybook',
|
|
132
|
+
loglevel: undefined,
|
|
133
|
+
quiet: false,
|
|
134
|
+
outputDir: 'storybook-static',
|
|
135
|
+
mode: 'static',
|
|
136
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
137
|
+
webpackStatsJson: true,
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
it('should throw error', async () => {
|
|
141
|
+
buildStandaloneMock.mockRejectedValue(true);
|
|
142
|
+
const run = await architect.scheduleBuilder('@storybook/angular:start-storybook', {
|
|
143
|
+
browserTarget: 'angular-cli:build-2',
|
|
144
|
+
port: 4400,
|
|
145
|
+
compodoc: false,
|
|
146
|
+
});
|
|
147
|
+
try {
|
|
148
|
+
await run.result;
|
|
149
|
+
expect(false).toEqual('Throw expected');
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
// eslint-disable-next-line jest/no-try-expect, jest/no-conditional-expect
|
|
153
|
+
expect(error).toEqual('Broken build, fix the error above.\nYou may need to refresh the browser.');
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
it('should run compodoc', async () => {
|
|
157
|
+
const run = await architect.scheduleBuilder('@storybook/angular:build-storybook', {
|
|
158
|
+
browserTarget: 'angular-cli:build-2',
|
|
159
|
+
});
|
|
160
|
+
const output = await run.result;
|
|
161
|
+
await run.stop();
|
|
162
|
+
expect(output.success).toBeTruthy();
|
|
163
|
+
expect(cpSpawnMock.spawn).toHaveBeenCalledWith('npx', ['compodoc', '-p', './storybook/tsconfig.ts', '-d', '', '-e', 'json'], {
|
|
164
|
+
cwd: '',
|
|
165
|
+
});
|
|
166
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
167
|
+
angularBrowserTarget: 'angular-cli:build-2',
|
|
168
|
+
angularBuilderContext: expect.any(Object),
|
|
169
|
+
angularBuilderOptions: {},
|
|
170
|
+
configDir: '.storybook',
|
|
171
|
+
loglevel: undefined,
|
|
172
|
+
quiet: false,
|
|
173
|
+
outputDir: 'storybook-static',
|
|
174
|
+
mode: 'static',
|
|
175
|
+
tsConfig: './storybook/tsconfig.ts',
|
|
176
|
+
webpackStatsJson: false,
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
it('should start storybook with styles options', async () => {
|
|
180
|
+
const run = await architect.scheduleBuilder('@storybook/angular:build-storybook', {
|
|
181
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
182
|
+
compodoc: false,
|
|
183
|
+
styles: ['style.scss'],
|
|
184
|
+
});
|
|
185
|
+
const output = await run.result;
|
|
186
|
+
await run.stop();
|
|
187
|
+
expect(output.success).toBeTruthy();
|
|
188
|
+
expect(cpSpawnMock.spawn).not.toHaveBeenCalledWith();
|
|
189
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
190
|
+
angularBrowserTarget: null,
|
|
191
|
+
angularBuilderContext: expect.any(Object),
|
|
192
|
+
angularBuilderOptions: { styles: ['style.scss'] },
|
|
193
|
+
configDir: '.storybook',
|
|
194
|
+
loglevel: undefined,
|
|
195
|
+
quiet: false,
|
|
196
|
+
outputDir: 'storybook-static',
|
|
197
|
+
mode: 'static',
|
|
198
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
199
|
+
webpackStatsJson: false,
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BuilderOutput } from '@angular-devkit/architect';
|
|
2
2
|
import { JsonObject } from '@angular-devkit/core';
|
|
3
3
|
import { ExtraEntryPoint, StylePreprocessorOptions } from '@angular-devkit/build-angular';
|
|
4
|
-
import type { CLIOptions } from '@storybook/
|
|
4
|
+
import type { CLIOptions } from '@storybook/types';
|
|
5
5
|
export declare type StorybookBuilderOptions = JsonObject & {
|
|
6
6
|
browserTarget?: string | null;
|
|
7
7
|
tsConfig?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const architect_1 = require("@angular-devkit/architect");
|
|
27
|
+
const testing_1 = require("@angular-devkit/architect/testing");
|
|
28
|
+
const core_1 = require("@angular-devkit/core");
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const buildStandaloneMock = jest.fn();
|
|
31
|
+
jest.doMock('@storybook/angular/standalone', () => buildStandaloneMock);
|
|
32
|
+
jest.doMock('find-up', () => ({ sync: () => './storybook/tsconfig.ts' }));
|
|
33
|
+
const cpSpawnMock = {
|
|
34
|
+
spawn: jest.fn(),
|
|
35
|
+
};
|
|
36
|
+
jest.doMock('child_process', () => cpSpawnMock);
|
|
37
|
+
describe('Start Storybook Builder', () => {
|
|
38
|
+
let architect;
|
|
39
|
+
let architectHost;
|
|
40
|
+
beforeEach(async () => {
|
|
41
|
+
const registry = new core_1.schema.CoreSchemaRegistry();
|
|
42
|
+
registry.addPostTransform(core_1.schema.transforms.addUndefinedDefaults);
|
|
43
|
+
architectHost = new testing_1.TestingArchitectHost();
|
|
44
|
+
architect = new architect_1.Architect(architectHost, registry);
|
|
45
|
+
architectHost.addBuilder('@angular-devkit/build-angular:browser', (0, architect_1.createBuilder)(() => {
|
|
46
|
+
return { success: true };
|
|
47
|
+
}));
|
|
48
|
+
architectHost.addTarget({ project: 'angular-cli', target: 'build-2' }, '@angular-devkit/build-angular:browser', {
|
|
49
|
+
outputPath: 'dist/angular-cli',
|
|
50
|
+
index: 'src/index.html',
|
|
51
|
+
main: 'src/main.ts',
|
|
52
|
+
polyfills: 'src/polyfills.ts',
|
|
53
|
+
tsConfig: 'src/tsconfig.app.json',
|
|
54
|
+
assets: ['src/favicon.ico', 'src/assets'],
|
|
55
|
+
styles: ['src/styles.css'],
|
|
56
|
+
scripts: [],
|
|
57
|
+
});
|
|
58
|
+
// This will either take a Node package name, or a path to the directory
|
|
59
|
+
// for the package.json file.
|
|
60
|
+
await architectHost.addBuilderFromPackage(path.join(__dirname, '../../..'));
|
|
61
|
+
});
|
|
62
|
+
beforeEach(() => {
|
|
63
|
+
buildStandaloneMock.mockImplementation((_options) => Promise.resolve());
|
|
64
|
+
cpSpawnMock.spawn.mockImplementation(() => ({
|
|
65
|
+
stdout: { on: () => { } },
|
|
66
|
+
stderr: { on: () => { } },
|
|
67
|
+
on: (_event, cb) => cb(0),
|
|
68
|
+
}));
|
|
69
|
+
});
|
|
70
|
+
afterEach(() => {
|
|
71
|
+
jest.clearAllMocks();
|
|
72
|
+
});
|
|
73
|
+
it('should start storybook with angularBrowserTarget', async () => {
|
|
74
|
+
const run = await architect.scheduleBuilder('@storybook/angular:start-storybook', {
|
|
75
|
+
browserTarget: 'angular-cli:build-2',
|
|
76
|
+
port: 4400,
|
|
77
|
+
compodoc: false,
|
|
78
|
+
});
|
|
79
|
+
const output = await run.result;
|
|
80
|
+
await run.stop();
|
|
81
|
+
expect(output.success).toBeTruthy();
|
|
82
|
+
expect(cpSpawnMock.spawn).not.toHaveBeenCalledWith();
|
|
83
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
84
|
+
angularBrowserTarget: 'angular-cli:build-2',
|
|
85
|
+
angularBuilderContext: expect.any(Object),
|
|
86
|
+
angularBuilderOptions: {},
|
|
87
|
+
ci: false,
|
|
88
|
+
configDir: '.storybook',
|
|
89
|
+
host: 'localhost',
|
|
90
|
+
https: false,
|
|
91
|
+
port: 4400,
|
|
92
|
+
quiet: false,
|
|
93
|
+
smokeTest: false,
|
|
94
|
+
sslCa: undefined,
|
|
95
|
+
sslCert: undefined,
|
|
96
|
+
sslKey: undefined,
|
|
97
|
+
tsConfig: './storybook/tsconfig.ts',
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
it('should start storybook with tsConfig', async () => {
|
|
101
|
+
const run = await architect.scheduleBuilder('@storybook/angular:start-storybook', {
|
|
102
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
103
|
+
port: 4400,
|
|
104
|
+
compodoc: false,
|
|
105
|
+
});
|
|
106
|
+
const output = await run.result;
|
|
107
|
+
await run.stop();
|
|
108
|
+
expect(output.success).toBeTruthy();
|
|
109
|
+
expect(cpSpawnMock.spawn).not.toHaveBeenCalledWith();
|
|
110
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
111
|
+
angularBrowserTarget: null,
|
|
112
|
+
angularBuilderContext: expect.any(Object),
|
|
113
|
+
angularBuilderOptions: {},
|
|
114
|
+
ci: false,
|
|
115
|
+
configDir: '.storybook',
|
|
116
|
+
host: 'localhost',
|
|
117
|
+
https: false,
|
|
118
|
+
port: 4400,
|
|
119
|
+
quiet: false,
|
|
120
|
+
smokeTest: false,
|
|
121
|
+
sslCa: undefined,
|
|
122
|
+
sslCert: undefined,
|
|
123
|
+
sslKey: undefined,
|
|
124
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
it('should throw error', async () => {
|
|
128
|
+
buildStandaloneMock.mockRejectedValue(true);
|
|
129
|
+
const run = await architect.scheduleBuilder('@storybook/angular:start-storybook', {
|
|
130
|
+
browserTarget: 'angular-cli:build-2',
|
|
131
|
+
port: 4400,
|
|
132
|
+
compodoc: false,
|
|
133
|
+
});
|
|
134
|
+
try {
|
|
135
|
+
await run.result;
|
|
136
|
+
expect(false).toEqual('Throw expected');
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
// eslint-disable-next-line jest/no-try-expect, jest/no-conditional-expect
|
|
140
|
+
expect(error).toEqual('Broken build, fix the error above.\nYou may need to refresh the browser.');
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
it('should run compodoc', async () => {
|
|
144
|
+
const run = await architect.scheduleBuilder('@storybook/angular:start-storybook', {
|
|
145
|
+
browserTarget: 'angular-cli:build-2',
|
|
146
|
+
});
|
|
147
|
+
const output = await run.result;
|
|
148
|
+
await run.stop();
|
|
149
|
+
expect(output.success).toBeTruthy();
|
|
150
|
+
expect(cpSpawnMock.spawn).toHaveBeenCalledWith('npx', ['compodoc', '-p', './storybook/tsconfig.ts', '-d', '', '-e', 'json'], {
|
|
151
|
+
cwd: '',
|
|
152
|
+
});
|
|
153
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
154
|
+
angularBrowserTarget: 'angular-cli:build-2',
|
|
155
|
+
angularBuilderContext: expect.any(Object),
|
|
156
|
+
angularBuilderOptions: {},
|
|
157
|
+
ci: false,
|
|
158
|
+
configDir: '.storybook',
|
|
159
|
+
host: 'localhost',
|
|
160
|
+
https: false,
|
|
161
|
+
port: 9009,
|
|
162
|
+
quiet: false,
|
|
163
|
+
smokeTest: false,
|
|
164
|
+
sslCa: undefined,
|
|
165
|
+
sslCert: undefined,
|
|
166
|
+
sslKey: undefined,
|
|
167
|
+
tsConfig: './storybook/tsconfig.ts',
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
it('should start storybook with styles options', async () => {
|
|
171
|
+
const run = await architect.scheduleBuilder('@storybook/angular:start-storybook', {
|
|
172
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
173
|
+
port: 4400,
|
|
174
|
+
compodoc: false,
|
|
175
|
+
styles: ['src/styles.css'],
|
|
176
|
+
});
|
|
177
|
+
const output = await run.result;
|
|
178
|
+
await run.stop();
|
|
179
|
+
expect(output.success).toBeTruthy();
|
|
180
|
+
expect(cpSpawnMock.spawn).not.toHaveBeenCalledWith();
|
|
181
|
+
expect(buildStandaloneMock).toHaveBeenCalledWith({
|
|
182
|
+
angularBrowserTarget: null,
|
|
183
|
+
angularBuilderContext: expect.any(Object),
|
|
184
|
+
angularBuilderOptions: {
|
|
185
|
+
styles: ['src/styles.css'],
|
|
186
|
+
},
|
|
187
|
+
ci: false,
|
|
188
|
+
configDir: '.storybook',
|
|
189
|
+
host: 'localhost',
|
|
190
|
+
https: false,
|
|
191
|
+
port: 4400,
|
|
192
|
+
quiet: false,
|
|
193
|
+
smokeTest: false,
|
|
194
|
+
sslCa: undefined,
|
|
195
|
+
sslCert: undefined,
|
|
196
|
+
sslKey: undefined,
|
|
197
|
+
tsConfig: 'path/to/tsConfig.json',
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const operators_1 = require("rxjs/operators");
|
|
4
|
+
const cpSpawnMock = {
|
|
5
|
+
spawn: jest.fn(),
|
|
6
|
+
};
|
|
7
|
+
jest.doMock('child_process', () => cpSpawnMock);
|
|
8
|
+
const { runCompodoc } = require('./run-compodoc');
|
|
9
|
+
const builderContextLoggerMock = {
|
|
10
|
+
createChild: jest.fn(),
|
|
11
|
+
log: jest.fn(),
|
|
12
|
+
debug: jest.fn(),
|
|
13
|
+
info: jest.fn(),
|
|
14
|
+
warn: jest.fn(),
|
|
15
|
+
error: jest.fn(),
|
|
16
|
+
fatal: jest.fn(),
|
|
17
|
+
};
|
|
18
|
+
describe('runCompodoc', () => {
|
|
19
|
+
beforeEach(() => {
|
|
20
|
+
cpSpawnMock.spawn.mockImplementation(() => ({
|
|
21
|
+
stdout: { on: () => { } },
|
|
22
|
+
stderr: { on: () => { } },
|
|
23
|
+
on: (_event, cb) => cb(0),
|
|
24
|
+
}));
|
|
25
|
+
});
|
|
26
|
+
afterEach(() => {
|
|
27
|
+
jest.clearAllMocks();
|
|
28
|
+
});
|
|
29
|
+
it('should run compodoc with tsconfig from context', async () => {
|
|
30
|
+
runCompodoc({
|
|
31
|
+
compodocArgs: [],
|
|
32
|
+
tsconfig: 'path/to/tsconfig.json',
|
|
33
|
+
}, {
|
|
34
|
+
workspaceRoot: 'path/to/project',
|
|
35
|
+
logger: builderContextLoggerMock,
|
|
36
|
+
})
|
|
37
|
+
.pipe((0, operators_1.take)(1))
|
|
38
|
+
.subscribe();
|
|
39
|
+
expect(cpSpawnMock.spawn).toHaveBeenCalledWith('npx', ['compodoc', '-p', 'path/to/tsconfig.json', '-d', 'path/to/project'], {
|
|
40
|
+
cwd: 'path/to/project',
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
it('should run compodoc with tsconfig from compodocArgs', async () => {
|
|
44
|
+
runCompodoc({
|
|
45
|
+
compodocArgs: ['-p', 'path/to/tsconfig.stories.json'],
|
|
46
|
+
tsconfig: 'path/to/tsconfig.json',
|
|
47
|
+
}, {
|
|
48
|
+
workspaceRoot: 'path/to/project',
|
|
49
|
+
logger: builderContextLoggerMock,
|
|
50
|
+
})
|
|
51
|
+
.pipe((0, operators_1.take)(1))
|
|
52
|
+
.subscribe();
|
|
53
|
+
expect(cpSpawnMock.spawn).toHaveBeenCalledWith('npx', ['compodoc', '-d', 'path/to/project', '-p', 'path/to/tsconfig.stories.json'], {
|
|
54
|
+
cwd: 'path/to/project',
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BuilderContext } from '@angular-devkit/architect';
|
|
2
|
-
import type { LoadOptions, CLIOptions, BuilderOptions } from '@storybook/
|
|
2
|
+
import type { LoadOptions, CLIOptions, BuilderOptions } from '@storybook/types';
|
|
3
3
|
export declare type StandaloneOptions = Partial<CLIOptions & LoadOptions & BuilderOptions & {
|
|
4
4
|
mode?: 'static' | 'dev';
|
|
5
5
|
angularBrowserTarget?: string | null;
|
|
@@ -13,7 +13,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.AppComponent = void 0;
|
|
16
|
-
/* eslint-disable no-useless-constructor */
|
|
17
16
|
// We could use NgComponentOutlet here but there's currently no easy way
|
|
18
17
|
// to provide @Inputs and subscribe to @Outputs, see
|
|
19
18
|
// https://github.com/angular/angular/issues/15360
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Type } from '@angular/core';
|
|
2
|
-
import type {
|
|
2
|
+
import type { API_ArgTypes } from '@storybook/types';
|
|
3
3
|
import type { ICollection } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* Converts a component into a template with inputs/outputs present in initial props
|
|
@@ -14,4 +14,4 @@ export declare const computesTemplateFromComponent: (component: Type<unknown>, i
|
|
|
14
14
|
* @param initialProps
|
|
15
15
|
* @param innerTemplate
|
|
16
16
|
*/
|
|
17
|
-
export declare const computesTemplateSourceFromComponent: (component: Type<unknown>, initialProps?: ICollection, argTypes?:
|
|
17
|
+
export declare const computesTemplateSourceFromComponent: (component: Type<unknown>, initialProps?: ICollection, argTypes?: API_ArgTypes) => string;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.DocsRenderer = void 0;
|
|
7
4
|
const addons_1 = require("@storybook/addons");
|
|
8
|
-
const core_events_1 =
|
|
5
|
+
const core_events_1 = require("@storybook/core-events");
|
|
9
6
|
const AbstractRenderer_1 = require("./AbstractRenderer");
|
|
10
7
|
class DocsRenderer extends AbstractRenderer_1.AbstractRenderer {
|
|
11
8
|
async render(options) {
|
|
@@ -20,7 +17,7 @@ class DocsRenderer extends AbstractRenderer_1.AbstractRenderer {
|
|
|
20
17
|
* rendered in the doc. But one event could be enough for the whole docs
|
|
21
18
|
*
|
|
22
19
|
*/
|
|
23
|
-
channel.once(core_events_1.
|
|
20
|
+
channel.once(core_events_1.STORY_CHANGED, async () => {
|
|
24
21
|
await DocsRenderer.resetPlatformBrowserDynamic();
|
|
25
22
|
});
|
|
26
23
|
/**
|
|
@@ -28,7 +25,7 @@ class DocsRenderer extends AbstractRenderer_1.AbstractRenderer {
|
|
|
28
25
|
* when doc re render. Allows to call ngOnDestroy of angular
|
|
29
26
|
* for previous component
|
|
30
27
|
*/
|
|
31
|
-
channel.once(core_events_1.
|
|
28
|
+
channel.once(core_events_1.DOCS_RENDERED, async () => {
|
|
32
29
|
await DocsRenderer.resetPlatformBrowserDynamic();
|
|
33
30
|
});
|
|
34
31
|
await super.render({ ...options, forced: false });
|
|
@@ -38,7 +38,6 @@ const createStorybookWrapperComponent = (selector, template, storyComponent, sty
|
|
|
38
38
|
// storyComponent was not provided.
|
|
39
39
|
const viewChildSelector = storyComponent ?? '__storybook-noop';
|
|
40
40
|
let StorybookWrapperComponent = class StorybookWrapperComponent {
|
|
41
|
-
// eslint-disable-next-line no-useless-constructor
|
|
42
41
|
constructor(storyProps$, changeDetectorRef) {
|
|
43
42
|
this.storyProps$ = storyProps$;
|
|
44
43
|
this.changeDetectorRef = changeDetectorRef;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DecoratorFunction, LegacyStoryFn } from '@storybook/
|
|
1
|
+
import type { DecoratorFunction, LegacyStoryFn } from '@storybook/types';
|
|
2
2
|
import type { AngularFramework } from './types';
|
|
3
3
|
export default function decorateStory(mainStoryFn: LegacyStoryFn<AngularFramework>, decorators: DecoratorFunction<AngularFramework>[]): LegacyStoryFn<AngularFramework>;
|
|
4
4
|
export { decorateStory };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Type } from '@angular/core';
|
|
2
|
-
import type { DecoratorFunction, StoryContext } from '@storybook/
|
|
2
|
+
import type { DecoratorFunction, StoryContext } from '@storybook/types';
|
|
3
3
|
import type { ICollection, NgModuleMetadata, AngularFramework } from './types';
|
|
4
4
|
export declare const moduleMetadata: <TArgs = any>(metadata: Partial<NgModuleMetadata>) => DecoratorFunction<AngularFramework, TArgs>;
|
|
5
5
|
export declare const componentWrapperDecorator: <TArgs = any>(element: Type<unknown> | ((story: string) => string), props?: ICollection | ((storyContext: StoryContext<AngularFramework, TArgs>) => ICollection)) => DecoratorFunction<AngularFramework, TArgs>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { API_ArgTypes } from '@storybook/types';
|
|
2
2
|
import type { Class, CompodocJson, Component, Injectable, Method, Pipe, Property, Directive } from './types';
|
|
3
3
|
export declare const isMethod: (methodOrProp: Method | Property) => methodOrProp is Method;
|
|
4
4
|
export declare const setCompodocJson: (compodocJson: CompodocJson) => void;
|
|
@@ -13,6 +13,6 @@ export declare const extractType: (property: Property, defaultValue: any) => {
|
|
|
13
13
|
name: string;
|
|
14
14
|
value: any[];
|
|
15
15
|
};
|
|
16
|
-
export declare const extractArgTypesFromData: (componentData: Class | Directive | Injectable | Pipe) =>
|
|
17
|
-
export declare const extractArgTypes: (component: Component | Directive) =>
|
|
16
|
+
export declare const extractArgTypesFromData: (componentData: Class | Directive | Injectable | Pipe) => API_ArgTypes;
|
|
17
|
+
export declare const extractArgTypes: (component: Component | Directive) => API_ArgTypes;
|
|
18
18
|
export declare const extractComponentDescription: (component: Component | Directive) => string;
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const parameters:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
extractArgTypes: (component: import("./types").Directive) => import("lib/api/dist").ArgTypes;
|
|
6
|
-
extractComponentDescription: (component: import("./types").Directive) => string;
|
|
7
|
-
source: {
|
|
8
|
-
type: SourceType;
|
|
9
|
-
language: string;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
export declare const decorators: ((storyFn: import("@storybook/csf").PartialStoryFn<import("../types").AngularFramework, import("@storybook/csf").Args>, context: import("../types").StoryContext) => import("..").IStory)[];
|
|
14
|
-
export declare const argTypesEnhancers: (<TFramework extends import("@storybook/csf").AnyFramework>(context: import("@storybook/csf").StoryContextForEnhancers<TFramework, import("@storybook/csf").Args>) => import("@storybook/csf").StrictArgTypes<import("@storybook/csf").Args>)[];
|
|
1
|
+
import type { Parameters, DecoratorFunction, ArgTypesEnhancer } from '@storybook/types';
|
|
2
|
+
export declare const parameters: Parameters;
|
|
3
|
+
export declare const decorators: DecoratorFunction[];
|
|
4
|
+
export declare const argTypesEnhancers: ArgTypesEnhancer[];
|
|
@@ -17,7 +17,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.componentWrapperDecorator = exports.moduleMetadata = void 0;
|
|
19
19
|
require("./globals");
|
|
20
|
+
// eslint-disable-next-line import/export
|
|
20
21
|
__exportStar(require("./public-api"), exports);
|
|
22
|
+
// eslint-disable-next-line import/export
|
|
21
23
|
__exportStar(require("./public-types"), exports);
|
|
22
24
|
var decorators_1 = require("./decorators");
|
|
23
25
|
Object.defineProperty(exports, "moduleMetadata", { enumerable: true, get: function () { return decorators_1.moduleMetadata; } });
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="webpack-env" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
import type {
|
|
3
|
+
import type { Addon_ClientStoryApi, Addon_Loadable } from '@storybook/types';
|
|
4
4
|
import type { AngularFramework } from './types';
|
|
5
5
|
export * from './public-types';
|
|
6
|
-
interface ClientApi extends
|
|
7
|
-
configure(loader:
|
|
6
|
+
interface ClientApi extends Addon_ClientStoryApi<AngularFramework['storyResult']> {
|
|
7
|
+
configure(loader: Addon_Loadable, module: NodeModule): void;
|
|
8
8
|
forceReRender(): void;
|
|
9
9
|
raw: () => any;
|
|
10
10
|
load: (...args: any[]) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Args, ComponentAnnotations, StoryAnnotations
|
|
1
|
+
import type { AnnotatedStoryFn, Args, ComponentAnnotations, StoryAnnotations } from '@storybook/types';
|
|
2
2
|
import { AngularFramework } from './types';
|
|
3
|
-
export type { Args, ArgTypes } from '@storybook/
|
|
3
|
+
export type { Args, ArgTypes } from '@storybook/types';
|
|
4
4
|
/**
|
|
5
5
|
* Metadata to configure the stories for a component.
|
|
6
6
|
*
|
|
@@ -20,8 +20,12 @@ export declare type StoryFn<TArgs = Args> = AnnotatedStoryFn<AngularFramework, T
|
|
|
20
20
|
*/
|
|
21
21
|
export declare type StoryObj<TArgs = Args> = StoryAnnotations<AngularFramework, TArgs>;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* @deprecated Use `StoryFn` instead.
|
|
24
|
+
* Use `StoryObj` if you want to migrate to CSF3, which uses objects instead of functions to represent stories.
|
|
25
|
+
* You can read more about the CSF3 format here: https://storybook.js.org/blog/component-story-format-3-0/
|
|
26
|
+
*
|
|
27
|
+
* Story function that represents a CSFv2 component example.
|
|
24
28
|
*
|
|
25
29
|
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
26
30
|
*/
|
|
27
|
-
export declare type Story<TArgs = Args> =
|
|
31
|
+
export declare type Story<TArgs = Args> = StoryFn<TArgs>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ArgsStoryFn } from '@storybook/csf';
|
|
1
|
+
import type { Store_RenderContext, ArgsStoryFn } from '@storybook/types';
|
|
3
2
|
import type { AngularFramework } from './types';
|
|
4
3
|
import { RendererFactory } from './angular-beta/RendererFactory';
|
|
5
4
|
export declare const rendererFactory: RendererFactory;
|
|
6
5
|
export declare const render: ArgsStoryFn<AngularFramework>;
|
|
7
|
-
export declare function renderToDOM({ storyFn, showMain, forceRemount, storyContext: { parameters, component }, id, }:
|
|
6
|
+
export declare function renderToDOM({ storyFn, showMain, forceRemount, storyContext: { parameters, component }, id, }: Store_RenderContext<AngularFramework>, element: HTMLElement): Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Parameters as DefaultParameters, StoryContext as DefaultStoryContext } from '@storybook/
|
|
1
|
+
import type { Parameters as DefaultParameters, StoryContext as DefaultStoryContext } from '@storybook/types';
|
|
2
2
|
export interface NgModuleMetadata {
|
|
3
3
|
declarations?: any[];
|
|
4
4
|
entryComponents?: any[];
|
package/dist/types/preset.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PresetProperty } from '@storybook/
|
|
1
|
+
import type { PresetProperty } from '@storybook/types';
|
|
2
2
|
import { StorybookConfig } from './types';
|
|
3
3
|
export declare const addons: PresetProperty<'addons', StorybookConfig>;
|
|
4
4
|
export declare const previewAnnotations: StorybookConfig['previewAnnotations'];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.findAngularProjectTarget = exports.getDefaultProjectName = exports.readAngularWorkspaceConfig = void 0;
|
|
4
|
+
/* eslint-disable global-require */
|
|
4
5
|
const node_1 = require("@angular-devkit/core/node");
|
|
5
6
|
const core_1 = require("@angular-devkit/core");
|
|
6
7
|
/**
|
|
@@ -16,7 +17,6 @@ const readAngularWorkspaceConfig = async (dirToSearch) => {
|
|
|
16
17
|
* Apologies for the following line
|
|
17
18
|
* If there's a better way to do it, let's do it
|
|
18
19
|
*/
|
|
19
|
-
/* eslint-disable global-require */
|
|
20
20
|
// catch if nx.json does not exist
|
|
21
21
|
require('@nrwl/workspace').readNxJson();
|
|
22
22
|
const nxWorkspace = require('@nrwl/workspace').readWorkspaceConfig({
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { StorybookConfig } from '@storybook/
|
|
1
|
+
import type { StorybookConfig } from '@storybook/types';
|
|
2
2
|
export declare const previewAnnotations: StorybookConfig['previewAnnotations'];
|
|
@@ -39,7 +39,7 @@ const path = __importStar(require("path"));
|
|
|
39
39
|
* @returns A Promise that resolves to the dynamically imported module.
|
|
40
40
|
*/
|
|
41
41
|
function loadEsmModule(modulePath) {
|
|
42
|
-
// eslint-disable-next-line no-
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
43
43
|
return new Function('modulePath', `return import(modulePath);`)(modulePath);
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Options as CoreOptions } from '@storybook/
|
|
1
|
+
import type { Options as CoreOptions } from '@storybook/types';
|
|
2
2
|
import { BuilderContext } from '@angular-devkit/architect';
|
|
3
3
|
import { ExtraEntryPoint, StylePreprocessorOptions } from '@angular-devkit/build-angular';
|
|
4
4
|
export declare type PresetOptions = CoreOptions & {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/angular",
|
|
3
|
-
"version": "7.0.0-alpha.
|
|
3
|
+
"version": "7.0.0-alpha.44",
|
|
4
4
|
"description": "Storybook for Angular: Develop Angular components in isolation with hot reloading.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook",
|
|
@@ -34,19 +34,19 @@
|
|
|
34
34
|
"prep": "node ../../../scripts/prepare.js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@storybook/addons": "7.0.0-alpha.
|
|
38
|
-
"@storybook/api": "7.0.0-alpha.
|
|
39
|
-
"@storybook/builder-webpack5": "7.0.0-alpha.
|
|
40
|
-
"@storybook/client-logger": "7.0.0-alpha.
|
|
41
|
-
"@storybook/core-client": "7.0.0-alpha.
|
|
42
|
-
"@storybook/core-common": "7.0.0-alpha.
|
|
43
|
-
"@storybook/core-events": "7.0.0-alpha.
|
|
44
|
-
"@storybook/core-server": "7.0.0-alpha.
|
|
45
|
-
"@storybook/core-webpack": "7.0.0-alpha.
|
|
46
|
-
"@storybook/
|
|
47
|
-
"@storybook/
|
|
48
|
-
"@storybook/
|
|
49
|
-
"@storybook/
|
|
37
|
+
"@storybook/addons": "7.0.0-alpha.44",
|
|
38
|
+
"@storybook/api": "7.0.0-alpha.44",
|
|
39
|
+
"@storybook/builder-webpack5": "7.0.0-alpha.44",
|
|
40
|
+
"@storybook/client-logger": "7.0.0-alpha.44",
|
|
41
|
+
"@storybook/core-client": "7.0.0-alpha.44",
|
|
42
|
+
"@storybook/core-common": "7.0.0-alpha.44",
|
|
43
|
+
"@storybook/core-events": "7.0.0-alpha.44",
|
|
44
|
+
"@storybook/core-server": "7.0.0-alpha.44",
|
|
45
|
+
"@storybook/core-webpack": "7.0.0-alpha.44",
|
|
46
|
+
"@storybook/docs-tools": "7.0.0-alpha.44",
|
|
47
|
+
"@storybook/node-logger": "7.0.0-alpha.44",
|
|
48
|
+
"@storybook/store": "7.0.0-alpha.44",
|
|
49
|
+
"@storybook/types": "7.0.0-alpha.44",
|
|
50
50
|
"@types/node": "^16.0.0",
|
|
51
51
|
"@types/react": "^16.14.23",
|
|
52
52
|
"@types/react-dom": "^16.9.14",
|
|
@@ -120,5 +120,5 @@
|
|
|
120
120
|
"access": "public"
|
|
121
121
|
},
|
|
122
122
|
"builders": "dist/types/builders/builders.json",
|
|
123
|
-
"gitHead": "
|
|
123
|
+
"gitHead": "d4965bd328d8f83c279560c7bc8428e490b275f3"
|
|
124
124
|
}
|