jqtree 1.8.2 → 1.8.3

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 (222) hide show
  1. package/bower.json +1 -1
  2. package/package.json +20 -19
  3. package/src/dragAndDropHandler/generateHitAreas.ts +47 -43
  4. package/src/nodeElement/ghostDropHint.ts +3 -37
  5. package/src/nodeElement/index.ts +1 -1
  6. package/src/saveStateHandler.ts +43 -59
  7. package/src/version.ts +1 -1
  8. package/tree.jquery.debug.js +69 -106
  9. package/tree.jquery.debug.js.map +1 -1
  10. package/tree.jquery.js +2 -2
  11. package/tree.jquery.js.map +1 -1
  12. package/.editorconfig +0 -12
  13. package/.eslintrc +0 -48
  14. package/.github/workflows/ci.yml +0 -68
  15. package/.github/workflows/codeql-analysis.yml +0 -32
  16. package/.github/workflows/size.yml +0 -24
  17. package/.github/workflows/static.yml +0 -57
  18. package/.prettier +0 -3
  19. package/config/.postcssrc +0 -6
  20. package/config/babel.config.json +0 -11
  21. package/config/babel.coverage.config.json +0 -4
  22. package/config/jest.config.js +0 -24
  23. package/config/jest.polyfills.js +0 -14
  24. package/config/playwright.config.js +0 -18
  25. package/config/production +0 -6
  26. package/config/rollup.config.mjs +0 -71
  27. package/css/jqtree.postcss +0 -193
  28. package/devserver/devserver.js +0 -7
  29. package/devserver/devserver_scroll.js +0 -8
  30. package/devserver/index.html +0 -22
  31. package/devserver/test_index.html +0 -22
  32. package/devserver/test_scroll.html +0 -28
  33. package/devserver/test_scroll_container.html +0 -39
  34. package/docs/.ruby-version +0 -1
  35. package/docs/Gemfile +0 -5
  36. package/docs/Gemfile.lock +0 -82
  37. package/docs/_config.yml +0 -126
  38. package/docs/_entries/events/index.md +0 -6
  39. package/docs/_entries/events/tree-click.md +0 -37
  40. package/docs/_entries/events/tree-close.md +0 -15
  41. package/docs/_entries/events/tree-contextmenu.md +0 -21
  42. package/docs/_entries/events/tree-dblclick.md +0 -19
  43. package/docs/_entries/events/tree-init.md +0 -15
  44. package/docs/_entries/events/tree-load-data.md +0 -15
  45. package/docs/_entries/events/tree-loading-data.md +0 -27
  46. package/docs/_entries/events/tree-move.md +0 -73
  47. package/docs/_entries/events/tree-open.md +0 -15
  48. package/docs/_entries/events/tree-refresh.md +0 -12
  49. package/docs/_entries/events/tree-select.md +0 -28
  50. package/docs/_entries/functions/addnodeafter.md +0 -20
  51. package/docs/_entries/functions/addnodebefore.md +0 -8
  52. package/docs/_entries/functions/addparentnode.md +0 -20
  53. package/docs/_entries/functions/appendnode.md +0 -50
  54. package/docs/_entries/functions/closenode.md +0 -23
  55. package/docs/_entries/functions/destroy.md +0 -12
  56. package/docs/_entries/functions/getnodebycallback.md +0 -24
  57. package/docs/_entries/functions/getnodebyhtmlelement.md +0 -29
  58. package/docs/_entries/functions/getnodebyid.md +0 -21
  59. package/docs/_entries/functions/getselectednode.md +0 -10
  60. package/docs/_entries/functions/getstate.md +0 -19
  61. package/docs/_entries/functions/gettree.md +0 -12
  62. package/docs/_entries/functions/index.md +0 -6
  63. package/docs/_entries/functions/is-node-selected.md +0 -11
  64. package/docs/_entries/functions/isdragging.md +0 -12
  65. package/docs/_entries/functions/loaddata.md +0 -46
  66. package/docs/_entries/functions/loaddatafromurl.md +0 -55
  67. package/docs/_entries/functions/movedown.md +0 -8
  68. package/docs/_entries/functions/movenode.md +0 -15
  69. package/docs/_entries/functions/moveup.md +0 -8
  70. package/docs/_entries/functions/opennode.md +0 -44
  71. package/docs/_entries/functions/prependnode.md +0 -21
  72. package/docs/_entries/functions/refresh.md +0 -12
  73. package/docs/_entries/functions/reload.md +0 -22
  74. package/docs/_entries/functions/removenode.md +0 -12
  75. package/docs/_entries/functions/scrolltonode.md +0 -13
  76. package/docs/_entries/functions/selectnode.md +0 -45
  77. package/docs/_entries/functions/setoption.md +0 -12
  78. package/docs/_entries/functions/setstate.md +0 -8
  79. package/docs/_entries/functions/toggle.md +0 -25
  80. package/docs/_entries/functions/tojson.md +0 -13
  81. package/docs/_entries/functions/updatenode.md +0 -50
  82. package/docs/_entries/general/changelog.md +0 -434
  83. package/docs/_entries/general/demo.html +0 -28
  84. package/docs/_entries/general/downloads.md +0 -9
  85. package/docs/_entries/general/examples.md +0 -8
  86. package/docs/_entries/general/features.md +0 -15
  87. package/docs/_entries/general/index.md +0 -7
  88. package/docs/_entries/general/introduction.md +0 -9
  89. package/docs/_entries/general/requirements.md +0 -6
  90. package/docs/_entries/general/tutorial.md +0 -71
  91. package/docs/_entries/general/usecases.md +0 -15
  92. package/docs/_entries/multiple_selection/add-to-selection.md +0 -21
  93. package/docs/_entries/multiple_selection/get-selected-nodes.md +0 -10
  94. package/docs/_entries/multiple_selection/index.md +0 -9
  95. package/docs/_entries/multiple_selection/remove-from-selection.md +0 -11
  96. package/docs/_entries/node/children.md +0 -12
  97. package/docs/_entries/node/getdata.md +0 -17
  98. package/docs/_entries/node/getlevel.md +0 -13
  99. package/docs/_entries/node/getnextnode.md +0 -12
  100. package/docs/_entries/node/getnextsibling.md +0 -10
  101. package/docs/_entries/node/getnextvisiblenode.md +0 -15
  102. package/docs/_entries/node/getpreviousnode.md +0 -12
  103. package/docs/_entries/node/getprevioussibling.md +0 -10
  104. package/docs/_entries/node/getpreviousvisiblenode.md +0 -15
  105. package/docs/_entries/node/index.md +0 -13
  106. package/docs/_entries/node/parent.md +0 -10
  107. package/docs/_entries/options/animationspeed.md +0 -7
  108. package/docs/_entries/options/autoescape.md +0 -6
  109. package/docs/_entries/options/autoopen.md +0 -28
  110. package/docs/_entries/options/buttonleft.md +0 -12
  111. package/docs/_entries/options/closedicon.md +0 -26
  112. package/docs/_entries/options/data-url.md +0 -45
  113. package/docs/_entries/options/data.md +0 -46
  114. package/docs/_entries/options/datafilter.md +0 -17
  115. package/docs/_entries/options/draganddrop.md +0 -18
  116. package/docs/_entries/options/index.md +0 -6
  117. package/docs/_entries/options/keyboardsupport.md +0 -14
  118. package/docs/_entries/options/oncanmove.md +0 -22
  119. package/docs/_entries/options/oncanmoveto.md +0 -22
  120. package/docs/_entries/options/oncanselectnode.md +0 -26
  121. package/docs/_entries/options/oncreateli.md +0 -22
  122. package/docs/_entries/options/ondragmove.md +0 -20
  123. package/docs/_entries/options/ondragstop.md +0 -20
  124. package/docs/_entries/options/onismovehandle.md +0 -17
  125. package/docs/_entries/options/onloadfailed.md +0 -15
  126. package/docs/_entries/options/onloading.md +0 -22
  127. package/docs/_entries/options/openedicon.md +0 -26
  128. package/docs/_entries/options/openfolderdelay.md +0 -15
  129. package/docs/_entries/options/rtl.md +0 -18
  130. package/docs/_entries/options/savestate.md +0 -39
  131. package/docs/_entries/options/selectable.md +0 -18
  132. package/docs/_entries/options/showemptyfolder.md +0 -26
  133. package/docs/_entries/options/slide.md +0 -12
  134. package/docs/_entries/options/start_dnd_delay.md +0 -13
  135. package/docs/_entries/options/tabindex.md +0 -14
  136. package/docs/_entries/options/usecontextmenu.md +0 -14
  137. package/docs/_examples/01_load_json_data.html +0 -45
  138. package/docs/_examples/02_load_json_data_from_server.html +0 -29
  139. package/docs/_examples/03_drag_and_drop.html +0 -42
  140. package/docs/_examples/04_save_state.html +0 -46
  141. package/docs/_examples/05_load_on_demand.html +0 -68
  142. package/docs/_examples/06_autoescape.html +0 -45
  143. package/docs/_examples/07_autoscroll.html +0 -42
  144. package/docs/_examples/08_multiple_select.html +0 -60
  145. package/docs/_examples/09_custom_html.html +0 -61
  146. package/docs/_examples/10_icon_buttons.html +0 -26
  147. package/docs/_examples/11_right-to-left.html +0 -25
  148. package/docs/_examples/12_button_on_right.html +0 -26
  149. package/docs/_examples/13_drag_outside.html +0 -48
  150. package/docs/_examples/14_filter.html +0 -111
  151. package/docs/_layouts/example.html +0 -7
  152. package/docs/_layouts/page.html +0 -26
  153. package/docs/documentation.css +0 -3
  154. package/docs/index.html +0 -65
  155. package/docs/package.json +0 -22
  156. package/docs/pnpm-lock.yaml +0 -892
  157. package/docs/postcss.config.js +0 -7
  158. package/docs/static/bower.json +0 -8
  159. package/docs/static/bower_components/fontawesome/css/all.min.css +0 -9
  160. package/docs/static/bower_components/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  161. package/docs/static/bower_components/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  162. package/docs/static/bower_components/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  163. package/docs/static/bower_components/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  164. package/docs/static/bower_components/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  165. package/docs/static/bower_components/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  166. package/docs/static/bower_components/fontawesome/webfonts/fa-v4compatibility.ttf +0 -0
  167. package/docs/static/bower_components/fontawesome/webfonts/fa-v4compatibility.woff2 +0 -0
  168. package/docs/static/bower_components/jquery/dist/jquery.js +0 -10704
  169. package/docs/static/bower_components/jquery/dist/jquery.min.js +0 -2
  170. package/docs/static/bower_components/jquery-mockjax/dist/jquery.mockjax.js +0 -1061
  171. package/docs/static/documentation.js +0 -26
  172. package/docs/static/example.postcss +0 -68
  173. package/docs/static/example_data.js +0 -122
  174. package/docs/static/examples/autoescape.js +0 -17
  175. package/docs/static/examples/autoscroll.js +0 -6
  176. package/docs/static/examples/button-on-right.js +0 -13
  177. package/docs/static/examples/custom_html.js +0 -27
  178. package/docs/static/examples/drag-outside.js +0 -37
  179. package/docs/static/examples/drag_and_drop.js +0 -13
  180. package/docs/static/examples/filter.js +0 -63
  181. package/docs/static/examples/icon_buttons.js +0 -12
  182. package/docs/static/examples/load_json_data.js +0 -16
  183. package/docs/static/examples/load_json_data_from_server.js +0 -9
  184. package/docs/static/examples/load_on_demand.js +0 -19
  185. package/docs/static/examples/multiple_select.js +0 -23
  186. package/docs/static/examples/right-to-left.js +0 -11
  187. package/docs/static/examples/save_state.js +0 -11
  188. package/docs/static/monokai.css +0 -70
  189. package/docs/static/spinner.gif +0 -0
  190. package/docs/tailwind.config.js +0 -16
  191. package/sitemap.txt +0 -14
  192. package/src/playwright/.eslintrc +0 -5
  193. package/src/playwright/coverage.ts +0 -38
  194. package/src/playwright/playwright.test.ts +0 -401
  195. package/src/playwright/playwright.test.ts-snapshots/with-dragAndDrop-moves-a-node-1-Chromium-darwin.png +0 -0
  196. package/src/playwright/playwright.test.ts-snapshots/with-dragAndDrop-moves-a-node-1-Chromium-linux.png +0 -0
  197. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-displays-a-tree-1-Chromium-darwin.png +0 -0
  198. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-displays-a-tree-1-Chromium-linux.png +0 -0
  199. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-selects-a-node-1-Chromium-darwin.png +0 -0
  200. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-selects-a-node-1-Chromium-linux.png +0 -0
  201. package/src/playwright/testUtils.ts +0 -153
  202. package/src/test/.eslintrc +0 -17
  203. package/src/test/global.d.ts +0 -1
  204. package/src/test/jqTree/accessibility.test.ts +0 -25
  205. package/src/test/jqTree/create.test.ts +0 -54
  206. package/src/test/jqTree/events.test.ts +0 -290
  207. package/src/test/jqTree/keyboard.test.ts +0 -247
  208. package/src/test/jqTree/loadOnDemand.test.ts +0 -198
  209. package/src/test/jqTree/methods.test.ts +0 -1491
  210. package/src/test/jqTree/mouse.test.ts +0 -82
  211. package/src/test/jqTree/options.test.ts +0 -595
  212. package/src/test/node.test.ts +0 -1396
  213. package/src/test/nodeUtils.test.ts +0 -21
  214. package/src/test/position.test.ts +0 -30
  215. package/src/test/support/exampleData.ts +0 -23
  216. package/src/test/support/jqTreeMatchers.ts +0 -68
  217. package/src/test/support/matchers.d.ts +0 -31
  218. package/src/test/support/setupTests.ts +0 -5
  219. package/src/test/support/testUtil.ts +0 -30
  220. package/src/test/support/treeStructure.ts +0 -39
  221. package/src/test/util.test.ts +0 -27
  222. package/tsconfig.json +0 -24
@@ -1,21 +0,0 @@
1
- import { isNodeRecordWithChildren } from "../nodeUtils";
2
-
3
- describe("isNodeRecordWithChildren", () => {
4
- it("returns true when the data is an object with the children attribute of type array", () => {
5
- const data = {
6
- children: [],
7
- };
8
-
9
- expect(isNodeRecordWithChildren(data)).toBe(true);
10
- });
11
-
12
- it("returns when the data is an object without the children attribute", () => {
13
- const data = { name: "test" };
14
-
15
- expect(isNodeRecordWithChildren(data)).toBe(false);
16
- });
17
-
18
- it("returns when the data is a string", () => {
19
- expect(isNodeRecordWithChildren("test")).toBe(false);
20
- });
21
- });
@@ -1,30 +0,0 @@
1
- import { getPosition, getPositionName, Position } from "../position";
2
-
3
- const context = describe;
4
-
5
- describe("getPosition", () => {
6
- it("returns the position", () => {
7
- expect(getPosition("inside")).toBe(Position.Inside);
8
- });
9
-
10
- context("with an unknown position", () => {
11
- it("returns undefined", () => {
12
- expect(getPosition("unknown")).toBeUndefined();
13
- });
14
- });
15
- });
16
-
17
- describe("getPositionName", () => {
18
- it("returns the name of the position", () => {
19
- expect(getPositionName(Position.After)).toBe("after");
20
- expect(getPositionName(Position.Before)).toBe("before");
21
- expect(getPositionName(Position.Inside)).toBe("inside");
22
- expect(getPositionName(Position.None)).toBe("none");
23
- });
24
-
25
- context("with an unknown position", () => {
26
- it("returns an empty string", () => {
27
- expect(getPositionName(10 as Position)).toBe("");
28
- });
29
- });
30
- });
@@ -1,23 +0,0 @@
1
- const exampleData = [
2
- {
3
- name: "node1",
4
- id: 123, // extra data
5
- intProperty: 1,
6
- strProperty: "1",
7
- children: [
8
- { name: "child1", id: 125, intProperty: 2 },
9
- { name: "child2", id: 126 },
10
- ],
11
- },
12
- {
13
- name: "node2",
14
- id: 124,
15
- intProperty: 3,
16
- strProperty: "3",
17
- children: [
18
- { name: "node3", id: 127, children: [{ name: "child3", id: 128 }] },
19
- ],
20
- },
21
- ];
22
-
23
- export default exampleData;
@@ -1,68 +0,0 @@
1
- import treeStructure from "./treeStructure";
2
- import { titleSpan } from "./testUtil";
3
-
4
- const assertJqTreeFolder = ($el: JQuery<HTMLElement>) => {
5
- /* istanbul ignore if */
6
- if (!$el.hasClass("jqtree-folder")) {
7
- throw new Error("Node is not a folder");
8
- }
9
- };
10
-
11
- expect.extend({
12
- toBeClosed(el: HTMLElement | JQuery<HTMLElement>) {
13
- const $el = jQuery(el);
14
- assertJqTreeFolder($el);
15
-
16
- /* istanbul ignore next */
17
- return {
18
- message: () => "The node is open",
19
- pass: $el.hasClass("jqtree-closed"),
20
- };
21
- },
22
- toBeFocused(el: HTMLElement | JQuery<HTMLElement>) {
23
- /* istanbul ignore next */
24
- return {
25
- message: () => "The is node is not focused",
26
- pass: document.activeElement === titleSpan(el)[0],
27
- };
28
- },
29
- toBeOpen(el: HTMLElement | JQuery<HTMLElement>) {
30
- const $el = jQuery(el);
31
- assertJqTreeFolder($el);
32
-
33
- /* istanbul ignore next */
34
- return {
35
- message: () => "The node is closed",
36
- pass: !$el.hasClass("jqtree-closed"),
37
- };
38
- },
39
- toBeSelected(el: HTMLElement | JQuery<HTMLElement>) {
40
- const $el = jQuery(el);
41
-
42
- /* istanbul ignore next */
43
- return {
44
- message: () => "The node is not selected",
45
- pass: $el.hasClass("jqtree-selected"),
46
- };
47
- },
48
- toHaveTreeStructure(
49
- el: HTMLElement | JQuery<HTMLElement>,
50
- expectedStructure: JQTreeMatchers.TreeStructure
51
- ) {
52
- const $el = jQuery(el);
53
- const receivedStructure = treeStructure($el);
54
-
55
- /* istanbul ignore next */
56
- return {
57
- message: () =>
58
- this.utils.printDiffOrStringify(
59
- expectedStructure,
60
- receivedStructure,
61
- "expected",
62
- "received",
63
- true
64
- ),
65
- pass: this.equals(receivedStructure, expectedStructure),
66
- };
67
- },
68
- });
@@ -1,31 +0,0 @@
1
- /// <reference types="jest"/>
2
-
3
- declare namespace JQTreeMatchers {
4
- interface TreeChild {
5
- nodeType: "child";
6
- name: string;
7
- selected: boolean;
8
- }
9
-
10
- interface TreeFolder {
11
- nodeType: "folder";
12
- children: TreeNode[];
13
- name: string;
14
- open: boolean;
15
- selected: boolean;
16
- }
17
-
18
- export type TreeNode = TreeChild | TreeFolder;
19
- export type TreeStructure = TreeNode[];
20
- }
21
-
22
- declare namespace jest {
23
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
- interface Matchers<R> {
25
- toBeClosed(): boolean;
26
- toBeFocused(): boolean;
27
- toBeOpen(): boolean;
28
- toBeSelected(): boolean;
29
- toHaveTreeStructure(treeStructure: any): boolean;
30
- }
31
- }
@@ -1,5 +0,0 @@
1
- import jQuery from "jquery";
2
- import "./jqTreeMatchers";
3
-
4
- (window as any).$ = jQuery; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
5
- (window as any).jQuery = jQuery; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
@@ -1,30 +0,0 @@
1
- export const singleChild = (
2
- $el: JQuery<HTMLElement>,
3
- selector: string
4
- ): JQuery<HTMLElement> => {
5
- const $result = $el.children(selector);
6
-
7
- /* istanbul ignore if */
8
- if ($result.length === 0) {
9
- throw `No child found for selector '${selector}'`;
10
- }
11
-
12
- /* istanbul ignore if */
13
- if ($result.length > 1) {
14
- throw `Multiple elements found for selector '${selector}'`;
15
- }
16
-
17
- return $result;
18
- };
19
-
20
- export const titleSpan = (
21
- liNode: HTMLElement | JQuery<HTMLElement>
22
- ): JQuery<HTMLElement> => singleChild(nodeElement(liNode), "span.jqtree-title");
23
-
24
- export const togglerLink = (
25
- liNode: HTMLElement | JQuery<HTMLElement>
26
- ): JQuery<HTMLElement> => singleChild(nodeElement(liNode), "a.jqtree-toggler");
27
-
28
- const nodeElement = (
29
- liNode: HTMLElement | JQuery<HTMLElement>
30
- ): JQuery<HTMLElement> => singleChild(jQuery(liNode), "div.jqtree-element ");
@@ -1,39 +0,0 @@
1
- import { singleChild } from "./testUtil";
2
-
3
- const getTreeNode = ($li: JQuery<HTMLElement>): JQTreeMatchers.TreeNode => {
4
- const $div = singleChild($li, "div.jqtree-element");
5
- const $span = singleChild($div, "span.jqtree-title");
6
- const name = $span.html();
7
- const selected = $li.hasClass("jqtree-selected");
8
-
9
- if ($li.hasClass("jqtree-folder")) {
10
- const $ul = $li.children("ul.jqtree_common");
11
-
12
- return {
13
- nodeType: "folder",
14
- children: getChildren($ul),
15
- name,
16
- open: !$li.hasClass("jqtree-closed"),
17
- selected,
18
- };
19
- } else {
20
- return {
21
- nodeType: "child",
22
- name,
23
- selected,
24
- };
25
- }
26
- };
27
-
28
- const getChildren = ($ul: JQuery<HTMLElement>): JQTreeMatchers.TreeStructure =>
29
- $ul
30
- .children("li.jqtree_common")
31
- .map<JQTreeMatchers.TreeNode>((_, li) => getTreeNode(jQuery(li)))
32
- .get();
33
-
34
- const treeStructure = (
35
- $el: JQuery<HTMLElement>
36
- ): JQTreeMatchers.TreeStructure =>
37
- getChildren(singleChild($el, "ul.jqtree-tree"));
38
-
39
- export default treeStructure;
@@ -1,27 +0,0 @@
1
- import { getBoolString, isFunction, isInt } from "../util";
2
-
3
- describe("getBoolString", () => {
4
- it("returns true or false", () => {
5
- expect(getBoolString(true)).toBe("true");
6
- expect(getBoolString(false)).toBe("false");
7
- expect(getBoolString(1)).toBe("true");
8
- expect(getBoolString(null)).toBe("false");
9
- });
10
- });
11
-
12
- describe("isFunction", () => {
13
- it("returns a boolean", () => {
14
- expect(isFunction(isInt)).toBe(true);
15
- expect(isFunction("isInt")).toBe(false);
16
- });
17
- });
18
-
19
- describe("isInt", () => {
20
- it("returns a boolean", () => {
21
- expect(isInt(10)).toBe(true);
22
- expect(isInt(0)).toBe(true);
23
- expect(isInt(-1)).toBe(true);
24
- expect(isInt("1")).toBe(false);
25
- expect(isInt(null)).toBe(false);
26
- });
27
- });
package/tsconfig.json DELETED
@@ -1,24 +0,0 @@
1
- {
2
- "compileOnSave": false,
3
- "exclude": ["_site", "node_modules"],
4
- "include": ["src/**/*"],
5
- "compilerOptions": {
6
- "esModuleInterop": true,
7
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
8
- "module": "ESNext",
9
- "moduleResolution": "bundler",
10
- "noEmit": true,
11
- "noFallthroughCasesInSwitch": true,
12
- "noImplicitAny": true,
13
- "noImplicitReturns": true,
14
- "noImplicitThis": true,
15
- "noUncheckedIndexedAccess": true,
16
- "noUnusedLocals": true,
17
- "noUnusedParameters": true,
18
- "rootDir": "src",
19
- "strictNullChecks": true,
20
- "strictPropertyInitialization": false,
21
- "strict": true,
22
- "target": "ES2022",
23
- }
24
- }