graphile-config 0.0.1-beta.6 → 0.0.1-beta.8
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 +19 -0
- package/README.md +2 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/resolvePresets.d.ts.map +1 -1
- package/dist/resolvePresets.js +38 -4
- package/dist/resolvePresets.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# graphile-config
|
|
2
2
|
|
|
3
|
+
## 0.0.1-beta.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#2048](https://github.com/graphile/crystal/pull/2048)
|
|
8
|
+
[`db8ceed0f`](https://github.com/graphile/crystal/commit/db8ceed0f17923eb78ff09c9f3f28800a5c7e3b6)
|
|
9
|
+
Thanks [@benjie](https://github.com/benjie)! - Help detect more invalid
|
|
10
|
+
presets and plugins (bad imports) by forbidding keys starting with a capital
|
|
11
|
+
or the key `default`.
|
|
12
|
+
|
|
13
|
+
## 0.0.1-beta.7
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [#1930](https://github.com/graphile/crystal/pull/1930)
|
|
18
|
+
[`5de3e86eb`](https://github.com/graphile/crystal/commit/5de3e86eba1ddfe5e07732d0325c63e5d72d4b5b)
|
|
19
|
+
Thanks [@benjie](https://github.com/benjie)! - Prevent using
|
|
20
|
+
appendPlugins/prependPlugins/skipPlugins in presets.
|
|
21
|
+
|
|
3
22
|
## 0.0.1-beta.6
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -129,8 +129,8 @@ And please give some love to our featured sponsors 🤩:
|
|
|
129
129
|
<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>
|
|
130
130
|
<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>
|
|
131
131
|
</tr><tr>
|
|
132
|
-
<td align="center"><a href="https://
|
|
133
|
-
<td align="center"><a href="https://
|
|
132
|
+
<td align="center"><a href="https://gosteelhead.com/"><img src="https://graphile.org/images/sponsors/steelhead.svg" width="90" height="90" alt="Steelhead" /><br />Steelhead</a> *</td>
|
|
133
|
+
<td align="center"><a href="https://www.sylvera.com/"><img src="https://graphile.org/images/sponsors/sylvera.svg" width="90" height="90" alt="Sylvera" /><br />Sylvera</a> *</td>
|
|
134
134
|
</tr></table>
|
|
135
135
|
|
|
136
136
|
<em>\* Sponsors the entire Graphile suite</em>
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,9 @@ declare global {
|
|
|
24
24
|
extends?: ReadonlyArray<Preset>;
|
|
25
25
|
plugins?: Plugin[];
|
|
26
26
|
disablePlugins?: ReadonlyArray<string>;
|
|
27
|
+
appendPlugins?: never;
|
|
28
|
+
prependPlugins?: never;
|
|
29
|
+
skipPlugins?: never;
|
|
27
30
|
}
|
|
28
31
|
interface ResolvedPreset extends Preset {
|
|
29
32
|
extends?: ReadonlyArray<never>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEvE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,SAAS,GAC3C,cAAc,CAAC,MAAM,EAAE,CAMzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,MAAM;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB;QAED;;;;WAIG;QACH,UAAU,MAAM;YACd,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAIzB,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEvE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,SAAS,GAC3C,cAAc,CAAC,MAAM,EAAE,CAMzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,MAAM;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB;QAED;;;;WAIG;QACH,UAAU,MAAM;YACd,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACvC,aAAa,CAAC,EAAE,KAAK,CAAC;YACtB,cAAc,CAAC,EAAE,KAAK,CAAC;YACvB,WAAW,CAAC,EAAE,KAAK,CAAC;SAGrB;QAED,UAAU,cAAe,SAAQ,MAAM;YAErC,OAAO,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YACnB,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SACxC;KACF;CACF"}
|
|
@@ -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;AAuCzB,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
|
@@ -3,14 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.resolvePresets = exports.isResolvedPreset = void 0;
|
|
4
4
|
require("./interfaces.js");
|
|
5
5
|
const sort_js_1 = require("./sort.js");
|
|
6
|
-
const
|
|
6
|
+
const PROBABLY_A_PLUGIN_NOT_A_PRESET_KEYS = [
|
|
7
7
|
"name",
|
|
8
8
|
"experimental",
|
|
9
9
|
"provides",
|
|
10
10
|
"before",
|
|
11
11
|
"after",
|
|
12
|
+
// To avoid confusion with PostGraphile V4:
|
|
13
|
+
"appendPlugins",
|
|
14
|
+
"prependPlugins",
|
|
15
|
+
"skipPlugins",
|
|
16
|
+
];
|
|
17
|
+
const PROBABLY_A_PRESET_NOT_A_PLUGIN_KEYS = [
|
|
18
|
+
"plugins",
|
|
19
|
+
"disablePlugins",
|
|
20
|
+
"extends",
|
|
12
21
|
];
|
|
13
|
-
const PLUGIN_FORBIDDEN_KEYS = ["plugins", "disablePlugins", "extends"];
|
|
14
22
|
let inspect;
|
|
15
23
|
try {
|
|
16
24
|
inspect = require("util").inspect;
|
|
@@ -90,12 +98,28 @@ function assertPlugin(plugin) {
|
|
|
90
98
|
if (plugin.version != null && typeof plugin.version !== "string") {
|
|
91
99
|
throw new Error(`Expected plugin '${plugin.name}' to have a string 'version'; found ${inspect(plugin.version)}`);
|
|
92
100
|
}
|
|
93
|
-
|
|
101
|
+
const keys = Object.keys(plugin);
|
|
102
|
+
const forbiddenKeys = keys.filter(isForbiddenPluginKey);
|
|
103
|
+
if (forbiddenKeys.length) {
|
|
104
|
+
throw new Error(`Expected a GraphileConfig plugin, but found an object with forbidden keys ` +
|
|
105
|
+
`(e.g. keys starting with a capital letter, or a 'default' key). This typically indicates an ` +
|
|
106
|
+
`issue with ESM compatibility or import method, for example ` +
|
|
107
|
+
`doing \`import MyPlugin from 'my-plugin'\` instead of ` +
|
|
108
|
+
`\`import { MyPlugin } from 'my-plugin'\` or vice versa. ` +
|
|
109
|
+
`Forbidden keys: '${forbiddenKeys.join("', '")}', full value: '${inspect(plugin)}'`);
|
|
110
|
+
}
|
|
111
|
+
for (const forbiddenKey of PROBABLY_A_PRESET_NOT_A_PLUGIN_KEYS) {
|
|
94
112
|
if (plugin[forbiddenKey]) {
|
|
95
113
|
throw new Error(`Plugin '${plugin.name}' has '${forbiddenKey}' property which suggests it is a preset rather than a plugin. If it is indeed a preset you should add it to your preset via 'extends' rather than 'plugins'.`);
|
|
96
114
|
}
|
|
97
115
|
}
|
|
98
116
|
}
|
|
117
|
+
function isForbiddenPresetKey(key) {
|
|
118
|
+
return /^[A-Z_]/.test(key) || key === "default";
|
|
119
|
+
}
|
|
120
|
+
function isForbiddenPluginKey(key) {
|
|
121
|
+
return /^[A-Z_]/.test(key) || key === "default";
|
|
122
|
+
}
|
|
99
123
|
/**
|
|
100
124
|
* Turns a preset into a resolved preset (i.e. resolves all its `extends`).
|
|
101
125
|
*
|
|
@@ -105,8 +129,18 @@ function resolvePreset(preset) {
|
|
|
105
129
|
if (!isGraphileConfigPreset(preset)) {
|
|
106
130
|
throw new Error(`Expected a GraphileConfig preset (a plain JS object), but found '${inspect(preset)}'`);
|
|
107
131
|
}
|
|
132
|
+
const keys = Object.keys(preset);
|
|
133
|
+
const forbiddenKeys = keys.filter(isForbiddenPresetKey);
|
|
134
|
+
if (forbiddenKeys.length) {
|
|
135
|
+
throw new Error(`Expected a GraphileConfig preset, but found an object with forbidden keys ` +
|
|
136
|
+
`(e.g. keys starting with a capital letter, or a 'default' key). This typically indicates an ` +
|
|
137
|
+
`issue with ESM compatibility or import method, for example ` +
|
|
138
|
+
`doing \`import MyPreset from 'my-preset'\` instead of ` +
|
|
139
|
+
`\`import { MyPreset } from 'my-preset'\` or vice versa. ` +
|
|
140
|
+
`Forbidden keys: '${forbiddenKeys.join("', '")}', full value: '${inspect(preset)}'`);
|
|
141
|
+
}
|
|
108
142
|
try {
|
|
109
|
-
for (const forbiddenKey of
|
|
143
|
+
for (const forbiddenKey of PROBABLY_A_PLUGIN_NOT_A_PRESET_KEYS) {
|
|
110
144
|
if (preset[forbiddenKey]) {
|
|
111
145
|
throw new Error(`Preset has '${forbiddenKey}' property which suggests it is a plugin rather than a preset. If it is indeed a plugin you should add it to your preset via 'plugins' rather than 'extends'.`);
|
|
112
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePresets.js","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":";;;AAAA,2BAAyB;AAEzB,uCAAwD;AAExD,MAAM,
|
|
1
|
+
{"version":3,"file":"resolvePresets.js","sourceRoot":"","sources":["../src/resolvePresets.ts"],"names":[],"mappings":"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"}
|