@comet/admin-generator 8.17.1 → 9.0.0-beta.0
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/bin/admin-generator.mjs +3 -0
- package/dist/adminGenerator.d.mts +1 -0
- package/dist/adminGenerator.mjs +4441 -0
- package/dist/index.d.mts +344 -0
- package/dist/index.mjs +4440 -0
- package/package.json +31 -21
- package/bin/admin-generator.js +0 -8
- package/lib/adminGenerator.d.ts +0 -1
- package/lib/adminGenerator.js +0 -8
- package/lib/commands/generate/config/parseConfig.d.ts +0 -1
- package/lib/commands/generate/config/parseConfig.js +0 -72
- package/lib/commands/generate/config/transformConfig.d.ts +0 -7
- package/lib/commands/generate/config/transformConfig.js +0 -264
- package/lib/commands/generate/generate-command.d.ts +0 -340
- package/lib/commands/generate/generate-command.js +0 -112
- package/lib/commands/generate/generateForm/asyncSelect/generateAsyncSelect.d.ts +0 -26
- package/lib/commands/generate/generateForm/asyncSelect/generateAsyncSelect.js +0 -364
- package/lib/commands/generate/generateForm/extractErrorEnums.d.ts +0 -16
- package/lib/commands/generate/generateForm/extractErrorEnums.js +0 -100
- package/lib/commands/generate/generateForm/flatFormFieldsFromFormConfig.d.ts +0 -2
- package/lib/commands/generate/generateForm/flatFormFieldsFromFormConfig.js +0 -22
- package/lib/commands/generate/generateForm/formField/findIntrospectionFieldType.d.ts +0 -6
- package/lib/commands/generate/generateForm/formField/findIntrospectionFieldType.js +0 -22
- package/lib/commands/generate/generateForm/formField/options.d.ts +0 -24
- package/lib/commands/generate/generateForm/formField/options.js +0 -85
- package/lib/commands/generate/generateForm/generateComponentFormField.d.ts +0 -5
- package/lib/commands/generate/generateForm/generateComponentFormField.js +0 -22
- package/lib/commands/generate/generateForm/generateErrorHandling.d.ts +0 -8
- package/lib/commands/generate/generateForm/generateErrorHandling.js +0 -24
- package/lib/commands/generate/generateForm/generateErrorMessages.d.ts +0 -11
- package/lib/commands/generate/generateForm/generateErrorMessages.js +0 -28
- package/lib/commands/generate/generateForm/generateFields.d.ts +0 -42
- package/lib/commands/generate/generateForm/generateFields.js +0 -87
- package/lib/commands/generate/generateForm/generateForm.d.ts +0 -14
- package/lib/commands/generate/generateForm/generateForm.js +0 -565
- package/lib/commands/generate/generateForm/generateFormField.d.ts +0 -12
- package/lib/commands/generate/generateForm/generateFormField.js +0 -368
- package/lib/commands/generate/generateForm/generateFormLayout.d.ts +0 -12
- package/lib/commands/generate/generateForm/generateFormLayout.js +0 -154
- package/lib/commands/generate/generateForm/generateFormValues.d.ts +0 -40
- package/lib/commands/generate/generateForm/generateFormValues.js +0 -219
- package/lib/commands/generate/generateForm/generateFragmentByFormFragmentFields.d.ts +0 -11
- package/lib/commands/generate/generateForm/generateFragmentByFormFragmentFields.js +0 -29
- package/lib/commands/generate/generateForm/getForwardedGqlArgs.d.ts +0 -18
- package/lib/commands/generate/generateForm/getForwardedGqlArgs.js +0 -79
- package/lib/commands/generate/generateGrid/detectMuiXVersion.d.ts +0 -5
- package/lib/commands/generate/generateGrid/detectMuiXVersion.js +0 -32
- package/lib/commands/generate/generateGrid/findInputObjectType.d.ts +0 -2
- package/lib/commands/generate/generateGrid/findInputObjectType.js +0 -15
- package/lib/commands/generate/generateGrid/generateGqlFieldList.d.ts +0 -6
- package/lib/commands/generate/generateGrid/generateGqlFieldList.js +0 -56
- package/lib/commands/generate/generateGrid/generateGrid.d.ts +0 -16
- package/lib/commands/generate/generateGrid/generateGrid.js +0 -1017
- package/lib/commands/generate/generateGrid/generateGridToolbar.d.ts +0 -15
- package/lib/commands/generate/generateGrid/generateGridToolbar.js +0 -90
- package/lib/commands/generate/generateGrid/getForwardedGqlArgs.d.ts +0 -13
- package/lib/commands/generate/generateGrid/getForwardedGqlArgs.js +0 -59
- package/lib/commands/generate/generateGrid/getPropsForFilterProp.d.ts +0 -14
- package/lib/commands/generate/generateGrid/getPropsForFilterProp.js +0 -13
- package/lib/commands/generate/generateGrid/usableFields.d.ts +0 -14
- package/lib/commands/generate/generateGrid/usableFields.js +0 -3
- package/lib/commands/generate/utils/camelCaseToHumanReadable.d.ts +0 -1
- package/lib/commands/generate/utils/camelCaseToHumanReadable.js +0 -7
- package/lib/commands/generate/utils/columnVisibility.d.ts +0 -6
- package/lib/commands/generate/utils/columnVisibility.js +0 -2
- package/lib/commands/generate/utils/convertConfigImport.d.ts +0 -6
- package/lib/commands/generate/utils/convertConfigImport.js +0 -14
- package/lib/commands/generate/utils/findMutationType.d.ts +0 -3
- package/lib/commands/generate/utils/findMutationType.js +0 -18
- package/lib/commands/generate/utils/findQueryType.d.ts +0 -2
- package/lib/commands/generate/utils/findQueryType.js +0 -18
- package/lib/commands/generate/utils/findRootBlocks.d.ts +0 -8
- package/lib/commands/generate/utils/findRootBlocks.js +0 -66
- package/lib/commands/generate/utils/generateGqlOperation.d.ts +0 -12
- package/lib/commands/generate/utils/generateGqlOperation.js +0 -87
- package/lib/commands/generate/utils/generateImportsCode.d.ts +0 -6
- package/lib/commands/generate/utils/generateImportsCode.js +0 -31
- package/lib/commands/generate/utils/intl.d.ts +0 -20
- package/lib/commands/generate/utils/intl.js +0 -44
- package/lib/commands/generate/utils/isFieldOptional.d.ts +0 -7
- package/lib/commands/generate/utils/isFieldOptional.js +0 -21
- package/lib/commands/generate/utils/runtimeTypeGuards.d.ts +0 -20
- package/lib/commands/generate/utils/runtimeTypeGuards.js +0 -22
- package/lib/commands/generate/utils/writeGenerated.d.ts +0 -1
- package/lib/commands/generate/utils/writeGenerated.js +0 -123
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -6
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateComponentFormField = generateComponentFormField;
|
|
4
|
-
const convertConfigImport_1 = require("../utils/convertConfigImport");
|
|
5
|
-
const runtimeTypeGuards_1 = require("../utils/runtimeTypeGuards");
|
|
6
|
-
function generateComponentFormField({ config }) {
|
|
7
|
-
if (!(0, runtimeTypeGuards_1.isGeneratorConfigImport)(config.component)) {
|
|
8
|
-
throw new Error("config.component must be a GeneratorConfigImport");
|
|
9
|
-
}
|
|
10
|
-
const imports = [(0, convertConfigImport_1.convertConfigImport)(config.component)];
|
|
11
|
-
const code = `<${config.component.name} />`;
|
|
12
|
-
return {
|
|
13
|
-
imports,
|
|
14
|
-
formProps: [],
|
|
15
|
-
hooksCode: "",
|
|
16
|
-
formFragmentFields: [],
|
|
17
|
-
formValuesConfig: [],
|
|
18
|
-
finalFormConfig: undefined,
|
|
19
|
-
code,
|
|
20
|
-
gqlDocuments: {},
|
|
21
|
-
};
|
|
22
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates error handling code for form submissions.
|
|
3
|
-
* Creates errors.reduce() implementation that maps GraphQL errors to Final Form submission errors.
|
|
4
|
-
*/
|
|
5
|
-
export declare function generateErrorHandlingCode({ mutationResponsePath, errorMessagesVariable, }: {
|
|
6
|
-
mutationResponsePath: string;
|
|
7
|
-
errorMessagesVariable: string;
|
|
8
|
-
}): string;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateErrorHandlingCode = generateErrorHandlingCode;
|
|
4
|
-
/**
|
|
5
|
-
* Generates error handling code for form submissions.
|
|
6
|
-
* Creates errors.reduce() implementation that maps GraphQL errors to Final Form submission errors.
|
|
7
|
-
*/
|
|
8
|
-
function generateErrorHandlingCode({ mutationResponsePath, errorMessagesVariable, }) {
|
|
9
|
-
return `
|
|
10
|
-
if (${mutationResponsePath}.errors.length) {
|
|
11
|
-
return ${mutationResponsePath}.errors.reduce(
|
|
12
|
-
(submissionErrors, error) => {
|
|
13
|
-
const errorMessage = ${errorMessagesVariable}[error.code];
|
|
14
|
-
if (error.field) {
|
|
15
|
-
submissionErrors[error.field] = errorMessage;
|
|
16
|
-
} else {
|
|
17
|
-
submissionErrors[FORM_ERROR] = errorMessage;
|
|
18
|
-
}
|
|
19
|
-
return submissionErrors;
|
|
20
|
-
},
|
|
21
|
-
{} as Record<string, ReactNode>,
|
|
22
|
-
);
|
|
23
|
-
}`;
|
|
24
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type IntrospectionQuery } from "graphql";
|
|
2
|
-
/**
|
|
3
|
-
* Generates TypeScript code for submissionErrorMessages object(s).
|
|
4
|
-
* Creates a mapped type object with FormattedMessage components for each error code.
|
|
5
|
-
*/
|
|
6
|
-
export declare function generateErrorMessagesCode({ enumName, gqlType, variableName, gqlIntrospection, }: {
|
|
7
|
-
enumName: string;
|
|
8
|
-
gqlType: string;
|
|
9
|
-
variableName: string;
|
|
10
|
-
gqlIntrospection: IntrospectionQuery;
|
|
11
|
-
}): string;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateErrorMessagesCode = generateErrorMessagesCode;
|
|
4
|
-
const camelCaseToHumanReadable_1 = require("../utils/camelCaseToHumanReadable");
|
|
5
|
-
/**
|
|
6
|
-
* Generates TypeScript code for submissionErrorMessages object(s).
|
|
7
|
-
* Creates a mapped type object with FormattedMessage components for each error code.
|
|
8
|
-
*/
|
|
9
|
-
function generateErrorMessagesCode({ enumName, gqlType, variableName, gqlIntrospection, }) {
|
|
10
|
-
// Find enum type in introspection
|
|
11
|
-
const enumType = gqlIntrospection.__schema.types.find((type) => type.kind === "ENUM" && type.name === enumName);
|
|
12
|
-
if (!enumType || enumType.enumValues.length === 0) {
|
|
13
|
-
return "";
|
|
14
|
-
}
|
|
15
|
-
// Generate error message entries
|
|
16
|
-
const errorEntries = enumType.enumValues
|
|
17
|
-
.map((enumValue) => {
|
|
18
|
-
const errorCode = enumValue.name;
|
|
19
|
-
const defaultMessage = enumValue.description || (0, camelCaseToHumanReadable_1.camelCaseToHumanReadable)(errorCode);
|
|
20
|
-
const i18nId = `${gqlType.toLowerCase()}.form.error.${errorCode}`;
|
|
21
|
-
return `${errorCode}: <FormattedMessage id="${i18nId}" defaultMessage="${defaultMessage}" />`;
|
|
22
|
-
})
|
|
23
|
-
.join(",\n");
|
|
24
|
-
// Generate complete error messages object
|
|
25
|
-
return `const ${variableName}: Record<GQL${enumName}, ReactNode> = {
|
|
26
|
-
${errorEntries},
|
|
27
|
-
};`;
|
|
28
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { type IntrospectionQuery } from "graphql";
|
|
2
|
-
import { type FormConfig, type FormFieldConfig, type GeneratorReturn } from "../generate-command";
|
|
3
|
-
import { type Imports } from "../utils/generateImportsCode";
|
|
4
|
-
import { type Prop } from "./generateForm";
|
|
5
|
-
export type GenerateFieldsReturn = GeneratorReturn & {
|
|
6
|
-
imports: Imports;
|
|
7
|
-
hooksCode: string;
|
|
8
|
-
formFragmentFields: string[];
|
|
9
|
-
formProps: Prop[];
|
|
10
|
-
formValuesConfig: {
|
|
11
|
-
fieldName: string;
|
|
12
|
-
omitFromFragmentType?: boolean;
|
|
13
|
-
destructFromFormValues?: boolean;
|
|
14
|
-
typeCode?: {
|
|
15
|
-
nullable: boolean;
|
|
16
|
-
type: string;
|
|
17
|
-
};
|
|
18
|
-
initializationCode?: string;
|
|
19
|
-
defaultInitializationCode?: string;
|
|
20
|
-
formValueToGqlInputCode?: string;
|
|
21
|
-
wrapFormValueToGqlInputCode?: string;
|
|
22
|
-
}[];
|
|
23
|
-
finalFormConfig?: {
|
|
24
|
-
subscription?: {
|
|
25
|
-
values?: true;
|
|
26
|
-
};
|
|
27
|
-
renderProps?: {
|
|
28
|
-
values?: true;
|
|
29
|
-
form?: true;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export declare function findFieldByName(name: string, fields: FormConfig<any>["fields"]): FormFieldConfig<unknown> | undefined;
|
|
34
|
-
export declare function generateFields({ gqlIntrospection, baseOutputFilename, fields, formFragmentName, formConfig, gqlType, namePrefix, }: {
|
|
35
|
-
gqlIntrospection: IntrospectionQuery;
|
|
36
|
-
baseOutputFilename: string;
|
|
37
|
-
fields: FormConfig<any>["fields"];
|
|
38
|
-
formConfig: FormConfig<any>;
|
|
39
|
-
formFragmentName: string;
|
|
40
|
-
gqlType: string;
|
|
41
|
-
namePrefix?: string;
|
|
42
|
-
}): GenerateFieldsReturn;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findFieldByName = findFieldByName;
|
|
4
|
-
exports.generateFields = generateFields;
|
|
5
|
-
const generate_command_1 = require("../generate-command");
|
|
6
|
-
const generateComponentFormField_1 = require("./generateComponentFormField");
|
|
7
|
-
const generateFormField_1 = require("./generateFormField");
|
|
8
|
-
const generateFormLayout_1 = require("./generateFormLayout");
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
function findFieldByName(name, fields) {
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
|
-
return fields.reduce((acc, field) => {
|
|
13
|
-
return acc
|
|
14
|
-
? acc
|
|
15
|
-
: "name" in field && field.name === name
|
|
16
|
-
? field
|
|
17
|
-
: (0, generate_command_1.isFormLayoutConfig)(field)
|
|
18
|
-
? findFieldByName(name, field.fields)
|
|
19
|
-
: undefined;
|
|
20
|
-
}, undefined);
|
|
21
|
-
}
|
|
22
|
-
function generateFields({ gqlIntrospection, baseOutputFilename, fields, formFragmentName, formConfig, gqlType, namePrefix, }) {
|
|
23
|
-
const gqlDocuments = {};
|
|
24
|
-
let hooksCode = "";
|
|
25
|
-
const formFragmentFields = [];
|
|
26
|
-
const imports = [];
|
|
27
|
-
const formProps = [];
|
|
28
|
-
const formValuesConfig = [];
|
|
29
|
-
const finalFormConfig = { subscription: {}, renderProps: {} };
|
|
30
|
-
const code = fields
|
|
31
|
-
.map((field) => {
|
|
32
|
-
var _a, _b;
|
|
33
|
-
let generated;
|
|
34
|
-
if (field.type === "component") {
|
|
35
|
-
generated = (0, generateComponentFormField_1.generateComponentFormField)({
|
|
36
|
-
config: field,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
else if ((0, generate_command_1.isFormFieldConfig)(field)) {
|
|
40
|
-
generated = (0, generateFormField_1.generateFormField)({
|
|
41
|
-
gqlIntrospection,
|
|
42
|
-
baseOutputFilename,
|
|
43
|
-
formFragmentName,
|
|
44
|
-
config: field,
|
|
45
|
-
formConfig,
|
|
46
|
-
gqlType,
|
|
47
|
-
namePrefix,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
else if ((0, generate_command_1.isFormLayoutConfig)(field)) {
|
|
51
|
-
generated = (0, generateFormLayout_1.generateFormLayout)({
|
|
52
|
-
gqlIntrospection,
|
|
53
|
-
baseOutputFilename,
|
|
54
|
-
formFragmentName,
|
|
55
|
-
config: field,
|
|
56
|
-
formConfig,
|
|
57
|
-
gqlType,
|
|
58
|
-
namePrefix,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
throw new Error("Not supported config");
|
|
63
|
-
}
|
|
64
|
-
for (const name in generated.gqlDocuments) {
|
|
65
|
-
gqlDocuments[name] = generated.gqlDocuments[name];
|
|
66
|
-
}
|
|
67
|
-
imports.push(...generated.imports);
|
|
68
|
-
formProps.push(...generated.formProps);
|
|
69
|
-
hooksCode += generated.hooksCode;
|
|
70
|
-
formFragmentFields.push(...generated.formFragmentFields);
|
|
71
|
-
formValuesConfig.push(...generated.formValuesConfig);
|
|
72
|
-
finalFormConfig.subscription = Object.assign(Object.assign({}, finalFormConfig.subscription), (_a = generated.finalFormConfig) === null || _a === void 0 ? void 0 : _a.subscription);
|
|
73
|
-
finalFormConfig.renderProps = Object.assign(Object.assign({}, finalFormConfig.renderProps), (_b = generated.finalFormConfig) === null || _b === void 0 ? void 0 : _b.renderProps);
|
|
74
|
-
return generated.code;
|
|
75
|
-
})
|
|
76
|
-
.join("\n");
|
|
77
|
-
return {
|
|
78
|
-
code,
|
|
79
|
-
hooksCode,
|
|
80
|
-
formFragmentFields,
|
|
81
|
-
gqlDocuments,
|
|
82
|
-
imports,
|
|
83
|
-
formProps,
|
|
84
|
-
formValuesConfig,
|
|
85
|
-
finalFormConfig,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type IntrospectionQuery } from "graphql";
|
|
2
|
-
import { type FormConfig, type GeneratorReturn } from "../generate-command";
|
|
3
|
-
export type Prop = {
|
|
4
|
-
type: string;
|
|
5
|
-
optional: boolean;
|
|
6
|
-
name: string;
|
|
7
|
-
localAliasName?: string;
|
|
8
|
-
};
|
|
9
|
-
export declare function generateForm({ exportName, baseOutputFilename, targetDirectory, gqlIntrospection, }: {
|
|
10
|
-
exportName: string;
|
|
11
|
-
baseOutputFilename: string;
|
|
12
|
-
targetDirectory: string;
|
|
13
|
-
gqlIntrospection: IntrospectionQuery;
|
|
14
|
-
}, config: FormConfig<any>): GeneratorReturn;
|