Skip to content

Commit cb0db75

Browse files
committed
Add dev_bundle resources support.
1 parent 78b84ca commit cb0db75

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

dash/dash.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ def __init__(
8686
external_scripts=None,
8787
external_stylesheets=None,
8888
suppress_callback_exceptions=None,
89+
serve_dev_bundles=False,
8990
**kwargs):
9091

9192
# pylint-disable: too-many-instance-attributes
@@ -216,6 +217,7 @@ def add_url(name, view_func, methods=('GET',)):
216217
self._layout = None
217218
self._cached_layout = None
218219
self.routes = []
220+
self._serve_dev_bundle = serve_dev_bundles
219221

220222
@property
221223
def layout(self):
@@ -357,11 +359,14 @@ def _generate_scripts_html(self):
357359
# pylint: disable=protected-access
358360
srcs = self._collect_and_register_resources(
359361
self.scripts._resources._filter_resources(
360-
dash_renderer._js_dist_dependencies
362+
dash_renderer._js_dist_dependencies,
363+
dev_bundles=self._serve_dev_bundle
361364
)) + self._external_scripts + self._collect_and_register_resources(
362-
self.scripts.get_all_scripts() +
365+
self.scripts.get_all_scripts(
366+
dev_bundles=self._serve_dev_bundle) +
363367
self.scripts._resources._filter_resources(
364-
dash_renderer._js_dist
368+
dash_renderer._js_dist,
369+
dev_bundles=self._serve_dev_bundle
365370
))
366371

367372
return '\n'.join([

dash/resources.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,18 @@ def __init__(self, resource_name, layout):
1616
def append_resource(self, resource):
1717
self._resources.append(resource)
1818

19-
def _filter_resources(self, all_resources):
19+
def _filter_resources(self, all_resources, dev_bundles=False):
2020
filtered_resources = []
2121
for s in all_resources:
2222
filtered_resource = {}
2323
if 'namespace' in s:
2424
filtered_resource['namespace'] = s['namespace']
2525
if 'external_url' in s and not self.config.serve_locally:
2626
filtered_resource['external_url'] = s['external_url']
27+
elif 'dev_package_path' in s and dev_bundles:
28+
filtered_resource['relative_package_path'] = (
29+
s['dev_package_path']
30+
)
2731
elif 'relative_package_path' in s:
2832
filtered_resource['relative_package_path'] = (
2933
s['relative_package_path']
@@ -54,7 +58,7 @@ def _filter_resources(self, all_resources):
5458

5559
return filtered_resources
5660

57-
def get_all_resources(self):
61+
def get_all_resources(self, dev_bundles=False):
5862
all_resources = []
5963
if self.config.infer_from_layout:
6064
all_resources = (
@@ -63,7 +67,7 @@ def get_all_resources(self):
6367
else:
6468
all_resources = self._resources
6569

66-
return self._filter_resources(all_resources)
70+
return self._filter_resources(all_resources, dev_bundles)
6771

6872
def get_inferred_resources(self):
6973
namespaces = []
@@ -127,8 +131,8 @@ def _update_layout(self, layout):
127131
def append_script(self, script):
128132
self._resources.append_resource(script)
129133

130-
def get_all_scripts(self):
131-
return self._resources.get_all_resources()
134+
def get_all_scripts(self, dev_bundles=False):
135+
return self._resources.get_all_resources(dev_bundles)
132136

133137
def get_inferred_scripts(self):
134138
return self._resources.get_inferred_resources()

0 commit comments

Comments
 (0)