|
| 1 | +import os |
| 2 | + |
1 | 3 | __version__ = "$version"
|
2 | 4 |
|
3 |
| -_js_dist_dependencies = [ |
4 |
| - { |
5 |
| - "external_url": { |
6 |
| - "prod": [ |
7 |
| - "https://unpkg.com/@babel/polyfill@$polyfill/dist/polyfill.min.js", |
8 |
| - "https://unpkg.com/react@$react/umd/react.production.min.js", |
9 |
| - "https://unpkg.com/react-dom@$reactdom/umd/react-dom.production.min.js", |
10 |
| - "https://unpkg.com/prop-types@$proptypes/prop-types.min.js", |
11 |
| - ], |
12 |
| - "dev": [ |
13 |
| - "https://unpkg.com/@babel/polyfill@$polyfill/dist/polyfill.min.js", |
14 |
| - "https://unpkg.com/react@$react/umd/react.development.js", |
15 |
| - "https://unpkg.com/react-dom@$reactdom/umd/react-dom.development.js", |
16 |
| - "https://unpkg.com/prop-types@$proptypes/prop-types.js", |
17 |
| - ], |
18 |
| - }, |
19 |
| - "relative_package_path": { |
20 |
| - "prod": [ |
21 |
| - "deps/polyfill@$polyfill.min.js", |
22 |
| - "deps/react@$react.min.js", |
23 |
| - "deps/react-dom@$reactdom.min.js", |
24 |
| - "deps/prop-types@$proptypes.min.js", |
25 |
| - ], |
26 |
| - "dev": [ |
27 |
| - "deps/polyfill@$polyfill.min.js", |
28 |
| - "deps/react@$react.js", |
29 |
| - "deps/react-dom@$reactdom.js", |
30 |
| - "deps/prop-types@$proptypes.js", |
31 |
| - ], |
32 |
| - }, |
33 |
| - "namespace": "dash", |
34 |
| - } |
35 |
| -] |
| 5 | +_available_react_versions = {"$react", $extra_react_versions} |
| 6 | +_available_reactdom_versions = {"$reactdom", $extra_reactdom_versions} |
| 7 | +_js_dist_dependencies = [] # to be set by _set_react_version |
| 8 | + |
| 9 | + |
| 10 | +def _set_react_version(v_react, v_reactdom=None): |
| 11 | + if not v_reactdom: |
| 12 | + v_reactdom = v_react |
| 13 | + |
| 14 | + react_err = f"looking for one of {_available_react_versions}, found {v_react}" |
| 15 | + reactdom_err = ( |
| 16 | + f"looking for one of {_available_reactdom_versions}, found {v_reactdom}" |
| 17 | + ) |
| 18 | + assert v_react in _available_react_versions, react_err |
| 19 | + assert v_reactdom in _available_reactdom_versions, reactdom_err |
| 20 | + |
| 21 | + _js_dist_dependencies[:] = [ |
| 22 | + { |
| 23 | + "external_url": { |
| 24 | + "prod": [ |
| 25 | + "https://unpkg.com/@babel/polyfill@$polyfill/dist/polyfill.min.js", |
| 26 | + f"https://unpkg.com/react@{v_react}/umd/react.production.min.js", |
| 27 | + f"https://unpkg.com/react-dom@{v_reactdom}/umd/react-dom.production.min.js", |
| 28 | + "https://unpkg.com/prop-types@$proptypes/prop-types.min.js", |
| 29 | + ], |
| 30 | + "dev": [ |
| 31 | + "https://unpkg.com/@babel/polyfill@$polyfill/dist/polyfill.min.js", |
| 32 | + f"https://unpkg.com/react@{v_react}/umd/react.development.js", |
| 33 | + f"https://unpkg.com/react-dom@{v_reactdom}/umd/react-dom.development.js", |
| 34 | + "https://unpkg.com/prop-types@$proptypes/prop-types.js", |
| 35 | + ], |
| 36 | + }, |
| 37 | + "relative_package_path": { |
| 38 | + "prod": [ |
| 39 | + "deps/polyfill@$polyfill.min.js", |
| 40 | + f"deps/react@{v_react}.min.js", |
| 41 | + f"deps/react-dom@{v_reactdom}.min.js", |
| 42 | + "deps/prop-types@$proptypes.min.js", |
| 43 | + ], |
| 44 | + "dev": [ |
| 45 | + "deps/polyfill@$polyfill.min.js", |
| 46 | + f"deps/react@{v_react}.js", |
| 47 | + f"deps/react-dom@{v_reactdom}.js", |
| 48 | + "deps/prop-types@$proptypes.js", |
| 49 | + ], |
| 50 | + }, |
| 51 | + "namespace": "dash", |
| 52 | + } |
| 53 | + ] |
| 54 | + |
36 | 55 |
|
| 56 | +_env_react_version = os.getenv("REACT_VERSION") |
| 57 | +if _env_react_version: |
| 58 | + _set_react_version(_env_react_version) |
| 59 | +else: |
| 60 | + _set_react_version("$react", "$reactdom") |
37 | 61 |
|
38 | 62 | _js_dist = [
|
39 | 63 | {
|
|
0 commit comments