From 3c7f4c72768d4224720e7ccbccbe1cfacf232b42 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Sun, 12 Nov 2023 16:29:16 +0100 Subject: [PATCH] chore: Cleanup repository * Remove unneeded handlebars scrips * Fix stylelint config and add CI workflow for it * Move JS mocks so they are located next to the tests Signed-off-by: Ferdinand Thiessen --- .github/workflows/lint-stylelint.yml | 48 +++++++++++++++++++ .scrutinizer.yml | 14 ------ check-handlebars-templates.sh | 17 ------- compile-handlebars-templates.sh | 6 --- .../__mocks__}/@nextcloud/activity_ws.json | 0 .../__mocks__}/@nextcloud/axios.js | 0 src/{tests => __tests__}/Activity.test.ts | 4 +- src/{tests => __tests__}/ActivityTab.test.ts | 0 src/{tests => __tests__}/OC.js | 0 src/{tests => __tests__}/setup.js | 0 src/components/Activity.vue | 2 +- src/components/ActivityGrid.vue | 2 +- ...ctivitySettings.js => ActivitySettings.ts} | 26 +++++----- src/settings-admin.js | 2 +- src/settings-personal.js | 2 +- src/{ => store}/settings-store.js | 4 +- src/tests/.eslintrc.json | 5 -- src/{logger.js => utils/logger.ts} | 0 .../settings.js => utils/settings.ts} | 21 ++++---- src/views/ActivityAppFeed.vue | 2 +- src/views/ActivityAppNavigation.vue | 2 +- src/views/ActivityTab.vue | 2 +- stylelint.config.js => stylelint.config.cjs | 0 vite.config.ts | 11 ++++- 24 files changed, 91 insertions(+), 79 deletions(-) create mode 100644 .github/workflows/lint-stylelint.yml delete mode 100644 .scrutinizer.yml delete mode 100755 check-handlebars-templates.sh delete mode 100755 compile-handlebars-templates.sh rename {__mocks__ => src/__mocks__}/@nextcloud/activity_ws.json (100%) rename {__mocks__ => src/__mocks__}/@nextcloud/axios.js (100%) rename src/{tests => __tests__}/Activity.test.ts (97%) rename src/{tests => __tests__}/ActivityTab.test.ts (100%) rename src/{tests => __tests__}/OC.js (100%) rename src/{tests => __tests__}/setup.js (100%) rename src/models/{ActivitySettings.js => ActivitySettings.ts} (68%) rename src/{ => store}/settings-store.js (98%) delete mode 100644 src/tests/.eslintrc.json rename src/{logger.js => utils/logger.ts} (100%) rename src/{helpers/settings.js => utils/settings.ts} (69%) rename stylelint.config.js => stylelint.config.cjs (100%) diff --git a/.github/workflows/lint-stylelint.yml b/.github/workflows/lint-stylelint.yml new file mode 100644 index 000000000..684bb6198 --- /dev/null +++ b/.github/workflows/lint-stylelint.yml @@ -0,0 +1,48 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Lint stylelint + +on: pull_request + +permissions: + contents: read + +concurrency: + group: lint-stylelint-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + lint: + runs-on: ubuntu-latest + + name: stylelint + + steps: + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + + - name: Read package.json node and npm engines version + uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2 + id: versions + with: + fallbackNode: '^20' + fallbackNpm: '^9' + + - name: Set up node ${{ steps.versions.outputs.nodeVersion }} + uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3 + with: + node-version: ${{ steps.versions.outputs.nodeVersion }} + + - name: Set up npm ${{ steps.versions.outputs.npmVersion }} + run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + + - name: Install dependencies + env: + CYPRESS_INSTALL_BINARY: 0 + run: npm ci + + - name: Lint + run: npm run stylelint diff --git a/.scrutinizer.yml b/.scrutinizer.yml deleted file mode 100644 index bc1bdbefb..000000000 --- a/.scrutinizer.yml +++ /dev/null @@ -1,14 +0,0 @@ -filter: - excluded_paths: - - '3rdparty/*' - - 'js/jquery*' - - 'l10n/*' - - 'tests/*' - -imports: - - javascript - - php - -tools: - external_code_coverage: - timeout: 7200 # Timeout in seconds: 2 hours diff --git a/check-handlebars-templates.sh b/check-handlebars-templates.sh deleted file mode 100755 index ae1e63946..000000000 --- a/check-handlebars-templates.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -REPODIR=`git rev-parse --show-toplevel` - -cd $REPODIR - -bash compile-handlebars-templates.sh || exit 1 - -if [[ $(git diff --name-only) ]]; then - echo "Please submit your compiled handlebars templates" - echo - git diff - exit 1 -fi - -echo "All up to date! Carry on :D" -exit 0 diff --git a/compile-handlebars-templates.sh b/compile-handlebars-templates.sh deleted file mode 100755 index 903322953..000000000 --- a/compile-handlebars-templates.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -# Prefer the local handlebars script, and fall back to the global one. -export PATH=./node_modules/.bin/:$PATH - -handlebars -n OCA.Activity.Templates src/templates/ -f js/templates.js diff --git a/__mocks__/@nextcloud/activity_ws.json b/src/__mocks__/@nextcloud/activity_ws.json similarity index 100% rename from __mocks__/@nextcloud/activity_ws.json rename to src/__mocks__/@nextcloud/activity_ws.json diff --git a/__mocks__/@nextcloud/axios.js b/src/__mocks__/@nextcloud/axios.js similarity index 100% rename from __mocks__/@nextcloud/axios.js rename to src/__mocks__/@nextcloud/axios.js diff --git a/src/tests/Activity.test.ts b/src/__tests__/Activity.test.ts similarity index 97% rename from src/tests/Activity.test.ts rename to src/__tests__/Activity.test.ts index 502fd5f85..a853ad5ba 100644 --- a/src/tests/Activity.test.ts +++ b/src/__tests__/Activity.test.ts @@ -24,9 +24,9 @@ import { afterAll, beforeAll, expect, test, vi } from 'vitest' import { nextTick } from 'vue' import Activity from '../components/Activity.vue' -import ActivityModel from '../models/ActivityModel.ts' +import ActivityModel from '../models/ActivityModel.js' -import wsData from '../../__mocks__/@nextcloud/activity_ws.json' +import wsData from '../__mocks__/@nextcloud/activity_ws.json' const currentDate = new Date('2021-05-10T12:00:00+00:00') const realDateNow = Date.now diff --git a/src/tests/ActivityTab.test.ts b/src/__tests__/ActivityTab.test.ts similarity index 100% rename from src/tests/ActivityTab.test.ts rename to src/__tests__/ActivityTab.test.ts diff --git a/src/tests/OC.js b/src/__tests__/OC.js similarity index 100% rename from src/tests/OC.js rename to src/__tests__/OC.js diff --git a/src/tests/setup.js b/src/__tests__/setup.js similarity index 100% rename from src/tests/setup.js rename to src/__tests__/setup.js diff --git a/src/components/Activity.vue b/src/components/Activity.vue index 59eee8b33..75a1a232e 100644 --- a/src/components/Activity.vue +++ b/src/components/Activity.vue @@ -72,7 +72,7 @@ import CalendarRichArgument from './richArgumentsTypes/CalendarRichArgument.vue' import CalendarEventRichArgument from './richArgumentsTypes/CalendarEventRichArgument.vue' import OpenGraphRichArgument from './richArgumentsTypes/OpenGraphRichArgument.vue' import AddressBookRichArgument from './richArgumentsTypes/AddressBookRichArgument.vue' -import logger from '../logger' +import logger from '../utils/logger' declare global { interface Window { diff --git a/src/components/ActivityGrid.vue b/src/components/ActivityGrid.vue index 6c39ccd81..618387e16 100644 --- a/src/components/ActivityGrid.vue +++ b/src/components/ActivityGrid.vue @@ -57,7 +57,7 @@