Commit graph

152 commits

Author SHA1 Message Date
Juro Oravec
12a64f8e41
feat: allow extensions to add url views (#1025)
* feat: allow extensions to add url views

* refactor: fix linter errors
2025-03-17 08:36:47 +01:00
Juro Oravec
d3d2d0ab08
feat: allow extensions to add commands (#1017)
* feat: allow extensions to add commands

* refactor: fix tests

* refactor: more test fix

* refactor: more test fixes

* refactor: more linter fixes
2025-03-16 12:03:16 +01:00
Juro Oravec
4d35bc97a2
feat: extensions (#1009)
* feat: extensions

* refactor: remove support for passing in extensions as instances
2025-03-08 09:41:28 +01:00
Juro Oravec
7dfcb447c4
feat: add decorator for writing component tests (#1008)
* feat: add decorator for writing component tests

* refactor: udpate changelog + update deps pins

* refactor: fix deps

* refactor: make cached_ref into generic and fix linter errors

* refactor: fix coverage testing

* refactor: use global var instead of env var for is_testing state
2025-03-02 19:46:12 +01:00
Juro Oravec
f36581ed86
feat: benchmarking (#999)
* feat: add benchmarking dashboard, CI hook on PR, and store lifetime results

* refactor: change python env to 3.13 in benchmarks

* refactor: add verbosity, use 3.11 for benchmarking

* fix: OSError: [Errno 7] Argument list too long

* refactor: add debug statements

* refactor: remove extraneous -e

* refactor: fix tests and linter errors

* fix: track main package in coverage

* refactor: fix test coverage testing

* refactor: fix repo owner name in benchmark on pushing comment

* refactor: add asv monkeypatch to docs workflow

* refactor: temporarily allow building docs in forks

* refactor: use py 3.13 for benchmarking

* refactor: run only a single benchmark for PRs to speed them up

* refactor: install asv in the docs build workflow

* refactor: use hatch docs env to generate benhcmarks in docs CI

* refactor: more trying

* refactor: move tests

* Add benchmark results for 0.137

* Trigger Build

* Add benchmark results for 0.138

* refactor: set constant machine name when benchmarking

* Add benchmark results for 0.139

* refactor: fix issue with paths too long

* Add benchmark results for 0.140

* docs: update comment

* refactor: remove test benchmarking data

* refactor: fix comment

* refactor: allow the benchmark workflow to write to PRs

* refactor: use personal access token to set up the PR benchmark bot

* refactor: split the benchmark PR flow into two to make it work with PRs from forks

* refactor: update deprecated actions/upload-artifact@v3 to v4

* refactor: fix missing directory in benchmarking workflow

* refactor: fix triggering of second workflow

* refactor: fix workflow finally?

* docs: add comments to cut-offs and direct people to benchmarks PR

---------

Co-authored-by: github-actions <github-actions@github.com>
2025-02-23 16:18:57 +01:00
lilian D
8b5579d2be
feat:forward context processors variables in context in ISOLATED mode (#975)
* feat:forward context processors variables in context in ISOLATED mode

	provide context_processors_data property to Component to access those variables in Component

* refactor: internalize RequestContext and pass HttpRequest internally

* docs: document HttpRequest and context processors

---------

Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-02-20 11:06:49 +01:00
Juro Oravec
fdfdc72ed2
refactor: fix error when template cache is set to 0 (#980) 2025-02-16 21:06:33 +01:00
lilian D
58d4c78671
Bug : Relative path in extends and include does not work when using template_file (#976)
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-02-16 13:29:37 +01:00
Oliver Haas
3cf586a974
fix: thread unsafe media resolve validation by moving it to ComponentMedia __post_init (#979) 2025-02-15 22:42:38 +01:00
dependabot[bot]
5d01f203ab
build(deps-dev): bump esbuild in /src/django_components_js
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.23.1 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.23.1...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-12 10:26:31 +00:00
Juro Oravec
eb3f72ee0d
refactor: fix bug with complex slots and "django" mode + add docs on debugging with AI agents (#956) 2025-02-11 10:57:37 +01:00
Juro Oravec
48bae51ab9
feat: allow to configure media cache (for JS and CSS files) (#946) 2025-02-03 21:24:26 +01:00
Juro Oravec
c7aba40252
refactor: Do tag input validation with __code__ variables if available (#945) 2025-02-02 21:47:34 +01:00
Juro Oravec
f52f12579b
refactor: remove use of eval for node validation (#944) 2025-02-02 10:35:39 +01:00
Juro Oravec
de32d449d9
feat: allow to highlight slots and components for debugging (#942) 2025-02-02 10:14:47 +01:00
Juro Oravec
96f48bc013
refactor: fix on_render_after hook (#941) 2025-02-01 17:39:56 +01:00
Juro Oravec
588053803d
refactor: fix component recursion (#936) 2025-02-01 17:19:21 +01:00
Oliver Haas
f01ee1fe8a
fix: implement safe retrieval of component classes from registry (#934) 2025-02-01 11:08:35 +01:00
Juro Oravec
b69c6e6624
feat: replacepython html parser djc-core-html-parser (#929)
Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
2025-01-29 14:24:25 +01:00
Juro Oravec
0b65761fce
refactor: replace bs4 and perf optimizations (#927) 2025-01-24 10:30:41 +01:00
Juro Oravec
92f5497c74
refactor: change repo name and URL after org migration (#924) 2025-01-22 16:02:46 +01:00
Juro Oravec
f908197850
feat: @template_tag and refactor how template tags are defined (#910) 2025-01-20 22:47:04 +01:00
Juro Oravec
7ed4fd88f9
refactor: Patch Template.compile_nodelist with custom template parser (#908)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-15 22:34:32 +01:00
Juro Oravec
8cd4b03286
feat: Literal dicts and lists part 2 (#902) 2025-01-14 09:01:47 +01:00
Juro Oravec
ba0f9e65e9
refactor: move the utils from component_tags to util.template_tag (#899)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-09 21:46:32 +01:00
Juro Oravec
a79b24b692
feat: list and dict literals in tags + fix tag parser (#898)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-09 21:15:23 +01:00
Juro Oravec
ab037f24b0
feat: add Media.extend (#890)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-07 22:55:17 +01:00
Juro Oravec
81c02ddaa7
refactor: use HTML5 parser for BeautifulSoup (#891)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-07 21:27:17 +01:00
Juro Oravec
203d29f511
refactor: exclude underscored files from autodiscovery (#888) 2025-01-07 19:48:41 +01:00
Juro Oravec
1e4b556b4d
refactor: Assign content of file from Component.template_file to Component.template (#880)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-07 19:34:34 +01:00
Juro Oravec
d94a459c8d
refactor: rename template_name to template_file (#878)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-01 17:06:14 +01:00
Juro Oravec
329a398c61
docs: add documentation around component media (#877)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-30 22:03:31 +01:00
Juro Oravec
715bf7d447
feat: allow to set main JS and CSS from files + lazy-load component m… (#870)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-30 18:00:46 +01:00
Juro Oravec
fe67d90547
refactor: Backbone for passing JS and CSS variables (#861)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-28 19:27:19 +01:00
Juro Oravec
85fc6e3497
fix: TemplateDoesNotExist when using {% extends %} on main template and two components with same parent template (#862) 2024-12-23 12:58:03 +01:00
Juro Oravec
4dab940db8
feat: Add support for HTML fragments (#845)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-19 10:03:35 +01:00
Juro Oravec
f6f6fcb097
refactor: Fix the use of filters with component inputs (#857)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-17 20:25:56 +01:00
Juro Oravec
a7bc3f7c4c
fix: format tag param with translation correctly (#849)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-15 07:33:02 +01:00
Juro Oravec
87919e1163
refactor: Add own LRU cache impl for template caching (#828) 2024-12-13 09:29:19 +01:00
Juro Oravec
894dee3cad
refactor: use the tag parser to streamline the tag handlers (#827) 2024-12-13 09:00:03 +01:00
Juro Oravec
db4ca8b74f
refactor: apply Template patch at AppsConfig.ready() (#825)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-13 08:51:42 +01:00
Laurence Hole
dfd4187192
Adding request arg to render (#817)
Co-authored-by: Laurence Hole <laurence@safi.co>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-10 13:28:34 +01:00
Juro Oravec
1cd545b986
refactor: replace selectolax with beautifulsoup (#823)
* refactor: replace selectolax with beautifulsoup

* refactor: add tests for html parser impl

* refactor: add missing import

* refactor: fix tests

* refactor: fix linter issues

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-08 08:42:48 +01:00
Juro Oravec
be27c1c94d
fix: Fix broken JS execution order (#821)
* fix: fix broken js exec order

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* refactor: remove stale comment

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-06 08:22:27 +01:00
David Linke
594c0689ba
docs: Move docs-folder to root (#816)
* Move docs-folder form src to root

* Avoid mkdocs package / module name clash

* Update location of docs & add Windows compatibility

* Update requirements-docs

* Update generated file to current state
2024-12-03 12:32:21 +01:00
Juro Oravec
025562ac0c
fix: set paths for component media as posix paths even on windows (#799)
* fix: set paths for component media as posix paths even on windows

* refactor: try running django server in windows

* refactor: handle Windows paths in component media

* refactor: temp test only windows

* refactor: try to fix tests

* refactor: more test fixes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* refactor: remove extraneous import

* refactor: more fixes

* refactor: fix path conversion for windows

* refactor: revert windows env in CI

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-02 19:03:41 +01:00
Juro Oravec
230ceee537
chore: update supported versions - add Python 3.13, Django 5.1 (#809)
* chore: update supported versions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-02 15:32:38 +01:00
Juro Oravec
a3710fe8cf
refactor: add generated API docs to git (#802)
* refactor: add generated API docs to git

* refactor: add comment to autogenerated files
2024-12-02 11:12:00 +01:00
Juro Oravec
9879a0ab07
refactor: add top-level docs/README.md to re-add missing index.html (#801) 2024-12-02 10:55:43 +01:00
Juro Oravec
4c2cb2f2c4
docs: Split README (#800)
* docs: Split README (#775) (#785)

* docs: add script to generate API reference from the source code (#788)

* refactor: test docs build, fix docs build flow

* refactor: update requirements

* refactor: rename changelog to release notes in docs
2024-12-02 09:54:59 +01:00