nested-main-bundle-ignore: Ignore Nested Obsidian Main Bundles #3

Open
std-bot wants to merge 2 commits from task/nested-main-bundle-ignore into main
First-time contributor

Assigned idea

Benchmark authoring specification.

Summary: Update the ESLint flat config so generated Obsidian main.js bundles are ignored even when they appear in nested plugin or vault directories, while preserving TypeScript linting.

Task intent: Make an ordinary upstream-facing lint configuration fix in eslint.config.mjs: the existing bare main.js ignore should cover generated Obsidian bundle files outside only the repository root, without weakening the TypeScript parser setup.

Benchmark plan: Construct the task package as a small lint-config change request. The solver prompt should ask for nested generated main.js files to be ignored by ESLint while keeping the @typescript-eslint/parser project configuration for **/*.ts. The package should include a verifier that checks the config text and dynamically confirms a nested generated main.js with invalid JavaScript is skipped by ESLint.

Environment plan: Task/environment: provide only the work prompt and test_outputs.py; the verifier creates and removes a temporary nested tmp-eslint-ignore/nested/main.js fixture. Environment/repo: materialize green-dalii/obsidian-llm-wiki at b327f87ff3b5e0e969d5e8e9c03e4a5f630e4ce2 and install the repository's Node dependencies normally before running ESLint.

Verifier plan: test_outputs.py should read eslint.config.mjs and require an explicit nested-main ignore pattern such as **/main.js, preserve project: "./tsconfig.json", preserve the node_modules/ ignore, and reject broad JavaScript ignores such as **/*.js. It should then create tmp-eslint-ignore/nested/main.js containing a syntax error and run npx eslint --no-warn-ignored tmp-eslint-ignore/nested/main.js, expecting exit code 0 because the file is ignored.

Oracle plan: The oracle solution edits only eslint.config.mjs, changing the global ignore entry from a root-only bare main.js pattern to a nested-capable **/main.js pattern while leaving the Obsidian recommended config spread and the TypeScript parser options intact.

Difficulty plan: Coding agents may over-broaden the ignore rule to all JavaScript files, remove the TypeScript project-aware parser block to avoid lint errors, or misunderstand ESLint flat-config glob semantics where a bare filename does not reliably cover nested generated bundles.

Repo patch scope: Expected upstream edit scope is limited to eslint.config.mjs; no changes should be made to TypeScript source files, package metadata, lockfiles, or generated build outputs.

Anti-leakage notes: Do not expose to solvers any mention of benchmark, harness, Snorkel, Harbor, std-ts, agent, stage, attempt, retry, generated task, or evaluation context.

Approach: Use the existing ESLint flat config as the target. Replace or supplement the current main.js ignore with **/main.js, keep node_modules/, and keep the files: ["**/*.ts"] TypeScript parser configuration using ./tsconfig.json.

Verification: Run python test_outputs.py; it must inspect eslint.config.mjs and execute npx eslint --no-warn-ignored tmp-eslint-ignore/nested/main.js against a temporary invalid nested bundle file.

Risk: The dynamic ESLint check depends on repository dependencies being installed. Mitigate by documenting dependency installation in the environment setup and keeping the verifier focused on eslint.config.mjs plus one temporary fixture.

Path rules: task package is tasks/; mutable upstream checkout is tasks//task/environment/repo; benchmark package files are under tasks//task; verifier/container environment belongs under tasks//task/environment; regular and UI verifier logic belongs in task/tests/test_outputs.py and test.sh only runs that file through pytest.

Agent context

Task slug: nested-main-bundle-ignore
Branch: task/nested-main-bundle-ignore

## Assigned idea Benchmark authoring specification. Summary: Update the ESLint flat config so generated Obsidian `main.js` bundles are ignored even when they appear in nested plugin or vault directories, while preserving TypeScript linting. Task intent: Make an ordinary upstream-facing lint configuration fix in `eslint.config.mjs`: the existing bare `main.js` ignore should cover generated Obsidian bundle files outside only the repository root, without weakening the TypeScript parser setup. Benchmark plan: Construct the task package as a small lint-config change request. The solver prompt should ask for nested generated `main.js` files to be ignored by ESLint while keeping the `@typescript-eslint/parser` project configuration for `**/*.ts`. The package should include a verifier that checks the config text and dynamically confirms a nested generated `main.js` with invalid JavaScript is skipped by ESLint. Environment plan: Task/environment: provide only the work prompt and `test_outputs.py`; the verifier creates and removes a temporary nested `tmp-eslint-ignore/nested/main.js` fixture. Environment/repo: materialize `green-dalii/obsidian-llm-wiki` at `b327f87ff3b5e0e969d5e8e9c03e4a5f630e4ce2` and install the repository's Node dependencies normally before running ESLint. Verifier plan: `test_outputs.py` should read `eslint.config.mjs` and require an explicit nested-main ignore pattern such as `**/main.js`, preserve `project: "./tsconfig.json"`, preserve the `node_modules/` ignore, and reject broad JavaScript ignores such as `**/*.js`. It should then create `tmp-eslint-ignore/nested/main.js` containing a syntax error and run `npx eslint --no-warn-ignored tmp-eslint-ignore/nested/main.js`, expecting exit code 0 because the file is ignored. Oracle plan: The oracle solution edits only `eslint.config.mjs`, changing the global ignore entry from a root-only bare `main.js` pattern to a nested-capable `**/main.js` pattern while leaving the Obsidian recommended config spread and the TypeScript parser options intact. Difficulty plan: Coding agents may over-broaden the ignore rule to all JavaScript files, remove the TypeScript project-aware parser block to avoid lint errors, or misunderstand ESLint flat-config glob semantics where a bare filename does not reliably cover nested generated bundles. Repo patch scope: Expected upstream edit scope is limited to `eslint.config.mjs`; no changes should be made to TypeScript source files, package metadata, lockfiles, or generated build outputs. Anti-leakage notes: Do not expose to solvers any mention of benchmark, harness, Snorkel, Harbor, std-ts, agent, stage, attempt, retry, generated task, or evaluation context. Approach: Use the existing ESLint flat config as the target. Replace or supplement the current `main.js` ignore with `**/main.js`, keep `node_modules/`, and keep the `files: ["**/*.ts"]` TypeScript parser configuration using `./tsconfig.json`. Verification: Run `python test_outputs.py`; it must inspect `eslint.config.mjs` and execute `npx eslint --no-warn-ignored tmp-eslint-ignore/nested/main.js` against a temporary invalid nested bundle file. Risk: The dynamic ESLint check depends on repository dependencies being installed. Mitigate by documenting dependency installation in the environment setup and keeping the verifier focused on `eslint.config.mjs` plus one temporary fixture. Path rules: task package is tasks/<slug>; mutable upstream checkout is tasks/<slug>/task/environment/repo; benchmark package files are under tasks/<slug>/task; verifier/container environment belongs under tasks/<slug>/task/environment; regular and UI verifier logic belongs in task/tests/test_outputs.py and test.sh only runs that file through pytest. ## Agent context Task slug: nested-main-bundle-ignore Branch: task/nested-main-bundle-ignore <!-- std-ts:idea-pr-body -->
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin task/nested-main-bundle-ignore:task/nested-main-bundle-ignore
git switch task/nested-main-bundle-ignore

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff task/nested-main-bundle-ignore
git switch task/nested-main-bundle-ignore
git rebase main
git switch main
git merge --ff-only task/nested-main-bundle-ignore
git switch task/nested-main-bundle-ignore
git rebase main
git switch main
git merge --no-ff task/nested-main-bundle-ignore
git switch main
git merge --squash task/nested-main-bundle-ignore
git switch main
git merge --ff-only task/nested-main-bundle-ignore
git switch main
git merge task/nested-main-bundle-ignore
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
snorkel/root-repository-maintenance-99f07e1c783943!3
No description provided.