@financial-times/n-myft-ui 24.0.2 → 25.0.0

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.
@@ -79,6 +79,9 @@ jobs:
79
79
  command: .circleci/shared-helpers/helper-generate-build-state-artifacts
80
80
  when: always
81
81
  - *cache_npm_cache
82
+ - run:
83
+ name: Compile JSX templates
84
+ command: npm run build-package
82
85
  - store_artifacts:
83
86
  path: build-state
84
87
  destination: build-state
package/README.md CHANGED
@@ -38,3 +38,54 @@ make demo
38
38
  ```
39
39
 
40
40
  View the demo on `localhost:5005`
41
+
42
+
43
+ ## Migration Guide
44
+
45
+ ### Upgrading from v25
46
+
47
+ V24 introduces some major changes to n-myft-ui components. Some of the components have been moved from handlebars to jsx.
48
+
49
+ These components include:
50
+ - csrf-token
51
+ - follow-button
52
+ - save-for-later
53
+ - pin-button
54
+ - concept-list
55
+ - collections
56
+
57
+ A consumer of any of these components needs to render them directly as `jsx` components in a parent `jsx` component or use the `renderReactComponent` helper function provided by `@financial-times/dotcom-server-handlebars` in a consuming handlebars template/partial.
58
+
59
+ #### Example rendering in a jsx component
60
+ ```jsx
61
+ import { SaveForLater } from '@financial-times/n-myft-ui';
62
+
63
+ export default function Consumer() {
64
+ return (
65
+ <SaveForLater contentId={contentId} saveButtonWithIcon={true} flags={{myFtApiWrite:myFtApiWrite}}/>
66
+ )
67
+ }
68
+ ```
69
+
70
+ More examples of rendering these components can be found [here](https://github.com/Financial-Times/n-myft-ui/blob/main/demos/templates/demo.jsx) with component props passed in [here](https://github.com/Financial-Times/n-myft-ui/blob/dfbf06d10f78756871cfe8d2aeb863ce4bcca1e1/demos/app.js#L54).
71
+
72
+
73
+ #### Example rendering in a handlebars partial
74
+ To render a jsx component in a handlebars partial, consumers need to add the `helpers` provided by `@financial-times/dotcom-server-handlebars` to the PageKitHandlebars config in `express app engine` [see example](https://github.com/Financial-Times/n-myft-ui/blob/dfbf06d10f78756871cfe8d2aeb863ce4bcca1e1/demos/app.js#L41).
75
+
76
+ ```hbs
77
+ <div>
78
+ <h2 class="demo-section__title">
79
+ Follow button
80
+ </h2>
81
+
82
+ {{#followButton}}
83
+ {{{renderReactComponent localPath="node_modules/@financial-times/n-myft-ui/components/follow-button/follow-button" flags=flags variant="standard" conceptId="0000-0000-0000-0000" name="Follow Item" directType="http://www.ft.com/ontology/product/Brand"}}}
84
+ {{/followButton}}
85
+ </div>
86
+ ```
87
+
88
+ More examples of rendering jsx in handlebars partials can be found [here](https://github.com/Financial-Times/n-myft-ui/blob/main/demos/templates/demo.html)
89
+
90
+
91
+ NB: This branch is the development branch for v25 and all bug fixes for breaking changes related to `jsx` go here.
@@ -34,6 +34,8 @@
34
34
  "babel-plugin-transform-runtime": "^6.9.0",
35
35
  "babel-preset-env": "^1.7.0",
36
36
  "babel-preset-es2015": "^6.6.0",
37
+ "babel-preset-react": "^6.24.1",
38
+ "babel-preset-stage-2": "^6.24.1",
37
39
  "babel-runtime": "^6.9.2",
38
40
  "bower": "^1.8.8",
39
41
  "bower-resolve-webpack-plugin": "^1.0.5",
@@ -6320,6 +6322,17 @@
6320
6322
  "jsesc": "bin/jsesc"
6321
6323
  }
6322
6324
  },
6325
+ "node_modules/babel-helper-bindify-decorators": {
6326
+ "version": "6.24.1",
6327
+ "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
6328
+ "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
6329
+ "dev": true,
6330
+ "dependencies": {
6331
+ "babel-runtime": "^6.22.0",
6332
+ "babel-traverse": "^6.24.1",
6333
+ "babel-types": "^6.24.1"
6334
+ }
6335
+ },
6323
6336
  "node_modules/babel-helper-builder-binary-assignment-operator-visitor": {
6324
6337
  "version": "6.24.1",
6325
6338
  "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
@@ -6331,6 +6344,17 @@
6331
6344
  "babel-types": "^6.24.1"
6332
6345
  }
6333
6346
  },
6347
+ "node_modules/babel-helper-builder-react-jsx": {
6348
+ "version": "6.26.0",
6349
+ "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
6350
+ "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
6351
+ "dev": true,
6352
+ "dependencies": {
6353
+ "babel-runtime": "^6.26.0",
6354
+ "babel-types": "^6.26.0",
6355
+ "esutils": "^2.0.2"
6356
+ }
6357
+ },
6334
6358
  "node_modules/babel-helper-call-delegate": {
6335
6359
  "version": "6.24.1",
6336
6360
  "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
@@ -6366,6 +6390,18 @@
6366
6390
  "babel-types": "^6.24.1"
6367
6391
  }
6368
6392
  },
6393
+ "node_modules/babel-helper-explode-class": {
6394
+ "version": "6.24.1",
6395
+ "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
6396
+ "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
6397
+ "dev": true,
6398
+ "dependencies": {
6399
+ "babel-helper-bindify-decorators": "^6.24.1",
6400
+ "babel-runtime": "^6.22.0",
6401
+ "babel-traverse": "^6.24.1",
6402
+ "babel-types": "^6.24.1"
6403
+ }
6404
+ },
6369
6405
  "node_modules/babel-helper-function-name": {
6370
6406
  "version": "6.24.1",
6371
6407
  "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
@@ -6688,18 +6724,71 @@
6688
6724
  "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
6689
6725
  "dev": true
6690
6726
  },
6727
+ "node_modules/babel-plugin-syntax-async-generators": {
6728
+ "version": "6.13.0",
6729
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
6730
+ "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
6731
+ "dev": true
6732
+ },
6733
+ "node_modules/babel-plugin-syntax-class-properties": {
6734
+ "version": "6.13.0",
6735
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
6736
+ "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
6737
+ "dev": true
6738
+ },
6739
+ "node_modules/babel-plugin-syntax-decorators": {
6740
+ "version": "6.13.0",
6741
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
6742
+ "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
6743
+ "dev": true
6744
+ },
6745
+ "node_modules/babel-plugin-syntax-dynamic-import": {
6746
+ "version": "6.18.0",
6747
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
6748
+ "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
6749
+ "dev": true
6750
+ },
6691
6751
  "node_modules/babel-plugin-syntax-exponentiation-operator": {
6692
6752
  "version": "6.13.0",
6693
6753
  "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
6694
6754
  "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
6695
6755
  "dev": true
6696
6756
  },
6757
+ "node_modules/babel-plugin-syntax-flow": {
6758
+ "version": "6.18.0",
6759
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
6760
+ "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
6761
+ "dev": true
6762
+ },
6763
+ "node_modules/babel-plugin-syntax-jsx": {
6764
+ "version": "6.18.0",
6765
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
6766
+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
6767
+ "dev": true
6768
+ },
6769
+ "node_modules/babel-plugin-syntax-object-rest-spread": {
6770
+ "version": "6.13.0",
6771
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
6772
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
6773
+ "dev": true
6774
+ },
6697
6775
  "node_modules/babel-plugin-syntax-trailing-function-commas": {
6698
6776
  "version": "6.22.0",
6699
6777
  "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
6700
6778
  "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
6701
6779
  "dev": true
6702
6780
  },
6781
+ "node_modules/babel-plugin-transform-async-generator-functions": {
6782
+ "version": "6.24.1",
6783
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
6784
+ "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
6785
+ "dev": true,
6786
+ "dependencies": {
6787
+ "babel-helper-remap-async-to-generator": "^6.24.1",
6788
+ "babel-plugin-syntax-async-generators": "^6.5.0",
6789
+ "babel-runtime": "^6.22.0"
6790
+ }
6791
+ },
6703
6792
  "node_modules/babel-plugin-transform-async-to-generator": {
6704
6793
  "version": "6.24.1",
6705
6794
  "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
@@ -6711,6 +6800,31 @@
6711
6800
  "babel-runtime": "^6.22.0"
6712
6801
  }
6713
6802
  },
6803
+ "node_modules/babel-plugin-transform-class-properties": {
6804
+ "version": "6.24.1",
6805
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
6806
+ "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
6807
+ "dev": true,
6808
+ "dependencies": {
6809
+ "babel-helper-function-name": "^6.24.1",
6810
+ "babel-plugin-syntax-class-properties": "^6.8.0",
6811
+ "babel-runtime": "^6.22.0",
6812
+ "babel-template": "^6.24.1"
6813
+ }
6814
+ },
6815
+ "node_modules/babel-plugin-transform-decorators": {
6816
+ "version": "6.24.1",
6817
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
6818
+ "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
6819
+ "dev": true,
6820
+ "dependencies": {
6821
+ "babel-helper-explode-class": "^6.24.1",
6822
+ "babel-plugin-syntax-decorators": "^6.13.0",
6823
+ "babel-runtime": "^6.22.0",
6824
+ "babel-template": "^6.24.1",
6825
+ "babel-types": "^6.24.1"
6826
+ }
6827
+ },
6714
6828
  "node_modules/babel-plugin-transform-es2015-arrow-functions": {
6715
6829
  "version": "6.22.0",
6716
6830
  "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
@@ -6994,6 +7108,66 @@
6994
7108
  "babel-runtime": "^6.22.0"
6995
7109
  }
6996
7110
  },
7111
+ "node_modules/babel-plugin-transform-flow-strip-types": {
7112
+ "version": "6.22.0",
7113
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
7114
+ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
7115
+ "dev": true,
7116
+ "dependencies": {
7117
+ "babel-plugin-syntax-flow": "^6.18.0",
7118
+ "babel-runtime": "^6.22.0"
7119
+ }
7120
+ },
7121
+ "node_modules/babel-plugin-transform-object-rest-spread": {
7122
+ "version": "6.26.0",
7123
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
7124
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
7125
+ "dev": true,
7126
+ "dependencies": {
7127
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
7128
+ "babel-runtime": "^6.26.0"
7129
+ }
7130
+ },
7131
+ "node_modules/babel-plugin-transform-react-display-name": {
7132
+ "version": "6.25.0",
7133
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
7134
+ "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
7135
+ "dev": true,
7136
+ "dependencies": {
7137
+ "babel-runtime": "^6.22.0"
7138
+ }
7139
+ },
7140
+ "node_modules/babel-plugin-transform-react-jsx": {
7141
+ "version": "6.24.1",
7142
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
7143
+ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
7144
+ "dev": true,
7145
+ "dependencies": {
7146
+ "babel-helper-builder-react-jsx": "^6.24.1",
7147
+ "babel-plugin-syntax-jsx": "^6.8.0",
7148
+ "babel-runtime": "^6.22.0"
7149
+ }
7150
+ },
7151
+ "node_modules/babel-plugin-transform-react-jsx-self": {
7152
+ "version": "6.22.0",
7153
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
7154
+ "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
7155
+ "dev": true,
7156
+ "dependencies": {
7157
+ "babel-plugin-syntax-jsx": "^6.8.0",
7158
+ "babel-runtime": "^6.22.0"
7159
+ }
7160
+ },
7161
+ "node_modules/babel-plugin-transform-react-jsx-source": {
7162
+ "version": "6.22.0",
7163
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
7164
+ "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
7165
+ "dev": true,
7166
+ "dependencies": {
7167
+ "babel-plugin-syntax-jsx": "^6.8.0",
7168
+ "babel-runtime": "^6.22.0"
7169
+ }
7170
+ },
6997
7171
  "node_modules/babel-plugin-transform-regenerator": {
6998
7172
  "version": "6.26.0",
6999
7173
  "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
@@ -7155,6 +7329,15 @@
7155
7329
  "babel-plugin-transform-regenerator": "^6.24.1"
7156
7330
  }
7157
7331
  },
7332
+ "node_modules/babel-preset-flow": {
7333
+ "version": "6.23.0",
7334
+ "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
7335
+ "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
7336
+ "dev": true,
7337
+ "dependencies": {
7338
+ "babel-plugin-transform-flow-strip-types": "^6.22.0"
7339
+ }
7340
+ },
7158
7341
  "node_modules/babel-preset-jest": {
7159
7342
  "version": "27.4.0",
7160
7343
  "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz",
@@ -7171,6 +7354,45 @@
7171
7354
  "@babel/core": "^7.0.0"
7172
7355
  }
7173
7356
  },
7357
+ "node_modules/babel-preset-react": {
7358
+ "version": "6.24.1",
7359
+ "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
7360
+ "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
7361
+ "dev": true,
7362
+ "dependencies": {
7363
+ "babel-plugin-syntax-jsx": "^6.3.13",
7364
+ "babel-plugin-transform-react-display-name": "^6.23.0",
7365
+ "babel-plugin-transform-react-jsx": "^6.24.1",
7366
+ "babel-plugin-transform-react-jsx-self": "^6.22.0",
7367
+ "babel-plugin-transform-react-jsx-source": "^6.22.0",
7368
+ "babel-preset-flow": "^6.23.0"
7369
+ }
7370
+ },
7371
+ "node_modules/babel-preset-stage-2": {
7372
+ "version": "6.24.1",
7373
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
7374
+ "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
7375
+ "dev": true,
7376
+ "dependencies": {
7377
+ "babel-plugin-syntax-dynamic-import": "^6.18.0",
7378
+ "babel-plugin-transform-class-properties": "^6.24.1",
7379
+ "babel-plugin-transform-decorators": "^6.24.1",
7380
+ "babel-preset-stage-3": "^6.24.1"
7381
+ }
7382
+ },
7383
+ "node_modules/babel-preset-stage-3": {
7384
+ "version": "6.24.1",
7385
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
7386
+ "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
7387
+ "dev": true,
7388
+ "dependencies": {
7389
+ "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
7390
+ "babel-plugin-transform-async-generator-functions": "^6.24.1",
7391
+ "babel-plugin-transform-async-to-generator": "^6.24.1",
7392
+ "babel-plugin-transform-exponentiation-operator": "^6.24.1",
7393
+ "babel-plugin-transform-object-rest-spread": "^6.22.0"
7394
+ }
7395
+ },
7174
7396
  "node_modules/babel-register": {
7175
7397
  "version": "6.26.0",
7176
7398
  "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
@@ -35391,6 +35613,17 @@
35391
35613
  }
35392
35614
  }
35393
35615
  },
35616
+ "babel-helper-bindify-decorators": {
35617
+ "version": "6.24.1",
35618
+ "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz",
35619
+ "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
35620
+ "dev": true,
35621
+ "requires": {
35622
+ "babel-runtime": "^6.22.0",
35623
+ "babel-traverse": "^6.24.1",
35624
+ "babel-types": "^6.24.1"
35625
+ }
35626
+ },
35394
35627
  "babel-helper-builder-binary-assignment-operator-visitor": {
35395
35628
  "version": "6.24.1",
35396
35629
  "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
@@ -35402,6 +35635,17 @@
35402
35635
  "babel-types": "^6.24.1"
35403
35636
  }
35404
35637
  },
35638
+ "babel-helper-builder-react-jsx": {
35639
+ "version": "6.26.0",
35640
+ "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
35641
+ "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
35642
+ "dev": true,
35643
+ "requires": {
35644
+ "babel-runtime": "^6.26.0",
35645
+ "babel-types": "^6.26.0",
35646
+ "esutils": "^2.0.2"
35647
+ }
35648
+ },
35405
35649
  "babel-helper-call-delegate": {
35406
35650
  "version": "6.24.1",
35407
35651
  "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
@@ -35437,6 +35681,18 @@
35437
35681
  "babel-types": "^6.24.1"
35438
35682
  }
35439
35683
  },
35684
+ "babel-helper-explode-class": {
35685
+ "version": "6.24.1",
35686
+ "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz",
35687
+ "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
35688
+ "dev": true,
35689
+ "requires": {
35690
+ "babel-helper-bindify-decorators": "^6.24.1",
35691
+ "babel-runtime": "^6.22.0",
35692
+ "babel-traverse": "^6.24.1",
35693
+ "babel-types": "^6.24.1"
35694
+ }
35695
+ },
35440
35696
  "babel-helper-function-name": {
35441
35697
  "version": "6.24.1",
35442
35698
  "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
@@ -35709,18 +35965,71 @@
35709
35965
  "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
35710
35966
  "dev": true
35711
35967
  },
35968
+ "babel-plugin-syntax-async-generators": {
35969
+ "version": "6.13.0",
35970
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
35971
+ "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
35972
+ "dev": true
35973
+ },
35974
+ "babel-plugin-syntax-class-properties": {
35975
+ "version": "6.13.0",
35976
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
35977
+ "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
35978
+ "dev": true
35979
+ },
35980
+ "babel-plugin-syntax-decorators": {
35981
+ "version": "6.13.0",
35982
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
35983
+ "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
35984
+ "dev": true
35985
+ },
35986
+ "babel-plugin-syntax-dynamic-import": {
35987
+ "version": "6.18.0",
35988
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
35989
+ "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
35990
+ "dev": true
35991
+ },
35712
35992
  "babel-plugin-syntax-exponentiation-operator": {
35713
35993
  "version": "6.13.0",
35714
35994
  "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
35715
35995
  "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
35716
35996
  "dev": true
35717
35997
  },
35998
+ "babel-plugin-syntax-flow": {
35999
+ "version": "6.18.0",
36000
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
36001
+ "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
36002
+ "dev": true
36003
+ },
36004
+ "babel-plugin-syntax-jsx": {
36005
+ "version": "6.18.0",
36006
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
36007
+ "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
36008
+ "dev": true
36009
+ },
36010
+ "babel-plugin-syntax-object-rest-spread": {
36011
+ "version": "6.13.0",
36012
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
36013
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
36014
+ "dev": true
36015
+ },
35718
36016
  "babel-plugin-syntax-trailing-function-commas": {
35719
36017
  "version": "6.22.0",
35720
36018
  "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
35721
36019
  "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
35722
36020
  "dev": true
35723
36021
  },
36022
+ "babel-plugin-transform-async-generator-functions": {
36023
+ "version": "6.24.1",
36024
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
36025
+ "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
36026
+ "dev": true,
36027
+ "requires": {
36028
+ "babel-helper-remap-async-to-generator": "^6.24.1",
36029
+ "babel-plugin-syntax-async-generators": "^6.5.0",
36030
+ "babel-runtime": "^6.22.0"
36031
+ }
36032
+ },
35724
36033
  "babel-plugin-transform-async-to-generator": {
35725
36034
  "version": "6.24.1",
35726
36035
  "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
@@ -35732,6 +36041,31 @@
35732
36041
  "babel-runtime": "^6.22.0"
35733
36042
  }
35734
36043
  },
36044
+ "babel-plugin-transform-class-properties": {
36045
+ "version": "6.24.1",
36046
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
36047
+ "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
36048
+ "dev": true,
36049
+ "requires": {
36050
+ "babel-helper-function-name": "^6.24.1",
36051
+ "babel-plugin-syntax-class-properties": "^6.8.0",
36052
+ "babel-runtime": "^6.22.0",
36053
+ "babel-template": "^6.24.1"
36054
+ }
36055
+ },
36056
+ "babel-plugin-transform-decorators": {
36057
+ "version": "6.24.1",
36058
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz",
36059
+ "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
36060
+ "dev": true,
36061
+ "requires": {
36062
+ "babel-helper-explode-class": "^6.24.1",
36063
+ "babel-plugin-syntax-decorators": "^6.13.0",
36064
+ "babel-runtime": "^6.22.0",
36065
+ "babel-template": "^6.24.1",
36066
+ "babel-types": "^6.24.1"
36067
+ }
36068
+ },
35735
36069
  "babel-plugin-transform-es2015-arrow-functions": {
35736
36070
  "version": "6.22.0",
35737
36071
  "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
@@ -36011,6 +36345,66 @@
36011
36345
  "babel-runtime": "^6.22.0"
36012
36346
  }
36013
36347
  },
36348
+ "babel-plugin-transform-flow-strip-types": {
36349
+ "version": "6.22.0",
36350
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
36351
+ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
36352
+ "dev": true,
36353
+ "requires": {
36354
+ "babel-plugin-syntax-flow": "^6.18.0",
36355
+ "babel-runtime": "^6.22.0"
36356
+ }
36357
+ },
36358
+ "babel-plugin-transform-object-rest-spread": {
36359
+ "version": "6.26.0",
36360
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
36361
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
36362
+ "dev": true,
36363
+ "requires": {
36364
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
36365
+ "babel-runtime": "^6.26.0"
36366
+ }
36367
+ },
36368
+ "babel-plugin-transform-react-display-name": {
36369
+ "version": "6.25.0",
36370
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
36371
+ "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
36372
+ "dev": true,
36373
+ "requires": {
36374
+ "babel-runtime": "^6.22.0"
36375
+ }
36376
+ },
36377
+ "babel-plugin-transform-react-jsx": {
36378
+ "version": "6.24.1",
36379
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
36380
+ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
36381
+ "dev": true,
36382
+ "requires": {
36383
+ "babel-helper-builder-react-jsx": "^6.24.1",
36384
+ "babel-plugin-syntax-jsx": "^6.8.0",
36385
+ "babel-runtime": "^6.22.0"
36386
+ }
36387
+ },
36388
+ "babel-plugin-transform-react-jsx-self": {
36389
+ "version": "6.22.0",
36390
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
36391
+ "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
36392
+ "dev": true,
36393
+ "requires": {
36394
+ "babel-plugin-syntax-jsx": "^6.8.0",
36395
+ "babel-runtime": "^6.22.0"
36396
+ }
36397
+ },
36398
+ "babel-plugin-transform-react-jsx-source": {
36399
+ "version": "6.22.0",
36400
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
36401
+ "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
36402
+ "dev": true,
36403
+ "requires": {
36404
+ "babel-plugin-syntax-jsx": "^6.8.0",
36405
+ "babel-runtime": "^6.22.0"
36406
+ }
36407
+ },
36014
36408
  "babel-plugin-transform-regenerator": {
36015
36409
  "version": "6.26.0",
36016
36410
  "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
@@ -36166,6 +36560,15 @@
36166
36560
  "babel-plugin-transform-regenerator": "^6.24.1"
36167
36561
  }
36168
36562
  },
36563
+ "babel-preset-flow": {
36564
+ "version": "6.23.0",
36565
+ "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
36566
+ "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
36567
+ "dev": true,
36568
+ "requires": {
36569
+ "babel-plugin-transform-flow-strip-types": "^6.22.0"
36570
+ }
36571
+ },
36169
36572
  "babel-preset-jest": {
36170
36573
  "version": "27.4.0",
36171
36574
  "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz",
@@ -36176,6 +36579,45 @@
36176
36579
  "babel-preset-current-node-syntax": "^1.0.0"
36177
36580
  }
36178
36581
  },
36582
+ "babel-preset-react": {
36583
+ "version": "6.24.1",
36584
+ "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
36585
+ "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
36586
+ "dev": true,
36587
+ "requires": {
36588
+ "babel-plugin-syntax-jsx": "^6.3.13",
36589
+ "babel-plugin-transform-react-display-name": "^6.23.0",
36590
+ "babel-plugin-transform-react-jsx": "^6.24.1",
36591
+ "babel-plugin-transform-react-jsx-self": "^6.22.0",
36592
+ "babel-plugin-transform-react-jsx-source": "^6.22.0",
36593
+ "babel-preset-flow": "^6.23.0"
36594
+ }
36595
+ },
36596
+ "babel-preset-stage-2": {
36597
+ "version": "6.24.1",
36598
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz",
36599
+ "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
36600
+ "dev": true,
36601
+ "requires": {
36602
+ "babel-plugin-syntax-dynamic-import": "^6.18.0",
36603
+ "babel-plugin-transform-class-properties": "^6.24.1",
36604
+ "babel-plugin-transform-decorators": "^6.24.1",
36605
+ "babel-preset-stage-3": "^6.24.1"
36606
+ }
36607
+ },
36608
+ "babel-preset-stage-3": {
36609
+ "version": "6.24.1",
36610
+ "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz",
36611
+ "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
36612
+ "dev": true,
36613
+ "requires": {
36614
+ "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
36615
+ "babel-plugin-transform-async-generator-functions": "^6.24.1",
36616
+ "babel-plugin-transform-async-to-generator": "^6.24.1",
36617
+ "babel-plugin-transform-exponentiation-operator": "^6.24.1",
36618
+ "babel-plugin-transform-object-rest-spread": "^6.22.0"
36619
+ }
36620
+ },
36179
36621
  "babel-register": {
36180
36622
  "version": "6.26.0",
36181
36623
  "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",