@wavemaker-ai/react-codegen 1.0.0-rc.647684 → 12.0.0-rc.335
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/command.js +52 -7
- package/command.js.map +1 -1
- package/dist/transpiler/index.d.mts +42 -1
- package/dist/transpiler/index.mjs +682 -90
- package/dist/transpiler/index.mjs.map +1 -1
- package/dist/transpiler/wm-styles.css +10 -20
- package/index.js +7 -0
- package/index.js.map +1 -1
- package/package-lock.json +102 -102
- package/package.json +1 -1
- package/src/app.generator.js +223 -35
- package/src/app.generator.js.map +1 -1
- package/src/handlebar-helpers.js +32 -0
- package/src/handlebar-helpers.js.map +1 -1
- package/src/increment-builder.js +32 -2
- package/src/increment-builder.js.map +1 -1
- package/src/profiles/profile.js +2 -0
- package/src/profiles/profile.js.map +1 -1
- package/src/profiles/web-preview.profile.js +4 -0
- package/src/profiles/web-preview.profile.js.map +1 -1
- package/src/services/designtime-collector.js +235 -0
- package/src/services/designtime-collector.js.map +1 -0
- package/src/services/doc-normalizer.js +185 -0
- package/src/services/doc-normalizer.js.map +1 -0
- package/src/services/method-emitter.js +367 -0
- package/src/services/method-emitter.js.map +1 -0
- package/src/services/model-emitter.js +281 -0
- package/src/services/model-emitter.js.map +1 -0
- package/src/services/schema-to-ts.js +50 -0
- package/src/services/schema-to-ts.js.map +1 -0
- package/src/services/service.generator.js +223 -0
- package/src/services/service.generator.js.map +1 -0
- package/src/transpile/bind.ex.transformer.js +4 -1
- package/src/transpile/bind.ex.transformer.js.map +1 -1
- package/src/transpile/components/container/accordion.transformer.js +4 -4
- package/src/transpile/components/container/accordion.transformer.js.map +1 -1
- package/src/transpile/components/container/tabs.transformer.js +4 -2
- package/src/transpile/components/container/tabs.transformer.js.map +1 -1
- package/src/transpile/components/data/list/list-transformer.js +7 -2
- package/src/transpile/components/data/list/list-transformer.js.map +1 -1
- package/src/transpile/components/data/table/table.transformer.js +14 -20
- package/src/transpile/components/data/table/table.transformer.js.map +1 -1
- package/src/transpile/components/data/table/utils.js +90 -0
- package/src/transpile/components/data/table/utils.js.map +1 -1
- package/src/transpile/components/dialogs/dialog-actions.transformer.js +4 -6
- package/src/transpile/components/dialogs/dialog-actions.transformer.js.map +1 -1
- package/src/transpile/components/dialogs/dialog.transformer.js +14 -3
- package/src/transpile/components/dialogs/dialog.transformer.js.map +1 -1
- package/src/transpile/components/layout/layout-region-factory.js +8 -2
- package/src/transpile/components/layout/layout-region-factory.js.map +1 -1
- package/src/transpile/components/nav/nav.transformer.js +3 -5
- package/src/transpile/components/nav/nav.transformer.js.map +1 -1
- package/src/transpile/components/utils.js +11 -5
- package/src/transpile/components/utils.js.map +1 -1
- package/src/transpile/transpile.js +62 -21
- package/src/transpile/transpile.js.map +1 -1
- package/src/transpile/variables-template-source.js +2 -2
- package/src/transpile/variables-template-source.js.map +1 -1
- package/src/utils.browser.js +51 -6
- package/src/utils.browser.js.map +1 -1
- package/src/variables/variable.transformer.js +623 -12
- package/src/variables/variable.transformer.js.map +1 -1
- package/templates/project/app/client.layout.tsx +7 -7
- package/templates/project/app/components.css +10 -0
- package/templates/project/app/widgetInlineStylesOverride.css +0 -20
- package/templates/project/package.json +6 -5
- package/templates/project/services/base.service.ts +361 -0
- package/templates/service/service-class.hbs +19 -0
- package/templates/variables.template +67 -1
package/src/app.generator.js
CHANGED
|
@@ -51,6 +51,7 @@ const bind_ex_transformer_1 = __importDefault(require("./transpile/bind.ex.trans
|
|
|
51
51
|
const profile_1 = __importDefault(require("./profiles/profile"));
|
|
52
52
|
const gen_app_override_css_1 = require("./gen-app-override-css");
|
|
53
53
|
const wmx_generator_1 = require("./wmx.generator");
|
|
54
|
+
const service_generator_1 = require("./services/service.generator");
|
|
54
55
|
const COMPONENT_TEMPLATE = (0, utils_1.loadTemplate)(__dirname + "/../templates/component/component.hbs");
|
|
55
56
|
const COMPONENT_PAGE_TEMPLATE = (0, utils_1.loadTemplate)(__dirname + "/../templates/component/page.hbs");
|
|
56
57
|
const PARTIAL_TEMPLATE = (0, utils_1.loadTemplate)(__dirname + "/../templates/component/partial.hbs");
|
|
@@ -149,9 +150,138 @@ class AppGenerator {
|
|
|
149
150
|
this.wmxGenerator = new wmx_generator_1.WmxGenerator(projectPath, projectService);
|
|
150
151
|
this.wmxComponents = this.wmxGenerator.getComponentNames();
|
|
151
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Class names service.generator.ts actually emitted for this generator's own scope. Some
|
|
155
|
+
* backend services referenced by a variable's operationId have no designtime definition of
|
|
156
|
+
* their own (e.g. a permissions-check service), so no class for them is ever generated even
|
|
157
|
+
* though the project still has variables pointing at them. Cross-checking against this set lets
|
|
158
|
+
* variable.transformer skip those variables instead of emitting an import that doesn't exist
|
|
159
|
+
* and fails the whole app build. Computed once and cached; returns undefined (no filtering)
|
|
160
|
+
* if the relevant services directory isn't present, so behavior is unchanged wherever service
|
|
161
|
+
* codegen didn't run.
|
|
162
|
+
*
|
|
163
|
+
* Root-app services are always generated once into the root project's services/ (flat, one
|
|
164
|
+
* .ts file per service) - so a normal (non-prefab) AppGenerator reads from there. A prefab's
|
|
165
|
+
* own services (its own services/ folder, connectors, and prefab-servicedefs) are generated
|
|
166
|
+
* separately into services/prefabs/<prefabName>/ (see service.generator.ts), fully
|
|
167
|
+
* independent of the root app's and of every other prefab's services - collection never diffs
|
|
168
|
+
* a prefab's operations against the root app's, so a same-named service declared by both (even
|
|
169
|
+
* with identical operationIds) still gets two complete, separate classes, neither missing any
|
|
170
|
+
* methods. A prefab-scoped AppGenerator (isPrefabApp) therefore reads ONLY from its own prefab
|
|
171
|
+
* subfolder, never falling back to the root, keeping prefab variables strictly bound to the
|
|
172
|
+
* prefab's own services - exactly mirroring how a page's variables are strictly bound to the
|
|
173
|
+
* root app's own services.
|
|
174
|
+
*/
|
|
175
|
+
getValidServiceClassNames() {
|
|
176
|
+
if (this.validServiceClassNames) {
|
|
177
|
+
return this.validServiceClassNames;
|
|
178
|
+
}
|
|
179
|
+
const rootProjectPath = this.rootProjectPath();
|
|
180
|
+
const servicesDir = this.isPrefabApp
|
|
181
|
+
? `${rootProjectPath}/services/prefabs/${this.prefabName}`
|
|
182
|
+
: `${rootProjectPath}/services`;
|
|
183
|
+
if (!fs_extra_1.default.existsSync(servicesDir)) {
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
// Generated services live one folder per backend service (services/<serviceId>/X.ts, or
|
|
187
|
+
// services/prefabs/<Prefab>/<serviceId>/X.ts), with the service's own POJOs under a nested
|
|
188
|
+
// models/ — so this walks the tree rather than reading one flat directory. models/ is skipped
|
|
189
|
+
// (it holds interfaces, never a service class) and so is the root prefabs/ folder, whose
|
|
190
|
+
// classes belong to a prefab's OWN AppGenerator instance, not the root app's.
|
|
191
|
+
const names = new Set();
|
|
192
|
+
const scan = (dir, depth) => {
|
|
193
|
+
for (const entry of fs_extra_1.default.readdirSync(dir, { withFileTypes: true })) {
|
|
194
|
+
const entryPath = `${dir}/${entry.name}`;
|
|
195
|
+
if (entry.isDirectory()) {
|
|
196
|
+
if (entry.name === "types")
|
|
197
|
+
continue;
|
|
198
|
+
if (depth === 0 && !this.isPrefabApp && entry.name === "prefabs")
|
|
199
|
+
continue;
|
|
200
|
+
scan(entryPath, depth + 1);
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
if (!entry.name.endsWith(".ts") || entry.name === "base.service.ts")
|
|
204
|
+
continue;
|
|
205
|
+
const content = fs_extra_1.default.readFileSync(entryPath, "utf-8");
|
|
206
|
+
for (const match of content.matchAll(/export class (\w+)/g)) {
|
|
207
|
+
names.add(match[1]);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
scan(servicesDir, 0);
|
|
212
|
+
this.validServiceClassNames = names;
|
|
213
|
+
return names;
|
|
214
|
+
}
|
|
215
|
+
/** Root project path — a prefab's own AppGenerator still reads the root app's services/. */
|
|
216
|
+
rootProjectPath() {
|
|
217
|
+
return this.isPrefabApp ? this.projectPath.split("/app/prefabs/")[0] : this.projectPath;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* One of the sidecar lookup tables service.generator.ts writes into `services/` alongside the
|
|
221
|
+
* generated code, keyed by `${serviceName}::${operationIdAlias}`. generateServices() only ever
|
|
222
|
+
* runs on the ROOT AppGenerator instance (generateServiceCodeGen() — a prefab's own instance
|
|
223
|
+
* calls generatePagesAndPartials() directly and so has none of these maps in memory), so a
|
|
224
|
+
* prefab instance loads them from disk instead, using the same root-path math
|
|
225
|
+
* getValidServiceClassNames() already uses for the same reason.
|
|
226
|
+
*/
|
|
227
|
+
loadServiceMetadata(fileName) {
|
|
228
|
+
const metadataPath = `${this.rootProjectPath()}/services/${fileName}`;
|
|
229
|
+
if (!fs_extra_1.default.existsSync(metadataPath)) {
|
|
230
|
+
return undefined;
|
|
231
|
+
}
|
|
232
|
+
return new Map(Object.entries(fs_extra_1.default.readJsonSync(metadataPath)));
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* The full positional argument list of each generated method — what the invokeHttp glue needs
|
|
236
|
+
* in order to map the WM runtime's flat params object onto a method whose signature mirrors the
|
|
237
|
+
* backend operation's own declared parameters (see src/services/method-emitter.ts).
|
|
238
|
+
*/
|
|
239
|
+
getMethodArgsByOperation() {
|
|
240
|
+
if (!this.methodArgsByOperation) {
|
|
241
|
+
this.methodArgsByOperation = this.loadServiceMetadata("_methodArgs.json");
|
|
242
|
+
}
|
|
243
|
+
return this.methodArgsByOperation;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* The import path (relative to `services/`) of the class owning each operation's method — e.g.
|
|
247
|
+
* "hrdb/HrdbDepartmentService". Needed because generated services now live in a per-service
|
|
248
|
+
* FOLDER, so a class name alone no longer determines its import path.
|
|
249
|
+
*/
|
|
250
|
+
getServicePathByOperation() {
|
|
251
|
+
if (!this.servicePathByOperation) {
|
|
252
|
+
this.servicePathByOperation = this.loadServiceMetadata("_servicePaths.json");
|
|
253
|
+
}
|
|
254
|
+
return this.servicePathByOperation;
|
|
255
|
+
}
|
|
256
|
+
/** A CrudVariable's operation group, keyed by crudOperationId (see GenerateServicesResult). */
|
|
257
|
+
getCrudOperationsById() {
|
|
258
|
+
if (!this.crudOperationsById) {
|
|
259
|
+
this.crudOperationsById =
|
|
260
|
+
this.loadServiceMetadata("_crudOperations.json");
|
|
261
|
+
}
|
|
262
|
+
return this.crudOperationsById;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* The actual generated method name per operation, keyed the same way as the other sidecar
|
|
266
|
+
* tables. variable.transformer.ts prefers this authoritative lookup over re-deriving the name
|
|
267
|
+
* itself from variable.operationId, which can disagree with what was actually generated
|
|
268
|
+
* whenever WM recorded a shorter/differently-prefixed operationId alias on the variable than
|
|
269
|
+
* the designtime doc's own raw operationId.
|
|
270
|
+
*/
|
|
271
|
+
getMethodNameByOperation() {
|
|
272
|
+
if (!this.methodNameByOperation) {
|
|
273
|
+
this.methodNameByOperation = this.loadServiceMetadata("_methodNames.json");
|
|
274
|
+
}
|
|
275
|
+
return this.methodNameByOperation;
|
|
276
|
+
}
|
|
152
277
|
prepareVariables(variableJSON, scope, imports) {
|
|
278
|
+
const validServiceClassNames = this.getValidServiceClassNames();
|
|
279
|
+
const methodArgsByOperation = this.getMethodArgsByOperation();
|
|
280
|
+
const methodNameByOperation = this.getMethodNameByOperation();
|
|
281
|
+
const servicePathByOperation = this.getServicePathByOperation();
|
|
282
|
+
const crudOperationsById = this.getCrudOperationsById();
|
|
153
283
|
const variables = Object.values(variableJSON)
|
|
154
|
-
.map((v) => (0, variable_transformer_1.default)(v, scope, this.appUrl, imports))
|
|
284
|
+
.map((v) => (0, variable_transformer_1.default)(v, scope, this.appUrl, imports, validServiceClassNames, methodArgsByOperation, methodNameByOperation, servicePathByOperation, crudOperationsById))
|
|
155
285
|
.filter(v => !!v);
|
|
156
286
|
const item = VARIABLE_TEMPLATE({
|
|
157
287
|
scope: scope,
|
|
@@ -670,13 +800,55 @@ class AppGenerator {
|
|
|
670
800
|
(0, utils_1.writeFile)(`${this.projectPath}/app/app.css`, updatedCss);
|
|
671
801
|
});
|
|
672
802
|
}
|
|
803
|
+
/**
|
|
804
|
+
* Appends the collected auto-layout rules to the template's autoLayout.css.
|
|
805
|
+
*
|
|
806
|
+
* The generated part is fenced by markers and REPLACED, not appended blindly.
|
|
807
|
+
* Appending was safe only while every run recopied the project template, which
|
|
808
|
+
* reset the file first -- a run that reuses an existing target (an incremental
|
|
809
|
+
* or file-scoped one) does not, so each run stacked another copy of the same
|
|
810
|
+
* rules on top and the file grew without bound.
|
|
811
|
+
*/
|
|
673
812
|
generateAutoLayoutCSS() {
|
|
674
|
-
if (this.autolayoutCssRules.size === 0)
|
|
675
|
-
return;
|
|
676
813
|
const cssPath = `${this.projectPath}/app/autoLayout.css`;
|
|
677
|
-
const
|
|
678
|
-
const
|
|
679
|
-
|
|
814
|
+
const BEGIN = "/* wm-autolayout:begin (generated -- replaced on every run) */";
|
|
815
|
+
const END = "/* wm-autolayout:end */";
|
|
816
|
+
let existing = "";
|
|
817
|
+
try {
|
|
818
|
+
existing = fs_extra_1.default.readFileSync(cssPath, "utf8");
|
|
819
|
+
}
|
|
820
|
+
catch (e) {
|
|
821
|
+
existing = "";
|
|
822
|
+
}
|
|
823
|
+
let base = existing;
|
|
824
|
+
const from = existing.indexOf(BEGIN);
|
|
825
|
+
if (from >= 0) {
|
|
826
|
+
const to = existing.indexOf(END, from);
|
|
827
|
+
base =
|
|
828
|
+
to >= 0
|
|
829
|
+
? existing.slice(0, from) + existing.slice(to + END.length)
|
|
830
|
+
: existing.slice(0, from);
|
|
831
|
+
}
|
|
832
|
+
if (this.autolayoutCssRules.size === 0) {
|
|
833
|
+
return;
|
|
834
|
+
}
|
|
835
|
+
// Merged with what the previous run left, not swapped for it. This run only
|
|
836
|
+
// collected rules for the pages it generated, so a scoped run that replaced
|
|
837
|
+
// the block outright would drop every other page's layout CSS. Rules are
|
|
838
|
+
// deduplicated by text, so repeated runs converge instead of growing.
|
|
839
|
+
//
|
|
840
|
+
// fixURLPath is applied only to the newly collected rules -- what is already
|
|
841
|
+
// in the block went through it on the run that wrote it.
|
|
842
|
+
const fresh = (0, utils_browser_1.fixURLPath)(Array.from(this.autolayoutCssRules).join("\n\n"), this.getBasePath(), true);
|
|
843
|
+
const merged = new Set();
|
|
844
|
+
const previous = from >= 0 ? existing.slice(from + BEGIN.length, existing.indexOf(END, from)) : "";
|
|
845
|
+
[previous, fresh].forEach(chunk => chunk
|
|
846
|
+
.split(/\n\s*\n/)
|
|
847
|
+
.map(rule => rule.trim())
|
|
848
|
+
.filter(Boolean)
|
|
849
|
+
.forEach(rule => merged.add(rule)));
|
|
850
|
+
const block = Array.from(merged).join("\n\n");
|
|
851
|
+
fs_extra_1.default.writeFileSync(cssPath, `${base.replace(/\s+$/, "")}\n\n${BEGIN}\n${block}\n${END}\n`);
|
|
680
852
|
}
|
|
681
853
|
getAllResources(filter = (str) => true, dirPath = this.projectPath + "/assets/resources", pathPrefix = "resources", arrayOfFiles = []) {
|
|
682
854
|
if (fs_extra_1.default.existsSync(dirPath)) {
|
|
@@ -708,12 +880,33 @@ class AppGenerator {
|
|
|
708
880
|
return Promise.resolve({});
|
|
709
881
|
});
|
|
710
882
|
}
|
|
883
|
+
generateServiceCodeGen() {
|
|
884
|
+
const outputPath = `${this.projectPath}/services`;
|
|
885
|
+
const sourceProjectPath = this.projectService.path;
|
|
886
|
+
const servicesPath = path_2.default.resolve(sourceProjectPath, "../../../services");
|
|
887
|
+
console.log("Generating services...");
|
|
888
|
+
try {
|
|
889
|
+
const { classNames, methodArgsByOperation, methodNameByOperation, servicePathByOperation, crudOperationsById, } = (0, service_generator_1.generateServices)(servicesPath, outputPath, sourceProjectPath);
|
|
890
|
+
this.validServiceClassNames = classNames;
|
|
891
|
+
this.methodArgsByOperation = methodArgsByOperation;
|
|
892
|
+
this.methodNameByOperation = methodNameByOperation;
|
|
893
|
+
this.servicePathByOperation = servicePathByOperation;
|
|
894
|
+
this.crudOperationsById = crudOperationsById;
|
|
895
|
+
console.log(`Service generation completed successfully (${classNames.size} service(s)).`);
|
|
896
|
+
return Promise.resolve({});
|
|
897
|
+
}
|
|
898
|
+
catch (error) {
|
|
899
|
+
console.error("Service generation failed:", error);
|
|
900
|
+
return Promise.reject(error);
|
|
901
|
+
}
|
|
902
|
+
}
|
|
711
903
|
copyServiceDefs() {
|
|
712
904
|
if (this.serviceDefsSource !== "STATIC") {
|
|
713
905
|
return Promise.resolve();
|
|
714
906
|
}
|
|
715
907
|
return this.projectService.getServiceDefsPath().then(serviceDefsPath => {
|
|
716
908
|
const targetDir = path_2.default.resolve(this.projectPath + "/public/services");
|
|
909
|
+
let prefabCount = 0;
|
|
717
910
|
try {
|
|
718
911
|
// Copy regular service defs
|
|
719
912
|
if (fs_extra_1.default.existsSync(serviceDefsPath)) {
|
|
@@ -722,46 +915,29 @@ class AppGenerator {
|
|
|
722
915
|
const targetFile = path_2.default.join(targetDir, "servicedefs.json");
|
|
723
916
|
if (fs_extra_1.default.existsSync(sourceFile)) {
|
|
724
917
|
fs_extra_1.default.copyFileSync(sourceFile, targetFile);
|
|
725
|
-
console.log("Service defs copied to servicedefs");
|
|
726
|
-
}
|
|
727
|
-
else {
|
|
728
|
-
console.warn(`Source file does not exist: ${sourceFile}`);
|
|
729
918
|
}
|
|
730
919
|
}
|
|
731
|
-
else {
|
|
732
|
-
console.warn(`Source directory does not exist: ${serviceDefsPath}`);
|
|
733
|
-
}
|
|
734
920
|
// Copy prefab service defs
|
|
735
921
|
const normalizedPath = serviceDefsPath.replace(/[/\\]$/, ""); // Remove trailing slash
|
|
736
922
|
const prefabSourceDir = normalizedPath.replace(/servicedefs$/, "prefabs");
|
|
737
923
|
if (fs_extra_1.default.existsSync(prefabSourceDir)) {
|
|
738
|
-
// Ensure target directory exists
|
|
739
924
|
fs_extra_1.default.mkdirSync(targetDir, { recursive: true });
|
|
740
|
-
// Read all prefab directories
|
|
741
925
|
const prefabDirs = fs_extra_1.default
|
|
742
926
|
.readdirSync(prefabSourceDir, { withFileTypes: true })
|
|
743
927
|
.filter((dirent) => dirent.isDirectory())
|
|
744
928
|
.map((dirent) => dirent.name);
|
|
745
|
-
let copiedCount = 0;
|
|
746
|
-
// Process each prefab directory
|
|
747
929
|
prefabDirs.forEach((prefabName) => {
|
|
748
930
|
const prefabSourcePath = path_2.default.join(prefabSourceDir, prefabName, "prefab-servicedefs.json");
|
|
749
931
|
const prefabTargetDir = path_2.default.join(targetDir, "prefabs", prefabName);
|
|
750
932
|
const prefabTargetPath = path_2.default.join(prefabTargetDir, "servicedefs.json");
|
|
751
|
-
// Check if prefab-servicedefs.json exists
|
|
752
933
|
if (fs_extra_1.default.existsSync(prefabSourcePath)) {
|
|
753
|
-
// Create target directory for this prefab
|
|
754
934
|
fs_extra_1.default.mkdirSync(prefabTargetDir, { recursive: true });
|
|
755
|
-
// Copy and rename the file
|
|
756
935
|
fs_extra_1.default.copyFileSync(prefabSourcePath, prefabTargetPath);
|
|
757
|
-
|
|
758
|
-
console.log(`Copied prefab service defs: ${prefabName} -> services/prefabs/${prefabName}/servicedefs.json`);
|
|
936
|
+
prefabCount++;
|
|
759
937
|
}
|
|
760
938
|
});
|
|
761
|
-
if (copiedCount > 0) {
|
|
762
|
-
console.log(`✅ Copied ${copiedCount} prefab service defs to servicedefs`);
|
|
763
|
-
}
|
|
764
939
|
}
|
|
940
|
+
console.log(`Service defs copied${prefabCount ? ` (${prefabCount} prefab(s))` : ""}.`);
|
|
765
941
|
}
|
|
766
942
|
catch (error) {
|
|
767
943
|
console.error("Error copying service defs:", error);
|
|
@@ -990,6 +1166,25 @@ class AppGenerator {
|
|
|
990
1166
|
});
|
|
991
1167
|
// Build layout map and create route group layouts (auto-detect when layoutId absent)
|
|
992
1168
|
this.pageLayoutMap = {};
|
|
1169
|
+
const createPagesAndPartials = () => {
|
|
1170
|
+
const promises = pageConfigs.map(p => {
|
|
1171
|
+
if (p.type === "PAGE") {
|
|
1172
|
+
return this.generatePageComponent(p.name, isPartOfPrefab);
|
|
1173
|
+
}
|
|
1174
|
+
if (this.isPartial(p.type)) {
|
|
1175
|
+
return this.generatePartialComponent(p.name, true, isPartOfPrefab);
|
|
1176
|
+
}
|
|
1177
|
+
});
|
|
1178
|
+
return Promise.all(promises).then(() => undefined);
|
|
1179
|
+
};
|
|
1180
|
+
// Left empty for profiles that do not group pages: every page then
|
|
1181
|
+
// generates flat, carrying its own complete markup -- the same path a
|
|
1182
|
+
// page whose layout no other page shares already takes today. Skipping
|
|
1183
|
+
// detection also skips a getPageInfo and a full transpileMarkup for
|
|
1184
|
+
// every page, done here purely to work out the grouping.
|
|
1185
|
+
if (!profile_1.default.groupPagesByLayout) {
|
|
1186
|
+
return createPagesAndPartials();
|
|
1187
|
+
}
|
|
993
1188
|
const pageNames = (pageConfigs || [])
|
|
994
1189
|
.filter((p) => p.type === "PAGE")
|
|
995
1190
|
.map((p) => p.name);
|
|
@@ -1046,15 +1241,7 @@ class AppGenerator {
|
|
|
1046
1241
|
}
|
|
1047
1242
|
});
|
|
1048
1243
|
// After grouping is prepared, create pages/partials
|
|
1049
|
-
|
|
1050
|
-
if (p.type === "PAGE") {
|
|
1051
|
-
return this.generatePageComponent(p.name, isPartOfPrefab);
|
|
1052
|
-
}
|
|
1053
|
-
if (this.isPartial(p.type)) {
|
|
1054
|
-
return this.generatePartialComponent(p.name, true, isPartOfPrefab);
|
|
1055
|
-
}
|
|
1056
|
-
});
|
|
1057
|
-
return Promise.all(pageCreationPromises).then(() => undefined);
|
|
1244
|
+
return createPagesAndPartials();
|
|
1058
1245
|
});
|
|
1059
1246
|
// page/partial generation handled in previous step
|
|
1060
1247
|
return Promise.resolve();
|
|
@@ -1258,6 +1445,7 @@ class AppGenerator {
|
|
|
1258
1445
|
this.incBuilder || fs_extra_1.default.copySync(__dirname + "/../templates/project", this.projectPath);
|
|
1259
1446
|
return (this.generateOverrideCSS(options)
|
|
1260
1447
|
.then(() => this.resolveProjectType())
|
|
1448
|
+
.then(() => this.generateServiceCodeGen())
|
|
1261
1449
|
.then(() => this.setSecurityConfig())
|
|
1262
1450
|
.then(() => this.generatePagesAndPartials())
|
|
1263
1451
|
.then(() => this.generateWebComponentHelper())
|
|
@@ -1286,7 +1474,7 @@ class AppGenerator {
|
|
|
1286
1474
|
.then(() => !this.incBuilder || this.incBuilder.isFontConfigModified())
|
|
1287
1475
|
.then((build) => (build && this.generateFontConfig()))
|
|
1288
1476
|
.then(() => {
|
|
1289
|
-
if (this.incBuilder) {
|
|
1477
|
+
if (this.incBuilder && profile_1.default.generateWmxComponents) {
|
|
1290
1478
|
const components = this.incBuilder.getWMXModifiedComponents();
|
|
1291
1479
|
return Promise.all(components.map((c) => this.wmxGenerator.generate(c, true)));
|
|
1292
1480
|
}
|
package/src/app.generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.generator.js","sourceRoot":"","sources":["../../src/app.generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.generator.js","sourceRoot":"","sources":["../../src/app.generator.ts"],"names":[],"mappings":"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"}
|