├── .eslintrc.json ├── .github ├── ISSUE_TEMPLATE │ └── bug-report.md └── workflows │ ├── codesee-arch-diagram.yml │ ├── pull-request.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .husky ├── .gitignore ├── commit-msg └── pre-commit ├── .node-version ├── .npmignore ├── .npmrc ├── .nvmrc ├── .prettierrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── commitlint.config.js ├── docs └── rules │ ├── entry-exit-action.md │ ├── event-names.md │ ├── invoke-usage.md │ ├── no-async-guard.md │ ├── no-auto-forward.md │ ├── no-imperative-action.md │ ├── no-infinite-loop.md │ ├── no-inline-implementation.md │ ├── no-invalid-conditional-action.md │ ├── no-invalid-state-props.md │ ├── no-invalid-transition-props.md │ ├── no-misplaced-on-transition.md │ ├── no-ondone-outside-compound-state.md │ ├── prefer-always.md │ ├── prefer-predictable-action-arguments.md │ ├── spawn-usage.md │ ├── state-names.md │ └── system-id.md ├── jest.config.js ├── lib ├── index.js ├── rules │ ├── entry-exit-action.js │ ├── event-names.js │ ├── invoke-usage.js │ ├── no-async-guard.js │ ├── no-auto-forward.js │ ├── no-imperative-action.js │ ├── no-infinite-loop.js │ ├── no-inline-implementation.js │ ├── no-invalid-conditional-action.js │ ├── no-invalid-state-props.js │ ├── no-invalid-transition-props.js │ ├── no-misplaced-on-transition.js │ ├── no-ondone-outside-compound-state.js │ ├── prefer-always.js │ ├── prefer-predictable-action-arguments.js │ ├── spawn-usage.js │ ├── state-names.js │ └── system-id.js └── utils │ ├── XStateDetector.js │ ├── arrays.js │ ├── combinators.js │ ├── getDocsUrl.js │ ├── getSelectorPrefix.js │ ├── getSettings.js │ ├── isSpawnFromParametersCallExpression.js │ ├── isXStateLintingEnforced.js │ ├── predicates.js │ └── selectors.js ├── package.json ├── pnpm-lock.yaml └── tests └── lib ├── rules ├── entry-exit-action.js ├── event-names.js ├── invoke-usage.js ├── no-async-guards.js ├── no-auto-forward.js ├── no-imperative-action.js ├── no-infinite-loop.js ├── no-inline-implementation.js ├── no-invalid-conditional-action.js ├── no-invalid-state-props.js ├── no-invalid-transition-props.js ├── no-misplaced-on-transition.js ├── no-ondone-outside-compound-state.js ├── prefer-always.js ├── prefer-predictable-action-arguments.js ├── spawn-usage.js ├── state-names.js └── system-id.js └── utils └── settings.js /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.github/ISSUE_TEMPLATE/bug-report.md -------------------------------------------------------------------------------- /.github/workflows/codesee-arch-diagram.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.github/workflows/codesee-arch-diagram.yml -------------------------------------------------------------------------------- /.github/workflows/pull-request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.github/workflows/pull-request.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | node_modules/ 3 | *.swp 4 | -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.husky/commit-msg -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.husky/pre-commit -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 18.17.0 2 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.npmignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.npmrc -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 20.9.0 2 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/.prettierrc -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/README.md -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = {extends: ['@commitlint/config-conventional']} 2 | -------------------------------------------------------------------------------- /docs/rules/entry-exit-action.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/entry-exit-action.md -------------------------------------------------------------------------------- /docs/rules/event-names.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/event-names.md -------------------------------------------------------------------------------- /docs/rules/invoke-usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/invoke-usage.md -------------------------------------------------------------------------------- /docs/rules/no-async-guard.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-async-guard.md -------------------------------------------------------------------------------- /docs/rules/no-auto-forward.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-auto-forward.md -------------------------------------------------------------------------------- /docs/rules/no-imperative-action.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-imperative-action.md -------------------------------------------------------------------------------- /docs/rules/no-infinite-loop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-infinite-loop.md -------------------------------------------------------------------------------- /docs/rules/no-inline-implementation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-inline-implementation.md -------------------------------------------------------------------------------- /docs/rules/no-invalid-conditional-action.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-invalid-conditional-action.md -------------------------------------------------------------------------------- /docs/rules/no-invalid-state-props.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-invalid-state-props.md -------------------------------------------------------------------------------- /docs/rules/no-invalid-transition-props.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-invalid-transition-props.md -------------------------------------------------------------------------------- /docs/rules/no-misplaced-on-transition.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-misplaced-on-transition.md -------------------------------------------------------------------------------- /docs/rules/no-ondone-outside-compound-state.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/no-ondone-outside-compound-state.md -------------------------------------------------------------------------------- /docs/rules/prefer-always.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/prefer-always.md -------------------------------------------------------------------------------- /docs/rules/prefer-predictable-action-arguments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/prefer-predictable-action-arguments.md -------------------------------------------------------------------------------- /docs/rules/spawn-usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/spawn-usage.md -------------------------------------------------------------------------------- /docs/rules/state-names.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/state-names.md -------------------------------------------------------------------------------- /docs/rules/system-id.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/docs/rules/system-id.md -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/jest.config.js -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/index.js -------------------------------------------------------------------------------- /lib/rules/entry-exit-action.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/entry-exit-action.js -------------------------------------------------------------------------------- /lib/rules/event-names.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/event-names.js -------------------------------------------------------------------------------- /lib/rules/invoke-usage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/invoke-usage.js -------------------------------------------------------------------------------- /lib/rules/no-async-guard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-async-guard.js -------------------------------------------------------------------------------- /lib/rules/no-auto-forward.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-auto-forward.js -------------------------------------------------------------------------------- /lib/rules/no-imperative-action.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-imperative-action.js -------------------------------------------------------------------------------- /lib/rules/no-infinite-loop.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-infinite-loop.js -------------------------------------------------------------------------------- /lib/rules/no-inline-implementation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-inline-implementation.js -------------------------------------------------------------------------------- /lib/rules/no-invalid-conditional-action.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-invalid-conditional-action.js -------------------------------------------------------------------------------- /lib/rules/no-invalid-state-props.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-invalid-state-props.js -------------------------------------------------------------------------------- /lib/rules/no-invalid-transition-props.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-invalid-transition-props.js -------------------------------------------------------------------------------- /lib/rules/no-misplaced-on-transition.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-misplaced-on-transition.js -------------------------------------------------------------------------------- /lib/rules/no-ondone-outside-compound-state.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/no-ondone-outside-compound-state.js -------------------------------------------------------------------------------- /lib/rules/prefer-always.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/prefer-always.js -------------------------------------------------------------------------------- /lib/rules/prefer-predictable-action-arguments.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/prefer-predictable-action-arguments.js -------------------------------------------------------------------------------- /lib/rules/spawn-usage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/spawn-usage.js -------------------------------------------------------------------------------- /lib/rules/state-names.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/state-names.js -------------------------------------------------------------------------------- /lib/rules/system-id.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/rules/system-id.js -------------------------------------------------------------------------------- /lib/utils/XStateDetector.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/XStateDetector.js -------------------------------------------------------------------------------- /lib/utils/arrays.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/arrays.js -------------------------------------------------------------------------------- /lib/utils/combinators.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/combinators.js -------------------------------------------------------------------------------- /lib/utils/getDocsUrl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/getDocsUrl.js -------------------------------------------------------------------------------- /lib/utils/getSelectorPrefix.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/getSelectorPrefix.js -------------------------------------------------------------------------------- /lib/utils/getSettings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/getSettings.js -------------------------------------------------------------------------------- /lib/utils/isSpawnFromParametersCallExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/isSpawnFromParametersCallExpression.js -------------------------------------------------------------------------------- /lib/utils/isXStateLintingEnforced.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/isXStateLintingEnforced.js -------------------------------------------------------------------------------- /lib/utils/predicates.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/predicates.js -------------------------------------------------------------------------------- /lib/utils/selectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/lib/utils/selectors.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /tests/lib/rules/entry-exit-action.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/entry-exit-action.js -------------------------------------------------------------------------------- /tests/lib/rules/event-names.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/event-names.js -------------------------------------------------------------------------------- /tests/lib/rules/invoke-usage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/invoke-usage.js -------------------------------------------------------------------------------- /tests/lib/rules/no-async-guards.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-async-guards.js -------------------------------------------------------------------------------- /tests/lib/rules/no-auto-forward.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-auto-forward.js -------------------------------------------------------------------------------- /tests/lib/rules/no-imperative-action.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-imperative-action.js -------------------------------------------------------------------------------- /tests/lib/rules/no-infinite-loop.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-infinite-loop.js -------------------------------------------------------------------------------- /tests/lib/rules/no-inline-implementation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-inline-implementation.js -------------------------------------------------------------------------------- /tests/lib/rules/no-invalid-conditional-action.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-invalid-conditional-action.js -------------------------------------------------------------------------------- /tests/lib/rules/no-invalid-state-props.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-invalid-state-props.js -------------------------------------------------------------------------------- /tests/lib/rules/no-invalid-transition-props.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-invalid-transition-props.js -------------------------------------------------------------------------------- /tests/lib/rules/no-misplaced-on-transition.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-misplaced-on-transition.js -------------------------------------------------------------------------------- /tests/lib/rules/no-ondone-outside-compound-state.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/no-ondone-outside-compound-state.js -------------------------------------------------------------------------------- /tests/lib/rules/prefer-always.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/prefer-always.js -------------------------------------------------------------------------------- /tests/lib/rules/prefer-predictable-action-arguments.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/prefer-predictable-action-arguments.js -------------------------------------------------------------------------------- /tests/lib/rules/spawn-usage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/spawn-usage.js -------------------------------------------------------------------------------- /tests/lib/rules/state-names.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/state-names.js -------------------------------------------------------------------------------- /tests/lib/rules/system-id.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/rules/system-id.js -------------------------------------------------------------------------------- /tests/lib/utils/settings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rlaffers/eslint-plugin-xstate/HEAD/tests/lib/utils/settings.js --------------------------------------------------------------------------------