dependabot[bot]
af82d6b4bf
chore(deps-dev): bump eslint from 10.12.0 to 10.13.0
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.12.0 to 10.13.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.12.0...v10.13.0 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.13.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-20 00:19:23 +00:00
dependabot[bot]
8b4823b7f7
chore(deps-dev): bump @playwright/test from 1.64.0 to 1.64.1
...
Bumps [@playwright/test](https://github.com/microsoft/playwright ) from 1.64.0 to 1.64.1.
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.64.0...v1.64.1 )
---
updated-dependencies:
- dependency-name: "@playwright/test"
dependency-version: 1.64.1
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-19 01:18:14 +00:00
dependabot[bot]
9f263eef53
chore(deps-dev): Bump @playwright/test from 1.63.0 to 1.64.0
...
Bumps [@playwright/test](https://github.com/microsoft/playwright ) from 1.63.0 to 1.64.0.
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.63.0...v1.64.0 )
---
updated-dependencies:
- dependency-name: "@playwright/test"
dependency-version: 1.64.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-12 00:36:26 +00:00
dependabot[bot]
0dbea6bf75
chore(deps-dev): Bump eslint-plugin-playwright from 2.10.5 to 2.12.1
...
Bumps [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright ) from 2.10.5 to 2.12.1.
- [Release notes](https://github.com/mskelton/eslint-plugin-playwright/releases )
- [Changelog](https://github.com/mskelton/eslint-plugin-playwright/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mskelton/eslint-plugin-playwright/compare/v2.10.5...v2.12.1 )
---
updated-dependencies:
- dependency-name: eslint-plugin-playwright
dependency-version: 2.12.1
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-09 03:45:35 +00:00
dependabot[bot]
39f2bfb87c
chore(deps-dev): bump eslint from 10.10.0 to 10.12.0
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.10.0 to 10.12.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.10.0...v10.12.0 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.12.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-06 00:38:12 +00:00
kevinveenbirkenbach and Claude Opus 5
9be786a23d
fix(lint): repair the npm manifests a dependabot merge left unparseable
...
Merging the stylelint 17.16.0 and the globals 17.13.0 bump dropped the comma after stylelint and left a trailing one after globals, in package.json and package-lock.json alike. Neither file was JSON any more, so npm could not read the lock and npm ci refused with EUSAGE: 'can only install with an existing package-lock.json'. make lint died in install-lint before a single linter ran, which is the whole lint job on every branch that carries main.
The two entries move into the alphabetical order npm writes them in and the commas follow. No version changes: the lock already resolved stylelint 17.16.0 and globals 17.13.0, only the devDependencies block was malformed. npm ci --dry-run now resolves the tree instead of refusing it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-10-05 03:38:19 +02:00
kevinveenbirkenbach
3419acffae
Merge branch 'main' into dependabot/npm_and_yarn/stylelint-17.16.0
2026-10-05 03:11:23 +02:00
dependabot[bot]
76171b1e10
chore(deps-dev): bump globals from 17.12.0 to 17.13.0
...
Bumps [globals](https://github.com/sindresorhus/globals ) from 17.12.0 to 17.13.0.
- [Release notes](https://github.com/sindresorhus/globals/releases )
- [Commits](https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0 )
---
updated-dependencies:
- dependency-name: globals
dependency-version: 17.13.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-05 00:24:14 +00:00
dependabot[bot]
c7ebd5325d
chore(deps-dev): bump stylelint from 17.15.0 to 17.16.0
...
Bumps [stylelint](https://github.com/stylelint/stylelint ) from 17.15.0 to 17.16.0.
- [Release notes](https://github.com/stylelint/stylelint/releases )
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md )
- [Commits](https://github.com/stylelint/stylelint/compare/17.15.0...17.16.0 )
---
updated-dependencies:
- dependency-name: stylelint
dependency-version: 17.16.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-05 00:24:07 +00:00
dependabot[bot]
6e5802350d
chore(deps-dev): bump brace-expansion
...
Bumps the npm_and_yarn group with 1 update in the / directory: [brace-expansion](https://github.com/juliangruber/brace-expansion ).
Updates `brace-expansion` from 5.0.9 to 5.0.12
- [Release notes](https://github.com/juliangruber/brace-expansion/releases )
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.9...v5.0.12 )
---
updated-dependencies:
- dependency-name: brace-expansion
dependency-version: 5.0.12
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-02 15:43:46 +00:00
kevinveenbirkenbach
36cab327e4
Merge branch 'main' into dependabot/npm_and_yarn/globals-17.12.0
2026-09-08 13:34:15 +02:00
kevinveenbirkenbach
8379fc779d
Merge branch 'main' into dependabot/npm_and_yarn/playwright/test-1.63.0
2026-09-08 13:31:51 +02:00
kevinveenbirkenbach
18d694d930
Merge pull request #599 from infinito-nexus/dependabot/npm_and_yarn/eslint-10.10.0
...
chore(deps-dev): bump eslint from 10.9.1 to 10.10.0
2026-09-08 13:30:31 +02:00
dependabot[bot]
669a69c832
chore(deps-dev): bump stylelint from 17.14.1 to 17.15.0
...
Bumps [stylelint](https://github.com/stylelint/stylelint ) from 17.14.1 to 17.15.0.
- [Release notes](https://github.com/stylelint/stylelint/releases )
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md )
- [Commits](https://github.com/stylelint/stylelint/compare/17.14.1...17.15.0 )
---
updated-dependencies:
- dependency-name: stylelint
dependency-version: 17.15.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-08 00:12:13 +00:00
dependabot[bot]
e4fe365472
chore(deps-dev): bump eslint from 10.9.1 to 10.10.0
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.9.1 to 10.10.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.9.1...v10.10.0 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.10.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-08 00:12:09 +00:00
dependabot[bot]
8e9d7a10c1
chore(deps-dev): bump @playwright/test from 1.62.1 to 1.63.0
...
Bumps [@playwright/test](https://github.com/microsoft/playwright ) from 1.62.1 to 1.63.0.
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.62.1...v1.63.0 )
---
updated-dependencies:
- dependency-name: "@playwright/test"
dependency-version: 1.63.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-08 00:12:03 +00:00
dependabot[bot]
b504a40236
chore(deps-dev): bump globals from 17.9.0 to 17.12.0
...
Bumps [globals](https://github.com/sindresorhus/globals ) from 17.9.0 to 17.12.0.
- [Release notes](https://github.com/sindresorhus/globals/releases )
- [Commits](https://github.com/sindresorhus/globals/compare/v17.9.0...v17.12.0 )
---
updated-dependencies:
- dependency-name: globals
dependency-version: 17.12.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-07 00:15:49 +00:00
dependabot[bot]
77b2623980
chore(deps-dev): bump eslint from 10.9.0 to 10.9.1
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.9.0 to 10.9.1.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.9.0...v10.9.1 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.9.1
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-28 02:14:32 +00:00
dependabot[bot]
f7bc5e9010
chore(deps-dev): bump stylelint from 16.26.1 to 17.14.1
...
Bumps [stylelint](https://github.com/stylelint/stylelint ) from 16.26.1 to 17.14.1.
- [Release notes](https://github.com/stylelint/stylelint/releases )
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md )
- [Commits](https://github.com/stylelint/stylelint/compare/16.26.1...17.14.1 )
---
updated-dependencies:
- dependency-name: stylelint
dependency-version: 17.14.1
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-27 01:39:57 +00:00
kevinveenbirkenbach
4484842195
Merge branch 'main' into feature/svc-net-tor
2026-08-25 09:54:07 +02:00
dependabot[bot]
5c7eeadd16
chore(deps-dev): bump eslint from 10.8.1 to 10.9.0
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.8.1 to 10.9.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.8.1...v10.9.0 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.9.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 09:54:05 +02:00
kevinveenbirkenbach and Claude Opus 5
6fee7ca136
feat(quality): parse every shipped language and run its unit suite
...
Four parse checks join the `lint-*` family, each using the language's own
parser rather than a reimplementation: `php -l`, `ruby -c`, `sqlfluff parse`,
and stylelint with an empty rule set (it raises CssSyntaxError whatever the
rules say, so the check stays syntax-only and grows no style opinion). Three
unit runners join `test-unit`: node:test, PHPUnit, minitest -- the first and
third ship with their runtime, so only PHPUnit adds a dependency.
Provisioning is best effort and the lint script decides whether it can run. A
machine without PHP must not fail the gate, but it must not look like success
either: the skip names how many files went unchecked. The first version of
these scripts read `git ls-files`, which inside the compose container returns
nothing (git refuses the bind-mounted repo as "dubious ownership") and reported
"No SQL files found." over 52 files -- green, and a lie. They use `find` now,
as the surrounding lint scripts already did.
sqlfluff needed two corrections before it parsed anything real. `%(name)s` is a
psycopg parameter marker, not SQL, so the placeholder templater is configured
rather than the files exempted; and the dialect follows each role's declared
engine (`meta/services.yml`), which is postgres for six roles and mysql for
svc-db-mariadb and pixelfed.
Recipes stay in scripts, not in the Makefile: the targets delegate, matching
every other target in the file.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-22 01:31:10 +02:00
kevinveenbirkenbach
777f7f0fa8
Merge remote-tracking branch 'origin/main' into fix/playwright/env-template-gate
2026-08-12 03:00:40 +02:00
dependabot[bot]
9ff5ce6bb6
chore(deps-dev): bump eslint from 10.6.0 to 10.8.1
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.6.0 to 10.8.1.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.6.0...v10.8.1 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.8.1
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-11 01:32:54 +00:00
kevinveenbirkenbach
25f89cf8a7
Merge branch 'main' of github.com:infinito-nexus/core into fix/playwright/env-template-gate
...
# Conflicts:
# package.json
2026-08-08 18:48:34 +02:00
kevinveenbirkenbach
0d5668b58f
Merge pull request #510 from infinito-nexus/dependabot/npm_and_yarn/playwright/test-1.62.1
...
chore(deps-dev): bump @playwright/test from 1.61.1 to 1.62.1
2026-08-08 11:08:44 +02:00
kevinveenbirkenbach and Claude Opus 5
feddad3f1c
fix(deps): force brace-expansion past the three DoS advisories
...
The lockfile resolved 5.0.6, which carries unbounded intermediate arrays, unbounded expansion length and exponential-time expansion of consecutive empty groups. It reaches the tree through eslint via minimatch, so an override pins it rather than declaring a dependency this lint-only manifest does not have.
npm audit goes from 7 high severity vulnerabilities to none, and npm run lint still exits 0 with the same 179 pre-existing warnings.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-08 10:42:39 +02:00
dependabot[bot]
b35df4ebc0
chore(deps-dev): bump @playwright/test from 1.61.1 to 1.62.1
...
Bumps [@playwright/test](https://github.com/microsoft/playwright ) from 1.61.1 to 1.62.1.
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.61.1...v1.62.1 )
---
updated-dependencies:
- dependency-name: "@playwright/test"
dependency-version: 1.62.1
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-08 06:07:41 +00:00
dependabot[bot]
32aa578c9b
chore(deps-dev): bump globals from 17.7.0 to 17.9.0
...
Bumps [globals](https://github.com/sindresorhus/globals ) from 17.7.0 to 17.9.0.
- [Release notes](https://github.com/sindresorhus/globals/releases )
- [Commits](https://github.com/sindresorhus/globals/compare/v17.7.0...v17.9.0 )
---
updated-dependencies:
- dependency-name: globals
dependency-version: 17.9.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-08 06:07:33 +00:00
dependabot[bot]
f4f0d13014
chore(deps-dev): bump eslint-plugin-playwright from 2.10.4 to 2.10.5
...
Bumps [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright ) from 2.10.4 to 2.10.5.
- [Release notes](https://github.com/mskelton/eslint-plugin-playwright/releases )
- [Changelog](https://github.com/mskelton/eslint-plugin-playwright/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mskelton/eslint-plugin-playwright/compare/v2.10.4...v2.10.5 )
---
updated-dependencies:
- dependency-name: eslint-plugin-playwright
dependency-version: 2.10.5
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-07 00:55:02 +00:00
dependabot[bot]
adf7de9a9e
chore(deps-dev): bump eslint from 10.5.0 to 10.6.0
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.5.0 to 10.6.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.5.0...v10.6.0 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.6.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-29 00:12:23 +00:00
dependabot[bot]
516d92fdd9
chore(deps-dev): bump @playwright/test from 1.61.0 to 1.61.1
...
Bumps [@playwright/test](https://github.com/microsoft/playwright ) from 1.61.0 to 1.61.1.
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.61.0...v1.61.1 )
---
updated-dependencies:
- dependency-name: "@playwright/test"
dependency-version: 1.61.1
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-24 01:09:34 +00:00
dependabot[bot]
94060c4412
chore(deps-dev): bump globals from 15.15.0 to 17.7.0
...
Bumps [globals](https://github.com/sindresorhus/globals ) from 15.15.0 to 17.7.0.
- [Release notes](https://github.com/sindresorhus/globals/releases )
- [Commits](https://github.com/sindresorhus/globals/compare/v15.15.0...v17.7.0 )
---
updated-dependencies:
- dependency-name: globals
dependency-version: 17.7.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-23 00:06:40 +00:00
kevinveenbirkenbach
7258e9b372
Merge branch 'main' into dependabot/npm_and_yarn/playwright/test-1.61.0
2026-06-16 11:39:45 +02:00
dependabot[bot]
bb8cdf6814
chore(deps-dev): bump @playwright/test from 1.60.0 to 1.61.0
...
Bumps [@playwright/test](https://github.com/microsoft/playwright ) from 1.60.0 to 1.61.0.
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.60.0...v1.61.0 )
---
updated-dependencies:
- dependency-name: "@playwright/test"
dependency-version: 1.61.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-16 00:07:07 +00:00
dependabot[bot]
17c12059a0
chore(deps-dev): bump eslint from 10.4.1 to 10.5.0
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.4.1 to 10.5.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.4.1...v10.5.0 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-15 00:08:55 +00:00
dependabot[bot]
c1215d3106
chore(deps-dev): bump eslint from 10.4.0 to 10.4.1
...
Bumps [eslint](https://github.com/eslint/eslint ) from 10.4.0 to 10.4.1.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.4.1
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-01 02:41:17 +00:00
kevinveenbirkenbach
5334fa3455
Merge branch 'main' into dependabot/npm_and_yarn/eslint-10.4.0
2026-05-27 17:42:30 +02:00
kevinveenbirkenbach
d9e6f3cb39
Merge pull request #272 from infinito-nexus/dependabot/npm_and_yarn/eslint-plugin-playwright-2.10.4
...
chore(deps-dev): bump eslint-plugin-playwright from 2.10.2 to 2.10.4
2026-05-27 17:38:57 +02:00
dependabot[bot]
e91eec2c30
chore(deps-dev): bump eslint from 9.39.4 to 10.4.0
...
Bumps [eslint](https://github.com/eslint/eslint ) from 9.39.4 to 10.4.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v9.39.4...v10.4.0 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.4.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-27 15:18:38 +00:00
dependabot[bot]
f1fda4438d
chore(deps-dev): bump eslint-plugin-playwright from 2.10.2 to 2.10.4
...
Bumps [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright ) from 2.10.2 to 2.10.4.
- [Release notes](https://github.com/mskelton/eslint-plugin-playwright/releases )
- [Changelog](https://github.com/mskelton/eslint-plugin-playwright/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mskelton/eslint-plugin-playwright/compare/v2.10.2...v2.10.4 )
---
updated-dependencies:
- dependency-name: eslint-plugin-playwright
dependency-version: 2.10.4
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-27 15:18:26 +00:00
dependabot[bot]
63dc725adc
chore(deps-dev): bump @eslint/js from 9.39.4 to 10.0.1
...
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js ) from 9.39.4 to 10.0.1.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js )
---
updated-dependencies:
- dependency-name: "@eslint/js"
dependency-version: 10.0.1
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-27 15:18:19 +00:00
kevinveenbirkenbach and Claude Opus 4.7
7ad7b5e76c
feat(lint): add lint-playwright for per-role spec parse checks
...
Each role's Playwright spec is staged the same way `test-e2e-playwright` does at deploy time (central config + personas tree + service-gating) and `npx playwright test --list` runs against it. `--list` skips the browser launch and any test body, so this catches refactor regressions like missing helpers, broken exports, or syntax errors in seconds instead of waiting for a full deploy. Stub env values keyed off the variable-name suffix satisfy the few specs that build URLs or call `.replace()` at module-load time.
Parallelism caps at `INFINITO_WORKER_CPU` (same env knob as `scripts/make/parallel.sh`); output is replayed in `SPEC_FILES` order after all workers drain so stdout stays deterministic. `@playwright/test` ships as a devDep via the existing eslint `npm ci`. Workflow wires into `ci-orchestrator.yml` behind the `lint-gate`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-22 10:24:32 +02:00
kevinveenbirkenbach and Claude Opus 4.7
0e877caafe
build(lint/javascript): introduce ESLint + eslint-plugin-playwright
...
Wires JavaScript linting into the project for the first time, scoped to
the Playwright specs and persona helpers under `roles/**/files/**/*.js`.
Setup
-----
- `package.json` + `package-lock.json` pin eslint v9, eslint-plugin-
playwright v2, @eslint/js, globals.
- `eslint.config.js` (flat config) loads `eslint:recommended` and
`playwright/flat/recommended`. Browser globals are injected so
`page.evaluate(() => window.foo)` callbacks lint cleanly. Project-
idiomatic patterns are explicitly turned off with rationale: the
service-gating contract (req 006/019) uses test.skip on disabled
services; persona helpers branch on isVisible/isServiceEnabled before
expect; some specs deliberately use waitForTimeout / networkidle for
OIDC settle. `no-empty` allows the empty-catch idiom; the autofixer
for `prefer-web-first-assertions` and `no-wait-for-navigation` is
unsafe in this codebase (broken diff in dashboard.js), so both are
off pending a hand-migration pass.
- `scripts/lint/javascript.sh` mirrors the markdown.sh shape (skip on
missing, exit 127 with "make install-lint" hint).
- `scripts/lint/autoformat.sh` gets a `run_eslint` worker (treats rc≤1
as OK, like markdownlint).
- `scripts/install/lint.sh` gets `ensure_eslint` (npm-local install in
the repo root, matching the markdownlint pattern), a `javascript`
group, and `install_javascript_tools` is wired into the `all` group.
- `Makefile` exposes `lint-javascript` and folds it into the aggregate
`lint` target.
- `.github/workflows/lint-javascript.yml` follows the lint-makefile.yml
shape (Node 20, npm cache, `npm ci`, `make lint-javascript`); the
ci-orchestrator wires it into the lint pipeline + lint-gate `needs:`.
- `.gitignore` adds `node_modules/`.
Real lint findings fixed in this commit
---------------------------------------
- `roles/web-app-decidim/files/playwright.spec.js` was using
`runBiberFlow` / `runAdminFlow` without ever requiring `./personas`
(would have failed at runtime). Adds the require.
- Same file: two nutzlose `\\'csrf-token\\'` escapes in a double-quoted
query selector — eslint flagged, fixed.
- `roles/web-app-moodle/files/playwright.spec.js`:
`expect(await locator.count()).toBe(0)` →
`await expect(locator).toHaveCount(0)` (Playwright auto-retrying
assertion; safe `prefer-to-have-count` autofix).
Lint baseline: 0 errors, 285 warnings (mostly `no-unused-vars` and
`playwright/expect-expect` — addressable as follow-up cleanup, not
blocking).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 14:55:04 +02:00