Browse Source

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

Sergio Mattei 1 year 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

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

+ 401
- 1
package-lock.json View File

50
       },
50
       },
51
       "devDependencies": {
51
       "devDependencies": {
52
         "@capacitor/cli": "4.4.0",
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
     "node_modules/@adobe/css-tools": {
58
     "node_modules/@adobe/css-tools": {
3841
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
3843
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
3842
       "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA=="
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
     "node_modules/@types/node": {
3852
     "node_modules/@types/node": {
3845
       "version": "12.20.55",
3853
       "version": "12.20.55",
3846
       "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
3854
       "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
4627
         "deep-equal": "^2.0.5"
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
     "node_modules/array-flatten": {
4647
     "node_modules/array-flatten": {
4631
       "version": "2.1.2",
4648
       "version": "2.1.2",
4632
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
4649
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
4710
         "url": "https://github.com/sponsors/ljharb"
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
     "node_modules/asap": {
4739
     "node_modules/asap": {
4714
       "version": "2.0.6",
4740
       "version": "2.0.6",
4715
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
4741
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
6639
         "node": ">= 0.8"
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
     "node_modules/enhanced-resolve": {
6677
     "node_modules/enhanced-resolve": {
6643
       "version": "5.10.0",
6678
       "version": "5.10.0",
6644
       "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
6679
       "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
8616
         "node": ">=10.17.0"
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
     "node_modules/iconv-lite": {
8669
     "node_modules/iconv-lite": {
8620
       "version": "0.6.3",
8670
       "version": "0.6.3",
8621
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
8671
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
10814
         "mkdirp": "bin/cmd.js"
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
     "node_modules/ms": {
10876
     "node_modules/ms": {
10818
       "version": "2.1.2",
10877
       "version": "2.1.2",
10819
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
10878
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
10831
         "multicast-dns": "cli.js"
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
     "node_modules/nanoid": {
10909
     "node_modules/nanoid": {
10835
       "version": "3.3.4",
10910
       "version": "3.3.4",
10836
       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
10911
       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
12707
         "node": ">= 0.8.0"
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
     "node_modules/pretty-bytes": {
12801
     "node_modules/pretty-bytes": {
12711
       "version": "5.6.0",
12802
       "version": "5.6.0",
12712
       "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
12803
       "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
12751
         "url": "https://github.com/chalk/ansi-styles?sponsor=1"
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
     "node_modules/process-nextick-args": {
12980
     "node_modules/process-nextick-args": {
12755
       "version": "2.0.1",
12981
       "version": "2.0.1",
12756
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
12982
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
12816
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
13042
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
12817
       "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
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
     "node_modules/punycode": {
13055
     "node_modules/punycode": {
12820
       "version": "2.1.1",
13056
       "version": "2.1.1",
12821
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
13057
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
18829
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
19065
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
18830
       "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA=="
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
     "@types/node": {
19074
     "@types/node": {
18833
       "version": "12.20.55",
19075
       "version": "12.20.55",
18834
       "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
19076
       "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
19439
         "deep-equal": "^2.0.5"
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
     "array-flatten": {
19690
     "array-flatten": {
19443
       "version": "2.1.2",
19691
       "version": "2.1.2",
19444
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
19692
       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
19495
         "is-string": "^1.0.7"
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
     "asap": {
19752
     "asap": {
19499
       "version": "2.0.6",
19753
       "version": "2.0.6",
19500
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
19754
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
20896
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
21150
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
20897
       "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
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
     "enhanced-resolve": {
21162
     "enhanced-resolve": {
20900
       "version": "5.10.0",
21163
       "version": "5.10.0",
20901
       "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
21164
       "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
22362
       "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
22625
       "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
22363
       "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
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
     "iconv-lite": {
22634
     "iconv-lite": {
22366
       "version": "0.6.3",
22635
       "version": "0.6.3",
22367
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
22636
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
23982
         "minimist": "^1.2.6"
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
     "ms": {
24260
     "ms": {
23986
       "version": "2.1.2",
24261
       "version": "2.1.2",
23987
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
24262
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
23996
         "thunky": "^1.0.2"
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
     "nanoid": {
24287
     "nanoid": {
24000
       "version": "3.3.4",
24288
       "version": "3.3.4",
24001
       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
24289
       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
25162
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
25450
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
25163
       "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
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
     "pretty-bytes": {
25460
     "pretty-bytes": {
25166
       "version": "5.6.0",
25461
       "version": "5.6.0",
25167
       "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
25462
       "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
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
     "process-nextick-args": {
25586
     "process-nextick-args": {
25197
       "version": "2.0.1",
25587
       "version": "2.0.1",
25198
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
25588
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
25253
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
25643
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
25254
       "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
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
     "punycode": {
25656
     "punycode": {
25257
       "version": "2.1.1",
25657
       "version": "2.1.1",
25258
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
25658
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",

+ 5
- 2
package.json View File

47
     "start": "react-scripts start",
47
     "start": "react-scripts start",
48
     "build": "react-scripts build",
48
     "build": "react-scripts build",
49
     "test": "react-scripts test --transformIgnorePatterns 'node_modules/(?!(@ionic/react|@ionic/react-router|@ionic/core|@stencil/core|ionicons)/)'",
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
   "eslintConfig": {
53
   "eslintConfig": {
53
     "extends": [
54
     "extends": [
69
   },
70
   },
70
   "devDependencies": {
71
   "devDependencies": {
71
     "@capacitor/cli": "4.4.0",
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
   "description": "An Ionic project"
77
   "description": "An Ionic project"
75
 }
78
 }