├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── discussion.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md ├── stale.yml └── workflows │ └── ci.yml ├── .gitignore ├── .husky └── pre-commit ├── LICENSE ├── README.md ├── docs ├── .gitkeep ├── Browser Support.md ├── Getting Started.md └── Style Guide.md ├── fixtures └── app │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .prettierrc │ └── package.json ├── lerna.json ├── package.json ├── packages ├── eslint-config-vtex-react │ ├── .eslintrc │ ├── CHANGELOG.md │ ├── README.md │ ├── demo │ │ ├── .eslintrc │ │ ├── Component.tsx │ │ └── package.json │ ├── gatsby.js │ ├── index.js │ ├── io.js │ ├── native.js │ ├── package.json │ └── rules │ │ ├── react-a11y.js │ │ ├── react-hooks.js │ │ └── react.js ├── eslint-config-vtex │ ├── .eslintrc │ ├── CHANGELOG.md │ ├── README.md │ ├── demo │ │ ├── index.js │ │ ├── index.ts │ │ └── package.json │ ├── index.js │ ├── lib │ │ └── utils.js │ ├── package.json │ └── rules │ │ ├── best-practices.js │ │ ├── errors.js │ │ ├── imports.js │ │ ├── node.js │ │ ├── prettier.js │ │ ├── style.js │ │ ├── tests.js │ │ ├── typescript.js │ │ └── variables.js ├── eslint-plugin-vtex │ ├── .gitignore │ ├── CHANGELOG.md │ ├── README.md │ ├── docs │ │ └── rules │ │ │ ├── consistent-props-type.md │ │ │ ├── prefer-early-return.md │ │ │ └── prefer-use-effect-named-callback.md │ ├── package.json │ ├── src │ │ ├── configs │ │ │ └── recommended.ts │ │ ├── createRule.ts │ │ ├── index.ts │ │ ├── rules │ │ │ ├── __tests__ │ │ │ │ ├── consistent-props-type.test.ts │ │ │ │ ├── prefer-early-return.test.ts │ │ │ │ └── prefer-use-effect-named-callback.test.ts │ │ │ ├── consistent-props-type.ts │ │ │ ├── prefer-early-return.ts │ │ │ └── prefer-use-effect-named-callback.ts │ │ └── utils │ │ │ ├── estree │ │ │ ├── getFunctionNodeName.ts │ │ │ ├── isFunctionNode.ts │ │ │ └── isInsideAnotherFunction.ts │ │ │ └── react │ │ │ └── isComponentName.ts │ ├── test │ │ └── babel.config.js │ └── tsconfig.json ├── prettier-config │ ├── CHANGELOG.md │ ├── README.md │ ├── index.js │ └── package.json └── tsconfig │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ └── tsconfig.json ├── scripts └── bootstrap-typescript.sh ├── tsconfig.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.eslintrc -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @vtex/front-end-dx-guild 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/discussion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.github/ISSUE_TEMPLATE/discussion.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.github/stale.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint-staged 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/README.md -------------------------------------------------------------------------------- /docs/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/Browser Support.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/docs/Browser Support.md -------------------------------------------------------------------------------- /docs/Getting Started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/docs/Getting Started.md -------------------------------------------------------------------------------- /docs/Style Guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/docs/Style Guide.md -------------------------------------------------------------------------------- /fixtures/app/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | !.eslintrc.js 3 | -------------------------------------------------------------------------------- /fixtures/app/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/fixtures/app/.eslintrc.js -------------------------------------------------------------------------------- /fixtures/app/.gitignore: -------------------------------------------------------------------------------- 1 | yarn.lock 2 | -------------------------------------------------------------------------------- /fixtures/app/.prettierrc: -------------------------------------------------------------------------------- 1 | "@vtex/prettier-config" 2 | -------------------------------------------------------------------------------- /fixtures/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/fixtures/app/package.json -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/lerna.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/package.json -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./index.js"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/CHANGELOG.md -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/README.md -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/demo/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../index.js" 3 | } 4 | -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/demo/Component.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/demo/Component.tsx -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/demo/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/demo/package.json -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/gatsby.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/gatsby.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/index.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/io.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/io.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/native.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['./index.js'], 3 | } 4 | -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/package.json -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/rules/react-a11y.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/rules/react-a11y.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/rules/react-hooks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/rules/react-hooks.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex-react/rules/react.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex-react/rules/react.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./index.js"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/eslint-config-vtex/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/CHANGELOG.md -------------------------------------------------------------------------------- /packages/eslint-config-vtex/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/README.md -------------------------------------------------------------------------------- /packages/eslint-config-vtex/demo/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/eslint-config-vtex/demo/index.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/eslint-config-vtex/demo/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/demo/package.json -------------------------------------------------------------------------------- /packages/eslint-config-vtex/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/index.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/lib/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/lib/utils.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/package.json -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/best-practices.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/best-practices.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/errors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/errors.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/imports.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/imports.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/node.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/prettier.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/prettier.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/style.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/style.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/tests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/tests.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/typescript.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/typescript.js -------------------------------------------------------------------------------- /packages/eslint-config-vtex/rules/variables.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-config-vtex/rules/variables.js -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/.gitignore: -------------------------------------------------------------------------------- 1 | # package build 2 | dist 3 | -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/CHANGELOG.md -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/README.md -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/docs/rules/consistent-props-type.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/docs/rules/consistent-props-type.md -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/docs/rules/prefer-early-return.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/docs/rules/prefer-early-return.md -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/docs/rules/prefer-use-effect-named-callback.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/docs/rules/prefer-use-effect-named-callback.md -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/package.json -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/configs/recommended.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/configs/recommended.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/createRule.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/createRule.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/index.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/rules/__tests__/consistent-props-type.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/rules/__tests__/consistent-props-type.test.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/rules/__tests__/prefer-early-return.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/rules/__tests__/prefer-early-return.test.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/rules/__tests__/prefer-use-effect-named-callback.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/rules/__tests__/prefer-use-effect-named-callback.test.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/rules/consistent-props-type.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/rules/consistent-props-type.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/rules/prefer-early-return.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/rules/prefer-early-return.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/rules/prefer-use-effect-named-callback.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/rules/prefer-use-effect-named-callback.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/utils/estree/getFunctionNodeName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/utils/estree/getFunctionNodeName.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/utils/estree/isFunctionNode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/utils/estree/isFunctionNode.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/utils/estree/isInsideAnotherFunction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/utils/estree/isInsideAnotherFunction.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/src/utils/react/isComponentName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/src/utils/react/isComponentName.ts -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/test/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/test/babel.config.js -------------------------------------------------------------------------------- /packages/eslint-plugin-vtex/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/eslint-plugin-vtex/tsconfig.json -------------------------------------------------------------------------------- /packages/prettier-config/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/prettier-config/CHANGELOG.md -------------------------------------------------------------------------------- /packages/prettier-config/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/prettier-config/README.md -------------------------------------------------------------------------------- /packages/prettier-config/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/prettier-config/index.js -------------------------------------------------------------------------------- /packages/prettier-config/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/prettier-config/package.json -------------------------------------------------------------------------------- /packages/tsconfig/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/tsconfig/CHANGELOG.md -------------------------------------------------------------------------------- /packages/tsconfig/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/tsconfig/README.md -------------------------------------------------------------------------------- /packages/tsconfig/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/tsconfig/package.json -------------------------------------------------------------------------------- /packages/tsconfig/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/packages/tsconfig/tsconfig.json -------------------------------------------------------------------------------- /scripts/bootstrap-typescript.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/scripts/bootstrap-typescript.sh -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vtex/tsconfig" 3 | } 4 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex/typescript/HEAD/yarn.lock --------------------------------------------------------------------------------