Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
ccb231c
chore: migrate to shared eslint config and fix test failures
eablack Apr 10, 2026
53eb6ff
fix: apply linting fixes and resolve test failures
eablack Apr 13, 2026
43c708b
fix: resolve additional linting errors
eablack Apr 13, 2026
e9cb9c4
refactor: migrate test helpers to @heroku-cli/test-utils
eablack Apr 13, 2026
a2bcf0e
refactor: migrate expectOutput to @heroku-cli/test-utils
eablack Apr 13, 2026
7e52f34
turn off camelcase lint warnings
eablack Apr 14, 2026
d6bd3b0
refactor: remove unused eslint dependencies and fix exec URL path
eablack Apr 14, 2026
9a089e4
fix: add explicit eslint-import-resolver-typescript dependency
eablack Apr 14, 2026
fc1fb35
ci: build before linting to ensure dist folder exists
eablack Apr 14, 2026
0d14599
remove conflict resolution marker
eablack Apr 15, 2026
a79688e
fix: resolve ESLint getter-return conflict in _useSSH
eablack Apr 15, 2026
c4eb1d7
chore: add semi rule and apply linting fixes
eablack Apr 15, 2026
2ddf13b
test: refactor error handling to use runCommand error property
eablack Apr 16, 2026
523b529
test: fix error handling assertions in failing tests
eablack Apr 16, 2026
7b8ae97
test: fix TypeScript error in apps/join test
eablack Apr 16, 2026
65c39cb
test: replace stdout-stderr with captureOutput and remove dependency
eablack Apr 16, 2026
b468cb6
fix: remove captureOutput from tests that expect errors
eablack Apr 16, 2026
9fc9c5c
fix: clean up setTimeout timers in MockEventSource to prevent test hangs
eablack Apr 16, 2026
b4d5a65
fix: restore stdMocks after use to prevent test suite from hanging
eablack Apr 16, 2026
b2d5615
fix: remove std-mocks dependency and usage
eablack Apr 16, 2026
18c81e3
fix linting
eablack Apr 16, 2026
41ea493
fix: remove captureOutput from error-expecting tests in confirm-command
eablack Apr 17, 2026
1e55ebb
fix: resolve linting warnings across test files
eablack Apr 17, 2026
32adbe6
fix: resolve additional sinon-related linting warnings
eablack Apr 17, 2026
29db827
fix: resolve another batch of sinon-related linting warnings
eablack Apr 17, 2026
a441442
add --all to coverage report, convert more sinon imports
eablack Apr 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

136 changes: 0 additions & 136 deletions .eslintrc.cjs

This file was deleted.

2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ jobs:
node-version: 22.x
cache: npm
- run: npm ci
- name: build
run: npm run build
- name: linting
run: npm run lint

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/promote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@ jobs:
--channel=${{ fromJSON(inputs.isStableRelease) && 'stable' || env.prerelease-channel }}
shell: bash
- name: promote Linux install scripts
run: node ./scripts/postrelease/install_scripts.js
run: node ./scripts/postrelease/install-scripts.js
6 changes: 3 additions & 3 deletions bin/bats-test-runner.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env node

import os from 'os'
import { spawn } from 'child_process'
import {spawn} from 'node:child_process'
import os from 'node:os'

if (os.platform() === 'win32' || os.platform() === 'windows') console.log('skipping on windows')
else spawn('npx bats test/acceptance/*.bats', {stdio: 'inherit', shell: true})
else spawn('npx bats test/acceptance/*.bats', {shell: true, stdio: 'inherit'})
2 changes: 1 addition & 1 deletion bin/run.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ process.env.HEROKU_UPDATE_INSTRUCTIONS = process.env.HEROKU_UPDATE_INSTRUCTIONS
const now = new Date()
const cliStartTime = now.getTime()

const {isTelemetryEnabled, getTelemetryDisabledReason, telemetryDebug} = await import('../dist/lib/analytics-telemetry/telemetry-utils.js')
const {getTelemetryDisabledReason, isTelemetryEnabled, telemetryDebug} = await import('../dist/lib/analytics-telemetry/telemetry-utils.js')
const enableTelemetry = isTelemetryEnabled()

if (enableTelemetry) {
Expand Down
39 changes: 39 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// ESLint 9 flat config using shared Heroku CLI rules
import herokuConfig from '@heroku-cli/test-utils/eslint-config'

export default [
...herokuConfig,
// Project-specific overrides
{
rules: {
'@typescript-eslint/no-unused-vars': 'warn',
'array-callback-return': 'warn',
camelcase: 'off',
'n/no-unpublished-bin': 'off', // we're getting false positives with this
'n/no-unsupported-features/node-builtins': 'warn',
'no-await-in-loop': 'warn',
'no-promise-executor-return': 'warn',
semi: ['warn', 'never'],
'unicorn/consistent-function-scoping': 'warn',
'unicorn/no-array-callback-reference': 'warn',
'unicorn/no-array-for-each': 'warn',
'unicorn/no-array-reduce': 'warn',
'unicorn/no-empty-file': 'warn',
'unicorn/prefer-event-target': 'warn',
'unicorn/prefer-spread': 'warn',
},
},
// Test file overrides
{
files: ['test/**/*.ts', 'test/**/*.js'],
rules: {
'mocha/max-top-level-suites': 'warn',
'mocha/no-exports': 'warn',
'unicorn/consistent-function-scoping': 'warn',
},
},
// Ignore patterns (in addition to shared ignores)
{
ignores: ['**/test/**/*.js', '**/*.d.ts', '.github/**'],
},
]
Loading
Loading