@starci/eslint-grammar-offset-pop
v0.17.0
Published
Offset Pop Grammar lint: the inherited Common component contract over its own visual family.
Maintainers
Readme
@starci/eslint-grammar-offset-pop
Offset Pop composes the Common renderers and types. This package inherits their checks from the exact matching @starci/eslint-grammar-core release; the rule implementations and shared infrastructure have one owner. Offset Pop has no additional component API rules yet. Its visual choices belong to its DNA and packaged stylesheet.
Rule ownership follows FE-RULE-OWNERSHIP in contexts/code/fe/README.md of the StarCi harness. The family's inheritance is declared in contexts/grammars/offset-pop.md; the app-shell law is contexts/ui/composition.md.
The managed fe/eslint.config.mjs consumes the universal canon and the selected family:
import { loadHfs, starciFeConfig } from "@starci/eslint-canon-fe"
import { offsetPopGrammarConfig } from "@starci/eslint-grammar-offset-pop"
const hfs = loadHfs(import.meta.url)
export default [...starciFeConfig({ hfs }), ...offsetPopGrammarConfig({ hfs })]The inherited rule IDs use the starci-grammar prefix. rules, recommended, ruleOwners, lawOwners, ruleDeclarations, why and the default plugin expose the same authoritative objects as the matching Common contract. The package has its own canon pin and generated runtime copy and follows the Grammar version.
Migrating from @starci/eslint-canon-fe 8.x
The pinned canon-fe release moved the twenty Grammar component rules (listed in the @starci/eslint-grammar-core
README and the pinned canon-fe changelog) out of the universal canon. An Offset Pop app receives them
through this package under the starci-grammar/ namespace with unchanged IDs, codes and severity.
- Set
sides.fe.grammartooffset-popinhfs.json; no family is inferred. - Install this package at its canon-pins version beside
@starci/eslint-canon-fe9 in the app rootdevDependencies; it brings the matching@starci/eslint-grammar-core.starci app checkrefuses canon-fe 9 without it (FE_STACK_FAMILY_LINT_MISSING). - Compose
starciFeConfig({ hfs })first andoffsetPopGrammarConfig({ hfs })second (the block above);starci app syncrenders that managedfe/eslint.config.mjs. - Rename references to the moved rules from
starci-fe/tostarci-grammar/.
Consuming apps migrate in their own release.
npm test runs package regression specs. Grammar and application front ends carry no specs.
The source is TypeScript in src/; npm run build emits dist/, which the package ships beside runtime/. The spec resolves @starci/eslint-grammar-core through its built dist/, so build that package first (npm run build in packages/eslint-grammar-core), then npm install here.
