obsidian-dev-utils 66.0.1 → 68.0.0

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 (225) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/dev/main.js +543 -355
  3. package/dist/lib/cjs/async-events.cjs +182 -32
  4. package/dist/lib/cjs/async-events.d.cts +259 -24
  5. package/dist/lib/cjs/async.cjs +2 -2
  6. package/dist/lib/cjs/error.cjs +6 -7
  7. package/dist/lib/cjs/function.cjs +6 -2
  8. package/dist/lib/cjs/function.d.cts +6 -0
  9. package/dist/lib/cjs/library.cjs +1 -1
  10. package/dist/lib/cjs/object-utils.cjs +1 -1
  11. package/dist/lib/cjs/object-utils.d.cts +2 -0
  12. package/dist/lib/cjs/obsidian/active-file-provider.cjs +1 -1
  13. package/dist/lib/cjs/obsidian/active-file-provider.d.cts +0 -1
  14. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +2 -4
  15. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +1 -1
  16. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +4 -5
  17. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +3 -3
  18. package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +3 -3
  19. package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +2 -1
  20. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +2 -3
  21. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +1 -1
  22. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +1 -6
  23. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +1 -6
  24. package/dist/lib/cjs/obsidian/components/abort-signal-component.cjs +3 -8
  25. package/dist/lib/cjs/obsidian/components/abort-signal-component.d.cts +2 -6
  26. package/dist/lib/cjs/obsidian/components/all-windows-event-component.cjs +3 -3
  27. package/dist/lib/cjs/obsidian/components/all-windows-event-component.d.cts +2 -2
  28. package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +3 -8
  29. package/dist/lib/cjs/obsidian/components/async-error-handler-component.d.cts +2 -6
  30. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +2 -20
  31. package/dist/lib/cjs/obsidian/components/async-events-component.d.cts +1 -18
  32. package/dist/lib/cjs/obsidian/components/component-ex.cjs +235 -0
  33. package/dist/lib/cjs/obsidian/components/component-ex.d.cts +55 -0
  34. package/dist/lib/cjs/obsidian/components/console-debug-component.cjs +3 -7
  35. package/dist/lib/cjs/obsidian/components/console-debug-component.d.cts +2 -6
  36. package/dist/lib/cjs/obsidian/components/disposable-component.cjs +1 -9
  37. package/dist/lib/cjs/obsidian/components/disposable-component.d.cts +0 -10
  38. package/dist/lib/cjs/obsidian/components/i18n-component.cjs +4 -9
  39. package/dist/lib/cjs/obsidian/components/i18n-component.d.cts +3 -7
  40. package/dist/lib/cjs/obsidian/components/index.cjs +9 -6
  41. package/dist/lib/cjs/obsidian/components/index.d.cts +2 -1
  42. package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +10 -4
  43. package/dist/lib/cjs/obsidian/components/layout-ready-component.d.cts +3 -3
  44. package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.cjs +3 -3
  45. package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.d.cts +2 -3
  46. package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +4 -4
  47. package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +3 -3
  48. package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +3 -8
  49. package/dist/lib/cjs/obsidian/components/plugin-context-component.d.cts +2 -6
  50. package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +3 -7
  51. package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +2 -6
  52. package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +75 -33
  53. package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +73 -28
  54. package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.cjs +3 -4
  55. package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.d.cts +2 -2
  56. package/dist/lib/cjs/obsidian/components/registry-component.cjs +180 -0
  57. package/dist/lib/cjs/obsidian/components/registry-component.d.cts +36 -0
  58. package/dist/lib/cjs/obsidian/markdown.cjs +2 -3
  59. package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +1 -1
  60. package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +0 -1
  61. package/dist/lib/cjs/obsidian/modals/alert.cjs +1 -3
  62. package/dist/lib/cjs/obsidian/modals/confirm.cjs +1 -3
  63. package/dist/lib/cjs/obsidian/modals/prompt.cjs +1 -3
  64. package/dist/lib/cjs/obsidian/modals/select-item.cjs +1 -2
  65. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +23 -22
  66. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.d.cts +7 -3
  67. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +35 -76
  68. package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +35 -36
  69. package/dist/lib/cjs/obsidian/queue.cjs +2 -2
  70. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +1 -2
  71. package/dist/lib/cjs/obsidian/setting-components/checkbox-component.cjs +1 -1
  72. package/dist/lib/cjs/obsidian/setting-components/checkbox-component.d.cts +1 -2
  73. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.cjs +4 -2
  74. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.d.cts +4 -3
  75. package/dist/lib/cjs/obsidian/setting-components/date-component.cjs +1 -2
  76. package/dist/lib/cjs/obsidian/setting-components/date-time-component.cjs +1 -2
  77. package/dist/lib/cjs/obsidian/setting-components/file-component.cjs +1 -3
  78. package/dist/lib/cjs/obsidian/setting-components/month-component.cjs +1 -2
  79. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.cjs +4 -2
  80. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.d.cts +4 -3
  81. package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.cjs +1 -2
  82. package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.cjs +1 -3
  83. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.cjs +4 -2
  84. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.d.cts +4 -3
  85. package/dist/lib/cjs/obsidian/setting-components/time-component.cjs +1 -2
  86. package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.cjs +1 -1
  87. package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.d.cts +1 -2
  88. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +4 -2
  89. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.d.cts +4 -3
  90. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.cjs +4 -2
  91. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.d.cts +4 -3
  92. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.cjs +4 -2
  93. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +1 -2
  94. package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.cjs +1 -1
  95. package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.d.cts +1 -2
  96. package/dist/lib/cjs/obsidian/setting-components/week-component.cjs +1 -2
  97. package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -1
  98. package/dist/lib/cjs/obsidian/setting-ex.d.cts +2 -0
  99. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +8 -2
  100. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +10 -1
  101. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.d.cts +3 -0
  102. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +7 -1
  103. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.cjs +184 -0
  104. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +3 -0
  105. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +242 -0
  106. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +5 -0
  107. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +222 -0
  108. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +4 -0
  109. package/dist/lib/cjs/transformers/group-transformer.cjs +1 -3
  110. package/dist/lib/esm/async-events.d.mts +259 -24
  111. package/dist/lib/esm/async-events.mjs +179 -31
  112. package/dist/lib/esm/async.mjs +6 -3
  113. package/dist/lib/esm/error.mjs +6 -7
  114. package/dist/lib/esm/function.d.mts +6 -0
  115. package/dist/lib/esm/function.mjs +5 -2
  116. package/dist/lib/esm/library.mjs +1 -1
  117. package/dist/lib/esm/object-utils.d.mts +2 -0
  118. package/dist/lib/esm/object-utils.mjs +1 -1
  119. package/dist/lib/esm/obsidian/active-file-provider.d.mts +0 -1
  120. package/dist/lib/esm/obsidian/active-file-provider.mjs +1 -1
  121. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +1 -1
  122. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +2 -4
  123. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +3 -3
  124. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +4 -5
  125. package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +2 -1
  126. package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +4 -4
  127. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +1 -1
  128. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +2 -3
  129. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +1 -6
  130. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +1 -6
  131. package/dist/lib/esm/obsidian/components/abort-signal-component.d.mts +2 -6
  132. package/dist/lib/esm/obsidian/components/abort-signal-component.mjs +3 -8
  133. package/dist/lib/esm/obsidian/components/all-windows-event-component.d.mts +2 -2
  134. package/dist/lib/esm/obsidian/components/all-windows-event-component.mjs +3 -3
  135. package/dist/lib/esm/obsidian/components/async-error-handler-component.d.mts +2 -6
  136. package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +3 -8
  137. package/dist/lib/esm/obsidian/components/async-events-component.d.mts +1 -18
  138. package/dist/lib/esm/obsidian/components/async-events-component.mjs +2 -19
  139. package/dist/lib/esm/obsidian/components/component-ex.d.mts +55 -0
  140. package/dist/lib/esm/obsidian/components/component-ex.mjs +130 -0
  141. package/dist/lib/esm/obsidian/components/console-debug-component.d.mts +2 -6
  142. package/dist/lib/esm/obsidian/components/console-debug-component.mjs +3 -7
  143. package/dist/lib/esm/obsidian/components/disposable-component.d.mts +0 -10
  144. package/dist/lib/esm/obsidian/components/disposable-component.mjs +1 -8
  145. package/dist/lib/esm/obsidian/components/i18n-component.d.mts +3 -7
  146. package/dist/lib/esm/obsidian/components/i18n-component.mjs +4 -9
  147. package/dist/lib/esm/obsidian/components/index.d.mts +2 -1
  148. package/dist/lib/esm/obsidian/components/index.mjs +6 -4
  149. package/dist/lib/esm/obsidian/components/layout-ready-component.d.mts +3 -3
  150. package/dist/lib/esm/obsidian/components/layout-ready-component.mjs +10 -4
  151. package/dist/lib/esm/obsidian/components/menu-event-registrar-component.d.mts +2 -3
  152. package/dist/lib/esm/obsidian/components/menu-event-registrar-component.mjs +3 -3
  153. package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +3 -3
  154. package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +4 -4
  155. package/dist/lib/esm/obsidian/components/plugin-context-component.d.mts +2 -6
  156. package/dist/lib/esm/obsidian/components/plugin-context-component.mjs +3 -8
  157. package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +2 -6
  158. package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +3 -7
  159. package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +73 -28
  160. package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +75 -33
  161. package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.d.mts +2 -2
  162. package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.mjs +3 -4
  163. package/dist/lib/esm/obsidian/components/registry-component.d.mts +36 -0
  164. package/dist/lib/esm/obsidian/components/registry-component.mjs +72 -0
  165. package/dist/lib/esm/obsidian/markdown.mjs +2 -3
  166. package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +0 -1
  167. package/dist/lib/esm/obsidian/modals/alert.mjs +1 -3
  168. package/dist/lib/esm/obsidian/modals/confirm.mjs +1 -3
  169. package/dist/lib/esm/obsidian/modals/prompt.mjs +1 -3
  170. package/dist/lib/esm/obsidian/modals/select-item.mjs +1 -2
  171. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.d.mts +7 -3
  172. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +24 -23
  173. package/dist/lib/esm/obsidian/plugin/plugin.d.mts +35 -36
  174. package/dist/lib/esm/obsidian/plugin/plugin.mjs +35 -77
  175. package/dist/lib/esm/obsidian/queue.mjs +6 -3
  176. package/dist/lib/esm/obsidian/rename-delete-handler.mjs +1 -2
  177. package/dist/lib/esm/obsidian/setting-components/checkbox-component.d.mts +1 -2
  178. package/dist/lib/esm/obsidian/setting-components/checkbox-component.mjs +1 -1
  179. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.d.mts +4 -3
  180. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.mjs +4 -2
  181. package/dist/lib/esm/obsidian/setting-components/date-component.mjs +1 -2
  182. package/dist/lib/esm/obsidian/setting-components/date-time-component.mjs +1 -2
  183. package/dist/lib/esm/obsidian/setting-components/file-component.mjs +1 -3
  184. package/dist/lib/esm/obsidian/setting-components/month-component.mjs +1 -2
  185. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.d.mts +4 -3
  186. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.mjs +4 -2
  187. package/dist/lib/esm/obsidian/setting-components/multiple-email-component.mjs +1 -2
  188. package/dist/lib/esm/obsidian/setting-components/multiple-file-component.mjs +1 -3
  189. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.d.mts +4 -3
  190. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.mjs +4 -2
  191. package/dist/lib/esm/obsidian/setting-components/time-component.mjs +1 -2
  192. package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.d.mts +1 -2
  193. package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.mjs +1 -1
  194. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.d.mts +4 -3
  195. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +4 -2
  196. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.d.mts +4 -3
  197. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.mjs +4 -2
  198. package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +1 -2
  199. package/dist/lib/esm/obsidian/setting-components/typed-text-component.mjs +4 -2
  200. package/dist/lib/esm/obsidian/setting-components/value-component-with-change-tracking.d.mts +1 -2
  201. package/dist/lib/esm/obsidian/setting-components/week-component.mjs +1 -2
  202. package/dist/lib/esm/obsidian/setting-ex.d.mts +2 -0
  203. package/dist/lib/esm/obsidian/setting-ex.mjs +3 -1
  204. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +8 -2
  205. package/dist/lib/esm/script-utils/linters/eslint-rules/index.d.mts +3 -0
  206. package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +7 -1
  207. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +7 -1
  208. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +3 -0
  209. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.mjs +75 -0
  210. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +5 -0
  211. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +131 -0
  212. package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +4 -0
  213. package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +112 -0
  214. package/dist/lib/esm/transformers/group-transformer.mjs +1 -3
  215. package/obsidian/Components/component-ex/package.json +6 -0
  216. package/obsidian/Components/registry-component/package.json +6 -0
  217. package/package.json +21 -20
  218. package/script-utils/linters/eslint-rules/prefer-noop-async/package.json +6 -0
  219. package/script-utils/linters/eslint-rules/require-component-suffix/package.json +6 -0
  220. package/script-utils/linters/eslint-rules/require-method-template/package.json +6 -0
  221. package/dist/lib/cjs/obsidian/components/async-component.cjs +0 -182
  222. package/dist/lib/cjs/obsidian/components/async-component.d.cts +0 -43
  223. package/dist/lib/esm/obsidian/components/async-component.d.mts +0 -43
  224. package/dist/lib/esm/obsidian/components/async-component.mjs +0 -72
  225. package/obsidian/Components/async-component/package.json +0 -6
@@ -0,0 +1,184 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initCjs() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ const globalThisRecord = globalThis;
9
+ globalThisRecord['__name'] ??= name;
10
+ const originalRequire = require;
11
+ if (originalRequire && !originalRequire.__isPatched) {
12
+ // eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
13
+ require = Object.assign(
14
+ (id) => requirePatched(id),
15
+ originalRequire,
16
+ {
17
+ __isPatched: true
18
+ }
19
+ );
20
+ }
21
+
22
+ const newFuncs = {
23
+ __extractDefault() {
24
+ return extractDefault;
25
+ },
26
+ process() {
27
+ const browserProcess = {
28
+ browser: true,
29
+ cwd() {
30
+ return '/';
31
+ },
32
+ env: {},
33
+ platform: 'android'
34
+ };
35
+ return browserProcess;
36
+ }
37
+ };
38
+
39
+ for (const key of Object.keys(newFuncs)) {
40
+ globalThisRecord[key] ??= newFuncs[key]?.();
41
+ }
42
+
43
+ function name(obj) {
44
+ return obj;
45
+ }
46
+
47
+ function extractDefault(module) {
48
+ return module && module.__esModule && 'default' in module ? module.default : module;
49
+ }
50
+
51
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
52
+ 'obsidian',
53
+ '@codemirror/autocomplete',
54
+ '@codemirror/collab',
55
+ '@codemirror/commands',
56
+ '@codemirror/language',
57
+ '@codemirror/lint',
58
+ '@codemirror/search',
59
+ '@codemirror/state',
60
+ '@codemirror/text',
61
+ '@codemirror/view',
62
+ '@lezer/common',
63
+ '@lezer/lr',
64
+ '@lezer/highlight'];
65
+
66
+
67
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
68
+ '@codemirror/closebrackets',
69
+ '@codemirror/comment',
70
+ '@codemirror/fold',
71
+ '@codemirror/gutter',
72
+ '@codemirror/highlight',
73
+ '@codemirror/history',
74
+ '@codemirror/matchbrackets',
75
+ '@codemirror/panel',
76
+ '@codemirror/rangeset',
77
+ '@codemirror/rectangular-selection',
78
+ '@codemirror/stream-parser',
79
+ '@codemirror/tooltip'];
80
+
81
+
82
+ function requirePatched(id) {
83
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
84
+ return originalRequire?.(id);
85
+ }
86
+
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
+ if (globalThis.app.isMobile) {
89
+ if (id === 'process' || id === 'node:process') {
90
+ // eslint-disable-next-line no-console -- Valid usage.
91
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
+ return globalThis.process;
94
+ }
95
+ } else {
96
+ const module = originalRequire?.(id);
97
+ if (module) {
98
+ return extractDefault(module);
99
+ }
100
+ }
101
+
102
+ // eslint-disable-next-line no-console -- Valid usage.
103
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
104
+ return {};
105
+ }
106
+ })();
107
+
108
+ "use strict";
109
+ var __defProp = Object.defineProperty;
110
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
111
+ var __getOwnPropNames = Object.getOwnPropertyNames;
112
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
113
+ var __export = (target, all) => {
114
+ for (var name in all)
115
+ __defProp(target, name, { get: all[name], enumerable: true });
116
+ };
117
+ var __copyProps = (to, from, except, desc) => {
118
+ if (from && typeof from === "object" || typeof from === "function") {
119
+ for (let key of __getOwnPropNames(from))
120
+ if (!__hasOwnProp.call(to, key) && key !== except)
121
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
122
+ }
123
+ return to;
124
+ };
125
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
126
+ var prefer_noop_async_exports = {};
127
+ __export(prefer_noop_async_exports, {
128
+ MESSAGE_ID: () => MESSAGE_ID,
129
+ preferNoopAsync: () => preferNoopAsync
130
+ });
131
+ module.exports = __toCommonJS(prefer_noop_async_exports);
132
+ const MESSAGE_ID = "preferNoopAsync";
133
+ const preferNoopAsync = {
134
+ create(context) {
135
+ return {
136
+ "CallExpression"(node) {
137
+ const callNode = node;
138
+ if (!checkIsPromiseResolveWithNoArgs(callNode)) {
139
+ return;
140
+ }
141
+ context.report({
142
+ fix(fixer) {
143
+ return fixer.replaceText(node, "noopAsync()");
144
+ },
145
+ messageId: MESSAGE_ID,
146
+ node
147
+ });
148
+ }
149
+ };
150
+ },
151
+ meta: {
152
+ docs: {
153
+ description: "Prefer `noopAsync()` over `Promise.resolve()`"
154
+ },
155
+ fixable: "code",
156
+ messages: {
157
+ [MESSAGE_ID]: "Use `noopAsync()` instead of `Promise.resolve()` for async no-ops."
158
+ },
159
+ schema: [],
160
+ type: "suggestion"
161
+ }
162
+ };
163
+ function checkIsPromiseResolveWithNoArgs(node) {
164
+ if (node.arguments.length > 0) {
165
+ return false;
166
+ }
167
+ const callee = node.callee;
168
+ if (callee.type !== "MemberExpression") {
169
+ return false;
170
+ }
171
+ if (callee.object.type !== "Identifier" || callee.object.name !== "Promise") {
172
+ return false;
173
+ }
174
+ if (callee.property.type !== "Identifier" || callee.property.name !== "resolve") {
175
+ return false;
176
+ }
177
+ return true;
178
+ }
179
+ // Annotate the CommonJS export names for ESM import in node:
180
+ 0 && (module.exports = {
181
+ MESSAGE_ID,
182
+ preferNoopAsync
183
+ });
184
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9wcmVmZXItbm9vcC1hc3luYy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiBwcmVmZXItbm9vcC1hc3luY1xuICpcbiAqIFJlcG9ydHMgYGF3YWl0IFByb21pc2UucmVzb2x2ZSgpYCBhbmQgc3VnZ2VzdHMgcmVwbGFjaW5nIGl0IHdpdGhcbiAqIGBhd2FpdCBub29wQXN5bmMoKWAgZm9yIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eS5cbiAqXG4gKiBgbm9vcEFzeW5jKClgIGZyb20gdGhlIHByb2plY3QncyBgZnVuY3Rpb24udHNgIG1vZHVsZSBpcyB0aGUgY29udmVudGlvbmFsXG4gKiB3YXkgdG8gZXhwcmVzcyBhbiBpbnRlbnRpb25hbCBhc3luYyBuby1vcC5cbiAqL1xuaW1wb3J0IHR5cGUgeyBUU0VTVHJlZSB9IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdwcmVmZXJOb29wQXN5bmMnO1xuXG5leHBvcnQgY29uc3QgcHJlZmVyTm9vcEFzeW5jOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdDYWxsRXhwcmVzc2lvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhbGxOb2RlID0gbm9kZSBhcyBUU0VTVHJlZS5DYWxsRXhwcmVzc2lvbjtcblxuICAgICAgICBpZiAoIWNoZWNrSXNQcm9taXNlUmVzb2x2ZVdpdGhOb0FyZ3MoY2FsbE5vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGZpeChmaXhlcikge1xuICAgICAgICAgICAgcmV0dXJuIGZpeGVyLnJlcGxhY2VUZXh0KG5vZGUsICdub29wQXN5bmMoKScpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgIG5vZGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUHJlZmVyIGBub29wQXN5bmMoKWAgb3ZlciBgUHJvbWlzZS5yZXNvbHZlKClgJ1xuICAgIH0sXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbTUVTU0FHRV9JRF06ICdVc2UgYG5vb3BBc3luYygpYCBpbnN0ZWFkIG9mIGBQcm9taXNlLnJlc29sdmUoKWAgZm9yIGFzeW5jIG5vLW9wcy4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdzdWdnZXN0aW9uJ1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCBleHByZXNzaW9uIGlzIGBQcm9taXNlLnJlc29sdmUoKWAgd2l0aCBubyBhcmd1bWVudHMuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgY2FsbCBleHByZXNzaW9uIG5vZGUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG5vZGUgaXMgYFByb21pc2UucmVzb2x2ZSgpYCB3aXRoIG5vIGFyZ3VtZW50cy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tJc1Byb21pc2VSZXNvbHZlV2l0aE5vQXJncyhub2RlOiBUU0VTVHJlZS5DYWxsRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xuICBpZiAobm9kZS5hcmd1bWVudHMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGNhbGxlZSA9IG5vZGUuY2FsbGVlO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIGlmIChjYWxsZWUudHlwZSAhPT0gJ01lbWJlckV4cHJlc3Npb24nKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy5cbiAgaWYgKGNhbGxlZS5vYmplY3QudHlwZSAhPT0gJ0lkZW50aWZpZXInIHx8IGNhbGxlZS5vYmplY3QubmFtZSAhPT0gJ1Byb21pc2UnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy5cbiAgaWYgKGNhbGxlZS5wcm9wZXJ0eS50eXBlICE9PSAnSWRlbnRpZmllcicgfHwgY2FsbGVlLnByb3BlcnR5Lm5hbWUgIT09ICdyZXNvbHZlJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjTyxNQUFNLGFBQWE7QUFFbkIsTUFBTSxrQkFBbUM7QUFBQSxFQUM5QyxPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxpQkFBaUIsTUFBdUI7QUFDdEMsY0FBTSxXQUFXO0FBRWpCLFlBQUksQ0FBQyxnQ0FBZ0MsUUFBUSxHQUFHO0FBQzlDO0FBQUEsUUFDRjtBQUVBLGdCQUFRLE9BQU87QUFBQSxVQUNiLElBQUksT0FBTztBQUNULG1CQUFPLE1BQU0sWUFBWSxNQUFNLGFBQWE7QUFBQSxVQUM5QztBQUFBLFVBQ0EsV0FBVztBQUFBLFVBQ1g7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsTUFDUixDQUFDLFVBQVUsR0FBRztBQUFBLElBQ2hCO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNSO0FBQ0Y7QUFRQSxTQUFTLGdDQUFnQyxNQUF3QztBQUMvRSxNQUFJLEtBQUssVUFBVSxTQUFTLEdBQUc7QUFDN0IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLFNBQVMsS0FBSztBQUdwQixNQUFJLE9BQU8sU0FBUyxvQkFBb0I7QUFDdEMsV0FBTztBQUFBLEVBQ1Q7QUFHQSxNQUFJLE9BQU8sT0FBTyxTQUFTLGdCQUFnQixPQUFPLE9BQU8sU0FBUyxXQUFXO0FBQzNFLFdBQU87QUFBQSxFQUNUO0FBR0EsTUFBSSxPQUFPLFNBQVMsU0FBUyxnQkFBZ0IsT0FBTyxTQUFTLFNBQVMsV0FBVztBQUMvRSxXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,3 @@
1
+ import type { Rule } from 'eslint';
2
+ export declare const MESSAGE_ID = "preferNoopAsync";
3
+ export declare const preferNoopAsync: Rule.RuleModule;
@@ -0,0 +1,242 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initCjs() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ const globalThisRecord = globalThis;
9
+ globalThisRecord['__name'] ??= name;
10
+ const originalRequire = require;
11
+ if (originalRequire && !originalRequire.__isPatched) {
12
+ // eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
13
+ require = Object.assign(
14
+ (id) => requirePatched(id),
15
+ originalRequire,
16
+ {
17
+ __isPatched: true
18
+ }
19
+ );
20
+ }
21
+
22
+ const newFuncs = {
23
+ __extractDefault() {
24
+ return extractDefault;
25
+ },
26
+ process() {
27
+ const browserProcess = {
28
+ browser: true,
29
+ cwd() {
30
+ return '/';
31
+ },
32
+ env: {},
33
+ platform: 'android'
34
+ };
35
+ return browserProcess;
36
+ }
37
+ };
38
+
39
+ for (const key of Object.keys(newFuncs)) {
40
+ globalThisRecord[key] ??= newFuncs[key]?.();
41
+ }
42
+
43
+ function name(obj) {
44
+ return obj;
45
+ }
46
+
47
+ function extractDefault(module) {
48
+ return module && module.__esModule && 'default' in module ? module.default : module;
49
+ }
50
+
51
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
52
+ 'obsidian',
53
+ '@codemirror/autocomplete',
54
+ '@codemirror/collab',
55
+ '@codemirror/commands',
56
+ '@codemirror/language',
57
+ '@codemirror/lint',
58
+ '@codemirror/search',
59
+ '@codemirror/state',
60
+ '@codemirror/text',
61
+ '@codemirror/view',
62
+ '@lezer/common',
63
+ '@lezer/lr',
64
+ '@lezer/highlight'];
65
+
66
+
67
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
68
+ '@codemirror/closebrackets',
69
+ '@codemirror/comment',
70
+ '@codemirror/fold',
71
+ '@codemirror/gutter',
72
+ '@codemirror/highlight',
73
+ '@codemirror/history',
74
+ '@codemirror/matchbrackets',
75
+ '@codemirror/panel',
76
+ '@codemirror/rangeset',
77
+ '@codemirror/rectangular-selection',
78
+ '@codemirror/stream-parser',
79
+ '@codemirror/tooltip'];
80
+
81
+
82
+ function requirePatched(id) {
83
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
84
+ return originalRequire?.(id);
85
+ }
86
+
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
+ if (globalThis.app.isMobile) {
89
+ if (id === 'process' || id === 'node:process') {
90
+ // eslint-disable-next-line no-console -- Valid usage.
91
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
+ return globalThis.process;
94
+ }
95
+ } else {
96
+ const module = originalRequire?.(id);
97
+ if (module) {
98
+ return extractDefault(module);
99
+ }
100
+ }
101
+
102
+ // eslint-disable-next-line no-console -- Valid usage.
103
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
104
+ return {};
105
+ }
106
+ })();
107
+
108
+ "use strict";
109
+ var __defProp = Object.defineProperty;
110
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
111
+ var __getOwnPropNames = Object.getOwnPropertyNames;
112
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
113
+ var __export = (target, all) => {
114
+ for (var name in all)
115
+ __defProp(target, name, { get: all[name], enumerable: true });
116
+ };
117
+ var __copyProps = (to, from, except, desc) => {
118
+ if (from && typeof from === "object" || typeof from === "function") {
119
+ for (let key of __getOwnPropNames(from))
120
+ if (!__hasOwnProp.call(to, key) && key !== except)
121
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
122
+ }
123
+ return to;
124
+ };
125
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
126
+ var require_component_suffix_exports = {};
127
+ __export(require_component_suffix_exports, {
128
+ MESSAGE_ID_ABSTRACT_NEEDS_BASE: () => MESSAGE_ID_ABSTRACT_NEEDS_BASE,
129
+ MESSAGE_ID_BASE_NOT_ABSTRACT: () => MESSAGE_ID_BASE_NOT_ABSTRACT,
130
+ MESSAGE_ID_MISSING_SUFFIX: () => MESSAGE_ID_MISSING_SUFFIX,
131
+ requireComponentSuffix: () => requireComponentSuffix
132
+ });
133
+ module.exports = __toCommonJS(require_component_suffix_exports);
134
+ const MESSAGE_ID_MISSING_SUFFIX = "requireComponentSuffix";
135
+ const MESSAGE_ID_ABSTRACT_NEEDS_BASE = "abstractNeedsComponentBase";
136
+ const MESSAGE_ID_BASE_NOT_ABSTRACT = "componentBaseNotAbstract";
137
+ const EXCLUDED_ANCESTORS = /* @__PURE__ */ new Set(["HoverPopover", "MarkdownRenderChild", "Menu", "Plugin", "QueryController", "View"]);
138
+ const REQUIRED_ANCESTOR = "Component";
139
+ const requireComponentSuffix = {
140
+ create(context) {
141
+ const services = context.sourceCode.parserServices;
142
+ const checker = services.program.getTypeChecker();
143
+ return {
144
+ "ClassDeclaration[id]"(node) {
145
+ checkClass(context, services, checker, node);
146
+ },
147
+ "ClassExpression[id]"(node) {
148
+ checkClass(context, services, checker, node);
149
+ }
150
+ };
151
+ },
152
+ meta: {
153
+ docs: {
154
+ description: "Require classes extending `Component` to have names ending with `Component`"
155
+ },
156
+ messages: {
157
+ [MESSAGE_ID_ABSTRACT_NEEDS_BASE]: "Abstract class `{{ className }}` extends `Component` but its name does not end with `ComponentBase`.",
158
+ [MESSAGE_ID_BASE_NOT_ABSTRACT]: "Class `{{ className }}` ends with `ComponentBase` but is not abstract. Only abstract classes may use the `ComponentBase` suffix.",
159
+ [MESSAGE_ID_MISSING_SUFFIX]: "Class `{{ className }}` extends `Component` but its name does not end with `Component`."
160
+ },
161
+ schema: [],
162
+ type: "problem"
163
+ }
164
+ };
165
+ function checkClass(context, services, checker, node) {
166
+ const classNode = node;
167
+ const classId = classNode.id;
168
+ if (!classId) {
169
+ return;
170
+ }
171
+ const className = classId.name;
172
+ const { abstract: isAbstract } = classNode;
173
+ const endsWithComponentBase = className.endsWith("ComponentBase");
174
+ const endsWithComponent = !endsWithComponentBase && className.endsWith("Component");
175
+ if (endsWithComponent && !isAbstract) {
176
+ return;
177
+ }
178
+ if (endsWithComponentBase && isAbstract) {
179
+ return;
180
+ }
181
+ const tsNode = services.esTreeNodeToTSNodeMap.get(classNode);
182
+ const classType = checker.getTypeAtLocation(tsNode);
183
+ const ancestors = collectAncestorNames(classType);
184
+ if (!ancestors.has(REQUIRED_ANCESTOR)) {
185
+ return;
186
+ }
187
+ for (const excluded of EXCLUDED_ANCESTORS) {
188
+ if (ancestors.has(excluded)) {
189
+ return;
190
+ }
191
+ }
192
+ if (endsWithComponentBase && !isAbstract) {
193
+ context.report({
194
+ data: { className },
195
+ messageId: MESSAGE_ID_BASE_NOT_ABSTRACT,
196
+ node
197
+ });
198
+ } else if (isAbstract) {
199
+ context.report({
200
+ data: { className },
201
+ messageId: MESSAGE_ID_ABSTRACT_NEEDS_BASE,
202
+ node
203
+ });
204
+ } else {
205
+ context.report({
206
+ data: { className },
207
+ messageId: MESSAGE_ID_MISSING_SUFFIX,
208
+ node
209
+ });
210
+ }
211
+ }
212
+ function collectAncestorNames(type) {
213
+ const names = /* @__PURE__ */ new Set();
214
+ const visited = /* @__PURE__ */ new Set();
215
+ walkAncestors(type, names, visited);
216
+ return names;
217
+ function walkAncestors(currentType, collectedNames, visitedTypes) {
218
+ if (visitedTypes.has(currentType)) {
219
+ return;
220
+ }
221
+ visitedTypes.add(currentType);
222
+ const baseTypes = currentType.getBaseTypes?.();
223
+ if (!baseTypes) {
224
+ return;
225
+ }
226
+ for (const baseType of baseTypes) {
227
+ const symbol = baseType.getSymbol();
228
+ if (symbol) {
229
+ collectedNames.add(symbol.getName());
230
+ }
231
+ walkAncestors(baseType, collectedNames, visitedTypes);
232
+ }
233
+ }
234
+ }
235
+ // Annotate the CommonJS export names for ESM import in node:
236
+ 0 && (module.exports = {
237
+ MESSAGE_ID_ABSTRACT_NEEDS_BASE,
238
+ MESSAGE_ID_BASE_NOT_ABSTRACT,
239
+ MESSAGE_ID_MISSING_SUFFIX,
240
+ requireComponentSuffix
241
+ });
242
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcmVxdWlyZS1jb21wb25lbnQtc3VmZml4XG4gKlxuICogUmVwb3J0cyBhbiBlcnJvciB3aGVuIGEgY2xhc3MgdGhhdCBleHRlbmRzIGBDb21wb25lbnRgIChmcm9tIE9ic2lkaWFuLFxuICogZGlyZWN0bHkgb3IgdHJhbnNpdGl2ZWx5KSBkb2VzIG5vdCBoYXZlIGEgbmFtZSBlbmRpbmcgd2l0aCBgQ29tcG9uZW50YFxuICogKG9yIGBDb21wb25lbnRCYXNlYCBmb3IgYWJzdHJhY3QgYmFzZSBjbGFzc2VzKS5cbiAqXG4gKiBDbGFzc2VzIHdob3NlIGluaGVyaXRhbmNlIGNoYWluIGluY2x1ZGVzIGFueSBvZiB0aGUgT2JzaWRpYW4gZnJhbWV3b3JrXG4gKiBjbGFzc2VzIHRoYXQgZXh0ZW5kIGBDb21wb25lbnRgIChlLmcuIGBQbHVnaW5gLCBgVmlld2AsXG4gKiBgTWFya2Rvd25SZW5kZXJDaGlsZGAsIGBNZW51YCwgYEhvdmVyUG9wb3ZlcmAsIGBRdWVyeUNvbnRyb2xsZXJgKVxuICogYXJlIGV4Y2x1ZGVkIGJlY2F1c2UgdGhleSBmb2xsb3cgT2JzaWRpYW4ncyBvd24gbmFtaW5nIGNvbnZlbnRpb25zLlxuICpcbiAqIFRoZSBydWxlIHVzZXMgdGhlIFR5cGVTY3JpcHQgdHlwZSBjaGVja2VyIHRvIHdhbGsgdGhlIGZ1bGwgaW5oZXJpdGFuY2VcbiAqIGNoYWluLCBzbyBpdCB3b3JrcyByZWdhcmRsZXNzIG9mIGhvdyBtYW55IGludGVybWVkaWF0ZSBjbGFzc2VzIHNpdFxuICogYmV0d2VlbiB0aGUgdXNlcidzIGNsYXNzIGFuZCBgQ29tcG9uZW50YC5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBUeXBlIH0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYID0gJ3JlcXVpcmVDb21wb25lbnRTdWZmaXgnO1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfQUJTVFJBQ1RfTkVFRFNfQkFTRSA9ICdhYnN0cmFjdE5lZWRzQ29tcG9uZW50QmFzZSc7XG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9CQVNFX05PVF9BQlNUUkFDVCA9ICdjb21wb25lbnRCYXNlTm90QWJzdHJhY3QnO1xuXG4vKiogQW5jZXN0b3IgY2xhc3MgbmFtZXMgdGhhdCBvcHQgYSBzdWJ0cmVlIG91dCBvZiB0aGUgc3VmZml4IHJlcXVpcmVtZW50LiAqL1xuY29uc3QgRVhDTFVERURfQU5DRVNUT1JTID0gbmV3IFNldChbJ0hvdmVyUG9wb3ZlcicsICdNYXJrZG93blJlbmRlckNoaWxkJywgJ01lbnUnLCAnUGx1Z2luJywgJ1F1ZXJ5Q29udHJvbGxlcicsICdWaWV3J10pO1xuXG4vKiogVGhlIGFuY2VzdG9yIGNsYXNzIG5hbWUgdGhhdCB0cmlnZ2VycyB0aGUgc3VmZml4IHJlcXVpcmVtZW50LiAqL1xuY29uc3QgUkVRVUlSRURfQU5DRVNUT1IgPSAnQ29tcG9uZW50JztcblxuaW50ZXJmYWNlIFR5cGVXaXRoQmFzZVR5cGVzIHtcbiAgZ2V0QmFzZVR5cGVzPygpOiBUeXBlW10gfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjb25zdCByZXF1aXJlQ29tcG9uZW50U3VmZml4OiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3Qgc2VydmljZXMgPSBjb250ZXh0LnNvdXJjZUNvZGUucGFyc2VyU2VydmljZXMgYXMgUGFyc2VyU2VydmljZXNXaXRoVHlwZUluZm9ybWF0aW9uO1xuICAgIGNvbnN0IGNoZWNrZXIgPSBzZXJ2aWNlcy5wcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ0NsYXNzRGVjbGFyYXRpb25baWRdJyhub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY2hlY2tDbGFzcyhjb250ZXh0LCBzZXJ2aWNlcywgY2hlY2tlciwgbm9kZSk7XG4gICAgICB9LFxuICAgICAgJ0NsYXNzRXhwcmVzc2lvbltpZF0nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjaGVja0NsYXNzKGNvbnRleHQsIHNlcnZpY2VzLCBjaGVja2VyLCBub2RlKTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGNsYXNzZXMgZXh0ZW5kaW5nIGBDb21wb25lbnRgIHRvIGhhdmUgbmFtZXMgZW5kaW5nIHdpdGggYENvbXBvbmVudGAnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURfQUJTVFJBQ1RfTkVFRFNfQkFTRV06ICdBYnN0cmFjdCBjbGFzcyBge3sgY2xhc3NOYW1lIH19YCBleHRlbmRzIGBDb21wb25lbnRgIGJ1dCBpdHMgbmFtZSBkb2VzIG5vdCBlbmQgd2l0aCBgQ29tcG9uZW50QmFzZWAuJyxcbiAgICAgIFtNRVNTQUdFX0lEX0JBU0VfTk9UX0FCU1RSQUNUXTpcbiAgICAgICAgJ0NsYXNzIGB7eyBjbGFzc05hbWUgfX1gIGVuZHMgd2l0aCBgQ29tcG9uZW50QmFzZWAgYnV0IGlzIG5vdCBhYnN0cmFjdC4gT25seSBhYnN0cmFjdCBjbGFzc2VzIG1heSB1c2UgdGhlIGBDb21wb25lbnRCYXNlYCBzdWZmaXguJyxcbiAgICAgIFtNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYXTogJ0NsYXNzIGB7eyBjbGFzc05hbWUgfX1gIGV4dGVuZHMgYENvbXBvbmVudGAgYnV0IGl0cyBuYW1lIGRvZXMgbm90IGVuZCB3aXRoIGBDb21wb25lbnRgLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3Byb2JsZW0nXG4gIH1cbn07XG5cbi8qKlxuICogQ2hlY2tzIGEgc2luZ2xlIGNsYXNzIGRlY2xhcmF0aW9uIG9yIGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIGNvbnRleHQgLSBUaGUgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAqIEBwYXJhbSBzZXJ2aWNlcyAtIFRoZSBwYXJzZXIgc2VydmljZXMgd2l0aCB0eXBlIGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGNoZWNrZXIgLSBUaGUgVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIuXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSBjbGFzcyBBU1Qgbm9kZS5cbiAqL1xuZnVuY3Rpb24gY2hlY2tDbGFzcyhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgc2VydmljZXM6IFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvbixcbiAgY2hlY2tlcjogUmV0dXJuVHlwZTxQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb25bJ3Byb2dyYW0nXVsnZ2V0VHlwZUNoZWNrZXInXT4sXG4gIG5vZGU6IFJ1bGUuTm9kZVxuKTogdm9pZCB7XG4gIGNvbnN0IGNsYXNzTm9kZSA9IG5vZGUgYXMgVFNFU1RyZWUuQ2xhc3NEZWNsYXJhdGlvbiB8IFRTRVNUcmVlLkNsYXNzRXhwcmVzc2lvbjtcbiAgY29uc3QgY2xhc3NJZCA9IGNsYXNzTm9kZS5pZDtcblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gRVNMaW50IHNlbGVjdG9yIGBbaWRdYCBndWFyYW50ZWVzIGNsYXNzSWQgaXMgcHJlc2VudC4gKi9cbiAgaWYgKCFjbGFzc0lkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIC8qIHY4IGlnbm9yZSBzdG9wICovXG5cbiAgY29uc3QgY2xhc3NOYW1lID0gY2xhc3NJZC5uYW1lO1xuICBjb25zdCB7IGFic3RyYWN0OiBpc0Fic3RyYWN0IH0gPSBjbGFzc05vZGU7XG4gIGNvbnN0IGVuZHNXaXRoQ29tcG9uZW50QmFzZSA9IGNsYXNzTmFtZS5lbmRzV2l0aCgnQ29tcG9uZW50QmFzZScpO1xuICBjb25zdCBlbmRzV2l0aENvbXBvbmVudCA9ICFlbmRzV2l0aENvbXBvbmVudEJhc2UgJiYgY2xhc3NOYW1lLmVuZHNXaXRoKCdDb21wb25lbnQnKTtcblxuICAvLyBDb3JyZWN0OiBub24tYWJzdHJhY3QgZW5kaW5nIHdpdGggQ29tcG9uZW50XG4gIGlmIChlbmRzV2l0aENvbXBvbmVudCAmJiAhaXNBYnN0cmFjdCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIENvcnJlY3Q6IGFic3RyYWN0IGVuZGluZyB3aXRoIENvbXBvbmVudEJhc2VcbiAgaWYgKGVuZHNXaXRoQ29tcG9uZW50QmFzZSAmJiBpc0Fic3RyYWN0KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdHNOb2RlID0gc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChjbGFzc05vZGUpO1xuICBjb25zdCBjbGFzc1R5cGUgPSBjaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKHRzTm9kZSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGNvbGxlY3RBbmNlc3Rvck5hbWVzKGNsYXNzVHlwZSk7XG5cbiAgaWYgKCFhbmNlc3RvcnMuaGFzKFJFUVVJUkVEX0FOQ0VTVE9SKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgZXhjbHVkZWQgb2YgRVhDTFVERURfQU5DRVNUT1JTKSB7XG4gICAgaWYgKGFuY2VzdG9ycy5oYXMoZXhjbHVkZWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKGVuZHNXaXRoQ29tcG9uZW50QmFzZSAmJiAhaXNBYnN0cmFjdCkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgY2xhc3NOYW1lIH0sXG4gICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfQkFTRV9OT1RfQUJTVFJBQ1QsXG4gICAgICBub2RlXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoaXNBYnN0cmFjdCkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgY2xhc3NOYW1lIH0sXG4gICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfQUJTVFJBQ1RfTkVFRFNfQkFTRSxcbiAgICAgIG5vZGVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IGNsYXNzTmFtZSB9LFxuICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX01JU1NJTkdfU1VGRklYLFxuICAgICAgbm9kZVxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIG5hbWVzIG9mIGFsbCBhbmNlc3RvciB0eXBlcyBpbiB0aGUgaW5oZXJpdGFuY2UgY2hhaW4uXG4gKlxuICogQHBhcmFtIHR5cGUgLSBUaGUgVHlwZVNjcmlwdCB0eXBlIHRvIHN0YXJ0IGZyb20uXG4gKiBAcmV0dXJucyBBIHNldCBvZiBhbmNlc3RvciBjbGFzcyBuYW1lcy5cbiAqL1xuZnVuY3Rpb24gY29sbGVjdEFuY2VzdG9yTmFtZXModHlwZTogVHlwZSk6IFNldDxzdHJpbmc+IHtcbiAgY29uc3QgbmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQ8VHlwZT4oKTtcblxuICB3YWxrQW5jZXN0b3JzKHR5cGUsIG5hbWVzLCB2aXNpdGVkKTtcblxuICByZXR1cm4gbmFtZXM7XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IHdhbGtzIHRoZSBiYXNlIHR5cGVzIG9mIGEgdHlwZSwgY29sbGVjdGluZyB0aGVpciBuYW1lcy5cbiAgICpcbiAgICogQHBhcmFtIGN1cnJlbnRUeXBlIC0gVGhlIGN1cnJlbnQgdHlwZSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0gY29sbGVjdGVkTmFtZXMgLSBUaGUgc2V0IHRvIGFkZCBkaXNjb3ZlcmVkIGFuY2VzdG9yIG5hbWVzIHRvLlxuICAgKiBAcGFyYW0gdmlzaXRlZFR5cGVzIC0gVHlwZXMgYWxyZWFkeSB2aXNpdGVkLCB0byBwcmV2ZW50IGluZmluaXRlIGxvb3BzLlxuICAgKi9cbiAgZnVuY3Rpb24gd2Fsa0FuY2VzdG9ycyhjdXJyZW50VHlwZTogVHlwZSwgY29sbGVjdGVkTmFtZXM6IFNldDxzdHJpbmc+LCB2aXNpdGVkVHlwZXM6IFNldDxUeXBlPik6IHZvaWQge1xuICAgIGlmICh2aXNpdGVkVHlwZXMuaGFzKGN1cnJlbnRUeXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZpc2l0ZWRUeXBlcy5hZGQoY3VycmVudFR5cGUpO1xuXG4gICAgY29uc3QgYmFzZVR5cGVzID0gKGN1cnJlbnRUeXBlIGFzIFR5cGVXaXRoQmFzZVR5cGVzKS5nZXRCYXNlVHlwZXM/LigpO1xuXG4gICAgaWYgKCFiYXNlVHlwZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGJhc2VUeXBlIG9mIGJhc2VUeXBlcykge1xuICAgICAgY29uc3Qgc3ltYm9sID0gYmFzZVR5cGUuZ2V0U3ltYm9sKCk7XG5cbiAgICAgIGlmIChzeW1ib2wpIHtcbiAgICAgICAgY29sbGVjdGVkTmFtZXMuYWRkKHN5bWJvbC5nZXROYW1lKCkpO1xuICAgICAgfVxuXG4gICAgICB3YWxrQW5jZXN0b3JzKGJhc2VUeXBlLCBjb2xsZWN0ZWROYW1lcywgdmlzaXRlZFR5cGVzKTtcbiAgICB9XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFB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
@@ -0,0 +1,5 @@
1
+ import type { Rule } from 'eslint';
2
+ export declare const MESSAGE_ID_MISSING_SUFFIX = "requireComponentSuffix";
3
+ export declare const MESSAGE_ID_ABSTRACT_NEEDS_BASE = "abstractNeedsComponentBase";
4
+ export declare const MESSAGE_ID_BASE_NOT_ABSTRACT = "componentBaseNotAbstract";
5
+ export declare const requireComponentSuffix: Rule.RuleModule;