Skip to content

Commit 3682f12

Browse files
feat: add support for config files with ".cjs" extension (#287)
1 parent 30fcc0c commit 3682f12

File tree

6 files changed

+40
-87
lines changed

6 files changed

+40
-87
lines changed

packages/mysql-config/package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,9 @@
55
"main": "./lib/index.js",
66
"types": "./lib/index.d.ts",
77
"dependencies": {
8-
"cosmiconfig": "^5.0.7",
8+
"cosmiconfig": "^8.1.0",
99
"funtypes": "^4.1.0"
1010
},
11-
"devDependencies": {
12-
"@types/cosmiconfig": "^5.0.3"
13-
},
1411
"scripts": {},
1512
"repository": "https://github.com/ForbesLindesay/atdatabases/tree/master/packages/mysql-config",
1613
"bugs": "https://github.com/ForbesLindesay/atdatabases/issues",

packages/mysql-config/src/index.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
1-
import cosmiconfig = require('cosmiconfig');
1+
import {cosmiconfig, cosmiconfigSync} from 'cosmiconfig';
22
import MySqlConfig, {MySqlConfigSchema} from './MySqlConfig';
33

4-
const explorer = cosmiconfig('mysql');
4+
const asyncExplorer = cosmiconfig('mysql');
5+
const syncExplorer = cosmiconfigSync('mysql');
6+
57
export async function getMySqlConfig(
68
searchFrom?: string,
79
): Promise<MySqlConfig> {
8-
return parseResult(await explorer.search(searchFrom));
10+
return parseResult(await asyncExplorer.search(searchFrom));
911
}
1012
export function getMySqlConfigSync(searchFrom?: string): MySqlConfig {
11-
return parseResult(explorer.searchSync(searchFrom));
13+
return parseResult(syncExplorer.search(searchFrom));
1214
}
1315

1416
export function readMySqlConfigSync(filename: string): MySqlConfig {
15-
return parseResult(explorer.loadSync(filename));
17+
return parseResult(syncExplorer.load(filename));
1618
}
1719

18-
function parseResult(result: cosmiconfig.CosmiconfigResult): MySqlConfig {
20+
function parseResult(result: null | {config: unknown}): MySqlConfig {
1921
return MySqlConfigSchema.parse(result ? result.config : {});
2022
}
2123

packages/pg-config/package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,9 @@
55
"main": "./lib/index.js",
66
"types": "./lib/index.d.ts",
77
"dependencies": {
8-
"cosmiconfig": "^5.0.7",
8+
"cosmiconfig": "^8.1.0",
99
"funtypes": "^4.1.0"
1010
},
11-
"devDependencies": {
12-
"@types/cosmiconfig": "^5.0.3"
13-
},
1411
"scripts": {},
1512
"repository": "https://github.com/ForbesLindesay/atdatabases/tree/master/packages/pg-config",
1613
"bugs": "https://github.com/ForbesLindesay/atdatabases/issues",

packages/pg-config/src/index.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
import cosmiconfig = require('cosmiconfig');
1+
import {cosmiconfig, cosmiconfigSync} from 'cosmiconfig';
22
import PgConfig, {PgConfigSchema} from './PgConfig';
33

4-
const explorer = cosmiconfig('pg');
4+
const asyncExplorer = cosmiconfig('pg');
5+
const syncExplorer = cosmiconfigSync('pg');
56
export async function getPgConfig(searchFrom?: string): Promise<PgConfig> {
6-
return parseResult(await explorer.search(searchFrom));
7+
return parseResult(await asyncExplorer.search(searchFrom));
78
}
89
export function getPgConfigSync(searchFrom?: string): PgConfig {
9-
return parseResult(explorer.searchSync(searchFrom));
10+
return parseResult(syncExplorer.search(searchFrom));
1011
}
1112

1213
export function readPgConfigSync(filename: string): PgConfig {
13-
return parseResult(explorer.loadSync(filename));
14+
return parseResult(syncExplorer.load(filename));
1415
}
1516

16-
function parseResult(result: cosmiconfig.CosmiconfigResult): PgConfig {
17+
function parseResult(result: null | {config: unknown}): PgConfig {
1718
return PgConfigSchema.parse(result ? result.config : {});
1819
}
1920

scripts/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
{"path": "../packages/bigquery"},
55
{"path": "../packages/cache"},
66
{"path": "../packages/connection-pool"},
7+
{"path": "../packages/dataloader"},
78
{"path": "../packages/escape-identifier"},
89
{"path": "../packages/expo"},
910
{"path": "../packages/lock"},

yarn.lock

Lines changed: 22 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1709,13 +1709,6 @@
17091709
dependencies:
17101710
camelcase "*"
17111711

1712-
"@types/cosmiconfig@^5.0.3":
1713-
version "5.0.3"
1714-
resolved "https://registry.yarnpkg.com/@types/cosmiconfig/-/cosmiconfig-5.0.3.tgz#880644bb155d4038d3b752159684b777b0a159dd"
1715-
integrity sha512-HgTGG7X5y9pLl3pixeo2XtDEFD8rq2EuH+S4mK6teCnAwWMucQl6v1D43hI4Uw1VJh6nu59lxLkqXHRl4uwThA==
1716-
dependencies:
1717-
"@types/node" "*"
1718-
17191712
"@types/cross-spawn@^6.0.0":
17201713
version "6.0.2"
17211714
resolved "https://registry.yarnpkg.com/@types/cross-spawn/-/cross-spawn-6.0.2.tgz#168309de311cd30a2b8ae720de6475c2fbf33ac7"
@@ -2152,6 +2145,11 @@ argparse@^1.0.7:
21522145
dependencies:
21532146
sprintf-js "~1.0.2"
21542147

2148+
argparse@^2.0.1:
2149+
version "2.0.1"
2150+
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
2151+
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
2152+
21552153
argsarray@^0.0.1:
21562154
version "0.0.1"
21572155
resolved "https://registry.yarnpkg.com/argsarray/-/argsarray-0.0.1.tgz#6e7207b4ecdb39b0af88303fa5ae22bda8df61cb"
@@ -2765,25 +2763,6 @@ call-bind@^1.0.0, call-bind@^1.0.2:
27652763
function-bind "^1.1.1"
27662764
get-intrinsic "^1.0.2"
27672765

2768-
caller-callsite@^2.0.0:
2769-
version "2.0.0"
2770-
resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
2771-
integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==
2772-
dependencies:
2773-
callsites "^2.0.0"
2774-
2775-
caller-path@^2.0.0:
2776-
version "2.0.0"
2777-
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
2778-
integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==
2779-
dependencies:
2780-
caller-callsite "^2.0.0"
2781-
2782-
callsites@^2.0.0:
2783-
version "2.0.0"
2784-
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
2785-
integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==
2786-
27872766
callsites@^3.0.0:
27882767
version "3.1.0"
27892768
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -3209,16 +3188,6 @@ core-util-is@~1.0.0:
32093188
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
32103189
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
32113190

3212-
cosmiconfig@^5.0.7:
3213-
version "5.2.1"
3214-
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
3215-
integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
3216-
dependencies:
3217-
import-fresh "^2.0.0"
3218-
is-directory "^0.3.1"
3219-
js-yaml "^3.13.1"
3220-
parse-json "^4.0.0"
3221-
32223191
cosmiconfig@^6.0.0:
32233192
version "6.0.0"
32243193
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
@@ -3241,6 +3210,16 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
32413210
path-type "^4.0.0"
32423211
yaml "^1.10.0"
32433212

3213+
cosmiconfig@^8.1.0:
3214+
version "8.1.0"
3215+
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.0.tgz#947e174c796483ccf0a48476c24e4fefb7e1aea8"
3216+
integrity sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg==
3217+
dependencies:
3218+
import-fresh "^3.2.1"
3219+
js-yaml "^4.1.0"
3220+
parse-json "^5.0.0"
3221+
path-type "^4.0.0"
3222+
32443223
crc-32@~1.2.0, crc-32@~1.2.1:
32453224
version "1.2.2"
32463225
resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
@@ -4731,14 +4710,6 @@ immediate@^3.2.2:
47314710
resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266"
47324711
integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==
47334712

4734-
import-fresh@^2.0.0:
4735-
version "2.0.0"
4736-
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
4737-
integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==
4738-
dependencies:
4739-
caller-path "^2.0.0"
4740-
resolve-from "^3.0.0"
4741-
47424713
import-fresh@^3.1.0, import-fresh@^3.2.1:
47434714
version "3.3.0"
47444715
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -4996,11 +4967,6 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
49964967
is-data-descriptor "^1.0.0"
49974968
kind-of "^6.0.2"
49984969

4999-
is-directory@^0.3.1:
5000-
version "0.3.1"
5001-
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
5002-
integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==
5003-
50044970
is-docker@^2.0.0:
50054971
version "2.2.1"
50064972
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
@@ -5723,6 +5689,13 @@ js-yaml@^3.13.1:
57235689
argparse "^1.0.7"
57245690
esprima "^4.0.0"
57255691

5692+
js-yaml@^4.1.0:
5693+
version "4.1.0"
5694+
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
5695+
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
5696+
dependencies:
5697+
argparse "^2.0.1"
5698+
57265699
jsbn@~0.1.0:
57275700
version "0.1.1"
57285701
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
@@ -5778,11 +5751,6 @@ json-bigint@^1.0.0:
57785751
dependencies:
57795752
bignumber.js "^9.0.0"
57805753

5781-
json-parse-better-errors@^1.0.1:
5782-
version "1.0.2"
5783-
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
5784-
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
5785-
57865754
json-parse-even-better-errors@^2.3.0:
57875755
version "2.3.1"
57885756
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
@@ -7044,14 +7012,6 @@ parse-entities@^2.0.0:
70447012
is-decimal "^1.0.0"
70457013
is-hexadecimal "^1.0.0"
70467014

7047-
parse-json@^4.0.0:
7048-
version "4.0.0"
7049-
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
7050-
integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==
7051-
dependencies:
7052-
error-ex "^1.3.1"
7053-
json-parse-better-errors "^1.0.1"
7054-
70557015
parse-json@^5.0.0:
70567016
version "5.2.0"
70577017
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
@@ -7840,11 +7800,6 @@ resolve-cwd@^3.0.0:
78407800
dependencies:
78417801
resolve-from "^5.0.0"
78427802

7843-
resolve-from@^3.0.0:
7844-
version "3.0.0"
7845-
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
7846-
integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==
7847-
78487803
resolve-from@^4.0.0:
78497804
version "4.0.0"
78507805
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"

0 commit comments

Comments
 (0)