Comments (15)
Yeah, sounds reasonable. Perhaps some -L, --legacy
switch à la nodemon.
from react-native-version.
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.
@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.
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.
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.
We could actually pull out agvtool
altogether and get rid of #15.
from react-native-version.
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.
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.
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.
any update on this? Thanks.
from react-native-version.
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.
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.
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.
@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.
@allyburns I'm actually just finalizing the work right now. Should be released momentarily.
from react-native-version.
Related Issues (20)
- increse buildNumber on hot reload HOT 1
- Just to verify: there is NO option to NOT let the tool commit into git? HOT 2
- increase with widget targers version
- Command failed with exit code 127
- Support for multiple info plist files?
- npm version [major/minor/patch] is not updating all the files
- I don't want to increase verssion on all Project HOT 2
- fatal: No names found, cannot describe anything. HOT 1
- SUPPORT
- Support iOS Extensions target HOT 2
- Cannot increase only build number
- Change version for a specific IOS target
- Rely on an argument for expo and react-native projects
- versionName and CFBundleShortVersionString dont output the expected inputs
- Fails when xCode has more targets (multiple Info.plis)
- What's an alternative to this package? HOT 2
- Need monorepo support
- How can I also customize updating files to add for example updating OneSignal version and build Id ?
- Add --skip-expo option to skip Expo versioning even if detected HOT 1
- SyntaxError: Expected "\"", "\\'", "\\\"", "\\n", or [^\\"] but "\\" found. HOT 7
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 react-native-version.