Skip to content

gregsadetsky/i-just-want-to-see-the-plist

Repository files navigation

I just want to see the .plist

micro project to easily convert binary .plist files into json objects. See and use the project here!!

but why

  • some .plist files are xml, but kinda annoying and verbose. that's kinda fine.
  • some .plist files are binary, which is not fun because you can't see inside of them
  • you could run plutil -convert json Data.plist but then that will overwrite the original (??) so then you need to run plutil -convert json -o Data.json Data.plist and I'm not going to remember that.
  • I think it's completely reasonable to make tools for yourself that may be useful to you in the future, and also for these tools to maybe be useful to others. it's not the tool, it's the journey?? but it's also the tool.
  • also I would noooooot want to use a tool that uploads my .plist files to their server and converts them there..?!?! so yeah, this is all-browser-based-only. browsers are honestly so great.
  • also double clicking a .plist file opens xcode, wtf seriously

install

npm install # npm i
npm run dev

build & publish it

npm run build , then git add, commit, push

  • this tool is deployed to github pages

TODO/future

  • ability to drop multiple files
  • detect xml format plist and json'ify them too
  • probably move to react because this immediately became an intractable mess
  • support emojis/unicode..?? this file won't convert correctly right now..! there's actually a bunch that won't convert -- something wrong with the JS code?? improve it? look at other JS implementations? publish a new JS implementation that better supports binary plists????
  • copy to json immediately after file drop? doesn't seem possible because the document is not the focus and that provokes a security error?
  • show the (formatted) json? or a preview?
  • have an easy way to do it again without having to reload the page

credits

the browser-based javascript bplist conversion code was taken from here. it seems to have a lineage! (see credits at the top of the file/gist)

huh

this was done as part of residency at Recurse Center