@emfts/codegen 0.0.1-next.8 → 0.0.2-next.2

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.
Files changed (152) hide show
  1. package/dist/cli/commands/generate.d.ts.map +1 -1
  2. package/dist/cli/commands/generate.js +12 -12
  3. package/dist/cli/commands/generate.js.map +1 -1
  4. package/dist/cli/commands/init.d.ts +6 -0
  5. package/dist/cli/commands/init.d.ts.map +1 -1
  6. package/dist/cli/commands/init.js +69 -16
  7. package/dist/cli/commands/init.js.map +1 -1
  8. package/dist/cli/import-mappings.d.ts +5 -0
  9. package/dist/cli/import-mappings.d.ts.map +1 -0
  10. package/dist/cli/import-mappings.js +16 -0
  11. package/dist/cli/import-mappings.js.map +1 -0
  12. package/dist/genconfig/GenConfig.d.ts +14 -0
  13. package/dist/genconfig/GenConfig.d.ts.map +1 -1
  14. package/dist/genconfig/GenConfig.js.map +1 -1
  15. package/dist/genconfig/GenConfigConverter.d.ts.map +1 -1
  16. package/dist/genconfig/GenConfigConverter.js +4 -1
  17. package/dist/genconfig/GenConfigConverter.js.map +1 -1
  18. package/dist/genconfig/GenConfigLoader.d.ts +4 -4
  19. package/dist/genconfig/GenConfigLoader.d.ts.map +1 -1
  20. package/dist/genconfig/GenConfigLoader.js +38 -27
  21. package/dist/genconfig/GenConfigLoader.js.map +1 -1
  22. package/dist/genconfig/model/ClassDefaults.d.ts +12 -0
  23. package/dist/genconfig/model/ClassDefaults.d.ts.map +1 -0
  24. package/dist/genconfig/model/ClassDefaults.js +8 -0
  25. package/dist/genconfig/model/ClassDefaults.js.map +1 -0
  26. package/dist/genconfig/model/ClassDefaultsImpl.d.ts +46 -0
  27. package/dist/genconfig/model/ClassDefaultsImpl.d.ts.map +1 -0
  28. package/dist/genconfig/model/ClassDefaultsImpl.js +205 -0
  29. package/dist/genconfig/model/ClassDefaultsImpl.js.map +1 -0
  30. package/dist/genconfig/model/ClassOverride.d.ts +15 -0
  31. package/dist/genconfig/model/ClassOverride.d.ts.map +1 -0
  32. package/dist/genconfig/model/ClassOverride.js +8 -0
  33. package/dist/genconfig/model/ClassOverride.js.map +1 -0
  34. package/dist/genconfig/model/ClassOverrideImpl.d.ts +53 -0
  35. package/dist/genconfig/model/ClassOverrideImpl.d.ts.map +1 -0
  36. package/dist/genconfig/model/ClassOverrideImpl.js +248 -0
  37. package/dist/genconfig/model/ClassOverrideImpl.js.map +1 -0
  38. package/dist/genconfig/model/FeatureDefaults.d.ts +11 -0
  39. package/dist/genconfig/model/FeatureDefaults.d.ts.map +1 -0
  40. package/dist/genconfig/model/FeatureDefaults.js +8 -0
  41. package/dist/genconfig/model/FeatureDefaults.js.map +1 -0
  42. package/dist/genconfig/model/FeatureDefaultsImpl.d.ts +39 -0
  43. package/dist/genconfig/model/FeatureDefaultsImpl.d.ts.map +1 -0
  44. package/dist/genconfig/model/FeatureDefaultsImpl.js +136 -0
  45. package/dist/genconfig/model/FeatureDefaultsImpl.js.map +1 -0
  46. package/dist/genconfig/model/FeatureOverride.d.ts +14 -0
  47. package/dist/genconfig/model/FeatureOverride.d.ts.map +1 -0
  48. package/dist/genconfig/model/FeatureOverride.js +8 -0
  49. package/dist/genconfig/model/FeatureOverride.js.map +1 -0
  50. package/dist/genconfig/model/FeatureOverrideImpl.d.ts +51 -0
  51. package/dist/genconfig/model/FeatureOverrideImpl.d.ts.map +1 -0
  52. package/dist/genconfig/model/FeatureOverrideImpl.js +241 -0
  53. package/dist/genconfig/model/FeatureOverrideImpl.js.map +1 -0
  54. package/dist/genconfig/model/GenConfig.d.ts +21 -0
  55. package/dist/genconfig/model/GenConfig.d.ts.map +1 -0
  56. package/dist/genconfig/model/GenConfig.js +8 -0
  57. package/dist/genconfig/model/GenConfig.js.map +1 -0
  58. package/dist/genconfig/model/GenConfigFactory.d.ts +56 -0
  59. package/dist/genconfig/model/GenConfigFactory.d.ts.map +1 -0
  60. package/dist/genconfig/model/GenConfigFactory.js +108 -0
  61. package/dist/genconfig/model/GenConfigFactory.js.map +1 -0
  62. package/dist/genconfig/model/GenConfigImpl.d.ts +62 -0
  63. package/dist/genconfig/model/GenConfigImpl.d.ts.map +1 -0
  64. package/dist/genconfig/model/GenConfigImpl.js +283 -0
  65. package/dist/genconfig/model/GenConfigImpl.js.map +1 -0
  66. package/dist/genconfig/model/GenConfigPackage.d.ts +68 -0
  67. package/dist/genconfig/model/GenConfigPackage.d.ts.map +1 -0
  68. package/dist/genconfig/model/GenConfigPackage.js +463 -0
  69. package/dist/genconfig/model/GenConfigPackage.js.map +1 -0
  70. package/dist/genconfig/model/GenerationMode.d.ts +19 -0
  71. package/dist/genconfig/model/GenerationMode.d.ts.map +1 -0
  72. package/dist/genconfig/model/GenerationMode.js +34 -0
  73. package/dist/genconfig/model/GenerationMode.js.map +1 -0
  74. package/dist/genconfig/model/GenerationSettings.d.ts +14 -0
  75. package/dist/genconfig/model/GenerationSettings.d.ts.map +1 -0
  76. package/dist/genconfig/model/GenerationSettings.js +8 -0
  77. package/dist/genconfig/model/GenerationSettings.js.map +1 -0
  78. package/dist/genconfig/model/GenerationSettingsImpl.d.ts +51 -0
  79. package/dist/genconfig/model/GenerationSettingsImpl.d.ts.map +1 -0
  80. package/dist/genconfig/model/GenerationSettingsImpl.js +241 -0
  81. package/dist/genconfig/model/GenerationSettingsImpl.js.map +1 -0
  82. package/dist/genconfig/model/PackageSettings.d.ts +13 -0
  83. package/dist/genconfig/model/PackageSettings.d.ts.map +1 -0
  84. package/dist/genconfig/model/PackageSettings.js +8 -0
  85. package/dist/genconfig/model/PackageSettings.js.map +1 -0
  86. package/dist/genconfig/model/PackageSettingsImpl.d.ts +50 -0
  87. package/dist/genconfig/model/PackageSettingsImpl.d.ts.map +1 -0
  88. package/dist/genconfig/model/PackageSettingsImpl.js +240 -0
  89. package/dist/genconfig/model/PackageSettingsImpl.js.map +1 -0
  90. package/dist/genconfig/model/PropertyMode.d.ts +19 -0
  91. package/dist/genconfig/model/PropertyMode.d.ts.map +1 -0
  92. package/dist/genconfig/model/PropertyMode.js +34 -0
  93. package/dist/genconfig/model/PropertyMode.js.map +1 -0
  94. package/dist/genconfig/model/ReferencedPackage.d.ts +10 -0
  95. package/dist/genconfig/model/ReferencedPackage.d.ts.map +1 -0
  96. package/dist/genconfig/model/ReferencedPackage.js +8 -0
  97. package/dist/genconfig/model/ReferencedPackage.js.map +1 -0
  98. package/dist/genconfig/model/ReferencedPackageImpl.d.ts +38 -0
  99. package/dist/genconfig/model/ReferencedPackageImpl.d.ts.map +1 -0
  100. package/dist/genconfig/model/ReferencedPackageImpl.js +135 -0
  101. package/dist/genconfig/model/ReferencedPackageImpl.js.map +1 -0
  102. package/dist/genconfig/model/index.d.ts +21 -0
  103. package/dist/genconfig/model/index.d.ts.map +1 -0
  104. package/dist/genconfig/model/index.js +22 -0
  105. package/dist/genconfig/model/index.js.map +1 -0
  106. package/dist/generator/CodeGenerator.d.ts.map +1 -1
  107. package/dist/generator/CodeGenerator.js +2 -1
  108. package/dist/generator/CodeGenerator.js.map +1 -1
  109. package/dist/generator/ImportResolver.d.ts.map +1 -1
  110. package/dist/generator/ImportResolver.js +28 -5
  111. package/dist/generator/ImportResolver.js.map +1 -1
  112. package/dist/generator/TypeMapper.d.ts +2 -0
  113. package/dist/generator/TypeMapper.d.ts.map +1 -1
  114. package/dist/generator/TypeMapper.js +48 -3
  115. package/dist/generator/TypeMapper.js.map +1 -1
  116. package/dist/generator/modes/BaseGenerator.d.ts +6 -0
  117. package/dist/generator/modes/BaseGenerator.d.ts.map +1 -1
  118. package/dist/generator/modes/BaseGenerator.js +21 -1
  119. package/dist/generator/modes/BaseGenerator.js.map +1 -1
  120. package/dist/generator/modes/DecoratorGenerator.d.ts +5 -0
  121. package/dist/generator/modes/DecoratorGenerator.d.ts.map +1 -1
  122. package/dist/generator/modes/DecoratorGenerator.js +11 -2
  123. package/dist/generator/modes/DecoratorGenerator.js.map +1 -1
  124. package/dist/generator/modes/EmfGenerator.d.ts +1 -0
  125. package/dist/generator/modes/EmfGenerator.d.ts.map +1 -1
  126. package/dist/generator/modes/EmfGenerator.js +12 -4
  127. package/dist/generator/modes/EmfGenerator.js.map +1 -1
  128. package/dist/genmodel/GenModel.d.ts +2 -0
  129. package/dist/genmodel/GenModel.d.ts.map +1 -1
  130. package/dist/genmodel/GenModel.js.map +1 -1
  131. package/dist/index.js +15 -2
  132. package/dist/index.js.map +1 -1
  133. package/dist/loader/EcoreLoader.d.ts +4 -0
  134. package/dist/loader/EcoreLoader.d.ts.map +1 -1
  135. package/dist/loader/EcoreLoader.js +20 -0
  136. package/dist/loader/EcoreLoader.js.map +1 -1
  137. package/dist/templates/partials/decorator/class-file.ejs +99 -27
  138. package/dist/templates/partials/decorator/enum-file.ejs +1 -1
  139. package/dist/templates/partials/decorator/interface-file.ejs +1 -7
  140. package/dist/templates/partials/decorator/model-annotations.ejs +7 -6
  141. package/dist/templates/partials/decorator/package-file.ejs +4 -2
  142. package/dist/templates/partials/emf/class-file.ejs +97 -17
  143. package/dist/templates/partials/emf/factory-file.ejs +3 -3
  144. package/dist/templates/partials/emf/index-file.ejs +12 -6
  145. package/dist/templates/partials/emf/interface-file.ejs +5 -0
  146. package/dist/templates/partials/emf/package-file.ejs +42 -12
  147. package/dist/templates/partials/plain/class-file.ejs +1 -7
  148. package/dist/templates/partials/plain/interface-file.ejs +1 -7
  149. package/dist/templates/partials/plain/package-file.ejs +1 -1
  150. package/model/genconfig.ecore +21 -0
  151. package/model/genconfig.genconfig.xmi +11 -0
  152. package/package.json +3 -2
@@ -49,13 +49,7 @@ if (superTypes && superTypes.length > 0) {
49
49
  const op = genOp.ecoreOperation;
50
50
  const opName = op.getName();
51
51
  const returnType = op.getEType() ? typeMapper.mapClassifier(op.getEType()) : 'void';
52
- const params = [];
53
- for (const param of op.getEParameters()) {
54
- const paramName = param.getName();
55
- const paramType = typeMapper.mapClassifier(param.getEType());
56
- params.push(`${paramName}: ${paramType}`);
57
- }
58
52
  -%>
59
- <%- opName %>(<%- params.join(', ') %>): <%- returnType %>;
53
+ <%- opName %>(<%- mapParams(op) %>): <%- returnType %>;
60
54
  <% } -%>
61
55
  }
@@ -2,5 +2,5 @@
2
2
 
3
3
  // Re-export all types from this package
4
4
  <% for (const exp of exports) { -%>
5
- export * from './<%- exp %>';
5
+ export * from './<%- exp %>.js';
6
6
  <% } -%>
@@ -19,6 +19,22 @@
19
19
  <eStructuralFeatures xsi:type="ecore:EReference" name="classDefaults" eType="#//ClassDefaults" containment="true"/>
20
20
  <eStructuralFeatures xsi:type="ecore:EReference" name="featureDefaults" eType="#//FeatureDefaults" containment="true"/>
21
21
  <eStructuralFeatures xsi:type="ecore:EReference" name="classOverrides" upperBound="-1" eType="#//ClassOverride" containment="true"/>
22
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referencedPackages" upperBound="-1" eType="#//ReferencedPackage" containment="true">
23
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
24
+ <details key="documentation" value="Import path mappings for cross-package references (equivalent of usedGenPackages in EMF Java genmodels)"/>
25
+ </eAnnotations>
26
+ </eStructuralFeatures>
27
+ </eClassifiers>
28
+
29
+ <!-- ============================================ -->
30
+ <!-- REFERENCED PACKAGE -->
31
+ <!-- ============================================ -->
32
+ <eClassifiers xsi:type="ecore:EClass" name="ReferencedPackage">
33
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
34
+ <details key="documentation" value="Maps the nsURI of an external EPackage to the TypeScript import path of its generated code"/>
35
+ </eAnnotations>
36
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsURI" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
37
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="importPath" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
22
38
  </eClassifiers>
23
39
 
24
40
  <!-- ============================================ -->
@@ -32,6 +48,11 @@
32
48
  <eStructuralFeatures xsi:type="ecore:EAttribute" name="outputDir" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="./generated"/>
33
49
  <eStructuralFeatures xsi:type="ecore:EAttribute" name="fileExtension" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=".ts"/>
34
50
  <eStructuralFeatures xsi:type="ecore:EAttribute" name="headerComment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
51
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="annotationsPackage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
52
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
53
+ <details key="documentation" value="Decorator mode: import ModelClass/Attribute/... decorators from this package instead of generating ModelAnnotations per model"/>
54
+ </eAnnotations>
55
+ </eStructuralFeatures>
35
56
  </eClassifiers>
36
57
 
37
58
  <eClassifiers xsi:type="ecore:EEnum" name="GenerationMode">
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <genconfig:GenConfig
3
+ xmi:version="2.0"
4
+ xmlns:xmi="http://www.omg.org/XMI"
5
+ xmlns:genconfig="http://www.emfts.org/genconfig/1.0"
6
+ ecorePackage="http://www.emfts.org/genconfig/1.0#/">
7
+ <generation mode="emf" outputDir="./src/genconfig"/>
8
+ <package prefix="GenConfig" basePackage="model" generateFactory="true" generatePackage="true" generateIndex="true"/>
9
+ <classDefaults generateInterface="true" generateImpl="true" rootExtendsClass="BasicEObject" rootExtendsInterface="EObject"/>
10
+ <featureDefaults notify="true" property="editable"/>
11
+ </genconfig:GenConfig>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emfts/codegen",
3
- "version": "0.0.1-next.8",
3
+ "version": "0.0.2-next.2",
4
4
  "description": "TypeScript code generator for Ecore models using emfts",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,6 +16,7 @@
16
16
  },
17
17
  "scripts": {
18
18
  "build": "tsc && rm -rf dist/templates && cp -r src/templates dist/templates",
19
+ "generate:genconfig": "npm run build && node dist/cli/index.js generate -m model/genconfig.ecore -c model/genconfig.genconfig.xmi && npm run build",
19
20
  "watch": "tsc --watch",
20
21
  "test": "vitest",
21
22
  "test:run": "vitest run",
@@ -45,7 +46,7 @@
45
46
  "dependencies": {
46
47
  "commander": "^12.0.0",
47
48
  "ejs": "^3.1.10",
48
- "@emfts/core": "^0.1.1-next.2",
49
+ "@emfts/core": "^0.2.0-next.1",
49
50
  "sax": "^1.4.4"
50
51
  },
51
52
  "devDependencies": {