obsidian-dev-utils 57.0.1 → 58.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.
- package/CHANGELOG.md +10 -0
- package/dist/lib/cjs/abort-controller.cjs +5 -5
- package/dist/lib/cjs/array.cjs +3 -3
- package/dist/lib/cjs/async-events.cjs +6 -6
- package/dist/lib/cjs/async.cjs +6 -6
- package/dist/lib/cjs/blob.cjs +3 -3
- package/dist/lib/cjs/codemirror/index.cjs +3 -3
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +3 -3
- package/dist/lib/cjs/css-class.cjs +3 -3
- package/dist/lib/cjs/debug-controller.cjs +3 -3
- package/dist/lib/cjs/debug.cjs +3 -3
- package/dist/lib/cjs/enum.cjs +3 -3
- package/dist/lib/cjs/error.cjs +4 -4
- package/dist/lib/cjs/function.cjs +3 -3
- package/dist/lib/cjs/html-element.cjs +5 -5
- package/dist/lib/cjs/index.cjs +3 -3
- package/dist/lib/cjs/library.cjs +4 -4
- package/dist/lib/cjs/object-utils.cjs +3 -3
- package/dist/lib/cjs/obsidian/app.cjs +4 -4
- package/dist/lib/cjs/obsidian/async-with-notice.cjs +7 -7
- package/dist/lib/cjs/obsidian/attachment-path.cjs +3 -3
- package/dist/lib/cjs/obsidian/backlink.cjs +3 -3
- package/dist/lib/cjs/obsidian/callout.cjs +3 -3
- package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/app-active-file-provider.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/all-windows-event-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/async-component.cjs +31 -14
- package/dist/lib/cjs/obsidian/components/async-component.d.cts +14 -0
- package/dist/lib/cjs/obsidian/components/async-events-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +5 -5
- package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +5 -5
- package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +3 -3
- package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +3 -3
- package/dist/lib/cjs/obsidian/constructors/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/dataview-link.cjs +3 -3
- package/dist/lib/cjs/obsidian/dataview.cjs +3 -3
- package/dist/lib/cjs/obsidian/editor.cjs +3 -3
- package/dist/lib/cjs/obsidian/file-change.cjs +3 -3
- package/dist/lib/cjs/obsidian/file-manager.cjs +3 -3
- package/dist/lib/cjs/obsidian/file-system.cjs +3 -3
- package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +3 -3
- package/dist/lib/cjs/obsidian/frontmatter.cjs +3 -3
- package/dist/lib/cjs/obsidian/i18n/custom-type-options.cjs +3 -3
- package/dist/lib/cjs/obsidian/i18n/default-translations.cjs +3 -3
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +3 -3
- package/dist/lib/cjs/obsidian/i18n/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +3 -3
- package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +3 -3
- package/dist/lib/cjs/obsidian/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +3 -3
- package/dist/lib/cjs/obsidian/link.cjs +3 -3
- package/dist/lib/cjs/obsidian/logger.cjs +3 -3
- package/dist/lib/cjs/obsidian/loop.cjs +3 -3
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +3 -3
- package/dist/lib/cjs/obsidian/markdown-view.cjs +3 -3
- package/dist/lib/cjs/obsidian/markdown.cjs +3 -3
- package/dist/lib/cjs/obsidian/metadata-cache.cjs +3 -3
- package/dist/lib/cjs/obsidian/modals/alert.cjs +3 -3
- package/dist/lib/cjs/obsidian/modals/confirm.cjs +3 -3
- package/dist/lib/cjs/obsidian/modals/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/modals/modal.cjs +3 -3
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +3 -3
- package/dist/lib/cjs/obsidian/modals/select-item.cjs +3 -3
- package/dist/lib/cjs/obsidian/monkey-around.cjs +3 -3
- package/dist/lib/cjs/obsidian/obsidian-settings.cjs +3 -3
- package/dist/lib/cjs/obsidian/pdf.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/abort-signal-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/async-error-handler-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/console-debug-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/i18n-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/index.cjs +7 -7
- package/dist/lib/cjs/obsidian/plugin/components/index.d.cts +1 -1
- package/dist/lib/cjs/obsidian/plugin/components/layout-ready-component.cjs +124 -0
- package/dist/lib/cjs/obsidian/plugin/components/layout-ready-component.d.cts +18 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-context-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/plugin-notice-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +6 -6
- package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +3 -3
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +6 -6
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +50 -84
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +13 -51
- package/dist/lib/cjs/obsidian/queue.cjs +3 -3
- package/dist/lib/cjs/obsidian/react/app-context.cjs +3 -3
- package/dist/lib/cjs/obsidian/react/index.cjs +3 -3
- package/dist/lib/cjs/obsidian/reference.cjs +3 -3
- package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +3 -3
- package/dist/lib/cjs/obsidian/resource-url.cjs +3 -3
- package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -3
- package/dist/lib/cjs/obsidian/setting-group-ex.cjs +3 -3
- package/dist/lib/cjs/obsidian/validation.cjs +3 -3
- package/dist/lib/cjs/obsidian/vault-delete.cjs +3 -3
- package/dist/lib/cjs/obsidian/vault.cjs +3 -3
- package/dist/lib/cjs/obsidian/workspace.cjs +3 -3
- package/dist/lib/cjs/path.cjs +3 -3
- package/dist/lib/cjs/reg-exp.cjs +3 -3
- package/dist/lib/cjs/script-utils/build.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +4 -4
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +3 -3
- package/dist/lib/cjs/script-utils/bundlers/index.cjs +3 -3
- package/dist/lib/cjs/script-utils/cli-utils.cjs +3 -3
- package/dist/lib/cjs/script-utils/code-generator.cjs +3 -3
- package/dist/lib/cjs/script-utils/commitlint-config.cjs +3 -3
- package/dist/lib/cjs/script-utils/exec.cjs +3 -3
- package/dist/lib/cjs/script-utils/formatters/dprint.cjs +3 -3
- package/dist/lib/cjs/script-utils/formatters/index.cjs +3 -3
- package/dist/lib/cjs/script-utils/fs.cjs +3 -3
- package/dist/lib/cjs/script-utils/index.cjs +3 -3
- package/dist/lib/cjs/script-utils/json.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/cspell.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/eslint.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/index.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +3 -3
- package/dist/lib/cjs/script-utils/nano-staged-config.cjs +3 -3
- package/dist/lib/cjs/script-utils/npm-publish.cjs +3 -3
- package/dist/lib/cjs/script-utils/npm-run.cjs +3 -3
- package/dist/lib/cjs/script-utils/npm.cjs +3 -3
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +3 -3
- package/dist/lib/cjs/script-utils/root.cjs +3 -3
- package/dist/lib/cjs/script-utils/test-runners/index.cjs +3 -3
- package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +3 -3
- package/dist/lib/cjs/script-utils/version.cjs +3 -3
- package/dist/lib/cjs/strict-proxy.cjs +18 -7
- package/dist/lib/cjs/strict-proxy.d.cts +12 -0
- package/dist/lib/cjs/string.cjs +3 -3
- package/dist/lib/cjs/transformers/date-transformer.cjs +3 -3
- package/dist/lib/cjs/transformers/duration-transformer.cjs +3 -3
- package/dist/lib/cjs/transformers/group-transformer.cjs +3 -3
- package/dist/lib/cjs/transformers/index.cjs +3 -3
- package/dist/lib/cjs/transformers/map-transformer.cjs +3 -3
- package/dist/lib/cjs/transformers/set-transformer.cjs +3 -3
- package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +3 -3
- package/dist/lib/cjs/transformers/transformer.cjs +3 -3
- package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +3 -3
- package/dist/lib/cjs/transformers/typed-transformer.cjs +3 -3
- package/dist/lib/cjs/two-way-map.cjs +3 -3
- package/dist/lib/cjs/type-guards.cjs +3 -3
- package/dist/lib/cjs/type.cjs +3 -3
- package/dist/lib/cjs/url.cjs +3 -3
- package/dist/lib/cjs/value-provider.cjs +3 -3
- package/dist/lib/esm/abort-controller.mjs +4 -4
- package/dist/lib/esm/array.mjs +2 -2
- package/dist/lib/esm/async-events.mjs +5 -5
- package/dist/lib/esm/async.mjs +5 -5
- package/dist/lib/esm/blob.mjs +2 -2
- package/dist/lib/esm/codemirror/index.mjs +2 -2
- package/dist/lib/esm/codemirror/state-field-spec.mjs +2 -2
- package/dist/lib/esm/css-class.mjs +2 -2
- package/dist/lib/esm/debug-controller.mjs +2 -2
- package/dist/lib/esm/debug.mjs +2 -2
- package/dist/lib/esm/enum.mjs +2 -2
- package/dist/lib/esm/error.mjs +3 -3
- package/dist/lib/esm/function.mjs +2 -2
- package/dist/lib/esm/html-element.mjs +4 -4
- package/dist/lib/esm/index.mjs +2 -2
- package/dist/lib/esm/library.mjs +3 -3
- package/dist/lib/esm/object-utils.mjs +2 -2
- package/dist/lib/esm/obsidian/app.mjs +3 -3
- package/dist/lib/esm/obsidian/async-with-notice.mjs +6 -6
- package/dist/lib/esm/obsidian/attachment-path.mjs +2 -2
- package/dist/lib/esm/obsidian/backlink.mjs +2 -2
- package/dist/lib/esm/obsidian/callout.mjs +2 -2
- package/dist/lib/esm/obsidian/code-block-markdown-information.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/global-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/index.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/open-settings-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/components/all-windows-event-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/components/async-component.d.mts +14 -0
- package/dist/lib/esm/obsidian/components/async-component.mjs +27 -12
- package/dist/lib/esm/obsidian/components/async-events-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/index.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.mjs +4 -4
- package/dist/lib/esm/obsidian/components/setting-components/date-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/date-time-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/email-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/file-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/index.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/month-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/number-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/password-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/setting-component-wrapper.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/telephone-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/text-based-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/time-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/url-component.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/validator-component.mjs +4 -4
- package/dist/lib/esm/obsidian/components/setting-components/value-component-with-change-tracking.mjs +2 -2
- package/dist/lib/esm/obsidian/components/setting-components/week-component.mjs +2 -2
- package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +2 -2
- package/dist/lib/esm/obsidian/constructors/index.mjs +2 -2
- package/dist/lib/esm/obsidian/dataview-link.mjs +2 -2
- package/dist/lib/esm/obsidian/dataview.mjs +2 -2
- package/dist/lib/esm/obsidian/editor.mjs +2 -2
- package/dist/lib/esm/obsidian/file-change.mjs +2 -2
- package/dist/lib/esm/obsidian/file-manager.mjs +2 -2
- package/dist/lib/esm/obsidian/file-system.mjs +2 -2
- package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.mjs +2 -2
- package/dist/lib/esm/obsidian/frontmatter.mjs +2 -2
- package/dist/lib/esm/obsidian/i18n/custom-type-options.mjs +2 -2
- package/dist/lib/esm/obsidian/i18n/default-translations.mjs +2 -2
- package/dist/lib/esm/obsidian/i18n/i18n.mjs +2 -2
- package/dist/lib/esm/obsidian/i18n/index.mjs +2 -2
- package/dist/lib/esm/obsidian/i18n/locales/en.mjs +2 -2
- package/dist/lib/esm/obsidian/i18n/locales/index.mjs +2 -2
- package/dist/lib/esm/obsidian/i18n/locales/translations-map.mjs +2 -2
- package/dist/lib/esm/obsidian/index.mjs +2 -2
- package/dist/lib/esm/obsidian/is-in-obsidian.mjs +2 -2
- package/dist/lib/esm/obsidian/link.mjs +2 -2
- package/dist/lib/esm/obsidian/logger.mjs +2 -2
- package/dist/lib/esm/obsidian/loop.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown-view.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown.mjs +2 -2
- package/dist/lib/esm/obsidian/metadata-cache.mjs +2 -2
- package/dist/lib/esm/obsidian/modals/alert.mjs +2 -2
- package/dist/lib/esm/obsidian/modals/confirm.mjs +2 -2
- package/dist/lib/esm/obsidian/modals/index.mjs +2 -2
- package/dist/lib/esm/obsidian/modals/modal.mjs +2 -2
- package/dist/lib/esm/obsidian/modals/prompt.mjs +2 -2
- package/dist/lib/esm/obsidian/modals/select-item.mjs +2 -2
- package/dist/lib/esm/obsidian/monkey-around.mjs +2 -2
- package/dist/lib/esm/obsidian/obsidian-settings.mjs +2 -2
- package/dist/lib/esm/obsidian/pdf.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/components/abort-signal-component.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/components/async-error-handler-component.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/components/console-debug-component.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/components/i18n-component.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/components/index.d.mts +1 -1
- package/dist/lib/esm/obsidian/plugin/components/index.mjs +5 -5
- package/dist/lib/esm/obsidian/plugin/components/layout-ready-component.d.mts +18 -0
- package/dist/lib/esm/obsidian/plugin/components/layout-ready-component.mjs +24 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-context-component.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/components/plugin-notice-component.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/index.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/path-settings.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +5 -5
- package/dist/lib/esm/obsidian/plugin/plugin-id.mjs +2 -2
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +5 -5
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +13 -51
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +50 -87
- package/dist/lib/esm/obsidian/queue.mjs +2 -2
- package/dist/lib/esm/obsidian/react/app-context.mjs +2 -2
- package/dist/lib/esm/obsidian/react/index.mjs +2 -2
- package/dist/lib/esm/obsidian/reference.mjs +2 -2
- package/dist/lib/esm/obsidian/rename-delete-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/resource-url.mjs +2 -2
- package/dist/lib/esm/obsidian/setting-ex.mjs +2 -2
- package/dist/lib/esm/obsidian/setting-group-ex.mjs +2 -2
- package/dist/lib/esm/obsidian/validation.mjs +2 -2
- package/dist/lib/esm/obsidian/vault-delete.mjs +2 -2
- package/dist/lib/esm/obsidian/vault.mjs +2 -2
- package/dist/lib/esm/obsidian/workspace.mjs +2 -2
- package/dist/lib/esm/path.mjs +2 -2
- package/dist/lib/esm/reg-exp.mjs +2 -2
- package/dist/lib/esm/script-utils/build.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +3 -3
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild.mjs +2 -2
- package/dist/lib/esm/script-utils/bundlers/index.mjs +2 -2
- package/dist/lib/esm/script-utils/cli-utils.mjs +2 -2
- package/dist/lib/esm/script-utils/code-generator.mjs +2 -2
- package/dist/lib/esm/script-utils/commitlint-config.mjs +2 -2
- package/dist/lib/esm/script-utils/exec.mjs +2 -2
- package/dist/lib/esm/script-utils/formatters/dprint.mjs +2 -2
- package/dist/lib/esm/script-utils/formatters/index.mjs +2 -2
- package/dist/lib/esm/script-utils/fs.mjs +2 -2
- package/dist/lib/esm/script-utils/index.mjs +2 -2
- package/dist/lib/esm/script-utils/json.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/cspell.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-config.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/index.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +2 -2
- package/dist/lib/esm/script-utils/nano-staged-config.mjs +2 -2
- package/dist/lib/esm/script-utils/npm-publish.mjs +2 -2
- package/dist/lib/esm/script-utils/npm-run.mjs +2 -2
- package/dist/lib/esm/script-utils/npm.mjs +2 -2
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +2 -2
- package/dist/lib/esm/script-utils/root.mjs +2 -2
- package/dist/lib/esm/script-utils/test-runners/index.mjs +2 -2
- package/dist/lib/esm/script-utils/test-runners/vitest.mjs +2 -2
- package/dist/lib/esm/script-utils/version.mjs +2 -2
- package/dist/lib/esm/strict-proxy.d.mts +12 -0
- package/dist/lib/esm/strict-proxy.mjs +16 -6
- package/dist/lib/esm/string.mjs +2 -2
- package/dist/lib/esm/transformers/date-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/duration-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/group-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/index.mjs +2 -2
- package/dist/lib/esm/transformers/map-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/set-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/transformer.mjs +2 -2
- package/dist/lib/esm/transformers/two-way-map-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/typed-transformer.mjs +2 -2
- package/dist/lib/esm/two-way-map.mjs +2 -2
- package/dist/lib/esm/type-guards.mjs +2 -2
- package/dist/lib/esm/type.mjs +2 -2
- package/dist/lib/esm/url.mjs +2 -2
- package/dist/lib/esm/value-provider.mjs +2 -2
- package/obsidian/Plugin/components/{lifecycle-events-component → layout-ready-component}/package.json +3 -3
- package/package.json +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.cjs +0 -211
- package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.d.cts +0 -63
- package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.d.mts +0 -63
- package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.mjs +0 -106
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -340,7 +340,7 @@ class CodeHighlighterComponent extends import_obsidian.ValueComponent {
|
|
|
340
340
|
const prism = await (0, import_implementations.loadPrism)();
|
|
341
341
|
prism.highlightElement(this.codeEl);
|
|
342
342
|
this.preEl.toggleClass(import_css_class.CssClass.IsPlaceholder, this.isEmpty());
|
|
343
|
-
requestAnimationFrame(() => {
|
|
343
|
+
window.requestAnimationFrame(() => {
|
|
344
344
|
const gap = Math.max(0, this.inputEl.scrollHeight - this.preEl.scrollHeight);
|
|
345
345
|
this.preEl.setCssProps({
|
|
346
346
|
"--bottom-gap": (0, import_html_element.toPx)(gap)
|
|
@@ -353,4 +353,4 @@ class CodeHighlighterComponent extends import_obsidian.ValueComponent {
|
|
|
353
353
|
0 && (module.exports = {
|
|
354
354
|
CodeHighlighterComponent
|
|
355
355
|
});
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnRzL2NvZGUtaGlnaGxpZ2h0ZXItY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgbXVsdGlwbGUgdGV4dCB2YWx1ZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFZhbHVlQ29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGxvYWRQcmlzbSB9IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zJztcblxuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vaHRtbC1lbGVtZW50LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYGluaXRQbHVnaW5Db250ZXh0YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi8uLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAtLSBXZSBuZWVkIHRvIGltcG9ydCBgU2V0dGluZ0V4YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgU2V0dGluZ0V4IH0gZnJvbSAnLi4vLi4vc2V0dGluZy1leC50cyc7XG5pbXBvcnQgdHlwZSB7IFRleHRCYXNlZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4vdmFsdWUtY29tcG9uZW50LXdpdGgtY2hhbmdlLXRyYWNraW5nLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyB0b1B4IH0gZnJvbSAnLi4vLi4vLi4vaHRtbC1lbGVtZW50LnRzJztcbmltcG9ydCB7IGFkZFBsdWdpbkNzc0NsYXNzZXMgfSBmcm9tICcuLi8uLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGNvZGUuXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRDb2RlSGlnaGxpZ2h0ZXJ9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVIaWdobGlnaHRlckNvbXBvbmVudCBleHRlbmRzIFZhbHVlQ29tcG9uZW50PHN0cmluZz5cbiAgaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8c3RyaW5nPiwgVmFsaWRhdG9yQ29tcG9uZW50LCBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxzdHJpbmc+IHtcbiAgLyoqXG4gICAqIEFuIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5wdXRFbCgpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbGlkYXRvciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWxpZGF0b3IgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB2YWxpZGF0b3JFbCgpOiBWYWxpZGF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dEVsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb2RlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHBsYWNlaG9sZGVyID0gJyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHRhYlNpemU6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0QXJlYUNvbXBvbmVudDogVGV4dEFyZWFDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgbXVsdGlwbGUgdGV4dCBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyhjb250YWluZXJFbCwgQ3NzQ2xhc3MuQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50KTtcblxuICAgIGNvbnN0IHdyYXBwZXIgPSBjb250YWluZXJFbC5jcmVhdGVEaXYoKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHdyYXBwZXIsIENzc0NsYXNzLlNldHRpbmdDb21wb25lbnRXcmFwcGVyKTtcblxuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQgPSBuZXcgVGV4dEFyZWFDb21wb25lbnQod3JhcHBlcik7XG4gICAgdGhpcy5wcmVFbCA9IHdyYXBwZXIuY3JlYXRlRWwoJ3ByZScsIHtcbiAgICAgIGF0dHI6IHtcbiAgICAgICAgdGFiSW5kZXg6ICctMSdcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmNvZGVFbCA9IHRoaXMucHJlRWwuY3JlYXRlRWwoJ2NvZGUnLCB7XG4gICAgICBhdHRyOiB7XG4gICAgICAgIHRhYkluZGV4OiAnLTEnXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBjb252ZXJ0QXN5bmNUb1N5bmModGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSkpO1xuICAgIHRoaXMuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmhhbmRsZVNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuaGFuZGxlS2V5RG93bi5iaW5kKHRoaXMpKTtcbiAgICBjb25zdCBERUZBVUxUX1RBQl9TSVpFID0gMjtcbiAgICB0aGlzLnRhYlNpemUgPSBERUZBVUxUX1RBQl9TSVpFO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBlbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRBcmVhQ29tcG9uZW50LmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHkuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRleHRBcmVhQ29tcG9uZW50LmdldFZhbHVlKCkgPT09ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjaGFuZ2UgbGlzdGVuZXIgdG8gdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZShjYWxsYmFjazogKG5ld1ZhbHVlOiBzdHJpbmcpID0+IFByb21pc2FibGU8dm9pZD4pOiB0aGlzIHtcbiAgICBjb25zdCBjaGFuZ2VIYW5kbGVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY2FsbGJhY2sodGhpcy5nZXRWYWx1ZSgpKTtcbiAgICB9O1xuICAgIHRoaXMuc2ltdWxhdGVDaGFuZ2VDYWxsYmFjayA9IGNoYW5nZUhhbmRsZXI7XG4gICAgdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5vbkNoYW5nZShjaGFuZ2VIYW5kbGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWQgLSBUaGUgZGlzYWJsZWQgc3RhdGUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxhbmd1YWdlIGZvciBjb2RlIGhpZ2hsaWdodGluZy5cbiAgICpcbiAgICogQHBhcmFtIGxhbmd1YWdlIC0gVGhlIGxhbmd1YWdlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgTEFOR1VBR0VfQ0xBU1NfUFJFRklYID0gJ2xhbmd1YWdlLSc7XG4gICAgZm9yIChjb25zdCBlbCBvZiBbdGhpcy5wcmVFbCwgdGhpcy5jb2RlRWxdKSB7XG4gICAgICBmb3IgKGNvbnN0IGNscyBvZiBBcnJheS5mcm9tKGVsLmNsYXNzTGlzdCkpIHtcbiAgICAgICAgaWYgKGNscy5zdGFydHNXaXRoKExBTkdVQUdFX0NMQVNTX1BSRUZJWCkpIHtcbiAgICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKGNscyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoYCR7TEFOR1VBR0VfQ0xBU1NfUFJFRklYfSR7bGFuZ3VhZ2V9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlciAtIFRoZSBwbGFjZWhvbGRlciB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICBpbnZva2VBc3luY1NhZmVseSh0aGlzLnVwZGF0ZUhpZ2hsaWdodGVkQ29kZS5iaW5kKHRoaXMpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXJWYWx1ZSAtIFRoZSBwbGFjZWhvbGRlciB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJWYWx1ZShwbGFjZWhvbGRlclZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyVmFsdWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRhYiBzaXplIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJTaXplIC0gVGhlIHRhYiBzaXplIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRUYWJTaXplKHRhYlNpemU6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudGFiU2l6ZSA9IHRhYlNpemU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkodGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIG9ubHkgZnJvbSB0ZXN0cyB0byBzaW11bGF0ZSBhIGNoYW5nZSBldmVudC5cbiAgICovXG4gIHB1YmxpYyBzaW11bGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2s/LigpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldnQua2V5ICE9PSAnVGFiJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKGV2dC5jdHJsS2V5IHx8IGV2dC5tZXRhS2V5KSB7XG4gICAgICBjb25zdCBmb2N1c2FibGVzID0gQXJyYXkuZnJvbShhY3RpdmVEb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PihcbiAgICAgICAgJzppcyhhLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pOm5vdCg6ZGlzYWJsZWQpOm5vdChbdHlwZT1cImhpZGRlblwiXSknXG4gICAgICApKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gZm9jdXNhYmxlcy5pbmRleE9mKHRoaXMuaW5wdXRFbCk7XG4gICAgICBjb25zdCBkZWx0YUluZGV4ID0gZXZ0LnNoaWZ0S2V5ID8gLTEgOiAxO1xuICAgICAgY29uc3QgbmV4dENvbnRyb2wgPSBmb2N1c2FibGVzWyhpbmRleCArIGRlbHRhSW5kZXggKyBmb2N1c2FibGVzLmxlbmd0aCkgJSBmb2N1c2FibGVzLmxlbmd0aF07XG4gICAgICBuZXh0Q29udHJvbD8uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBzZWxlY3Rpb25FbmQgPSB0aGlzLmlucHV0RWwuc2VsZWN0aW9uRW5kO1xuICAgIGNvbnN0IGJlZm9yZVNlbGVjdGlvbiA9IG9sZFZhbHVlLnNsaWNlKDAsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICBjb25zdCBhZnRlclNlbGVjdGlvbiA9IG9sZFZhbHVlLnNsaWNlKHNlbGVjdGlvbkVuZCk7XG4gICAgY29uc3QgdGFicyA9ICcgJy5yZXBlYXQodGhpcy50YWJTaXplKTtcbiAgICBsZXQgbmV3QmVmb3JlU2VsZWN0aW9uID0gYmVmb3JlU2VsZWN0aW9uO1xuXG4gICAgaWYgKGV2dC5zaGlmdEtleSkge1xuICAgICAgaWYgKGJlZm9yZVNlbGVjdGlvbi5lbmRzV2l0aCh0YWJzKSkge1xuICAgICAgICBuZXdCZWZvcmVTZWxlY3Rpb24gPSBiZWZvcmVTZWxlY3Rpb24uc2xpY2UoMCwgLXRoaXMudGFiU2l6ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0JlZm9yZVNlbGVjdGlvbiA9IGJlZm9yZVNlbGVjdGlvbiArIHRhYnM7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSBgJHtuZXdCZWZvcmVTZWxlY3Rpb259JHthZnRlclNlbGVjdGlvbn1gO1xuICAgIHRoaXMuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25TdGFydCA9IG5ld0JlZm9yZVNlbGVjdGlvbi5sZW5ndGg7XG4gICAgdGhpcy5pbnB1dEVsLnNlbGVjdGlvbkVuZCA9IG5ld0JlZm9yZVNlbGVjdGlvbi5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZUVsLnNjcm9sbFRvcCA9IHRoaXMuaW5wdXRFbC5zY3JvbGxUb3A7XG4gICAgdGhpcy5wcmVFbC5zY3JvbGxMZWZ0ID0gdGhpcy5pbnB1dEVsLnNjcm9sbExlZnQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUhpZ2hsaWdodGVkQ29kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvZGVFbC50ZXh0Q29udGVudCA9IHRoaXMuaW5wdXRFbC52YWx1ZSB8fCB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIGNvbnN0IHByaXNtID0gYXdhaXQgbG9hZFByaXNtKCk7XG4gICAgcHJpc20uaGlnaGxpZ2h0RWxlbWVudCh0aGlzLmNvZGVFbCk7XG4gICAgdGhpcy5wcmVFbC50b2dnbGVDbGFzcyhDc3NDbGFzcy5Jc1BsYWNlaG9sZGVyLCB0aGlzLmlzRW1wdHkoKSk7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGNvbnN0IGdhcCA9IE1hdGgubWF4KDAsIHRoaXMuaW5wdXRFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLnByZUVsLnNjcm9sbEhlaWdodCk7XG4gICAgICB0aGlzLnByZUVsLnNldENzc1Byb3BzKHtcbiAgICAgICAgJy0tYm90dG9tLWdhcCc6IHRvUHgoZ2FwKVxuICAgICAgfSk7XG4gICAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICAgIH0pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnRzL2NvZGUtaGlnaGxpZ2h0ZXItY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgbXVsdGlwbGUgdGV4dCB2YWx1ZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFZhbHVlQ29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGxvYWRQcmlzbSB9IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zJztcblxuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vaHRtbC1lbGVtZW50LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYGluaXRQbHVnaW5Db250ZXh0YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi8uLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAtLSBXZSBuZWVkIHRvIGltcG9ydCBgU2V0dGluZ0V4YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgU2V0dGluZ0V4IH0gZnJvbSAnLi4vLi4vc2V0dGluZy1leC50cyc7XG5pbXBvcnQgdHlwZSB7IFRleHRCYXNlZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4vdmFsdWUtY29tcG9uZW50LXdpdGgtY2hhbmdlLXRyYWNraW5nLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyB0b1B4IH0gZnJvbSAnLi4vLi4vLi4vaHRtbC1lbGVtZW50LnRzJztcbmltcG9ydCB7IGFkZFBsdWdpbkNzc0NsYXNzZXMgfSBmcm9tICcuLi8uLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGNvZGUuXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRDb2RlSGlnaGxpZ2h0ZXJ9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVIaWdobGlnaHRlckNvbXBvbmVudCBleHRlbmRzIFZhbHVlQ29tcG9uZW50PHN0cmluZz5cbiAgaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8c3RyaW5nPiwgVmFsaWRhdG9yQ29tcG9uZW50LCBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxzdHJpbmc+IHtcbiAgLyoqXG4gICAqIEFuIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5wdXRFbCgpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbGlkYXRvciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWxpZGF0b3IgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB2YWxpZGF0b3JFbCgpOiBWYWxpZGF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dEVsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb2RlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHBsYWNlaG9sZGVyID0gJyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHRhYlNpemU6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0QXJlYUNvbXBvbmVudDogVGV4dEFyZWFDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgbXVsdGlwbGUgdGV4dCBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyhjb250YWluZXJFbCwgQ3NzQ2xhc3MuQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50KTtcblxuICAgIGNvbnN0IHdyYXBwZXIgPSBjb250YWluZXJFbC5jcmVhdGVEaXYoKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHdyYXBwZXIsIENzc0NsYXNzLlNldHRpbmdDb21wb25lbnRXcmFwcGVyKTtcblxuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQgPSBuZXcgVGV4dEFyZWFDb21wb25lbnQod3JhcHBlcik7XG4gICAgdGhpcy5wcmVFbCA9IHdyYXBwZXIuY3JlYXRlRWwoJ3ByZScsIHtcbiAgICAgIGF0dHI6IHtcbiAgICAgICAgdGFiSW5kZXg6ICctMSdcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmNvZGVFbCA9IHRoaXMucHJlRWwuY3JlYXRlRWwoJ2NvZGUnLCB7XG4gICAgICBhdHRyOiB7XG4gICAgICAgIHRhYkluZGV4OiAnLTEnXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBjb252ZXJ0QXN5bmNUb1N5bmModGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSkpO1xuICAgIHRoaXMuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmhhbmRsZVNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuaGFuZGxlS2V5RG93bi5iaW5kKHRoaXMpKTtcbiAgICBjb25zdCBERUZBVUxUX1RBQl9TSVpFID0gMjtcbiAgICB0aGlzLnRhYlNpemUgPSBERUZBVUxUX1RBQl9TSVpFO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBlbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRBcmVhQ29tcG9uZW50LmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHkuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRleHRBcmVhQ29tcG9uZW50LmdldFZhbHVlKCkgPT09ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjaGFuZ2UgbGlzdGVuZXIgdG8gdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZShjYWxsYmFjazogKG5ld1ZhbHVlOiBzdHJpbmcpID0+IFByb21pc2FibGU8dm9pZD4pOiB0aGlzIHtcbiAgICBjb25zdCBjaGFuZ2VIYW5kbGVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY2FsbGJhY2sodGhpcy5nZXRWYWx1ZSgpKTtcbiAgICB9O1xuICAgIHRoaXMuc2ltdWxhdGVDaGFuZ2VDYWxsYmFjayA9IGNoYW5nZUhhbmRsZXI7XG4gICAgdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5vbkNoYW5nZShjaGFuZ2VIYW5kbGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWQgLSBUaGUgZGlzYWJsZWQgc3RhdGUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxhbmd1YWdlIGZvciBjb2RlIGhpZ2hsaWdodGluZy5cbiAgICpcbiAgICogQHBhcmFtIGxhbmd1YWdlIC0gVGhlIGxhbmd1YWdlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgTEFOR1VBR0VfQ0xBU1NfUFJFRklYID0gJ2xhbmd1YWdlLSc7XG4gICAgZm9yIChjb25zdCBlbCBvZiBbdGhpcy5wcmVFbCwgdGhpcy5jb2RlRWxdKSB7XG4gICAgICBmb3IgKGNvbnN0IGNscyBvZiBBcnJheS5mcm9tKGVsLmNsYXNzTGlzdCkpIHtcbiAgICAgICAgaWYgKGNscy5zdGFydHNXaXRoKExBTkdVQUdFX0NMQVNTX1BSRUZJWCkpIHtcbiAgICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKGNscyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoYCR7TEFOR1VBR0VfQ0xBU1NfUFJFRklYfSR7bGFuZ3VhZ2V9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlciAtIFRoZSBwbGFjZWhvbGRlciB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICBpbnZva2VBc3luY1NhZmVseSh0aGlzLnVwZGF0ZUhpZ2hsaWdodGVkQ29kZS5iaW5kKHRoaXMpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXJWYWx1ZSAtIFRoZSBwbGFjZWhvbGRlciB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJWYWx1ZShwbGFjZWhvbGRlclZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyVmFsdWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRhYiBzaXplIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJTaXplIC0gVGhlIHRhYiBzaXplIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRUYWJTaXplKHRhYlNpemU6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudGFiU2l6ZSA9IHRhYlNpemU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkodGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIG9ubHkgZnJvbSB0ZXN0cyB0byBzaW11bGF0ZSBhIGNoYW5nZSBldmVudC5cbiAgICovXG4gIHB1YmxpYyBzaW11bGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2s/LigpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldnQua2V5ICE9PSAnVGFiJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKGV2dC5jdHJsS2V5IHx8IGV2dC5tZXRhS2V5KSB7XG4gICAgICBjb25zdCBmb2N1c2FibGVzID0gQXJyYXkuZnJvbShhY3RpdmVEb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PihcbiAgICAgICAgJzppcyhhLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pOm5vdCg6ZGlzYWJsZWQpOm5vdChbdHlwZT1cImhpZGRlblwiXSknXG4gICAgICApKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gZm9jdXNhYmxlcy5pbmRleE9mKHRoaXMuaW5wdXRFbCk7XG4gICAgICBjb25zdCBkZWx0YUluZGV4ID0gZXZ0LnNoaWZ0S2V5ID8gLTEgOiAxO1xuICAgICAgY29uc3QgbmV4dENvbnRyb2wgPSBmb2N1c2FibGVzWyhpbmRleCArIGRlbHRhSW5kZXggKyBmb2N1c2FibGVzLmxlbmd0aCkgJSBmb2N1c2FibGVzLmxlbmd0aF07XG4gICAgICBuZXh0Q29udHJvbD8uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBzZWxlY3Rpb25FbmQgPSB0aGlzLmlucHV0RWwuc2VsZWN0aW9uRW5kO1xuICAgIGNvbnN0IGJlZm9yZVNlbGVjdGlvbiA9IG9sZFZhbHVlLnNsaWNlKDAsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICBjb25zdCBhZnRlclNlbGVjdGlvbiA9IG9sZFZhbHVlLnNsaWNlKHNlbGVjdGlvbkVuZCk7XG4gICAgY29uc3QgdGFicyA9ICcgJy5yZXBlYXQodGhpcy50YWJTaXplKTtcbiAgICBsZXQgbmV3QmVmb3JlU2VsZWN0aW9uID0gYmVmb3JlU2VsZWN0aW9uO1xuXG4gICAgaWYgKGV2dC5zaGlmdEtleSkge1xuICAgICAgaWYgKGJlZm9yZVNlbGVjdGlvbi5lbmRzV2l0aCh0YWJzKSkge1xuICAgICAgICBuZXdCZWZvcmVTZWxlY3Rpb24gPSBiZWZvcmVTZWxlY3Rpb24uc2xpY2UoMCwgLXRoaXMudGFiU2l6ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0JlZm9yZVNlbGVjdGlvbiA9IGJlZm9yZVNlbGVjdGlvbiArIHRhYnM7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSBgJHtuZXdCZWZvcmVTZWxlY3Rpb259JHthZnRlclNlbGVjdGlvbn1gO1xuICAgIHRoaXMuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25TdGFydCA9IG5ld0JlZm9yZVNlbGVjdGlvbi5sZW5ndGg7XG4gICAgdGhpcy5pbnB1dEVsLnNlbGVjdGlvbkVuZCA9IG5ld0JlZm9yZVNlbGVjdGlvbi5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZUVsLnNjcm9sbFRvcCA9IHRoaXMuaW5wdXRFbC5zY3JvbGxUb3A7XG4gICAgdGhpcy5wcmVFbC5zY3JvbGxMZWZ0ID0gdGhpcy5pbnB1dEVsLnNjcm9sbExlZnQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUhpZ2hsaWdodGVkQ29kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvZGVFbC50ZXh0Q29udGVudCA9IHRoaXMuaW5wdXRFbC52YWx1ZSB8fCB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIGNvbnN0IHByaXNtID0gYXdhaXQgbG9hZFByaXNtKCk7XG4gICAgcHJpc20uaGlnaGxpZ2h0RWxlbWVudCh0aGlzLmNvZGVFbCk7XG4gICAgdGhpcy5wcmVFbC50b2dnbGVDbGFzcyhDc3NDbGFzcy5Jc1BsYWNlaG9sZGVyLCB0aGlzLmlzRW1wdHkoKSk7XG4gICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBjb25zdCBnYXAgPSBNYXRoLm1heCgwLCB0aGlzLmlucHV0RWwuc2Nyb2xsSGVpZ2h0IC0gdGhpcy5wcmVFbC5zY3JvbGxIZWlnaHQpO1xuICAgICAgdGhpcy5wcmVFbC5zZXRDc3NQcm9wcyh7XG4gICAgICAgICctLWJvdHRvbS1nYXAnOiB0b1B4KGdhcClcbiAgICAgIH0pO1xuICAgICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgICB9KTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs
CHANGED
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs
CHANGED
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|
|
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
(function initCjs() {
|
|
7
|
-
// eslint-disable-next-line obsidianmd/
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
8
|
const globalThisRecord = globalThis;
|
|
9
9
|
globalThisRecord['__name'] ??= name;
|
|
10
10
|
const originalRequire = require;
|
|
@@ -84,12 +84,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
84
84
|
return originalRequire?.(id);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
88
|
if (globalThis.app.isMobile) {
|
|
89
89
|
if (id === 'process' || id === 'node:process') {
|
|
90
90
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
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/
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
93
|
return globalThis.process;
|
|
94
94
|
}
|
|
95
95
|
} else {
|