diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b3c097993..c9fda7b2a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -185,7 +185,7 @@ jobs: ########################################################################## # LOCALES FRONTEND ####################################################### ########################################################################## - - name: frontend | Locales + - name: Frontend | Locales run: docker run --rm gradido/frontend:test yarn run locales ############################################################################## @@ -214,9 +214,38 @@ jobs: ########################################################################## # LINT FRONTEND ########################################################## ########################################################################## - - name: frontend | Lint + - name: Frontend | Lint run: docker run --rm gradido/frontend:test yarn run lint + ############################################################################## + # JOB: STYLELINT FRONTEND #################################################### + ############################################################################## + stylelint_frontend: + name: Stylelint - Frontend + runs-on: ubuntu-latest + needs: [build_test_frontend] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v2 + ########################################################################## + # DOWNLOAD DOCKER IMAGE ################################################## + ########################################################################## + - name: Download Docker Image (Frontend) + uses: actions/download-artifact@v2 + with: + name: docker-frontend-test + path: /tmp + - name: Load Docker Image + run: docker load < /tmp/frontend.tar + ########################################################################## + # STYLELINT FRONTEND ##################################################### + ########################################################################## + - name: Frontend | Stylelint + run: docker run --rm gradido/frontend:test yarn run stylelint + ############################################################################## # JOB: LINT ADMIN INTERFACE ################################################## ############################################################################## @@ -247,7 +276,36 @@ jobs: run: docker run --rm gradido/admin:test yarn run lint ############################################################################## - # JOB: LOCALES ADMIN ###################################################### + # JOB: STYLELINT ADMIN INTERFACE ############################################## + ############################################################################## + stylelint_admin: + name: Stylelint - Admin Interface + runs-on: ubuntu-latest + needs: [build_test_admin] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v2 + ########################################################################## + # DOWNLOAD DOCKER IMAGE ################################################## + ########################################################################## + - name: Download Docker Image (Admin Interface) + uses: actions/download-artifact@v2 + with: + name: docker-admin-test + path: /tmp + - name: Load Docker Image + run: docker load < /tmp/admin.tar + ########################################################################## + # STYLELINT ADMIN INTERFACE ############################################## + ########################################################################## + - name: Admin Interface | Stylelint + run: docker run --rm gradido/admin:test yarn run stylelint + + ############################################################################## + # JOB: LOCALES ADMIN ######################################################### ############################################################################## locales_admin: name: Locales - Admin diff --git a/admin/.eslintrc.js b/admin/.eslintrc.js index 8c410feba..96c602ef3 100644 --- a/admin/.eslintrc.js +++ b/admin/.eslintrc.js @@ -16,6 +16,12 @@ module.exports = { 'no-console': ['error'], 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'vue/component-name-in-template-casing': ['error', 'kebab-case'], + 'vue/no-static-inline-styles': [ + 'error', + { + allowBinding: false, + }, + ], 'prettier/prettier': [ 'error', { diff --git a/admin/.stylelintrc.js b/admin/.stylelintrc.js new file mode 100644 index 000000000..061b87a79 --- /dev/null +++ b/admin/.stylelintrc.js @@ -0,0 +1,18 @@ +'use strict'; + +module.exports = { + extends: ["stylelint-config-standard-scss", "stylelint-config-recommended-vue"], + overrides: [ + { + files: "**/*.{scss}", + customSyntax: "postcss-scss", + extends: ["stylelint-config-standard-scss"], + }, + { + files: "**/*.vue", + customSyntax: "postcss-html", + extends: ["stylelint-config-recommended-vue"], + } + ] + +}; \ No newline at end of file diff --git a/admin/package.json b/admin/package.json index d499117af..a46dc1fd6 100644 --- a/admin/package.json +++ b/admin/package.json @@ -9,9 +9,12 @@ "scripts": { "start": "node run/server.js", "serve": "vue-cli-service serve --open", - "dev": "yarn run serve", "build": "vue-cli-service build", + "dev": "yarn run serve", + "analyse-bundle": "yarn build && webpack-bundle-analyzer dist/webpack.stats.json", "lint": "eslint --max-warnings=0 --ext .js,.vue .", + "stylelint": "stylelint --max-warnings=0 '**/*.{scss,vue}'", + "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'", "test": "TZ=UTC jest --coverage", "locales": "scripts/missing-keys.sh && scripts/sort.sh" }, @@ -65,6 +68,13 @@ "eslint-plugin-promise": "^5.1.1", "eslint-plugin-vue": "^7.20.0", "jest-environment-jsdom-sixteen": "^2.0.0", + "postcss": "^8.4.8", + "postcss-html": "^1.3.0", + "postcss-scss": "^4.0.3", + "stylelint": "^14.5.3", + "stylelint-config-recommended-vue": "^1.3.0", + "stylelint-config-standard-scss": "^3.0.0", + "vue-cli-plugin-i18n": "^2.3.1", "vue-template-compiler": "^2.6.11" }, "browserslist": [ diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index ea49bf805..1fe44eda7 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -1,6 +1,6 @@