airbnb / react-sketchapp

render React components to Sketch āš›ļøšŸ’Ž
http://airbnb.io/react-sketchapp/
MIT License
14.94k stars 820 forks source link

Automate generation of eslint globals & flow definitions #313

Closed jaridmargolin closed 5 years ago

jaridmargolin commented 6 years ago

This may not be deemed high priority, but it feels like there is unnecessary friction in managing both the eslint globals and flow definitions. I have a few questions that I believe would need to be answered in order to move forward:

skpm/eslint-config-sketch vs @jongold/eslint-config-sketch

What are the advantages of using one over the other? Was work just being done in parallel or are there intentional differences between the two?

I do notice that @jongold/eslint-config-sketch includes a few non-sketch globals.

What would need to be done in order to converge on a single lib?

Non-sketch globals: react-sketchapp vs @jongold/eslint-config-sketch

Is there any rule of thumb of when to add globals directly in react-sketchapp/.eslintrc vs when to add rules within @jongold/eslint-config-sketch?

I think it would make more sense to manage all of these "non-sketch" globals in a single location.

Can we automate creation of non-sketch globals?

It looks like all additional globals are coming from MacOS libs (with the exception of context and log which I believe are skpm specific?). Can we get these values automatically by utilizing classdump (similar to what is done in sketch-headers)?

Can we automate creation of flow definitions?

Similar to the automation techniques used for generating eslint-config... can we dynamically create flow definitions from sketch-headers?


@mathieudutour @jongold

jemgold commented 6 years ago

Feel free to deprecate my config. I think it has a lot of legacy cocoascript stuff that we don't need anymore!

On Thu, May 3, 2018, 3:20 PM Jarid Margolin notifications@github.com wrote:

This may not be deemed high priority, but it feels like there is unnecessary friction in managing both the eslint globals and flow definitions. I have a few questions that I believe would need to be answered in order to move forward: skpm/eslint-config-sketch vs @jongold/eslint-config-sketch

What are the advantages of using one over the other? Was work just being done in parallel or are there intentional differences between the two?

I do notice that @jongold/eslint-config-sketch includes a few non-sketch globals https://github.com/jongold/eslint-config-sketch/blob/master/nonSketchGlobals.js .

What would need to be done in order to converge on a single lib? Non-sketch globals: react-sketchapp vs @jongold/eslint-config-sketch

Is there any rule of thumb of when to add globals directly in react-sketchapp/.eslintrc vs when to add rules within @jongold/eslint-config-sketch?

I think it would make more sense to manage all of these "non-sketch" globals in a single location. Can we automate creation of non-sketch globals?

It looks like all additional globals are coming from MacOS libs (with the exception of context and log which I believe are skpm specific?). Can we get these values automatically by utilizing classdump (similar to what is done in sketch-headers https://github.com/skpm/sketch-headers)? Can we automate creation of flow definitions?

Similar to the automation techniques used for generating eslint-config... can we dynamically create flow definitions from sketch-headers https://github.com/skpm/sketch-headers?

@mathieudutour https://github.com/mathieudutour @jongold https://github.com/jongold

ā€” You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/airbnb/react-sketchapp/issues/313, or mute the thread https://github.com/notifications/unsubscribe-auth/AAkHGyZlAfYycSLwVJ-_3VHKZ225knPnks5tu4K2gaJpZM4Tx3uc .

mathieudutour commented 6 years ago

IIRC there is already a eslint config on the skpm org that is auto-generated. It should be just a matter of switching the dependencies

Can we automate creation of flow definitions?

That's possible indeed. There has been an attempt to generate typescript definitions from the sketch-headers but it never got to a point where it could be really used