Skip to content

Commit ad4e680

Browse files
committed
Merge branch 'wip/land-uncommitted-20260905' into main (fleet integrate 20260912)
Source: LOCAL wip/land-uncommitted-20260905 @ 40348ec, 1 commit(s) not on main. Merged by the fleet integrate lane; conflicts, if any, are resolved semantically (both sides kept) and noted below. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G7RjB22qc4AaKq4zqeVBVY Conflict resolution (mechanical, semantics-preserving): package.json partial resolved=0 left=1 package.json JSON-UNION added=4 ours-wins=0 [+scripts.lint:ores, scripts.prepublishOnly, scripts.prebuild, oresLint] FLAGS: ignore-list files: set-union of both sides; empty-base hunks: both additions kept (ours first); Cargo.lock: ours + cargo update --workspace to reconcile with the merged manifests.
2 parents 391e34d + 40348ec commit ad4e680

3 files changed

Lines changed: 77 additions & 1 deletion

File tree

‎.github/workflows/ores-lint.yml‎

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Managed by .ores-lint/ - regenerated by the rollout script.
2+
name: ores-lint
3+
4+
on:
5+
pull_request:
6+
workflow_dispatch:
7+
# Add `push:` here once this repo's lint debt is paid down.
8+
9+
jobs:
10+
lint:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Detect project types
16+
id: detect
17+
run: |
18+
{ [ -f package.json ] || git ls-files '*.js' '*.mjs' '*.cjs' '*.ts' '*.tsx' | grep -q .; } \
19+
&& echo "js=true" >> "$GITHUB_OUTPUT" || echo "js=false" >> "$GITHUB_OUTPUT"
20+
{ [ -f Cargo.toml ] || git ls-files '*.rs' | grep -q .; } \
21+
&& echo "rs=true" >> "$GITHUB_OUTPUT" || echo "rs=false" >> "$GITHUB_OUTPUT"
22+
{ [ -f pubspec.yaml ] || git ls-files '*.dart' | grep -q .; } \
23+
&& echo "dart=true" >> "$GITHUB_OUTPUT" || echo "dart=false" >> "$GITHUB_OUTPUT"
24+
{ [ -f gleam.toml ] || git ls-files '*.gleam' | grep -q .; } \
25+
&& echo "gleam=true" >> "$GITHUB_OUTPUT" || echo "gleam=false" >> "$GITHUB_OUTPUT"
26+
27+
# Node is the runner for ESLint and for the cross-language require-send
28+
# scanner, so it is installed whenever any supported language is present.
29+
- uses: actions/setup-node@v4
30+
if: steps.detect.outputs.js == 'true' || steps.detect.outputs.rs == 'true' || steps.detect.outputs.dart == 'true' || steps.detect.outputs.gleam == 'true'
31+
with:
32+
node-version: '22'
33+
34+
# ESLint is a global tool here, not a repo dependency - so this job never
35+
# runs `npm install` and never needs the repo's node_modules.
36+
- name: Install eslint globally
37+
if: steps.detect.outputs.js == 'true'
38+
run: npm i -g eslint typescript-eslint
39+
40+
- name: Install clippy
41+
if: steps.detect.outputs.rs == 'true'
42+
run: rustup component add clippy || true
43+
44+
# Dart/Gleam SDKs are optional. When absent, dart.sh / gleam.sh skip
45+
# with an actionable message; require-send.mjs still runs via Node.
46+
- uses: dart-lang/setup-dart@v1
47+
if: steps.detect.outputs.dart == 'true'
48+
continue-on-error: true
49+
50+
- name: Run ores-lint
51+
run: sh .ores-lint/lint.sh
52+
env:
53+
# Warn-only. Set to 1 here to make lint findings fail this repo's CI.
54+
ORES_LINT_STRICT: '0'

‎eslint.config.mjs‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// ores-lint house ESLint config.
2+
// Managed by .ores-lint/ - see .ores-lint/README.md before editing.
3+
// Repo-specific tweaks go in the options object below; the rollout script will
4+
// not overwrite this file once you have changed it.
5+
import oresConfig from './.ores-lint/eslint/base.mjs';
6+
7+
export default await oresConfig({
8+
// requireSend: { loggerNames: ['myLogger'], terminalMethods: ['send', 'flush'] },
9+
// rules: { 'no-console': 'warn' },
10+
// ignores: ['**/generated/**'],
11+
});

‎package.json‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030
"bench:latency": "npm run build && bash bench/latency.sh",
3131
"bench:load": "npm run build && bash bench/load.sh",
3232
"bench:compare-load": "npm run build && node bench/compare-load.mjs",
33-
"test": "npm run build && node test/run.js && node test/chunk-boundary.test.js"
33+
"test": "npm run build && node test/run.js && node test/chunk-boundary.test.js",
34+
"lint:ores": "if [ -f .ores-lint/lint.sh ]; then sh .ores-lint/lint.sh; else echo 'ores-lint not installed'; fi",
35+
"prepublishOnly": "npm run lint:ores",
36+
"prebuild": "npm run lint:ores"
3437
},
3538
"repository": {
3639
"type": "git",
@@ -55,5 +58,13 @@
5558
},
5659
"r2g": {
5760
"test": "node .r2g/tests/smoke-test.1.js"
61+
},
62+
"oresLint": {
63+
"note": "Declared, not installed. ores-lint resolves these from a global install - see .ores-lint/README.md",
64+
"requires": {
65+
"eslint": ">=9",
66+
"typescript-eslint": ">=8 (optional; without it .ts files are skipped)"
67+
},
68+
"install": "npm i -g eslint typescript-eslint"
5869
}
5970
}

0 commit comments

Comments
 (0)