graphile-config 0.0.1-alpha.4 → 0.0.1-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +1 -3
- package/dist/loadConfig.d.ts.map +1 -1
- package/dist/loadConfig.js +13 -8
- package/dist/loadConfig.js.map +1 -1
- package/dist/resolvePresets.d.ts +1 -1
- package/dist/resolvePresets.d.ts.map +1 -1
- package/dist/resolvePresets.js +25 -23
- package/dist/resolvePresets.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# graphile-config
|
|
2
2
|
|
|
3
|
+
## 0.0.1-alpha.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#408](https://github.com/benjie/postgraphile-private/pull/408)
|
|
8
|
+
[`675b7abb9`](https://github.com/benjie/postgraphile-private/commit/675b7abb93e11d955930b9026fb0b65a56ecc999)
|
|
9
|
+
Thanks [@benjie](https://github.com/benjie)! - `inspect()` fallback function
|
|
10
|
+
updated
|
|
11
|
+
|
|
12
|
+
- [#408](https://github.com/benjie/postgraphile-private/pull/408)
|
|
13
|
+
[`c5050dd28`](https://github.com/benjie/postgraphile-private/commit/c5050dd286bd6d9fa4a5d9cfbf87ba609cb148dd)
|
|
14
|
+
Thanks [@benjie](https://github.com/benjie)! - Warn if plugins could not be
|
|
15
|
+
disabled (due to not being specified).
|
|
16
|
+
|
|
17
|
+
- [#408](https://github.com/benjie/postgraphile-private/pull/408)
|
|
18
|
+
[`0d1782869`](https://github.com/benjie/postgraphile-private/commit/0d1782869adc76f5bbcecfdcbb85a258c468ca37)
|
|
19
|
+
Thanks [@benjie](https://github.com/benjie)! - Only eat ENOENT errors when
|
|
20
|
+
checking for file existance, other errors should still throw.
|
|
21
|
+
|
|
22
|
+
## 0.0.1-alpha.5
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- [#402](https://github.com/benjie/postgraphile-private/pull/402)
|
|
27
|
+
[`644938276`](https://github.com/benjie/postgraphile-private/commit/644938276ebd48c5486ba9736a525fcc66d7d714)
|
|
28
|
+
Thanks [@benjie](https://github.com/benjie)! - Use `file://` URLs in import()
|
|
29
|
+
to fix compatibility with Windows (e.g. when loading `graphile.config.mjs`)
|
|
30
|
+
|
|
3
31
|
## 0.0.1-alpha.4
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -124,14 +124,12 @@ and development via sponsorship.
|
|
|
124
124
|
And please give some love to our featured sponsors 🤩:
|
|
125
125
|
|
|
126
126
|
<table><tr>
|
|
127
|
-
<td align="center"><a href="https://surge.io/"><img src="https://graphile.org/images/sponsors/surge.png" width="90" height="90" alt="Surge" /><br />Surge</a> *</td>
|
|
128
127
|
<td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
|
|
129
128
|
<td align="center"><a href="https://dovetailapp.com/"><img src="https://graphile.org/images/sponsors/dovetail.png" width="90" height="90" alt="Dovetail" /><br />Dovetail</a> *</td>
|
|
130
129
|
<td align="center"><a href="https://qwick.com/"><img src="https://graphile.org/images/sponsors/qwick.png" width="90" height="90" alt="Qwick" /><br />Qwick</a> *</td>
|
|
131
|
-
</tr><tr>
|
|
132
130
|
<td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
|
|
131
|
+
</tr><tr>
|
|
133
132
|
<td align="center"><a href=""><img src="https://graphile.org/images/sponsors/chadf.png" width="90" height="90" alt="Chad Furman" /><br />Chad Furman</a> *</td>
|
|
134
|
-
<td align="center"><a href="https://www.enzuzo.com/"><img src="https://graphile.org/images/sponsors/enzuzo.png" width="90" height="90" alt="Enzuzo" /><br />Enzuzo</a> *</td>
|
|
135
133
|
<td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
|
|
136
134
|
</tr></table>
|
|
137
135
|
|
package/dist/loadConfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AA4DzB,wBAAsB,UAAU,CAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,CA2CvC"}
|
package/dist/loadConfig.js
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loadConfig = void 0;
|
|
4
4
|
require("./interfaces.js");
|
|
5
|
-
const promises_1 = require("fs/promises");
|
|
6
5
|
const interpret_1 = require("interpret");
|
|
7
|
-
const
|
|
6
|
+
const promises_1 = require("node:fs/promises");
|
|
7
|
+
const node_path_1 = require("node:path");
|
|
8
|
+
const node_url_1 = require("node:url");
|
|
8
9
|
const extensions = Object.keys(interpret_1.jsVariants);
|
|
9
10
|
async function exists(filePath) {
|
|
10
11
|
try {
|
|
@@ -12,8 +13,12 @@ async function exists(filePath) {
|
|
|
12
13
|
return true;
|
|
13
14
|
}
|
|
14
15
|
catch (e) {
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
if (e.code === "ENOENT") {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
throw e;
|
|
21
|
+
}
|
|
17
22
|
}
|
|
18
23
|
}
|
|
19
24
|
async function registerLoader(loader) {
|
|
@@ -57,7 +62,7 @@ function fixESMShenanigans(requiredModule) {
|
|
|
57
62
|
async function loadConfig(configPath) {
|
|
58
63
|
if (configPath != null) {
|
|
59
64
|
// Explicitly load the file the user has indicated
|
|
60
|
-
const resolvedPath = (0,
|
|
65
|
+
const resolvedPath = (0, node_path_1.resolve)(process.cwd(), configPath);
|
|
61
66
|
// First try one of the supported loaders
|
|
62
67
|
for (const extension of extensions) {
|
|
63
68
|
if (resolvedPath.endsWith(extension)) {
|
|
@@ -71,11 +76,11 @@ async function loadConfig(configPath) {
|
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
78
|
// Fallback to direct import
|
|
74
|
-
return (await import(resolvedPath)).default;
|
|
79
|
+
return (await import((0, node_url_1.pathToFileURL)(resolvedPath).href)).default;
|
|
75
80
|
}
|
|
76
81
|
else {
|
|
77
82
|
// There's no config path; look for a `graphile.config.*`
|
|
78
|
-
const basePath = (0,
|
|
83
|
+
const basePath = (0, node_path_1.resolve)(process.cwd(), "graphile.config");
|
|
79
84
|
for (const extension of extensions) {
|
|
80
85
|
const resolvedPath = basePath + extension;
|
|
81
86
|
if (await exists(resolvedPath)) {
|
|
@@ -85,7 +90,7 @@ async function loadConfig(configPath) {
|
|
|
85
90
|
}
|
|
86
91
|
catch (e) {
|
|
87
92
|
if (e.code === "ERR_REQUIRE_ESM") {
|
|
88
|
-
return (await import(resolvedPath)).default;
|
|
93
|
+
return (await import((0, node_url_1.pathToFileURL)(resolvedPath).href)).default;
|
|
89
94
|
}
|
|
90
95
|
else {
|
|
91
96
|
throw e;
|
package/dist/loadConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;
|
|
1
|
+
{"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":"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"}
|
package/dist/resolvePresets.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export declare function isResolvedPreset(preset: GraphileConfig.Preset): preset
|
|
|
4
4
|
* Given a list of presets, resolves the presets and returns the resulting
|
|
5
5
|
* ResolvedPreset (which does not have any `extends`).
|
|
6
6
|
*/
|
|
7
|
-
export declare function resolvePresets(presets: ReadonlyArray<GraphileConfig.Preset
|
|
7
|
+
export declare function resolvePresets(presets: ReadonlyArray<GraphileConfig.Preset>, withAssertions?: boolean): GraphileConfig.ResolvedPreset;
|
|
8
8
|
//# sourceMappingURL=resolvePresets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePresets.d.ts","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolvePresets.d.ts","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AA+BzB,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,CAAC,MAAM,GAC5B,MAAM,IAAI,cAAc,CAAC,cAAc,CAEzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EAC7C,cAAc,UAAO,GACpB,cAAc,CAAC,cAAc,CAkC/B"}
|
package/dist/resolvePresets.js
CHANGED
|
@@ -11,14 +11,22 @@ const PRESET_FORBIDDEN_KEYS = [
|
|
|
11
11
|
"after",
|
|
12
12
|
];
|
|
13
13
|
const PLUGIN_FORBIDDEN_KEYS = ["plugins", "disablePlugins", "extends"];
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
let inspect;
|
|
15
|
+
try {
|
|
16
|
+
inspect = require("util").inspect;
|
|
17
|
+
if (typeof inspect !== "function") {
|
|
18
|
+
throw new Error("Failed to load inspect");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
inspect = (obj) => {
|
|
23
|
+
return Array.isArray(obj) ||
|
|
24
|
+
!obj ||
|
|
25
|
+
Object.getPrototypeOf(obj) === null ||
|
|
26
|
+
Object.getPrototypeOf(obj) === Object.prototype
|
|
27
|
+
? JSON.stringify(obj)
|
|
28
|
+
: String(obj);
|
|
29
|
+
};
|
|
22
30
|
}
|
|
23
31
|
function isResolvedPreset(preset) {
|
|
24
32
|
return (preset.plugins && preset.extends?.length === 0) || false;
|
|
@@ -28,7 +36,7 @@ exports.isResolvedPreset = isResolvedPreset;
|
|
|
28
36
|
* Given a list of presets, resolves the presets and returns the resulting
|
|
29
37
|
* ResolvedPreset (which does not have any `extends`).
|
|
30
38
|
*/
|
|
31
|
-
function resolvePresets(presets) {
|
|
39
|
+
function resolvePresets(presets, withAssertions = true) {
|
|
32
40
|
if (presets.length === 1) {
|
|
33
41
|
// Maybe it's already resolved?
|
|
34
42
|
const preset = presets[0];
|
|
@@ -44,6 +52,13 @@ function resolvePresets(presets) {
|
|
|
44
52
|
if (finalPreset.plugins) {
|
|
45
53
|
finalPreset.plugins = (0, sort_js_1.sortWithBeforeAfterProvides)(finalPreset.plugins, "name");
|
|
46
54
|
}
|
|
55
|
+
if (withAssertions) {
|
|
56
|
+
if (finalPreset.disablePlugins && finalPreset.disablePlugins.length > 0) {
|
|
57
|
+
console.warn(`One or more of the plugin(s) entered in your preset's 'disablePlugins' list was not found:\n${finalPreset.disablePlugins
|
|
58
|
+
.map((p) => ` - ${p}`)
|
|
59
|
+
.join("\n")}\nThe list of know plugins is:\n ${finalPreset.plugins?.map((p) => p.name).join(", ") ?? "-"}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
47
62
|
return finalPreset;
|
|
48
63
|
}
|
|
49
64
|
exports.resolvePresets = resolvePresets;
|
|
@@ -97,7 +112,7 @@ function resolvePreset(preset) {
|
|
|
97
112
|
}
|
|
98
113
|
}
|
|
99
114
|
const { extends: presets = [] } = preset;
|
|
100
|
-
const basePreset = resolvePresets(presets);
|
|
115
|
+
const basePreset = resolvePresets(presets, false);
|
|
101
116
|
mergePreset(basePreset, preset);
|
|
102
117
|
const disabled = basePreset.disablePlugins;
|
|
103
118
|
if (disabled) {
|
|
@@ -110,19 +125,6 @@ function resolvePreset(preset) {
|
|
|
110
125
|
plugins.delete(plugin);
|
|
111
126
|
}
|
|
112
127
|
}
|
|
113
|
-
/*
|
|
114
|
-
|
|
115
|
-
TODO: we need an alert like this, but only at the very top level.
|
|
116
|
-
The easiest way to check is to just see if `disablePlugins` has length.
|
|
117
|
-
|
|
118
|
-
if (remaining.size > 0) {
|
|
119
|
-
console.warn(
|
|
120
|
-
`Attempted to 'disablePlugins', but the following plugin(s) weren't found: '${[
|
|
121
|
-
...remaining,
|
|
122
|
-
].join("', '")}' (known: ${[...plugins].map((p) => p.name)})`,
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
*/
|
|
126
128
|
basePreset.plugins = [...plugins];
|
|
127
129
|
basePreset.disablePlugins = [...remaining];
|
|
128
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePresets.js","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAEzB,uCAAwD;AAExD,MAAM,qBAAqB,GAAG;IAC5B,MAAM;IACN,cAAc;IACd,UAAU;IACV,QAAQ;IACR,OAAO;CACR,CAAC;AACF,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAEvE,
|
|
1
|
+
{"version":3,"file":"resolvePresets.js","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":"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"}
|