qcobjects-sdk 2.4.64 → 2.5.105-beta

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 (144) hide show
  1. package/.github/workflows/npmpublish-beta.yml +4 -2
  2. package/.github/workflows/npmpublish-lts.yml +4 -2
  3. package/.github/workflows/npmpublish-main.yml +5 -3
  4. package/VERSION +1 -1
  5. package/build/QCObjects-SDK.js +83 -41
  6. package/build/index.js +17 -7
  7. package/build/js/org.qcobjects.base.components.js +75 -0
  8. package/build/js/org.qcobjects.cloud.auth.session.data.js +98 -101
  9. package/build/js/org.qcobjects.cloud.auth.session.usertoken.js +68 -80
  10. package/build/js/org.qcobjects.components.grid.js +35 -53
  11. package/build/js/org.qcobjects.components.js +145 -237
  12. package/build/js/org.qcobjects.components.list.js +36 -45
  13. package/build/js/org.qcobjects.components.notifications.js +107 -106
  14. package/build/js/org.qcobjects.components.slider.js +183 -169
  15. package/build/js/org.qcobjects.components.splashscreen.js +123 -130
  16. package/build/js/org.qcobjects.controllers.form.js +149 -147
  17. package/build/js/org.qcobjects.controllers.grid.js +226 -215
  18. package/build/js/org.qcobjects.controllers.js +11 -11
  19. package/build/js/org.qcobjects.controllers.list.js +195 -188
  20. package/build/js/org.qcobjects.controllers.slider.js +101 -106
  21. package/build/js/org.qcobjects.controllers.swagger.js +71 -46
  22. package/build/js/org.qcobjects.effects.base.js +86 -0
  23. package/build/js/org.qcobjects.effects.extended.js +318 -0
  24. package/build/js/org.qcobjects.effects.js +26 -394
  25. package/build/js/org.qcobjects.i18n_messages.js +33 -46
  26. package/build/js/org.qcobjects.modal.controllers.js +16 -15
  27. package/build/js/org.qcobjects.modal.effects.js +23 -28
  28. package/build/js/org.qcobjects.models.js +11 -11
  29. package/build/js/org.qcobjects.tools.canvas.js +28 -27
  30. package/build/js/org.qcobjects.tools.js +10 -3
  31. package/build/js/org.qcobjects.tools.layouts.js +46 -45
  32. package/build/js/org.qcobjects.views.js +11 -11
  33. package/build-esbuild.js +72 -0
  34. package/eslint.config.mjs +88 -0
  35. package/package.json +66 -59
  36. package/postbuild.js +10 -0
  37. package/public/browser/index.js +9902 -0
  38. package/public/browser/index.js.map +7 -0
  39. package/public/cjs/index.cjs +9894 -0
  40. package/public/cjs/index.cjs.map +7 -0
  41. package/public/esm/index.mjs +9894 -0
  42. package/public/esm/index.mjs.map +7 -0
  43. package/public/types/index.d.ts +698 -0
  44. package/spec/helpers/mock-sdk.helper.ts +2 -0
  45. package/spec/mocks/qcobjects-sdk.mock.ts +1 -0
  46. package/spec/support/jasmine.json +7 -4
  47. package/src/QCObjects-SDK.ts +72 -53
  48. package/src/js/org.qcobjects.base.components.ts +83 -0
  49. package/src/js/org.qcobjects.cloud.auth.session.data.ts +98 -99
  50. package/src/js/org.qcobjects.cloud.auth.session.usertoken.ts +72 -92
  51. package/src/js/org.qcobjects.components.grid.ts +31 -58
  52. package/src/js/org.qcobjects.components.list.ts +15 -31
  53. package/src/js/org.qcobjects.components.notifications.ts +12 -12
  54. package/src/js/org.qcobjects.components.slider.ts +182 -171
  55. package/src/js/org.qcobjects.components.splashscreen.ts +31 -39
  56. package/src/js/org.qcobjects.components.ts +151 -261
  57. package/src/js/org.qcobjects.controllers.form.ts +151 -148
  58. package/src/js/org.qcobjects.controllers.grid.ts +226 -222
  59. package/src/js/org.qcobjects.controllers.list.ts +207 -205
  60. package/src/js/org.qcobjects.controllers.slider.ts +120 -125
  61. package/src/js/org.qcobjects.controllers.swagger.ts +51 -51
  62. package/src/js/org.qcobjects.controllers.ts +7 -9
  63. package/src/js/org.qcobjects.effects.base.ts +97 -0
  64. package/src/js/org.qcobjects.effects.extended.ts +350 -0
  65. package/src/js/org.qcobjects.effects.ts +6 -394
  66. package/src/js/org.qcobjects.i18n_messages.ts +37 -51
  67. package/src/js/org.qcobjects.modal.controllers.ts +12 -14
  68. package/src/js/org.qcobjects.modal.effects.ts +22 -18
  69. package/src/js/org.qcobjects.models.ts +8 -11
  70. package/src/js/org.qcobjects.tools.canvas.ts +26 -28
  71. package/src/js/org.qcobjects.tools.layouts.ts +44 -47
  72. package/src/js/org.qcobjects.tools.ts +7 -1
  73. package/src/js/org.qcobjects.views.ts +9 -8
  74. package/src/types/global/index.d.ts +181 -0
  75. package/transpile.js +65 -0
  76. package/tsconfig.d.json +65 -3
  77. package/tsconfig.jasmine.json +64 -0
  78. package/tsconfig.json +71 -7
  79. package/.eslintignore +0 -4
  80. package/.eslintrc.cjs +0 -6
  81. package/build/css/base-modal.css +0 -43
  82. package/build/css/basic-layout-embedded-nav.css +0 -14
  83. package/build/css/basic-layout.css +0 -76
  84. package/build/css/components/horizontal-list.css +0 -64
  85. package/build/css/components/list.css +0 -57
  86. package/build/css/components/splashscreen.css +0 -111
  87. package/build/css/modal.css +0 -46
  88. package/build/index.cjs +0 -4
  89. package/build/index.mjs +0 -2
  90. package/build/templates/components/modalyoulose.tpl.html +0 -3
  91. package/build/templates/components/modalyouwin.tpl.html +0 -4
  92. package/build/templates/components/splashscreen.tpl.html +0 -128
  93. package/build/templates/components/swagger-ui.tpl.html +0 -22
  94. package/public/QCObjects-SDK.js +0 -696
  95. package/public/QCObjects-SDK.js.map +0 -7
  96. package/public/css/base-modal.css +0 -2
  97. package/public/css/base-modal.css.map +0 -7
  98. package/public/css/basic-layout-embedded-nav.css +0 -2
  99. package/public/css/basic-layout-embedded-nav.css.map +0 -7
  100. package/public/css/basic-layout.css +0 -2
  101. package/public/css/basic-layout.css.map +0 -7
  102. package/public/css/components/horizontal-list.css +0 -2
  103. package/public/css/components/horizontal-list.css.map +0 -7
  104. package/public/css/components/list.css +0 -2
  105. package/public/css/components/list.css.map +0 -7
  106. package/public/css/components/splashscreen.css +0 -2
  107. package/public/css/components/splashscreen.css.map +0 -7
  108. package/public/css/modal.css +0 -2
  109. package/public/css/modal.css.map +0 -7
  110. package/public/index.cjs +0 -4
  111. package/public/index.js +0 -27
  112. package/public/index.mjs +0 -2
  113. package/public/templates/components/modalyoulose.tpl.html +0 -3
  114. package/public/templates/components/modalyouwin.tpl.html +0 -4
  115. package/public/templates/components/splashscreen.tpl.html +0 -128
  116. package/public/templates/components/swagger-ui.tpl.html +0 -22
  117. package/src/QCObjects-SDK.d.ts +0 -26
  118. package/src/index.cts +0 -2
  119. package/src/index.d.ts +0 -2
  120. package/src/index.mts +0 -2
  121. package/src/js/org.qcobjects.cloud.auth.session.data.d.ts +0 -1
  122. package/src/js/org.qcobjects.cloud.auth.session.usertoken.d.ts +0 -2
  123. package/src/js/org.qcobjects.components.d.ts +0 -10
  124. package/src/js/org.qcobjects.components.grid.d.ts +0 -3
  125. package/src/js/org.qcobjects.components.list.d.ts +0 -3
  126. package/src/js/org.qcobjects.components.notifications.d.ts +0 -1
  127. package/src/js/org.qcobjects.components.slider.d.ts +0 -1
  128. package/src/js/org.qcobjects.components.splashscreen.d.ts +0 -28
  129. package/src/js/org.qcobjects.controllers.d.ts +0 -1
  130. package/src/js/org.qcobjects.controllers.form.d.ts +0 -1
  131. package/src/js/org.qcobjects.controllers.grid.d.ts +0 -1
  132. package/src/js/org.qcobjects.controllers.list.d.ts +0 -1
  133. package/src/js/org.qcobjects.controllers.slider.d.ts +0 -1
  134. package/src/js/org.qcobjects.controllers.swagger.d.ts +0 -1
  135. package/src/js/org.qcobjects.effects.d.ts +0 -20
  136. package/src/js/org.qcobjects.i18n_messages.d.ts +0 -1
  137. package/src/js/org.qcobjects.modal.controllers.d.ts +0 -1
  138. package/src/js/org.qcobjects.modal.effects.d.ts +0 -1
  139. package/src/js/org.qcobjects.models.d.ts +0 -1
  140. package/src/js/org.qcobjects.tools.canvas.d.ts +0 -1
  141. package/src/js/org.qcobjects.tools.d.ts +0 -1
  142. package/src/js/org.qcobjects.tools.layouts.d.ts +0 -1
  143. package/src/js/org.qcobjects.views.d.ts +0 -1
  144. /package/spec/{testsSpec.js → testsSpec.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * QCObjects SDK 2.4
2
+ * QCObjects SDK 2.5
3
3
  * ________________
4
4
  *
5
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -24,30 +24,31 @@
24
24
  */
25
25
  "use strict";
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.CanvasTool = void 0;
27
28
  const qcobjects_1 = require("qcobjects");
28
- (function () {
29
- (0, qcobjects_1.Package)("org.qcobjects.tools.canvas", [
30
- class CanvasTool extends qcobjects_1.InheritClass {
31
- drawImageFilled(img, canvas, zoom = 1, px = 0, py = 0) {
32
- // get the scale
33
- let scale = Math.max(canvas.width / img.width, canvas.height / img.height);
34
- scale = scale * zoom;
35
- // get the top left position of the image
36
- const x = (canvas.width / 2) - (img.width / 2) * scale;
37
- const y = (canvas.height / 2) - (img.height / 2) * scale;
38
- const ctx = canvas.getContext("2d");
39
- ctx?.drawImage(img, (px + x), (py + y), img.width * scale, img.height * scale);
40
- }
41
- getImageResized(img, width, height, resizedImage, zoom = 1, px = 0, py = 0) {
42
- const canvas = document.createElement("canvas");
43
- canvas.width = width;
44
- canvas.height = height;
45
- canvas.style.width = width.toString();
46
- canvas.style.height = height.toString();
47
- this.drawImageFilled(img, canvas, zoom, px, py);
48
- resizedImage.src = canvas.toDataURL("image/png");
49
- return canvas;
50
- }
51
- }
52
- ]);
53
- })();
29
+ class CanvasTool extends qcobjects_1.InheritClass {
30
+ drawImageFilled(img, canvas, zoom = 1, px = 0, py = 0) {
31
+ // get the scale
32
+ let scale = Math.max(canvas.width / img.width, canvas.height / img.height);
33
+ scale = scale * zoom;
34
+ // get the top left position of the image
35
+ const x = (canvas.width / 2) - (img.width / 2) * scale;
36
+ const y = (canvas.height / 2) - (img.height / 2) * scale;
37
+ const ctx = canvas.getContext("2d");
38
+ ctx?.drawImage(img, (px + x), (py + y), img.width * scale, img.height * scale);
39
+ }
40
+ getImageResized(img, width, height, resizedImage, zoom = 1, px = 0, py = 0) {
41
+ const canvas = document.createElement("canvas");
42
+ canvas.width = width;
43
+ canvas.height = height;
44
+ canvas.style.width = width.toString();
45
+ canvas.style.height = height.toString();
46
+ this.drawImageFilled(img, canvas, zoom, px, py);
47
+ resizedImage.src = canvas.toDataURL("image/png");
48
+ return canvas;
49
+ }
50
+ }
51
+ exports.CanvasTool = CanvasTool;
52
+ (0, qcobjects_1.Package)("org.qcobjects.tools.canvas", [
53
+ CanvasTool
54
+ ]);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * QCObjects SDK 2.4
2
+ * QCObjects SDK 2.5
3
3
  * ________________
4
4
  *
5
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -28,10 +28,12 @@ const qcobjects_1 = require("qcobjects");
28
28
  (function () {
29
29
  (0, qcobjects_1.Package)("org.qcobjects.tools", [
30
30
  class Process extends qcobjects_1.Timer {
31
+ alive;
32
+ steps = [];
33
+ currentStep = 0;
34
+ duration;
31
35
  constructor({ steps = [], currentStep = 0, alive = false }) {
32
36
  super({ steps, currentStep, alive });
33
- this.steps = [];
34
- this.currentStep = 0;
35
37
  this.alive = alive;
36
38
  }
37
39
  stop() {
@@ -43,6 +45,7 @@ const qcobjects_1 = require("qcobjects");
43
45
  duration: this.duration,
44
46
  timing: (timeFraction) => {
45
47
  this.currentStep += 1;
48
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
46
49
  this.steps.map((p) => {
47
50
  let _ret_;
48
51
  if (typeof p === "function") {
@@ -59,6 +62,10 @@ const qcobjects_1 = require("qcobjects");
59
62
  }
60
63
  });
61
64
  }
65
+ // eslint-disable-next-line no-unused-vars
66
+ thread(arg0) {
67
+ throw new Error("Method not implemented.");
68
+ }
62
69
  }
63
70
  ]);
64
71
  })();
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable array-callback-return */
2
2
  /**
3
- * QCObjects SDK 2.4
3
+ * QCObjects SDK 2.5
4
4
  * ________________
5
5
  *
6
6
  * Author: Jean Machuca <correojean@gmail.com>
@@ -25,49 +25,50 @@
25
25
  */
26
26
  "use strict";
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.BasicLayout = void 0;
28
29
  const qcobjects_1 = require("qcobjects");
29
30
  const org_qcobjects_effects_1 = require("./org.qcobjects.effects");
30
- (function () {
31
- (0, qcobjects_1.Package)("org.qcobjects.tools.layouts", [
32
- class BasicLayout extends qcobjects_1.InheritClass {
33
- constructor({ component = null, dependencies = [] }) {
34
- super({ component, dependencies });
35
- this.dependencies = [];
36
- }
37
- load() {
38
- this.dependencies.push((0, qcobjects_1.New)(qcobjects_1.SourceCSS, {
39
- external: !(qcobjects_1.CONFIG.get("useLocalSDK", false)),
40
- url: (qcobjects_1.CONFIG.get("useLocalSDK", false)) ? ("css/basic-layout.css") : (qcobjects_1.CONFIG.get("remoteSDKPath", false) + "css/basic-layout.css")
41
- }));
42
- }
43
- coloredBorder() {
44
- /*
45
- * A helper function to visualize the layout borders
46
- * Usage: BasicLayout.coloredBorder()
47
- */
48
- setTimeout(function () {
49
- (0, qcobjects_1.Tag)("nav").map((element) => { element.style.border = "20px solid #3333"; });
50
- (0, qcobjects_1.Tag)("nav").map((element) => { element.style.backgroundColor = "#129999"; });
51
- (0, qcobjects_1.Tag)("component>footer").map((element) => { element.style.background = "#876"; });
52
- (0, qcobjects_1.Tag)("component>div").map((element) => { element.style.border = "3px dashed #fff"; });
53
- (0, qcobjects_1.Tag)("component>section").map((element) => { element.style.border = "3px solid #000"; });
54
- (0, qcobjects_1.Tag)("component>section").map((element) => { element.style.backgroundColor = "#fffaaa"; });
55
- (0, qcobjects_1.Tag)("component>article").map((element) => { element.style.border = "3px dotted #000"; });
56
- (0, qcobjects_1.Tag)("component>header").map((element) => { element.style.background = "#789"; });
57
- (0, qcobjects_1.Tag)("component>footer").map((element) => { element.style.background = "#876"; });
58
- (0, qcobjects_1.Tag)("component>article:nth-child(1)").map((element) => { element.style.border = "1px solid #444"; });
59
- (0, qcobjects_1.Tag)("component>article:nth-child(1)").map((element) => { element.style.backgroundColor = "#555aaa"; });
60
- (0, qcobjects_1.Tag)("component>article:nth-child(2)").map((element) => { element.style.backgroundColor = "#aaa333"; });
61
- (0, qcobjects_1.Tag)("component>article:nth-child(3)").map((element) => { element.style.backgroundColor = "#54da82"; });
62
- (0, qcobjects_1.Tag)("*").map((element) => { element.style.color = "#fff"; });
63
- (0, qcobjects_1.Tag)("component>article").map((element) => org_qcobjects_effects_1.Fade.apply(element, 0, 1));
64
- (0, qcobjects_1.Tag)("component>footer").map((element) => org_qcobjects_effects_1.Fade.apply(element, 0, 1));
65
- (0, qcobjects_1.Tag)("component>header").map((element) => org_qcobjects_effects_1.Fade.apply(element, 0, 1));
66
- (0, qcobjects_1.Tag)("nav").map((element) => { element.style.display = "block"; element.style.width = element.offsetParent?.scrollWidth.toString() || element.clientWidth.toString(); org_qcobjects_effects_1.MoveXInFromLeft.apply(element); });
67
- (0, qcobjects_1.Tag)("component>article").map((element) => { element.style.display = "block"; element.style.height = element.offsetParent?.scrollHeight.toString() || element.clientHeight.toString(); org_qcobjects_effects_1.MoveYInFromBottom.apply(element); });
68
- (0, qcobjects_1.Tag)("component>article:nth-child(2)").map((element) => { element.style.display = "block"; element.style.width = element.offsetParent?.scrollWidth.toString() || element.clientWidth.toString(); org_qcobjects_effects_1.MoveXInFromRight.apply(element); });
69
- }, 300);
70
- }
71
- }
72
- ]);
73
- })();
31
+ class BasicLayout extends qcobjects_1.InheritClass {
32
+ dependencies = [];
33
+ constructor({ component = null, dependencies = [] }) {
34
+ super({ component, dependencies });
35
+ }
36
+ load() {
37
+ this.dependencies.push((0, qcobjects_1.New)(qcobjects_1.SourceCSS, {
38
+ external: !(qcobjects_1.CONFIG.get("useLocalSDK", false)),
39
+ url: (qcobjects_1.CONFIG.get("useLocalSDK", false)) ? ("css/basic-layout.css") : (qcobjects_1.CONFIG.get("remoteSDKPath", false) + "css/basic-layout.css")
40
+ }));
41
+ }
42
+ coloredBorder() {
43
+ /*
44
+ * A helper function to visualize the layout borders
45
+ * Usage: BasicLayout.coloredBorder()
46
+ */
47
+ setTimeout(function () {
48
+ (0, qcobjects_1.Tag)("nav").map((element) => { element.style.border = "20px solid #3333"; });
49
+ (0, qcobjects_1.Tag)("nav").map((element) => { element.style.backgroundColor = "#129999"; });
50
+ (0, qcobjects_1.Tag)("component>footer").map((element) => { element.style.background = "#876"; });
51
+ (0, qcobjects_1.Tag)("component>div").map((element) => { element.style.border = "3px dashed #fff"; });
52
+ (0, qcobjects_1.Tag)("component>section").map((element) => { element.style.border = "3px solid #000"; });
53
+ (0, qcobjects_1.Tag)("component>section").map((element) => { element.style.backgroundColor = "#fffaaa"; });
54
+ (0, qcobjects_1.Tag)("component>article").map((element) => { element.style.border = "3px dotted #000"; });
55
+ (0, qcobjects_1.Tag)("component>header").map((element) => { element.style.background = "#789"; });
56
+ (0, qcobjects_1.Tag)("component>footer").map((element) => { element.style.background = "#876"; });
57
+ (0, qcobjects_1.Tag)("component>article:nth-child(1)").map((element) => { element.style.border = "1px solid #444"; });
58
+ (0, qcobjects_1.Tag)("component>article:nth-child(1)").map((element) => { element.style.backgroundColor = "#555aaa"; });
59
+ (0, qcobjects_1.Tag)("component>article:nth-child(2)").map((element) => { element.style.backgroundColor = "#aaa333"; });
60
+ (0, qcobjects_1.Tag)("component>article:nth-child(3)").map((element) => { element.style.backgroundColor = "#54da82"; });
61
+ (0, qcobjects_1.Tag)("*").map((element) => { element.style.color = "#fff"; });
62
+ (0, qcobjects_1.Tag)("component>article").map((element) => org_qcobjects_effects_1.Fade.apply(element, 0, 1));
63
+ (0, qcobjects_1.Tag)("component>footer").map((element) => org_qcobjects_effects_1.Fade.apply(element, 0, 1));
64
+ (0, qcobjects_1.Tag)("component>header").map((element) => org_qcobjects_effects_1.Fade.apply(element, 0, 1));
65
+ (0, qcobjects_1.Tag)("nav").map((element) => { element.style.display = "block"; element.style.width = element.offsetParent?.scrollWidth.toString() || element.clientWidth.toString(); org_qcobjects_effects_1.MoveXInFromLeft.apply(element); });
66
+ (0, qcobjects_1.Tag)("component>article").map((element) => { element.style.display = "block"; element.style.height = element.offsetParent?.scrollHeight.toString() || element.clientHeight.toString(); org_qcobjects_effects_1.MoveYInFromBottom.apply(element); });
67
+ (0, qcobjects_1.Tag)("component>article:nth-child(2)").map((element) => { element.style.display = "block"; element.style.width = element.offsetParent?.scrollWidth.toString() || element.clientWidth.toString(); org_qcobjects_effects_1.MoveXInFromRight.apply(element); });
68
+ }, 300);
69
+ }
70
+ }
71
+ exports.BasicLayout = BasicLayout;
72
+ (0, qcobjects_1.Package)("org.qcobjects.tools.layouts", [
73
+ BasicLayout
74
+ ]);
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const qcobjects_1 = require("qcobjects");
4
1
  /**
5
- * QCObjects SDK 2.4
2
+ * QCObjects SDK 2.5
6
3
  * ________________
7
4
  *
8
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -25,10 +22,13 @@ const qcobjects_1 = require("qcobjects");
25
22
  * Everyone is permitted to copy and distribute verbatim copies of this
26
23
  * license document, but changing it is not allowed.
27
24
  */
28
- (function () {
29
- "use strict";
30
- (0, qcobjects_1.Package)("org.qcobjects.views", [
31
- class GridView extends qcobjects_1.View {
32
- }
33
- ]);
34
- })();
25
+ "use strict";
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.GridView = void 0;
28
+ const qcobjects_1 = require("qcobjects");
29
+ class GridView extends qcobjects_1.View {
30
+ }
31
+ exports.GridView = GridView;
32
+ (0, qcobjects_1.Package)("org.qcobjects.views", [
33
+ GridView
34
+ ]);
@@ -0,0 +1,72 @@
1
+ // build.js
2
+ const esbuild = require("esbuild");
3
+ const alias = require("esbuild-plugin-alias");
4
+ const path = require("path");
5
+
6
+ const baseSettings = {
7
+ entryPoints: ["src/index.ts"], // Your entry file
8
+ bundle: true,
9
+ outdir: "public/cjs", // Output dir
10
+ format: "cjs", // or "esm" depending on your module system
11
+ target: ["esnext"], // Adjust based on your target environment
12
+ tsconfig: "tsconfig.json", // Path to your tsconfig.json,
13
+ globalName: "global",
14
+ minify:false,
15
+ keepNames: true,
16
+ sourcemap: true,
17
+ splitting: false,
18
+ chunkNames: "chunks/[name]-[hash]",
19
+ plugins: [
20
+ alias({
21
+ "types": path.join(__dirname, "src/types/global/index.d.ts"),
22
+ "qcobjects": path.join(__dirname, "node_modules/qcobjects/build/QCObjects.js"),
23
+ "qcobjects-sdk": path.join(__dirname, "src/QCObjects-SDK.ts")
24
+ })
25
+ ],
26
+ external: ["os", "path", "http", "url",
27
+ "child_process", "events", "fs", "process",
28
+ "node:fs", "node:os", "node:child_process", "node:process",
29
+ "node:path", "readline", "node:net", "node:repl",
30
+ "node:vm", "http2", "vm", "qcobjects", "qcobjects-sdk"
31
+ ]
32
+
33
+ };
34
+
35
+ const cjsSettings = {...baseSettings,
36
+ entryPoints: ["src/index.ts"], // Your entry file
37
+ outdir: "public/cjs", // Output dir
38
+ format: "cjs", // or "esm" depending on your module system
39
+ platform: "node", // or "browser" depending on your target environment
40
+ outExtension: {
41
+ ".js":".cjs"
42
+ }
43
+
44
+ };
45
+
46
+ const esmSettings = {...baseSettings,
47
+ entryPoints: ["src/index.ts"], // Your entry file
48
+ outdir: "public/esm", // Output dir
49
+ format: "esm", // or "esm" depending on your module system
50
+ platform: "browser", // or "browser" depending on your target environment
51
+ outExtension: {
52
+ ".js":".mjs"
53
+ }
54
+
55
+ };
56
+
57
+ const browserSettings = {...baseSettings,
58
+ entryPoints: ["src/index.ts"], // Your entry file
59
+ bundle: true,
60
+ outdir: "public/browser", // Output dir
61
+ format: "iife", // or "esm" depending on your module system
62
+ platform: "browser", // or "browser" depending on your target environment
63
+ outExtension: {
64
+ ".js":".js"
65
+ }
66
+ };
67
+
68
+ const logError = (e) => {console.log(e);process.exit(1);};
69
+
70
+ esbuild.build(cjsSettings).catch(logError);
71
+ esbuild.build(esmSettings).catch(logError);
72
+ esbuild.build(browserSettings).catch(logError);
@@ -0,0 +1,88 @@
1
+ import globals from "globals";
2
+ import pluginJs from "@eslint/js";
3
+ import tseslint from "typescript-eslint";
4
+
5
+ import * as parser from '@typescript-eslint/parser';
6
+
7
+
8
+ import path from "node:path";
9
+ import { fileURLToPath } from "node:url";
10
+ import js from "@eslint/js";
11
+ import { FlatCompat } from "@eslint/eslintrc";
12
+
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ const __dirname = path.dirname(__filename);
15
+ const compat = new FlatCompat({
16
+ baseDirectory: __dirname,
17
+ recommendedConfig: js.configs.recommended,
18
+ allConfig: js.configs.all
19
+ });
20
+
21
+ export default [
22
+ { languageOptions: {
23
+ globals: {
24
+ ...globals.browser,
25
+ ...globals.node,
26
+ Atomics: "readonly",
27
+ SharedArrayBuffer: "readonly",
28
+ },
29
+
30
+ ecmaVersion: "latest",
31
+ sourceType: "module",
32
+ parserOptions: {
33
+ projectService: true,
34
+ tsconfigRootDir: import.meta.dirname,
35
+ programs: [parser.createProgram('tsconfig.json')],
36
+ }
37
+ ,
38
+
39
+ } },
40
+ pluginJs.configs.recommended,
41
+ ...tseslint.configs.recommended,
42
+ ...tseslint.configs.recommendedTypeChecked,
43
+ { files: ["**/*.{js,mjs,cjs,ts}"] }
44
+ ,{
45
+ ignores: [
46
+ "**/*.js",
47
+ "spec/**/*",
48
+ "src/*.js",
49
+ "src/**/*.js",
50
+ "node_modules/**/*",
51
+ "**/node_modules"
52
+ ],
53
+ }, ...compat.extends("eslint:recommended"),
54
+ { rules: {
55
+ semi: ["error", "always"],
56
+ quotes: ["error", "double"],
57
+ "@typescript-eslint/no-explicit-any": "off",
58
+ "@typescript-eslint/no-this-alias": "off",
59
+ "@typescript-eslint/no-unused-vars": "off",
60
+ "@typescript-eslint/ban-types": "off",
61
+ "array-callback-return": "warn",
62
+ "no-useless-call": "off",
63
+ camelcase: "off",
64
+ "no-var": "off",
65
+ }},
66
+ {
67
+ files: ["**/*.ts", "**/*.d.ts", "**/*.d.tsx", "**/*.tsx"]
68
+ },
69
+ { files: ["**/*.d.ts"],
70
+ rules: {
71
+ "no-unused-vars":"off"
72
+ }
73
+ },
74
+ {
75
+ files: ["**/*.ts", "**/*.d.ts"],
76
+ rules: {
77
+ "no-dupe-class-members":"off",
78
+ "@typescript-eslint/no-unsafe-function-type":"off",
79
+ "no-redeclare": "off",
80
+ "@typescript-eslint/no-unsafe-member-access":"off",
81
+ "@typescript-eslint/no-unsafe-assignment":"off",
82
+ "@typescript-eslint/no-unsafe-call":"off",
83
+ "@typescript-eslint/no-unsafe-argument":"off",
84
+ "@typescript-eslint/no-unsafe-return":"off"
85
+
86
+ }
87
+ }
88
+ ];
package/package.json CHANGED
@@ -1,68 +1,66 @@
1
1
  {
2
2
  "name": "qcobjects-sdk",
3
- "version": "2.4.64",
3
+ "version": "2.5.105-beta",
4
4
  "description": "QCObjects SDK is a set of Controllers, Views and Components that are elementary and useful to assist developers to build applications under MVC patterns using QCObjects, Cross Browser Javascript Framework for MVC Patterns",
5
- "main": "public/index.cjs",
6
- "module": "public/index.mjs",
5
+ "main": "public/cjs/index.cjs",
6
+ "module": "public/esm/index.mjs",
7
+ "browser": "public/browser/index.js",
8
+ "type": "commonjs",
9
+ "types": "public/types/index.d.ts",
7
10
  "exports": {
8
11
  ".": {
9
- "require": "./public/index.cjs",
10
- "import": "./public/index.mjs"
12
+ "types": "./public/types/index.d.ts",
13
+ "require": "./public/cjs/index.cjs",
14
+ "import": "./public/esm/index.mjs"
11
15
  },
12
16
  "./package.json": "./package.json",
13
- "./js/org.qcobjects.cloud.auth.session.data": "./src/js/org.qcobjects.cloud.auth.session.data.js",
14
- "./js/org.qcobjects.cloud.auth.session.usertoken": "./src/js/org.qcobjects.cloud.auth.session.usertoken.js",
15
- "./js/org.qcobjects.components.grid": "./src/js/org.qcobjects.components.grid.js",
16
- "./js/org.qcobjects.components": "./src/js/org.qcobjects.components.js",
17
- "./js/org.qcobjects.components.list": "./src/js/org.qcobjects.components.list.js",
18
- "./js/org.qcobjects.components.notifications": "./src/js/org.qcobjects.components.notifications.js",
19
- "./js/org.qcobjects.components.slider": "./src/js/org.qcobjects.components.slider.js",
20
- "./js/org.qcobjects.components.splashscreen": "./src/js/org.qcobjects.components.splashscreen.js",
21
- "./js/org.qcobjects.controllers.form": "./src/js/org.qcobjects.controllers.form.js",
22
- "./js/org.qcobjects.controllers.grid": "./src/js/org.qcobjects.controllers.grid.js",
23
- "./js/org.qcobjects.controllers": "./src/js/org.qcobjects.controllers.js",
24
- "./js/org.qcobjects.controllers.list": "./src/js/org.qcobjects.controllers.list.js",
25
- "./js/org.qcobjects.controllers.slider": "./src/js/org.qcobjects.controllers.slider.js",
26
- "./js/org.qcobjects.controllers.swagger": "./src/js/org.qcobjects.controllers.swagger.js",
27
- "./js/org.qcobjects.effects": "./src/js/org.qcobjects.effects.js",
28
- "./js/org.qcobjects.i18n_messages": "./src/js/org.qcobjects.i18n_messages.js",
29
- "./js/org.qcobjects.modal.controllers": "./src/js/org.qcobjects.modal.controllers.js",
30
- "./js/org.qcobjects.modal.effects": "./src/js/org.qcobjects.modal.effects.js",
31
- "./js/org.qcobjects.models": "./src/js/org.qcobjects.models.js",
32
- "./js/org.qcobjects.tools.canvas": "./src/js/org.qcobjects.tools.canvas.js",
33
- "./js/org.qcobjects.tools": "./src/js/org.qcobjects.tools.js",
34
- "./js/org.qcobjects.tools.layouts": "./src/js/org.qcobjects.tools.layouts.js",
35
- "./js/org.qcobjects.views": "./src/js/org.qcobjects.views.js",
36
- "./QCObjects-SDK": "./js/QCObjects-SDK.js"
17
+ "./js/org.qcobjects.i18n_messages": "./build/js/org.qcobjects.i18n_messages.js",
18
+ "./js/org.qcobjects.models": "./build/js/org.qcobjects.models.js",
19
+ "./js/org.qcobjects.components": "./build/js/org.qcobjects.components.js",
20
+ "./js/org.qcobjects.components.grid": "./build/js/org.qcobjects.components.grid.js",
21
+ "./js/org.qcobjects.components.list": "./build/js/org.qcobjects.components.list.js",
22
+ "./js/org.qcobjects.components.slider": "./build/js/org.qcobjects.components.slider.js",
23
+ "./js/org.qcobjects.components.notifications": "./build/js/org.qcobjects.components.notifications.js",
24
+ "./js/org.qcobjects.components.splashscreen": "./build/js/org.qcobjects.components.splashscreen.js",
25
+ "./js/org.qcobjects.controllers": "./build/js/org.qcobjects.controllers.js",
26
+ "./js/org.qcobjects.controllers.grid": "./build/js/org.qcobjects.controllers.grid.js",
27
+ "./js/org.qcobjects.controllers.slider": "./build/js/org.qcobjects.controllers.slider.js",
28
+ "./js/org.qcobjects.controllers.form": "./build/js/org.qcobjects.controllers.form.js",
29
+ "./js/org.qcobjects.controllers.swagger": "./build/js/org.qcobjects.controllers.swagger.js",
30
+ "./js/org.qcobjects.effects": "./build/js/org.qcobjects.effects.js",
31
+ "./js/org.qcobjects.modal.controllers": "./build/js/org.qcobjects.modal.controllers.js",
32
+ "./js/org.qcobjects.views": "./build/js/org.qcobjects.views.js",
33
+ "./js/org.qcobjects.tools.canvas": "./build/js/org.qcobjects.tools.canvas.js",
34
+ "./js/org.qcobjects.tools.layouts": "./build/js/org.qcobjects.tools.layouts.js",
35
+ "./js/org.qcobjects.cloud.auth.session.usertoken": "./build/js/org.qcobjects.cloud.auth.session.usertoken.js",
36
+ "./js/org.qcobjects.cloud.auth.session.data": "./build/js/org.qcobjects.cloud.auth.session.data.js",
37
+ "./QCObjects-SDK": "./build/QCObjects-SDK.js"
37
38
  },
38
- "type": "commonjs",
39
- "types": "./src/index.d.ts",
40
39
  "license": "LGPL-3.0",
41
40
  "scripts": {
42
- "test": "npm run lint",
43
- "lint": "(npx eslint \"src/**/*.ts\" --fix --ext ts)",
41
+ "build": "npm run build:ts-types && npm run build:ts && npm run build:browser",
42
+ "postbuild": "node ./postbuild.js",
43
+ "build:ts": "npm test && node ./transpile.js tsconfig.json",
44
+ "build:ts-types": "node ./transpile.js tsconfig.d.json",
45
+ "build:browser": "npm run build:esbuild",
46
+ "build:esbuild": "node ./build-esbuild.js",
47
+ "start": "qcobjects-shell",
48
+ "test:ts-types": "node ./transpile.js ./tsconfig.jasmine.json",
49
+ "test:jasmine": "npm run test:ts-types && npx ts-node -r tsconfig-paths/register --project ./tsconfig.jasmine.json ./node_modules/jasmine/bin/jasmine.js",
50
+ "test": "(npm run lint && npm run test:jasmine)",
51
+ "lint": "(npx -y eslint src/**/*.ts --fix )",
52
+ "preversion": "npm cache verify && npm test",
44
53
  "sync": "git add . && git commit -am ",
45
- "preversion": "npm i --upgrade && npm test",
46
54
  "postversion": "git push && git push --tags",
47
55
  "v-patch": "qcobjects v-patch",
48
56
  "v-minor": "qcobjects v-minor",
49
57
  "v-major": "qcobjects v-major",
50
58
  "qcobjects": "qcobjects",
51
59
  "cli": "qcobjects",
52
- "build:static": "npx qcobjects-cli publish:static src/ build/ --exclude js --exclude=.DS_Store",
53
- "build:jekyll": "npx qcobjects-cli publish:static jekyll/ public/ --exclude=.DS_Store",
54
- "build:static:css": "npx qcobjects-cli publish:static src/css build/css --exclude js --exclude=.DS_Store",
55
- "build:static:templates": "npx qcobjects-cli publish:static src/templates build/templates --exclude js --exclude=.DS_Store",
56
- "build:ts": "npm test && npx tsc",
57
- "build:ts-types": "npx tsc --project tsconfig.d.json",
58
- "build": "npm run build:static:css && npm run build:static:templates && npm run build:ts-types && npm run build:ts && npm run publish:static && npm run publish:esbuild && npm run minify:css",
59
- "publish:static": "(npx qcobjects-cli publish:static build/ public/ --exclude js --exclude=.DS_Store)",
60
- "publish:esbuild": "npx esbuild \"build/QCObjects-SDK.js\" --bundle --minify --outdir=public --keep-names --global-name=global --sourcemap --target=es2020 ",
61
- "minify:css": "(npx esbuild build/css/*.css build/css/**/*.css --outdir=public/css --keep-names --minify --global-name=global --sourcemap --loader:.svg=file)",
62
60
  "prepare": "node -e \"if(!require('fs').existsSync('.git')){process.exit(0)}\" || npx -y husky install",
63
- "prestart": "npm run publish:web",
64
61
  "cli:help": "qcobjects --help",
65
- "tree": "tree -d --gitignore"
62
+ "tree": "tree -d --gitignore",
63
+ "generate-readme-pdf": "(npx -y markdown-pdf --paper-format \"Letter\" -o README.pdf README.md && npx markdown-pdf --paper-format \"Letter\" -o README-es.pdf README-es.md) && npm uninstall markdown-pdf"
66
64
  },
67
65
  "repository": {
68
66
  "type": "git",
@@ -84,32 +82,41 @@
84
82
  "webcomponents"
85
83
  ],
86
84
  "devDependencies": {
87
- "@types/qcobjects": "github:QCObjects/-types-qcobjects",
88
- "@types/qcobjects-sdk": "github:QCObjects/-types-qcobjects-sdk",
85
+ "@eslint/eslintrc": "^3.1.0",
86
+ "@eslint/js": "^9.21.0",
87
+ "@types/jasmine": "^5.1.4",
88
+ "@types/node": "^22.8.1",
89
89
  "@typescript-eslint/eslint-plugin": "^5.58.0",
90
90
  "@typescript-eslint/parser": "^5.58.0",
91
- "eslint": "^8.38.0",
92
- "eslint-config-prettier": "^8.8.0",
93
- "eslint-config-qcobjects": "^0.0.23",
94
- "eslint-config-qcobjects-typescript": "^2.4.5",
91
+ "esbuild": "^0.25.0",
92
+ "esbuild-plugin-alias": "^0.2.1",
93
+ "eslint": "9.10",
94
+ "eslint-config-prettier": "^8.10.0",
95
95
  "eslint-config-semistandard": "^17.0.0",
96
- "eslint-config-standard": "^17.0.0",
96
+ "eslint-config-standard": "^17.1.0",
97
97
  "eslint-plugin-import": "^2.27.5",
98
98
  "eslint-plugin-n": "^15.7.0",
99
99
  "eslint-plugin-promise": "^6.1.1",
100
+ "globals": "^15.15.0",
100
101
  "hint": "^2.0.0",
101
- "jasmine": "^3.7.0",
102
- "qcobjects-command-publish-static": "^1.0.2",
103
- "qcobjects-tsconfig": "^2.4.10",
104
- "typescript": "^5.0.4"
102
+ "install": "^0.13.0",
103
+ "jasmine": "^3.99.0",
104
+ "qcobjects": "^2.5.140-beta",
105
+ "ts-node": "^10.9.2",
106
+ "tsconfig-paths": "^4.2.0",
107
+ "typescript": "^5.7.3",
108
+ "typescript-eslint": "^8.24.1"
109
+ },
110
+ "engines": {
111
+ "npm": ">=10",
112
+ "node": ">=22"
105
113
  },
106
114
  "author": "Jean Machuca <correojean@gmail.com>",
107
115
  "bugs": {
108
116
  "url": "https://github.com/QuickCorp/QCObjects-SDK/issues"
109
117
  },
110
118
  "homepage": "https://sdk.qcobjects.dev",
111
- "dependencies": {},
112
119
  "peerDependencies": {
113
- "qcobjects": ">=2.4.84"
120
+ "qcobjects": ">=2.5.140-beta"
114
121
  }
115
122
  }
package/postbuild.js ADDED
@@ -0,0 +1,10 @@
1
+ const fs = require('node:fs');
2
+ const path = './public/types/index.d.ts';
3
+
4
+ fs.appendFile(path, '\nexport {};', function (err) {
5
+ if (err) {
6
+ console.error('Failed to append export statement:', err);
7
+ } else {
8
+ console.log('Successfully appended export statement to index.d.ts');
9
+ }
10
+ });