diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b01c6a590be50ee9f3fa4928145aa595df4b0eb8..0a1510f847c06fac13002e15ab87bf9e6484968d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -115,6 +115,18 @@ default: # exist. - 'curl --location --output core/.cspellcache "https://git.drupalcode.org/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/{$CACHE_TARGET}/raw/core/.cspellcache?job=Lint%20cache%20warming" || true' +.eslint-cache: &eslint-cache + # Fetch the eslint cache from the artifacts of the latest successful job from + # the target branch. Allow the job to proceed and pass if the file doesn't + # exist. + - 'curl --location --output core/.eslintcache "https://git.drupalcode.org/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/{$CACHE_TARGET}/raw/core/.eslintcache?job=Lint%20cache%20warming" || true' + +.stylelint-cache: &stylelint-cache + # Fetch the stylelint cache from the artifacts of the latest successful job from + # the target branch. Allow the job to proceed and pass if the file doesn't + # exist. + - 'curl --location --output core/.stylelintcache "https://git.drupalcode.org/api/v4/projects/$CI_PROJECT_ID/jobs/artifacts/{$CACHE_TARGET}/raw/core/.stylelintcache?job=Lint%20cache%20warming" || true' + .core-spellcheck: &core-spellcheck - cd core - corepack enable @@ -271,14 +283,21 @@ default: script: - *phpstan-cache - *cspell-cache + - *eslint-cache + - *stylelint-cache - composer install - vendor/bin/phpstan --version - php vendor/bin/phpstan -vvv analyze --configuration=./core/phpstan.neon.dist - *core-spellcheck + - yarn run lint:core-js-passing --cache --cache-strategy content + - yarn run build:css --check + - yarn run lint:css --cache --cache-location .stylelintcache --cache-strategy content artifacts: paths: - core/phpstan-tmp/resultCache.php - core/.cspellcache + - core/.eslintcache + - core/.stylelintcache '🧹 PHP Static Analysis (phpstan)': <<: [ *default-job-settings-lint ] @@ -357,11 +376,12 @@ default: - when: manual allow_failure: true script: + - *eslint-cache - cd core - corepack enable - yarn install - yarn run check:ckeditor5 - - yarn run lint:core-js-passing --format gitlab + - yarn run lint:core-js-passing --cache --cache-strategy content --format gitlab artifacts: reports: codequality: eslint-quality-report.json @@ -383,11 +403,12 @@ default: - when: manual allow_failure: true script: + - *stylelint-cache - corepack enable - cd core - yarn install - yarn run build:css --check - - yarn run lint:css --color --custom-formatter=node_modules/stylelint-formatter-gitlab + - yarn run lint:css --cache --cache-location .stylelintcache --cache-strategy content --color --custom-formatter=node_modules/stylelint-formatter-gitlab artifacts: reports: codequality: stylelint-quality-report.json diff --git a/core/.gitignore b/core/.gitignore index f6b3bbea0fe3e4d80ee50347b770a946977d694b..164465dc429ac0ec2b88dab6e0b3d5ad5f01ec95 100644 --- a/core/.gitignore +++ b/core/.gitignore @@ -29,3 +29,9 @@ nightwatch.settings.json # Ignore phpstan cache phpstan-tmp + +# Ignore eslint cache +.eslintcache + +# Ignore stylelint cache +.stylelint-cache diff --git a/core/misc/cspell/dictionary.txt b/core/misc/cspell/dictionary.txt index 232320fd0874d44b8fd5c8a04826adb3983fa803..8b686e2213470665dc62ed5d70af04347fb88766 100644 --- a/core/misc/cspell/dictionary.txt +++ b/core/misc/cspell/dictionary.txt @@ -213,6 +213,7 @@ endtrans enoki entityviewedit errmode +eslintcache etag eurozone evenodd @@ -588,6 +589,7 @@ strs sttid styleguide stylelint +stylelintcache stylescombo subarrays subchild