@storybook/angular 9.1.0-alpha.6 → 9.1.0-alpha.7

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.
Files changed (266) hide show
  1. package/build-schema.json +199 -0
  2. package/builders.json +14 -0
  3. package/dist/builders/build-storybook/index.js +31 -83
  4. package/dist/builders/start-storybook/index.js +31 -104
  5. package/dist/chunk-CUDJAP6K.mjs +3 -0
  6. package/dist/chunk-KMSSK3DZ.mjs +6 -0
  7. package/dist/chunk-LXSTVAFF.mjs +40 -0
  8. package/dist/client/config.d.ts +20 -6
  9. package/dist/client/config.js +49 -20
  10. package/dist/client/config.mjs +10 -13
  11. package/dist/client/docs/config.d.ts +6 -3
  12. package/dist/client/docs/config.js +18 -14
  13. package/dist/client/docs/config.mjs +6 -10
  14. package/dist/client/index.d.ts +144 -6
  15. package/dist/client/index.js +47 -30
  16. package/dist/client/index.mjs +3 -9
  17. package/dist/client/preview-prod.d.ts +2 -1
  18. package/dist/client/preview-prod.js +5 -4
  19. package/dist/client/preview-prod.mjs +1 -0
  20. package/dist/index.d.ts +59 -2
  21. package/dist/index.js +47 -29
  22. package/dist/index.mjs +3 -13
  23. package/dist/preset.js +8 -38
  24. package/dist/server/framework-preset-angular-cli.js +20 -84
  25. package/dist/server/framework-preset-angular-ivy.js +6 -59
  26. package/dist/{client/types.d.ts → types-3b0b7107.d.ts} +9 -9
  27. package/package.json +59 -12
  28. package/start-schema.json +234 -0
  29. package/dist/builders/build-storybook/index.d.ts +0 -25
  30. package/dist/builders/build-storybook/index.mjs +0 -81
  31. package/dist/builders/build-storybook/index.spec.d.ts +0 -1
  32. package/dist/builders/build-storybook/index.spec.js +0 -222
  33. package/dist/builders/build-storybook/index.spec.mjs +0 -187
  34. package/dist/builders/build-storybook/schema.json +0 -199
  35. package/dist/builders/builders.json +0 -14
  36. package/dist/builders/start-storybook/index.d.ts +0 -21
  37. package/dist/builders/start-storybook/index.mjs +0 -102
  38. package/dist/builders/start-storybook/index.spec.d.ts +0 -1
  39. package/dist/builders/start-storybook/index.spec.js +0 -188
  40. package/dist/builders/start-storybook/index.spec.mjs +0 -186
  41. package/dist/builders/start-storybook/schema.json +0 -234
  42. package/dist/builders/utils/error-handler.d.ts +0 -2
  43. package/dist/builders/utils/error-handler.js +0 -38
  44. package/dist/builders/utils/error-handler.mjs +0 -33
  45. package/dist/builders/utils/run-compodoc.d.ts +0 -6
  46. package/dist/builders/utils/run-compodoc.js +0 -35
  47. package/dist/builders/utils/run-compodoc.mjs +0 -31
  48. package/dist/builders/utils/run-compodoc.spec.d.ts +0 -1
  49. package/dist/builders/utils/run-compodoc.spec.js +0 -76
  50. package/dist/builders/utils/run-compodoc.spec.mjs +0 -74
  51. package/dist/builders/utils/standalone-options.d.ts +0 -18
  52. package/dist/builders/utils/standalone-options.js +0 -2
  53. package/dist/builders/utils/standalone-options.mjs +0 -1
  54. package/dist/client/angular-beta/AbstractRenderer.d.ts +0 -75
  55. package/dist/client/angular-beta/AbstractRenderer.js +0 -201
  56. package/dist/client/angular-beta/AbstractRenderer.mjs +0 -164
  57. package/dist/client/angular-beta/CanvasRenderer.d.ts +0 -12
  58. package/dist/client/angular-beta/CanvasRenderer.js +0 -13
  59. package/dist/client/angular-beta/CanvasRenderer.mjs +0 -9
  60. package/dist/client/angular-beta/ComputesTemplateFromComponent.d.ts +0 -24
  61. package/dist/client/angular-beta/ComputesTemplateFromComponent.js +0 -160
  62. package/dist/client/angular-beta/ComputesTemplateFromComponent.mjs +0 -154
  63. package/dist/client/angular-beta/ComputesTemplateFromComponent.test.d.ts +0 -1
  64. package/dist/client/angular-beta/ComputesTemplateFromComponent.test.js +0 -730
  65. package/dist/client/angular-beta/ComputesTemplateFromComponent.test.mjs +0 -728
  66. package/dist/client/angular-beta/DocsRenderer.d.ts +0 -13
  67. package/dist/client/angular-beta/DocsRenderer.js +0 -39
  68. package/dist/client/angular-beta/DocsRenderer.mjs +0 -35
  69. package/dist/client/angular-beta/RendererFactory.d.ts +0 -11
  70. package/dist/client/angular-beta/RendererFactory.js +0 -56
  71. package/dist/client/angular-beta/RendererFactory.mjs +0 -50
  72. package/dist/client/angular-beta/RendererFactory.test.d.ts +0 -1
  73. package/dist/client/angular-beta/RendererFactory.test.js +0 -235
  74. package/dist/client/angular-beta/RendererFactory.test.mjs +0 -233
  75. package/dist/client/angular-beta/StorybookModule.d.ts +0 -8
  76. package/dist/client/angular-beta/StorybookModule.js +0 -27
  77. package/dist/client/angular-beta/StorybookModule.mjs +0 -23
  78. package/dist/client/angular-beta/StorybookModule.test.d.ts +0 -1
  79. package/dist/client/angular-beta/StorybookModule.test.js +0 -321
  80. package/dist/client/angular-beta/StorybookModule.test.mjs +0 -319
  81. package/dist/client/angular-beta/StorybookProvider.d.ts +0 -5
  82. package/dist/client/angular-beta/StorybookProvider.js +0 -26
  83. package/dist/client/angular-beta/StorybookProvider.mjs +0 -22
  84. package/dist/client/angular-beta/StorybookWrapperComponent.d.ts +0 -13
  85. package/dist/client/angular-beta/StorybookWrapperComponent.js +0 -127
  86. package/dist/client/angular-beta/StorybookWrapperComponent.mjs +0 -123
  87. package/dist/client/angular-beta/__testfixtures__/input.component.d.ts +0 -29
  88. package/dist/client/angular-beta/__testfixtures__/input.component.js +0 -76
  89. package/dist/client/angular-beta/__testfixtures__/input.component.mjs +0 -73
  90. package/dist/client/angular-beta/__testfixtures__/test.module.d.ts +0 -2
  91. package/dist/client/angular-beta/__testfixtures__/test.module.js +0 -20
  92. package/dist/client/angular-beta/__testfixtures__/test.module.mjs +0 -17
  93. package/dist/client/angular-beta/utils/BootstrapQueue.d.ts +0 -12
  94. package/dist/client/angular-beta/utils/BootstrapQueue.js +0 -86
  95. package/dist/client/angular-beta/utils/BootstrapQueue.mjs +0 -49
  96. package/dist/client/angular-beta/utils/BootstrapQueue.test.d.ts +0 -1
  97. package/dist/client/angular-beta/utils/BootstrapQueue.test.js +0 -164
  98. package/dist/client/angular-beta/utils/BootstrapQueue.test.mjs +0 -162
  99. package/dist/client/angular-beta/utils/NgComponentAnalyzer.d.ts +0 -22
  100. package/dist/client/angular-beta/utils/NgComponentAnalyzer.js +0 -93
  101. package/dist/client/angular-beta/utils/NgComponentAnalyzer.mjs +0 -84
  102. package/dist/client/angular-beta/utils/NgComponentAnalyzer.test.d.ts +0 -1
  103. package/dist/client/angular-beta/utils/NgComponentAnalyzer.test.js +0 -388
  104. package/dist/client/angular-beta/utils/NgComponentAnalyzer.test.mjs +0 -386
  105. package/dist/client/angular-beta/utils/NgModulesAnalyzer.d.ts +0 -6
  106. package/dist/client/angular-beta/utils/NgModulesAnalyzer.js +0 -41
  107. package/dist/client/angular-beta/utils/NgModulesAnalyzer.mjs +0 -37
  108. package/dist/client/angular-beta/utils/NgModulesAnalyzer.test.d.ts +0 -1
  109. package/dist/client/angular-beta/utils/NgModulesAnalyzer.test.js +0 -24
  110. package/dist/client/angular-beta/utils/NgModulesAnalyzer.test.mjs +0 -22
  111. package/dist/client/angular-beta/utils/PropertyExtractor.d.ts +0 -30
  112. package/dist/client/angular-beta/utils/PropertyExtractor.js +0 -196
  113. package/dist/client/angular-beta/utils/PropertyExtractor.mjs +0 -158
  114. package/dist/client/angular-beta/utils/PropertyExtractor.test.d.ts +0 -1
  115. package/dist/client/angular-beta/utils/PropertyExtractor.test.js +0 -177
  116. package/dist/client/angular-beta/utils/PropertyExtractor.test.mjs +0 -175
  117. package/dist/client/angular-beta/utils/StoryUID.d.ts +0 -22
  118. package/dist/client/angular-beta/utils/StoryUID.js +0 -43
  119. package/dist/client/angular-beta/utils/StoryUID.mjs +0 -38
  120. package/dist/client/argsToTemplate.d.ts +0 -56
  121. package/dist/client/argsToTemplate.js +0 -58
  122. package/dist/client/argsToTemplate.mjs +0 -55
  123. package/dist/client/argsToTemplate.test.d.ts +0 -1
  124. package/dist/client/argsToTemplate.test.js +0 -102
  125. package/dist/client/argsToTemplate.test.mjs +0 -100
  126. package/dist/client/compodoc-types.d.ts +0 -102
  127. package/dist/client/compodoc-types.js +0 -2
  128. package/dist/client/compodoc-types.mjs +0 -1
  129. package/dist/client/compodoc.d.ts +0 -12
  130. package/dist/client/compodoc.js +0 -261
  131. package/dist/client/compodoc.mjs +0 -248
  132. package/dist/client/compodoc.test.d.ts +0 -1
  133. package/dist/client/compodoc.test.js +0 -132
  134. package/dist/client/compodoc.test.mjs +0 -130
  135. package/dist/client/decorateStory.d.ts +0 -4
  136. package/dist/client/decorateStory.js +0 -48
  137. package/dist/client/decorateStory.mjs +0 -45
  138. package/dist/client/decorateStory.test.d.ts +0 -1
  139. package/dist/client/decorateStory.test.js +0 -306
  140. package/dist/client/decorateStory.test.mjs +0 -301
  141. package/dist/client/decorators.d.ts +0 -13
  142. package/dist/client/decorators.js +0 -69
  143. package/dist/client/decorators.mjs +0 -63
  144. package/dist/client/decorators.test.d.ts +0 -1
  145. package/dist/client/decorators.test.js +0 -159
  146. package/dist/client/decorators.test.mjs +0 -157
  147. package/dist/client/docs/__testfixtures__/doc-button/input.d.ts +0 -110
  148. package/dist/client/docs/__testfixtures__/doc-button/input.js +0 -204
  149. package/dist/client/docs/__testfixtures__/doc-button/input.mjs +0 -201
  150. package/dist/client/docs/__testfixtures__/doc-button/tsconfig.json +0 -7
  151. package/dist/client/docs/angular-properties.test.d.ts +0 -1
  152. package/dist/client/docs/angular-properties.test.js +0 -36
  153. package/dist/client/docs/angular-properties.test.mjs +0 -34
  154. package/dist/client/docs/sourceDecorator.d.ts +0 -10
  155. package/dist/client/docs/sourceDecorator.js +0 -53
  156. package/dist/client/docs/sourceDecorator.mjs +0 -48
  157. package/dist/client/globals.d.ts +0 -1
  158. package/dist/client/globals.js +0 -33
  159. package/dist/client/globals.mjs +0 -31
  160. package/dist/client/portable-stories.d.ts +0 -23
  161. package/dist/client/portable-stories.js +0 -62
  162. package/dist/client/portable-stories.mjs +0 -26
  163. package/dist/client/public-types.d.ts +0 -54
  164. package/dist/client/public-types.js +0 -2
  165. package/dist/client/public-types.mjs +0 -1
  166. package/dist/client/render.d.ts +0 -7
  167. package/dist/client/render.js +0 -19
  168. package/dist/client/render.mjs +0 -14
  169. package/dist/client/types.js +0 -2
  170. package/dist/client/types.mjs +0 -1
  171. package/dist/node/index.d.ts +0 -2
  172. package/dist/node/index.js +0 -6
  173. package/dist/node/index.mjs +0 -3
  174. package/dist/preset.d.ts +0 -5
  175. package/dist/preset.mjs +0 -34
  176. package/dist/renderer.d.ts +0 -6
  177. package/dist/renderer.js +0 -15
  178. package/dist/renderer.mjs +0 -6
  179. package/dist/server/__mocks-ng-workspace__/empty-projects-entry/angular.json +0 -4
  180. package/dist/server/__mocks-ng-workspace__/minimal-config/angular.json +0 -18
  181. package/dist/server/__mocks-ng-workspace__/minimal-config/src/main.d.ts +0 -1
  182. package/dist/server/__mocks-ng-workspace__/minimal-config/src/main.js +0 -5
  183. package/dist/server/__mocks-ng-workspace__/minimal-config/src/main.mjs +0 -2
  184. package/dist/server/__mocks-ng-workspace__/minimal-config/src/tsconfig.app.json +0 -9
  185. package/dist/server/__mocks-ng-workspace__/minimal-config/tsconfig.json +0 -13
  186. package/dist/server/__mocks-ng-workspace__/some-config/angular.json +0 -19
  187. package/dist/server/__mocks-ng-workspace__/some-config/src/main.d.ts +0 -1
  188. package/dist/server/__mocks-ng-workspace__/some-config/src/main.js +0 -5
  189. package/dist/server/__mocks-ng-workspace__/some-config/src/main.mjs +0 -2
  190. package/dist/server/__mocks-ng-workspace__/some-config/src/tsconfig.app.json +0 -9
  191. package/dist/server/__mocks-ng-workspace__/some-config/tsconfig.json +0 -13
  192. package/dist/server/__mocks-ng-workspace__/with-angularBrowserTarget/angular.json +0 -64
  193. package/dist/server/__mocks-ng-workspace__/with-angularBrowserTarget/src/main.d.ts +0 -1
  194. package/dist/server/__mocks-ng-workspace__/with-angularBrowserTarget/src/main.js +0 -5
  195. package/dist/server/__mocks-ng-workspace__/with-angularBrowserTarget/src/main.mjs +0 -2
  196. package/dist/server/__mocks-ng-workspace__/with-angularBrowserTarget/src/tsconfig.app.json +0 -9
  197. package/dist/server/__mocks-ng-workspace__/with-angularBrowserTarget/tsconfig.json +0 -13
  198. package/dist/server/__mocks-ng-workspace__/with-lib/angular.json +0 -28
  199. package/dist/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.d.ts +0 -1
  200. package/dist/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.js +0 -5
  201. package/dist/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.mjs +0 -2
  202. package/dist/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/tsconfig.lib.json +0 -20
  203. package/dist/server/__mocks-ng-workspace__/with-lib/tsconfig.json +0 -13
  204. package/dist/server/__mocks-ng-workspace__/with-nx/angular.json +0 -18
  205. package/dist/server/__mocks-ng-workspace__/with-nx/nx.json +0 -3
  206. package/dist/server/__mocks-ng-workspace__/with-nx/src/main.d.ts +0 -1
  207. package/dist/server/__mocks-ng-workspace__/with-nx/src/main.js +0 -5
  208. package/dist/server/__mocks-ng-workspace__/with-nx/src/main.mjs +0 -2
  209. package/dist/server/__mocks-ng-workspace__/with-nx/src/tsconfig.app.json +0 -8
  210. package/dist/server/__mocks-ng-workspace__/with-nx/tsconfig.json +0 -14
  211. package/dist/server/__mocks-ng-workspace__/with-nx-workspace/nx.json +0 -3
  212. package/dist/server/__mocks-ng-workspace__/with-nx-workspace/src/main.d.ts +0 -1
  213. package/dist/server/__mocks-ng-workspace__/with-nx-workspace/src/main.js +0 -5
  214. package/dist/server/__mocks-ng-workspace__/with-nx-workspace/src/main.mjs +0 -2
  215. package/dist/server/__mocks-ng-workspace__/with-nx-workspace/src/tsconfig.app.json +0 -8
  216. package/dist/server/__mocks-ng-workspace__/with-nx-workspace/tsconfig.json +0 -14
  217. package/dist/server/__mocks-ng-workspace__/with-nx-workspace/workspace.json +0 -18
  218. package/dist/server/__mocks-ng-workspace__/with-options-styles/angular.json +0 -18
  219. package/dist/server/__mocks-ng-workspace__/with-options-styles/src/main.d.ts +0 -1
  220. package/dist/server/__mocks-ng-workspace__/with-options-styles/src/main.js +0 -5
  221. package/dist/server/__mocks-ng-workspace__/with-options-styles/src/main.mjs +0 -2
  222. package/dist/server/__mocks-ng-workspace__/with-options-styles/src/tsconfig.app.json +0 -9
  223. package/dist/server/__mocks-ng-workspace__/with-options-styles/tsconfig.json +0 -13
  224. package/dist/server/__mocks-ng-workspace__/without-architect-build/angular.json +0 -5
  225. package/dist/server/__mocks-ng-workspace__/without-architect-build-options/angular.json +0 -11
  226. package/dist/server/__mocks-ng-workspace__/without-compatible-projects/angular.json +0 -7
  227. package/dist/server/__mocks-ng-workspace__/without-projects-entry/angular.json +0 -3
  228. package/dist/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.d.ts +0 -1
  229. package/dist/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.js +0 -5
  230. package/dist/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.mjs +0 -2
  231. package/dist/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/tsconfig.lib.json +0 -20
  232. package/dist/server/__mocks-ng-workspace__/without-projects-entry/tsconfig.json +0 -13
  233. package/dist/server/__mocks-ng-workspace__/without-tsConfig/angular.json +0 -16
  234. package/dist/server/__mocks-ng-workspace__/without-tsConfig/src/main.d.ts +0 -1
  235. package/dist/server/__mocks-ng-workspace__/without-tsConfig/src/main.js +0 -5
  236. package/dist/server/__mocks-ng-workspace__/without-tsConfig/src/main.mjs +0 -2
  237. package/dist/server/__mocks-ng-workspace__/without-tsConfig/src/tsconfig.app.json +0 -9
  238. package/dist/server/__mocks-ng-workspace__/without-tsConfig/tsconfig.json +0 -13
  239. package/dist/server/__tests__/angular.json +0 -96
  240. package/dist/server/angular-cli-webpack.d.ts +0 -1
  241. package/dist/server/angular-cli-webpack.js +0 -80
  242. package/dist/server/angular-cli-webpack.mjs +0 -80
  243. package/dist/server/framework-preset-angular-cli.d.ts +0 -3
  244. package/dist/server/framework-preset-angular-cli.mjs +0 -82
  245. package/dist/server/framework-preset-angular-ivy.d.ts +0 -10
  246. package/dist/server/framework-preset-angular-ivy.mjs +0 -56
  247. package/dist/server/plugins/storybook-normalize-angular-entry-plugin.d.ts +0 -12
  248. package/dist/server/plugins/storybook-normalize-angular-entry-plugin.js +0 -55
  249. package/dist/server/plugins/storybook-normalize-angular-entry-plugin.mjs +0 -52
  250. package/dist/server/preset-options.d.ts +0 -9
  251. package/dist/server/preset-options.js +0 -2
  252. package/dist/server/preset-options.mjs +0 -1
  253. package/dist/server/utils/filter-out-styling-rules.d.ts +0 -2
  254. package/dist/server/utils/filter-out-styling-rules.js +0 -17
  255. package/dist/server/utils/filter-out-styling-rules.mjs +0 -13
  256. package/dist/server/utils/module-is-available.d.ts +0 -1
  257. package/dist/server/utils/module-is-available.js +0 -13
  258. package/dist/server/utils/module-is-available.mjs +0 -9
  259. package/dist/test-setup.d.ts +0 -1
  260. package/dist/test-setup.js +0 -6
  261. package/dist/test-setup.mjs +0 -4
  262. package/dist/types.d.ts +0 -27
  263. package/dist/types.js +0 -2
  264. package/dist/types.mjs +0 -1
  265. package/scripts/postbuild.js +0 -17
  266. package/template/cli/.eslintrc.json +0 -5
@@ -1,6 +0,0 @@
1
- import { BuilderContext } from '@angular-devkit/architect';
2
- import { Observable } from 'rxjs';
3
- export declare const runCompodoc: ({ compodocArgs, tsconfig }: {
4
- compodocArgs: string[];
5
- tsconfig: string;
6
- }, context: BuilderContext) => Observable<void>;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runCompodoc = void 0;
4
- const node_path_1 = require("node:path");
5
- const common_1 = require("storybook/internal/common");
6
- const rxjs_1 = require("rxjs");
7
- const hasTsConfigArg = (args) => args.indexOf('-p') !== -1;
8
- const hasOutputArg = (args) => args.indexOf('-d') !== -1 || args.indexOf('--output') !== -1;
9
- // relative is necessary to workaround a compodoc issue with
10
- // absolute paths on windows machines
11
- const toRelativePath = (pathToTsConfig) => {
12
- return (0, node_path_1.isAbsolute)(pathToTsConfig) ? (0, node_path_1.relative)('.', pathToTsConfig) : pathToTsConfig;
13
- };
14
- const runCompodoc = ({ compodocArgs, tsconfig }, context) => {
15
- return new rxjs_1.Observable((observer) => {
16
- const tsConfigPath = toRelativePath(tsconfig);
17
- const finalCompodocArgs = [
18
- ...(hasTsConfigArg(compodocArgs) ? [] : ['-p', tsConfigPath]),
19
- ...(hasOutputArg(compodocArgs) ? [] : ['-d', `${context.workspaceRoot || '.'}`]),
20
- ...compodocArgs,
21
- ];
22
- const packageManager = common_1.JsPackageManagerFactory.getPackageManager();
23
- try {
24
- const stdout = packageManager.runPackageCommandSync('compodoc', finalCompodocArgs, context.workspaceRoot, 'inherit');
25
- context.logger.info(stdout);
26
- observer.next();
27
- observer.complete();
28
- }
29
- catch (e) {
30
- context.logger.error(e);
31
- observer.error();
32
- }
33
- });
34
- };
35
- exports.runCompodoc = runCompodoc;
@@ -1,31 +0,0 @@
1
- import { isAbsolute, relative } from 'node:path';
2
- import { JsPackageManagerFactory } from 'storybook/internal/common';
3
- import { Observable } from 'rxjs';
4
- const hasTsConfigArg = (args) => args.indexOf('-p') !== -1;
5
- const hasOutputArg = (args) => args.indexOf('-d') !== -1 || args.indexOf('--output') !== -1;
6
- // relative is necessary to workaround a compodoc issue with
7
- // absolute paths on windows machines
8
- const toRelativePath = (pathToTsConfig) => {
9
- return isAbsolute(pathToTsConfig) ? relative('.', pathToTsConfig) : pathToTsConfig;
10
- };
11
- export const runCompodoc = ({ compodocArgs, tsconfig }, context) => {
12
- return new Observable((observer) => {
13
- const tsConfigPath = toRelativePath(tsconfig);
14
- const finalCompodocArgs = [
15
- ...(hasTsConfigArg(compodocArgs) ? [] : ['-p', tsConfigPath]),
16
- ...(hasOutputArg(compodocArgs) ? [] : ['-d', `${context.workspaceRoot || '.'}`]),
17
- ...compodocArgs,
18
- ];
19
- const packageManager = JsPackageManagerFactory.getPackageManager();
20
- try {
21
- const stdout = packageManager.runPackageCommandSync('compodoc', finalCompodocArgs, context.workspaceRoot, 'inherit');
22
- context.logger.info(stdout);
23
- observer.next();
24
- observer.complete();
25
- }
26
- catch (e) {
27
- context.logger.error(e);
28
- observer.error();
29
- }
30
- });
31
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const operators_1 = require("rxjs/operators");
4
- const vitest_1 = require("vitest");
5
- const run_compodoc_1 = require("./run-compodoc");
6
- const mockRunScript = vitest_1.vi.fn();
7
- vitest_1.vi.mock('storybook/internal/common', () => ({
8
- JsPackageManagerFactory: {
9
- getPackageManager: () => ({
10
- runPackageCommandSync: mockRunScript,
11
- }),
12
- },
13
- }));
14
- const builderContextLoggerMock = {
15
- createChild: vitest_1.vi.fn(),
16
- log: vitest_1.vi.fn(),
17
- debug: vitest_1.vi.fn(),
18
- info: vitest_1.vi.fn(),
19
- warn: vitest_1.vi.fn(),
20
- error: vitest_1.vi.fn(),
21
- fatal: vitest_1.vi.fn(),
22
- };
23
- (0, vitest_1.describe)('runCompodoc', () => {
24
- (0, vitest_1.afterEach)(() => {
25
- mockRunScript.mockClear();
26
- });
27
- const builderContextMock = {
28
- workspaceRoot: 'path/to/project',
29
- logger: builderContextLoggerMock,
30
- };
31
- (0, vitest_1.it)('should run compodoc with tsconfig from context', async () => {
32
- (0, run_compodoc_1.runCompodoc)({
33
- compodocArgs: [],
34
- tsconfig: 'path/to/tsconfig.json',
35
- }, builderContextMock)
36
- .pipe((0, operators_1.take)(1))
37
- .subscribe();
38
- (0, vitest_1.expect)(mockRunScript).toHaveBeenCalledWith('compodoc', ['-p', 'path/to/tsconfig.json', '-d', 'path/to/project'], 'path/to/project', 'inherit');
39
- });
40
- (0, vitest_1.it)('should run compodoc with tsconfig from compodocArgs', async () => {
41
- (0, run_compodoc_1.runCompodoc)({
42
- compodocArgs: ['-p', 'path/to/tsconfig.stories.json'],
43
- tsconfig: 'path/to/tsconfig.json',
44
- }, builderContextMock)
45
- .pipe((0, operators_1.take)(1))
46
- .subscribe();
47
- (0, vitest_1.expect)(mockRunScript).toHaveBeenCalledWith('compodoc', ['-d', 'path/to/project', '-p', 'path/to/tsconfig.stories.json'], 'path/to/project', 'inherit');
48
- });
49
- (0, vitest_1.it)('should run compodoc with default output folder.', async () => {
50
- (0, run_compodoc_1.runCompodoc)({
51
- compodocArgs: [],
52
- tsconfig: 'path/to/tsconfig.json',
53
- }, builderContextMock)
54
- .pipe((0, operators_1.take)(1))
55
- .subscribe();
56
- (0, vitest_1.expect)(mockRunScript).toHaveBeenCalledWith('compodoc', ['-p', 'path/to/tsconfig.json', '-d', 'path/to/project'], 'path/to/project', 'inherit');
57
- });
58
- (0, vitest_1.it)('should run with custom output folder specified with --output compodocArgs', async () => {
59
- (0, run_compodoc_1.runCompodoc)({
60
- compodocArgs: ['--output', 'path/to/customFolder'],
61
- tsconfig: 'path/to/tsconfig.json',
62
- }, builderContextMock)
63
- .pipe((0, operators_1.take)(1))
64
- .subscribe();
65
- (0, vitest_1.expect)(mockRunScript).toHaveBeenCalledWith('compodoc', ['-p', 'path/to/tsconfig.json', '--output', 'path/to/customFolder'], 'path/to/project', 'inherit');
66
- });
67
- (0, vitest_1.it)('should run with custom output folder specified with -d compodocArgs', async () => {
68
- (0, run_compodoc_1.runCompodoc)({
69
- compodocArgs: ['-d', 'path/to/customFolder'],
70
- tsconfig: 'path/to/tsconfig.json',
71
- }, builderContextMock)
72
- .pipe((0, operators_1.take)(1))
73
- .subscribe();
74
- (0, vitest_1.expect)(mockRunScript).toHaveBeenCalledWith('compodoc', ['-p', 'path/to/tsconfig.json', '-d', 'path/to/customFolder'], 'path/to/project', 'inherit');
75
- });
76
- });
@@ -1,74 +0,0 @@
1
- import { take } from 'rxjs/operators';
2
- import { afterEach, describe, expect, it, vi } from 'vitest';
3
- import { runCompodoc } from './run-compodoc';
4
- const mockRunScript = vi.fn();
5
- vi.mock('storybook/internal/common', () => ({
6
- JsPackageManagerFactory: {
7
- getPackageManager: () => ({
8
- runPackageCommandSync: mockRunScript,
9
- }),
10
- },
11
- }));
12
- const builderContextLoggerMock = {
13
- createChild: vi.fn(),
14
- log: vi.fn(),
15
- debug: vi.fn(),
16
- info: vi.fn(),
17
- warn: vi.fn(),
18
- error: vi.fn(),
19
- fatal: vi.fn(),
20
- };
21
- describe('runCompodoc', () => {
22
- afterEach(() => {
23
- mockRunScript.mockClear();
24
- });
25
- const builderContextMock = {
26
- workspaceRoot: 'path/to/project',
27
- logger: builderContextLoggerMock,
28
- };
29
- it('should run compodoc with tsconfig from context', async () => {
30
- runCompodoc({
31
- compodocArgs: [],
32
- tsconfig: 'path/to/tsconfig.json',
33
- }, builderContextMock)
34
- .pipe(take(1))
35
- .subscribe();
36
- expect(mockRunScript).toHaveBeenCalledWith('compodoc', ['-p', 'path/to/tsconfig.json', '-d', 'path/to/project'], 'path/to/project', 'inherit');
37
- });
38
- it('should run compodoc with tsconfig from compodocArgs', async () => {
39
- runCompodoc({
40
- compodocArgs: ['-p', 'path/to/tsconfig.stories.json'],
41
- tsconfig: 'path/to/tsconfig.json',
42
- }, builderContextMock)
43
- .pipe(take(1))
44
- .subscribe();
45
- expect(mockRunScript).toHaveBeenCalledWith('compodoc', ['-d', 'path/to/project', '-p', 'path/to/tsconfig.stories.json'], 'path/to/project', 'inherit');
46
- });
47
- it('should run compodoc with default output folder.', async () => {
48
- runCompodoc({
49
- compodocArgs: [],
50
- tsconfig: 'path/to/tsconfig.json',
51
- }, builderContextMock)
52
- .pipe(take(1))
53
- .subscribe();
54
- expect(mockRunScript).toHaveBeenCalledWith('compodoc', ['-p', 'path/to/tsconfig.json', '-d', 'path/to/project'], 'path/to/project', 'inherit');
55
- });
56
- it('should run with custom output folder specified with --output compodocArgs', async () => {
57
- runCompodoc({
58
- compodocArgs: ['--output', 'path/to/customFolder'],
59
- tsconfig: 'path/to/tsconfig.json',
60
- }, builderContextMock)
61
- .pipe(take(1))
62
- .subscribe();
63
- expect(mockRunScript).toHaveBeenCalledWith('compodoc', ['-p', 'path/to/tsconfig.json', '--output', 'path/to/customFolder'], 'path/to/project', 'inherit');
64
- });
65
- it('should run with custom output folder specified with -d compodocArgs', async () => {
66
- runCompodoc({
67
- compodocArgs: ['-d', 'path/to/customFolder'],
68
- tsconfig: 'path/to/tsconfig.json',
69
- }, builderContextMock)
70
- .pipe(take(1))
71
- .subscribe();
72
- expect(mockRunScript).toHaveBeenCalledWith('compodoc', ['-p', 'path/to/tsconfig.json', '-d', 'path/to/customFolder'], 'path/to/project', 'inherit');
73
- });
74
- });
@@ -1,18 +0,0 @@
1
- import { BuilderOptions, CLIOptions, LoadOptions } from 'storybook/internal/types';
2
- import { BuilderContext } from '@angular-devkit/architect';
3
- import { AssetPattern, SourceMapUnion, StyleElement, StylePreprocessorOptions } from '@angular-devkit/build-angular/src/builders/browser/schema';
4
- export type StandaloneOptions = CLIOptions & LoadOptions & BuilderOptions & {
5
- mode?: 'static' | 'dev';
6
- enableProdMode: boolean;
7
- angularBrowserTarget?: string | null;
8
- angularBuilderOptions?: Record<string, any> & {
9
- styles?: StyleElement[];
10
- stylePreprocessorOptions?: StylePreprocessorOptions;
11
- assets?: AssetPattern[];
12
- sourceMap?: SourceMapUnion;
13
- preserveSymlinks?: boolean;
14
- experimentalZoneless?: boolean;
15
- };
16
- angularBuilderContext?: BuilderContext | null;
17
- tsConfig?: string;
18
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export {};
@@ -1,75 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { ICollection, StoryFnAngularReturnType } from '../types';
3
- type StoryRenderInfo = {
4
- storyFnAngular: StoryFnAngularReturnType;
5
- moduleMetadataSnapshot: string;
6
- };
7
- declare global {
8
- const STORYBOOK_ANGULAR_OPTIONS: {
9
- experimentalZoneless: boolean;
10
- };
11
- }
12
- /**
13
- * Attribute name for the story UID that may be written to the targetDOMNode.
14
- *
15
- * If a target DOM node has a story UID attribute, it will be used as part of the selector for the
16
- * Angular component.
17
- */
18
- export declare const STORY_UID_ATTRIBUTE = "data-sb-story-uid";
19
- export declare abstract class AbstractRenderer {
20
- /** Wait and destroy the platform */
21
- static resetApplications(domNode?: HTMLElement): void;
22
- protected previousStoryRenderInfo: Map<HTMLElement, StoryRenderInfo>;
23
- protected storyProps$: Subject<ICollection | undefined>;
24
- protected abstract beforeFullRender(domNode?: HTMLElement): Promise<void>;
25
- /**
26
- * Bootstrap main angular module with main component or send only new `props` with storyProps$
27
- *
28
- * @param storyFnAngular {StoryFnAngularReturnType}
29
- * @param forced {boolean} If :
30
- *
31
- * - True render will only use the StoryFn `props' in storyProps observable that will update sotry's
32
- * component/template properties. Improves performance without reloading the whole
33
- * module&component if props changes
34
- * - False fully recharges or initializes angular module & component
35
- *
36
- * @param component {Component}
37
- */
38
- render({ storyFnAngular, forced, component, targetDOMNode, }: {
39
- storyFnAngular: StoryFnAngularReturnType;
40
- forced: boolean;
41
- component?: any;
42
- targetDOMNode: HTMLElement;
43
- }): Promise<void>;
44
- /**
45
- * Only ASCII alphanumerics can be used as HTML tag name. https://html.spec.whatwg.org/#elements-2
46
- *
47
- * Therefore, stories break when non-ASCII alphanumerics are included in target selector.
48
- * https://github.com/storybookjs/storybook/issues/15147
49
- *
50
- * This method returns storyId when it doesn't contain any non-ASCII alphanumerics. Otherwise, it
51
- * generates a valid HTML tag name from storyId by removing non-ASCII alphanumerics from storyId,
52
- * prefixing "sb-", and suffixing "-component"
53
- *
54
- * @memberof AbstractRenderer
55
- * @protected
56
- */
57
- protected generateTargetSelectorFromStoryId(id: string): string;
58
- /**
59
- * Angular is unable to handle components that have selectors with accented attributes.
60
- *
61
- * Therefore, stories break when meta's title contains accents.
62
- * https://github.com/storybookjs/storybook/issues/29132
63
- *
64
- * This method filters accents from a given raw id. For example, this method converts
65
- * 'Example/Button with an "é" accent' into 'Example/Button with an "e" accent'.
66
- *
67
- * @memberof AbstractRenderer
68
- * @protected
69
- */
70
- protected generateStoryUIdFromRawStoryUid(rawStoryUid: string | null): string | null;
71
- /** Adds DOM element that angular will use as bootstrap component. */
72
- protected initAngularRootElement(targetDOMNode: HTMLElement, targetSelector: string): void;
73
- private fullRendererRequired;
74
- }
75
- export {};
@@ -1,201 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.AbstractRenderer = exports.STORY_UID_ATTRIBUTE = void 0;
37
- const platform_browser_1 = require("@angular/platform-browser");
38
- const rxjs_1 = require("rxjs");
39
- const telejson_1 = require("telejson");
40
- const StorybookModule_1 = require("./StorybookModule");
41
- const StorybookProvider_1 = require("./StorybookProvider");
42
- const BootstrapQueue_1 = require("./utils/BootstrapQueue");
43
- const PropertyExtractor_1 = require("./utils/PropertyExtractor");
44
- const applicationRefs = new Map();
45
- /**
46
- * Attribute name for the story UID that may be written to the targetDOMNode.
47
- *
48
- * If a target DOM node has a story UID attribute, it will be used as part of the selector for the
49
- * Angular component.
50
- */
51
- exports.STORY_UID_ATTRIBUTE = 'data-sb-story-uid';
52
- class AbstractRenderer {
53
- constructor() {
54
- this.previousStoryRenderInfo = new Map();
55
- }
56
- /** Wait and destroy the platform */
57
- static resetApplications(domNode) {
58
- applicationRefs.forEach((appRef, appDOMNode) => {
59
- if (!appRef.destroyed && (!domNode || appDOMNode === domNode)) {
60
- appRef.destroy();
61
- }
62
- });
63
- }
64
- /**
65
- * Bootstrap main angular module with main component or send only new `props` with storyProps$
66
- *
67
- * @param storyFnAngular {StoryFnAngularReturnType}
68
- * @param forced {boolean} If :
69
- *
70
- * - True render will only use the StoryFn `props' in storyProps observable that will update sotry's
71
- * component/template properties. Improves performance without reloading the whole
72
- * module&component if props changes
73
- * - False fully recharges or initializes angular module & component
74
- *
75
- * @param component {Component}
76
- */
77
- async render({ storyFnAngular, forced, component, targetDOMNode, }) {
78
- const targetSelector = this.generateTargetSelectorFromStoryId(targetDOMNode.id);
79
- const newStoryProps$ = new rxjs_1.BehaviorSubject(storyFnAngular.props);
80
- if (!this.fullRendererRequired({
81
- targetDOMNode,
82
- storyFnAngular,
83
- moduleMetadata: {
84
- ...storyFnAngular.moduleMetadata,
85
- },
86
- forced,
87
- })) {
88
- this.storyProps$.next(storyFnAngular.props);
89
- return;
90
- }
91
- await this.beforeFullRender(targetDOMNode);
92
- // Complete last BehaviorSubject and set a new one for the current module
93
- if (this.storyProps$) {
94
- this.storyProps$.complete();
95
- }
96
- this.storyProps$ = newStoryProps$;
97
- this.initAngularRootElement(targetDOMNode, targetSelector);
98
- const analyzedMetadata = new PropertyExtractor_1.PropertyExtractor(storyFnAngular.moduleMetadata, component);
99
- await analyzedMetadata.init();
100
- const storyUid = this.generateStoryUIdFromRawStoryUid(targetDOMNode.getAttribute(exports.STORY_UID_ATTRIBUTE));
101
- const componentSelector = storyUid !== null ? `${targetSelector}[${storyUid}]` : targetSelector;
102
- if (storyUid !== null) {
103
- const element = targetDOMNode.querySelector(targetSelector);
104
- element.toggleAttribute(storyUid, true);
105
- }
106
- const application = (0, StorybookModule_1.getApplication)({
107
- storyFnAngular,
108
- component,
109
- targetSelector: componentSelector,
110
- analyzedMetadata,
111
- });
112
- const providers = [
113
- (0, StorybookProvider_1.storyPropsProvider)(newStoryProps$),
114
- ...analyzedMetadata.applicationProviders,
115
- ...(storyFnAngular.applicationConfig?.providers ?? []),
116
- ];
117
- if (STORYBOOK_ANGULAR_OPTIONS?.experimentalZoneless) {
118
- const { provideExperimentalZonelessChangeDetection } = await Promise.resolve().then(() => __importStar(require('@angular/core')));
119
- if (!provideExperimentalZonelessChangeDetection) {
120
- throw new Error('Experimental zoneless change detection requires Angular 18 or higher');
121
- }
122
- else {
123
- providers.unshift(provideExperimentalZonelessChangeDetection());
124
- }
125
- }
126
- const applicationRef = await (0, BootstrapQueue_1.queueBootstrapping)(() => {
127
- return (0, platform_browser_1.bootstrapApplication)(application, {
128
- ...storyFnAngular.applicationConfig,
129
- providers,
130
- });
131
- });
132
- applicationRefs.set(targetDOMNode, applicationRef);
133
- }
134
- /**
135
- * Only ASCII alphanumerics can be used as HTML tag name. https://html.spec.whatwg.org/#elements-2
136
- *
137
- * Therefore, stories break when non-ASCII alphanumerics are included in target selector.
138
- * https://github.com/storybookjs/storybook/issues/15147
139
- *
140
- * This method returns storyId when it doesn't contain any non-ASCII alphanumerics. Otherwise, it
141
- * generates a valid HTML tag name from storyId by removing non-ASCII alphanumerics from storyId,
142
- * prefixing "sb-", and suffixing "-component"
143
- *
144
- * @memberof AbstractRenderer
145
- * @protected
146
- */
147
- generateTargetSelectorFromStoryId(id) {
148
- const invalidHtmlTag = /[^A-Za-z0-9-]/g;
149
- const storyIdIsInvalidHtmlTagName = invalidHtmlTag.test(id);
150
- return storyIdIsInvalidHtmlTagName ? `sb-${id.replace(invalidHtmlTag, '')}-component` : id;
151
- }
152
- /**
153
- * Angular is unable to handle components that have selectors with accented attributes.
154
- *
155
- * Therefore, stories break when meta's title contains accents.
156
- * https://github.com/storybookjs/storybook/issues/29132
157
- *
158
- * This method filters accents from a given raw id. For example, this method converts
159
- * 'Example/Button with an "é" accent' into 'Example/Button with an "e" accent'.
160
- *
161
- * @memberof AbstractRenderer
162
- * @protected
163
- */
164
- generateStoryUIdFromRawStoryUid(rawStoryUid) {
165
- if (rawStoryUid === null) {
166
- return rawStoryUid;
167
- }
168
- const accentCharacters = /[\u0300-\u036f]/g;
169
- return rawStoryUid.normalize('NFD').replace(accentCharacters, '');
170
- }
171
- /** Adds DOM element that angular will use as bootstrap component. */
172
- initAngularRootElement(targetDOMNode, targetSelector) {
173
- targetDOMNode.innerHTML = '';
174
- targetDOMNode.appendChild(document.createElement(targetSelector));
175
- }
176
- fullRendererRequired({ targetDOMNode, storyFnAngular, moduleMetadata, forced, }) {
177
- const previousStoryRenderInfo = this.previousStoryRenderInfo.get(targetDOMNode);
178
- const currentStoryRender = {
179
- storyFnAngular,
180
- moduleMetadataSnapshot: (0, telejson_1.stringify)(moduleMetadata, { maxDepth: 50 }),
181
- };
182
- this.previousStoryRenderInfo.set(targetDOMNode, currentStoryRender);
183
- if (
184
- // check `forceRender` of story RenderContext
185
- !forced ||
186
- // if it's the first rendering and storyProps$ is not init
187
- !this.storyProps$) {
188
- return true;
189
- }
190
- // force the rendering if the template has changed
191
- const hasChangedTemplate = !!storyFnAngular?.template &&
192
- previousStoryRenderInfo?.storyFnAngular?.template !== storyFnAngular.template;
193
- if (hasChangedTemplate) {
194
- return true;
195
- }
196
- // force the rendering if the metadata structure has changed
197
- const hasChangedModuleMetadata = currentStoryRender.moduleMetadataSnapshot !== previousStoryRenderInfo?.moduleMetadataSnapshot;
198
- return hasChangedModuleMetadata;
199
- }
200
- }
201
- exports.AbstractRenderer = AbstractRenderer;