@famgia/omnify 0.12.8 → 1.0.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/README.md +68 -102
- package/dist/index.cjs +101 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -7
- package/dist/index.js +78 -22
- package/dist/index.js.map +1 -1
- package/package.json +34 -65
- package/CHANGELOG.md +0 -129
- package/dist/__tests__/generators/contextGenerator.test.d.ts +0 -2
- package/dist/__tests__/generators/contextGenerator.test.d.ts.map +0 -1
- package/dist/__tests__/generators/contextGenerator.test.js +0 -109
- package/dist/__tests__/generators/contextGenerator.test.js.map +0 -1
- package/dist/__tests__/generators/enumGenerator.test.d.ts +0 -2
- package/dist/__tests__/generators/enumGenerator.test.d.ts.map +0 -1
- package/dist/__tests__/generators/enumGenerator.test.js +0 -151
- package/dist/__tests__/generators/enumGenerator.test.js.map +0 -1
- package/dist/__tests__/generators/modelGenerator.test.d.ts +0 -2
- package/dist/__tests__/generators/modelGenerator.test.d.ts.map +0 -1
- package/dist/__tests__/generators/modelGenerator.test.js +0 -329
- package/dist/__tests__/generators/modelGenerator.test.js.map +0 -1
- package/dist/__tests__/utils/pascalCase.test.d.ts +0 -1
- package/dist/__tests__/utils/pascalCase.test.d.ts.map +0 -1
- package/dist/__tests__/utils/pascalCase.test.js +0 -75
- package/dist/__tests__/utils/pascalCase.test.js.map +0 -1
- package/dist/__tests__/utils/typeMapper.test.d.ts +0 -2
- package/dist/__tests__/utils/typeMapper.test.d.ts.map +0 -1
- package/dist/__tests__/utils/typeMapper.test.js +0 -41
- package/dist/__tests__/utils/typeMapper.test.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -248
- package/dist/cli.js.map +0 -1
- package/dist/generators/commonTypesGenerator.d.ts +0 -5
- package/dist/generators/commonTypesGenerator.d.ts.map +0 -1
- package/dist/generators/commonTypesGenerator.js +0 -37
- package/dist/generators/commonTypesGenerator.js.map +0 -1
- package/dist/generators/contextGenerator.d.ts +0 -3
- package/dist/generators/contextGenerator.d.ts.map +0 -1
- package/dist/generators/contextGenerator.js +0 -248
- package/dist/generators/contextGenerator.js.map +0 -1
- package/dist/generators/enumGenerator.d.ts +0 -13
- package/dist/generators/enumGenerator.d.ts.map +0 -1
- package/dist/generators/enumGenerator.js +0 -83
- package/dist/generators/enumGenerator.js.map +0 -1
- package/dist/generators/hooksGenerator.d.ts +0 -4
- package/dist/generators/hooksGenerator.d.ts.map +0 -1
- package/dist/generators/hooksGenerator.js +0 -265
- package/dist/generators/hooksGenerator.js.map +0 -1
- package/dist/generators/modelGenerator.d.ts +0 -13
- package/dist/generators/modelGenerator.d.ts.map +0 -1
- package/dist/generators/modelGenerator.js +0 -208
- package/dist/generators/modelGenerator.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/runtime/hooks/useFormSubmit.d.ts +0 -36
- package/dist/runtime/hooks/useFormSubmit.d.ts.map +0 -1
- package/dist/runtime/hooks/useFormSubmit.js +0 -86
- package/dist/runtime/hooks/useFormSubmit.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -5
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.js +0 -21
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/lib/axios.d.ts +0 -7
- package/dist/runtime/lib/axios.d.ts.map +0 -1
- package/dist/runtime/lib/axios.js +0 -54
- package/dist/runtime/lib/axios.js.map +0 -1
- package/dist/runtime/lib/validation.d.ts +0 -50
- package/dist/runtime/lib/validation.d.ts.map +0 -1
- package/dist/runtime/lib/validation.js +0 -85
- package/dist/runtime/lib/validation.js.map +0 -1
- package/dist/types.d.ts +0 -40
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utils/typeMapper.d.ts +0 -6
- package/dist/utils/typeMapper.d.ts.map +0 -1
- package/dist/utils/typeMapper.js +0 -85
- package/dist/utils/typeMapper.js.map +0 -1
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractEnums = extractEnums;
|
|
4
|
-
exports.generateEnumsFile = generateEnumsFile;
|
|
5
|
-
exports.generateEnumOptionsFile = generateEnumOptionsFile;
|
|
6
|
-
const typeMapper_1 = require("../utils/typeMapper");
|
|
7
|
-
function extractEnums(schema) {
|
|
8
|
-
const enums = [];
|
|
9
|
-
for (const [objectName, object] of Object.entries(schema)) {
|
|
10
|
-
for (const [propertyName, property] of Object.entries(object.properties)) {
|
|
11
|
-
if (property.type === 'Enum' && property.enum) {
|
|
12
|
-
const values = (0, typeMapper_1.normalizeEnumArray)(property.enum);
|
|
13
|
-
if (values.length > 0) {
|
|
14
|
-
enums.push({
|
|
15
|
-
objectName,
|
|
16
|
-
propertyName,
|
|
17
|
-
values,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return enums;
|
|
24
|
-
}
|
|
25
|
-
function toPascalCase(str) {
|
|
26
|
-
// Preserve case for already uppercase words like "ApplicationForm"
|
|
27
|
-
// Just capitalize first letter of each underscore-separated part
|
|
28
|
-
return str
|
|
29
|
-
.split('_')
|
|
30
|
-
.map(word => {
|
|
31
|
-
// If word is already mixed case (e.g. "ApplicationForm"), keep it
|
|
32
|
-
if (word !== word.toUpperCase() && word !== word.toLowerCase()) {
|
|
33
|
-
return word;
|
|
34
|
-
}
|
|
35
|
-
// Otherwise capitalize first letter
|
|
36
|
-
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
37
|
-
})
|
|
38
|
-
.join('');
|
|
39
|
-
}
|
|
40
|
-
function generateEnumsFile(enums) {
|
|
41
|
-
const lines = [];
|
|
42
|
-
lines.push('// Auto-generated by @omnifyjp/omnify');
|
|
43
|
-
lines.push('// Do not edit this file manually');
|
|
44
|
-
lines.push('');
|
|
45
|
-
// Use full key pattern: ObjectName_propertyName
|
|
46
|
-
const enumsByKey = new Map();
|
|
47
|
-
for (const enumInfo of enums) {
|
|
48
|
-
const key = `${enumInfo.objectName}_${enumInfo.propertyName}`;
|
|
49
|
-
enumsByKey.set(key, enumInfo);
|
|
50
|
-
}
|
|
51
|
-
// SECTION 1: Generate TypeScript types
|
|
52
|
-
lines.push('// ============================================');
|
|
53
|
-
lines.push('// Enum Types');
|
|
54
|
-
lines.push('// ============================================');
|
|
55
|
-
lines.push('');
|
|
56
|
-
for (const [key, enumInfo] of enumsByKey.entries()) {
|
|
57
|
-
const enumTypeName = toPascalCase(key);
|
|
58
|
-
lines.push(`export type ${enumTypeName} =`);
|
|
59
|
-
const values = enumInfo.values.map(v => ` | '${v.value}'`);
|
|
60
|
-
lines.push(values.join('\n') + ';');
|
|
61
|
-
lines.push('');
|
|
62
|
-
}
|
|
63
|
-
// SECTION 2: Generate value-label mappings
|
|
64
|
-
lines.push('// ============================================');
|
|
65
|
-
lines.push('// Enum Options (Value -> Label mappings)');
|
|
66
|
-
lines.push('// ============================================');
|
|
67
|
-
lines.push('');
|
|
68
|
-
for (const [key, enumInfo] of enumsByKey.entries()) {
|
|
69
|
-
const optionName = `${key}Options`;
|
|
70
|
-
lines.push(`export const ${optionName} = {`);
|
|
71
|
-
for (const { value, label } of enumInfo.values) {
|
|
72
|
-
lines.push(` ${value}: '${label}',`);
|
|
73
|
-
}
|
|
74
|
-
lines.push('} as const;');
|
|
75
|
-
lines.push('');
|
|
76
|
-
}
|
|
77
|
-
return lines.join('\n');
|
|
78
|
-
}
|
|
79
|
-
// Deprecated: Use generateEnumsFile instead
|
|
80
|
-
function generateEnumOptionsFile(enums) {
|
|
81
|
-
return ''; // No longer needed, merged into generateEnumsFile
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=enumGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enumGenerator.js","sourceRoot":"","sources":["../../src/generators/enumGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooksGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/hooksGenerator.ts"],"names":[],"mappings":"AAGA,wBAAgB,yBAAyB,IAAI,MAAM,CA+HlD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAgEzC;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAuC3D"}
|
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.generateUseFormSubmitHook = generateUseFormSubmitHook;
|
|
37
|
-
exports.generateAxiosLib = generateAxiosLib;
|
|
38
|
-
exports.generateHooksAndLib = generateHooksAndLib;
|
|
39
|
-
const fs = __importStar(require("fs"));
|
|
40
|
-
const path = __importStar(require("path"));
|
|
41
|
-
function generateUseFormSubmitHook() {
|
|
42
|
-
const lines = [];
|
|
43
|
-
lines.push("'use client';");
|
|
44
|
-
lines.push('');
|
|
45
|
-
lines.push('// Auto-generated by @famgia/omnify');
|
|
46
|
-
lines.push('// Do not edit this file manually');
|
|
47
|
-
lines.push('');
|
|
48
|
-
lines.push("import { useState } from 'react';");
|
|
49
|
-
lines.push("import { FormInstance, App } from 'antd';");
|
|
50
|
-
lines.push("import { getCsrfCookie } from '../lib/axios';");
|
|
51
|
-
lines.push('');
|
|
52
|
-
lines.push('export interface UseFormSubmitOptions<TResponse = any> {');
|
|
53
|
-
lines.push(' form: FormInstance;');
|
|
54
|
-
lines.push(' submitFn: (values: any) => Promise<TResponse>;');
|
|
55
|
-
lines.push(' onSuccess?: (response: TResponse, values: any) => void | Promise<void>;');
|
|
56
|
-
lines.push(' onError?: (error: any, values: any) => void | Promise<void>;');
|
|
57
|
-
lines.push(' withCsrf?: boolean;');
|
|
58
|
-
lines.push(' errorMessages?: {');
|
|
59
|
-
lines.push(' 500?: string;');
|
|
60
|
-
lines.push(' 401?: string;');
|
|
61
|
-
lines.push(' 403?: string;');
|
|
62
|
-
lines.push(' default?: string;');
|
|
63
|
-
lines.push(' };');
|
|
64
|
-
lines.push('}');
|
|
65
|
-
lines.push('');
|
|
66
|
-
lines.push('export interface UseFormSubmitResult {');
|
|
67
|
-
lines.push(' handleSubmit: (values: any) => Promise<void>;');
|
|
68
|
-
lines.push(' loading: boolean;');
|
|
69
|
-
lines.push(' setLoading: (loading: boolean) => void;');
|
|
70
|
-
lines.push('}');
|
|
71
|
-
lines.push('');
|
|
72
|
-
lines.push('/**');
|
|
73
|
-
lines.push(' * Custom hook for handling form submission with automatic Laravel validation error mapping');
|
|
74
|
-
lines.push(' */');
|
|
75
|
-
lines.push('export function useFormSubmit<TResponse = any>(');
|
|
76
|
-
lines.push(' options: UseFormSubmitOptions<TResponse>');
|
|
77
|
-
lines.push('): UseFormSubmitResult {');
|
|
78
|
-
lines.push(' const {');
|
|
79
|
-
lines.push(' form,');
|
|
80
|
-
lines.push(' submitFn,');
|
|
81
|
-
lines.push(' onSuccess,');
|
|
82
|
-
lines.push(' onError,');
|
|
83
|
-
lines.push(' withCsrf = true,');
|
|
84
|
-
lines.push(' errorMessages = {},');
|
|
85
|
-
lines.push(' } = options;');
|
|
86
|
-
lines.push('');
|
|
87
|
-
lines.push(' const [loading, setLoading] = useState(false);');
|
|
88
|
-
lines.push(' const { message: messageApi } = App.useApp();');
|
|
89
|
-
lines.push('');
|
|
90
|
-
lines.push(' const handleSubmit = async (values: any): Promise<void> => {');
|
|
91
|
-
lines.push(' setLoading(true);');
|
|
92
|
-
lines.push(' try {');
|
|
93
|
-
lines.push(' if (withCsrf) {');
|
|
94
|
-
lines.push(' await getCsrfCookie();');
|
|
95
|
-
lines.push(' }');
|
|
96
|
-
lines.push('');
|
|
97
|
-
lines.push(' const response = await submitFn(values);');
|
|
98
|
-
lines.push('');
|
|
99
|
-
lines.push(' if (onSuccess) {');
|
|
100
|
-
lines.push(' await onSuccess(response, values);');
|
|
101
|
-
lines.push(' }');
|
|
102
|
-
lines.push(' } catch (error: any) {');
|
|
103
|
-
lines.push(" console.error('Form submission error:', error);");
|
|
104
|
-
lines.push('');
|
|
105
|
-
lines.push(' if (onError) {');
|
|
106
|
-
lines.push(' await onError(error, values);');
|
|
107
|
-
lines.push(' return;');
|
|
108
|
-
lines.push(' }');
|
|
109
|
-
lines.push('');
|
|
110
|
-
lines.push(' // Handle validation errors (422)');
|
|
111
|
-
lines.push(' if (error.response?.status === 422 && error.response?.data?.errors) {');
|
|
112
|
-
lines.push(' const errors = error.response.data.errors;');
|
|
113
|
-
lines.push('');
|
|
114
|
-
lines.push(' // Set field errors');
|
|
115
|
-
lines.push(' const formErrors = Object.keys(errors).map((field) => ({');
|
|
116
|
-
lines.push(' name: field,');
|
|
117
|
-
lines.push(' errors: errors[field],');
|
|
118
|
-
lines.push(' }));');
|
|
119
|
-
lines.push(' form.setFields(formErrors);');
|
|
120
|
-
lines.push('');
|
|
121
|
-
lines.push(' // Show error message');
|
|
122
|
-
lines.push(' const errorCount = Object.keys(errors).length;');
|
|
123
|
-
lines.push(' const errorList = Object.values(errors)');
|
|
124
|
-
lines.push(' .map((msgs: any) => msgs[0])');
|
|
125
|
-
lines.push(" .join(' / ');");
|
|
126
|
-
lines.push('');
|
|
127
|
-
lines.push(' messageApi.error({');
|
|
128
|
-
lines.push(' content: `入力内容にエラーがあります(${errorCount}件): ${errorList}`,');
|
|
129
|
-
lines.push(' duration: 8,');
|
|
130
|
-
lines.push(' });');
|
|
131
|
-
lines.push('');
|
|
132
|
-
lines.push(" console.error('Validation errors:', errors);");
|
|
133
|
-
lines.push(' }');
|
|
134
|
-
lines.push(' // Handle server errors');
|
|
135
|
-
lines.push(' else if (error.response?.status >= 500) {');
|
|
136
|
-
lines.push(' messageApi.error(');
|
|
137
|
-
lines.push(" errorMessages[500] || 'サーバーエラーが発生しました。しばらくしてから再度お試しください。'");
|
|
138
|
-
lines.push(' );');
|
|
139
|
-
lines.push(' }');
|
|
140
|
-
lines.push(' // Handle auth errors');
|
|
141
|
-
lines.push(' else if (error.response?.status === 401 || error.response?.status === 403) {');
|
|
142
|
-
lines.push(' const status = error.response.status as 401 | 403;');
|
|
143
|
-
lines.push(' messageApi.error(');
|
|
144
|
-
lines.push(" errorMessages[status] || '認証エラーが発生しました。再度ログインしてください。'");
|
|
145
|
-
lines.push(' );');
|
|
146
|
-
lines.push(' }');
|
|
147
|
-
lines.push(' // Handle generic errors');
|
|
148
|
-
lines.push(' else {');
|
|
149
|
-
lines.push(' messageApi.error(');
|
|
150
|
-
lines.push(" error.response?.data?.message || errorMessages.default || '送信に失敗しました'");
|
|
151
|
-
lines.push(' );');
|
|
152
|
-
lines.push(' }');
|
|
153
|
-
lines.push(' } finally {');
|
|
154
|
-
lines.push(' setLoading(false);');
|
|
155
|
-
lines.push(' }');
|
|
156
|
-
lines.push(' };');
|
|
157
|
-
lines.push('');
|
|
158
|
-
lines.push(' return {');
|
|
159
|
-
lines.push(' handleSubmit,');
|
|
160
|
-
lines.push(' loading,');
|
|
161
|
-
lines.push(' setLoading,');
|
|
162
|
-
lines.push(' };');
|
|
163
|
-
lines.push('}');
|
|
164
|
-
lines.push('');
|
|
165
|
-
return lines.join('\n');
|
|
166
|
-
}
|
|
167
|
-
function generateAxiosLib() {
|
|
168
|
-
const lines = [];
|
|
169
|
-
lines.push('// Auto-generated by @famgia/omnify');
|
|
170
|
-
lines.push('// Do not edit this file manually');
|
|
171
|
-
lines.push('');
|
|
172
|
-
lines.push("import axios, { AxiosError, InternalAxiosRequestConfig } from 'axios';");
|
|
173
|
-
lines.push('');
|
|
174
|
-
lines.push('// Validate required environment variable');
|
|
175
|
-
lines.push('if (!process.env.NEXT_PUBLIC_API_URL) {');
|
|
176
|
-
lines.push(" throw new Error('NEXT_PUBLIC_API_URL environment variable is required');");
|
|
177
|
-
lines.push('}');
|
|
178
|
-
lines.push('');
|
|
179
|
-
lines.push('// Create axios instance');
|
|
180
|
-
lines.push('const axiosInstance = axios.create({');
|
|
181
|
-
lines.push(' baseURL: process.env.NEXT_PUBLIC_API_URL,');
|
|
182
|
-
lines.push(' timeout: 30000,');
|
|
183
|
-
lines.push(' withCredentials: true,');
|
|
184
|
-
lines.push(' headers: {');
|
|
185
|
-
lines.push(" 'Accept': 'application/json',");
|
|
186
|
-
lines.push(" 'Content-Type': 'application/json',");
|
|
187
|
-
lines.push(' },');
|
|
188
|
-
lines.push(" xsrfCookieName: 'XSRF-TOKEN',");
|
|
189
|
-
lines.push(" xsrfHeaderName: 'X-XSRF-TOKEN',");
|
|
190
|
-
lines.push('});');
|
|
191
|
-
lines.push('');
|
|
192
|
-
lines.push('// Helper to get cookie value by name');
|
|
193
|
-
lines.push('function getCookie(name: string): string | null {');
|
|
194
|
-
lines.push(" if (typeof document === 'undefined') return null;");
|
|
195
|
-
lines.push(' const value = `; ${document.cookie}`;');
|
|
196
|
-
lines.push(' const parts = value.split(`; ${name}=`);');
|
|
197
|
-
lines.push(" if (parts.length === 2) return parts.pop()?.split(';').shift() || null;");
|
|
198
|
-
lines.push(' return null;');
|
|
199
|
-
lines.push('}');
|
|
200
|
-
lines.push('');
|
|
201
|
-
lines.push('// Request interceptor');
|
|
202
|
-
lines.push('axiosInstance.interceptors.request.use(');
|
|
203
|
-
lines.push(' (config: InternalAxiosRequestConfig) => {');
|
|
204
|
-
lines.push(" const token = getCookie('XSRF-TOKEN');");
|
|
205
|
-
lines.push(' if (token) {');
|
|
206
|
-
lines.push(" config.headers['X-XSRF-TOKEN'] = decodeURIComponent(token);");
|
|
207
|
-
lines.push(' }');
|
|
208
|
-
lines.push(' return config;');
|
|
209
|
-
lines.push(' },');
|
|
210
|
-
lines.push(' (error: AxiosError) => {');
|
|
211
|
-
lines.push(' return Promise.reject(error);');
|
|
212
|
-
lines.push(' }');
|
|
213
|
-
lines.push(');');
|
|
214
|
-
lines.push('');
|
|
215
|
-
lines.push('/**');
|
|
216
|
-
lines.push(' * Get CSRF cookie before making authenticated requests');
|
|
217
|
-
lines.push(' * Required for Laravel Sanctum cookie-based authentication');
|
|
218
|
-
lines.push(' */');
|
|
219
|
-
lines.push('export const getCsrfCookie = async (): Promise<void> => {');
|
|
220
|
-
lines.push(' if (!process.env.NEXT_PUBLIC_API_URL) {');
|
|
221
|
-
lines.push(" throw new Error('NEXT_PUBLIC_API_URL environment variable is required');");
|
|
222
|
-
lines.push(' }');
|
|
223
|
-
lines.push(' await axiosInstance.get(`${process.env.NEXT_PUBLIC_API_URL}/sanctum/csrf-cookie`);');
|
|
224
|
-
lines.push('};');
|
|
225
|
-
lines.push('');
|
|
226
|
-
lines.push('export default axiosInstance;');
|
|
227
|
-
lines.push('');
|
|
228
|
-
return lines.join('\n');
|
|
229
|
-
}
|
|
230
|
-
function generateHooksAndLib(outputDir) {
|
|
231
|
-
const hooksDir = path.join(outputDir, 'hooks');
|
|
232
|
-
const libDir = path.join(outputDir, 'lib');
|
|
233
|
-
// Create directories
|
|
234
|
-
if (!fs.existsSync(hooksDir)) {
|
|
235
|
-
fs.mkdirSync(hooksDir, { recursive: true });
|
|
236
|
-
}
|
|
237
|
-
if (!fs.existsSync(libDir)) {
|
|
238
|
-
fs.mkdirSync(libDir, { recursive: true });
|
|
239
|
-
}
|
|
240
|
-
// Generate useFormSubmit hook
|
|
241
|
-
const useFormSubmitContent = generateUseFormSubmitHook();
|
|
242
|
-
fs.writeFileSync(path.join(hooksDir, 'useFormSubmit.tsx'), useFormSubmitContent);
|
|
243
|
-
console.log('✅ Generated hooks/useFormSubmit.tsx');
|
|
244
|
-
// Generate hooks index
|
|
245
|
-
const hooksIndexContent = [
|
|
246
|
-
'// Auto-generated by @famgia/omnify',
|
|
247
|
-
"export * from './useFormSubmit';",
|
|
248
|
-
'',
|
|
249
|
-
].join('\n');
|
|
250
|
-
fs.writeFileSync(path.join(hooksDir, 'index.ts'), hooksIndexContent);
|
|
251
|
-
console.log('✅ Generated hooks/index.ts');
|
|
252
|
-
// Generate axios lib
|
|
253
|
-
const axiosContent = generateAxiosLib();
|
|
254
|
-
fs.writeFileSync(path.join(libDir, 'axios.ts'), axiosContent);
|
|
255
|
-
console.log('✅ Generated lib/axios.ts');
|
|
256
|
-
// Generate lib index
|
|
257
|
-
const libIndexContent = [
|
|
258
|
-
'// Auto-generated by @famgia/omnify',
|
|
259
|
-
"export { default as axios, getCsrfCookie } from './axios';",
|
|
260
|
-
'',
|
|
261
|
-
].join('\n');
|
|
262
|
-
fs.writeFileSync(path.join(libDir, 'index.ts'), libIndexContent);
|
|
263
|
-
console.log('✅ Generated lib/index.ts');
|
|
264
|
-
}
|
|
265
|
-
//# sourceMappingURL=hooksGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooksGenerator.js","sourceRoot":"","sources":["../../src/generators/hooksGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { OmnifyObject, SchemaLock } from '../types';
|
|
2
|
-
export declare function generateModelFile(objectName: string, object: OmnifyObject, useBasePrefix?: boolean): string;
|
|
3
|
-
export declare function generateAllModels(schema: SchemaLock): string;
|
|
4
|
-
/**
|
|
5
|
-
* Generate extended model file that users can customize
|
|
6
|
-
* This file won't be overwritten on rebuild
|
|
7
|
-
*/
|
|
8
|
-
export declare function generateExtendedModelFile(objectName: string): string;
|
|
9
|
-
/**
|
|
10
|
-
* Generate models index file that exports all extended models
|
|
11
|
-
*/
|
|
12
|
-
export declare function generateModelsIndexFile(objectNames: string[]): string;
|
|
13
|
-
//# sourceMappingURL=modelGenerator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modelGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/modelGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,UAAU,EAAE,MAAM,UAAU,CAAC;AAwC9D,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,UAAO,GAAG,MAAM,CA6CxG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA6G5D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAuBpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAarE"}
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateModelFile = generateModelFile;
|
|
4
|
-
exports.generateAllModels = generateAllModels;
|
|
5
|
-
exports.generateExtendedModelFile = generateExtendedModelFile;
|
|
6
|
-
exports.generateModelsIndexFile = generateModelsIndexFile;
|
|
7
|
-
const typeMapper_1 = require("../utils/typeMapper");
|
|
8
|
-
function toPascalCase(str) {
|
|
9
|
-
// Preserve case for already uppercase words like "ApplicationForm"
|
|
10
|
-
// Just capitalize first letter of each underscore-separated part
|
|
11
|
-
return str
|
|
12
|
-
.split('_')
|
|
13
|
-
.map(word => {
|
|
14
|
-
// If word is already mixed case (e.g. "ApplicationForm"), keep it
|
|
15
|
-
if (word !== word.toUpperCase() && word !== word.toLowerCase()) {
|
|
16
|
-
return word;
|
|
17
|
-
}
|
|
18
|
-
// Otherwise capitalize first letter
|
|
19
|
-
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
20
|
-
})
|
|
21
|
-
.join('');
|
|
22
|
-
}
|
|
23
|
-
function expandCompositeFields(prop) {
|
|
24
|
-
if (!prop.fields)
|
|
25
|
-
return [];
|
|
26
|
-
const fields = [];
|
|
27
|
-
for (const [fieldName, field] of Object.entries(prop.fields)) {
|
|
28
|
-
const tsType = (0, typeMapper_1.mapOmnifyTypeToTypeScript)(field.type, field.nullable);
|
|
29
|
-
const optional = field.nullable ? '?' : '';
|
|
30
|
-
const comment = field.displayName ? ` // ${field.displayName}` : '';
|
|
31
|
-
fields.push({
|
|
32
|
-
name: field.propertyName,
|
|
33
|
-
type: tsType,
|
|
34
|
-
optional,
|
|
35
|
-
comment,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
return fields;
|
|
39
|
-
}
|
|
40
|
-
function generateModelFile(objectName, object, useBasePrefix = true) {
|
|
41
|
-
const lines = [];
|
|
42
|
-
lines.push('// Auto-generated by @famgia/omnify');
|
|
43
|
-
lines.push('// Do not edit this file manually');
|
|
44
|
-
lines.push('');
|
|
45
|
-
const interfaceName = useBasePrefix ? `Base${objectName}` : objectName;
|
|
46
|
-
// Generate interface
|
|
47
|
-
lines.push(`export interface ${interfaceName} {`);
|
|
48
|
-
for (const [propName, prop] of Object.entries(object.properties)) {
|
|
49
|
-
// Skip relations for now (they're complex)
|
|
50
|
-
if (prop.type === 'Association' || prop.type === 'Polymorphic') {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
// Handle composite types - expand fields
|
|
54
|
-
if (prop.fields) {
|
|
55
|
-
const expandedFields = expandCompositeFields(prop);
|
|
56
|
-
for (const field of expandedFields) {
|
|
57
|
-
lines.push(` ${field.name}${field.optional}: ${field.type};${field.comment}`);
|
|
58
|
-
}
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
let propType;
|
|
62
|
-
if (prop.type === 'Enum' && prop.enum) {
|
|
63
|
-
propType = `${toPascalCase(objectName)}${toPascalCase(propName)}`;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
propType = (0, typeMapper_1.mapOmnifyTypeToTypeScript)(prop.type, prop.nullable);
|
|
67
|
-
}
|
|
68
|
-
const optional = prop.nullable ? '?' : '';
|
|
69
|
-
const comment = prop.displayName ? ` // ${prop.displayName}` : '';
|
|
70
|
-
lines.push(` ${propName}${optional}: ${propType};${comment}`);
|
|
71
|
-
}
|
|
72
|
-
lines.push('}');
|
|
73
|
-
lines.push('');
|
|
74
|
-
return lines.join('\n');
|
|
75
|
-
}
|
|
76
|
-
function generateAllModels(schema) {
|
|
77
|
-
const lines = [];
|
|
78
|
-
lines.push('// Auto-generated by @famgia/omnify');
|
|
79
|
-
lines.push('// Do not edit this file manually');
|
|
80
|
-
lines.push('// These are BASE models - DO NOT EDIT');
|
|
81
|
-
lines.push('// Use models/ directory for customizable extended models');
|
|
82
|
-
lines.push('');
|
|
83
|
-
lines.push('import * as Enums from \'./enums\';');
|
|
84
|
-
lines.push('');
|
|
85
|
-
// Collect all model names for import
|
|
86
|
-
const modelNames = Object.keys(schema).filter(key => schema[key] && typeof schema[key] === 'object' && schema[key].objectName);
|
|
87
|
-
// Import extended models from ../models
|
|
88
|
-
if (modelNames.length > 0) {
|
|
89
|
-
lines.push('// Import extended models for relations');
|
|
90
|
-
lines.push(`import type { ${modelNames.join(', ')} } from '../models';`);
|
|
91
|
-
lines.push('');
|
|
92
|
-
}
|
|
93
|
-
// Generate models
|
|
94
|
-
for (const [objectName, object] of Object.entries(schema)) {
|
|
95
|
-
lines.push(`// ${object.displayName}`);
|
|
96
|
-
lines.push(`export interface Base${objectName} {`);
|
|
97
|
-
// Track processed properties to avoid duplicates from composite fields
|
|
98
|
-
const processedProps = new Set();
|
|
99
|
-
// PHASE 1: Add foreign keys for ManyToOne associations first
|
|
100
|
-
for (const [propName, prop] of Object.entries(object.properties)) {
|
|
101
|
-
if (prop.type === 'Association' && prop.relation === 'ManyToOne') {
|
|
102
|
-
const foreignKeyName = prop.foreignKey || `${propName}_id`;
|
|
103
|
-
if (!processedProps.has(foreignKeyName)) {
|
|
104
|
-
const comment = ` // Foreign key for ${prop.displayName || propName}`;
|
|
105
|
-
lines.push(` ${foreignKeyName}?: number | null;${comment}`);
|
|
106
|
-
processedProps.add(foreignKeyName);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// PHASE 2: Add all other properties
|
|
111
|
-
for (const [propName, prop] of Object.entries(object.properties)) {
|
|
112
|
-
// Skip if already processed
|
|
113
|
-
if (processedProps.has(propName)) {
|
|
114
|
-
continue;
|
|
115
|
-
}
|
|
116
|
-
// Handle Association types
|
|
117
|
-
if (prop.type === 'Association') {
|
|
118
|
-
const comment = prop.displayName ? ` // ${prop.displayName}` : '';
|
|
119
|
-
// Use extended models (imported from ../models) for relations
|
|
120
|
-
const target = prop.target;
|
|
121
|
-
switch (prop.relation) {
|
|
122
|
-
case 'ManyToOne':
|
|
123
|
-
lines.push(` ${propName}?: ${target} | null;${comment}`);
|
|
124
|
-
break;
|
|
125
|
-
case 'OneToOne':
|
|
126
|
-
lines.push(` ${propName}?: ${target} | null;${comment}`);
|
|
127
|
-
break;
|
|
128
|
-
case 'OneToMany':
|
|
129
|
-
case 'ManyToMany':
|
|
130
|
-
lines.push(` ${propName}?: ${target}[];${comment}`);
|
|
131
|
-
break;
|
|
132
|
-
}
|
|
133
|
-
processedProps.add(propName);
|
|
134
|
-
continue;
|
|
135
|
-
}
|
|
136
|
-
// Skip Polymorphic for now (too complex)
|
|
137
|
-
if (prop.type === 'Polymorphic') {
|
|
138
|
-
continue;
|
|
139
|
-
}
|
|
140
|
-
// Handle composite types - expand fields and mark them as processed
|
|
141
|
-
if (prop.fields) {
|
|
142
|
-
const expandedFields = expandCompositeFields(prop);
|
|
143
|
-
for (const field of expandedFields) {
|
|
144
|
-
if (!processedProps.has(field.name)) {
|
|
145
|
-
lines.push(` ${field.name}${field.optional}: ${field.type};${field.comment}`);
|
|
146
|
-
processedProps.add(field.name);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
continue;
|
|
150
|
-
}
|
|
151
|
-
let propType;
|
|
152
|
-
if (prop.type === 'Enum' && prop.enum) {
|
|
153
|
-
propType = `Enums.${toPascalCase(objectName)}${toPascalCase(propName)}`;
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
propType = (0, typeMapper_1.mapOmnifyTypeToTypeScript)(prop.type, prop.nullable);
|
|
157
|
-
}
|
|
158
|
-
const optional = prop.nullable ? '?' : '';
|
|
159
|
-
const comment = prop.displayName ? ` // ${prop.displayName}` : '';
|
|
160
|
-
lines.push(` ${propName}${optional}: ${propType};${comment}`);
|
|
161
|
-
processedProps.add(propName);
|
|
162
|
-
}
|
|
163
|
-
lines.push('}');
|
|
164
|
-
lines.push('');
|
|
165
|
-
}
|
|
166
|
-
return lines.join('\n');
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Generate extended model file that users can customize
|
|
170
|
-
* This file won't be overwritten on rebuild
|
|
171
|
-
*/
|
|
172
|
-
function generateExtendedModelFile(objectName) {
|
|
173
|
-
const lines = [];
|
|
174
|
-
lines.push(`// Extended model for ${objectName}`);
|
|
175
|
-
lines.push('// You can customize this file - it will not be overwritten');
|
|
176
|
-
lines.push('');
|
|
177
|
-
lines.push(`import { Base${objectName} } from '../types/models';`);
|
|
178
|
-
lines.push('');
|
|
179
|
-
lines.push(`// Extend the base model with your custom fields/methods`);
|
|
180
|
-
lines.push(`export interface ${objectName} extends Base${objectName} {`);
|
|
181
|
-
lines.push(' // Add your custom fields here');
|
|
182
|
-
lines.push(' // Example:');
|
|
183
|
-
lines.push(' // customField?: string;');
|
|
184
|
-
lines.push('}');
|
|
185
|
-
lines.push('');
|
|
186
|
-
lines.push('// You can also add helper functions or methods here');
|
|
187
|
-
lines.push(`// Example:`);
|
|
188
|
-
lines.push(`// export function create${objectName}(data: Partial<${objectName}>): ${objectName} {`);
|
|
189
|
-
lines.push(`// return { ...data } as ${objectName};`);
|
|
190
|
-
lines.push(`// }`);
|
|
191
|
-
lines.push('');
|
|
192
|
-
return lines.join('\n');
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Generate models index file that exports all extended models
|
|
196
|
-
*/
|
|
197
|
-
function generateModelsIndexFile(objectNames) {
|
|
198
|
-
const lines = [];
|
|
199
|
-
lines.push('// Auto-generated by @famgia/omnify');
|
|
200
|
-
lines.push('// Extended models for customization');
|
|
201
|
-
lines.push('');
|
|
202
|
-
for (const objectName of objectNames) {
|
|
203
|
-
lines.push(`export * from './${objectName}';`);
|
|
204
|
-
}
|
|
205
|
-
lines.push('');
|
|
206
|
-
return lines.join('\n');
|
|
207
|
-
}
|
|
208
|
-
//# sourceMappingURL=modelGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modelGenerator.js","sourceRoot":"","sources":["../../src/generators/modelGenerator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC"}
|