plist 3.1.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +180 -110
  2. package/dist/build-binary.d.ts +6 -0
  3. package/dist/build-binary.d.ts.map +1 -0
  4. package/dist/build-binary.js +284 -0
  5. package/dist/build-binary.js.map +1 -0
  6. package/dist/build.browser.d.ts +16 -0
  7. package/dist/build.browser.d.ts.map +1 -0
  8. package/dist/build.browser.js +101 -0
  9. package/dist/build.browser.js.map +1 -0
  10. package/dist/build.d.ts +16 -0
  11. package/dist/build.d.ts.map +1 -0
  12. package/dist/build.js +94 -0
  13. package/dist/build.js.map +1 -0
  14. package/dist/index.browser.d.ts +7 -0
  15. package/dist/index.browser.d.ts.map +1 -0
  16. package/dist/index.browser.js +6 -0
  17. package/dist/index.browser.js.map +1 -0
  18. package/dist/index.d.ts +7 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +6 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/parse-binary.d.ts +6 -0
  23. package/dist/parse-binary.d.ts.map +1 -0
  24. package/dist/parse-binary.js +130 -0
  25. package/dist/parse-binary.js.map +1 -0
  26. package/dist/parse-openstep.d.ts +6 -0
  27. package/dist/parse-openstep.d.ts.map +1 -0
  28. package/dist/parse-openstep.js +197 -0
  29. package/dist/parse-openstep.js.map +1 -0
  30. package/dist/parse.browser.d.ts +11 -0
  31. package/dist/parse.browser.d.ts.map +1 -0
  32. package/dist/parse.browser.js +208 -0
  33. package/dist/parse.browser.js.map +1 -0
  34. package/dist/parse.d.ts +11 -0
  35. package/dist/parse.d.ts.map +1 -0
  36. package/dist/parse.js +209 -0
  37. package/dist/parse.js.map +1 -0
  38. package/package.json +30 -12
  39. package/.github/workflows/ci.yml +0 -24
  40. package/.jshintrc +0 -4
  41. package/History.md +0 -201
  42. package/Makefile +0 -75
  43. package/dist/plist-build.js +0 -5348
  44. package/dist/plist-parse.js +0 -10709
  45. package/dist/plist.js +0 -15918
  46. package/examples/browser/index.html +0 -14
  47. package/index.js +0 -13
  48. package/lib/build.js +0 -143
  49. package/lib/parse.js +0 -208
package/History.md DELETED
@@ -1,201 +0,0 @@
1
- 3.1.1 / 2026-04-25
2
- ==================
3
- * update xmldom dep
4
-
5
-
6
- 3.1.0 / 2023-07-06
7
- ==================
8
- * replace inlined xmldom with @xmldom/xmldom
9
-
10
-
11
- 3.0.5 / 2022-03-23
12
- ==================
13
- * [[`96e2303d05`]](https://github.com/TooTallNate/plist.js/commit/96e2303d059e6be0c9e0c4773226d14b4758de52) Prototype Pollution using .parse() #114 (mario-canva)
14
- * update browserify from 16 to 17
15
-
16
-
17
- 3.0.4 / 2021-08-27
18
- ==================
19
- * inline xmldom@0.6.0 to eliminate security warning false positive (Mike Reinstein)
20
-
21
-
22
- 3.0.3 / 2021-08-04
23
- ==================
24
- * update xmldom to 0.6.0 to patch critical vulnerability (Mike Reinstein)
25
- * remove flaky saucelabs teseting badge (Mike Reinstein)
26
-
27
-
28
- 3.0.2 / 2021-03-25
29
- ==================
30
- * update xmldom to 0.5.0 to patch critical vulnerability (Mike Reinstein)
31
- * update saucelab credentials to point at mreinstein's saucelabs account (Mike Reinstein)
32
- * remove a bunch of test versions from the matrix because they weren't working in zuul + sauce (Mike Reinstein)
33
-
34
-
35
- 3.0.1 / 2018-03-21
36
- ==================
37
- * avoid using Buffer constructor nodejs/node#19079
38
-
39
-
40
- 3.0.0 / 2018-03-18
41
- ==================
42
- * [[`cb0d8f1bc6`]](https://github.com/TooTallNate/plist.js/commit/cb0d8f1bc60dee423f8fc2cfcac427452dfaddb0) update Makefile, rebuild dist/ (Mike Reinstein)
43
- * [[`9dfeffe73f`]](https://github.com/TooTallNate/plist.js/commit/9dfeffe73fdb447ac5a87ee364a1472975f12adf) remove unsupported browser versions from travis (Mike Reinstein)
44
- * [[`c962bfe1ea`]](https://github.com/TooTallNate/plist.js/commit/c962bfe1ea04dd87966250253d33738bceecab61) update module deps, remove support for node < 6 (Mike Reinstein)
45
-
46
-
47
- 2.1.0 / 2017-05-04
48
- ==================
49
-
50
- * [[`e4f06669bb`]](https://github.com/TooTallNate/plist.js/commit/e4f06669bb51d2e65654df7c39aab52bc3bf4e8a) - update license (extend copyright term) (Mike Reinstein)
51
- * [[`edc6e41035`]](https://github.com/TooTallNate/plist.js/commit/edc6e4103546b1d7518a577e7c202c305a8abec0) - update module deps (Mike Reinstein)
52
- * [[`85d11c48ef`](https://github.com/TooTallNate/plist.js/commit/85d11c48eff02312cbdd67f46fd8e74b0d372ca1)] - Harden test-cases and implementation to align with other implementations (Björn Brauer)
53
- * [[`7619537eaa`]](https://github.com/TooTallNate/plist.js/commit/7619537eaa9e3e5a80829e759c004d2e017a07d2) review feedback: early returns and constants for nodeTypes (Björn Brauer)
54
-
55
-
56
- 2.0.1 / 2016-08-16
57
- ==================
58
-
59
- * [[`de136c8388`](https://github.com/TooTallNate/plist/commit/de136c8388)] - bad npm release… (Nathan Rajlich)
60
-
61
-
62
- 2.0.0 / 2016-08-16
63
- ==================
64
-
65
- * [[`90deef5d43`](https://github.com/TooTallNate/plist/commit/90deef5d43)] - remove deprecated functions (Nathan Rajlich)
66
- * [[`d475cd8ce9`](https://github.com/TooTallNate/plist/commit/d475cd8ce9)] - Added travis ci support for node 6 (Amila Welihinda)
67
- * [[`04c8ee7646`](https://github.com/TooTallNate/plist/commit/04c8ee7646)] - update dependencies (Mitchell Hentges)
68
- * [[`97c02b3f05`](https://github.com/TooTallNate/plist/commit/97c02b3f05)] - **travis**: add `sudo: false` and test more node versions (Nathan Rajlich)
69
- * [[`54c821ec29`](https://github.com/TooTallNate/plist/commit/54c821ec29)] - #71 - fixed and added test (Andrew Goldis)
70
- * [[`4afb7c5079`](https://github.com/TooTallNate/plist/commit/4afb7c5079)] - fix `Cannot read property 'nodeValue' of undefined exception` that is thrown when a `<key></key>` construct appears in plist (Chris Kinsman)
71
- * [[`f360d7d685`](https://github.com/TooTallNate/plist/commit/f360d7d685)] - #66 - fixed empty keys and added tests (Andrew Goldis)
72
- * [[`421c7f26e9`](https://github.com/TooTallNate/plist/commit/421c7f26e9)] - #66 - fixed empty key (Andrew Goldis)
73
- * [[`a88aa4dca7`](https://github.com/TooTallNate/plist/commit/a88aa4dca7)] - add verbose examples (mrzmyr)
74
-
75
-
76
- 1.2.0 / 2015-11-10
77
- ==================
78
-
79
- * package: update "browserify" to v12.0.1
80
- * package: update "zuul" to v3.7.2
81
- * package: update "xmlbuilder" to v4.0.0
82
- * package: update "util-deprecate" to v1.0.2
83
- * package: update "mocha" to v2.3.3
84
- * package: update "base64-js" to v0.0.8
85
- * build: omit undefined values
86
- * travis: add node 4.0 and 4.1 to test matrix
87
-
88
-
89
- 1.1.0 / 2014-08-27
90
- ==================
91
-
92
- * package: update "browserify" to v5.10.1
93
- * package: update "zuul" to v1.10.2
94
- * README: add "Sauce Test Status" build badge
95
- * travis: use new "plistjs" sauce credentials
96
- * travis: set up zuul saucelabs automated testing
97
-
98
-
99
- 1.0.1 / 2014-06-25
100
- ==================
101
-
102
- * add .zuul.yml file for browser testing
103
- * remove Testling stuff
104
- * build: fix global variable `val` leak
105
- * package: use --check-leaks when running mocha tests
106
- * README: update examples to use preferred API
107
- * package: add "browser" keyword
108
-
109
-
110
- 1.0.0 / 2014-05-20
111
- ==================
112
-
113
- * package: remove "android-browser"
114
- * test: add <dict> build() test
115
- * test: re-add the empty string build() test
116
- * test: remove "fixtures" and legacy "tests" dir
117
- * test: add some more build() tests
118
- * test: add a parse() CDATA test
119
- * test: starting on build() tests
120
- * test: more parse() tests
121
- * package: attempt to fix "android-browser" testling
122
- * parse: better <data> with newline handling
123
- * README: add Testling badge
124
- * test: add <data> node tests
125
- * test: add a <date> parse() test
126
- * travis: don't test node v0.6 or v0.8
127
- * test: some more parse() tests
128
- * test: add simple <string> parsing test
129
- * build: add support for an optional "opts" object
130
- * package: test mobile devices
131
- * test: use multiline to inline the XML
132
- * package: beautify
133
- * package: fix "mocha" harness
134
- * package: more testling browsers
135
- * build: add the "version=1.0" attribute
136
- * beginnings of "mocha" tests
137
- * build: more JSDocs
138
- * tests: add test that ensures that empty string conversion works
139
- * build: update "xmlbuilder" to v2.2.1
140
- * parse: ignore comment and cdata nodes
141
- * tests: make the "Newlines" test actually contain a newline
142
- * parse: lint
143
- * test travis
144
- * README: add Travis CI badge
145
- * add .travis.yml file
146
- * build: updated DTD to reflect name change
147
- * parse: return falsey values in an Array plist
148
- * build: fix encoding a typed array in the browser
149
- * build: add support for Typed Arrays and ArrayBuffers
150
- * build: more lint
151
- * build: slight cleanup and optimizations
152
- * build: use .txt() for the "date" value
153
- * parse: always return a Buffer for <data> nodes
154
- * build: don't interpret Strings as base64
155
- * dist: commit prebuilt plist*.js files
156
- * parse: fix typo in deprecate message
157
- * parse: fix parse() return value
158
- * parse: add jsdoc comments for the deprecated APIs
159
- * parse: add `parse()` function
160
- * node, parse: use `util-deprecate` module
161
- * re-implemented parseFile to be asynchronous
162
- * node: fix jsdoc comment
163
- * Makefile: fix "node" require stubbing
164
- * examples: add "browser" example
165
- * package: tweak "main"
166
- * package: remove "engines" field
167
- * Makefile: fix --exclude command for browserify
168
- * package: update "description"
169
- * lib: more styling
170
- * Makefile: add -build.js and -parse.js dist files
171
- * lib: separate out the parse and build logic into their own files
172
- * Makefile: add makefile with browserify build rules
173
- * package: add "browserify" as a dev dependency
174
- * plist: tabs to spaces (again)
175
- * add a .jshintrc file
176
- * LICENSE: update
177
- * node-webkit support
178
- * Ignore tests/ in .npmignore file
179
- * Remove duplicate devDependencies key
180
- * Remove trailing whitespace
181
- * adding recent contributors. Bumping npm package number (patch release)
182
- * Fixed node.js string handling
183
- * bumping version number
184
- * Fixed global variable plist leak
185
- * patch release 0.4.1
186
- * removed temporary debug output file
187
- * flipping the cases for writing data and string elements in build(). removed the 125 length check. Added validation of base64 encoding for data fields when parsing. added unit tests.
188
- * fixed syntax errors in README examples (issue #20)
189
- * added Sync versions of calls. added deprecation warnings for old method calls. updated documentation. If the resulting object from parseStringSync is an array with 1 element, return just the element. If a plist string or file doesnt have a <plist> tag as the document root element, fail noisily (issue #15)
190
- * incrementing package version
191
- * added cross platform base64 encode/decode for data elements (issue #17.) Comments and hygiene.
192
- * refactored the code to use a DOM parser instead of SAX. closes issues #5 and #16
193
- * rolling up package version
194
- * updated base64 detection regexp. updated README. hygiene.
195
- * refactored the build function. Fixes issue #14
196
- * refactored tests. Modified tests from issue #9. thanks @sylvinus
197
- * upgrade xmlbuilder package version. this is why .end() was needed in last commit; breaking change to xmlbuilder lib. :/
198
- * bug fix in build function, forgot to call .end() Refactored tests to use nodeunit
199
- * Implemented support for real, identity tests
200
- * Refactored base64 detection - still sloppy, fixed date building. Passing tests OK.
201
- * Implemented basic plist builder that turns an existing JS object into plist XML. date, real and data types still need to be implemented.
package/Makefile DELETED
@@ -1,75 +0,0 @@
1
-
2
- # get Makefile directory name: http://stackoverflow.com/a/5982798/376773
3
- THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
4
- THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)
5
-
6
- # BIN directory
7
- BIN := $(THIS_DIR)/node_modules/.bin
8
-
9
- # applications
10
- NODE ?= node
11
- NPM ?= $(NODE) $(shell which npm)
12
- BROWSERIFY ?= $(NODE) $(BIN)/browserify
13
- MOCHA ?= $(NODE) $(BIN)/mocha
14
- ZUUL ?= $(NODE) $(BIN)/zuul
15
-
16
- REPORTER ?= spec
17
-
18
- all: dist/plist.js dist/plist-build.js dist/plist-parse.js
19
-
20
- install: node_modules
21
-
22
- clean:
23
- @rm -rf node_modules dist
24
-
25
- dist:
26
- @mkdir -p $@
27
-
28
- dist/plist-build.js: node_modules lib/build.js dist
29
- @$(BROWSERIFY) \
30
- --standalone plist \
31
- lib/build.js > $@
32
-
33
- dist/plist-parse.js: node_modules lib/parse.js dist
34
- @$(BROWSERIFY) \
35
- --standalone plist \
36
- lib/parse.js > $@
37
-
38
- dist/plist.js: node_modules lib/*.js dist
39
- @$(BROWSERIFY) \
40
- --standalone plist \
41
- index.js > $@
42
-
43
- node_modules: package.json
44
- @NODE_ENV= $(NPM) install
45
- @touch node_modules
46
-
47
- test:
48
- @if [ "x$(BROWSER_NAME)" = "x" ]; then \
49
- $(MAKE) test-node; \
50
- else \
51
- $(MAKE) test-zuul; \
52
- fi
53
-
54
- test-node:
55
- @$(MOCHA) \
56
- --reporter $(REPORTER) \
57
- test/*.js
58
-
59
- test-zuul:
60
- @if [ "x$(BROWSER_PLATFORM)" = "x" ]; then \
61
- $(ZUUL) \
62
- --ui mocha-bdd \
63
- --browser-name $(BROWSER_NAME) \
64
- --browser-version $(BROWSER_VERSION) \
65
- test/*.js; \
66
- else \
67
- $(ZUUL) \
68
- --ui mocha-bdd \
69
- --browser-name $(BROWSER_NAME) \
70
- --browser-version $(BROWSER_VERSION) \
71
- --browser-platform "$(BROWSER_PLATFORM)" \
72
- test/*.js; \
73
- fi
74
-
75
- .PHONY: all install clean test test-node test-zuul