[{"name":"NoInternalImports","comment":"\n\n@docs rule\n\n","unions":[],"aliases":[],"values":[{"name":"rule","comment":" Reports boundary violations for projects with vendored code.\n\n    config =\n        [ NoInternalImports.rule []\n        ]\n\nYou must pass as parameter all the `source-directories` that are _outside_ your project's root (that is, the ones that start with `..` or `/`).\n\nPackage boundaries are automatically detected by searching for `elm.json` files one level up from the directories ending with `/src`.\n\nThe packages don't need to be published, so you can separate a larger app into \"packages\" by simply creating the necessary `elm.json` files. The rule extracts the exposed modules from there and prevents importing of anything else.\n\n\n## Fail\n\nAssuming you are vendoring `elm-ui`, the rule will detect an import such as:\n\n    import Element.Internal\n\n\n## When (not) to enable this rule\n\nThis rule is useful when you are vendoring a dependency but still want to make sure to only use the external API.\n\nThis rule is not useful when you vendored it to explicitly access the internals. In that case you can simply remove the package's `elm.json` file, and the rule will stop considering it a separate package.\n\n\n## Try it out\n\nYou can try this rule out by running the following command:\n\n```bash\nelm-review --template miniBill/elm-review-no-internal-imports --rules NoInternalImports\n```\n\n","type":"List.List String.String -> Review.Rule.Rule"}],"binops":[]}]