@transferwise/components 38.3.1 → 39.0.1

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 (208) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/build/es/no-polyfill/accordion/AccordionItem/AccordionItem.js +1 -1
  3. package/build/es/no-polyfill/alert/Alert.js +1 -1
  4. package/build/es/no-polyfill/checkbox/Checkbox.js +1 -1
  5. package/build/es/no-polyfill/common/Option/Option.js +1 -1
  6. package/build/es/no-polyfill/common/bottomSheet/BottomSheet.js +2 -2
  7. package/build/es/no-polyfill/common/direction.js +1 -0
  8. package/build/es/no-polyfill/common/domHelpers/index.js +1 -1
  9. package/build/es/no-polyfill/common/focusBoundary/FocusBoundary.js +1 -1
  10. package/build/es/no-polyfill/common/hocs/index.js +1 -0
  11. package/build/es/no-polyfill/common/hocs/theme/index.js +1 -0
  12. package/build/es/no-polyfill/common/hocs/theme/withTheme.js +2 -0
  13. package/build/es/no-polyfill/common/hocs/theme/withTheme.spec.js +1 -0
  14. package/build/es/no-polyfill/common/hooks/index.js +1 -1
  15. package/build/es/no-polyfill/common/hooks/useTheme/index.js +1 -0
  16. package/build/es/no-polyfill/common/hooks/useTheme/useTheme.js +1 -0
  17. package/build/es/no-polyfill/common/hooks/useTheme/useTheme.spec.js +1 -0
  18. package/build/es/no-polyfill/common/index.js +1 -1
  19. package/build/es/no-polyfill/common/locale/index.js +13 -3
  20. package/build/es/no-polyfill/common/theme.js +1 -1
  21. package/build/es/no-polyfill/dateInput/DateInput.js +2 -2
  22. package/build/es/no-polyfill/dateLookup/dateHeader/DateHeader.js +1 -1
  23. package/build/es/no-polyfill/decision/Decision.js +3 -3
  24. package/build/es/no-polyfill/dimmer/Dimmer.js +4 -3
  25. package/build/es/no-polyfill/dimmer/Dimmer.story.js +1 -0
  26. package/build/es/no-polyfill/drawer/Drawer.js +1 -1
  27. package/build/es/no-polyfill/dynamicFieldDefinitionList/DynamicFieldDefinitionList.js +1 -1
  28. package/build/es/no-polyfill/dynamicFieldDefinitionList/FormattedValue/FormattedValue.js +1 -1
  29. package/build/es/no-polyfill/index.js +4 -4
  30. package/build/es/no-polyfill/logo/Logo.js +1 -1
  31. package/build/es/no-polyfill/nudge/Nudge.js +1 -1
  32. package/build/es/no-polyfill/phoneNumberInput/PhoneNumberInput.js +1 -1
  33. package/build/es/no-polyfill/provider/Provider.js +1 -1
  34. package/build/es/no-polyfill/provider/Provider.spec.js +2 -0
  35. package/build/es/no-polyfill/provider/Provider.story.js +1 -0
  36. package/build/es/no-polyfill/provider/direction/DirectionProvider.js +1 -1
  37. package/build/es/no-polyfill/provider/direction/DirectionProvider.spec.js +1 -0
  38. package/build/es/no-polyfill/provider/index.js +1 -1
  39. package/build/es/no-polyfill/provider/theme/ThemeProvider.js +2 -0
  40. package/build/es/no-polyfill/provider/theme/ThemeProvider.spec.js +2 -0
  41. package/build/es/no-polyfill/provider/theme/index.js +1 -0
  42. package/build/es/no-polyfill/radio/Radio.js +1 -1
  43. package/build/es/no-polyfill/select/option/Option.js +1 -1
  44. package/build/es/no-polyfill/snackbar/Snackbar.js +1 -1
  45. package/build/es/no-polyfill/stepper/Stepper.js +1 -1
  46. package/build/es/no-polyfill/summary/Summary.js +1 -1
  47. package/build/es/no-polyfill/switch/Switch.js +1 -1
  48. package/build/es/no-polyfill/tabs/Tabs.js +1 -1
  49. package/build/es/no-polyfill/tooltip/Tooltip.js +8 -1
  50. package/build/es/no-polyfill/tooltip/Tooltip.spec.js +1 -0
  51. package/build/es/no-polyfill/tooltip/Tooltip.story.js +1 -0
  52. package/build/es/no-polyfill/upload/Upload.js +1 -1
  53. package/build/es/no-polyfill/upload/steps/completeStep/completeStep.js +1 -1
  54. package/build/es/no-polyfill/upload/steps/processingStep/processingStep.js +1 -1
  55. package/build/es/no-polyfill/uploadInput/UploadInput.js +5 -4
  56. package/build/es/no-polyfill/uploadInput/UploadInput.spec.js +1 -1
  57. package/build/es/no-polyfill/uploadInput/UploadInput.story.js +1 -1
  58. package/build/es/no-polyfill/uploadInput/uploadButton/UploadButton.js +1 -1
  59. package/build/es/no-polyfill/uploadInput/uploadItem/UploadItem.js +2 -2
  60. package/build/es/polyfill/accordion/AccordionItem/AccordionItem.js +1 -1
  61. package/build/es/polyfill/alert/Alert.js +1 -1
  62. package/build/es/polyfill/checkbox/Checkbox.js +1 -1
  63. package/build/es/polyfill/common/Option/Option.js +1 -1
  64. package/build/es/polyfill/common/bottomSheet/BottomSheet.js +2 -2
  65. package/build/es/polyfill/common/direction.js +1 -0
  66. package/build/es/polyfill/common/domHelpers/index.js +1 -1
  67. package/build/es/polyfill/common/focusBoundary/FocusBoundary.js +1 -1
  68. package/build/es/polyfill/common/hocs/index.js +1 -0
  69. package/build/es/polyfill/common/hocs/theme/index.js +1 -0
  70. package/build/es/polyfill/common/hocs/theme/withTheme.js +2 -0
  71. package/build/es/polyfill/common/hocs/theme/withTheme.spec.js +1 -0
  72. package/build/es/polyfill/common/hooks/index.js +1 -1
  73. package/build/es/polyfill/common/hooks/useTheme/index.js +1 -0
  74. package/build/es/polyfill/common/hooks/useTheme/useTheme.js +1 -0
  75. package/build/es/polyfill/common/hooks/useTheme/useTheme.spec.js +1 -0
  76. package/build/es/polyfill/common/index.js +1 -1
  77. package/build/es/polyfill/common/locale/index.js +13 -3
  78. package/build/es/polyfill/common/theme.js +1 -1
  79. package/build/es/polyfill/dateInput/DateInput.js +2 -2
  80. package/build/es/polyfill/dateLookup/dateHeader/DateHeader.js +1 -1
  81. package/build/es/polyfill/decision/Decision.js +3 -3
  82. package/build/es/polyfill/dimmer/Dimmer.js +4 -3
  83. package/build/es/polyfill/dimmer/Dimmer.story.js +1 -0
  84. package/build/es/polyfill/drawer/Drawer.js +1 -1
  85. package/build/es/polyfill/dynamicFieldDefinitionList/DynamicFieldDefinitionList.js +1 -1
  86. package/build/es/polyfill/dynamicFieldDefinitionList/FormattedValue/FormattedValue.js +1 -1
  87. package/build/es/polyfill/index.js +4 -4
  88. package/build/es/polyfill/logo/Logo.js +1 -1
  89. package/build/es/polyfill/nudge/Nudge.js +1 -1
  90. package/build/es/polyfill/phoneNumberInput/PhoneNumberInput.js +1 -1
  91. package/build/es/polyfill/provider/Provider.js +1 -1
  92. package/build/es/polyfill/provider/Provider.spec.js +2 -0
  93. package/build/es/polyfill/provider/Provider.story.js +1 -0
  94. package/build/es/polyfill/provider/direction/DirectionProvider.js +1 -1
  95. package/build/es/polyfill/provider/direction/DirectionProvider.spec.js +1 -0
  96. package/build/es/polyfill/provider/index.js +1 -1
  97. package/build/es/polyfill/provider/theme/ThemeProvider.js +2 -0
  98. package/build/es/polyfill/provider/theme/ThemeProvider.spec.js +2 -0
  99. package/build/es/polyfill/provider/theme/index.js +1 -0
  100. package/build/es/polyfill/radio/Radio.js +1 -1
  101. package/build/es/polyfill/select/option/Option.js +1 -1
  102. package/build/es/polyfill/snackbar/Snackbar.js +1 -1
  103. package/build/es/polyfill/stepper/Stepper.js +1 -1
  104. package/build/es/polyfill/summary/Summary.js +1 -1
  105. package/build/es/polyfill/switch/Switch.js +1 -1
  106. package/build/es/polyfill/tabs/Tabs.js +1 -1
  107. package/build/es/polyfill/tooltip/Tooltip.js +8 -1
  108. package/build/es/polyfill/tooltip/Tooltip.spec.js +1 -0
  109. package/build/es/polyfill/tooltip/Tooltip.story.js +1 -0
  110. package/build/es/polyfill/upload/Upload.js +1 -1
  111. package/build/es/polyfill/upload/steps/completeStep/completeStep.js +1 -1
  112. package/build/es/polyfill/upload/steps/processingStep/processingStep.js +1 -1
  113. package/build/es/polyfill/uploadInput/UploadInput.js +5 -4
  114. package/build/es/polyfill/uploadInput/UploadInput.spec.js +1 -1
  115. package/build/es/polyfill/uploadInput/UploadInput.story.js +1 -1
  116. package/build/es/polyfill/uploadInput/uploadButton/UploadButton.js +1 -1
  117. package/build/es/polyfill/uploadInput/uploadItem/UploadItem.js +2 -2
  118. package/build/main.css +1 -1
  119. package/build/styles/accordion/Accordion.css +1 -1
  120. package/build/styles/avatar/Avatar.css +1 -1
  121. package/build/styles/badge/Badge.css +1 -1
  122. package/build/styles/button/Button.css +1 -1
  123. package/build/styles/card/Card.css +1 -1
  124. package/build/styles/checkboxButton/CheckboxButton.css +1 -1
  125. package/build/styles/chips/Chip.css +1 -1
  126. package/build/styles/circularButton/CircularButton.css +1 -1
  127. package/build/styles/common/Option/Option.css +1 -1
  128. package/build/styles/common/RadioButton/RadioButton.css +1 -1
  129. package/build/styles/common/bottomSheet/BottomSheet.css +1 -1
  130. package/build/styles/common/closeButton/CloseButton.css +1 -1
  131. package/build/styles/dateLookup/DateLookup.css +1 -1
  132. package/build/styles/dateLookup/dateTrigger/DateTrigger.css +1 -1
  133. package/build/styles/decision/Decision.css +1 -1
  134. package/build/styles/definitionList/DefinitionList.css +1 -1
  135. package/build/styles/dimmer/Dimmer.css +1 -1
  136. package/build/styles/drawer/Drawer.css +1 -1
  137. package/build/styles/emphasis/Emphasis.css +1 -1
  138. package/build/styles/flowNavigation/FlowNavigation.css +1 -1
  139. package/build/styles/flowNavigation/animatedLabel/AnimatedLabel.css +1 -1
  140. package/build/styles/flowNavigation/backButton/BackButton.css +1 -1
  141. package/build/styles/header/Header.css +1 -1
  142. package/build/styles/info/Info.css +1 -1
  143. package/build/styles/instructionsList/InstructionsList.css +1 -1
  144. package/build/styles/lab/mobileNav/MobileNav.css +1 -1
  145. package/build/styles/lab/pagination/Pagination.css +1 -1
  146. package/build/styles/link/Link.css +1 -1
  147. package/build/styles/loader/Loader.css +1 -1
  148. package/build/styles/main.css +1 -1
  149. package/build/styles/modal/Modal.css +1 -1
  150. package/build/styles/moneyInput/MoneyInput.css +1 -1
  151. package/build/styles/navigationOption/NavigationOption.css +1 -1
  152. package/build/styles/navigationOptionsList/NavigationOptionsList.css +1 -1
  153. package/build/styles/nudge/Nudge.css +1 -1
  154. package/build/styles/overlayHeader/OverlayHeader.css +1 -1
  155. package/build/styles/phoneNumberInput/PhoneNumberInput.css +1 -1
  156. package/build/styles/popover/Popover.css +1 -1
  157. package/build/styles/section/Section.css +1 -1
  158. package/build/styles/slidingPanel/SlidingPanel.css +1 -1
  159. package/build/styles/snackbar/Snackbar.css +1 -1
  160. package/build/styles/stepper/Stepper.css +1 -1
  161. package/build/styles/summary/Summary.css +1 -1
  162. package/build/styles/switch/Switch.css +1 -1
  163. package/build/styles/tabs/Tabs.css +1 -1
  164. package/build/styles/tile/Tile.css +1 -1
  165. package/build/styles/tooltip/Tooltip.css +1 -1
  166. package/build/styles/typeahead/Typeahead.css +1 -1
  167. package/build/styles/typeahead/typeaheadOption/TypeaheadOption.css +1 -1
  168. package/build/styles/uploadInput/UploadInput.css +1 -1
  169. package/build/styles/uploadInput/uploadButton/UploadButton.css +1 -1
  170. package/build/styles/uploadInput/uploadItem/UploadItem.css +1 -1
  171. package/build/types/common/direction.d.ts +6 -0
  172. package/build/types/common/domHelpers/index.d.ts +2 -1
  173. package/build/types/common/focusBoundary/FocusBoundary.d.ts +2 -2
  174. package/build/types/common/hocs/index.d.ts +1 -0
  175. package/build/types/common/hocs/theme/index.d.ts +1 -0
  176. package/build/types/common/hocs/theme/withTheme.d.ts +10 -0
  177. package/build/types/common/hocs/theme/withTheme.spec.d.ts +1 -0
  178. package/build/types/common/hooks/index.d.ts +3 -2
  179. package/build/types/common/hooks/useDirection/useDirection.d.ts +3 -2
  180. package/build/types/common/hooks/useTheme/index.d.ts +1 -0
  181. package/build/types/common/hooks/useTheme/useTheme.d.ts +1 -0
  182. package/build/types/common/hooks/useTheme/useTheme.spec.d.ts +1 -0
  183. package/build/types/common/index.d.ts +2 -0
  184. package/build/types/common/locale/index.d.ts +23 -2
  185. package/build/types/common/propsValues/position.d.ts +4 -0
  186. package/build/types/common/theme.d.ts +5 -2
  187. package/build/types/dimmer/Dimmer.d.ts +31 -19
  188. package/build/types/dimmer/Dimmer.story.d.ts +16 -0
  189. package/build/types/index.d.ts +5 -3
  190. package/build/types/provider/Provider.spec.d.ts +1 -0
  191. package/build/types/provider/Provider.story.d.ts +23 -0
  192. package/build/types/provider/direction/DirectionProvider.d.ts +8 -18
  193. package/build/types/provider/direction/DirectionProvider.spec.d.ts +1 -0
  194. package/build/types/provider/index.d.ts +2 -0
  195. package/build/types/provider/theme/ThemeProvider.d.ts +8 -0
  196. package/build/types/provider/theme/ThemeProvider.spec.d.ts +1 -0
  197. package/build/types/provider/theme/index.d.ts +1 -0
  198. package/build/types/test-utils/index.d.ts +0 -8
  199. package/build/types/tooltip/Tooltip.d.ts +9 -18
  200. package/build/types/tooltip/Tooltip.spec.d.ts +1 -0
  201. package/build/types/tooltip/Tooltip.story.d.ts +12 -0
  202. package/build/types/uploadInput/UploadInput.d.ts +7 -1
  203. package/build/types/uploadInput/UploadInput.story.d.ts +1 -0
  204. package/build/types/withNextPortal/withNextPortal.d.ts +2 -1
  205. package/build/umd/no-polyfill/main.js +1 -1
  206. package/build/umd/polyfill/main.js +1 -1
  207. package/package.json +13 -12
  208. package/scripts/generate-type-declarations.js +85 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "38.3.1",
3
+ "version": "39.0.1",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./build/umd/polyfill/main.js",
@@ -12,7 +12,7 @@
12
12
  ],
13
13
  "files": [
14
14
  "build",
15
- "bin",
15
+ "scripts",
16
16
  "upgrades"
17
17
  ],
18
18
  "repository": {
@@ -41,7 +41,7 @@
41
41
  "test": "jest --env=jsdom --maxWorkers=4 --config=../../node_modules/@transferwise/test-config/jest.config.js",
42
42
  "test:watch": "jest --watch --env=jsdom --config=../../node_modules/@transferwise/test-config/jest.config.js",
43
43
  "lint": "jest --maxWorkers=4 --config ../../node_modules/@transferwise/test-config/test/jest.lint.js && yarn lintless",
44
- "test:visual": "build-storybook && percy-storybook --widths=1280",
44
+ "test:visual": "build-storybook && percy storybook ./storybook-static",
45
45
  "lint:fix": "eslint 'src/**/*.{js,ts,tsx}' --fix",
46
46
  "lintless": "stylelint --allow-empty-input './src/**/*.less'",
47
47
  "lintless:fix": "yarn lintless --fix"
@@ -59,20 +59,21 @@
59
59
  "@babel/preset-react": "^7.14.5",
60
60
  "@babel/preset-typescript": "^7.15.0",
61
61
  "@formatjs/cli": "^4.2.31",
62
- "@percy/storybook": "^3.3.1",
63
- "@pxblue/storybook-rtl-addon": "^1.0.0",
62
+ "@percy/cli": "1.0.0-beta.63",
63
+ "@percy/storybook": "~4.0.1",
64
64
  "@rollup/plugin-babel": "^5.2.2",
65
65
  "@rollup/plugin-commonjs": "^11.0.2",
66
66
  "@rollup/plugin-json": "^4.0.3",
67
67
  "@rollup/plugin-node-resolve": "^7.1.3",
68
68
  "@transferwise/icons": "^2.12.0",
69
69
  "@transferwise/less-config": "^3.0.2",
70
- "@transferwise/neptune-css": "^11.0.1",
71
- "@transferwise/neptune-tokens": "^1.0.0",
72
- "@transferwise/test-config": "^4.0.3",
70
+ "@transferwise/neptune-css": "^12.0.0",
71
+ "@transferwise/neptune-tokens": "6.1.0",
72
+ "@transferwise/test-config": "^5.0.0",
73
73
  "@types/jest": "^26.0.20",
74
74
  "@types/jscodeshift": "^0.11.0",
75
75
  "@types/node": "^14.14.31",
76
+ "@types/react-transition-group": "4.4.4",
76
77
  "babel-loader": "^8.1.0",
77
78
  "babel-plugin-react-intl": "^8.2.16",
78
79
  "babel-preset-minify": "^0.5.1",
@@ -87,7 +88,7 @@
87
88
  },
88
89
  "peerDependencies": {
89
90
  "@transferwise/icons": "^2.12.0",
90
- "@transferwise/neptune-css": "^11",
91
+ "@transferwise/neptune-css": "^12",
91
92
  "currency-flags": "^2.1.1",
92
93
  "prop-types": "^15.7.2",
93
94
  "react": "^16.14 || ^17",
@@ -99,7 +100,7 @@
99
100
  "@formatjs/intl-locale": "^2.4.14",
100
101
  "@popperjs/core": "^2.6.0",
101
102
  "@transferwise/formatting": "^2.1.0",
102
- "@transferwise/neptune-validation": "^3.0.3",
103
+ "@transferwise/neptune-validation": "^3.0.4",
103
104
  "@types/react-transition-group": "4.4.4",
104
105
  "classnames": "^2.2.6",
105
106
  "commonmark": "0.29.1",
@@ -115,7 +116,7 @@
115
116
  "react-popper": "^2.2.4",
116
117
  "react-required-if": "^1.0.3",
117
118
  "react-spring": "^8.0.27",
118
- "react-transition-group": "^4.2.1"
119
+ "react-transition-group": "^4.4.2"
119
120
  },
120
121
  "watch": {
121
122
  "build:crowdin-source-file": "src/**/*.messages.js"
@@ -123,5 +124,5 @@
123
124
  "resolutions": {
124
125
  "@storybook/**/kind-of": "^6.0.3"
125
126
  },
126
- "gitHead": "0f307302a6980a4681a2bcd656ed302e675b8c20"
127
+ "gitHead": "cae0d8e25621aabda6ff9bb5540f5f29bcdd95a4"
127
128
  }
@@ -0,0 +1,85 @@
1
+ const fs = require('fs');
2
+
3
+ const { generateFromFile } = require('react-to-typescript-definitions');
4
+
5
+ /**
6
+ * dir where we would place generated `.d.ts` files
7
+ * (same folder as we specifing in `tsconfig.json` via `declarationDir`)
8
+ */
9
+ const typesDistFolder = 'build/types';
10
+
11
+ /**
12
+ * list of JS files that uses prop-types (basically React components)
13
+ * and that are exposed from `@transferwise/components` library
14
+ */
15
+ const jsFiles = [
16
+ { filename: 'Provider', folder: 'provider' },
17
+ { filename: 'Checkbox', folder: 'checkbox' },
18
+ { filename: 'CheckboxButton', folder: 'checkboxButton' },
19
+ { filename: 'Radio', folder: 'radio' },
20
+ { filename: 'Select', folder: 'select' },
21
+ { filename: 'MoneyInput', folder: 'moneyInput' },
22
+ { filename: 'Stepper', folder: 'stepper' },
23
+ { filename: 'FlowNavigation', folder: 'flowNavigation' },
24
+ { filename: 'Popover', folder: 'popover' },
25
+ { filename: 'Money', folder: 'money' },
26
+ { filename: 'Modal', folder: 'modal' },
27
+ { filename: 'RadioOption', folder: 'radioOption' },
28
+ { filename: 'CheckboxOption', folder: 'checkboxOption' },
29
+ { filename: 'NavigationOption', folder: 'navigationOption' },
30
+ { filename: 'NavigationOptionsList', folder: 'navigationOptionsList' },
31
+ { filename: 'DateLookup', folder: 'dateLookup' },
32
+ { filename: 'PhoneNumberInput', folder: 'phoneNumberInput' },
33
+ { filename: 'DateInput', folder: 'dateInput' },
34
+ { filename: 'InstructionsList', folder: 'instructionsList' },
35
+ { filename: 'ProcessIndicator', folder: 'processIndicator' },
36
+ { filename: 'Upload', folder: 'upload' },
37
+ { filename: 'DefinitionList', folder: 'definitionList' },
38
+ { filename: 'DynamicFieldDefinitionList', folder: 'dynamicFieldDefinitionList' },
39
+ { filename: 'Avatar', folder: 'avatar' },
40
+ { filename: 'Button', folder: 'button' },
41
+ { filename: 'CircularButton', folder: 'circularButton' },
42
+ { filename: 'Info', folder: 'info' },
43
+ { filename: 'RadioGroup', folder: 'radioGroup' },
44
+ { filename: 'Alert', folder: 'alert' },
45
+ { filename: 'InputWithDisplayFormat', folder: 'inputWithDisplayFormat' },
46
+ { filename: 'TextareaWithDisplayFormat', folder: 'textareaWithDisplayFormat' },
47
+ { filename: 'Chevron', folder: 'chevron' },
48
+ { filename: 'Accordion', folder: 'accordion' },
49
+ { filename: 'SlidingPanel', folder: 'slidingPanel' },
50
+ { filename: 'Drawer', folder: 'drawer' },
51
+ { filename: 'Sticky', folder: 'sticky' },
52
+ { filename: 'Typeahead', folder: 'typeahead' },
53
+ { filename: 'Snackbar', folder: 'snackbar' },
54
+ { filename: 'SnackbarProvider', folder: 'snackbar' },
55
+ { filename: 'Tabs', folder: 'tabs' },
56
+ { filename: 'OverlayHeader', folder: 'overlayHeader' },
57
+ { filename: 'Image', folder: 'image' },
58
+ { filename: 'Markdown', folder: 'markdown' },
59
+ { filename: 'Card', folder: 'card' },
60
+ { filename: 'Summary', folder: 'summary' },
61
+ { filename: 'Decision', folder: 'decision' },
62
+ { filename: 'Nudge', folder: 'nudge' },
63
+ { filename: 'InlineAlert', folder: 'inlineAlert' },
64
+ { filename: 'AvatarWrapper', folder: 'avatarWrapper' },
65
+ { filename: 'Logo', folder: 'logo' },
66
+ ];
67
+
68
+ jsFiles.forEach(({ filename, folder }) => {
69
+ const filePath = `${folder}/${filename}`;
70
+
71
+ // generate types declration content
72
+ let fileTypeDeclrationContent = null;
73
+ try {
74
+ fileTypeDeclrationContent = generateFromFile(null, `src/${filePath}.js`, {
75
+ babylonPlugins: ['optionalChaining', 'nullishCoalescingOperator'],
76
+ });
77
+ } catch (error) {
78
+ /* eslint-disable no-console */
79
+ console.log(`Error while generating types for '${filePath}'`);
80
+ throw error;
81
+ }
82
+
83
+ // write content into .d.ts files
84
+ fs.writeFileSync(`${typesDistFolder}/${filePath}.d.ts`, fileTypeDeclrationContent);
85
+ });