Skip to content

Commit 86d8997

Browse files
committed
refactor(top-level): rewrite top level to typescript
1 parent c102d2f commit 86d8997

File tree

6 files changed

+152
-33
lines changed

6 files changed

+152
-33
lines changed

@commitlint/top-level/index.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './lib';

@commitlint/top-level/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = require('./lib');

@commitlint/top-level/package.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
"lib/"
88
],
99
"scripts": {
10-
"build": "cross-env NODE_ENV=production babel src --out-dir lib --source-maps",
10+
"build": "tsc",
1111
"deps": "dep-check",
1212
"pkg": "pkg-check",
1313
"start": "yarn watch",
14-
"watch": "babel src --out-dir lib --watch --source-maps"
14+
"watch": "tsc -w"
1515
},
1616
"babel": {
1717
"presets": [
@@ -42,12 +42,14 @@
4242
"license": "MIT",
4343
"devDependencies": {
4444
"@commitlint/utils": "^8.0.0",
45+
"@types/node": "^12.0.4",
4546
"babel-cli": "6.26.0",
4647
"babel-preset-commitlint": "^8.0.0",
4748
"babel-register": "6.26.0",
48-
"cross-env": "5.1.1"
49+
"cross-env": "5.1.1",
50+
"typescript": "^3.5.1"
4951
},
5052
"dependencies": {
51-
"find-up": "^2.1.0"
53+
"find-up": "^4.0.0"
5254
}
5355
}

@commitlint/top-level/src/index.ts

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import path from 'path';
2+
import up from 'find-up';
3+
4+
export default toplevel;
5+
6+
/**
7+
* Find the next git root
8+
*/
9+
async function toplevel(cwd: string) {
10+
const found = await up('.git', { cwd, type: 'directory' });
11+
12+
if (typeof found !== 'string') {
13+
return found;
14+
}
15+
16+
return path.join(found, '..');
17+
}

@commitlint/top-level/tsconfig.json

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"compilerOptions": {
3+
"lib": [
4+
"dom",
5+
"es2015"
6+
],
7+
"rootDir": "src",
8+
"outDir": "lib",
9+
"declaration": true,
10+
"declarationMap": true,
11+
"sourceMap": true,
12+
"esModuleInterop": true,
13+
"allowSyntheticDefaultImports": true,
14+
"strict": true
15+
},
16+
"include": [
17+
"./src"
18+
],
19+
"exclude": [
20+
"./src/**/*.test.ts"
21+
]
22+
}

yarn.lock

+105-29
Original file line numberDiff line numberDiff line change
@@ -1088,6 +1088,11 @@
10881088
version "12.0.2"
10891089
resolved "https://registry.npmjs.org/@types/node/-/node-12.0.2.tgz#3452a24edf9fea138b48fad4a0a028a683da1e40"
10901090

1091+
"@types/node@^12.0.4":
1092+
version "12.0.4"
1093+
resolved "https://registry.npmjs.org/@types/node/-/node-12.0.4.tgz#46832183115c904410c275e34cf9403992999c32"
1094+
integrity sha512-j8YL2C0fXq7IONwl/Ud5Kt0PeXw22zGERt+HSSnwbKOJVsAGkEz3sFCYwaF9IOuoG1HOtE0vKCj6sXF7Q0+Vaw==
1095+
10911096
"@types/normalize-package-data@^2.4.0":
10921097
version "2.4.0"
10931098
resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
@@ -2438,7 +2443,16 @@ brace-expansion@^1.1.7:
24382443
balanced-match "^1.0.0"
24392444
concat-map "0.0.1"
24402445

2441-
[email protected], braces@^1.8.2, braces@^2.3.0:
2446+
braces@^1.8.2:
2447+
version "1.8.5"
2448+
resolved "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
2449+
integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
2450+
dependencies:
2451+
expand-range "^1.8.1"
2452+
preserve "^0.2.0"
2453+
repeat-element "^1.1.2"
2454+
2455+
braces@^2.3.0:
24422456
version "2.3.1"
24432457
resolved "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb"
24442458
dependencies:
@@ -3450,9 +3464,15 @@ deep-equal@^1.0.0:
34503464
version "1.0.1"
34513465
resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
34523466

3453-
[email protected], deep-extend@^0.6.0, deep-extend@~0.4.0:
3454-
version "0.5.1"
3455-
resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f"
3467+
deep-extend@^0.6.0:
3468+
version "0.6.0"
3469+
resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
3470+
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
3471+
3472+
deep-extend@~0.4.0:
3473+
version "0.4.2"
3474+
resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
3475+
integrity sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=
34563476

34573477
deep-is@~0.1.3:
34583478
version "0.1.3"
@@ -3899,6 +3919,13 @@ expand-brackets@^2.1.4:
38993919
snapdragon "^0.8.1"
39003920
to-regex "^3.0.1"
39013921

3922+
expand-range@^1.8.1:
3923+
version "1.8.2"
3924+
resolved "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
3925+
integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
3926+
dependencies:
3927+
fill-range "^2.1.0"
3928+
39023929
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
39033930
version "2.0.2"
39043931
resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
@@ -4061,6 +4088,17 @@ fill-keys@^1.0.2:
40614088
is-object "~1.0.1"
40624089
merge-descriptors "~1.0.0"
40634090

4091+
fill-range@^2.1.0:
4092+
version "2.2.4"
4093+
resolved "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
4094+
integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
4095+
dependencies:
4096+
is-number "^2.1.0"
4097+
isobject "^2.0.0"
4098+
randomatic "^3.0.0"
4099+
repeat-element "^1.1.2"
4100+
repeat-string "^1.5.2"
4101+
40644102
fill-range@^4.0.0:
40654103
version "4.0.0"
40664104
resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -4136,6 +4174,13 @@ find-up@^3.0.0:
41364174
dependencies:
41374175
locate-path "^3.0.0"
41384176

4177+
find-up@^4.0.0:
4178+
version "4.0.0"
4179+
resolved "https://registry.npmjs.org/find-up/-/find-up-4.0.0.tgz#c367f8024de92efb75f2d4906536d24682065c3a"
4180+
integrity sha512-zoH7ZWPkRdgwYCDVoQTzqjG8JSPANhtvLhh4KVUHyKnaUJJrNeFmWIkTcNuJmR3GLMEmGYEf2S2bjgx26JTF+Q==
4181+
dependencies:
4182+
locate-path "^5.0.0"
4183+
41394184
findup-sync@^3.0.0:
41404185
version "3.0.0"
41414186
resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1"
@@ -4710,9 +4755,10 @@ [email protected], hawk@~3.1.3:
47104755
hoek "2.x.x"
47114756
sntp "1.x.x"
47124757

4713-
4714-
version "5.0.3"
4715-
resolved "https://registry.npmjs.org/hoek/-/hoek-5.0.3.tgz#b71d40d943d0a95da01956b547f83c4a5b4a34ac"
4758+
4759+
version "2.16.3"
4760+
resolved "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
4761+
integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=
47164762

47174763
home-or-tmp@^2.0.0:
47184764
version "2.0.0"
@@ -5225,6 +5271,13 @@ is-npm@^1.0.0:
52255271
version "1.0.0"
52265272
resolved "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
52275273

5274+
is-number@^2.1.0:
5275+
version "2.1.0"
5276+
resolved "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
5277+
integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
5278+
dependencies:
5279+
kind-of "^3.0.2"
5280+
52285281
is-number@^3.0.0:
52295282
version "3.0.0"
52305283
resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
@@ -5811,7 +5864,7 @@ js-tokens@^4.0.0:
58115864
version "4.0.0"
58125865
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
58135866

5814-
js-yaml@>=3.13.0, js-yaml@^3.10.0, js-yaml@^3.13.0, js-yaml@^3.8.2, js-yaml@^3.9.0:
5867+
js-yaml@^3.10.0, js-yaml@^3.13.0, js-yaml@^3.8.2, js-yaml@^3.9.0:
58155868
version "3.13.1"
58165869
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
58175870
dependencies:
@@ -6170,6 +6223,13 @@ locate-path@^3.0.0:
61706223
p-locate "^3.0.0"
61716224
path-exists "^3.0.0"
61726225

6226+
locate-path@^5.0.0:
6227+
version "5.0.0"
6228+
resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
6229+
integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
6230+
dependencies:
6231+
p-locate "^4.1.0"
6232+
61736233
lodash._reinterpolate@~3.0.0:
61746234
version "3.0.0"
61756235
resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -6239,10 +6299,15 @@ lodash.uniq@^4.5.0:
62396299
version "4.5.0"
62406300
resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
62416301

6242-
[email protected], lodash@^3.3.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1:
6302+
[email protected], lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1:
62436303
version "4.17.11"
62446304
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
62456305

6306+
lodash@^3.3.1:
6307+
version "3.10.1"
6308+
resolved "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
6309+
integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=
6310+
62466311
log-symbols@^1.0.2:
62476312
version "1.0.2"
62486313
resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
@@ -6378,10 +6443,15 @@ map-visit@^1.0.0:
63786443
dependencies:
63796444
object-visit "^1.0.0"
63806445

6381-
marked@0.3.9, marked@^0.3.6, marked@^0.5.1:
6446+
marked@^0.3.6:
63826447
version "0.3.9"
63836448
resolved "https://registry.npmjs.org/marked/-/marked-0.3.9.tgz#54ce6a57e720c3ac6098374ec625fcbcc97ff290"
63846449

6450+
marked@^0.5.1:
6451+
version "0.5.2"
6452+
resolved "https://registry.npmjs.org/marked/-/marked-0.5.2.tgz#3efdb27b1fd0ecec4f5aba362bddcd18120e5ba9"
6453+
integrity sha512-fdZvBa7/vSQIZCi4uuwo2N3q+7jJURpMVCcbaX0S1Mg65WZ5ilXvC67MviJAsdjqqgD+CEq4RKo5AYGgINkVAA==
6454+
63856455
matcher@^0.1.1:
63866456
version "0.1.2"
63876457
resolved "https://registry.npmjs.org/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101"
@@ -6672,7 +6742,7 @@ module-not-found-error@^1.0.0:
66726742
version "1.0.1"
66736743
resolved "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0"
66746744

6675-
moment@2.19.3, moment@^2.18.1:
6745+
moment@^2.18.1:
66766746
version "2.19.3"
66776747
resolved "https://registry.npmjs.org/moment/-/moment-2.19.3.tgz#bdb99d270d6d7fda78cc0fbace855e27fe7da69f"
66786748

@@ -7272,6 +7342,13 @@ p-limit@^2.0.0:
72727342
dependencies:
72737343
p-try "^2.0.0"
72747344

7345+
p-limit@^2.2.0:
7346+
version "2.2.0"
7347+
resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
7348+
integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==
7349+
dependencies:
7350+
p-try "^2.0.0"
7351+
72757352
p-locate@^2.0.0:
72767353
version "2.0.0"
72777354
resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
@@ -7284,6 +7361,13 @@ p-locate@^3.0.0:
72847361
dependencies:
72857362
p-limit "^2.0.0"
72867363

7364+
p-locate@^4.1.0:
7365+
version "4.1.0"
7366+
resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
7367+
integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
7368+
dependencies:
7369+
p-limit "^2.2.0"
7370+
72877371
p-map-series@^1.0.0:
72887372
version "1.0.0"
72897373
resolved "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca"
@@ -7634,6 +7718,11 @@ prepend-http@^1.0.1:
76347718
version "1.0.4"
76357719
resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
76367720

7721+
preserve@^0.2.0:
7722+
version "0.2.0"
7723+
resolved "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
7724+
integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
7725+
76377726
76387727
version "1.17.1"
76397728
resolved "https://registry.npmjs.org/prettier/-/prettier-1.17.1.tgz#ed64b4e93e370cb8a25b9ef7fef3e4fd1c0995db"
@@ -7801,9 +7890,10 @@ quick-lru@^1.0.0:
78017890
version "1.1.0"
78027891
resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8"
78037892

7804-
randomatic@3:
7893+
randomatic@^3.0.0:
78057894
version "3.1.1"
78067895
resolved "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
7896+
integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
78077897
dependencies:
78087898
is-number "^4.0.0"
78097899
kind-of "^6.0.0"
@@ -8113,7 +8203,7 @@ repeat-element@^1.1.2:
81138203
version "1.1.2"
81148204
resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
81158205

8116-
repeat-string@^1.6.1:
8206+
repeat-string@^1.5.2, repeat-string@^1.6.1:
81178207
version "1.6.1"
81188208
resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
81198209

@@ -8756,20 +8846,6 @@ sprintf-js@~1.0.2:
87568846
version "1.0.3"
87578847
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
87588848

8759-
8760-
version "1.14.1"
8761-
resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb"
8762-
dependencies:
8763-
asn1 "~0.2.3"
8764-
assert-plus "^1.0.0"
8765-
dashdash "^1.12.0"
8766-
getpass "^0.1.1"
8767-
optionalDependencies:
8768-
bcrypt-pbkdf "^1.0.0"
8769-
ecc-jsbn "~0.1.1"
8770-
jsbn "~0.1.0"
8771-
tweetnacl "~0.14.0"
8772-
87738849
sshpk@^1.7.0:
87748850
version "1.16.1"
87758851
resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
@@ -8902,7 +8978,7 @@ stringify-object@^3.2.2:
89028978
is-obj "^1.0.1"
89038979
is-regexp "^1.0.0"
89048980

8905-
stringstream@0.0.6, stringstream@~0.0.4:
8981+
stringstream@~0.0.4:
89068982
version "0.0.6"
89078983
resolved "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72"
89088984

@@ -9342,7 +9418,7 @@ [email protected]:
93429418
version "3.4.5"
93439419
resolved "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz#2d2618d10bb566572b8d7aad5180d84257d70a99"
93449420

9345-
[email protected], typescript@^3.4.5:
9421+
[email protected], typescript@^3.4.5, typescript@^3.5.1:
93469422
version "3.5.1"
93479423
resolved "https://registry.npmjs.org/typescript/-/typescript-3.5.1.tgz#ba72a6a600b2158139c5dd8850f700e231464202"
93489424

0 commit comments

Comments
 (0)