@cedarjs/project-config 7.0.0-canary.3237 → 7.0.0-canary.3241
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/dist/config.d.ts +23 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/index.js +30 -1
- package/dist/packageManager.js +2 -1
- package/dist/workspaces.js +2 -1
- package/package.json +2 -2
package/dist/config.d.ts
CHANGED
|
@@ -55,6 +55,17 @@ interface AuthImpersonationConfig {
|
|
|
55
55
|
email?: string;
|
|
56
56
|
roles?: string[];
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* The GraphQL scalars that the web side parses into a richer type than the
|
|
60
|
+
* string they arrive as, and the type to parse each one into. A scalar that is
|
|
61
|
+
* not listed stays a string.
|
|
62
|
+
*/
|
|
63
|
+
export interface ParsedScalarsConfig {
|
|
64
|
+
/**
|
|
65
|
+
* Parses `DateTime` values into `Date` objects.
|
|
66
|
+
*/
|
|
67
|
+
DateTime?: 'Date';
|
|
68
|
+
}
|
|
58
69
|
interface StudioConfig {
|
|
59
70
|
basePort: number;
|
|
60
71
|
graphiql?: GraphiQLStudioConfig;
|
|
@@ -76,6 +87,7 @@ export interface Config {
|
|
|
76
87
|
includeScalars: {
|
|
77
88
|
File: boolean;
|
|
78
89
|
};
|
|
90
|
+
parsedScalars: ParsedScalarsConfig;
|
|
79
91
|
};
|
|
80
92
|
notifications: {
|
|
81
93
|
versionUpdates: string[];
|
|
@@ -164,6 +176,17 @@ export declare const DEFAULT_CONFIG: Config;
|
|
|
164
176
|
* the project config file (cedar.toml or redwood.toml)
|
|
165
177
|
*/
|
|
166
178
|
export declare function getConfig(configPath?: string): Config;
|
|
179
|
+
/**
|
|
180
|
+
* Returns the `graphql.parsedScalars` setting from `cedar.toml`, checked
|
|
181
|
+
* against the values Cedar supports. A scalar that is not in the returned
|
|
182
|
+
* object is not parsed and stays a string.
|
|
183
|
+
*
|
|
184
|
+
* @param config The project config. Defaults to the config of the current
|
|
185
|
+
* project
|
|
186
|
+
* @throws When the setting names a scalar that can't be parsed, or a value
|
|
187
|
+
* the scalar can't be parsed into
|
|
188
|
+
*/
|
|
189
|
+
export declare function getParsedScalars(config?: Config): ParsedScalarsConfig;
|
|
167
190
|
/**
|
|
168
191
|
* Returns a JSON representation of the config file without any default values.
|
|
169
192
|
*
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAKjC,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAC,IAAI,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC7B;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAC,OAAO,CAAA;IAC1B,2BAA2B,EAAE,MAAM,EAAE,CAAA;IACrC;;;;;;QAMI;IACJ,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,WAAW,EAAE,OAAO,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;CAC5C;AAED,KAAK,mCAAmC,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;AAE5E,UAAU,uBAAuB;IAC/B,YAAY,CAAC,EAAE,mCAAmC,CAAA;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,mBAAmB,CAAA;IACxB,GAAG,EAAE,gBAAgB,CAAA;IACrB,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;KACvB,CAAA;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO,CAAA;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,mBAAmB,EAAE,OAAO,CAAA;KAC7B,CAAA;IACD,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAA;QAClB,gBAAgB,EAAE,OAAO,CAAA;QACzB,cAAc,EAAE;YACd,IAAI,EAAE,OAAO,CAAA;SACd,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAKjC,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAC,IAAI,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC7B;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAC,OAAO,CAAA;IAC1B,2BAA2B,EAAE,MAAM,EAAE,CAAA;IACrC;;;;;;QAMI;IACJ,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,WAAW,EAAE,OAAO,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;CAC5C;AAED,KAAK,mCAAmC,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;AAE5E,UAAU,uBAAuB;IAC/B,YAAY,CAAC,EAAE,mCAAmC,CAAA;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,mBAAmB,CAAA;IACxB,GAAG,EAAE,gBAAgB,CAAA;IACrB,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;KACvB,CAAA;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO,CAAA;QACd,OAAO,EAAE,OAAO,CAAA;QAChB,mBAAmB,EAAE,OAAO,CAAA;KAC7B,CAAA;IACD,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAA;QAClB,gBAAgB,EAAE,OAAO,CAAA;QACzB,cAAc,EAAE;YACd,IAAI,EAAE,OAAO,CAAA;SACd,CAAA;QACD,aAAa,EAAE,mBAAmB,CAAA;KACnC,CAAA;IACD,aAAa,EAAE;QACb,cAAc,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;IACD,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE;QACJ;;;;;;;;;WASG;QACH,oBAAoB,EAAE,OAAO,CAAA;KAC9B,CAAA;IACD,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,OAAO,EAAE,OAAO,CAAA;YAChB,OAAO,EAAE,OAAO,CAAA;YAChB,MAAM,CAAC,EAAE,MAAM,CAAA;SAChB,CAAA;QACD,GAAG,EAAE;YACH,WAAW,EAAE,OAAO,CAAA;YACpB,OAAO,EAAE,SAAS,EAAE,CAAA;SACrB,CAAA;QACD,4BAA4B,EAAE,OAAO,CAAA;QACrC,YAAY,EAAE;YACZ,OAAO,EAAE,OAAO,CAAA;SACjB,CAAA;QACD,GAAG,EAAE;YACH,OAAO,EAAE,OAAO,CAAA;SACjB,CAAA;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO,CAAA;SACjB,CAAA;QACD,aAAa,EAAE;YACb,OAAO,EAAE,OAAO,CAAA;YAChB,QAAQ,EAAE,OAAO,CAAA;SAClB,CAAA;QACD,iBAAiB,EAAE,uBAAuB,CAAA;QAC1C,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAA;YAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;YAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;YACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;YAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAA;SACrC,CAAA;KACF,CAAA;CACF;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAA;IAChB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,uBAAuB,GAAG,SAAS,CAAA;CACrE;AAED,eAAO,MAAM,cAAc,EAAE,MA8F5B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAGrD;AASD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,GAAE,MAAoB,GAC3B,mBAAmB,CA2CrB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,SAAkB,kBAMxD"}
|
package/dist/index.js
CHANGED
|
@@ -70,7 +70,8 @@ var DEFAULT_CONFIG = {
|
|
|
70
70
|
graphql: {
|
|
71
71
|
fragments: false,
|
|
72
72
|
trustedDocuments: false,
|
|
73
|
-
includeScalars: { File: true }
|
|
73
|
+
includeScalars: { File: true },
|
|
74
|
+
parsedScalars: {}
|
|
74
75
|
},
|
|
75
76
|
browser: {
|
|
76
77
|
open: false
|
|
@@ -143,6 +144,33 @@ function getConfig(configPath) {
|
|
|
143
144
|
const config = merge(DEFAULT_CONFIG, getRawConfig(configPath));
|
|
144
145
|
return config;
|
|
145
146
|
}
|
|
147
|
+
var SUPPORTED_PARSED_SCALARS = {
|
|
148
|
+
DateTime: ["Date"]
|
|
149
|
+
};
|
|
150
|
+
function getParsedScalars(config = getConfig()) {
|
|
151
|
+
const parsedScalars = config.graphql.parsedScalars;
|
|
152
|
+
if (typeof parsedScalars !== "object" || parsedScalars === null || Array.isArray(parsedScalars)) {
|
|
153
|
+
throw new Error(
|
|
154
|
+
`graphql.parsedScalars in cedar.toml must be a table, for example [graphql.parsedScalars]
|
|
155
|
+
DateTime = "Date", not ${JSON.stringify(parsedScalars)}.`
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
const entries = Object.entries(parsedScalars);
|
|
159
|
+
for (const [scalar, value] of entries) {
|
|
160
|
+
const supportedValues = SUPPORTED_PARSED_SCALARS[scalar];
|
|
161
|
+
if (!supportedValues) {
|
|
162
|
+
throw new Error(
|
|
163
|
+
`"${scalar}" can't be set in graphql.parsedScalars in cedar.toml. Only ` + Object.keys(SUPPORTED_PARSED_SCALARS).join(", ") + " can be parsed. Remove it to keep the scalar as a string."
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
if (typeof value !== "string" || !supportedValues.includes(value)) {
|
|
167
|
+
throw new Error(
|
|
168
|
+
`${JSON.stringify(value)} is not a supported value for graphql.parsedScalars.${scalar} in cedar.toml. Use ` + supportedValues.map((v) => JSON.stringify(v)).join(" or ") + ", or remove it to keep the scalar as a string."
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return config.graphql.parsedScalars;
|
|
173
|
+
}
|
|
146
174
|
function getRawConfig(configPath = getConfigPath()) {
|
|
147
175
|
try {
|
|
148
176
|
return toml.parse(envInterpolation(fs2.readFileSync(configPath, "utf8")));
|
|
@@ -586,6 +614,7 @@ export {
|
|
|
586
614
|
getEnvVarDefinitions,
|
|
587
615
|
getGeneratedDataDirPath,
|
|
588
616
|
getMigrationsPath,
|
|
617
|
+
getParsedScalars,
|
|
589
618
|
getPaths,
|
|
590
619
|
getPrismaDatasourceProvider,
|
|
591
620
|
getPrismaSchemas,
|
package/dist/packageManager.js
CHANGED
package/dist/workspaces.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/project-config",
|
|
3
|
-
"version": "7.0.0-canary.
|
|
3
|
+
"version": "7.0.0-canary.3241",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@arethetypeswrong/cli": "0.18.5",
|
|
49
|
-
"@cedarjs/framework-tools": "7.0.0-canary.
|
|
49
|
+
"@cedarjs/framework-tools": "7.0.0-canary.3241",
|
|
50
50
|
"concurrently": "9.2.4",
|
|
51
51
|
"prisma": "7.10.0",
|
|
52
52
|
"publint": "0.3.24",
|