Browse Source

[mant] Add Husky and Prettier for formatting + linting staged files

Sergio Mattei 2 years ago
parent
commit
22f6a654a2
3 changed files with 410 additions and 3 deletions
  1. 4
    0
      .husky/pre-commit
  2. 401
    1
      package-lock.json
  3. 5
    2
      package.json

+ 4
- 0
.husky/pre-commit View File

@@ -0,0 +1,4 @@
1
+#!/usr/bin/env sh
2
+. "$(dirname -- "$0")/_/husky.sh"
3
+
4
+npx pretty-quick --staged

+ 401
- 1
package-lock.json View File

@@ -50,7 +50,9 @@
50 50
       },
51 51
       "devDependencies": {
52 52
         "@capacitor/cli": "4.4.0",
53
-        "@ionic/lab": "3.2.15"
53
+        "@ionic/lab": "3.2.15",
54
+        "husky": "^8.0.0",
55
+        "pretty-quick": "^3.1.3"
54 56
       }
55 57
     },
56 58
     "node_modules/@adobe/css-tools": {
@@ -3841,6 +3843,12 @@
3841 3843
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
3842 3844
       "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA=="
3843 3845
     },
3846
+    "node_modules/@types/minimatch": {
3847
+      "version": "3.0.5",
3848
+      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
3849
+      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
3850
+      "dev": true
3851
+    },
3844 3852
     "node_modules/@types/node": {
3845 3853
       "version": "12.20.55",
3846 3854
       "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
@@ -4627,6 +4635,15 @@
4627 4635
         "deep-equal": "^2.0.5"
4628 4636
       }
4629 4637
     },
4638
+    "node_modules/array-differ": {
4639
+      "version": "3.0.0",
4640
+      "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
4641
+      "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
4642
+      "dev": true,
4643
+      "engines": {
4644
+        "node": ">=8"
4645
+      }
4646
+    },
4630 4647
     "node_modules/array-flatten": {
4631 4648
       "version": "2.1.2",
4632 4649
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
@@ -4710,6 +4727,15 @@
4710 4727
         "url": "https://github.com/sponsors/ljharb"
4711 4728
       }
4712 4729
     },
4730
+    "node_modules/arrify": {
4731
+      "version": "2.0.1",
4732
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
4733
+      "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
4734
+      "dev": true,
4735
+      "engines": {
4736
+        "node": ">=8"
4737
+      }
4738
+    },
4713 4739
     "node_modules/asap": {
4714 4740
       "version": "2.0.6",
4715 4741
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
@@ -6639,6 +6665,15 @@
6639 6665
         "node": ">= 0.8"
6640 6666
       }
6641 6667
     },
6668
+    "node_modules/end-of-stream": {
6669
+      "version": "1.4.4",
6670
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
6671
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
6672
+      "dev": true,
6673
+      "dependencies": {
6674
+        "once": "^1.4.0"
6675
+      }
6676
+    },
6642 6677
     "node_modules/enhanced-resolve": {
6643 6678
       "version": "5.10.0",
6644 6679
       "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
@@ -8616,6 +8651,21 @@
8616 8651
         "node": ">=10.17.0"
8617 8652
       }
8618 8653
     },
8654
+    "node_modules/husky": {
8655
+      "version": "8.0.2",
8656
+      "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz",
8657
+      "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==",
8658
+      "dev": true,
8659
+      "bin": {
8660
+        "husky": "lib/bin.js"
8661
+      },
8662
+      "engines": {
8663
+        "node": ">=14"
8664
+      },
8665
+      "funding": {
8666
+        "url": "https://github.com/sponsors/typicode"
8667
+      }
8668
+    },
8619 8669
     "node_modules/iconv-lite": {
8620 8670
       "version": "0.6.3",
8621 8671
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -10814,6 +10864,15 @@
10814 10864
         "mkdirp": "bin/cmd.js"
10815 10865
       }
10816 10866
     },
10867
+    "node_modules/mri": {
10868
+      "version": "1.2.0",
10869
+      "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
10870
+      "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
10871
+      "dev": true,
10872
+      "engines": {
10873
+        "node": ">=4"
10874
+      }
10875
+    },
10817 10876
     "node_modules/ms": {
10818 10877
       "version": "2.1.2",
10819 10878
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -10831,6 +10890,22 @@
10831 10890
         "multicast-dns": "cli.js"
10832 10891
       }
10833 10892
     },
10893
+    "node_modules/multimatch": {
10894
+      "version": "4.0.0",
10895
+      "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
10896
+      "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
10897
+      "dev": true,
10898
+      "dependencies": {
10899
+        "@types/minimatch": "^3.0.3",
10900
+        "array-differ": "^3.0.0",
10901
+        "array-union": "^2.1.0",
10902
+        "arrify": "^2.0.1",
10903
+        "minimatch": "^3.0.4"
10904
+      },
10905
+      "engines": {
10906
+        "node": ">=8"
10907
+      }
10908
+    },
10834 10909
     "node_modules/nanoid": {
10835 10910
       "version": "3.3.4",
10836 10911
       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
@@ -12707,6 +12782,22 @@
12707 12782
         "node": ">= 0.8.0"
12708 12783
       }
12709 12784
     },
12785
+    "node_modules/prettier": {
12786
+      "version": "2.7.1",
12787
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
12788
+      "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
12789
+      "dev": true,
12790
+      "peer": true,
12791
+      "bin": {
12792
+        "prettier": "bin-prettier.js"
12793
+      },
12794
+      "engines": {
12795
+        "node": ">=10.13.0"
12796
+      },
12797
+      "funding": {
12798
+        "url": "https://github.com/prettier/prettier?sponsor=1"
12799
+      }
12800
+    },
12710 12801
     "node_modules/pretty-bytes": {
12711 12802
       "version": "5.6.0",
12712 12803
       "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
@@ -12751,6 +12842,141 @@
12751 12842
         "url": "https://github.com/chalk/ansi-styles?sponsor=1"
12752 12843
       }
12753 12844
     },
12845
+    "node_modules/pretty-quick": {
12846
+      "version": "3.1.3",
12847
+      "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz",
12848
+      "integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==",
12849
+      "dev": true,
12850
+      "dependencies": {
12851
+        "chalk": "^3.0.0",
12852
+        "execa": "^4.0.0",
12853
+        "find-up": "^4.1.0",
12854
+        "ignore": "^5.1.4",
12855
+        "mri": "^1.1.5",
12856
+        "multimatch": "^4.0.0"
12857
+      },
12858
+      "bin": {
12859
+        "pretty-quick": "bin/pretty-quick.js"
12860
+      },
12861
+      "engines": {
12862
+        "node": ">=10.13"
12863
+      },
12864
+      "peerDependencies": {
12865
+        "prettier": ">=2.0.0"
12866
+      }
12867
+    },
12868
+    "node_modules/pretty-quick/node_modules/chalk": {
12869
+      "version": "3.0.0",
12870
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
12871
+      "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
12872
+      "dev": true,
12873
+      "dependencies": {
12874
+        "ansi-styles": "^4.1.0",
12875
+        "supports-color": "^7.1.0"
12876
+      },
12877
+      "engines": {
12878
+        "node": ">=8"
12879
+      }
12880
+    },
12881
+    "node_modules/pretty-quick/node_modules/execa": {
12882
+      "version": "4.1.0",
12883
+      "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
12884
+      "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
12885
+      "dev": true,
12886
+      "dependencies": {
12887
+        "cross-spawn": "^7.0.0",
12888
+        "get-stream": "^5.0.0",
12889
+        "human-signals": "^1.1.1",
12890
+        "is-stream": "^2.0.0",
12891
+        "merge-stream": "^2.0.0",
12892
+        "npm-run-path": "^4.0.0",
12893
+        "onetime": "^5.1.0",
12894
+        "signal-exit": "^3.0.2",
12895
+        "strip-final-newline": "^2.0.0"
12896
+      },
12897
+      "engines": {
12898
+        "node": ">=10"
12899
+      },
12900
+      "funding": {
12901
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
12902
+      }
12903
+    },
12904
+    "node_modules/pretty-quick/node_modules/find-up": {
12905
+      "version": "4.1.0",
12906
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
12907
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
12908
+      "dev": true,
12909
+      "dependencies": {
12910
+        "locate-path": "^5.0.0",
12911
+        "path-exists": "^4.0.0"
12912
+      },
12913
+      "engines": {
12914
+        "node": ">=8"
12915
+      }
12916
+    },
12917
+    "node_modules/pretty-quick/node_modules/get-stream": {
12918
+      "version": "5.2.0",
12919
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
12920
+      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
12921
+      "dev": true,
12922
+      "dependencies": {
12923
+        "pump": "^3.0.0"
12924
+      },
12925
+      "engines": {
12926
+        "node": ">=8"
12927
+      },
12928
+      "funding": {
12929
+        "url": "https://github.com/sponsors/sindresorhus"
12930
+      }
12931
+    },
12932
+    "node_modules/pretty-quick/node_modules/human-signals": {
12933
+      "version": "1.1.1",
12934
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
12935
+      "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
12936
+      "dev": true,
12937
+      "engines": {
12938
+        "node": ">=8.12.0"
12939
+      }
12940
+    },
12941
+    "node_modules/pretty-quick/node_modules/locate-path": {
12942
+      "version": "5.0.0",
12943
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
12944
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
12945
+      "dev": true,
12946
+      "dependencies": {
12947
+        "p-locate": "^4.1.0"
12948
+      },
12949
+      "engines": {
12950
+        "node": ">=8"
12951
+      }
12952
+    },
12953
+    "node_modules/pretty-quick/node_modules/p-limit": {
12954
+      "version": "2.3.0",
12955
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
12956
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
12957
+      "dev": true,
12958
+      "dependencies": {
12959
+        "p-try": "^2.0.0"
12960
+      },
12961
+      "engines": {
12962
+        "node": ">=6"
12963
+      },
12964
+      "funding": {
12965
+        "url": "https://github.com/sponsors/sindresorhus"
12966
+      }
12967
+    },
12968
+    "node_modules/pretty-quick/node_modules/p-locate": {
12969
+      "version": "4.1.0",
12970
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
12971
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
12972
+      "dev": true,
12973
+      "dependencies": {
12974
+        "p-limit": "^2.2.0"
12975
+      },
12976
+      "engines": {
12977
+        "node": ">=8"
12978
+      }
12979
+    },
12754 12980
     "node_modules/process-nextick-args": {
12755 12981
       "version": "2.0.1",
12756 12982
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -12816,6 +13042,16 @@
12816 13042
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
12817 13043
       "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
12818 13044
     },
13045
+    "node_modules/pump": {
13046
+      "version": "3.0.0",
13047
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
13048
+      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
13049
+      "dev": true,
13050
+      "dependencies": {
13051
+        "end-of-stream": "^1.1.0",
13052
+        "once": "^1.3.1"
13053
+      }
13054
+    },
12819 13055
     "node_modules/punycode": {
12820 13056
       "version": "2.1.1",
12821 13057
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -18829,6 +19065,12 @@
18829 19065
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
18830 19066
       "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA=="
18831 19067
     },
19068
+    "@types/minimatch": {
19069
+      "version": "3.0.5",
19070
+      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
19071
+      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
19072
+      "dev": true
19073
+    },
18832 19074
     "@types/node": {
18833 19075
       "version": "12.20.55",
18834 19076
       "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
@@ -19439,6 +19681,12 @@
19439 19681
         "deep-equal": "^2.0.5"
19440 19682
       }
19441 19683
     },
19684
+    "array-differ": {
19685
+      "version": "3.0.0",
19686
+      "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
19687
+      "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
19688
+      "dev": true
19689
+    },
19442 19690
     "array-flatten": {
19443 19691
       "version": "2.1.2",
19444 19692
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
@@ -19495,6 +19743,12 @@
19495 19743
         "is-string": "^1.0.7"
19496 19744
       }
19497 19745
     },
19746
+    "arrify": {
19747
+      "version": "2.0.1",
19748
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
19749
+      "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
19750
+      "dev": true
19751
+    },
19498 19752
     "asap": {
19499 19753
       "version": "2.0.6",
19500 19754
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
@@ -20896,6 +21150,15 @@
20896 21150
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
20897 21151
       "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
20898 21152
     },
21153
+    "end-of-stream": {
21154
+      "version": "1.4.4",
21155
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
21156
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
21157
+      "dev": true,
21158
+      "requires": {
21159
+        "once": "^1.4.0"
21160
+      }
21161
+    },
20899 21162
     "enhanced-resolve": {
20900 21163
       "version": "5.10.0",
20901 21164
       "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
@@ -22362,6 +22625,12 @@
22362 22625
       "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
22363 22626
       "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
22364 22627
     },
22628
+    "husky": {
22629
+      "version": "8.0.2",
22630
+      "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz",
22631
+      "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==",
22632
+      "dev": true
22633
+    },
22365 22634
     "iconv-lite": {
22366 22635
       "version": "0.6.3",
22367 22636
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -23982,6 +24251,12 @@
23982 24251
         "minimist": "^1.2.6"
23983 24252
       }
23984 24253
     },
24254
+    "mri": {
24255
+      "version": "1.2.0",
24256
+      "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
24257
+      "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
24258
+      "dev": true
24259
+    },
23985 24260
     "ms": {
23986 24261
       "version": "2.1.2",
23987 24262
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -23996,6 +24271,19 @@
23996 24271
         "thunky": "^1.0.2"
23997 24272
       }
23998 24273
     },
24274
+    "multimatch": {
24275
+      "version": "4.0.0",
24276
+      "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
24277
+      "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
24278
+      "dev": true,
24279
+      "requires": {
24280
+        "@types/minimatch": "^3.0.3",
24281
+        "array-differ": "^3.0.0",
24282
+        "array-union": "^2.1.0",
24283
+        "arrify": "^2.0.1",
24284
+        "minimatch": "^3.0.4"
24285
+      }
24286
+    },
23999 24287
     "nanoid": {
24000 24288
       "version": "3.3.4",
24001 24289
       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
@@ -25162,6 +25450,13 @@
25162 25450
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
25163 25451
       "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
25164 25452
     },
25453
+    "prettier": {
25454
+      "version": "2.7.1",
25455
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
25456
+      "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
25457
+      "dev": true,
25458
+      "peer": true
25459
+    },
25165 25460
     "pretty-bytes": {
25166 25461
       "version": "5.6.0",
25167 25462
       "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
@@ -25193,6 +25488,101 @@
25193 25488
         }
25194 25489
       }
25195 25490
     },
25491
+    "pretty-quick": {
25492
+      "version": "3.1.3",
25493
+      "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz",
25494
+      "integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==",
25495
+      "dev": true,
25496
+      "requires": {
25497
+        "chalk": "^3.0.0",
25498
+        "execa": "^4.0.0",
25499
+        "find-up": "^4.1.0",
25500
+        "ignore": "^5.1.4",
25501
+        "mri": "^1.1.5",
25502
+        "multimatch": "^4.0.0"
25503
+      },
25504
+      "dependencies": {
25505
+        "chalk": {
25506
+          "version": "3.0.0",
25507
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
25508
+          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
25509
+          "dev": true,
25510
+          "requires": {
25511
+            "ansi-styles": "^4.1.0",
25512
+            "supports-color": "^7.1.0"
25513
+          }
25514
+        },
25515
+        "execa": {
25516
+          "version": "4.1.0",
25517
+          "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
25518
+          "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
25519
+          "dev": true,
25520
+          "requires": {
25521
+            "cross-spawn": "^7.0.0",
25522
+            "get-stream": "^5.0.0",
25523
+            "human-signals": "^1.1.1",
25524
+            "is-stream": "^2.0.0",
25525
+            "merge-stream": "^2.0.0",
25526
+            "npm-run-path": "^4.0.0",
25527
+            "onetime": "^5.1.0",
25528
+            "signal-exit": "^3.0.2",
25529
+            "strip-final-newline": "^2.0.0"
25530
+          }
25531
+        },
25532
+        "find-up": {
25533
+          "version": "4.1.0",
25534
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
25535
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
25536
+          "dev": true,
25537
+          "requires": {
25538
+            "locate-path": "^5.0.0",
25539
+            "path-exists": "^4.0.0"
25540
+          }
25541
+        },
25542
+        "get-stream": {
25543
+          "version": "5.2.0",
25544
+          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
25545
+          "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
25546
+          "dev": true,
25547
+          "requires": {
25548
+            "pump": "^3.0.0"
25549
+          }
25550
+        },
25551
+        "human-signals": {
25552
+          "version": "1.1.1",
25553
+          "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
25554
+          "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
25555
+          "dev": true
25556
+        },
25557
+        "locate-path": {
25558
+          "version": "5.0.0",
25559
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
25560
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
25561
+          "dev": true,
25562
+          "requires": {
25563
+            "p-locate": "^4.1.0"
25564
+          }
25565
+        },
25566
+        "p-limit": {
25567
+          "version": "2.3.0",
25568
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
25569
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
25570
+          "dev": true,
25571
+          "requires": {
25572
+            "p-try": "^2.0.0"
25573
+          }
25574
+        },
25575
+        "p-locate": {
25576
+          "version": "4.1.0",
25577
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
25578
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
25579
+          "dev": true,
25580
+          "requires": {
25581
+            "p-limit": "^2.2.0"
25582
+          }
25583
+        }
25584
+      }
25585
+    },
25196 25586
     "process-nextick-args": {
25197 25587
       "version": "2.0.1",
25198 25588
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -25253,6 +25643,16 @@
25253 25643
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
25254 25644
       "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
25255 25645
     },
25646
+    "pump": {
25647
+      "version": "3.0.0",
25648
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
25649
+      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
25650
+      "dev": true,
25651
+      "requires": {
25652
+        "end-of-stream": "^1.1.0",
25653
+        "once": "^1.3.1"
25654
+      }
25655
+    },
25256 25656
     "punycode": {
25257 25657
       "version": "2.1.1",
25258 25658
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",

+ 5
- 2
package.json View File

@@ -47,7 +47,8 @@
47 47
     "start": "react-scripts start",
48 48
     "build": "react-scripts build",
49 49
     "test": "react-scripts test --transformIgnorePatterns 'node_modules/(?!(@ionic/react|@ionic/react-router|@ionic/core|@stencil/core|ionicons)/)'",
50
-    "eject": "react-scripts eject"
50
+    "eject": "react-scripts eject",
51
+    "prepare": "husky install"
51 52
   },
52 53
   "eslintConfig": {
53 54
     "extends": [
@@ -69,7 +70,9 @@
69 70
   },
70 71
   "devDependencies": {
71 72
     "@capacitor/cli": "4.4.0",
72
-    "@ionic/lab": "3.2.15"
73
+    "@ionic/lab": "3.2.15",
74
+    "husky": "^8.0.0",
75
+    "pretty-quick": "^3.1.3"
73 76
   },
74 77
   "description": "An Ionic project"
75 78
 }