Serve JavaScript modules via Django static files
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- django, javascript, python, react
Research direction
Start by reviewing Django's STATICFILES_FINDERS documentation and the original issue #4, then compare the proposed finder, collect_modules, and explicit-folder approaches. Done means selecting and implementing a deterministic integration that serves ReactPy JavaScript modules through Django's static-file system, with an explicit behavior for modules missing at startup.
Written by the indexing model from the issue text.
Description
Current Situation
Currently, we serve our JavaScript web modules (JavaScript Components) via views. This is due to the fact that our current architecture does not let us know what web modules exist until runtime.
However, Django views are less efficient at serving files than a webserver such as Nginx or Apache.
Proposed Actions
Develop a way of integrating with the Django Static File system.
Work Items
We have a couple of paths we could take
- Create a static file finder that points to ReactPy's web modules directory
- This is the preferred implementation if feasible
- Develop a
collect_modulescommand, similar to django-compressor'scollect_staticcommand- This option requires changes in ReactPy to deterministically collect all JavaScript web modules during startup.
- Also, what should we do if we accidentally did not obtain a static file during startup? Should we fallback to using our Django view, or just throw a
404 Not Founderror?
- Make users put JavaScript modules in dedicated
JAVASCRIPT_MODULES = [ ... ]folder(s)- User's will need to statically define their ReactPy JavaScript modules with this method.
See #4 for the original issue.
- Dominant language
- Python
- Stars
- 357
- Forks
- 22
- Avg merge
- 10h 31m
- Merged PRs (30d)
- 2
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from reactive-python/reactpy-django
-
Add coverage tests Opencomplexity: 3 (low) priority: 3 (low) type: ci
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
complexity: 1 (high) priority: 1 (high)
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
complexity: 2 (medium) priority: 3 (low)
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
complexity: 2 (medium) priority: 3 (low)
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
complexity: 1 (high) priority: 2 (moderate)
Difficulty 5/5 Over a week Newbie friendliness 25/100
All issues in reactive-python/reactpy-django
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
syfoud/Simulated_Scepter#172 ·
-
A cancelled tests run makes the coverage comment workflow fail and reports it as a red check on main Openarea: ci bug perceived difficulty: 3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Nitjsefnie-Harness-Commons/daedalus#921 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
EleutherAI/lm-evaluation-harness#4207 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/clickhouse-connect#1057 ·