feature-sliced / eslint-config

🍰 Lint feature-sliced concepts by existing eslint plugins

Home Page:https://npmjs.com/@feature-sliced/eslint-config

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LINT: Impl "segment-public-api" boundaries

azinit opened this issue · comments

Description

Each segment should have local public-api file declaration

/** @path features/smth/index.ts */
// Fail
export { SubmitButton } from "./ui/button";
export { SmthForm } from "./ui/form";
// Pass
export { SubmitButton, SmthForm } from "./ui";
/** @path features/smth/index.ts */
// Fail
export * from "./model/actions";
export { selectSmthById } from "./model/selectors";
// Pass
export * from "./model";
export * as smthModel from "./model";
export { selectSmthById, ... } from "./model";

ToRefine

  • shared/ui no-required reexports?
  • shared/lib no-required reexports?