Comments (9)
Hey @xtian, thanks for starting the discussion. I don't think I can commit to eliminating unused imports because it would increase the complexity of the code quite a bit. There may be some low hanging fruit to reduce a few cases but I don't think that eliminating them entirely is something that is likely to happen. The tradeoff of the code being more bug-prone and difficult to maintain would be a hard one to make.
Is there a reason that this important for you/your team? Could you elaborate a little on what your use case is for this? Do you use it in your CI build as a sort of linting process and fail if there are warnings?
from elm-graphql.
And of course if there were some nice automated tool to remove these I would gladly run it after the code generation, but unfortunately elm-format doesn't provide a flag or anything to do this (it was discussed briefly in avh4/elm-format#135). And I haven't seen any other tools to do this (besides some tools for the Atom editor).
from elm-graphql.
Is there a reason that this important for you/your team? Could you elaborate a little on what your use case is for this? Do you use it in your CI build as a sort of linting process and fail if there are warnings?
We do have a CI check for unused imports, but we exclude the Api.*
modules from it. This is mainly a development inconvenience since on a clean build the terminal is filled with several screens-worth of warnings from the generated modules. Ideally we would only see warnings from non-generated code so we could fix them.
from elm-graphql.
@xtian how do you exclude Api.*
from the CI check? Could something similar be used for the dev environments? If it were me I would be using the exact same script on both to make sure that things are good in dev before I push.
from elm-graphql.
@dillonkearns No, the warnings are from the Elm compiler. As far as I know there's no way to disable warnings there. The tool we use on CI is elm-analyse which has a config for ignored file paths.
from elm-graphql.
Ah, okay gotcha, thanks for clarifying. Again I don't think I can commit to this as the tradeoff for code maintainability and complexity would be pretty serious and there are some other higher priorities, but I will certainly keep this in mind.
from elm-graphql.
Cool, thanks! Also, the idea of doing this as a second pass in some tool is interesting. I may look into implementing that.
from elm-graphql.
Yeah, that would definitely be ideal if some tool took care of it.
from elm-graphql.
If it's alright with you @xtian, I'll close this issue for now. I'll keep this in mind though and I'm more than happy to revisit this later.
from elm-graphql.
Related Issues (20)
- Enhancement - Add support for Dgraph HOT 1
- non null list of non null list ofโฆ HOT 6
- Include an exhaustive query for each type HOT 3
- elm-graphql generation fails if there are no columns selected (Hasura) HOT 6
- Add operationName to mutation request body HOT 1
- Enum with underscore as a leading character, changed after generating elm code. HOT 1
- Scalar decoder fails when the field contains an object. HOT 1
- Scalars should not be encoded as json in mutations HOT 3
- Enforce nonempty list in required list arguments HOT 3
- Selecting implementation attributes from interfaces HOT 2
- Corrupt package data for 5.0.5? HOT 1
- Requesting feedback on the following changes to the serializeChildren function regarding field hashing HOT 2
- Can not find ScalarCodecs HOT 1
- Feature request: Convenience functions for primitive comparisons HOT 3
- Idea: serialize invalid JSON Input Values as arguments
- Missing fragment in Interface `Fragments` type HOT 1
- Idea: include deprecation warnings into the generated code as comments HOT 1
- Building large queries takes a long time and pauses the UI HOT 2
- Encode function for enums is missing HOT 1
- Generate input object helpers HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elm-graphql.