diff --git a/.github/workflows/javascript.yaml b/.github/workflows/javascript.yaml index 908a87e31c..d59098da75 100644 --- a/.github/workflows/javascript.yaml +++ b/.github/workflows/javascript.yaml @@ -18,11 +18,19 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + INVENTREE_DB_ENGINE: sqlite3 + INVENTREE_DB_NAME: inventree steps: + - name: Install node.js + uses: actions/setup-node@v2 + - run: npm install - name: Checkout Code uses: actions/checkout@v2 - - name: Check Files + - name: Check Templated Files run: | cd ci python check_js_templates.py - \ No newline at end of file + - name: Lint Javascript Files + run: | + invoke render-js-files + npx eslint js_tmp/*.js \ No newline at end of file diff --git a/InvenTree/InvenTree/ci_render_js.py b/InvenTree/InvenTree/ci_render_js.py index c45caf604d..62e3fc4667 100644 --- a/InvenTree/InvenTree/ci_render_js.py +++ b/InvenTree/InvenTree/ci_render_js.py @@ -74,20 +74,27 @@ class RenderJavascriptFiles(TestCase): js_files = pathlib.Path(directory).rglob('*.js') + n = 0 + for f in js_files: js = os.path.basename(f) self.download_file(js, prefix) + n += 1 + + return n + def test_render_files(self): """ Look for all javascript files """ - self.download_files('translated', '/js/i18n') - self.download_files('dynamic', '/js/dynamic') - - + n = 0 + print("Rendering javascript files...") + n += self.download_files('translated', '/js/i18n') + n += self.download_files('dynamic', '/js/dynamic') + print(f"Rendered {n} javascript files.") diff --git a/tasks.py b/tasks.py index 3de0241c07..1abbf23bc6 100644 --- a/tasks.py +++ b/tasks.py @@ -457,3 +457,12 @@ def server(c, address="127.0.0.1:8000"): """ manage(c, "runserver {address}".format(address=address), pty=True) + + +@task +def render_js_files(c): + """ + Render templated javascript files (used for static testing). + """ + + manage(c, "test InvenTree.ci_render_js")