Raphael von der Grün [Thu, 9 Jan 2020 22:23:39 +0000 (23:23 +0100)]
refactor(PluginInfo): cleanup & simplify (#132)
* refactor: PluginInfo
* _getTags: simplify
* _getTagsInPlatform: support a list of platforms
* getPodSpecs: remove useless undefined value filtering
* getPodSpecs: further improve formatting
* getPreferences: simplify
* getHookScripts: simplify
* getFrameworks: only determine vars once
* getFrameworks: improve readability
* ctor: improve
* ctor: better var name for root elem
* destructure xml-helpers
* inline addCordova helper
* apply lebab.destruct-params
* convert comments to JSDocs
* remove outdated TODO; sync is faster
* map tags explicitly
* make _getTags* private methods
Co-authored-by: エリス <erisu@users.noreply.github.com>
Raphael von der Grün [Wed, 8 Jan 2020 12:05:04 +0000 (13:05 +0100)]
refactor(misc): cleanup & simplify (#131)
* refactor: PlatformJson
* refactor: CordovaCheck
* refactor(plist-helpers): rename underscore variable
* refactor(plist-helpers): rename pruneOBJECT function
* refactor(plist-helpers): formatting
* refactor(CordovaCheck): simplify isCordova w/ pwd
* refactor(plist-helpers): simplify array merge
* refactor(plist-helpers): simplify dict merge
* refactor(PlatformJson): use readJsonSync
Co-authored-by: エリス <erisu@users.noreply.github.com>
Raphael von der Grün [Wed, 8 Jan 2020 09:45:10 +0000 (10:45 +0100)]
refactor(ConfigChanges): simplify (#130)
* refactor: ConfigChanges
* refactor: ConfigFile
* test(ConfigChanges): organize imports and constants
* refactor(ConfigChanges): reduce var scope
* refactor(ConfigChanges): remove unused statement
* refactor(ConfigChanges): simplify after removing useless statement
* refactor(ConfigChanges): drop useless if
* refactor(ConfigChanges): take method from variable
* refactor(ConfigFile): make use of Array#find
* refactor(ConfigFile): prefer cwd opt for glob
* refactor(ConfigFile): simplify return logic
* refactor(ConfigFile): use read-chunk in isBinaryPlist
* refactor: ConfigKeeper
* refactor(ConfigKeeper): use Map as cache
* refactor(ConfigKeeper): apply standard caching pattern
Co-authored-by: エリス <erisu@users.noreply.github.com>
Raphael von der Grün [Mon, 6 Jan 2020 17:14:46 +0000 (18:14 +0100)]
refactor(xml-helpers): DRY & simplify (#128)
* refactor: xml-helpers
* DRY graftXML{Merge,Overwrite}
* Simplify graftXMLAttrs
* Simplify graftXML
* Simplify parseElementtreeSync
* Simplify removeDuplicatePreferences
* Better mergeXml
* Vastly simplify resolveParent
* Improve findInsertIdx formatting
* Simplify attribMatch
* Simplify equalNodes
* Simplify mergeChild
* Simplify pruneXMLRemove
* Simplify pruneXML
Co-authored-by: エリス <erisu@users.noreply.github.com>
Raphael von der Grün [Mon, 6 Jan 2020 15:14:07 +0000 (16:14 +0100)]
fix: broken lock file from #95 (#129)
This regenerates `package-lock.json` from scratch as the file that was committed
in #95 did not match the dependencies from `package.json`.
Raphael von der Grün [Mon, 6 Jan 2020 14:30:06 +0000 (15:30 +0100)]
refactor(munge-util): DRY & simplify (#127)
* remove unused process_munge export
* DRY {increment,decrement}_munge
* refactor: munge-util
* replace _ with modern JS
- replace underscore find methods
- use Object.assign instead of _.extend
The fact that we are now only cloning own properties should be OK since
`oldAttributes` should be a plain object
* improve variable names
* simplify mungeItems
* simplify deep_remove
* refactor process_munge to processArgs & getElements
We simplify getElements since it's always called with a top-level munge
* add JSDocs & type checking
Co-authored-by: エリス <erisu@users.noreply.github.com>
Darryl Pogue [Sun, 5 Jan 2020 12:19:44 +0000 (04:19 -0800)]
TEST: Test using GitHub workflows for CI (#95)
* Test using GitHub workflows for CI
* Commit package-lock for CI runs
Raphael von der Grün [Fri, 20 Dec 2019 11:59:11 +0000 (12:59 +0100)]
test(ConfigFile): group & cleanup tests (#125)
* group tests in describe
* remove unused beforeEach
* reduce variable scope
* Make test titles unique
Co-Authored-By: エリス <erisu@users.noreply.github.com>
Raphael von der Grün [Fri, 20 Dec 2019 00:59:09 +0000 (01:59 +0100)]
chore!: remove main export mungeUtil (#126)
Removes `mungeUtil` from the list of modules that are exported by
`cordova-common`. It was documented as _internal_ and we did not use it in any
of our repos.
Raphael von der Grün [Wed, 18 Dec 2019 11:45:19 +0000 (12:45 +0100)]
refactor: FileUpdater (#123)
* add missing changes from "refactor: FileUpdater"
* remove unnecessary OR expression
* remove unnecessary parent dir creation
* DRY logging function default
* test: get rid of now-obsolete nullLogger arguments
* simplify building sourceMaps in mergeAndUpdateDir
* simplify OR over all update indicators
* use fast-glob for file globbing
Until now we used our own glob implementation based on minimatch.
The only difference to the old implementation is, that not every parent
directory of a matched file is included in the result. However, since do
not pass the dirMaps out of this module and any missing dirs will be
created by fs-extra, that should be an advantage, if anything.
* Simplify mergePathMaps
* DRY file copying code
* Handle removals early & flatten logic
* Always show verbose log
* DRY file copying code further
* Improve comments
* Handle special files early & simplify
* Flatten logic
* Normalize dirMap keys to pass tests on Windows
Raphael von der Grün [Sun, 15 Dec 2019 21:18:09 +0000 (22:18 +0100)]
refactor: use ES6 classes where applicable (#119)
* chore(ConfigParser): move private helpers to bottom
* chore(PluginInfo): move ctor logic to top
* refactor(PluginInfo): drop useless intermediate vars
* refactor(PluginInfo): inline _parse* helpers
* refactor: use ES6 classes where applicable
* docs: remove obsolete JSDoc tags
Raphael von der Grün [Sun, 15 Dec 2019 20:50:48 +0000 (21:50 +0100)]
refactor: use template strings where applicable (#118)
Applied `lebab --replace src --transform template` to the code and made some
minor adjustments.
Raphael von der Grün [Sun, 15 Dec 2019 20:46:25 +0000 (21:46 +0100)]
refactor: use property shorthand notation (#116)
Applied `lebab --replace src --transform obj-shorthand` to the code.
Raphael von der Grün [Sun, 15 Dec 2019 20:41:18 +0000 (21:41 +0100)]
refactor: transform var to let/const (#115)
Applied `lebab --replace src --transform let` to the code with minimal manual
changes afterwards.
Raphael von der Grün [Sat, 14 Dec 2019 01:58:13 +0000 (02:58 +0100)]
refactor: do not alias `this` (#114)
After having switched to arrow functions everywhere in #113, this commit now
replaces all `this` aliases with lexical `this`.
Raphael von der Grün [Fri, 13 Dec 2019 11:55:38 +0000 (12:55 +0100)]
refactor: use arrow functions where applicable (#113)
This commit makes use of arrow function expressions wherever applicable. Focus
is put on minimizing the diff instead of optimizing or formatting the code
touched by this commit.
Raphael von der Grün [Fri, 13 Dec 2019 10:43:25 +0000 (11:43 +0100)]
refactor: move CordovaError module up (#120)
Moves the `CordovaError` module from `src/CordovaError/CordovaError.js` to `src/CordovaError.js`. The additional nesting makes no sense anymore since `src/CordovaError/CordovaExternalToolErrorContext.js` has been removed in #117.
Raphael von der Grün [Thu, 12 Dec 2019 21:43:49 +0000 (22:43 +0100)]
refactor(CordovaError)!: remove unused features (#117)
* Remove CordovaExternalToolErrorContext
* Remove unused CordovaError.UNKNOWN_ERROR
* Remove unused verbose mode
* Remove unused getErrorCodeName
* Remove unused support for error codes
* Fix JavaDocs
Raphael von der Grün [Wed, 27 Nov 2019 20:12:58 +0000 (21:12 +0100)]
chore: remove support for ubuntu platform (#111)
エリス [Wed, 27 Nov 2019 12:22:42 +0000 (21:22 +0900)]
chore: consolidate eslint configs (#109)
Raphael von der Grün [Sun, 24 Nov 2019 10:19:26 +0000 (11:19 +0100)]
style: drop jasmine env workaround (#108)
ESLint 6.7.0 has just been released and it contains the latest globals
for the jasmine environment. Thus we do not have to add them ourselves.
エリス [Fri, 15 Nov 2019 02:08:57 +0000 (11:08 +0900)]
refactor: eslint setup (#105)
* replace dependencies with @cordova/eslint-config
* update eslint config
* eslint corrections
* chore: fix newline
* chore: re-add no-unused-vars after-used error
* chore: corrected no-unused-vars settings
Raphael von der Grün [Mon, 11 Nov 2019 12:38:15 +0000 (13:38 +0100)]
test: always run code coverage during `npm test` (#107)
Raphael von der Grün [Mon, 11 Nov 2019 12:37:54 +0000 (13:37 +0100)]
ci(travis): run codecov using npx in after_success (#106)
エリス [Sun, 10 Nov 2019 23:41:50 +0000 (08:41 +0900)]
chore: bump production dependencies (#103)
エリス [Sun, 10 Nov 2019 23:41:10 +0000 (08:41 +0900)]
chore: update jasmine dependencies & config (#101)
エリス [Sun, 10 Nov 2019 23:22:16 +0000 (08:22 +0900)]
chore: replace instanbul w/ nyc (#100)
エリス [Sun, 10 Nov 2019 23:06:14 +0000 (08:06 +0900)]
chore: drop unused & unneeded dependencies (#102)
* chore: drop promise-matchers dependency
* chore: drop osenv dependency
* chore: drop dependency which
エリス [Sun, 10 Nov 2019 23:04:06 +0000 (08:04 +0900)]
chore: improve npm ignore list (#104)
Drop From Package
* all dot file and folders with .* (.github, .travis.yml, .eslintrc.yml, etc...)
* .github/
* .travis.yml
* .eslintrc.yml
* .eslintignore
* .ratignore
* appveyor.yml
== PACKAGE REPORT ==
* BEFORE
npm notice package size: 41.5 kB
npm notice unpacked size: 179.4 kB
npm notice total files: 34
* AFTER
npm notice package size: 39.1 kB
npm notice unpacked size: 173.8 kB
npm notice total files: 24
Raphael von der Grün [Thu, 7 Nov 2019 16:06:45 +0000 (17:06 +0100)]
feat: Replace addProperty with ES6 getters (#96)
* Replace addProperty with ES6 getters in main module
This allows static code analysis tools to better understand the module
dependencies. For example, you can use VS Code's code navigation feature
to jump to the module definition.
There's a slight difference in implementation, as the getters installed
by addProperty would only call `require` on first invocation and then
replace themselves with the actual module. But since require does
caching itself, I don't see how that would make a big difference in
terms of runtime.
* Replace addProperty with ES6 getters in ConfigFile
* Remove private module util/addProperty
Raphael von der Grün [Thu, 7 Nov 2019 16:05:55 +0000 (17:05 +0100)]
fix: PluginInfoProvider for scoped plugins (#94)
* fix: PluginInfoProvider for scoped plugins
* Add test for PluginInfoProvider /w scoped plugin
* Normalize paths to use backslash on Windows
Chris Brody [Thu, 7 Nov 2019 16:05:04 +0000 (11:05 -0500)]
chore: update strip-bom@4 (#71)
エリス [Wed, 6 Nov 2019 06:51:01 +0000 (15:51 +0900)]
chore: drop node 6 and 8 support (#90)
Raphael von der Grün [Mon, 4 Nov 2019 14:28:52 +0000 (15:28 +0100)]
Use Array.prototype.find in CordovaError (#97)
Erisu [Mon, 28 Oct 2019 09:07:16 +0000 (18:07 +0900)]
Increment package version to 4.0.0-dev
Erisu [Mon, 28 Oct 2019 08:26:16 +0000 (17:26 +0900)]
Update version & RELEASENOTES.md for 3.2.1
Raphael von der Grün [Thu, 24 Oct 2019 11:33:53 +0000 (13:33 +0200)]
Re-apply fix for failing CordovaError test (#93)
This fix was first introduced in #65 and reverted by #89
Fixes #49
Raphael von der Grün [Thu, 24 Oct 2019 09:51:12 +0000 (11:51 +0200)]
Remove obsolete JSHint comments (#92)
Raphael von der Grün [Thu, 10 Oct 2019 14:57:43 +0000 (16:57 +0200)]
Convert CordovaError to ES6 class (#87)
holyhoehle [Mon, 9 Sep 2019 02:53:59 +0000 (04:53 +0200)]
(windows) Add .jsproj as file extension for XML files (#62) (#78)
Fixes #62
エリス [Wed, 21 Aug 2019 03:23:12 +0000 (12:23 +0900)]
revert: #24 CB-14108: fix incorrect count in config_munge (#89)
* Revert "CB-14108: fix incorrect count in config_munge in ios.json and android.json"
This reverts commit
ce3801a184d34cc4c3ea08aeecd159227c6ae9e9.
* chore: eslint object-curly-spacing fix
* add CordovaError spec
* chore: fix eslint warnings for CordovaError spec
* fix CordovaError spec test
* chore: added additional AS project path check
Chris Brody [Fri, 19 Jul 2019 12:26:35 +0000 (08:26 -0400)]
Merge pull request #82 from brodybits/general-cleanup-with-eslint-update
General cleanup with eslint updates
Christopher J. Brody [Thu, 18 Jul 2019 23:23:58 +0000 (19:23 -0400)]
eslint cleanup fixes for: padded-blocks
and remove padded-blocks exception from .eslintrc.yml
with src & spec fixed by the following command:
npm run eslint -- --fix
Christopher J. Brody [Thu, 18 Jul 2019 23:15:23 +0000 (19:15 -0400)]
(semi)standard eslint updates
- eslint-config-semistandard@14
- eslint-config-standard@13
with src & spec fixed by the following command:
npm run eslint -- --fix
Christopher J. Brody [Thu, 18 Jul 2019 23:07:14 +0000 (19:07 -0400)]
eslint cleanup fix for: no-prototype-builtins
as needed for the upcoming (semi)standard eslint package updates
Co-authored-by: Raphael von der Grün <raphinesse@gmail.com>
Co-authored-by: Christopher J. Brody <chris@brody.consulting>
Chris Brody [Thu, 18 Jul 2019 22:47:30 +0000 (18:47 -0400)]
eslint cleanup fixes: operator-linebreak (#86)
- remove operator-linebreak exception from .eslintrc.yml
- reformat ternary expresssions according to (semi)standard
- reformat error message expressions according to (semi)standard
as done by the following command, with no operator-linebreak
exception enabled:
npm run eslint -- --fix
Chris Brody [Thu, 18 Jul 2019 21:17:10 +0000 (17:17 -0400)]
remove no-throw-literal lint exception not needed (#81)
Raphael von der Grün [Thu, 18 Jul 2019 10:22:34 +0000 (12:22 +0200)]
Fix ESLint violations where applicable (#83)
Fixes most ESLint violations that were masked by ESLint comments. Two instances still remain. One is an acceptable usage of `eval` and is in `CordovaError` that should be fixed by its own commit.
Raphael von der Grün [Tue, 18 Jun 2019 09:04:37 +0000 (11:04 +0200)]
Update to jasmine 3.4 & fix resulting spec failures (#80)
Raphael von der Grün [Tue, 18 Jun 2019 02:50:05 +0000 (04:50 +0200)]
Promise handling cleanup in specs (#79)
* Proper expected rejection check in ActionStack spec
* Clean up Promise handling in PluginManager spec
* Remove usage of jasmine's done in sync specs
* Clean up Promise handling in superspawn spec
Chris Brody [Fri, 14 Jun 2019 15:06:17 +0000 (11:06 -0400)]
Do not ignore AppVeyor failures on Node.js 12 (#77)
Christopher J. Brody [Wed, 12 Jun 2019 08:52:40 +0000 (04:52 -0400)]
Increment package version to 3.2.1-dev
Christopher J. Brody [Wed, 12 Jun 2019 07:23:45 +0000 (03:23 -0400)]
Update version & RELEASENOTES.md for 3.2.0
Darryl Pogue [Tue, 11 Jun 2019 21:20:24 +0000 (14:20 -0700)]
Add Node.js 12 to CI Services (#68)
* Add Node.js 12 to CI Services
* TMP: Allow Node.js 12 Failure on AppVeyor
Oliver Salzburg [Wed, 8 May 2019 23:26:12 +0000 (01:26 +0200)]
(ios) Plist document not indented with tabs
Xcode indents .plist documents with tabs, not spaces. Other parts of
Cordova already use tabs for indenting .plist documents and using spaces
directly conflicts with both cases.
Darryl Pogue [Tue, 11 Jun 2019 15:23:28 +0000 (08:23 -0700)]
Update fs-extra to v8 (#70)
Piotr [Wed, 3 Apr 2019 09:07:02 +0000 (11:07 +0200)]
Add example usage of podspec declarations
When trying to find more information about new `<podspec>` tag deprecating `<framework type="podspec" />` I found this example usage.
However it doesn't specify how to use declarations so I've copied example from [specs fixture](https://github.com/apache/cordova-common/blob/rel/3.1.0/spec/fixtures/plugins/org.test.plugins.withcocoapods/plugin.xml#L37-L47)
Luo Gang [Tue, 22 Jan 2019 09:12:43 +0000 (17:12 +0800)]
implement setPreference and setPlatformPreference
Raphael von der Grün [Mon, 1 Apr 2019 14:47:27 +0000 (16:47 +0200)]
Catch leaked exceptions in superspawn and convert them to rejections
At least until Node.js 8, child_process.spawn will throw exceptions
instead of emitting error events in certain cases (like EACCES), Thus we
have to wrap the execution in try/catch to convert them into rejections.
Raphael von der Grün [Mon, 1 Apr 2019 14:24:12 +0000 (16:24 +0200)]
Merge pull request #65 from raphinesse/test-fixes
Test fixes
Raphael von der Grün [Mon, 1 Apr 2019 10:02:50 +0000 (12:02 +0200)]
Fix failing CordovaError test
Fixes #49
Raphael von der Grün [Mon, 1 Apr 2019 09:44:00 +0000 (11:44 +0200)]
Properly handle promise in superspawn test
Jan Piotrowski [Mon, 11 Feb 2019 17:36:42 +0000 (18:36 +0100)]
Add or update GitHub pull request and issue template
Christopher J. Brody [Mon, 24 Dec 2018 18:36:08 +0000 (13:36 -0500)]
Set version to 3.1.1-dev
Christopher J. Brody [Mon, 24 Dec 2018 18:33:11 +0000 (13:33 -0500)]
Update version & RELEASENOTES.md for release 3.1.0
Chris Brody [Thu, 20 Dec 2018 05:22:46 +0000 (00:22 -0500)]
Merge pull request #60 from brodybits/events-singleton
Cordova events singleton object
Christopher J. Brody [Wed, 19 Dec 2018 03:21:58 +0000 (22:21 -0500)]
Update Cordova events to use a real singleton
Co-authored-by: Christopher J. Brody <chris.brody@gmail.com>
Co-authored-by: Darryl Pogue <darryl@dpogue.ca>
Christopher J. Brody [Wed, 19 Dec 2018 03:14:34 +0000 (22:14 -0500)]
Refactor Cordova events into ES6 class
and replace var with const & let
Co-authored-by: Christopher J. Brody <chris.brody@gmail.com>
Co-authored-by: Darryl Pogue <darryl@dpogue.ca>
Chris Brody [Wed, 19 Dec 2018 03:08:33 +0000 (22:08 -0500)]
Merge pull request #59 from brodybits/events-spec-updates
Cordova events test updates in spec
Christopher J. Brody [Tue, 18 Dec 2018 18:03:17 +0000 (13:03 -0500)]
Add Cordova events emit method tests to spec
based on existing test code
with other minor Cordova events test updates
Co-authored-by: Christopher J. Brody <chris.brody@gmail.com>
Co-authored-by: daserge <v-seshak@microsoft.com>
Christopher J. Brody [Tue, 18 Dec 2018 13:54:46 +0000 (08:54 -0500)]
Explicit Cordova events section in spec
with forwardEventsTo method section indented
Darryl Pogue [Tue, 18 Dec 2018 13:05:01 +0000 (05:05 -0800)]
Refactor CordovaLogger to singleton class (#53)
Chris Brody [Tue, 4 Dec 2018 17:40:13 +0000 (12:40 -0500)]
Verbose test reporter (#55)
Co-authored-by: Raphael von der Grün <raphinesse@gmail.com>
Co-authored-by: Christopher J. Brody <chris.brody@gmail.com>
Chris Brody [Tue, 4 Dec 2018 15:14:35 +0000 (10:14 -0500)]
Cleanup indentation spacing in jasmine.json (#54)
Darryl Pogue [Sat, 3 Nov 2018 21:16:21 +0000 (14:16 -0700)]
Incremented package version to 3.0.1-dev
Darryl Pogue [Sat, 3 Nov 2018 21:12:42 +0000 (14:12 -0700)]
Updated version and RELEASENOTES.md for v3.0.0
Darryl Pogue [Sat, 3 Nov 2018 20:51:39 +0000 (13:51 -0700)]
Fix eslint object-curly-spacing complaints
Darryl Pogue [Sat, 3 Nov 2018 20:50:26 +0000 (13:50 -0700)]
Update fs-extra and eslint dependencies
Raphael von der Grün [Sun, 9 Sep 2018 11:44:26 +0000 (13:44 +0200)]
Use `cross-spawn` for platform-independent spawning
Closes #50.
knaito [Wed, 29 Aug 2018 06:51:25 +0000 (15:51 +0900)]
add method getPodSpecs and add related tests
Darryl Pogue [Thu, 6 Sep 2018 06:41:32 +0000 (23:41 -0700)]
CB-13496: Fix greedy regex in plist-helpers
Ken Naito [Tue, 11 Sep 2018 17:07:32 +0000 (02:07 +0900)]
CB-14108: fix incorrect count in config_munge in ios.json and android.json
* Fix to cordova prepare increment count at config_munge in platformJson
* Fix to cordova prepare when remove config-file case
Raphael von der Grün [Sun, 9 Sep 2018 13:36:17 +0000 (15:36 +0200)]
Normalize whitespace (#46)
knaito [Fri, 31 Aug 2018 04:03:07 +0000 (13:03 +0900)]
Fix xml-helpers issue by adding close tag
エリス [Tue, 5 Jun 2018 07:40:13 +0000 (16:40 +0900)]
CB-13685 android: Update ConfigParser for Adaptive Icons
Raphael von der Grün [Thu, 24 May 2018 12:56:45 +0000 (14:56 +0200)]
Make PlatformJson.generateMetadata more readable
knaito [Wed, 15 Aug 2018 04:06:37 +0000 (13:06 +0900)]
type attributes for header-file is added
Raphael von der Grün [Thu, 16 Aug 2018 14:24:30 +0000 (16:24 +0200)]
Simplify some helpers in util/xml-helpers (#40)
No functional changes. Just cleanup.
エリス [Thu, 16 Aug 2018 02:51:59 +0000 (11:51 +0900)]
Pin Jasmine@~3.1.0 (#37)
エリス [Fri, 13 Jul 2018 02:48:30 +0000 (11:48 +0900)]
CB-12016: (all) Removed cordova-registry-mapper dependency
エリス [Tue, 26 Jun 2018 09:57:41 +0000 (18:57 +0900)]
CB-14099 osx: Fixed Resolve Config Path for OSX
This closes #32
Christopher J. Brody [Tue, 19 Jun 2018 01:17:29 +0000 (21:17 -0400)]
.travis.yml add spacing
Christopher J. Brody [Fri, 15 Jun 2018 07:06:10 +0000 (03:06 -0400)]
Increment package version to 3.0.0-dev
Darryl Pogue [Tue, 5 Jun 2018 06:08:50 +0000 (23:08 -0700)]
Replace shelljs calls with fs-extra & which (#21)
Steve Gill [Thu, 31 May 2018 19:28:37 +0000 (12:28 -0700)]
added package-lock.json to .rateignore
Darryl Pogue [Thu, 31 May 2018 04:05:59 +0000 (21:05 -0700)]
CB-14112: Incremented package version to 2.3.0-dev
Darryl Pogue [Thu, 31 May 2018 03:59:43 +0000 (20:59 -0700)]
CB-14112: Updated version and RELEASENOTES.md for release 2.2.2
Raphael von der Grün [Mon, 21 May 2018 17:21:31 +0000 (19:21 +0200)]
Use strip-bom to strip BOM
Raphael von der Grün [Mon, 21 May 2018 17:45:35 +0000 (19:45 +0200)]
Simplify element removal in ConfigParser
Raphael von der Grün [Sat, 5 May 2018 22:26:04 +0000 (00:26 +0200)]
Use .includes and .startsWith instead of .indexOf