aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
fix(tooling): cdk/scripts is excluded from eslint, so its eslint-disable directives are inert
- Lingua principale
- TypeScript
- Stelle
- 143
- Fork
- 46
- Merge medio
- 3g 10h
- PR unite (30g)
- 24
Descrizione
**Component:** cdk (tooling)
## Describe the bug
`cdk/eslint.config.mjs:49` scopes the TypeScript config to `['src/**/*.ts', 'test/**/*.ts']`, so `cdk/scripts/` is never linted:
```
$ npx eslint scripts/generate-bootstrap-template.ts
0:0 warning File ignored because no matching configuration was supplied
```
Two consequences:
1. **The `eslint-disable` directives already in those files are inert.** `scripts/generate-bootstrap-template.ts` carries five of them. They read as deliberate suppressions of real rules, but nothing is being suppressed because no rule ever runs — so a reader can't tell which are load-bearing and which are leftovers.
2. **`mise //cdk:eslint` runs `eslint --fix src test`**, so even widening the config's `files` glob would not lint `scripts/` until that task is updated too. Both halves need changing.
This was harmless while `scripts/` was write-only tooling invoked by mise. It matters more now: `cdk/test/bootstrap/bootstrap-template.test.ts` imports `buildTemplate()` and `renderTemplate()` from the generator ([#867](https://github.com/aws-samples/sample-autonomous-cloud-coding-agents/pull/867)), so generator code is on a test path while sitting outside the lint surface that governs everything else it touches.
## Expected behavior
Either `cdk/scripts/**/*.ts` is linted like `src/` and `test/`, or the exclusion is deliberate and recorded — with the inert `eslint-disable` comments removed so they don't imply otherwise.
## Current behavior
`scripts/` is silently unlinted. `eslint` reports the ignore only as a warning, so `mise //cdk:eslint` passes and nothing signals the gap.
## Reproduction steps
```bash
cd cdk
npx eslint scripts/generate-bootstrap-template.ts # "File ignored because no matching configuration"
grep -c eslint-disable scripts/generate-bootstrap-template.ts # 5 inert directives
grep -n "files:" eslint.config.mjs | head -2 # src/** and test/** only
```
## Possible solution
1. Add `scripts/**/*.ts` to the `files` glob at `eslint.config.mjs:49`, probably as its own block — scripts are Node-side and may legitimately want different rules than CDK constructs (`no-console` being the obvious one, since these are CLI tools that print).
2. Update the `//cdk:eslint` task in `cdk/mise.toml` from `src test` to include `scripts`.
3. Fix or delete whatever the newly-active rules flag, including the five directives that are currently no-ops.
Worth checking whether `cli/` and `docs/` have the same gap — `//cli:eslint` passes `src test build-tools`, so it may already cover its equivalent.
## Notes
Raised by @ayushtr-aws while reviewing [#867](https://github.com/aws-samples/sample-autonomous-cloud-coding-agents/pull/867) as pre-existing and out of scope for that PR. Filing separately as suggested.
## Environment
- Commit `e96dc21e` (also present well before it — the config predates the PR)
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da cdk/eslint.config.mjs:49 e cdk/mise.toml, poi esegui i comandi di riproduzione dell’issue su scripts/generate-bootstrap-template.ts. Controlla i file cdk/scripts sottoposti ora al lint e le cinque direttive eslint-disable, incluse eventuali regole che rendono visibili. Il lavoro è concluso quando gli script sono coperti dal task di lint del progetto e le direttive o le violazioni risultanti sono intenzionali e risolte.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- eslint, typescript
- Ambito
- build-system, tooling
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 76/100