├── .gitattributes ├── .github └── workflows │ ├── ci.yml │ ├── print-esy-cache.js │ ├── release-postinstall.js │ └── release.js ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── ReactRulesOfHooksPpx.opam ├── bin ├── Bin.re ├── Standalone.re └── dune ├── dune-project ├── esy.lock ├── .gitattributes ├── .gitignore ├── index.json ├── opam │ ├── base-threads.base │ │ └── opam │ ├── base-unix.base │ │ └── opam │ ├── biniou.1.2.1 │ │ └── opam │ ├── cppo.1.6.7 │ │ └── opam │ ├── csexp.1.5.1 │ │ └── opam │ ├── dot-merlin-reader.4.1 │ │ └── opam │ ├── dune-build-info.2.8.5 │ │ └── opam │ ├── dune.2.8.4 │ │ └── opam │ ├── easy-format.1.3.2 │ │ └── opam │ ├── fix.20201120 │ │ └── opam │ ├── junit.2.0.2 │ │ └── opam │ ├── menhir.20210419 │ │ └── opam │ ├── menhirLib.20210419 │ │ └── opam │ ├── menhirSdk.20210419 │ │ └── opam │ ├── merlin-extend.0.6 │ │ └── opam │ ├── ocaml-compiler-libs.v0.12.3 │ │ └── opam │ ├── ocaml-lsp-server.1.4.1 │ │ └── opam │ ├── ocaml-migrate-parsetree.2.1.0 │ │ └── opam │ ├── ocamlbuild.0.14.0 │ │ └── opam │ ├── ocamlfind.1.9.1 │ │ └── opam │ ├── ppx_derivers.1.2.1 │ │ └── opam │ ├── ppx_yojson_conv_lib.v0.14.0 │ │ └── opam │ ├── ppxlib.0.22.0 │ │ └── opam │ ├── ptime.0.8.5 │ │ └── opam │ ├── re.1.9.0 │ │ └── opam │ ├── result.1.5 │ │ └── opam │ ├── seq.base │ │ ├── files │ │ │ ├── META.seq │ │ │ └── seq.install │ │ └── opam │ ├── sexplib0.v0.14.0 │ │ └── opam │ ├── stdlib-shims.0.3.0 │ │ └── opam │ ├── topkg.1.0.3 │ │ └── opam │ ├── tyxml.4.5.0 │ │ └── opam │ ├── uchar.0.0.2 │ │ └── opam │ ├── uutf.1.0.2 │ │ └── opam │ └── yojson.1.7.0 │ │ └── opam └── overrides │ ├── opam__s__ocamlbuild_opam__c__0.14.0_opam_override │ ├── files │ │ └── ocamlbuild-0.14.0.patch │ └── package.json │ └── opam__s__ocamlfind_opam__c__1.9.1_opam_override │ ├── files │ └── findlib-1.9.1.patch │ └── package.json ├── package.json ├── scripts └── release.sh ├── src ├── Ppx.re └── dune └── test ├── ConditionalHooks.expected ├── ConditionalHooks.re ├── ExhaustiveDepsUseEffect.expected ├── ExhaustiveDepsUseEffect.re ├── HooksAtTheTopLevel.expected ├── HooksAtTheTopLevel.re ├── HooksAtTheTopLevel2.expected ├── HooksAtTheTopLevel2.re └── dune /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/print-esy-cache.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/.github/workflows/print-esy-cache.js -------------------------------------------------------------------------------- /.github/workflows/release-postinstall.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/.github/workflows/release-postinstall.js -------------------------------------------------------------------------------- /.github/workflows/release.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/.github/workflows/release.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/README.md -------------------------------------------------------------------------------- /ReactRulesOfHooksPpx.opam: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bin/Bin.re: -------------------------------------------------------------------------------- 1 | Ppxlib.Driver.run_as_ppx_rewriter() 2 | -------------------------------------------------------------------------------- /bin/Standalone.re: -------------------------------------------------------------------------------- 1 | Ppxlib.Driver.standalone() 2 | -------------------------------------------------------------------------------- /bin/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/bin/dune -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- 1 | (lang dune 2.6) 2 | -------------------------------------------------------------------------------- /esy.lock/.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/.gitattributes -------------------------------------------------------------------------------- /esy.lock/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/.gitignore -------------------------------------------------------------------------------- /esy.lock/index.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/index.json -------------------------------------------------------------------------------- /esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/base-threads.base/opam -------------------------------------------------------------------------------- /esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/base-unix.base/opam -------------------------------------------------------------------------------- /esy.lock/opam/biniou.1.2.1/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/biniou.1.2.1/opam -------------------------------------------------------------------------------- /esy.lock/opam/cppo.1.6.7/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/cppo.1.6.7/opam -------------------------------------------------------------------------------- /esy.lock/opam/csexp.1.5.1/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/csexp.1.5.1/opam -------------------------------------------------------------------------------- /esy.lock/opam/dot-merlin-reader.4.1/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/dot-merlin-reader.4.1/opam -------------------------------------------------------------------------------- /esy.lock/opam/dune-build-info.2.8.5/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/dune-build-info.2.8.5/opam -------------------------------------------------------------------------------- /esy.lock/opam/dune.2.8.4/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/dune.2.8.4/opam -------------------------------------------------------------------------------- /esy.lock/opam/easy-format.1.3.2/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/easy-format.1.3.2/opam -------------------------------------------------------------------------------- /esy.lock/opam/fix.20201120/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/fix.20201120/opam -------------------------------------------------------------------------------- /esy.lock/opam/junit.2.0.2/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/junit.2.0.2/opam -------------------------------------------------------------------------------- /esy.lock/opam/menhir.20210419/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/menhir.20210419/opam -------------------------------------------------------------------------------- /esy.lock/opam/menhirLib.20210419/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/menhirLib.20210419/opam -------------------------------------------------------------------------------- /esy.lock/opam/menhirSdk.20210419/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/menhirSdk.20210419/opam -------------------------------------------------------------------------------- /esy.lock/opam/merlin-extend.0.6/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/merlin-extend.0.6/opam -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-compiler-libs.v0.12.3/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ocaml-compiler-libs.v0.12.3/opam -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-lsp-server.1.4.1/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ocaml-lsp-server.1.4.1/opam -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-migrate-parsetree.2.1.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ocaml-migrate-parsetree.2.1.0/opam -------------------------------------------------------------------------------- /esy.lock/opam/ocamlbuild.0.14.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ocamlbuild.0.14.0/opam -------------------------------------------------------------------------------- /esy.lock/opam/ocamlfind.1.9.1/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ocamlfind.1.9.1/opam -------------------------------------------------------------------------------- /esy.lock/opam/ppx_derivers.1.2.1/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ppx_derivers.1.2.1/opam -------------------------------------------------------------------------------- /esy.lock/opam/ppx_yojson_conv_lib.v0.14.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ppx_yojson_conv_lib.v0.14.0/opam -------------------------------------------------------------------------------- /esy.lock/opam/ppxlib.0.22.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ppxlib.0.22.0/opam -------------------------------------------------------------------------------- /esy.lock/opam/ptime.0.8.5/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/ptime.0.8.5/opam -------------------------------------------------------------------------------- /esy.lock/opam/re.1.9.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/re.1.9.0/opam -------------------------------------------------------------------------------- /esy.lock/opam/result.1.5/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/result.1.5/opam -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/seq.base/files/META.seq -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/seq.base/files/seq.install -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/seq.base/opam -------------------------------------------------------------------------------- /esy.lock/opam/sexplib0.v0.14.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/sexplib0.v0.14.0/opam -------------------------------------------------------------------------------- /esy.lock/opam/stdlib-shims.0.3.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/stdlib-shims.0.3.0/opam -------------------------------------------------------------------------------- /esy.lock/opam/topkg.1.0.3/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/topkg.1.0.3/opam -------------------------------------------------------------------------------- /esy.lock/opam/tyxml.4.5.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/tyxml.4.5.0/opam -------------------------------------------------------------------------------- /esy.lock/opam/uchar.0.0.2/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/uchar.0.0.2/opam -------------------------------------------------------------------------------- /esy.lock/opam/uutf.1.0.2/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/uutf.1.0.2/opam -------------------------------------------------------------------------------- /esy.lock/opam/yojson.1.7.0/opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/opam/yojson.1.7.0/opam -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.1_opam_override/files/findlib-1.9.1.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.1_opam_override/files/findlib-1.9.1.patch -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.1_opam_override/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.1_opam_override/package.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/package.json -------------------------------------------------------------------------------- /scripts/release.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/scripts/release.sh -------------------------------------------------------------------------------- /src/Ppx.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/src/Ppx.re -------------------------------------------------------------------------------- /src/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/src/dune -------------------------------------------------------------------------------- /test/ConditionalHooks.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/ConditionalHooks.expected -------------------------------------------------------------------------------- /test/ConditionalHooks.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/ConditionalHooks.re -------------------------------------------------------------------------------- /test/ExhaustiveDepsUseEffect.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/ExhaustiveDepsUseEffect.expected -------------------------------------------------------------------------------- /test/ExhaustiveDepsUseEffect.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/ExhaustiveDepsUseEffect.re -------------------------------------------------------------------------------- /test/HooksAtTheTopLevel.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/HooksAtTheTopLevel.expected -------------------------------------------------------------------------------- /test/HooksAtTheTopLevel.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/HooksAtTheTopLevel.re -------------------------------------------------------------------------------- /test/HooksAtTheTopLevel2.expected: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/HooksAtTheTopLevel2.expected -------------------------------------------------------------------------------- /test/HooksAtTheTopLevel2.re: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/HooksAtTheTopLevel2.re -------------------------------------------------------------------------------- /test/dune: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ml-in-barcelona/react-rules-of-hooks-ppx/HEAD/test/dune --------------------------------------------------------------------------------