diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index b64bbbafd..ac86bf331 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -101,6 +101,13 @@ def remove_gulp_files(): def remove_webpack_files(): shutil.rmtree("webpack") remove_vendors_js() + os.remove( + os.path.join( + "{{ cookiecutter.project_slug }}", + "utils", + "loaders.py", + ) + ) def remove_vendors_js(): diff --git a/{{cookiecutter.project_slug}}/config/settings/test.py b/{{cookiecutter.project_slug}}/config/settings/test.py index 198b5aa5d..62c6ad409 100644 --- a/{{cookiecutter.project_slug}}/config/settings/test.py +++ b/{{cookiecutter.project_slug}}/config/settings/test.py @@ -29,5 +29,13 @@ EMAIL_BACKEND = "django.core.mail.backends.locmem.EmailBackend" # ------------------------------------------------------------------------------ TEMPLATES[0]["OPTIONS"]["debug"] = True # type: ignore # noqa F405 +{%- if cookiecutter.frontend_pipeline == 'Webpack' %} +# django-webpack-loader +# ------------------------------------------------------------------------------ +WEBPACK_LOADER["DEFAULT"][ # noqa F405 + "LOADER_CLASS" +] = "{{cookiecutter.project_slug}}.utils.loaders.DummyWebpackLoader" + +{%- endif %} # Your stuff... # ------------------------------------------------------------------------------ diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/loaders.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/loaders.py new file mode 100644 index 000000000..4b525df17 --- /dev/null +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/utils/loaders.py @@ -0,0 +1,16 @@ +from webpack_loader.loader import WebpackLoader + + +class DummyWebpackLoader(WebpackLoader): + def get_bundle(self, _bundle_name: str): + """ + Dummy loader to run tests. + + Needed to run tests without webpack stats file nor bundle built. + """ + return [ + { + "name": "test.bundle.js", + "url": "http://localhost/static/bundles/test.bundle.js", + }, + ]