neo.mjs 4.0.62 → 4.0.63

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.
@@ -27,7 +27,7 @@ const
27
27
  * folder (parent of cwd, child of sourceRootDirs[n]) will then be used as the
28
28
  * namespace for this created class.
29
29
  * Can be overwritten with the -s option.
30
- * @type {string[]}
30
+ * @type {String[]}
31
31
  */
32
32
  sourceRootDirs = ['apps'];
33
33
 
@@ -229,6 +229,20 @@ if (programOpts.info) {
229
229
  return contentArray;
230
230
  }
231
231
 
232
+ function addConfig(contentArray, index, className, isLastConfig) {
233
+ const config = [
234
+ ' /**',
235
+ ` * @member {Neo.controller.Component} controller=${className}`,
236
+ ' */',
237
+ ` controller: ${className}`
238
+ ];
239
+
240
+ !isLastConfig && addComma(config);
241
+
242
+ contentArray.splice(index, 0, config.join(os.EOL));
243
+ return contentArray;
244
+ }
245
+
232
246
  /**
233
247
  * Adjusts the views related to controller.Component or model.Component
234
248
  * @param {Object} opts
@@ -242,7 +256,7 @@ if (programOpts.info) {
242
256
  fromMaxPosition = 0,
243
257
  i = 0,
244
258
  len = content.length,
245
- adjustSpaces, codeLine, fromPosition, importLength, importName, j, spaces;
259
+ adjustSpaces, className, codeLine, fromPosition, importLength, importName, j, nextLine, spaces;
246
260
 
247
261
  // find the index where we want to insert our import statement
248
262
  for (; i < len; i++) {
@@ -296,10 +310,45 @@ if (programOpts.info) {
296
310
  }
297
311
  }
298
312
 
299
- fs.writeFileSync(viewFile, content.join(os.EOL));
313
+ i = 0;
314
+ len = content.length;
315
+
316
+ // find the starting point
317
+ for (; i < len; i++) {
318
+ if (content[i].includes('static getConfig')) {
319
+ break;
320
+ }
321
+ }
322
+
323
+ for (; i < len; i++) {
324
+ codeLine = content[i];
325
+
326
+ if (codeLine.includes('}}')) {
327
+ addConfig(content, i, file, true);
328
+ break;
329
+ }
330
+
331
+ if (codeLine.includes('*/')) {
332
+ nextLine = content[i + 1]
333
+ className = nextLine.substring(0, nextLine.indexOf(':')).trim();
334
+
335
+ if (className === 'className' || className === 'ntype') {
336
+ continue;
337
+ }
300
338
 
301
- console.log(i, opts.file);
302
- console.log(content);
339
+ if (className > 'controller') {
340
+ for (j=i; j > 0; j--) {
341
+ if (content[j].includes('/**')) {
342
+ addConfig(content, j, file, false);
343
+ break;
344
+ }
345
+ }
346
+ break;
347
+ }
348
+ }
349
+ }
350
+
351
+ fs.writeFileSync(viewFile, content.join(os.EOL));
303
352
  }
304
353
 
305
354
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "4.0.62",
3
+ "version": "4.0.63",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {