@sap-cloud-sdk/generator 4.1.3-20251119144655.0 → 4.1.3-20251122014251.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/batch/file.d.ts +2 -1
- package/dist/batch/file.js +2 -2
- package/dist/batch/file.js.map +1 -1
- package/dist/batch/imports.d.ts +2 -1
- package/dist/batch/imports.js +2 -2
- package/dist/batch/imports.js.map +1 -1
- package/dist/complex-type/file.d.ts +2 -1
- package/dist/complex-type/file.js +2 -2
- package/dist/complex-type/file.js.map +1 -1
- package/dist/complex-type/imports.d.ts +2 -1
- package/dist/complex-type/imports.js +3 -3
- package/dist/complex-type/imports.js.map +1 -1
- package/dist/entity/file.d.ts +2 -1
- package/dist/entity/file.js +3 -3
- package/dist/entity/file.js.map +1 -1
- package/dist/entity/imports.d.ts +3 -2
- package/dist/entity/imports.js +15 -11
- package/dist/entity/imports.js.map +1 -1
- package/dist/generator-without-ts-morph/entity-api/file.d.ts +2 -1
- package/dist/generator-without-ts-morph/entity-api/file.js +18 -12
- package/dist/generator-without-ts-morph/entity-api/file.js.map +1 -1
- package/dist/generator-without-ts-morph/entity-api/imports.d.ts +3 -3
- package/dist/generator-without-ts-morph/entity-api/imports.js +14 -8
- package/dist/generator-without-ts-morph/entity-api/imports.js.map +1 -1
- package/dist/generator-without-ts-morph/request-builder/file.d.ts +2 -1
- package/dist/generator-without-ts-morph/request-builder/file.js +2 -2
- package/dist/generator-without-ts-morph/request-builder/file.js.map +1 -1
- package/dist/generator-without-ts-morph/request-builder/imports.d.ts +6 -2
- package/dist/generator-without-ts-morph/request-builder/imports.js +21 -7
- package/dist/generator-without-ts-morph/request-builder/imports.js.map +1 -1
- package/dist/generator-without-ts-morph/service/file.d.ts +3 -3
- package/dist/generator-without-ts-morph/service/file.js +14 -8
- package/dist/generator-without-ts-morph/service/file.js.map +1 -1
- package/dist/generator.js +22 -17
- package/dist/generator.js.map +1 -1
- package/dist/imports.d.ts +3 -2
- package/dist/imports.js +12 -8
- package/dist/imports.js.map +1 -1
- package/dist/operations/file.d.ts +2 -1
- package/dist/operations/file.js +2 -2
- package/dist/operations/file.js.map +1 -1
- package/dist/operations/import.d.ts +2 -1
- package/dist/operations/import.js +13 -8
- package/dist/operations/import.js.map +1 -1
- package/dist/options/options.d.ts +7 -1
- package/dist/service/index-file.d.ts +2 -1
- package/dist/service/index-file.js +16 -10
- package/dist/service/index-file.js.map +1 -1
- package/dist/service/package-json.d.ts +3 -1
- package/dist/service/package-json.js +3 -1
- package/dist/service/package-json.js.map +1 -1
- package/package.json +7 -7
|
@@ -9,13 +9,13 @@ const class_1 = require("./class");
|
|
|
9
9
|
/**
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
12
|
-
function serviceFile(service) {
|
|
13
|
-
return (0, util_1.codeBlock) `${(0, internal_1.serializeImports)(imports(service))}
|
|
12
|
+
function serviceFile(service, options) {
|
|
13
|
+
return (0, util_1.codeBlock) `${(0, internal_1.serializeImports)(imports(service, options))}
|
|
14
14
|
|
|
15
15
|
${(0, class_1.serviceBuilder)(service.className, service.oDataVersion)}
|
|
16
16
|
${(0, class_1.serviceClass)(service)}`;
|
|
17
17
|
}
|
|
18
|
-
function getImports(service) {
|
|
18
|
+
function getImports(service, options) {
|
|
19
19
|
const operations = service.operations;
|
|
20
20
|
if (!operations.length) {
|
|
21
21
|
return [];
|
|
@@ -25,19 +25,23 @@ function getImports(service) {
|
|
|
25
25
|
return [
|
|
26
26
|
{
|
|
27
27
|
names: [...names, ...parameterNames],
|
|
28
|
-
moduleIdentifier:
|
|
28
|
+
moduleIdentifier: options?.generateESM
|
|
29
|
+
? './operations.js'
|
|
30
|
+
: './operations'
|
|
29
31
|
}
|
|
30
32
|
];
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* @internal
|
|
34
36
|
*/
|
|
35
|
-
function imports(service) {
|
|
36
|
-
const operations = getImports(service);
|
|
37
|
+
function imports(service, options) {
|
|
38
|
+
const operations = getImports(service, options);
|
|
37
39
|
const serviceImports = [
|
|
38
40
|
...service.entities.map(entity => ({
|
|
39
41
|
names: [`${entity.className}Api`],
|
|
40
|
-
moduleIdentifier:
|
|
42
|
+
moduleIdentifier: options?.generateESM
|
|
43
|
+
? `./${entity.className}Api.js`
|
|
44
|
+
: `./${entity.className}Api`
|
|
41
45
|
})),
|
|
42
46
|
...operations,
|
|
43
47
|
{
|
|
@@ -62,7 +66,9 @@ function imports(service) {
|
|
|
62
66
|
if ((0, generator_utils_1.hasEntities)(service)) {
|
|
63
67
|
serviceImports.push({
|
|
64
68
|
names: ['batch', 'changeset'],
|
|
65
|
-
moduleIdentifier:
|
|
69
|
+
moduleIdentifier: options?.generateESM
|
|
70
|
+
? './BatchRequest.js'
|
|
71
|
+
: './BatchRequest'
|
|
66
72
|
});
|
|
67
73
|
}
|
|
68
74
|
return serviceImports;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/generator-without-ts-morph/service/file.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/generator-without-ts-morph/service/file.ts"],"names":[],"mappings":";;AAaA,kCAQC;AA6BD,0BA6CC;AA/FD,8CAAgD;AAChD,uEAA4E;AAC5E,2DAAoD;AACpD,mCAAuD;AAOvD;;GAEG;AACH,SAAgB,WAAW,CACzB,OAA2B,EAC3B,OAA2B;IAE3B,OAAO,IAAA,gBAAS,EAAA,GAAG,IAAA,2BAAgB,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;EAE9D,IAAA,sBAAc,EAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC;EACvD,IAAA,oBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CACjB,OAA2B,EAC3B,OAA2B;IAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAC1B,oBAAoB,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAClD,CAAC;IACF,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CACnC,oBAAoB,CAAC,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,CAChE,CAAC;IACF,OAAO;QACL;YACE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,cAAc,CAAC;YACpC,gBAAgB,EAAE,OAAO,EAAE,WAAW;gBACpC,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,cAAc;SACnB;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CACrB,OAA2B,EAC3B,OAA2B;IAE3B,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG;QACrB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,KAAK,CAAC;YACjC,gBAAgB,EAAE,OAAO,EAAE,WAAW;gBACpC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,QAAQ;gBAC/B,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,KAAK;SAC/B,CAAC,CAAC;QACH,GAAG,UAAU;QACb;YACE,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,gBAAgB,EAAE,cAAc;SACjC;QACD;YACE,KAAK,EACH,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC;YACrE,gBAAgB,EAAE,QAAQ;SAC3B;QACD;YACE,KAAK,EAAE;gBACL,sBAAsB;gBACtB,eAAe;gBACf,sBAAsB;gBACtB,+BAA+B;gBAC/B,MAAM;aACP;YACD,gBAAgB,EAAE,wBAAwB,OAAO,CAAC,YAAY,EAAE;SACjE;KACF,CAAC;IAEF,IAAI,IAAA,6BAAW,EAAC,OAAO,CAAC,EAAE,CAAC;QACzB,cAAc,CAAC,IAAI,CAAC;YAClB,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;YAC7B,gBAAgB,EAAE,OAAO,EAAE,WAAW;gBACpC,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,gBAAgB;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
package/dist/generator.js
CHANGED
|
@@ -108,7 +108,7 @@ async function generateProject(options) {
|
|
|
108
108
|
if (options.clearOutputDir) {
|
|
109
109
|
(0, fs_extra_1.emptyDirSync)(options.outputDir.toString());
|
|
110
110
|
}
|
|
111
|
-
const project = new ts_morph_1.Project(projectOptions());
|
|
111
|
+
const project = new ts_morph_1.Project(projectOptions(options.generateESM ? 'esm' : 'commonjs'));
|
|
112
112
|
const promises = services.map(service => generateSourcesForService(service, project, options));
|
|
113
113
|
if (options.optionsPerService) {
|
|
114
114
|
logger.verbose('Generating options per service ...');
|
|
@@ -132,7 +132,8 @@ async function generateFilesWithoutTsMorph(services, options) {
|
|
|
132
132
|
async function getFileCreationOptions(options) {
|
|
133
133
|
return {
|
|
134
134
|
prettierOptions: await (0, internal_1.readPrettierConfig)(options.prettierConfig?.toString()),
|
|
135
|
-
overwrite: options.overwrite
|
|
135
|
+
overwrite: options.overwrite,
|
|
136
|
+
generateESM: options.generateESM
|
|
136
137
|
};
|
|
137
138
|
}
|
|
138
139
|
async function generateIncludes(service, options) {
|
|
@@ -144,11 +145,11 @@ async function generateIncludes(service, options) {
|
|
|
144
145
|
async function generateServiceFile(service, options) {
|
|
145
146
|
const serviceDir = (0, path_1.join)(options.outputDir, service.serviceOptions.directoryName);
|
|
146
147
|
const createFileOptions = await getFileCreationOptions(options);
|
|
147
|
-
await (0, internal_1.createFile)(serviceDir, 'service.ts', (0, generator_without_ts_morph_1.serviceFile)(service), createFileOptions);
|
|
148
|
+
await (0, internal_1.createFile)(serviceDir, 'service.ts', (0, generator_without_ts_morph_1.serviceFile)(service, createFileOptions), createFileOptions);
|
|
148
149
|
}
|
|
149
150
|
async function generateEntityApis(service, options) {
|
|
150
151
|
const createFileOptions = await getFileCreationOptions(options);
|
|
151
|
-
await Promise.all(service.entities.map(entity => (0, internal_1.createFile)((0, path_1.join)(options.outputDir, service.serviceOptions.directoryName), `${entity.className}Api.ts`, (0, generator_without_ts_morph_1.entityApiFile)(entity, service), createFileOptions)));
|
|
152
|
+
await Promise.all(service.entities.map(entity => (0, internal_1.createFile)((0, path_1.join)(options.outputDir, service.serviceOptions.directoryName), `${entity.className}Api.ts`, (0, generator_without_ts_morph_1.entityApiFile)(entity, service, createFileOptions), createFileOptions)));
|
|
152
153
|
}
|
|
153
154
|
/**
|
|
154
155
|
* @internal
|
|
@@ -167,22 +168,24 @@ async function generateSourcesForService(service, project, options) {
|
|
|
167
168
|
npmPackageName: service.serviceOptions.packageName,
|
|
168
169
|
sdkVersion: await (0, internal_1.getSdkVersion)(),
|
|
169
170
|
description: (0, internal_1.packageDescription)(service.speakingModuleName),
|
|
170
|
-
oDataVersion: service.oDataVersion
|
|
171
|
+
oDataVersion: service.oDataVersion,
|
|
172
|
+
generateESM: options.generateESM
|
|
171
173
|
}), createFileOptions));
|
|
172
174
|
}
|
|
173
175
|
if (options.transpile || options.tsconfig) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
176
|
+
const tsConfig = await (0, internal_1.tsconfigJson)(options.transpile, options.tsconfig, options.generateESM);
|
|
177
|
+
if (tsConfig) {
|
|
178
|
+
filePromises.push((0, internal_1.createFile)(serviceDirPath, 'tsconfig.json', tsConfig, createFileOptions));
|
|
179
|
+
}
|
|
177
180
|
}
|
|
178
181
|
if ((0, generator_utils_1.hasEntities)(service)) {
|
|
179
182
|
logger.verbose(`[${service.originalFileName}] Generating batch request builder ...`);
|
|
180
|
-
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, 'BatchRequest', (0, batch_1.batchSourceFile)(service), createFileOptions));
|
|
183
|
+
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, 'BatchRequest', (0, batch_1.batchSourceFile)(service, createFileOptions), createFileOptions));
|
|
181
184
|
}
|
|
182
185
|
service.entities.forEach(entity => {
|
|
183
186
|
logger.verbose(`Generating entity: ${entity.className}...`);
|
|
184
|
-
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, entity.className, (0, entity_1.entitySourceFile)(entity, service), createFileOptions));
|
|
185
|
-
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, `${entity.className}RequestBuilder`, (0, generator_without_ts_morph_1.requestBuilderSourceFile)(entity, service.oDataVersion), createFileOptions));
|
|
187
|
+
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, entity.className, (0, entity_1.entitySourceFile)(entity, service, createFileOptions), createFileOptions));
|
|
188
|
+
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, `${entity.className}RequestBuilder`, (0, generator_without_ts_morph_1.requestBuilderSourceFile)(entity, service.oDataVersion, createFileOptions), createFileOptions));
|
|
186
189
|
});
|
|
187
190
|
service.enumTypes.forEach(enumType => {
|
|
188
191
|
logger.verbose(`[${service.originalFileName}] Generating enum type ${enumType.originalName} ...`);
|
|
@@ -190,14 +193,14 @@ async function generateSourcesForService(service, project, options) {
|
|
|
190
193
|
});
|
|
191
194
|
service.complexTypes.forEach(complexType => {
|
|
192
195
|
logger.verbose(`[${service.originalFileName}] Generating complex type ${complexType.originalName} ...`);
|
|
193
|
-
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, complexType.typeName, (0, complex_type_1.complexTypeSourceFile)(complexType, service.oDataVersion), createFileOptions));
|
|
196
|
+
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, complexType.typeName, (0, complex_type_1.complexTypeSourceFile)(complexType, service.oDataVersion, createFileOptions), createFileOptions));
|
|
194
197
|
});
|
|
195
198
|
// Merge generated function-imports.ts and action-imports.ts into one operations.ts.
|
|
196
199
|
if (service.operations.length) {
|
|
197
200
|
logger.verbose(`[${service.originalFileName}] Generating operations ...`);
|
|
198
|
-
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, 'operations', (0, operations_1.operationsSourceFile)(service), createFileOptions));
|
|
201
|
+
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, 'operations', (0, operations_1.operationsSourceFile)(service, createFileOptions), createFileOptions));
|
|
199
202
|
}
|
|
200
|
-
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, 'index', (0, service_1.indexFile)(service), createFileOptions));
|
|
203
|
+
filePromises.push((0, file_generator_1.sourceFile)(serviceDir, 'index', (0, service_1.indexFile)(service, createFileOptions), createFileOptions));
|
|
201
204
|
if (options.readme) {
|
|
202
205
|
logger.verbose(`[${service.originalFileName}] Generating readme ...`);
|
|
203
206
|
filePromises.push((0, internal_1.createFile)(serviceDirPath, 'README.md', (0, service_1.readme)(service), createFileOptions));
|
|
@@ -213,7 +216,7 @@ async function generateSourcesForService(service, project, options) {
|
|
|
213
216
|
}
|
|
214
217
|
await Promise.all(filePromises);
|
|
215
218
|
}
|
|
216
|
-
function projectOptions() {
|
|
219
|
+
function projectOptions(moduleType = 'commonjs') {
|
|
217
220
|
return {
|
|
218
221
|
skipAddingFilesFromTsConfig: true,
|
|
219
222
|
manipulationSettings: {
|
|
@@ -223,12 +226,14 @@ function projectOptions() {
|
|
|
223
226
|
},
|
|
224
227
|
compilerOptions: {
|
|
225
228
|
target: ts_morph_1.ScriptTarget.ES2021,
|
|
226
|
-
module: ts_morph_1.ModuleKind.CommonJS,
|
|
229
|
+
module: moduleType === 'esm' ? ts_morph_1.ModuleKind.NodeNext : ts_morph_1.ModuleKind.CommonJS,
|
|
227
230
|
declaration: true,
|
|
228
231
|
declarationMap: true,
|
|
229
232
|
sourceMap: true,
|
|
230
233
|
diagnostics: true,
|
|
231
|
-
moduleResolution:
|
|
234
|
+
moduleResolution: moduleType === 'esm'
|
|
235
|
+
? ts_morph_1.ModuleResolutionKind.NodeNext
|
|
236
|
+
: ts_morph_1.ModuleResolutionKind.Node10,
|
|
232
237
|
esModuleInterop: true,
|
|
233
238
|
inlineSources: false,
|
|
234
239
|
noImplicitAny: true
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;AAqEA,4BAWC;AAoDD,kEAgBC;AAKD,oDAgBC;AAKD,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/imports.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ImportDeclarationStructure } from 'ts-morph';
|
|
2
2
|
import type { ODataVersion } from '@sap-cloud-sdk/util';
|
|
3
3
|
import type { VdmMappedEdmType, VdmNavigationProperty, VdmProperty } from './vdm-types';
|
|
4
|
+
import type { CreateFileOptions } from '@sap-cloud-sdk/generator-common/internal';
|
|
4
5
|
/**
|
|
5
6
|
* @internal
|
|
6
7
|
*/
|
|
@@ -32,11 +33,11 @@ export declare function navPropertyFieldTypeImportNames(navProperties: VdmNaviga
|
|
|
32
33
|
/**
|
|
33
34
|
* @internal
|
|
34
35
|
*/
|
|
35
|
-
export declare function complexTypeImportDeclarations(properties: VdmProperty[]): ImportDeclarationStructure[];
|
|
36
|
+
export declare function complexTypeImportDeclarations(properties: VdmProperty[], options?: CreateFileOptions): ImportDeclarationStructure[];
|
|
36
37
|
/**
|
|
37
38
|
* @internal
|
|
38
39
|
*/
|
|
39
|
-
export declare function enumTypeImportDeclarations(properties: VdmProperty[]): ImportDeclarationStructure[];
|
|
40
|
+
export declare function enumTypeImportDeclarations(properties: VdmProperty[], options?: CreateFileOptions): ImportDeclarationStructure[];
|
|
40
41
|
/**
|
|
41
42
|
* @internal
|
|
42
43
|
*/
|
package/dist/imports.js
CHANGED
|
@@ -73,18 +73,18 @@ function navPropertyFieldTypeImportNames(navProperties, oDataVersion) {
|
|
|
73
73
|
/**
|
|
74
74
|
* @internal
|
|
75
75
|
*/
|
|
76
|
-
function complexTypeImportDeclarations(properties) {
|
|
76
|
+
function complexTypeImportDeclarations(properties, options) {
|
|
77
77
|
return mergeImportDeclarations(properties
|
|
78
78
|
.filter(prop => prop.isComplex)
|
|
79
|
-
.map(prop => complexTypeImportDeclaration(prop)));
|
|
79
|
+
.map(prop => complexTypeImportDeclaration(prop, options)));
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
82
82
|
* @internal
|
|
83
83
|
*/
|
|
84
|
-
function enumTypeImportDeclarations(properties) {
|
|
84
|
+
function enumTypeImportDeclarations(properties, options) {
|
|
85
85
|
return mergeImportDeclarations(properties
|
|
86
86
|
.filter(prop => prop.isEnum)
|
|
87
|
-
.map(prop => enumTypeImportDeclaration(prop)));
|
|
87
|
+
.map(prop => enumTypeImportDeclaration(prop, options)));
|
|
88
88
|
}
|
|
89
89
|
// Only supports named imports
|
|
90
90
|
/**
|
|
@@ -133,17 +133,21 @@ function mergeImportDeclarations(importDeclarations) {
|
|
|
133
133
|
})
|
|
134
134
|
.filter(importDeclaration => importDeclaration.namedImports && importDeclaration.namedImports.length);
|
|
135
135
|
}
|
|
136
|
-
function complexTypeImportDeclaration(prop) {
|
|
136
|
+
function complexTypeImportDeclaration(prop, options) {
|
|
137
137
|
return {
|
|
138
138
|
kind: ts_morph_1.StructureKind.ImportDeclaration,
|
|
139
|
-
moduleSpecifier:
|
|
139
|
+
moduleSpecifier: options?.generateESM
|
|
140
|
+
? `./${prop.jsType}.js`
|
|
141
|
+
: `./${prop.jsType}`,
|
|
140
142
|
namedImports: [prop.jsType, ...(prop.isCollection ? [] : [prop.fieldType])]
|
|
141
143
|
};
|
|
142
144
|
}
|
|
143
|
-
function enumTypeImportDeclaration(prop) {
|
|
145
|
+
function enumTypeImportDeclaration(prop, options) {
|
|
144
146
|
return {
|
|
145
147
|
kind: ts_morph_1.StructureKind.ImportDeclaration,
|
|
146
|
-
moduleSpecifier:
|
|
148
|
+
moduleSpecifier: options?.generateESM
|
|
149
|
+
? `./${prop.jsType}.js`
|
|
150
|
+
: `./${prop.jsType}`,
|
|
147
151
|
namedImports: [prop.jsType]
|
|
148
152
|
};
|
|
149
153
|
}
|
package/dist/imports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../src/imports.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"imports.js","sourceRoot":"","sources":["../src/imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { VdmServiceMetadata } from '../vdm-types';
|
|
2
2
|
import type { SourceFileStructure } from 'ts-morph';
|
|
3
|
+
import type { CreateFileOptions } from '@sap-cloud-sdk/generator-common/internal';
|
|
3
4
|
/**
|
|
4
5
|
* @internal
|
|
5
6
|
*/
|
|
6
|
-
export declare function operationsSourceFile(service: VdmServiceMetadata): SourceFileStructure;
|
|
7
|
+
export declare function operationsSourceFile(service: VdmServiceMetadata, options?: CreateFileOptions): SourceFileStructure;
|
package/dist/operations/file.js
CHANGED
|
@@ -10,12 +10,12 @@ const operation_1 = require("./operation");
|
|
|
10
10
|
/**
|
|
11
11
|
* @internal
|
|
12
12
|
*/
|
|
13
|
-
function operationsSourceFile(service) {
|
|
13
|
+
function operationsSourceFile(service, options) {
|
|
14
14
|
const operations = service.operations;
|
|
15
15
|
return {
|
|
16
16
|
kind: ts_morph_1.StructureKind.SourceFile,
|
|
17
17
|
statements: [
|
|
18
|
-
...(0, import_1.operationDeclarations)(service, operations),
|
|
18
|
+
...(0, import_1.operationDeclarations)(service, operations, options),
|
|
19
19
|
...(0, util_1.flat)(operations.map(operation => operationStatements(operation, service))),
|
|
20
20
|
(0, export_statement_1.exportStatement)(operations)
|
|
21
21
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/operations/file.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/operations/file.ts"],"names":[],"mappings":";;AAiBA,oDAgBC;AAjCD,8CAA2C;AAC3C,uCAAyC;AACzC,iEAA6D;AAC7D,yDAAqD;AACrD,qCAAiD;AACjD,2CAAgD;AAShD;;GAEG;AACH,SAAgB,oBAAoB,CAClC,OAA2B,EAC3B,OAA2B;IAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,wBAAa,CAAC,UAAU;QAC9B,UAAU,EAAE;YACV,GAAG,IAAA,8BAAqB,EAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;YACtD,GAAG,IAAA,WAAI,EACL,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CACrE;YACD,IAAA,kCAAe,EAAC,UAAU,CAAC;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAuB,EACvB,OAA2B;IAE3B,OAAO;QACL,IAAA,0CAAmB,EAAC,SAAS,CAAC;QAC9B,IAAA,6BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC;KACtC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { VdmOperation, VdmServiceMetadata } from '../vdm-types';
|
|
2
2
|
import type { ImportDeclarationStructure } from 'ts-morph';
|
|
3
|
+
import type { CreateFileOptions } from '@sap-cloud-sdk/generator-common/internal';
|
|
3
4
|
/**
|
|
4
5
|
* @internal
|
|
5
6
|
*/
|
|
6
|
-
export declare function operationDeclarations({ oDataVersion, className }: VdmServiceMetadata, operations?: VdmOperation[]): ImportDeclarationStructure[];
|
|
7
|
+
export declare function operationDeclarations({ oDataVersion, className }: VdmServiceMetadata, operations?: VdmOperation[], options?: CreateFileOptions): ImportDeclarationStructure[];
|
|
@@ -24,19 +24,23 @@ function responseTransformerImports(returnTypes) {
|
|
|
24
24
|
? 'throwErrorWhenReturnTypeIsUnionType'
|
|
25
25
|
: (0, response_transformer_function_1.responseTransformerFunctionName)(returnType));
|
|
26
26
|
}
|
|
27
|
-
function returnTypeImports(returnTypes) {
|
|
27
|
+
function returnTypeImports(returnTypes, options) {
|
|
28
28
|
return (0, imports_1.mergeImportDeclarations)(returnTypes
|
|
29
29
|
.filter(returnType => returnType.returnTypeCategory !== 'edm-type' &&
|
|
30
30
|
returnType.returnTypeCategory !== 'void' &&
|
|
31
31
|
returnType.returnTypeCategory !== 'never')
|
|
32
|
-
.reduce((imports, returnType) => [
|
|
32
|
+
.reduce((imports, returnType) => [
|
|
33
|
+
...imports,
|
|
34
|
+
...returnTypeImport(returnType, options)
|
|
35
|
+
], []));
|
|
33
36
|
}
|
|
34
|
-
function returnTypeImport(returnType) {
|
|
37
|
+
function returnTypeImport(returnType, options) {
|
|
38
|
+
const extension = options?.generateESM ? '.js' : '';
|
|
35
39
|
const typeImports = [
|
|
36
40
|
{
|
|
37
41
|
kind: ts_morph_1.StructureKind.ImportDeclaration,
|
|
38
42
|
namedImports: [returnType.returnType],
|
|
39
|
-
moduleSpecifier: `./${returnType.returnType}`
|
|
43
|
+
moduleSpecifier: `./${returnType.returnType}${extension}`
|
|
40
44
|
}
|
|
41
45
|
];
|
|
42
46
|
if (returnType.returnTypeCategory === 'entity') {
|
|
@@ -45,7 +49,7 @@ function returnTypeImport(returnType) {
|
|
|
45
49
|
{
|
|
46
50
|
kind: ts_morph_1.StructureKind.ImportDeclaration,
|
|
47
51
|
namedImports: [`${returnType.returnType}Api`],
|
|
48
|
-
moduleSpecifier: `./${returnType.returnType}Api`
|
|
52
|
+
moduleSpecifier: `./${returnType.returnType}Api${extension}`
|
|
49
53
|
}
|
|
50
54
|
];
|
|
51
55
|
}
|
|
@@ -54,7 +58,7 @@ function returnTypeImport(returnType) {
|
|
|
54
58
|
/**
|
|
55
59
|
* @internal
|
|
56
60
|
*/
|
|
57
|
-
function operationDeclarations({ oDataVersion, className }, operations = []) {
|
|
61
|
+
function operationDeclarations({ oDataVersion, className }, operations = [], options) {
|
|
58
62
|
if (!operations.length) {
|
|
59
63
|
return [];
|
|
60
64
|
}
|
|
@@ -68,13 +72,14 @@ function operationDeclarations({ oDataVersion, className }, operations = []) {
|
|
|
68
72
|
if (includesUnbound && includesBound) {
|
|
69
73
|
throw new Error('Bound and unbound operations found in generation - this should not happen.');
|
|
70
74
|
}
|
|
75
|
+
const extension = options?.generateESM ? '.js' : '';
|
|
71
76
|
const serviceImport = includesBound
|
|
72
77
|
? []
|
|
73
78
|
: [
|
|
74
79
|
{
|
|
75
80
|
kind: ts_morph_1.StructureKind.ImportDeclaration,
|
|
76
81
|
namedImports: [voca_1.default.decapitalize(className)],
|
|
77
|
-
moduleSpecifier:
|
|
82
|
+
moduleSpecifier: `./service${extension}`
|
|
78
83
|
}
|
|
79
84
|
];
|
|
80
85
|
return [
|
|
@@ -92,7 +97,7 @@ function operationDeclarations({ oDataVersion, className }, operations = []) {
|
|
|
92
97
|
...(includesBound ? ['BoundOperationRequestBuilder'] : [])
|
|
93
98
|
], oDataVersion),
|
|
94
99
|
...serviceImport,
|
|
95
|
-
...returnTypeImports(returnTypes)
|
|
100
|
+
...returnTypeImports(returnTypes, options)
|
|
96
101
|
];
|
|
97
102
|
}
|
|
98
103
|
//# sourceMappingURL=import.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/operations/import.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/operations/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CommonGeneratorOptions } from '@sap-cloud-sdk/generator-common';
|
|
2
|
+
import type { ParsedOptions } from '@sap-cloud-sdk/generator-common/internal';
|
|
2
3
|
/**
|
|
3
4
|
* Options to configure OData client generation when using the generator programmatically.
|
|
4
5
|
*/
|
|
@@ -106,6 +107,11 @@ export declare const cliOptions: {
|
|
|
106
107
|
readonly default: false;
|
|
107
108
|
readonly hidden: true;
|
|
108
109
|
};
|
|
110
|
+
readonly generateESM: {
|
|
111
|
+
readonly describe: "When enabled, all generated files follow the ECMAScript module syntax.";
|
|
112
|
+
readonly type: "boolean";
|
|
113
|
+
readonly default: false;
|
|
114
|
+
};
|
|
109
115
|
readonly useSwagger: {
|
|
110
116
|
readonly describe: "Augment parsed information with information from swagger-parser definition files. Files are expected to have the same name as the EDMX file, but with .json as suffix.";
|
|
111
117
|
readonly type: "boolean";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SourceFileStructure } from 'ts-morph';
|
|
2
2
|
import type { VdmServiceMetadata } from '../vdm-types';
|
|
3
|
+
import type { CreateFileOptions } from '@sap-cloud-sdk/generator-common/internal';
|
|
3
4
|
/**
|
|
4
5
|
* @internal
|
|
5
6
|
*/
|
|
6
|
-
export declare function indexFile(service: VdmServiceMetadata): SourceFileStructure;
|
|
7
|
+
export declare function indexFile(service: VdmServiceMetadata, options?: CreateFileOptions): SourceFileStructure;
|
|
@@ -6,24 +6,30 @@ const generator_utils_1 = require("../generator-utils");
|
|
|
6
6
|
/**
|
|
7
7
|
* @internal
|
|
8
8
|
*/
|
|
9
|
-
function indexFile(service) {
|
|
9
|
+
function indexFile(service, options) {
|
|
10
10
|
return {
|
|
11
11
|
kind: ts_morph_1.StructureKind.SourceFile,
|
|
12
12
|
statements: [
|
|
13
|
-
...service.entities.map(entity => exportStatement(entity.className)),
|
|
14
|
-
...service.entities.map(entity => exportStatement(`${entity.className}RequestBuilder
|
|
15
|
-
...service.complexTypes.map(complexType => exportStatement(complexType.typeName)),
|
|
16
|
-
...service.enumTypes.map(enumType => exportStatement(enumType.typeName)),
|
|
17
|
-
...(service.operations.length
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
...service.entities.map(entity => exportStatement(entity.className, options)),
|
|
14
|
+
...service.entities.map(entity => exportStatement(`${entity.className}RequestBuilder`, options)),
|
|
15
|
+
...service.complexTypes.map(complexType => exportStatement(complexType.typeName, options)),
|
|
16
|
+
...service.enumTypes.map(enumType => exportStatement(enumType.typeName, options)),
|
|
17
|
+
...(service.operations.length
|
|
18
|
+
? [exportStatement('operations', options)]
|
|
19
|
+
: []),
|
|
20
|
+
...((0, generator_utils_1.hasEntities)(service)
|
|
21
|
+
? [exportStatement('BatchRequest', options)]
|
|
22
|
+
: []),
|
|
23
|
+
exportStatement('service', options)
|
|
20
24
|
]
|
|
21
25
|
};
|
|
22
26
|
}
|
|
23
|
-
function exportStatement(moduleName) {
|
|
27
|
+
function exportStatement(moduleName, options) {
|
|
24
28
|
return {
|
|
25
29
|
kind: ts_morph_1.StructureKind.ExportDeclaration,
|
|
26
|
-
moduleSpecifier:
|
|
30
|
+
moduleSpecifier: options?.generateESM
|
|
31
|
+
? `./${moduleName}.js`
|
|
32
|
+
: `./${moduleName}`
|
|
27
33
|
};
|
|
28
34
|
}
|
|
29
35
|
//# sourceMappingURL=index-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-file.js","sourceRoot":"","sources":["../../src/service/index-file.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index-file.js","sourceRoot":"","sources":["../../src/service/index-file.ts"],"names":[],"mappings":";;AASA,8BA4BC;AArCD,uCAAyC;AACzC,wDAAiD;AAKjD;;GAEG;AACH,SAAgB,SAAS,CACvB,OAA2B,EAC3B,OAA2B;IAE3B,OAAO;QACL,IAAI,EAAE,wBAAa,CAAC,UAAU;QAC9B,UAAU,EAAE;YACV,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC/B,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAC3C;YACD,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC/B,eAAe,CAAC,GAAG,MAAM,CAAC,SAAS,gBAAgB,EAAE,OAAO,CAAC,CAC9D;YACD,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CACxC,eAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC/C;YACD,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAClC,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC5C;YACD,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;gBAC3B,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC1C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAA,6BAAW,EAAC,OAAO,CAAC;gBACtB,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACP,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC;SACpC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,UAAkB,EAClB,OAA2B;IAE3B,OAAO;QACL,IAAI,EAAE,wBAAa,CAAC,iBAAiB;QACrC,eAAe,EAAE,OAAO,EAAE,WAAW;YACnC,CAAC,CAAC,KAAK,UAAU,KAAK;YACtB,CAAC,CAAC,KAAK,UAAU,EAAE;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -15,4 +15,6 @@ export interface PackageJsonOptions extends PackageJsonOptionsBase {
|
|
|
15
15
|
* @returns The package.json contents.
|
|
16
16
|
* @internal
|
|
17
17
|
*/
|
|
18
|
-
export declare function packageJson(options: PackageJsonOptions
|
|
18
|
+
export declare function packageJson(options: PackageJsonOptions & {
|
|
19
|
+
generateESM?: boolean;
|
|
20
|
+
}): Promise<string>;
|
|
@@ -13,8 +13,10 @@ async function packageJson(options) {
|
|
|
13
13
|
const oDataModule = options.oDataVersion === 'v2'
|
|
14
14
|
? '@sap-cloud-sdk/odata-v2'
|
|
15
15
|
: '@sap-cloud-sdk/odata-v4';
|
|
16
|
+
// Determine module type based on generateESM option
|
|
17
|
+
const moduleType = options.generateESM ? 'esm' : 'commonjs';
|
|
16
18
|
return (JSON.stringify({
|
|
17
|
-
...(0, internal_1.packageJsonBase)(options),
|
|
19
|
+
...(0, internal_1.packageJsonBase)({ ...options, moduleType }),
|
|
18
20
|
files: [
|
|
19
21
|
'**/*.js',
|
|
20
22
|
'**/*.js.map',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../src/service/package-json.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../src/service/package-json.ts"],"names":[],"mappings":";;AAoBA,kCAqCC;AAzDD,8CAA8C;AAC9C,uEAA2E;AAa3E;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAuD;IAEvD,MAAM,WAAW,GACf,OAAO,CAAC,YAAY,KAAK,IAAI;QAC3B,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,yBAAyB,CAAC;IAEhC,oDAAoD;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;IAE5D,OAAO,CACL,IAAI,CAAC,SAAS,CACZ;QACE,GAAG,IAAA,0BAAe,EAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC;QAC9C,KAAK,EAAE;YACL,SAAS;YACT,aAAa;YACb,WAAW;YACX,aAAa;YACb,eAAe;SAChB;QACD,OAAO,EAAE;YACP,OAAO,EAAE,SAAS;SACnB;QACD,YAAY,EAAE;YACZ,6BAA6B,EAAE,IAAI,OAAO,CAAC,UAAU,EAAE;YACvD,CAAC,WAAW,CAAC,EAAE,IAAI,OAAO,CAAC,UAAU,EAAE;SACxC;QACD,eAAe,EAAE;YACf,UAAU,EAAE,MAAM;SACnB;KACF,EACD,IAAI,EACJ,CAAC,CACF,GAAG,cAAO,CACZ,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap-cloud-sdk/generator",
|
|
3
|
-
"version": "4.1.3-
|
|
3
|
+
"version": "4.1.3-20251122014251.0",
|
|
4
4
|
"description": "SAP Cloud SDK for JavaScript OData client generator",
|
|
5
5
|
"homepage": "https://sap.github.io/cloud-sdk/docs/js/overview",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"readme": "ts-node ../../scripts/replace-common-readme.ts"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@sap-cloud-sdk/generator-common": "^4.1.3-
|
|
47
|
-
"@sap-cloud-sdk/odata-common": "^4.1.3-
|
|
48
|
-
"@sap-cloud-sdk/odata-v2": "^4.1.3-
|
|
49
|
-
"@sap-cloud-sdk/odata-v4": "^4.1.3-
|
|
50
|
-
"@sap-cloud-sdk/util": "^4.1.3-
|
|
46
|
+
"@sap-cloud-sdk/generator-common": "^4.1.3-20251122014251.0",
|
|
47
|
+
"@sap-cloud-sdk/odata-common": "^4.1.3-20251122014251.0",
|
|
48
|
+
"@sap-cloud-sdk/odata-v2": "^4.1.3-20251122014251.0",
|
|
49
|
+
"@sap-cloud-sdk/odata-v4": "^4.1.3-20251122014251.0",
|
|
50
|
+
"@sap-cloud-sdk/util": "^4.1.3-20251122014251.0",
|
|
51
51
|
"@types/fs-extra": "^11.0.4",
|
|
52
|
-
"fast-xml-parser": "^5.3.
|
|
52
|
+
"fast-xml-parser": "^5.3.2",
|
|
53
53
|
"fs-extra": "^11.3.2",
|
|
54
54
|
"ts-morph": "^27.0.2",
|
|
55
55
|
"typescript": "~5.9.3",
|