@odata-effect/odata-effect-generator 0.5.0 → 0.6.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/dist/cjs/generator/Generator.js +10 -5
- package/dist/cjs/generator/Generator.js.map +1 -1
- package/dist/cjs/generator/IndexGenerator.js +7 -6
- package/dist/cjs/generator/IndexGenerator.js.map +1 -1
- package/dist/cjs/generator/NamingHelper.js +23 -1
- package/dist/cjs/generator/NamingHelper.js.map +1 -1
- package/dist/cjs/generator/NavigationGenerator.js +5 -4
- package/dist/cjs/generator/NavigationGenerator.js.map +1 -1
- package/dist/cjs/generator/OperationsGenerator.js +5 -4
- package/dist/cjs/generator/OperationsGenerator.js.map +1 -1
- package/dist/cjs/generator/QueryModelsGenerator.js +3 -2
- package/dist/cjs/generator/QueryModelsGenerator.js.map +1 -1
- package/dist/cjs/generator/ServiceFnGenerator.js +5 -4
- package/dist/cjs/generator/ServiceFnGenerator.js.map +1 -1
- package/dist/cjs/model/GeneratorConfig.js.map +1 -1
- package/dist/dts/generator/Generator.d.ts +6 -0
- package/dist/dts/generator/Generator.d.ts.map +1 -1
- package/dist/dts/generator/IndexGenerator.d.ts +14 -1
- package/dist/dts/generator/IndexGenerator.d.ts.map +1 -1
- package/dist/dts/generator/NamingHelper.d.ts +15 -0
- package/dist/dts/generator/NamingHelper.d.ts.map +1 -1
- package/dist/dts/generator/NavigationGenerator.d.ts +14 -1
- package/dist/dts/generator/NavigationGenerator.d.ts.map +1 -1
- package/dist/dts/generator/OperationsGenerator.d.ts +14 -1
- package/dist/dts/generator/OperationsGenerator.d.ts.map +1 -1
- package/dist/dts/generator/QueryModelsGenerator.d.ts +14 -1
- package/dist/dts/generator/QueryModelsGenerator.d.ts.map +1 -1
- package/dist/dts/generator/ServiceFnGenerator.d.ts +14 -1
- package/dist/dts/generator/ServiceFnGenerator.d.ts.map +1 -1
- package/dist/dts/model/GeneratorConfig.d.ts +20 -0
- package/dist/dts/model/GeneratorConfig.d.ts.map +1 -1
- package/dist/esm/generator/Generator.js +10 -5
- package/dist/esm/generator/Generator.js.map +1 -1
- package/dist/esm/generator/IndexGenerator.js +8 -7
- package/dist/esm/generator/IndexGenerator.js.map +1 -1
- package/dist/esm/generator/NamingHelper.js +21 -0
- package/dist/esm/generator/NamingHelper.js.map +1 -1
- package/dist/esm/generator/NavigationGenerator.js +6 -5
- package/dist/esm/generator/NavigationGenerator.js.map +1 -1
- package/dist/esm/generator/OperationsGenerator.js +6 -5
- package/dist/esm/generator/OperationsGenerator.js.map +1 -1
- package/dist/esm/generator/QueryModelsGenerator.js +4 -3
- package/dist/esm/generator/QueryModelsGenerator.js.map +1 -1
- package/dist/esm/generator/ServiceFnGenerator.js +6 -5
- package/dist/esm/generator/ServiceFnGenerator.js.map +1 -1
- package/dist/esm/model/GeneratorConfig.js.map +1 -1
- package/package.json +1 -1
- package/src/generator/Generator.ts +15 -5
- package/src/generator/IndexGenerator.ts +27 -6
- package/src/generator/NamingHelper.ts +26 -0
- package/src/generator/NavigationGenerator.ts +23 -5
- package/src/generator/OperationsGenerator.ts +25 -5
- package/src/generator/QueryModelsGenerator.ts +27 -3
- package/src/generator/ServiceFnGenerator.ts +23 -5
- package/src/model/GeneratorConfig.ts +22 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationsGenerator.js","names":["toPascalCase","V2_CONFIG","clientConfigTag","clientConfigImport","clientModule","V4_CONFIG","getVersionConfig","version","getOperationFunctionName","operation","name","getOperationsModuleName","generateOperations","dataModel","unboundOperations","Array","from","operations","values","filter","op","isBound","length","operationsFile","content","generateOperationsFile","fileName","returnsModelType","returnType","odataType","baseType","replace","typeName","includes","split","pop","fqName","entityTypes","endsWith","complexTypes","getReturnTypeName","isCollection","typeMapping","tsType","collectModelImports","imports","Set","isModelType","add","param","parameters","lines","versionConfig","isV4","push","serviceName","modelImports","size","importsList","i","isLast","generateV4Operation","generateV2FunctionImport","join","generateParameterType","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","effectSchema","propertyName","isAction","type","toLowerCase","bodyArg","hasDifferentNames","some","p"],"sources":["../../../src/generator/OperationsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"OperationsGenerator.js","names":["formatRelativeImport","toPascalCase","V2_CONFIG","clientConfigTag","clientConfigImport","clientModule","V4_CONFIG","getVersionConfig","version","getOperationFunctionName","operation","name","getOperationsModuleName","generateOperations","dataModel","options","esmExtensions","unboundOperations","Array","from","operations","values","filter","op","isBound","length","operationsFile","content","generateOperationsFile","fileName","returnsModelType","returnType","odataType","baseType","replace","typeName","includes","split","pop","fqName","entityTypes","endsWith","complexTypes","getReturnTypeName","isCollection","typeMapping","tsType","collectModelImports","imports","Set","isModelType","add","param","parameters","lines","versionConfig","isV4","push","serviceName","modelImports","size","importsList","i","isLast","generateV4Operation","generateV2FunctionImport","join","generateParameterType","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","effectSchema","propertyName","isAction","type","toLowerCase","bodyArg","hasDifferentNames","some","p"],"sources":["../../../src/generator/OperationsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { getClassName, getQueryFactoryName, getQueryInstanceName, getQueryInterfaceName } from "./NamingHelper.js";
|
|
1
|
+
import { formatRelativeImport, getClassName, getQueryFactoryName, getQueryInstanceName, getQueryInterfaceName } from "./NamingHelper.js";
|
|
2
2
|
/**
|
|
3
3
|
* Generate the QueryModels.ts file content.
|
|
4
4
|
*
|
|
5
5
|
* @since 1.0.0
|
|
6
6
|
* @category generation
|
|
7
7
|
*/
|
|
8
|
-
export const generateQueryModels = dataModel => {
|
|
8
|
+
export const generateQueryModels = (dataModel, options) => {
|
|
9
|
+
const esmExtensions = options?.esmExtensions ?? true;
|
|
9
10
|
const lines = [];
|
|
10
11
|
// Collect all query path types needed
|
|
11
12
|
const queryPathTypes = collectQueryPathTypes(dataModel);
|
|
@@ -32,7 +33,7 @@ export const generateQueryModels = dataModel => {
|
|
|
32
33
|
if (usedEntityNames.length > 0) {
|
|
33
34
|
lines.push(`import type {`);
|
|
34
35
|
lines.push(` ${usedEntityNames.join(",\n ")}`);
|
|
35
|
-
lines.push(`} from "
|
|
36
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`);
|
|
36
37
|
}
|
|
37
38
|
lines.push(``);
|
|
38
39
|
// Generate complex type query paths
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryModelsGenerator.js","names":["getClassName","getQueryFactoryName","getQueryInstanceName","getQueryInterfaceName","generateQueryModels","dataModel","lines","queryPathTypes","collectQueryPathTypes","push","serviceName","Array","from","join","usedEntityNames","entitySet","entitySets","values","entityType","entityTypes","get","entityTypeFqName","name","length","complexType","complexTypes","line","generateQueryInterface","generateQueryInstance","generateQueryFactory","types","Set","addPropertyTypes","props","prop","add","typeMapping","queryPath","split","addNavPropertyTypes","navProps","navProp","isCollection","properties","navigationProperties","type","interfaceName","odataName","basePathType","pathType","startsWith","replace","targetQName","targetType","instanceName","allFields","i","pathClass","isLast","targetMatch","match","targetInstanceName","factoryName"],"sources":["../../../src/generator/QueryModelsGenerator.ts"],"sourcesContent":[null],"mappings":"AAYA,
|
|
1
|
+
{"version":3,"file":"QueryModelsGenerator.js","names":["formatRelativeImport","getClassName","getQueryFactoryName","getQueryInstanceName","getQueryInterfaceName","generateQueryModels","dataModel","options","esmExtensions","lines","queryPathTypes","collectQueryPathTypes","push","serviceName","Array","from","join","usedEntityNames","entitySet","entitySets","values","entityType","entityTypes","get","entityTypeFqName","name","length","complexType","complexTypes","line","generateQueryInterface","generateQueryInstance","generateQueryFactory","types","Set","addPropertyTypes","props","prop","add","typeMapping","queryPath","split","addNavPropertyTypes","navProps","navProp","isCollection","properties","navigationProperties","type","interfaceName","odataName","basePathType","pathType","startsWith","replace","targetQName","targetType","instanceName","allFields","i","pathClass","isLast","targetMatch","match","targetInstanceName","factoryName"],"sources":["../../../src/generator/QueryModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { getEditableTypeName, getIdTypeName, getServiceClassName } from "./NamingHelper.js";
|
|
1
|
+
import { formatRelativeImport, getEditableTypeName, getIdTypeName, getServiceClassName } from "./NamingHelper.js";
|
|
2
2
|
/**
|
|
3
3
|
* Generate the Services.ts file using crud factory.
|
|
4
4
|
*
|
|
5
5
|
* @since 1.0.0
|
|
6
6
|
* @category generation
|
|
7
7
|
*/
|
|
8
|
-
export const generateServiceFns = dataModel => {
|
|
9
|
-
const
|
|
8
|
+
export const generateServiceFns = (dataModel, options) => {
|
|
9
|
+
const esmExtensions = options?.esmExtensions ?? true;
|
|
10
|
+
const content = generateServicesFile(dataModel, esmExtensions);
|
|
10
11
|
return {
|
|
11
12
|
servicesFile: {
|
|
12
13
|
fileName: "Services.ts",
|
|
@@ -17,7 +18,7 @@ export const generateServiceFns = dataModel => {
|
|
|
17
18
|
/**
|
|
18
19
|
* Generate the Services.ts file content.
|
|
19
20
|
*/
|
|
20
|
-
const generateServicesFile = dataModel => {
|
|
21
|
+
const generateServicesFile = (dataModel, esmExtensions) => {
|
|
21
22
|
const lines = [];
|
|
22
23
|
const isV4 = dataModel.version === "V4";
|
|
23
24
|
const crudImportPath = isV4 ? "@odata-effect/odata-effect/CrudV4" : "@odata-effect/odata-effect/Crud";
|
|
@@ -59,7 +60,7 @@ const generateServicesFile = dataModel => {
|
|
|
59
60
|
const isLast = i === modelImports.length - 1;
|
|
60
61
|
lines.push(` ${modelImports[i]}${isLast ? "" : ","}`);
|
|
61
62
|
}
|
|
62
|
-
lines.push(`} from "
|
|
63
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`);
|
|
63
64
|
lines.push(``);
|
|
64
65
|
// Re-export types from the crud module
|
|
65
66
|
lines.push(`// Re-export types for convenience`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceFnGenerator.js","names":["getEditableTypeName","getIdTypeName","getServiceClassName","generateServiceFns","dataModel","content","generateServicesFile","servicesFile","fileName","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","i","isLast","serviceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","primitiveCheck","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"AAUA,SAASA,mBAAmB,EAAEC,aAAa,EAAEC,mBAAmB,QAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"ServiceFnGenerator.js","names":["formatRelativeImport","getEditableTypeName","getIdTypeName","getServiceClassName","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","i","isLast","serviceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","primitiveCheck","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratorConfig.js","names":["getPropertyOverride","overrides","typeName","typeKind","odataPropertyName","undefined","typeOverrides","entities","complexTypes","properties","getTypeOverride","name","getOperationOverride","operationName","operations","getOperationParameterOverride","parameterName","opOverride","parameters"],"sources":["../../../src/model/GeneratorConfig.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;
|
|
1
|
+
{"version":3,"file":"GeneratorConfig.js","names":["getPropertyOverride","overrides","typeName","typeKind","odataPropertyName","undefined","typeOverrides","entities","complexTypes","properties","getTypeOverride","name","getOperationOverride","operationName","operations","getOperationParameterOverride","parameterName","opOverride","parameters"],"sources":["../../../src/model/GeneratorConfig.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAqHA;;;;;;AAMA,OAAO,MAAMA,mBAAmB,GAAGA,CACjCC,SAAsC,EACtCC,QAAgB,EAChBC,QAA8B,EAC9BC,iBAAyB,KACH;EACtB,IAAI,CAACH,SAAS,EAAE,OAAOI,SAAS;EAEhC;EACA,MAAMC,aAAa,GAAGH,QAAQ,KAAK,QAAQ,GACvCF,SAAS,CAACM,QAAQ,GAAGL,QAAQ,CAAC,GAC9BD,SAAS,CAACO,YAAY,GAAGN,QAAQ,CAAC;EAEtC,IAAII,aAAa,EAAEG,UAAU,GAAGL,iBAAiB,CAAC,EAAE;IAClD,OAAOE,aAAa,CAACG,UAAU,CAACL,iBAAiB,CAAC;EACpD;EAEA;EACA,IAAIH,SAAS,CAACQ,UAAU,GAAGL,iBAAiB,CAAC,EAAE;IAC7C,OAAOH,SAAS,CAACQ,UAAU,CAACL,iBAAiB,CAAC;EAChD;EAEA,OAAOC,SAAS;AAClB,CAAC;AAED;;;;;;AAMA,OAAO,MAAMK,eAAe,GAAGA,CAC7BT,SAAsC,EACtCC,QAAgB,EAChBC,QAA8B,KACR;EACtB,IAAI,CAACF,SAAS,EAAE,OAAOI,SAAS;EAEhC,MAAMC,aAAa,GAAGH,QAAQ,KAAK,QAAQ,GACvCF,SAAS,CAACM,QAAQ,GAAGL,QAAQ,CAAC,GAC9BD,SAAS,CAACO,YAAY,GAAGN,QAAQ,CAAC;EAEtC,OAAOI,aAAa,EAAEK,IAAI;AAC5B,CAAC;AAED;;;;;;AAMA,OAAO,MAAMC,oBAAoB,GAAGA,CAClCX,SAAsC,EACtCY,aAAqB,KACC;EACtB,IAAI,CAACZ,SAAS,EAAE,OAAOI,SAAS;EAChC,OAAOJ,SAAS,CAACa,UAAU,GAAGD,aAAa,CAAC,EAAEF,IAAI;AACpD,CAAC;AAED;;;;;;AAMA,OAAO,MAAMI,6BAA6B,GAAGA,CAC3Cd,SAAsC,EACtCY,aAAqB,EACrBG,aAAqB,KACC;EACtB,IAAI,CAACf,SAAS,EAAE,OAAOI,SAAS;EAEhC;EACA,MAAMY,UAAU,GAAGhB,SAAS,CAACa,UAAU,GAAGD,aAAa,CAAC,EAAEK,UAAU,GAAGF,aAAa,CAAC;EACrF,IAAIC,UAAU,EAAE,OAAOA,UAAU;EAEjC;EACA,OAAOhB,SAAS,CAACQ,UAAU,GAAGO,aAAa,CAAC;AAC9C,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -40,6 +40,12 @@ export interface GeneratorConfig {
|
|
|
40
40
|
readonly filesOnly?: boolean | undefined
|
|
41
41
|
/** Optional naming overrides for properties and types */
|
|
42
42
|
readonly overrides?: NamingOverrides | undefined
|
|
43
|
+
/**
|
|
44
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
45
|
+
* Required for moduleResolution: node16/nodenext.
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
readonly esmExtensions?: boolean | undefined
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
/**
|
|
@@ -82,6 +88,7 @@ export const generate = (
|
|
|
82
88
|
const serviceName = config.serviceName ?? dataModel.serviceName
|
|
83
89
|
const packageName = config.packageName ?? `@template/${serviceName.toLowerCase()}-effect`
|
|
84
90
|
const filesOnly = config.filesOnly ?? false
|
|
91
|
+
const esmExtensions = config.esmExtensions ?? true
|
|
85
92
|
|
|
86
93
|
// When filesOnly is true, output directly to outputDir; otherwise use outputDir/src
|
|
87
94
|
const sourceDir = filesOnly ? outputDir : path.join(outputDir, "src")
|
|
@@ -91,14 +98,17 @@ export const generate = (
|
|
|
91
98
|
serviceName
|
|
92
99
|
}
|
|
93
100
|
|
|
101
|
+
// Generator options for ESM extensions
|
|
102
|
+
const generatorOptions = { esmExtensions }
|
|
103
|
+
|
|
94
104
|
// Generate tree-shakable service function files
|
|
95
|
-
const serviceResult = generateServiceFns(dataModel)
|
|
105
|
+
const serviceResult = generateServiceFns(dataModel, generatorOptions)
|
|
96
106
|
|
|
97
107
|
// Generate operations file (FunctionImports, Functions, Actions)
|
|
98
|
-
const operationsResult = generateOperations(dataModel)
|
|
108
|
+
const operationsResult = generateOperations(dataModel, generatorOptions)
|
|
99
109
|
|
|
100
110
|
// Generate navigation builders
|
|
101
|
-
const navigationResult = generateNavigations(dataModel)
|
|
111
|
+
const navigationResult = generateNavigations(dataModel, generatorOptions)
|
|
102
112
|
|
|
103
113
|
// Generate source files
|
|
104
114
|
const sourceFiles: Array<GeneratedFile> = [
|
|
@@ -108,7 +118,7 @@ export const generate = (
|
|
|
108
118
|
},
|
|
109
119
|
{
|
|
110
120
|
path: path.join(sourceDir, "QueryModels.ts"),
|
|
111
|
-
content: generateQueryModels(dataModel)
|
|
121
|
+
content: generateQueryModels(dataModel, generatorOptions)
|
|
112
122
|
},
|
|
113
123
|
// Services file (all entity CRUD services in one file)
|
|
114
124
|
{
|
|
@@ -129,7 +139,7 @@ export const generate = (
|
|
|
129
139
|
})),
|
|
130
140
|
{
|
|
131
141
|
path: path.join(sourceDir, "index.ts"),
|
|
132
|
-
content: generateIndex(dataModel)
|
|
142
|
+
content: generateIndex(dataModel, generatorOptions)
|
|
133
143
|
}
|
|
134
144
|
]
|
|
135
145
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { DataModel } from "../model/DataModel.js"
|
|
7
7
|
import {
|
|
8
|
+
formatRelativeImport,
|
|
8
9
|
getEditableTypeName,
|
|
9
10
|
getIdTypeName,
|
|
10
11
|
getQueryFactoryName,
|
|
@@ -15,13 +16,31 @@ import {
|
|
|
15
16
|
import { getPathBuildersModuleName } from "./NavigationGenerator.js"
|
|
16
17
|
import { getOperationsModuleName } from "./OperationsGenerator.js"
|
|
17
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Options for index generation.
|
|
21
|
+
*
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
* @category types
|
|
24
|
+
*/
|
|
25
|
+
export interface IndexGeneratorOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
28
|
+
* @default true
|
|
29
|
+
*/
|
|
30
|
+
readonly esmExtensions?: boolean
|
|
31
|
+
}
|
|
32
|
+
|
|
18
33
|
/**
|
|
19
34
|
* Generate the index.ts file content.
|
|
20
35
|
*
|
|
21
36
|
* @since 1.0.0
|
|
22
37
|
* @category generation
|
|
23
38
|
*/
|
|
24
|
-
export const generateIndex = (
|
|
39
|
+
export const generateIndex = (
|
|
40
|
+
dataModel: DataModel,
|
|
41
|
+
options?: IndexGeneratorOptions
|
|
42
|
+
): string => {
|
|
43
|
+
const esmExtensions = options?.esmExtensions ?? true
|
|
25
44
|
const lines: Array<string> = []
|
|
26
45
|
|
|
27
46
|
// Header
|
|
@@ -64,7 +83,7 @@ export const generateIndex = (dataModel: DataModel): string => {
|
|
|
64
83
|
lines.push(` ${modelExports[i]}${isLast ? "" : ","}`)
|
|
65
84
|
}
|
|
66
85
|
|
|
67
|
-
lines.push(`} from "
|
|
86
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`)
|
|
68
87
|
lines.push(``)
|
|
69
88
|
|
|
70
89
|
// Entity Services (all in one file using crud factory)
|
|
@@ -83,7 +102,7 @@ export const generateIndex = (dataModel: DataModel): string => {
|
|
|
83
102
|
const isLast = i === serviceExports.length - 1
|
|
84
103
|
lines.push(` ${serviceExports[i]}${isLast ? "" : ","}`)
|
|
85
104
|
}
|
|
86
|
-
lines.push(`} from "
|
|
105
|
+
lines.push(`} from "${formatRelativeImport("Services", esmExtensions)}"`)
|
|
87
106
|
lines.push(``)
|
|
88
107
|
|
|
89
108
|
// Operations (FunctionImports, Functions, Actions) - only if there are unbound operations
|
|
@@ -91,14 +110,16 @@ export const generateIndex = (dataModel: DataModel): string => {
|
|
|
91
110
|
if (hasUnboundOperations) {
|
|
92
111
|
lines.push(`// Operations (FunctionImports, Functions, Actions)`)
|
|
93
112
|
const operationsModuleName = getOperationsModuleName()
|
|
94
|
-
lines.push(
|
|
113
|
+
lines.push(
|
|
114
|
+
`export * as ${operationsModuleName} from "${formatRelativeImport(operationsModuleName, esmExtensions)}"`
|
|
115
|
+
)
|
|
95
116
|
lines.push(``)
|
|
96
117
|
}
|
|
97
118
|
|
|
98
119
|
// Path Builders (tree-shakable navigation)
|
|
99
120
|
lines.push(`// Path Builders (tree-shakable navigation)`)
|
|
100
121
|
const pathBuildersModuleName = getPathBuildersModuleName()
|
|
101
|
-
lines.push(`export * from "
|
|
122
|
+
lines.push(`export * from "${formatRelativeImport(pathBuildersModuleName, esmExtensions)}"`)
|
|
102
123
|
lines.push(``)
|
|
103
124
|
|
|
104
125
|
// Query Models
|
|
@@ -132,7 +153,7 @@ export const generateIndex = (dataModel: DataModel): string => {
|
|
|
132
153
|
lines.push(` ${queryExports[i]}${isLast ? "" : ","}`)
|
|
133
154
|
}
|
|
134
155
|
|
|
135
|
-
lines.push(`} from "
|
|
156
|
+
lines.push(`} from "${formatRelativeImport("QueryModels", esmExtensions)}"`)
|
|
136
157
|
|
|
137
158
|
return lines.join("\n")
|
|
138
159
|
}
|
|
@@ -279,3 +279,29 @@ export const getOperationParameterNameWithOverrides = (
|
|
|
279
279
|
// Fall back to default camelCase conversion
|
|
280
280
|
return getPropertyName(odataParamName)
|
|
281
281
|
}
|
|
282
|
+
|
|
283
|
+
// ============================================================================
|
|
284
|
+
// Import path utilities
|
|
285
|
+
// ============================================================================
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Format a relative import path, optionally adding .js extension for ESM compatibility.
|
|
289
|
+
*
|
|
290
|
+
* @param moduleName - The module name (e.g., "Models", "Services")
|
|
291
|
+
* @param esmExtensions - Whether to add .js extension (default: true)
|
|
292
|
+
* @returns The formatted import path (e.g., "./Models.js" or "./Models")
|
|
293
|
+
*
|
|
294
|
+
* @example
|
|
295
|
+
* formatRelativeImport("Models", true) // "./Models.js"
|
|
296
|
+
* formatRelativeImport("Models", false) // "./Models"
|
|
297
|
+
*
|
|
298
|
+
* @since 1.0.0
|
|
299
|
+
* @category imports
|
|
300
|
+
*/
|
|
301
|
+
export const formatRelativeImport = (
|
|
302
|
+
moduleName: string,
|
|
303
|
+
esmExtensions: boolean = true
|
|
304
|
+
): string => {
|
|
305
|
+
const ext = esmExtensions ? ".js" : ""
|
|
306
|
+
return `./${moduleName}${ext}`
|
|
307
|
+
}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import type { DataModel, EntityTypeModel } from "../model/DataModel.js"
|
|
25
25
|
import type { ODataVersion } from "../parser/EdmxSchema.js"
|
|
26
|
-
import { getClassName, toCamelCase } from "./NamingHelper.js"
|
|
26
|
+
import { formatRelativeImport, getClassName, toCamelCase } from "./NamingHelper.js"
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Version-specific configuration.
|
|
@@ -166,15 +166,33 @@ const getDerivedTypes = (
|
|
|
166
166
|
return derived
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
+
/**
|
|
170
|
+
* Options for navigation generation.
|
|
171
|
+
*
|
|
172
|
+
* @since 1.0.0
|
|
173
|
+
* @category types
|
|
174
|
+
*/
|
|
175
|
+
export interface NavigationGeneratorOptions {
|
|
176
|
+
/**
|
|
177
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
178
|
+
* @default true
|
|
179
|
+
*/
|
|
180
|
+
readonly esmExtensions?: boolean
|
|
181
|
+
}
|
|
182
|
+
|
|
169
183
|
/**
|
|
170
184
|
* Generate navigation builders.
|
|
171
185
|
*
|
|
172
186
|
* @since 1.0.0
|
|
173
187
|
* @category generation
|
|
174
188
|
*/
|
|
175
|
-
export const generateNavigations = (
|
|
189
|
+
export const generateNavigations = (
|
|
190
|
+
dataModel: DataModel,
|
|
191
|
+
options?: NavigationGeneratorOptions
|
|
192
|
+
): NavigationGenerationResult => {
|
|
193
|
+
const esmExtensions = options?.esmExtensions ?? true
|
|
176
194
|
const moduleName = getPathBuildersModuleName()
|
|
177
|
-
const content = generatePathBuildersFile(dataModel)
|
|
195
|
+
const content = generatePathBuildersFile(dataModel, esmExtensions)
|
|
178
196
|
|
|
179
197
|
return {
|
|
180
198
|
navigationFiles: [{
|
|
@@ -187,7 +205,7 @@ export const generateNavigations = (dataModel: DataModel): NavigationGenerationR
|
|
|
187
205
|
/**
|
|
188
206
|
* Generate the PathBuilders.ts file.
|
|
189
207
|
*/
|
|
190
|
-
const generatePathBuildersFile = (dataModel: DataModel): string => {
|
|
208
|
+
const generatePathBuildersFile = (dataModel: DataModel, esmExtensions: boolean): string => {
|
|
191
209
|
const lines: Array<string> = []
|
|
192
210
|
const versionConfig = getVersionConfig(dataModel.version)
|
|
193
211
|
|
|
@@ -235,7 +253,7 @@ const generatePathBuildersFile = (dataModel: DataModel): string => {
|
|
|
235
253
|
const isLast = i === typesList.length - 1
|
|
236
254
|
lines.push(` ${typesList[i]} as ${typesList[i]}Model${isLast ? "" : ","}`)
|
|
237
255
|
}
|
|
238
|
-
lines.push(`} from "
|
|
256
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`)
|
|
239
257
|
lines.push(``)
|
|
240
258
|
}
|
|
241
259
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { DataModel, OperationModel, OperationParameterModel } from "../model/DataModel.js"
|
|
10
10
|
import type { ODataVersion } from "../parser/EdmxSchema.js"
|
|
11
|
-
import { toPascalCase } from "./NamingHelper.js"
|
|
11
|
+
import { formatRelativeImport, toPascalCase } from "./NamingHelper.js"
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Version-specific imports and identifiers.
|
|
@@ -73,13 +73,32 @@ export interface OperationsGenerationResult {
|
|
|
73
73
|
readonly operationsFile: GeneratedOperationsFile | null
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
/**
|
|
77
|
+
* Options for operations generation.
|
|
78
|
+
*
|
|
79
|
+
* @since 1.0.0
|
|
80
|
+
* @category types
|
|
81
|
+
*/
|
|
82
|
+
export interface OperationsGeneratorOptions {
|
|
83
|
+
/**
|
|
84
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
85
|
+
* @default true
|
|
86
|
+
*/
|
|
87
|
+
readonly esmExtensions?: boolean
|
|
88
|
+
}
|
|
89
|
+
|
|
76
90
|
/**
|
|
77
91
|
* Generate the operations file.
|
|
78
92
|
*
|
|
79
93
|
* @since 1.0.0
|
|
80
94
|
* @category generation
|
|
81
95
|
*/
|
|
82
|
-
export const generateOperations = (
|
|
96
|
+
export const generateOperations = (
|
|
97
|
+
dataModel: DataModel,
|
|
98
|
+
options?: OperationsGeneratorOptions
|
|
99
|
+
): OperationsGenerationResult => {
|
|
100
|
+
const esmExtensions = options?.esmExtensions ?? true
|
|
101
|
+
|
|
83
102
|
// Get unbound operations only (bound operations are attached to entity services)
|
|
84
103
|
const unboundOperations = Array.from(dataModel.operations.values()).filter((op) => !op.isBound)
|
|
85
104
|
|
|
@@ -87,7 +106,7 @@ export const generateOperations = (dataModel: DataModel): OperationsGenerationRe
|
|
|
87
106
|
return { operationsFile: null }
|
|
88
107
|
}
|
|
89
108
|
|
|
90
|
-
const content = generateOperationsFile(unboundOperations, dataModel)
|
|
109
|
+
const content = generateOperationsFile(unboundOperations, dataModel, esmExtensions)
|
|
91
110
|
|
|
92
111
|
return {
|
|
93
112
|
operationsFile: {
|
|
@@ -174,7 +193,8 @@ const collectModelImports = (operations: ReadonlyArray<OperationModel>, dataMode
|
|
|
174
193
|
*/
|
|
175
194
|
const generateOperationsFile = (
|
|
176
195
|
operations: ReadonlyArray<OperationModel>,
|
|
177
|
-
dataModel: DataModel
|
|
196
|
+
dataModel: DataModel,
|
|
197
|
+
esmExtensions: boolean
|
|
178
198
|
): string => {
|
|
179
199
|
const lines: Array<string> = []
|
|
180
200
|
const versionConfig = getVersionConfig(dataModel.version)
|
|
@@ -215,7 +235,7 @@ const generateOperationsFile = (
|
|
|
215
235
|
const isLast = i === importsList.length - 1
|
|
216
236
|
lines.push(` ${importsList[i]}${isLast ? "" : ","}`)
|
|
217
237
|
}
|
|
218
|
-
lines.push(`} from "
|
|
238
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`)
|
|
219
239
|
lines.push(``)
|
|
220
240
|
}
|
|
221
241
|
|
|
@@ -10,7 +10,27 @@ import type {
|
|
|
10
10
|
NavigationPropertyModel,
|
|
11
11
|
PropertyModel
|
|
12
12
|
} from "../model/DataModel.js"
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
formatRelativeImport,
|
|
15
|
+
getClassName,
|
|
16
|
+
getQueryFactoryName,
|
|
17
|
+
getQueryInstanceName,
|
|
18
|
+
getQueryInterfaceName
|
|
19
|
+
} from "./NamingHelper.js"
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Options for query models generation.
|
|
23
|
+
*
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
* @category types
|
|
26
|
+
*/
|
|
27
|
+
export interface QueryModelsGeneratorOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
32
|
+
readonly esmExtensions?: boolean
|
|
33
|
+
}
|
|
14
34
|
|
|
15
35
|
/**
|
|
16
36
|
* Generate the QueryModels.ts file content.
|
|
@@ -18,7 +38,11 @@ import { getClassName, getQueryFactoryName, getQueryInstanceName, getQueryInterf
|
|
|
18
38
|
* @since 1.0.0
|
|
19
39
|
* @category generation
|
|
20
40
|
*/
|
|
21
|
-
export const generateQueryModels = (
|
|
41
|
+
export const generateQueryModels = (
|
|
42
|
+
dataModel: DataModel,
|
|
43
|
+
options?: QueryModelsGeneratorOptions
|
|
44
|
+
): string => {
|
|
45
|
+
const esmExtensions = options?.esmExtensions ?? true
|
|
22
46
|
const lines: Array<string> = []
|
|
23
47
|
|
|
24
48
|
// Collect all query path types needed
|
|
@@ -48,7 +72,7 @@ export const generateQueryModels = (dataModel: DataModel): string => {
|
|
|
48
72
|
if (usedEntityNames.length > 0) {
|
|
49
73
|
lines.push(`import type {`)
|
|
50
74
|
lines.push(` ${usedEntityNames.join(",\n ")}`)
|
|
51
|
-
lines.push(`} from "
|
|
75
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`)
|
|
52
76
|
}
|
|
53
77
|
lines.push(``)
|
|
54
78
|
|