Repository navigation
Enforce standard lint rules in tests, remove precommit hook, and update dev deps (v1.0.38)
This release tightens developer checks and simplifies the publish pipeline while bringing several devDependencies up to date. The primary user-visible effects are stricter linting (test files no longer get a relaxed "no-undefined" rule), removal of the repo-level precommit npm script, and an upgrade of the local ESLint config package used during development. The release also updates package metadata (version bump to 1.0.38), refreshes the lockfile to match dependency bumps, and includes a small set of repository housekeeping changes (EOF normalization and deterministic dependency pinning in prior commits reflected in the lockfile).
Summary
- Enforced the standard
no-undefinedESLint rule for test files by removing the test-specific override. Tests that previously relied onno-undefined: offwill now be linted against the standard rule. - Removed the
precommitnpm script from package.json (previously ran clean, lint, build, test). TheprepublishOnlyscript remains. - Bumped devDependency
@fjell/eslint-configto^1.1.25and updated package-lock.json to match the new resolved package artifact and integrity hash. - Bumped package version to
1.0.38and normalized end-of-file formatting in package.json. - Continued a series of repository maintenance commits reflected in the history: earlier dependency bumps and lockfile updates, pinning of
esbuildin prior commits, and workflow simplification for npm publish.
New Features
(No new runtime or user-facing features were added in this release.)
Improvements
-
Dev dependency upgrades
- Updated devDependency
@fjell/eslint-configfrom earlier ranges to^1.1.25. The lockfile was regenerated to reference the 1.1.25 tarball and integrity hash to ensure deterministic installs. - Prior commits in this release series also included pinning
esbuildto0.25.9(exact version) to remove range ambiguity in installs.
- Updated devDependency
-
Package metadata and formatting
- Bumped package.json version to
1.0.38(from a-dev.0pre-release in the working branch). - Normalized package.json end-of-file (EOF) formatting in multiple commits to ensure a consistent final newline state across edits.
- Bumped package.json version to
-
CI / publishing workflow simplification (context from recent commits)
- The separate
buildjob was removed from the npm-publish workflow and thepublish-npmjob was simplified to run without depending on a dedicatedbuildjob. This reduces workflow complexity for publishing runs (publish now runs independently in the workflow). See .github/workflows/npm-publish.yml for the updated job layout.
- The separate
Bug Fixes
- No direct runtime bug fixes are included in the change set. The lockfile updates ensure the repository installs the intended patched devDependencies (including lint rule fixes delivered by
@fjell/eslint-configupdates).
Breaking Changes (Attention Required)
-
ESLint stricter enforcement in test files
- Removed the ESLint override that turned off
no-undefinedfor files matchingtests/**/*.tsandtests/**/*.tsx. Test code that previously relied on undefined values without handling them may now fail linting. Action: run the project's lint command locally and address anyno-undefinedviolations in test sources.
- Removed the ESLint override that turned off
-
Local precommit workflow change
- The
precommitnpm script has been removed from package.json. Developers who relied on the repository-providedprecommitscript (which ranclean,lint,build, andtest) need to update their local workflows or git hooks. TheprepublishOnlyscript remains and still runscleanandbuildduring publish time.
- The
-
Publish workflow expectations
- The GitHub Actions workflow for npm publishing was simplified to remove a separate build job and to allow the publish job to run without needing a prior
buildjob. If CI previously relied on the removed build job's artifacts or side effects, pipeline adjustments may be necessary.
- The GitHub Actions workflow for npm publishing was simplified to remove a separate build job and to allow the publish job to run without needing a prior
Developer Experience
-
Linting
- Tests are now validated by the same
no-undefinedrule that applies to the rest of the codebase. This encourages consistent detection of undefined usage across code and tests but may require small fixes in test suites.
- Tests are now validated by the same
-
Local hooks and scripts
- With
precommitremoved, there is no longer a repository-defined single-step precommit script. Developers should add their own git hooks or adapt local tooling to reproduce desired precommit behavior (lint, build, test) where needed.
- With
-
Deterministic installs
- The lockfile was updated to reflect the bumped devDependencies and pinned versions, improving reproducibility of
npm ci/npm installin development and CI.
- The lockfile was updated to reflect the bumped devDependencies and pinned versions, improving reproducibility of
Files and components changed
-
eslint.config.mjs
- Removed the override block that matched test files (
tests/**/*.ts,tests/**/*.tsx) and setno-undefinedtooff. Test files will now be checked by the base rule set.
- Removed the override block that matched test files (
-
package.json
- Version set to
1.0.38. - Removed
precommitnpm script (previously:npm run clean && npm run lint && npm run build && npm run test). - Bumped devDependency
@fjell/eslint-configto^1.1.25. - Other housekeeping: EOF normalization.
- Version set to
-
package-lock.json
- Updated entries to reflect
@fjell/eslint-config@1.1.25(resolved URL and integrity hash) and other dependency resolution changes introduced by the devDependency bumps.
- Updated entries to reflect
-
.github/workflows/npm-publish.yml (reflected in recent commits)
- Removed the separate
buildjob and simplified the publish job so it no longerneeds: build.
- Removed the separate
Migration notes / actions for consumers and contributors
-
Run linters locally
- After pulling this release, run npm run lint (or your standard lint command) and fix any
no-undefinedviolations in tests.
- After pulling this release, run npm run lint (or your standard lint command) and fix any
-
Adjust local precommit setups if needed
- If the earlier
precommitnpm script was relied upon, recreate the desired precommit behavior using a custom git hook, Husky, or an equivalent tool.
- If the earlier
-
CI and publish checks
- If CI or internal tooling relied on the removed
buildjob in the npm-publish workflow, update workflows to provide the necessary build or test steps prior to publish.
- If CI or internal tooling relied on the removed
Additional context
- This release continues an ongoing effort to keep linting rules, dev tooling, and CI configuration consistent and deterministic. Upgrading
@fjell/eslint-configconsolidates recent lint rule fixes into the development environment; removing the test-specific override brings tests under the same linting standards applied to production code.
If issues appear after upgrading, check lint output for no-undefined violations in test files, verify local hook configurations, and ensure CI workflows match the updated publish expectations.