Giter Site home page Giter Site logo

Comments (15)

stovmascript avatar stovmascript commented on May 5, 2024 2

Yeah, sounds reasonable. Perhaps some -L, --legacy switch à la nodemon.

from react-native-version.

ujwal-setlur avatar ujwal-setlur commented on May 5, 2024 2

Hey @stovmascript, thanks! In the meantime, I wrote a tiny CLI utility jsplist to manipulate plist files. Not sure if this will be useful for you here, but you are welcome to look at it.

https://github.com/ujwal-setlur/jsplist/blob/master/README.md

from react-native-version.

stovmascript avatar stovmascript commented on May 5, 2024 2

@raphaelvigee @ujwal-setlur @allyburns Alright guys, new version (2.4.0) is out now on npm, free of the macOS/Xcode dependency by default.

If you're on a Mac and need or want to use the native agvtool method, add the -L, --legacy option to your command.

from react-native-version.

stovmascript avatar stovmascript commented on May 5, 2024 1

So I started working on it. Xcode parsing is done. Now working on updating plists, which is the easy part. Unfortunately, all of the plist parsing utils out there right now can't pretty print the file back out with a custom or original indentation, which makes for bad diffs.

from react-native-version.

stovmascript avatar stovmascript commented on May 5, 2024

I considered using node-xcode or a plist parser at the start of the project, but in the end opted for agvtool so I could plow through and because it takes care of everything (multiple project files and plists) with one command.

Seeing as it's needed now, it would be appropriate to take a look at it again and free us from the macOS dependency.

Only problem is that I'll be free to work on this in mid-June. So in the meantime, I'll accept a PR, if you want to take a stab at it @raphaelvigee. That would be great.

from react-native-version.

stovmascript avatar stovmascript commented on May 5, 2024

We could actually pull out agvtool altogether and get rid of #15.

from react-native-version.

raphaelvigee avatar raphaelvigee commented on May 5, 2024

I have a busy schedule at the moment, I'll try to give it a try.

Do you consider dropping completly the xcode dependency or adding a fallback ?

from react-native-version.

stovmascript avatar stovmascript commented on May 5, 2024

I think that if we recreate the behaviour we have right now with agvtool, we will cover more platforms including macOS, so I don't think a fallback would be needed. There's also some checks for the Xcode CLI tools, which could then be removed.

The only downside is that as Xcode and React Native evolve, we might have to adjust things more than just updating the docs to account for some new thing that RN or Xcode require.

from react-native-version.

raphaelvigee avatar raphaelvigee commented on May 5, 2024

Yes of course, some maintenance work would be necessary, that's why I was thinking about keeping the xcode behavior and giving the user a choice

from react-native-version.

ujwal-setlur avatar ujwal-setlur commented on May 5, 2024

any update on this? Thanks.

from react-native-version.

stovmascript avatar stovmascript commented on May 5, 2024

Hey @ujwal-setlur, I've been swamped recently, but might be able to squeeze some time in this weekend and finally start working on it.

from react-native-version.

ujwal-setlur avatar ujwal-setlur commented on May 5, 2024

I would imagine most of it would be whitespaces, right? Most diff utils can handle that with the appropriate flag, I would think. Or some combination of diff and tr.

from react-native-version.

stovmascript avatar stovmascript commented on May 5, 2024

The plists RN comes with are indented with tabs, same indentation done by plutil of the Xcode toolchain. On top of that it doesn't indent the first <dict> tag. I know it's a detail, but when doing manual upgrades of RN, it's a pain to notice changes in a simple git diff when the indentation keeps changing.

from react-native-version.

allyburns avatar allyburns commented on May 5, 2024

@stovmascript - Thank you for working on a version that doesn't rely on OSX only tools. I just discovered this package today and want to add it to our workflow, which will be possible once you finish cracking this Issue, thanks for finding the time.

from react-native-version.

stovmascript avatar stovmascript commented on May 5, 2024

@allyburns I'm actually just finalizing the work right now. Should be released momentarily.

from react-native-version.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.