1import json
2
3from plain.runtime import settings
4from plain.templates import register_template_extension
5from plain.templates.jinja.extensions import InclusionTagExtension
6
7from .core import Importmap
8
9
10@register_template_extension
11class ImportmapJSExtension(InclusionTagExtension):
12 tags = {"importmap_js"}
13 template_name = "importmap/js.html"
14
15 def get_context(self, context, *args, **kwargs):
16 importmap = Importmap()
17 importmap.load()
18
19 if settings.DEBUG:
20 return {
21 "importmap": json.dumps(importmap.map_dev, indent=2, sort_keys=True)
22 }
23 else:
24 return {"importmap": json.dumps(importmap.map, sort_keys=True)}