@nx/storybook 17.0.4 → 17.0.6
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/LICENSE +1 -1
- package/README.md +4 -9
- package/generators.json +2 -2
- package/migrations.json +0 -140
- package/package.json +7 -7
- package/presets/cypress.d.ts +20 -1
- package/src/executors/build-storybook/build-storybook.impl.js +1 -1
- package/src/executors/storybook/storybook.impl.js +1 -1
- package/src/generators/configuration/configuration.d.ts +1 -2
- package/src/generators/configuration/configuration.js +32 -69
- package/src/generators/configuration/lib/util-functions.d.ts +5 -11
- package/src/generators/configuration/lib/util-functions.js +69 -88
- package/src/generators/configuration/project-files/.storybook/main.js__tmpl__ +3 -23
- package/src/generators/configuration/project-files-ts/.storybook/main.ts__tmpl__ +3 -22
- package/src/generators/configuration/schema.d.ts +3 -9
- package/src/generators/configuration/schema.json +13 -6
- package/src/generators/cypress-project/cypress-project.d.ts +3 -3
- package/src/generators/cypress-project/cypress-project.js +8 -3
- package/src/generators/cypress-project/schema.json +1 -1
- package/src/generators/init/init.d.ts +0 -1
- package/src/generators/init/init.js +117 -47
- package/src/generators/init/schema.d.ts +4 -5
- package/src/generators/init/schema.json +33 -18
- package/src/migrations/update-16-5-0/move-storybook-tsconfig.js +0 -1
- package/src/utils/models.d.ts +1 -1
- package/src/utils/utilities.d.ts +0 -1
- package/src/utils/utilities.js +8 -30
- package/src/utils/versions.d.ts +7 -6
- package/src/utils/versions.js +8 -7
- package/plugin.d.ts +0 -1
- package/plugin.js +0 -6
- package/src/generators/configuration/lib/edit-root-tsconfig.d.ts +0 -8
- package/src/generators/configuration/lib/edit-root-tsconfig.js +0 -35
- package/src/generators/configuration/lib/ensure-dependencies.d.ts +0 -6
- package/src/generators/configuration/lib/ensure-dependencies.js +0 -70
- package/src/generators/init/lib/update-gitignore.d.ts +0 -2
- package/src/generators/init/lib/update-gitignore.js +0 -16
- package/src/plugins/plugin.d.ts +0 -9
- package/src/plugins/plugin.js +0 -232
|
@@ -1,28 +1,89 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.initGenerator = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const
|
|
6
|
-
const semver_1 = require("semver");
|
|
7
|
-
const plugin_1 = require("../../plugins/plugin");
|
|
8
|
-
const utilities_1 = require("../../utils/utilities");
|
|
5
|
+
const js_1 = require("@nx/js");
|
|
9
6
|
const versions_1 = require("../../utils/versions");
|
|
10
|
-
const
|
|
7
|
+
const utilities_1 = require("../../utils/utilities");
|
|
8
|
+
const semver_1 = require("semver");
|
|
11
9
|
function checkDependenciesInstalled(host, schema) {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
const packageJson = (0, devkit_1.readJson)(host, 'package.json');
|
|
11
|
+
const devDependencies = {};
|
|
12
|
+
const dependencies = {};
|
|
13
|
+
packageJson.dependencies = packageJson.dependencies || {};
|
|
14
|
+
packageJson.devDependencices = packageJson.devDependencices || {};
|
|
15
|
+
// base deps
|
|
16
|
+
devDependencies['@nx/storybook'] = versions_1.nxVersion;
|
|
17
|
+
let storybook7VersionToInstall = versions_1.storybookVersion;
|
|
18
|
+
if ((0, utilities_1.storybookMajorVersion)() === 7 &&
|
|
19
|
+
(0, utilities_1.getInstalledStorybookVersion)() &&
|
|
20
|
+
(0, semver_1.gte)((0, utilities_1.getInstalledStorybookVersion)(), '7.0.0')) {
|
|
21
|
+
storybook7VersionToInstall = (0, utilities_1.getInstalledStorybookVersion)();
|
|
22
|
+
}
|
|
23
|
+
// Needed for Storybook 7
|
|
24
|
+
// https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#react-peer-dependencies-required
|
|
25
|
+
if (!packageJson.dependencies['react'] &&
|
|
26
|
+
!packageJson.devDependencies['react']) {
|
|
27
|
+
dependencies['react'] = versions_1.reactVersion;
|
|
28
|
+
}
|
|
29
|
+
if (!packageJson.dependencies['react-dom'] &&
|
|
30
|
+
!packageJson.devDependencies['react-dom']) {
|
|
31
|
+
dependencies['react-dom'] = versions_1.reactVersion;
|
|
32
|
+
}
|
|
33
|
+
devDependencies['@storybook/core-server'] = storybook7VersionToInstall;
|
|
34
|
+
devDependencies['@storybook/addon-essentials'] = storybook7VersionToInstall;
|
|
35
|
+
if (schema.uiFramework) {
|
|
36
|
+
if (schema.uiFramework === '@storybook/react-native') {
|
|
37
|
+
devDependencies['@storybook/react-native'] = versions_1.storybookReactNativeVersion;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
devDependencies[schema.uiFramework] = storybook7VersionToInstall;
|
|
41
|
+
const isPnpm = (0, devkit_1.detectPackageManager)(host.root) === 'pnpm';
|
|
42
|
+
if (isPnpm) {
|
|
43
|
+
// If it's pnpm, it needs the framework without the builder
|
|
44
|
+
// as a dependency too (eg. @storybook/react)
|
|
45
|
+
const matchResult = schema.uiFramework?.match(/^@storybook\/(\w+)/);
|
|
46
|
+
const uiFrameworkWithoutBuilder = matchResult ? matchResult[0] : null;
|
|
47
|
+
if (uiFrameworkWithoutBuilder) {
|
|
48
|
+
devDependencies[uiFrameworkWithoutBuilder] =
|
|
49
|
+
storybook7VersionToInstall;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (schema.uiFramework === '@storybook/vue3-vite') {
|
|
54
|
+
if (!packageJson.dependencies['@storybook/vue3'] &&
|
|
55
|
+
!packageJson.devDependencies['@storybook/vue3']) {
|
|
56
|
+
devDependencies['@storybook/vue3'] = storybook7VersionToInstall;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (schema.uiFramework === '@storybook/angular') {
|
|
60
|
+
if (!packageJson.dependencies['@angular/forms'] &&
|
|
61
|
+
!packageJson.devDependencies['@angular/forms']) {
|
|
62
|
+
devDependencies['@angular/forms'] = '*';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (schema.uiFramework === '@storybook/web-components-vite' ||
|
|
66
|
+
schema.uiFramework === '@storybook/web-components-webpack5') {
|
|
67
|
+
devDependencies['lit'] = versions_1.litVersion;
|
|
68
|
+
}
|
|
69
|
+
if (schema.uiFramework === '@storybook/react-native') {
|
|
70
|
+
devDependencies['@storybook/addon-ondevice-actions'] =
|
|
71
|
+
versions_1.storybookReactNativeVersion;
|
|
72
|
+
devDependencies['@storybook/addon-ondevice-backgrounds'] =
|
|
73
|
+
versions_1.storybookReactNativeVersion;
|
|
74
|
+
devDependencies['@storybook/addon-ondevice-controls'] =
|
|
75
|
+
versions_1.storybookReactNativeVersion;
|
|
76
|
+
devDependencies['@storybook/addon-ondevice-notes'] =
|
|
77
|
+
versions_1.storybookReactNativeVersion;
|
|
78
|
+
}
|
|
79
|
+
if (schema.uiFramework.endsWith('-vite')) {
|
|
80
|
+
if (!packageJson.dependencies['vite'] &&
|
|
81
|
+
!packageJson.devDependencies['vite']) {
|
|
82
|
+
devDependencies['vite'] = versions_1.viteVersion;
|
|
83
|
+
}
|
|
22
84
|
}
|
|
23
|
-
devDependencies['storybook'] = storybook7VersionToInstall;
|
|
24
85
|
}
|
|
25
|
-
return (0, devkit_1.addDependenciesToPackageJson)(host,
|
|
86
|
+
return (0, devkit_1.addDependenciesToPackageJson)(host, dependencies, devDependencies);
|
|
26
87
|
}
|
|
27
88
|
function addCacheableOperation(tree) {
|
|
28
89
|
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
@@ -36,7 +97,6 @@ function addCacheableOperation(tree) {
|
|
|
36
97
|
(0, devkit_1.updateNxJson)(tree, nxJson);
|
|
37
98
|
}
|
|
38
99
|
function moveToDevDependencies(tree) {
|
|
39
|
-
let updated = false;
|
|
40
100
|
(0, devkit_1.updateJson)(tree, 'package.json', (packageJson) => {
|
|
41
101
|
packageJson.dependencies = packageJson.dependencies || {};
|
|
42
102
|
packageJson.devDependencies = packageJson.devDependencies || {};
|
|
@@ -44,40 +104,50 @@ function moveToDevDependencies(tree) {
|
|
|
44
104
|
packageJson.devDependencies['@nx/storybook'] =
|
|
45
105
|
packageJson.dependencies['@nx/storybook'];
|
|
46
106
|
delete packageJson.dependencies['@nx/storybook'];
|
|
47
|
-
updated = true;
|
|
48
107
|
}
|
|
49
108
|
return packageJson;
|
|
50
109
|
});
|
|
51
|
-
return updated ? () => (0, devkit_1.installPackagesTask)(tree) : () => { };
|
|
52
|
-
}
|
|
53
|
-
function initGenerator(tree, schema) {
|
|
54
|
-
return initGeneratorInternal(tree, { addPlugin: false, ...schema });
|
|
55
110
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
(0,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
111
|
+
/**
|
|
112
|
+
* This is a temporary fix for Storybook to support TypeScript configuration files.
|
|
113
|
+
* The issue is that if there is a root tsconfig.json file, Storybook will use it, and
|
|
114
|
+
* ignore the tsconfig.json file in the .storybook folder. This results in module being set
|
|
115
|
+
* to esnext, and Storybook does not recognise the main.ts code as a module.
|
|
116
|
+
*/
|
|
117
|
+
function editRootTsConfig(tree) {
|
|
118
|
+
if (tree.exists('tsconfig.json')) {
|
|
119
|
+
(0, devkit_1.updateJson)(tree, 'tsconfig.json', (json) => {
|
|
120
|
+
if (json['ts-node']) {
|
|
121
|
+
json['ts-node'] = {
|
|
122
|
+
...json['ts-node'],
|
|
123
|
+
compilerOptions: {
|
|
124
|
+
...(json['ts-node'].compilerOptions ?? {}),
|
|
125
|
+
module: 'commonjs',
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
json['ts-node'] = {
|
|
131
|
+
compilerOptions: {
|
|
132
|
+
module: 'commonjs',
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
return json;
|
|
137
|
+
});
|
|
68
138
|
}
|
|
139
|
+
}
|
|
140
|
+
async function initGenerator(tree, schema) {
|
|
69
141
|
const tasks = [];
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
await (0, devkit_1.formatFiles)(tree);
|
|
79
|
-
}
|
|
142
|
+
tasks.push(await (0, js_1.initGenerator)(tree, {
|
|
143
|
+
...schema,
|
|
144
|
+
skipFormat: true,
|
|
145
|
+
}));
|
|
146
|
+
tasks.push(checkDependenciesInstalled(tree, schema));
|
|
147
|
+
moveToDevDependencies(tree);
|
|
148
|
+
editRootTsConfig(tree);
|
|
149
|
+
addCacheableOperation(tree);
|
|
80
150
|
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
81
151
|
}
|
|
82
|
-
exports.
|
|
152
|
+
exports.initGenerator = initGenerator;
|
|
83
153
|
exports.default = initGenerator;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
import { UiFramework } from '../../utils/models';
|
|
2
|
+
|
|
1
3
|
export interface Schema {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
keepExistingVersions?: boolean;
|
|
5
|
-
updatePackageScripts?: boolean;
|
|
6
|
-
addPlugin?: boolean;
|
|
4
|
+
uiFramework: UiFramework;
|
|
5
|
+
js?: boolean;
|
|
7
6
|
}
|
|
@@ -5,26 +5,41 @@
|
|
|
5
5
|
"$id": "init-storybook-plugin",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
"uiFramework": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Storybook UI Framework to use.",
|
|
11
|
+
"enum": [
|
|
12
|
+
"@storybook/angular",
|
|
13
|
+
"@storybook/html-webpack5",
|
|
14
|
+
"@storybook/nextjs",
|
|
15
|
+
"@storybook/preact-webpack5",
|
|
16
|
+
"@storybook/react-webpack5",
|
|
17
|
+
"@storybook/react-vite",
|
|
18
|
+
"@storybook/server-webpack5",
|
|
19
|
+
"@storybook/svelte-webpack5",
|
|
20
|
+
"@storybook/svelte-vite",
|
|
21
|
+
"@storybook/sveltekit",
|
|
22
|
+
"@storybook/vue-webpack5",
|
|
23
|
+
"@storybook/vue-vite",
|
|
24
|
+
"@storybook/vue3-webpack5",
|
|
25
|
+
"@storybook/vue3-vite",
|
|
26
|
+
"@storybook/web-components-webpack5",
|
|
27
|
+
"@storybook/web-components-vite",
|
|
28
|
+
"@storybook/react",
|
|
29
|
+
"@storybook/html",
|
|
30
|
+
"@storybook/web-components",
|
|
31
|
+
"@storybook/vue",
|
|
32
|
+
"@storybook/vue3",
|
|
33
|
+
"@storybook/svelte",
|
|
34
|
+
"@storybook/react-native"
|
|
35
|
+
],
|
|
36
|
+
"x-prompt": "What UI framework plugin should storybook use?",
|
|
37
|
+
"x-priority": "important",
|
|
38
|
+
"aliases": ["storybook7UiFramework"]
|
|
23
39
|
},
|
|
24
|
-
"
|
|
40
|
+
"js": {
|
|
25
41
|
"type": "boolean",
|
|
26
|
-
"
|
|
27
|
-
"description": "Update `package.json` scripts with inferred targets",
|
|
42
|
+
"description": "Generate JavaScript story files rather than TypeScript story files.",
|
|
28
43
|
"default": false
|
|
29
44
|
}
|
|
30
45
|
}
|
|
@@ -14,7 +14,6 @@ async function default_1(tree) {
|
|
|
14
14
|
(0, util_functions_1.renameAndMoveOldTsConfig)(projectRoot, pathToStorybookConfigFile, tree);
|
|
15
15
|
});
|
|
16
16
|
(0, util_functions_1.addStorybookToNamedInputs)(tree);
|
|
17
|
-
(0, util_functions_1.addStorybookToTargetDefaults)(tree, false);
|
|
18
17
|
await (0, devkit_1.formatFiles)(tree);
|
|
19
18
|
}
|
|
20
19
|
exports.default = default_1;
|
package/src/utils/models.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export type UiFramework = '@storybook/angular' | '@storybook/html-webpack5' | '@storybook/nextjs' | '@storybook/preact-webpack5' | '@storybook/react-webpack5' | '@storybook/react-vite' | '@storybook/server-webpack5' | '@storybook/svelte-webpack5' | '@storybook/svelte-vite' | '@storybook/sveltekit' | '@storybook/vue-webpack5' | '@storybook/vue-vite' | '@storybook/vue3-webpack5' | '@storybook/vue3-vite' | '@storybook/web-components-webpack5' | '@storybook/web-components-vite';
|
|
1
|
+
export type UiFramework = '@storybook/angular' | '@storybook/html-webpack5' | '@storybook/nextjs' | '@storybook/preact-webpack5' | '@storybook/react-webpack5' | '@storybook/react-vite' | '@storybook/server-webpack5' | '@storybook/svelte-webpack5' | '@storybook/svelte-vite' | '@storybook/sveltekit' | '@storybook/vue-webpack5' | '@storybook/vue-vite' | '@storybook/vue3-webpack5' | '@storybook/vue3-vite' | '@storybook/web-components-webpack5' | '@storybook/web-components-vite' | '@storybook/react-native';
|
package/src/utils/utilities.d.ts
CHANGED
|
@@ -40,4 +40,3 @@ export declare function findStorybookAndBuildTargetsAndCompiler(targets: {
|
|
|
40
40
|
export declare function isTheFileAStory(tree: Tree, path: string): boolean;
|
|
41
41
|
export declare function getTsSourceFile(host: Tree, path: string): ts.SourceFile;
|
|
42
42
|
export declare function pleaseUpgrade(): string;
|
|
43
|
-
export declare function addPlugin(tree: Tree): void;
|
package/src/utils/utilities.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
3
|
+
exports.pleaseUpgrade = exports.getTsSourceFile = exports.isTheFileAStory = exports.findStorybookAndBuildTargetsAndCompiler = exports.dedupe = exports.storybookConfigExistsCheck = exports.safeFileDelete = exports.getInstalledStorybookVersion = exports.storybookMajorVersion = exports.Constants = void 0;
|
|
5
4
|
const fs_1 = require("fs");
|
|
6
5
|
const js_1 = require("@nx/js");
|
|
7
6
|
const ts = require("typescript");
|
|
@@ -93,6 +92,9 @@ function findStorybookAndBuildTargetsAndCompiler(targets) {
|
|
|
93
92
|
'@nx/angular:webpack-browser',
|
|
94
93
|
'@nx/esbuild:esbuild',
|
|
95
94
|
'@nx/next:build',
|
|
95
|
+
'@nx/react-native:bundle',
|
|
96
|
+
'@nx/react-native:build-android',
|
|
97
|
+
'@nx/react-native:bundle',
|
|
96
98
|
'@nrwl/js:babel',
|
|
97
99
|
'@nrwl/js:swc',
|
|
98
100
|
'@nrwl/js:tsc',
|
|
@@ -105,17 +107,15 @@ function findStorybookAndBuildTargetsAndCompiler(targets) {
|
|
|
105
107
|
'@nrwl/angular:webpack-browser',
|
|
106
108
|
'@nrwl/esbuild:esbuild',
|
|
107
109
|
'@nrwl/next:build',
|
|
110
|
+
'@nrwl/react-native:bundle',
|
|
111
|
+
'@nrwl/react-native:build-android',
|
|
112
|
+
'@nrwl/react-native:bundle',
|
|
108
113
|
'@nxext/vite:build',
|
|
109
|
-
'@angular-devkit/build-angular:application',
|
|
110
114
|
'@angular-devkit/build-angular:browser',
|
|
111
|
-
'@angular-devkit/build-angular:browser-esbuild',
|
|
112
115
|
];
|
|
113
116
|
for (const target in targets) {
|
|
114
117
|
if (arrayOfBuilders.includes(targets[target].executor)) {
|
|
115
|
-
if (targets[target].executor === '@angular-devkit/build-angular:browser'
|
|
116
|
-
targets[target].executor ===
|
|
117
|
-
'@angular-devkit/build-angular:browser-esbuild' ||
|
|
118
|
-
targets[target].executor === '@angular-devkit/build-angular:application') {
|
|
118
|
+
if (targets[target].executor === '@angular-devkit/build-angular:browser') {
|
|
119
119
|
/**
|
|
120
120
|
* Not looking for '@nx/angular:ng-packagr-lite' or any other
|
|
121
121
|
* @nx/angular:* executors.
|
|
@@ -222,25 +222,3 @@ function pleaseUpgrade() {
|
|
|
222
222
|
`;
|
|
223
223
|
}
|
|
224
224
|
exports.pleaseUpgrade = pleaseUpgrade;
|
|
225
|
-
function addPlugin(tree) {
|
|
226
|
-
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
227
|
-
nxJson.plugins ??= [];
|
|
228
|
-
for (const plugin of nxJson.plugins) {
|
|
229
|
-
if (typeof plugin === 'string'
|
|
230
|
-
? plugin === '@nx/storybook/plugin'
|
|
231
|
-
: plugin.plugin === '@nx/storybook/plugin') {
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
nxJson.plugins.push({
|
|
236
|
-
plugin: '@nx/storybook/plugin',
|
|
237
|
-
options: {
|
|
238
|
-
buildStorybookTargetName: 'build-storybook',
|
|
239
|
-
serveStorybookTargetName: 'storybook',
|
|
240
|
-
testStorybookTargetName: 'test-storybook',
|
|
241
|
-
staticStorybookTargetName: 'static-storybook',
|
|
242
|
-
},
|
|
243
|
-
});
|
|
244
|
-
(0, devkit_1.updateNxJson)(tree, nxJson);
|
|
245
|
-
}
|
|
246
|
-
exports.addPlugin = addPlugin;
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export declare const nxVersion: any;
|
|
2
|
+
export declare const storybookReactNativeVersion = "^6.5.3";
|
|
3
|
+
export declare const reactNativeStorybookLoader = "^2.0.5";
|
|
2
4
|
export declare const storybookTestRunnerVersion = "^0.13.0";
|
|
3
|
-
export declare const storybookTestingLibraryVersion = "
|
|
4
|
-
export declare const storybookJestVersion = "
|
|
5
|
+
export declare const storybookTestingLibraryVersion = "~0.2.0";
|
|
6
|
+
export declare const storybookJestVersion = "~0.1.0";
|
|
5
7
|
export declare const litVersion = "^2.6.1";
|
|
6
8
|
export declare const tsNodeVersion = "10.9.1";
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const storybookVersion = "^7.5.3";
|
|
9
|
+
export declare const storybookVersion = "^7.5.1";
|
|
9
10
|
export declare const reactVersion = "^18.2.0";
|
|
10
|
-
export declare const viteVersion = "~
|
|
11
|
-
export declare const coreJsVersion = "^3.
|
|
11
|
+
export declare const viteVersion = "~4.3.9";
|
|
12
|
+
export declare const coreJsVersion = "^3.6.5";
|
package/src/utils/versions.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.coreJsVersion = exports.viteVersion = exports.reactVersion = exports.storybookVersion = exports.
|
|
3
|
+
exports.coreJsVersion = exports.viteVersion = exports.reactVersion = exports.storybookVersion = exports.tsNodeVersion = exports.litVersion = exports.storybookJestVersion = exports.storybookTestingLibraryVersion = exports.storybookTestRunnerVersion = exports.reactNativeStorybookLoader = exports.storybookReactNativeVersion = exports.nxVersion = void 0;
|
|
4
4
|
exports.nxVersion = require('../../package.json').version;
|
|
5
|
+
exports.storybookReactNativeVersion = '^6.5.3';
|
|
6
|
+
exports.reactNativeStorybookLoader = '^2.0.5';
|
|
5
7
|
exports.storybookTestRunnerVersion = '^0.13.0';
|
|
6
|
-
exports.storybookTestingLibraryVersion = '
|
|
7
|
-
exports.storybookJestVersion = '
|
|
8
|
+
exports.storybookTestingLibraryVersion = '~0.2.0';
|
|
9
|
+
exports.storybookJestVersion = '~0.1.0';
|
|
8
10
|
exports.litVersion = '^2.6.1';
|
|
9
11
|
exports.tsNodeVersion = '10.9.1';
|
|
10
|
-
exports.
|
|
11
|
-
exports.storybookVersion = '^7.5.3';
|
|
12
|
+
exports.storybookVersion = '^7.5.1';
|
|
12
13
|
exports.reactVersion = '^18.2.0';
|
|
13
|
-
exports.viteVersion = '~
|
|
14
|
-
exports.coreJsVersion = '^3.
|
|
14
|
+
exports.viteVersion = '~4.3.9';
|
|
15
|
+
exports.coreJsVersion = '^3.6.5';
|
package/plugin.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { createNodes, StorybookPluginOptions, createDependencies, } from './src/plugins/plugin';
|
package/plugin.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createDependencies = exports.createNodes = void 0;
|
|
4
|
-
var plugin_1 = require("./src/plugins/plugin");
|
|
5
|
-
Object.defineProperty(exports, "createNodes", { enumerable: true, get: function () { return plugin_1.createNodes; } });
|
|
6
|
-
Object.defineProperty(exports, "createDependencies", { enumerable: true, get: function () { return plugin_1.createDependencies; } });
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type Tree } from '@nx/devkit';
|
|
2
|
-
/**
|
|
3
|
-
* This is a temporary fix for Storybook to support TypeScript configuration files.
|
|
4
|
-
* The issue is that if there is a root tsconfig.json file, Storybook will use it, and
|
|
5
|
-
* ignore the tsconfig.json file in the .storybook folder. This results in module being set
|
|
6
|
-
* to esnext, and Storybook does not recognise the main.ts code as a module.
|
|
7
|
-
*/
|
|
8
|
-
export declare function editRootTsConfig(tree: Tree): void;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.editRootTsConfig = void 0;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
/**
|
|
6
|
-
* This is a temporary fix for Storybook to support TypeScript configuration files.
|
|
7
|
-
* The issue is that if there is a root tsconfig.json file, Storybook will use it, and
|
|
8
|
-
* ignore the tsconfig.json file in the .storybook folder. This results in module being set
|
|
9
|
-
* to esnext, and Storybook does not recognise the main.ts code as a module.
|
|
10
|
-
*/
|
|
11
|
-
function editRootTsConfig(tree) {
|
|
12
|
-
if (!tree.exists('tsconfig.json')) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
(0, devkit_1.updateJson)(tree, 'tsconfig.json', (json) => {
|
|
16
|
-
if (json['ts-node']) {
|
|
17
|
-
json['ts-node'] = {
|
|
18
|
-
...json['ts-node'],
|
|
19
|
-
compilerOptions: {
|
|
20
|
-
...(json['ts-node'].compilerOptions ?? {}),
|
|
21
|
-
module: 'commonjs',
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
json['ts-node'] = {
|
|
27
|
-
compilerOptions: {
|
|
28
|
-
module: 'commonjs',
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return json;
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
exports.editRootTsConfig = editRootTsConfig;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type Tree } from '@nx/devkit';
|
|
2
|
-
import type { StorybookConfigureSchema } from '../schema';
|
|
3
|
-
export type EnsureDependenciesOptions = {
|
|
4
|
-
uiFramework?: StorybookConfigureSchema['uiFramework'];
|
|
5
|
-
};
|
|
6
|
-
export declare function ensureDependencies(tree: Tree, options: EnsureDependenciesOptions): import("@nx/devkit").GeneratorCallback;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ensureDependencies = void 0;
|
|
4
|
-
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const semver_1 = require("semver");
|
|
6
|
-
const utilities_1 = require("../../../utils/utilities");
|
|
7
|
-
const versions_1 = require("../../../utils/versions");
|
|
8
|
-
function ensureDependencies(tree, options) {
|
|
9
|
-
let storybook7VersionToInstall = versions_1.storybookVersion;
|
|
10
|
-
if ((0, utilities_1.storybookMajorVersion)() >= 7 &&
|
|
11
|
-
(0, utilities_1.getInstalledStorybookVersion)() &&
|
|
12
|
-
(0, semver_1.gte)((0, utilities_1.getInstalledStorybookVersion)(), '7.0.0')) {
|
|
13
|
-
storybook7VersionToInstall = (0, utilities_1.getInstalledStorybookVersion)();
|
|
14
|
-
}
|
|
15
|
-
const dependencies = {};
|
|
16
|
-
const devDependencies = {
|
|
17
|
-
'@storybook/core-server': storybook7VersionToInstall,
|
|
18
|
-
'@storybook/addon-essentials': storybook7VersionToInstall,
|
|
19
|
-
};
|
|
20
|
-
const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
|
|
21
|
-
packageJson.dependencies ??= {};
|
|
22
|
-
packageJson.devDependencies ??= {};
|
|
23
|
-
// Needed for Storybook 7
|
|
24
|
-
// https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#react-peer-dependencies-required
|
|
25
|
-
if (!packageJson.dependencies['react'] &&
|
|
26
|
-
!packageJson.devDependencies['react']) {
|
|
27
|
-
dependencies['react'] = versions_1.reactVersion;
|
|
28
|
-
}
|
|
29
|
-
if (!packageJson.dependencies['react-dom'] &&
|
|
30
|
-
!packageJson.devDependencies['react-dom']) {
|
|
31
|
-
dependencies['react-dom'] = versions_1.reactVersion;
|
|
32
|
-
}
|
|
33
|
-
if (options.uiFramework) {
|
|
34
|
-
devDependencies[options.uiFramework] = storybook7VersionToInstall;
|
|
35
|
-
const isPnpm = (0, devkit_1.detectPackageManager)(tree.root) === 'pnpm';
|
|
36
|
-
if (isPnpm) {
|
|
37
|
-
// If it's pnpm, it needs the framework without the builder
|
|
38
|
-
// as a dependency too (eg. @storybook/react)
|
|
39
|
-
const matchResult = options.uiFramework?.match(/^@storybook\/(\w+)/);
|
|
40
|
-
const uiFrameworkWithoutBuilder = matchResult ? matchResult[0] : null;
|
|
41
|
-
if (uiFrameworkWithoutBuilder) {
|
|
42
|
-
devDependencies[uiFrameworkWithoutBuilder] = storybook7VersionToInstall;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (options.uiFramework === '@storybook/vue3-vite') {
|
|
46
|
-
if (!packageJson.dependencies['@storybook/vue3'] &&
|
|
47
|
-
!packageJson.devDependencies['@storybook/vue3']) {
|
|
48
|
-
devDependencies['@storybook/vue3'] = storybook7VersionToInstall;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (options.uiFramework === '@storybook/angular') {
|
|
52
|
-
if (!packageJson.dependencies['@angular/forms'] &&
|
|
53
|
-
!packageJson.devDependencies['@angular/forms']) {
|
|
54
|
-
devDependencies['@angular/forms'] = '*';
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (options.uiFramework === '@storybook/web-components-vite' ||
|
|
58
|
-
options.uiFramework === '@storybook/web-components-webpack5') {
|
|
59
|
-
devDependencies['lit'] = versions_1.litVersion;
|
|
60
|
-
}
|
|
61
|
-
if (options.uiFramework.endsWith('-vite')) {
|
|
62
|
-
if (!packageJson.dependencies['vite'] &&
|
|
63
|
-
!packageJson.devDependencies['vite']) {
|
|
64
|
-
devDependencies['vite'] = versions_1.viteVersion;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies);
|
|
69
|
-
}
|
|
70
|
-
exports.ensureDependencies = ensureDependencies;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateGitignore = void 0;
|
|
4
|
-
function updateGitignore(tree) {
|
|
5
|
-
if (!tree.exists('.gitignore')) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
const gitignore = tree.read('.gitignore', 'utf-8');
|
|
9
|
-
const regex = /storybook-static/gm;
|
|
10
|
-
const hasStorybookStatic = regex.test(gitignore ?? '');
|
|
11
|
-
if (hasStorybookStatic) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
tree.write('.gitignore', `${gitignore}\n\nstorybook-static`);
|
|
15
|
-
}
|
|
16
|
-
exports.updateGitignore = updateGitignore;
|
package/src/plugins/plugin.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CreateDependencies, CreateNodes } from '@nx/devkit';
|
|
2
|
-
export interface StorybookPluginOptions {
|
|
3
|
-
buildStorybookTargetName?: string;
|
|
4
|
-
serveStorybookTargetName?: string;
|
|
5
|
-
staticStorybookTargetName?: string;
|
|
6
|
-
testStorybookTargetName?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare const createDependencies: CreateDependencies;
|
|
9
|
-
export declare const createNodes: CreateNodes<StorybookPluginOptions>;
|