virtualModuleEntry.template.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* eslint-disable import/no-unresolved */
  2. import {
  3. addDecorator,
  4. addParameters,
  5. addLoader,
  6. addArgs,
  7. addArgTypes,
  8. addStepRunner,
  9. addArgsEnhancer,
  10. addArgTypesEnhancer,
  11. setGlobalRender,
  12. } from '@storybook/preview-api';
  13. import * as previewAnnotations from '{{previewAnnotationFilename}}';
  14. const config = previewAnnotations.default ?? previewAnnotations;
  15. Object.keys(config).forEach((key) => {
  16. const value = config[key];
  17. switch (key) {
  18. case 'args': {
  19. return addArgs(value);
  20. }
  21. case 'argTypes': {
  22. return addArgTypes(value);
  23. }
  24. case 'decorators': {
  25. return value.forEach((decorator) => addDecorator(decorator, false));
  26. }
  27. case 'loaders': {
  28. return value.forEach((loader) => addLoader(loader, false));
  29. }
  30. case 'parameters': {
  31. return addParameters({ ...value }, false);
  32. }
  33. case 'argTypesEnhancers': {
  34. return value.forEach((enhancer) => addArgTypesEnhancer(enhancer));
  35. }
  36. case 'argsEnhancers': {
  37. return value.forEach((enhancer) => addArgsEnhancer(enhancer));
  38. }
  39. case 'render': {
  40. return setGlobalRender(value);
  41. }
  42. case 'globals':
  43. case 'globalTypes': {
  44. const v = {};
  45. v[key] = value;
  46. return addParameters(v, false);
  47. }
  48. case '__namedExportsOrder':
  49. case 'decorateStory':
  50. case 'renderToDOM': // deprecated
  51. case 'renderToCanvas': {
  52. return null; // This key is not handled directly in v6 mode.
  53. }
  54. case 'runStep': {
  55. return addStepRunner(value);
  56. }
  57. default: {
  58. return console.log(
  59. `Unknown key '${key}' exported by preview annotation file '{{previewAnnotationFilename}}'`
  60. );
  61. }
  62. }
  63. });